[quote=“gglenn”]I am acquiring my tags from a Controllogix L61.[/quote]That helps. [quote=“gglenn”]Can you be more descriptive regarding your comment “I solve these kinds of problems by combining external recording code and Ignition user interfaces and displays.”?
Do you mean you do the recording code within the processor and then transfer blocks of data to Ignition?[/quote]Mixed.
I’ve written a daemon service for Linux that emulates a Logix ‘Ethernet-Module’ or ‘Ethernet-Bridge’ I/O device, offering either 496 bytes or 496x100 bytes, respectively, of recordable data that can be sent at fast RPIs. I’ve written a matching daemon service for Linux that subscribes to the packets in the I/O daemon, parses packets into variables, and performs bulk inserts into PostgreSQL. I’ve done light testing of this daemon pair down to 1ms RPI without problems.
The PLC code needs to be modified to copy data of interest into the virtual module’s output buffer. I generally recommend that all interesting data be placed into a structured tag and copied with a single ‘CPS’ instruction. Microsecond timestamps for the inserted data can be from packet delivery, Zulu from the ControlLogix GSV WallClockTime extracted from the packet payload, or both.
For all practical purposes, the resulting database content is functionally identical to Transaction group recordings made at RPI intervals, using OPC read mode, but guaranteed to be snapshot at packet boundaries.