plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Feinauer <j.feina...@pragmaticminds.de>
Subject AW: plc4j Marker not implemented
Date Wed, 20 Feb 2019 18:31:41 GMT
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: dev@plc4x.apache.org,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" <j.feinauer@pragmaticminds.de>:

    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: dev@plc4x.apache.org
    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 <gunther.gruber@IDA-Analytics.de>
    Sent: Wednesday, February 20, 2019 5:26:33 PM
    To: dev@plc4x.apache.org
    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)




Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message