Io uso CVI da molti anni per tutte le applicazioni che sviluppiamo per i nostro banchi prova e trovo che sia potente e abbastanza flessibile. L'integrazione con i dispositivi di acquisizione e controllo di National è nativa, da questo punto di vista CVI e LV sono abbastanza equivalenti. Non è immediata la gestione del multithreading che invece in LV è trasparente, comunque è risolvibile con un po' di attenzione. L'applicazione più complessa che abbiamo realizzato gestisce un banco per prove di durata...
In effetti occorre aggiungere la libreria (Edit >> Add files to project >> Library...) e includere snap7.h nei sorgenti, non serve altro.
OK thanks for the info. As I told you the writing function is quite rare, once every 10 secs, so I will not have a large queue of write/read calls to deal with. I just wanted to know while developing the interlocking mechanism if I had to put a delay or not. Thank you for the gread job on the library and for the fast support!
Ha, you're right! I have a separte thread that's querying the PLC to get status informations. I was in the assuption that read and write were independent tasks: now I se I was mistaken. I'll have to add some interlock between threads, but I wonder whether some delay is required between consecutive read and write calls or not.
I am consistently receiving a 'Job pending' error while trying to write values to a DB in a ET200S PLC. Environment: I am using snap7.dll release 1.4.1 dynamically linked to a program developed with CVI 2017 (an ANSI C Language by National Instruments as you may know). Final application is a Win32 program. My task is to write to the PLC the results of tests performed on a device with a low pace (say once every 10 seconds): it is frequently happening to receive a Job pending error in this operation....