I have a usecase, where I need to read some discrete events from either PLC or from another system. Then I need a little transformation of these events and finally I need them to be stored in a SQL database (S95 structure).
I am looking at gateway event scripts for securing that I get all events handled. Then I am looking at tag change scripts on UDTs as they are secure enough to ensure that I don't loose any data in the processing, as I have better control of the change rate at this level.
If I have a distributed architecture, can I utilize Ignition Edge? The Edge cannot make SQL calls, I have to make these on the central gateway. But can I ensure that all events are transmitted from Edge to the Gateway?
Or do I use Ignition platforms all over and use database storeforward for ensuring that I don't loose any events?
You can use system.util.sendRequest()
from Edge to a Central Gateway. You will need do your own, completely custom, file-based store and forward system in jython to handle communications failures. Unless the number of Edge licenses is substantial, justifying the engineering expense to create that, I'd just use Standard Ignition everywhere. Note that you can deploy standard Ignition quite cheaply if you omit user interfaces and the Tag Historian module--nearly as cheap as Edge IIoT.
As be aware that a Gateway Tag Change Event (in a project, using lists of tag paths) will not drop events, uses a dedicated thread, and can delegate to its project's script library. Tag Events attached to a tag can drop events, share a three-thread execution pool, and can only use library scripts in the gateway scripting project.
Thanks for your reply. That was also my take on it, just wanted to verify it with the experts here...
Thanks!