We are looking at using the TCP-connection for high speed data logging with Ignition. The PLCs are set up to buffer data at 1ms intervals in an array, that is sent every 1 second via TCP to a custom app we’re using to log that data today. It arrives as buffered data with values and timestamps down to milliisecond (microsecond timestamps is also possible). I’m particularly wondering how to ensure that Ignition stores the history with the right timestamps. I’ve successfully done scripts to ingest values using system.tag.writeblocking with fully qualified values, but I’m wondering if there’s a way to format the TCP payload to make this happen natively. Similar to how OPC UA data will be ingested with the OPC timestamp into ignition (and the historian).
When you say “TCP Connection” do you mean the TCP driver?
The only way to get this bulk data into history would be to parse the entire String payload each time it changes and store it yourself using system.tag.storeTagHistory
.
https://docs.inductiveautomation.com/display/DOC81/system.tag.storeTagHistory
Yes, TCP driver ok, that’s fine, parsing was my backup-plan anyway. Thanks!
You really want to use a connection that won’t mangle byte data. Consider using java’s native socket capabilities to listen for these messages.