Hi Stefano, Hi Chris,
I tried to pull the latest 0.8.0-SNAPSHOT from the Apache repo (I think I saw
you pushed it there). Thanks for the link to the Wiki page for a local build,
will try this as well later.
I did a quick run with plc4j-driver-s7-0.8.0-20200831.122123-1 (I hope this is
the right one) but it stops at:
16:55:34.460 [nioEventLoopGroup-2-1] DEBUG
org.apache.plc4x.java.spi.GeneratedDriverByteToMessageCodec - Sending bytes to
PLC for message
TPKTPacket[payload=COTPPacketData[parameters=<null>,payload=S7MessageRequest[tpduReference=10,parameter=S7ParameterReadVarRequest[items={S7VarRequestParameterItemAddress[address=S7AddressAny[transportSize=BOOL,numberOfElements=1,dbNumber=20,area=DATA_BLOCKS,byteAddress=5,bitAddress=0]]}],payload=<null>],eot=true,tpduRef=10]]
as data 0300001f02f08a32010000000a000e00000401120a10010001001484000028
Best regards,
Sebastian
> On 31. Aug 2020, at 15:18, Stefano Bossi <[email protected]> wrote:
>
> Hi Sebastian,
>
> Chris wrote a very good page on how to compile the library which is a very
> big software: https://plc4x.apache.org/developers/building.html
> <https://plc4x.apache.org/developers/building.html>
> On Mac I found no problem to follow the guide and I think on windows should
> be fine too.
>
> As extra suggestion on the guide I could add something if you use Gradle for
> your software: the compilation build and install all the jars local in your
> machine, if you would access this local jar storage via gradle you have just
> to add mavenLocal() to the list of repositories:
>
> repositories {
> mavenCentral()
> mavenLocal()
> }
> I’s not not difficult to figure out but I spend a couple of hours wandering
> how to do so it’s worth sharing
>
> Regards,
> S.
>
> On 31/08/2020 14:45, Christofer Dutz wrote:
>
>
>
>> Hi Sebasitan,
>>
>> Just some minutes ago I submitted a fix for your problem.
>> Please give it a try :-)
>>
>> Chris
>>
>>
>> Am 31.08.20, 11:41 schrieb "Sebastian Voss" <[email protected]>
>> <mailto:[email protected]>:
>>
>> Hi Chris,
>>
>> JIRA issue with attachment is created
>> https://issues.apache.org/jira/browse/PLC4X-246
>> <https://issues.apache.org/jira/browse/PLC4X-246>
>> <https://issues.apache.org/jira/browse/PLC4X-246>
>> <https://issues.apache.org/jira/browse/PLC4X-246>. I will try to change the
>> settings and report back the result.
>>
>> Thanks a lot and best regards,
>> Sebastian
>>
>> > On 31. Aug 2020, at 11:08, Christofer Dutz <[email protected]>
>> <mailto:[email protected]> wrote:
>> >
>> > Hi Sebastian …
>> >
>> > Unfortunately attachments don’t work on this mailing list. Could you
>> please create a JIRA issue?
>> >
>> > And I think I can help you with that error of yours:
>> > Go into the settings of your S7 and enable PUT/GET … the folks from
>> NodeRed made a nice video:
>> > https://www.youtube.com/watch?v=rTUs-_EiZ3A
>> <https://www.youtube.com/watch?v=rTUs-_EiZ3A> (Just the first 1,5 minutes)
>> >
>> > But the driver should definitely report this … as it is a known thing
>> and if we reported that it would help a lot of others.
>> >
>> > Chris
>> >
>> >
>> >
>> >
>> > Von: Sebastian Voss <[email protected]> <mailto:[email protected]>
>> > Antworten an: "[email protected]" <mailto:[email protected]>
>> <[email protected]> <mailto:[email protected]>
>> > Datum: Montag, 31. August 2020 um 10:49
>> > An: "[email protected]" <mailto:[email protected]>
>> <[email protected]> <mailto:[email protected]>
>> > Betreff: Re: S7 read issue
>> >
>> > Hi Chris, Hi Stefano,
>> >
>> > Thanks a lot for your valuable feedback. It is highly appreciated.
>> >
>> > I followed Stefanos suggestions and applied the simplifications. In
>> addition I created a Wireshark capture which is attached to this email.
>> >
>> > It seems it replies with “[Error code: This service is not implemented
>> on the module or a frame error was reported (0x8104)]"
>> >
>> > Does this mean the address is wrong or is it something else?
>> >
>> > Best regards,
>> > Sebastian
>> >
>> >
>> >> On 31. Aug 2020, at 09:42, Stefano Bossi <[email protected]>
>> <mailto:[email protected]> wrote:
>> >>
>> >> Hi Sebastian,
>> >>
>> >> if you need some help in setup the wireshark capture software or open
>> the jira ticket I could help.
>> >>
>> >> It’s definitely worth to follow the Chris suggestion to help him to
>> spot the real problem.
>> >>
>> >> In the mean time I think you could simplify the PLC query in this way:
>> >>
>> >> String Url: s7:tcp://172.3.4.5:102?controller-type=S7_1200
>> >>
>> >> String field: %DB20:5.0:BOOL
>> >>
>> >> As far as the address of the Data Block and the bool value are
>> correct, should work.
>> >> There were nothing particular wrong in your query but the library is
>> somewhat “sensible” if something goes wrong in the dialogue with the PLC
>> >>
>> >> An another thing you should pay attention is that the Data Block MUST
>> be NOT optimized; reading of optimized block is not currently supported.
>> This shouldn’t be your case because an attempt to read an optimized block
>> raise an exception or a null value.
>> >>
>> >> Try and let us know.
>> >>
>> >> Regards,
>> >> Stefano
>> >>
>> >> On 31/08/2020 08:48, Christofer Dutz wrote:
>> >>
>> >>
>> >>
>> >>> Hi Sebastian,
>> >>>
>> >>> could you possibly do a wireshark recording of this, create an issue
>> in our jira and attach the capture there?
>> >>> I am sure we haven't handled all things that could go wrong and with
>> this information I might be able to improve the error handling.
>> >>>
>> >>> Chris
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> Am 30.08.20, 18:28 schrieb "Sebastian Voss"
>> >>> <[email protected]> <mailto:[email protected]>
>> >>> :
>> >>>
>> >>> Hi,
>> >>>
>> >>> I’m trying to read a value from an Siemens S7-1200 PLC). This is
>> my first project using the S7 protocol and plc4x. When I try to read a value
>> the read request is not being executed (I also do not receive an error
>> message or timeout). Would this be the normal behaviour when the field
>> address is wrong? I’m out of ideas how to trace this down. Any hints would
>> be highly appreciated.
>> >>>
>> >>> This is the simple program I created:
>> >>>
>> >>> String url =
>> "s7://172.3.4.5:102?local-rack=0&local-slot=1&remote-rack=0&remote-slot=1&controller-type=S7_1200
>>
>> <s7://172.3.4.5:102?local-rack=0&local-slot=1&remote-rack=0&remote-slot=1&controller-type=S7_1200>";
>> >>> PlcDriverManager manager = new PlcDriverManager();
>> >>> PlcConnection connection = manager.getConnection(url);
>> >>>
>> >>> boolean isConnected = connection.isConnected();
>> >>> boolean canRead = connection.getMetadata().canRead();
>> >>>
>> >>> System.out.println(isConnected); // prints true
>> >>> System.out.println(canRead); // prints true
>> >>>
>> >>> String field = "%DB20:DBX05.0:BOOL";
>> >>> PlcReadRequest request = connection
>> >>> .readRequestBuilder()
>> >>> .addItem("value-1", field)
>> >>> .build();
>> >>>
>> >>> PlcReadResponse response = request.execute().get(); // here is
>> hangs forever
>> >>>
>> >>> System.out.println(response.getFieldNames());
>> >>>
>> >>> connection.close();
>> >>>
>> >>> Thanks a lot in advance!
>> >>>
>> >>> Best regards,
>> >>> Sebastian
>> >>>
>> >>>
>> >>
>> >>
>>
>>
>
>