Hello, I'm starting to develop a project using the libnodave.dll in C#, and I would like, if it is possible, to know when a memory block is written, by using a Thread or Event that inform me of this.
I Hope to be clear enough.
Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is NOT something like: The PLC sends you a message when something somewhere in it`s memory changes.
With libnodave, you'll have to poll the PLC. You can do this in one thread and inform another thread sending an event to it. It is, however, no good idea to share a PLC connection among threads.
If you can modify the PLC program, you could introduce some flags which are set by the PLC when memory block X or memory block Y changes and then poll these flags instead of reading and comparing the whole memory.
Last, a PC application could emulate another S7 PLC receiving PUT and GET requests from your PLC program. This is beyond the scope of libnodave, but if this would fit your needs best, I could offer commercial support.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, I'm starting to develop a project using the libnodave.dll in C#, and I would like, if it is possible, to know when a memory block is written, by using a Thread or Event that inform me of this.
I Hope to be clear enough.
Thanks.
There is NOT something like: The PLC sends you a message when something somewhere in it`s memory changes.
With libnodave, you'll have to poll the PLC. You can do this in one thread and inform another thread sending an event to it. It is, however, no good idea to share a PLC connection among threads.
If you can modify the PLC program, you could introduce some flags which are set by the PLC when memory block X or memory block Y changes and then poll these flags instead of reading and comparing the whole memory.
Last, a PC application could emulate another S7 PLC receiving PUT and GET requests from your PLC program. This is beyond the scope of libnodave, but if this would fit your needs best, I could offer commercial support.
Thanks for the reply, it was very helpful!