Hello
I connected a PLC SIEMENS S7-1500 to Ignition without any problem.
I started defining tags using the syntax described in the documentation.
I could read int, float and strings without any problem.
After that I added new tags but, at some point, all of my tags coming from that PLC became green with Unkonwn quality and all values became NULL.
I can read tags up to at address [PLC1]DB600,I1406 but if I enable the tag at [PLC1]DB600,I1408 the problem appears again
In the page of devices log I traced this:
Logger Time Message
RequestSchedule 19Jan2018 10:13:15 Posting 0 ScheduledRequests.
RequestSchedule 19Jan2018 10:13:15 CRC match. correct == current (0 == 0).
RequestSchedule 19Jan2018 10:13:15 Adding 0 new ScheduledRequests.
RequestSchedule 19Jan2018 10:13:15 Canceling 6 ScheduledRequests.
RequestSchedule 19Jan2018 10:13:15 Size of new schedule before optimization: 0
RequestSchedule 19Jan2018 10:13:15 Created new schedule for 327 items in 13ms.
RequestSchedule 19Jan2018 10:13:15 Optimized 327 items into 0 read requests.
S71500Driver 19Jan2018 10:13:15 Error optimizing read items.
java.lang.IllegalArgumentException: Cannot fit item of size 230 into bin with capacity 226.
at com.inductiveautomation.xopc.drivers.siemens.optimizer.constraints.AbstractCapacityConstraint$Bin.add(AbstractCapacityConstraint.java:50)
at com.inductiveautomation.xopc.drivers.siemens.optimizer.constraints.AbstractCapacityConstraint.constrain(AbstractCapacityConstraint.java:22)
at com.inductiveautomation.xopc.drivers.siemens.optimizer.constraints.ConstraintProcessor.process(ConstraintProcessor.java:56)
at com.inductiveautomation.xopc.drivers.siemens.optimizer.S7ReadOptimizer.optimizeReads(S7ReadOptimizer.java:64)
at com.inductiveautomation.xopc.drivers.siemens.S7Driver.optimizeRead(S7Driver.java:394)
at com.inductiveautomation.xopc.driver.api.AbstractDriver.optimizeSubscribe(AbstractDriver.java:1038)
at com.inductiveautomation.xopc.driver.api.AbstractDriver$RequestSchedule.createNewSchedule(AbstractDriver.java:1175)
at com.inductiveautomation.xopc.driver.api.AbstractDriver$RequestSchedule.subscriptionChanged(AbstractDriver.java:1154)
at com.inductiveautomation.xopc.driver.api.BasicTransactionProcessor.notifyCallback(BasicTransactionProcessor.java:178)
at com.inductiveautomation.xopc.driver.api.BasicTransactionProcessor.processTransactions(BasicTransactionProcessor.java:57)
at com.inductiveautomation.xopc.driver.api.BatchingTransactionProcessor$TransactionRunnable.run(BatchingTransactionProcessor.java:101)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
BasicTransactionProcessor 19Jan2018 10:13:15 Adding 1 items.
BasicTransactionProcessor 19Jan2018 10:13:15 Processing transaction with sequence 393.
BatchingTransactionProcessor 19Jan2018 10:13:15 Processing 1 transactions.
BatchingTransactionProcessor 19Jan2018 10:13:15 Scheduling TransactionRunnable for +250ms.
DriverVariableNode 19Jan2018 10:13:15 MonitoredItem@1000 added to DriverVariableNode@2bb246e7[nodeId=ns=1;s=[S7_1500_ImpiantoFormatura]DB600,I1468,nodeClass=Variable,dataTypeId=ns=0;i=4]. ItemCount = 1.
If I defined a new device PLC2 pointing to the same IP of the previous one and change the tag address to [PLC2]DB600,I1408 it works fine.
Any idea to solve the problem without this workaround?
Ignition v. 7.9.3
Many thanks
Claudio