Thanks Looks I would need to modify source DF1 driver ... is the latest source is at : https://github.com/apache/plc4x/tree/develop/sandbox/test-java-df1-driver ? or somewhere else
On Sun, Mar 14, 2021 at 5:09 PM Christofer Dutz <[email protected]> wrote: > HI Gaurav, > > I would probably use a byte-array field, but no idea if the DF1 driver > supports that: > > Theoretically this would look like this: > > PlcReadRequest request = plcConnection.readRequestBuilder() > .addItem("N7:1", "5:USINT[12]") > .build(); > > Hope that helps. > > Chris > > > -----Ursprüngliche Nachricht----- > Von: Gaurav P <[email protected]> > Gesendet: Sonntag, 14. März 2021 03:21 > An: [email protected] > Betreff: Re: DF1 protocol ...cant find documentation > > Hi Chris, > > Currently, for testing, I am creating a web service API that will use > PLC4X to construct a command and expects a command as hex string which can > be used by native client to send command ? > Code > > PlcReadRequest request = plcConnection.readRequestBuilder() > .addItem("N7:1", "5:INTEGER") > .build(); > > > How do I get a command which is constructed and send as hex like 10 02 08 > 09 06 00 02 04 03 10 03 E0 from the request builder ? > > Thanks and Regards , > Gaurav > > > On Tue, Mar 9, 2021 at 5:57 PM Christofer Dutz <[email protected]> > wrote: > > > 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 <[email protected]> > > Gesendet: Dienstag, 9. März 2021 11:32 > > An: [email protected] > > 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 <[email protected]> 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 < > > > > [email protected]> wrote: > > > > > > > > > Hey, > > > > > > > > > > as far as I see your code looks good Gaurav, lets try it and > > > > > then report : > > > > > ) > > > > > > > > > > Best > > > > > Julian > > > > > > > > > > Von: Gaurav P <[email protected]> > > > > > Datum: Samstag, 20. Februar 2021 um 19:14 > > > > > An: [email protected] <[email protected]> > > > > > 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 <[email protected]> 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/1FWmwJfXVD03MLtHVsJ0UizoA6D5KzU9J > > > G4 > > > VRD-lInGI/edit# > > > > > < > > > > > > > > https://docs.google.com/document/d/1FWmwJfXVD03MLtHVsJ0UizoA6D5KzU9J > > > G4 > > > VRD-lInGI/edit > > > > > > > > > > > > > (wip) > > > > > > > > > > > > <repositories> > > > > > > <repository> > > > > > > <id>apache-snapshots</id> > > > > > > > > > > > > <url>https://repository.apache.org/content/repositories/snapsh > > > > > > ot > > > > > > 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 < > > > > > > [email protected]> 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/snap > > > > > > > sh > > > > > > > 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/snap > > > > > > > sh > > > > > > > ots > > > > > > > </url> > > > > > > > <releases> > > > > > > > <enabled>false</enabled> > > > > > > > </releases> > > > > > > > <snapshots> > > > > > > > <enabled>true</enabled> > > > > > > > </snapshots> > > > > > > > </pluginRepository> > > > > > > > </pluginRepositories> > > > > > > > > > > > > > > That should help. > > > > > > > > > > > > > > Chris > > > > > > > > > > > > > > > > > > > > > -----Ursprüngliche Nachricht----- > > > > > > > Von: Christofer Dutz <[email protected]> > > > > > > > Gesendet: Samstag, 20. Februar 2021 10:13 > > > > > > > An: [email protected] > > > > > > > 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 <[email protected]> > > > > > > > Sent: Saturday, February 20, 2021 6:19:38 AM > > > > > > > To: [email protected] <[email protected]> > > > > > > > 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 <[email protected]> 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-SNAPSH > > > > > > > > OT > > > > > > > > > > > > > > > > is it not hosted in maven central? > > > > > > > > > > > > > > > > On Fri, Feb 19, 2021 at 6:58 PM Christofer Dutz > > > > > > > > <[email protected]> > > > > > > > > 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 <[email protected]> > > > > > > > > > Gesendet: Freitag, 19. Februar 2021 14:20 > > > > > > > > > An: [email protected] > > > > > > > > > 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 < > > > > > > > > > [email protected]> > > > > > > > > > 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 <[email protected]> > > > > > > > > > > Gesendet: Freitag, 19. Februar 2021 13:16 > > > > > > > > > > An: [email protected] > > > > > > > > > > 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-d > > > > > f1- > > > > > > > > > > dri > > > > > > > > > > ver/src/test/java/org/apache/plc4x/protocol/df1/EndToE > > > > > > > > > > ndT > > > > > > > > > > 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 > > > > > > > > > > <[email protected]> > > > > > > > > > > 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 > > > > > > > > > > > <[email protected]> > > > > > > > > > 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 > > > > > > > > > > > > > <[email protected]> > > > > > > > > > > > > > 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 <[email protected]> > > > > > > > > > > > > > > Gesendet: Freitag, 19. Februar 2021 07:33 > > > > > > > > > > > > > > An: [email protected] > > > > > > > > > > > > > > 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 < > > > > > > > > > [email protected]>: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > -- > B*e * the *Ch*ange > -- B*e * the *Ch*ange
