Hey Tim,

That sounds great... As stated previously I will be happy to prepare an RC as 
soon as Chris and you (and perhaps also Gunter in this case) gives positive 
feedback...

Julian

Von meinem Mobiltelefon gesendet


-------- Ursprüngliche Nachricht --------
Betreff: Re: plc4j Marker not implemented
Von: Tim Mitsch
An: [email protected]
Cc:

Hallo everybody and welcome Gunther

I think the NPE parsing "%M0.4:BOOL" is coming from the one-byte data-type bug 
that we have already fixed in develop branch.

@Gunther:
This isn't the only variable that you are scanning, are u? In v0.3.0, i think 
ur using, you should get no error if you only scan this address, could you 
verify this?

@all
Using the current develop-branch i could not reproduce the NPE on request of 
"%M0.4:BOOL" alone as well in combination with other values, testing with our 
S71500, so i think we should starting to prepare 0.3.1 bugfix release. The odd 
length bug for arrays of one-byte base types is also fixed in develop.

Best
Tim

Am 20.02.19, 19:39 schrieb "Julian Feinauer" <[email protected]>:

    Thanks for the research Chris. Could you prepare a release in Jira and link 
the tickets to keep things organized?
    I'm still missing the mojo :)

    Von meinem Mobiltelefon gesendet


    -------- Ursprüngliche Nachricht --------
    Betreff: Re: plc4j Marker not implemented
    Von: Christofer Dutz
    An: [email protected],Gunther Gruber
    Cc:

    Hi Julian,

    yes we should add that to the list of things for a 0.3.1 release.
    I just did some research on this and it seems to be a naming-thing.

    As I found here [1] it seems as if Flags / Markers are used synonym.

    @Gunther Gruber could you please give an address a try and use "F" instead 
of "M" (and omit any "D" or "W" behind the first letter)?

    If this works, we should however adjust the parser as it looks as if these 
marker-addresses also have the "D" and "W" (but not the "X" suffixes the DB 
addresses have).
    So it seems that "%MW3" is a valid address ... I guess the parser would 
currently not parse "%FW3".
    I know the "W" is redundant if we provide the type at the end, but I would 
not like to force on our users to know that.

    Chris


    [1] 
https://www.citect.schneider-electric.com/scada/clearscada/help/2017/Content/SimaticS7DriverGuide/ConfiguretheScanProperties.htm

    Am 20.02.19, 19:00 schrieb "Julian Feinauer" <[email protected]>:

        Hi,

        first, thanks for the report Gunther.
        Should we consider this as a bug and also consider it for the 0.3.1 
release?
        Would like to have that soon to allow us to focus on new thinks.

        Did anyone file a Jira for that?
        @tim: did you make some progress with the "odd byte" fix?

        Julian

        Von meinem Mobiltelefon gesendet


        -------- Ursprüngliche Nachricht --------
        Betreff: Re: plc4j Marker not implemented
        Von: Christofer Dutz
        An: [email protected]
        Cc:

        Hi Gunther,

        I double checked and indeed the memory area enum is missing a constant 
for markers. I'll investigate the issue.

        Thanks for reporting and thanks for giving Plc4x a try :-)

        Chris

        Outlook f?r Android<https://aka.ms/ghei36> herunterladen

        ________________________________
        From: Gunther Gruber <[email protected]>
        Sent: Wednesday, February 20, 2019 5:26:33 PM
        To: [email protected]
        Subject: plc4j Marker not implemented

        Hello,

        i use plc4j for a small project demo. Thx for developing this driver, 
must have take some time to figure out the details to talk to these machines :)

        I took the hello world example and try to read some variables from a 
S7-1500, however I get a null pointer exception. I guess only %I and %Q is 
implemented.

        The variable i try to read is:

        %M0.4:BOOL


        java.util.concurrent.ExecutionException: java.lang.NullPointerException
                at 
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
                at 
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
                at 
collector.plc4j.PLCCollectorOperatorTest.initPLC(PLCCollectorOperatorTest.java:100)
                at 
collector.plc4j.PLCCollectorOperatorTest.Test(PLCCollectorOperatorTest.java:46)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
                at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
                at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
                at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
                at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
                at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
                at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
                at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
                at 
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
                at 
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
                at 
org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
                at 
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
                at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
                at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
                at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
                at 
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
                at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
                at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
        Caused by: java.lang.NullPointerException
                at 
org.apache.plc4x.java.s7.netty.S7Protocol.encodeS7AnyParameterItem(S7Protocol.java:392)
                at 
org.apache.plc4x.java.s7.netty.S7Protocol.encodeParameterReadWriteVar(S7Protocol.java:351)
                at 
org.apache.plc4x.java.s7.netty.S7Protocol.encodeParameters(S7Protocol.java:302)
                at 
org.apache.plc4x.java.s7.netty.S7Protocol.writeS7Message(S7Protocol.java:207)
                at 
org.apache.plc4x.java.s7.netty.S7Protocol.write(S7Protocol.java:185)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730)
                at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816)
                at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723)
                at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111)
                at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730)
                at 
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38)
                at 
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1081)
                at 
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1128)
                at 
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1070)
                at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
                at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
                at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
                at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
                at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
                at java.lang.Thread.run(Thread.java:748)






Reply via email to