Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [milo-dev] DataChangeFilter for MonitoredItem to receive a callback even if the value does not change

Guy,

Glad to hear you've had success using Milo.

It seems you're using the correct approach to me, so my first thought is that means the server in the S7-1500 treats that write with the same String value as something like a no-op and doesn't even update the timestamp. 

Are you writing this value from an OPC UA client or as part of the logic of the PLC program? Writes from an OPC UA client often do not include any timestamps or StatusCode, so I could see an argument for this logic being correct, since in that case neither the status, value, or timestamp would have changed.

On Tue, May 19, 2020 at 11:55 AM Guy Mahieu <guy.mahieu@xxxxxxxxx> wrote:
Hello all,

I have been using milo for a few years in a handful of projects and I must say I am amazed at how well it works and how stable it runs. Great work! 

Currently we are in a situation where we have a monitored item on a node to which a string is written by the PLC, and we want to receive a callback for this write, even when the same value is written to the DB by the PLC than the one that was already there.

For a Mitsubishi Melsec IQ-R PLC we have been able to get this working using a DataChangeFilter like this:

DataChangeFilter filter = new DataChangeFilter(DataChangeTrigger.StatusValueTimestamp, UInteger.valueOf(DeadbandType.None.getValue()), null);
ExtensionObject eoFilter = ExtensionObject.encode(client.getSerializationContext(), filter);
return new MonitoringParameters(
                uaSubscription.nextClientHandle(),
                (double) monitoredNodeSettings.getSamplingIntervalInMillis(),
                eoFilter,
                uint(monitoredNodeSettings.getQueueSize()),
                true
);

But this does not seem to work with a Siemens S7-1500. We receive callbacks when the values change, but if the same value is written no callback is generated for the monitored item.

Did anyone here ever try to do something similar?
Any idea on why this method would fail on an S7?

Kind regards,

Guy Mahieu
_______________________________________________
milo-dev mailing list
milo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/milo-dev

Back to the top