plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christofer Dutz <christofer.d...@c-ware.de>
Subject AW: DF1 protocol ...cant find documentation
Date Tue, 09 Mar 2021 12:27:21 GMT
Hi Gaurav,

Generally, what you could do, it to create a custom transport implementation.

You could create one using the C lib and the Java Native Interface.

All drivers are intentionally built in a way that the actual communication medium can be changed.

Chris


-----Ursprüngliche Nachricht-----
Von: Gaurav P <gp@gpism.com> 
Gesendet: Dienstag, 9. März 2021 11:32
An: dev@plc4x.apache.org
Betreff: Re: DF1 protocol ...cant find documentation

Hi All ,

I used python to send raw commands to plc it worked...as I have custom
rs232 shield and manufacturer has provided libraries in c and python  ....its there anyway
I  can get  df1 raw packets from plc4x  ..and call flask API I made in python ....post testing
will write a jni wrapper rs232 shield

On Fri, Feb 26, 2021 at 6:30 PM Stephen Snow <s40w5s@gmail.com> wrote:

> Hello,
> I am sorry I haven't gotten to ask my customer for the SLC500 hardware 
> so I couldn't test your code. I'll be at their location Monday of next 
> week and will get it then if possible. Connecting directly to the 
> frontport serial of a PLC5/25 would likely require the use of a null 
> modem cable (crossover). On a DB9 connector this basically means 
> connect 5 to 5  2 to 3 and 3 to 2 as viewed from cable's perspective.
> Since it's RS232C you are dealing with RxD and TxD and common only.
>
> That port should be able to ramp up transmission rate to something 
> more reasonable than 2400 Baud, unless you don't mind waiting. I'd at 
> least go for 19.2k baud, but I was pretty sure it could handle up to 
> 115.2kbaud which I believe a Rpi should be able to handle too. In any 
> case, with serial transmission correct you should see continuous 
> activiy on the indicator lights of the PLC serial port and inside the 
> PLC system status words have indication of successful connection (ie 
> physical is good, protocol is correct) from the PLC POV. I don't have 
> my PLC info in front of me at this time but it is freely available 
> from Rockwell Automations website, I think they only require you 
> create an account to be able to download their information usually, 
> especially legacy controller info.
>
> Good luck,
>
> Stephen
> On Fri, 2021-02-26 at 17:05 +0530, Gaurav P wrote:
> > Thanks All ....I finally got a chance to test ...created test 
> > program but I am getting this error  , I have connected DF1 serial 
> > cable to RPI waveshare serial hat which has two serial error ....PLC 
> > 5 is running at baud rate of 2400 and its connected rpi on 
> > /dev/ttySC1 ....am I getting below error of some hardware issue 
> > ...how do specify baud rate and serial channel when I am creating 
> > connection ?
> >
> > error Error creating channel.
> >
> >
> > On Tue, Feb 23, 2021 at 1:30 PM Julian Feinauer < 
> > j.feinauer@pragmaticminds.de> wrote:
> >
> > > Hey,
> > >
> > > as far as I see your code looks good Gaurav, lets try it and then 
> > > report :
> > > )
> > >
> > > Best
> > > Julian
> > >
> > > Von: Gaurav P <gp@gpism.com>
> > > Datum: Samstag, 20. Februar 2021 um 19:14
> > > An: dev@plc4x.apache.org <dev@plc4x.apache.org>
> > > Betreff: Re: DF1 protocol ...cant find documentation Thanks Chris 
> > > ... its working ...i added both entries in maven on Monday when I 
> > > have access to the hardware (AB PLC/5 30) I will test and report 
> > > back
> > >
> > > But for the test case, I am was thinking
> > >
> > >    1. Write a value to register like N71
> > >    2. Read from register  and confirm value  N71
> > >
> > > Kindly review the code below  for testing
> > >   try (PlcConnection plcConnection = new
> > > PlcDriverManager().getConnection("df1:serial:///ttySC1")) {
> > >
> > >          *   //I want write to register N71 , is below code ok ?*
> > >             PlcReadRequest request =
> > > plcConnection.readRequestBuilder()
> > >                     .addItem("N71", "5:INTEGER")
> > >                     .build();
> > >
> > >             PlcReadResponse response = request.execute().get(100, 
> > > TimeUnit.SECONDS);
> > >
> > > // Check if this connection support reading of data.
> > >             if (!plcConnection.getMetadata().canRead()) {
> > >                 System.out.println("This connection doesn't 
> > > support reading.");
> > >                 return "This connection doesn't support reading.";
> > >             }else {
> > > // TODO: get the actual read bytes from the response
> > >                 System.out.println(response);
> > >                 System.out.println("Response code was " + 
> > > response.getResponseCode("erster"));
> > >
> > >                 System.out.println("Response I got was" + 
> > > response.getAllIntegers("N71"));
> > >           *      //I want Read to register N71 , is below code ok
> > > ?*
> > >                 return
> > > response.getAllIntegers("N71").iterator().next()+"";
> > >             }
> > >
> > >
> > >
> > >
> > > On Sat, Feb 20, 2021 at 10:52 PM Gaurav P <gp@gpism.com> wrote:
> > >
> > > > Hi Chirs ,
> > > > Thanks I had suspected the same thing
> > > >
> > > > I was able to make it work via adding an apache repository 
> > > > (after I changed the maven snippet you  had given  from 
> > > > pluginRepositories to repositories ) and DF1 guide <
> > >
> https://docs.google.com/document/d/1FWmwJfXVD03MLtHVsJ0UizoA6D5KzU9JG4
> VRD-lInGI/edit#
> > > <
> > >
> https://docs.google.com/document/d/1FWmwJfXVD03MLtHVsJ0UizoA6D5KzU9JG4
> VRD-lInGI/edit
> > > > >
> > > > (wip)
> > > >
> > > > <repositories>
> > > >   <repository>
> > > >     <id>apache-snapshots</id>
> > > >
> > > > <url>https://repository.apache.org/content/repositories/snapshot
> > > > s
> > > </url>
> > > >     <releases>
> > > >       <enabled>false</enabled>
> > > >     </releases>
> > > >     <snapshots>
> > > >       <enabled>true</enabled>
> > > >     </snapshots>
> > > >   </repository>
> > > > </repositories>
> > > >
> > > >
> > > > On Sat, Feb 20, 2021 at 10:07 PM Christofer Dutz < 
> > > > christofer.dutz@c-ware.de> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > the solution was quite simple:
> > > > >
> > > > > First off all, we don't release stuff in the Sandbox. So 
> > > > > there's no
> > > 0.8.0
> > > > > version.
> > > > > Secondly our SNAPSHOTS aren't available from Maven-Central. 
> > > > > You need to add the Apache SNAPSHOT repo to your project.
> > > > >
> > > > > In order to do this, please add this to your pom.
> > > > >
> > > > >   <!-- Make Snapshots of Apache projects available -->
> > > > >   <repositories>
> > > > >     <repository>
> > > > >       <id>apache-snapshots</id>
> > > > >
> > > > > <url>https://repository.apache.org/content/repositories/snapsh
> > > > > ots
> > > > > </url>
> > > > >       <releases>
> > > > >         <enabled>false</enabled>
> > > > >       </releases>
> > > > >       <snapshots>
> > > > >         <enabled>true</enabled>
> > > > >       </snapshots>
> > > > >     </repository>
> > > > >   </repositories>
> > > > >
> > > > >   <!-- Make Snapshots of Apache plugins available -->
> > > > >   <pluginRepositories>
> > > > >     <pluginRepository>
> > > > >       <id>apache-snapshots</id>
> > > > >
> > > > > <url>https://repository.apache.org/content/repositories/snapsh
> > > > > ots
> > > > > </url>
> > > > >       <releases>
> > > > >         <enabled>false</enabled>
> > > > >       </releases>
> > > > >       <snapshots>
> > > > >         <enabled>true</enabled>
> > > > >       </snapshots>
> > > > >     </pluginRepository>
> > > > >   </pluginRepositories>
> > > > >
> > > > > That should help.
> > > > >
> > > > > Chris
> > > > >
> > > > >
> > > > > -----Ursprüngliche Nachricht-----
> > > > > Von: Christofer Dutz <christofer.dutz@c-ware.de>
> > > > > Gesendet: Samstag, 20. Februar 2021 10:13
> > > > > An: dev@plc4x.apache.org
> > > > > Betreff: Re: DF1 protocol ...cant find documentation
> > > > >
> > > > > I'll have a look why this is not available.
> > > > >
> > > > > Holen Sie sich Outlook für Android<https://aka.ms/ghei36>
> > > > >
> > > > > ________________________________
> > > > > From: Gaurav P <gp@gpism.com>
> > > > > Sent: Saturday, February 20, 2021 6:19:38 AM
> > > > > To: dev@plc4x.apache.org <dev@plc4x.apache.org>
> > > > > Subject: Re: DF1 protocol ...cant find documentation
> > > > >
> > > > > Hi Chris ,
> > > > >
> > > > > I also  tried with 0.8 , but no luck<dependency>
> > > > >
> > > > >   <groupId>org.apache.plc4x.sandbox</groupId>
> > > > >   <artifactId>test-java-df1-driver</artifactId>
> > > > >   <version>0.8.0</version>
> > > > > </dependency>
> > > > >
> > > > >
> > > > > On Sat, Feb 20, 2021 at 7:15 AM Gaurav P <gp@gpism.com> wrote:
> > > > >
> > > > > > Hi Chris ,
> > > > > >
> > > > > > I am not able to maven dependency for df1 driver Cannot 
> > > > > > resolve 
> > > > > > org.apache.plc4x.sandbox:test-java-df1-driver:0.9.0-SNAPSHOT
> > > > > >
> > > > > > is it not hosted in maven central?
> > > > > >
> > > > > > On Fri, Feb 19, 2021 at 6:58 PM Christofer Dutz 
> > > > > > <christofer.dutz@c-ware.de>
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Gaurav,
> > > > > > >
> > > > > > > you haven't added a dependency to the driver, but to the

> > > > > > > protocol specificaton instead.
> > > > > > > This is something we use internally to generate the driver

> > > > > > > code in various languages. You need to add a dependency
to
> > > > > > >
> > > > > > > <dependency>
> > > > > > >     <groupId>org.apache.plc4x.sandbox</groupId>
> > > > > > >     <artifactId>test-java-df1-driver</artifactId>
> > > > > > >     <version>0.9.0-SNAPSHOT</version> </dependency>
> > > > > > >
> > > > > > > Chris
> > > > > > >
> > > > > > > -----Ursprüngliche Nachricht-----
> > > > > > > Von: Gaurav P <gp@gpism.com>
> > > > > > > Gesendet: Freitag, 19. Februar 2021 14:20
> > > > > > > An: dev@plc4x.apache.org
> > > > > > > Betreff: Re: DF1 protocol ...cant find documentation
> > > > > > >
> > > > > > > Thanks Chris , Steven
> > > > > > >
> > > > > > > I tried the code below but I am getting following error

> > > > > > > *error Unable to find driver for protocol 'df1'*
> > > > > > >
> > > > > > > I checked in maven DF1 is added ...what can be the issue
?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > try (PlcConnection plcConnection = new
> > > > > > > PlcDriverManager().getConnection("df1:serial:///ttySC1"))
{
> > > > > > >     PlcReadRequest request =
> > > > > > > plcConnection.readRequestBuilder()
> > > > > > >             .addItem("ind4", "5:INTEGER")
> > > > > > >             .build();
> > > > > > >
> > > > > > >
> > > > > > > <dependency>
> > > > > > >   <groupId>org.apache.plc4x</groupId>
> > > > > > >   <artifactId>plc4x-protocols-df1</artifactId>
> > > > > > >   <version>0.8.0</version> </dependency>
> > > > > > >
> > > > > > >
> > > > > > > On Fri, Feb 19, 2021 at 6:20 PM Christofer Dutz <
> > > > > > > christofer.dutz@c-ware.de>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi Gaurav,
> > > > > > > >
> > > > > > > > that's generally just something used during development
> > > > > > > > ... It
> > > > > > > > wasn't intended to be used as a standalone application.
> > > > > > > > If you want to use it to experiment, you have to replace
> > > > > > > > the
> > > > > > > > connection string (currently "df1:serial:///COM4"
with
> > > > > > > > something
> > > > > > > > for your case and then add/adjust the items added
to the
> > > > > > > > Read
> > > > > Request.
> > > > > > > >
> > > > > > > > Chris
> > > > > > > >
> > > > > > > >
> > > > > > > > -----Ursprüngliche Nachricht-----
> > > > > > > > Von: Gaurav P <gp@gpism.com>
> > > > > > > > Gesendet: Freitag, 19. Februar 2021 13:16
> > > > > > > > An: dev@plc4x.apache.org
> > > > > > > > Betreff: Re: DF1 protocol ...cant find documentation
> > > > > > > >
> > > > > > > > Hi Team /Lucas ...
> > > > > > > > Thanks  for comments ...
> > > > > > > >
> > > > > > > > Should I use this program to test to PLC 500
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > https://github.com/apache/plc4x/blob/develop/sandbox/test-java-df1-
> > > > > > > > dri
> > > > > > > > ver/src/test/java/org/apache/plc4x/protocol/df1/EndToEndT
> > > > > > > > est.java
> > > > > > > >
> > > > > > > >
> > > > > > > > Also how do I specify address ?
> > > > > > > >
> > > > > > > >  PlcReadRequest request =
> > > > > > > > plcConnection.readRequestBuilder()
> > > > > > > >
> > > > > > > >                 .addItem("hurz", "5:INTEGER") ->>>>*is
> > > > > > > > this address
> > > > > > > > of register ???*
> > > > > > > >
> > > > > > > >                 .build();
> > > > > > > >
> > > > > > > >
> > > > > > > > On Fri, Feb 19, 2021 at 5:12 PM Gaurav P <gp@gpism.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi Team,
> > > > > > > > >
> > > > > > > > > I followed the link which was shared by Lukas
and Chris
> > > > > > > > > and
> > > > > > > > > managed to dish out the guide with sample code
, which
> > > > > > > > > I would be
> > > > > > > > > testing AB PLC 500
> > > > > > > > >
> > > > > > > > > *
> > > https://docs.google.com/document/d/1FWmwJfXVD03MLtHVsJ0UizoA6D5K
> > > > > > > > > zU9
> > > > > > > > > JG
> > > > > > > > > 4VRD-lInGI/edit?usp=sharing
> > > > > > > > > <
> > > https://docs.google.com/document/d/1FWmwJfXVD03MLtHVsJ0UizoA6D5K
> > > > > > > > > zU9 JG 4VRD-lInGI/edit?usp=sharing>  * I have
some
> > > > > > > > > questions in
> > > > > > > > > the above document (marked read), it would be
great if
> > > > > > > > > can get
> > > > > > > > > comments, a post that will compile and run in
RPI
> > > > > > > > > connect to PLC
> > > > > > > > >
> > > > > > > > > Thanks
> > > > > > > > >
> > > > > > > > > On Fri, Feb 19, 2021 at 3:25 PM Stephen Snow
> > > > > > > > > <s40w5s@gmail.com>
> > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > I can get this tested on both serial and
ethernet/ip.
> > > > > > > > > > I also
> > > > > > > > > > have ther
> > > > > > > > > > DF1 protocol manual.
> > > > > > > > > >
> > > > > > > > > > Stephen
> > > > > > > > > > On Fri, 2021-02-19 at 15:22 +0530, Gaurav
P wrote:
> > > > > > > > > > > Thanks Chris ... I have access to an
ancient AB PLC
> > > > > > > > > > > 5/260  and
> > > > > > > > > > > will start testing and report back
to you
> > > > > > > > > > > .....transport link
> > > > > > > > > > > would be serial ...hope it wont be
any issue  After
> > > > > > > > > > > I go
> > > > > > > > > > > through the docs , hope its not too
complex , I
> > > > > > > > > > > maybe able to
> > > > > > > > > > > maintain and test driver
> > > > > > > > > > >
> > > > > > > > > > > On Fri, Feb 19, 2021 at 1:07 PM Christofer
Dutz
> > > > > > > > > > > <christofer.dutz@c-ware.de>
> > > > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hi Gaurav,
> > > > > > > > > > > >
> > > > > > > > > > > > also from my side, welcome :-)
> > > > > > > > > > > >
> > > > > > > > > > > > I think the DF1 was one of the
first tob e
> > > > > > > > > > > > created with the
> > > > > > > > > > > > new code-generation framework.
> > > > > > > > > > > > However due to lack of hardware
to test on, it's
> > > > > > > > > > > > still
> > > > > > > > > > > > located in the "Sandbox" and got
a "test" prefix
> > > > > > > > > > > > on it.
> > > > > > > > > > > >
> > > > > > > > > > > >     <dependency>
> > > > > > > > > > > >
> > > > > > > > > > > > <groupId>org.apache.plc4x.sandbox</groupId>
> > > > > > > > > > > >         <artifactId>test-java-df1-
> > > > > > > > > > > > driver</artifactId>
> > > > > > > > > > > >         <version>0.9.0-SNAPSHOT</version>
> > > > > > > > > > > >     </dependency>
> > > > > > > > > > > >
> > > > > > > > > > > > Also I think it supports all features
that were
> > > > > > > > > > > > needed by
> > > > > > > > > > > > the folks that implemented it,
but probably not
> > > > > > > > > > > > much more
> > > > > than that.
> > > > > > > > > > > >
> > > > > > > > > > > > So please test it. If you need
it to do more and
> > > > > > > > > > > > you've got
> > > > > > > > > > > > a device you can test it with,
we'd be happy to
> > > > > > > > > > > > help you
> > > with
> > > > > that.
> > > > > > > > > > > >
> > > > > > > > > > > > Chris
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > -----Ursprüngliche Nachricht-----
> > > > > > > > > > > > Von: Lukas Ott <ott.lukas.14@gmail.com>
> > > > > > > > > > > > Gesendet: Freitag, 19. Februar
2021 07:33
> > > > > > > > > > > > An: dev@plc4x.apache.org
> > > > > > > > > > > > Betreff: Re: DF1 protocol ...cant
find
> > > > > > > > > > > > documentation
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Gaurav,
> > > > > > > > > > > >
> > > > > > > > > > > > Welcome to the list :-),
> > > > > > > > > > > >
> > > > > > > > > > > > Yes it really is supported. Here
you ll find some
> > > > > > > > > > > > more
> > > > > details:
> > > > > > > > > > > >
> > > https://plc4x.apache.org/developers/code-gen/protocol/df1.ht
> > > > > > > > > > > > ml
> > > > > > > > > > > >
> > > > > > > > > > > > The best way to get started you
can find here:
> > > > > > > > > > > >
> https://plc4x.apache.org/users/getting-started/plc4j.html
> > > > > > > > > > > > to understand more read here:
> > > > > > > > > > > >
> > > https://plc4x.apache.org/users/getting-started/general-conce
> > > > > > > > > > > > pts
> > > > > > > > > > > > .h
> > > > > > > > > > > > tml
> > > > > > > > > > > >
> > > > > > > > > > > > For release 0.6 you ll find the
java code here:
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > >
> > > https://github.com/apache/plc4x/blob/rel/0.6/protocols/df1/src/m
> > > > > > > > > > ain /j
> > > > > > > > > > ava/org/apache/plc4x/protocol/df1/Df1Protocol.java
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Example code you ll find here:
> > > > > > > > > > > >
> https://github.com/apache/plc4x/tree/develop/plc4j/examples
> > > > > > > > > > > >
> > > > > > > > > > > > Currently not sure if we ported
DF1 to release
> > > > > > > > > > > > 0.8
> > > > > > > > > > > >
> > > > > > > > > > > > Cheers,
> > > > > > > > > > > > otluk
> > > > > > > > > > > >
> > > > > > > > > > > > Am Fr., 19. Feb. 2021 um 03:41
Uhr schrieb Gaurav
> > > > > > > > > > > > P <
> > > > > > > gp@gpism.com>:
> > > > > > > > > > > >
> > > > > > > > > > > > > Hi Team ,
> > > > > > > > > > > > > I am new to PLC4x , trying
to integrate with
> > > > > > > > > > > > > DF1 but cant
> > > > > > > > > > > > > find any documentation ....
> > > > > > > > > > > > > https://plc4x.apache.org/users/protocols/df1.html
> > > > > > > > > > > > >
> > > > > > > > > > > > > is it really supported? if
yes where can I get
> > > > > > > > > > > > > documentation and an example
code
> > > > > > > > > > > > > --
> > > > > > > > > > > > > B*e * the *Ch*ange
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > B*e * the *Ch*ange
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > B*e * the *Ch*ange
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > B*e * the *Ch*ange
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > B*e * the *Ch*ange
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > B*e * the *Ch*ange
> > > > >
> > > >
> > > >
> > > > --
> > > > B*e * the *Ch*ange
> > > >
> > >
> > >
> > > --
> > > B*e * the *Ch*ange
> > >
> >
> >
>
>
>

-- 
B*e * the *Ch*ange
Mime
View raw message