Durante lo sviluppo di un’applicazione PLC con LogicLab è possibile trasferire sul dispositivo target, oltre al programma eseguibile, anche il file sorgente di progetto. Questa possibilità offre diversi vantaggi, ma introduce anche alcuni aspetti da valutare attentamente in termini di sicurezza, tempi di trasferimento e protezione del know-how.
Avere il programma sorgente sul target ha il vantaggio di garantire maggiore facilità di manutenzione, consentendo al tecnico di disporre della versione del progetto utilizzata dal PLC riducendo il rischio di lavorare su una versione non aggiornata o diversa da quella installata sul dispositivo. In caso di guasto o modifica dell’impianto, il tecnico può recuperare direttamente il progetto dal PLC senza doverlo richiedere al produttore dell’applicazione.
Di contro ha il rischio di divulgazione del know-how, il programma sorgente contiene il know-how sviluppato dal programmatore e dall’azienda. Se i sorgenti vengono memorizzati sul PLC senza alcuna protezione, una persona che ha accesso al dispositivo potrebbe potenzialmente recuperarli e analizzarli. Inoltre il trasferimento sul target del sorgente oltre all’eseguibile richiede maggiore tempo e questo porta ad un aumento dei tempi durante la stesura ed il test del programma.
File sorgente da trasferire sul target (PLC)
Per il trasferimento del file sorgente di progetto LogicLab crea un file in un formato specifico denominato RSM (Redistributable Source Module). Il file RSM rappresenta una copia distribuibile del progetto sorgente ed è utilizzato per trasferire i sorgenti dell’applicazione sul dispositivo target (PLC).Il file può essere protetto tramite password, impedendo l’accesso non autorizzato ai sorgenti del progetto.
Il file sorgente Project.rsm viene trasferito sul sistema target all’interno della cartella Plc ed è accessibile da connessione FTP la presenza del file sul dispositivo garantisce che il progetto sorgente sia associato al programma attualmente in esecuzione sul PLC. Come alternativa alla procedura di caricamento del progetto dal target è possibile eseguire il trasferimento del file .rsm sul proprio PC usando un clent FTP (Esempio a lato l’esplora risorse di Windows). Da LogicLab dal menù File -> Open project selezionando il file .rsm si apre una finestra di browsing disco per la selezione della cartella in cui trasferire il progetto che poi verrà automaticamente aperto in editing.

Trasferimento del progetto sul target (PLC)
Durante lo sviluppo di un’applicazione con LogicLab, è possibile scegliere se trasferire sul dispositivo target (PLC), oltre al programma eseguibile, anche il progetto sorgente. Il progetto può essere trasferito in chiaro oppure protetto da password. Dal menù Project -> Options -> Download è possibile configurare la modalità di trasferimento, sono possibili 3 selezioni:
- Never: I programmi sorgente non vengono trasferiti sul dispositivo target
- Before disconnection: I programmi sorgente vengono trasferiti sul dispositivo target nel momento in cui l’ambiente di sviluppo LogicLab è sconnesso dal target.
- On PLC application download:I programmi sorgente vengono trasferiti sul dispositivo target ad ogni trasferimento del programma eseguibile. Questa modalità rappresenta la soluzione più sicura, garantisce che sul dispositivo target sia sempre disponibile una copia aggiornata dei sorgenti.
Se viene selezionata l’opzione Protect with password e viene impostata una password, il programma sorgente trasferito sul dispositivo target (File Project.rsm) sarà protetto mediante password. In questo modo, il contenuto del progetto non potrà essere visualizzato o recuperato senza inserire la password impostata.

Caricamento del progetto dal target (PLC)
Se chi ha sviluppato l’applicazione ha scelto di trasferire il programma sorgente sul dispositivo è possibile eseguirne il caricamento dalla finestra principale di LogicLab o dal menù File -> Import project from target. Impostare il tipo di dispositivo ed i parametri di connessione:
- ARM7 Modbus Ver. 1.0 (Deprecated): Non utilizzare.
- ARM7-CortexM7 Modbus Ver. 2.0: Selezionare per tutti i dispositivi SlimLine basati su processori ARM e CortexM7, utilizza il protocollo Modbus.
- Raspberry GDB: Selezionare per i dispositivi SlimLine basati su Raspberry, utilizza il protocollo GDB.
- SlimLine II MA35D1 GDB: Selezionare per i dispositivi SlimLine 2a serie con SO Linux basati su processore MA35, utilizza il protocollo GDB.
- SlimLine II STM32H GDB: Selezionare per i dispositivi SlimLine 2a serie basati su processori Cortex STM, utilizza il protocollo GDB.
Selezionato il dispositivo target occorre impostare i parametri di connessione:
- Se seriale, la porta utilizzata ed i parametri di comunicazione (Di default 115200, e, 8, 1).
- Se ethernet, l’indirizzo IP e la porta a cui connettersi (Di default per il Modbus è la 502, per il GDB è la 5000).
Impostati iparametri il tasto Verify connection esegue il test di connessione, con il tasto Upload Sources verrà eseguito il caricamento del programma (File Project.rsm) al termine del quale si apre una finestra di browsing disco per la selezione della cartella in cui trasferire il progetto che poi verrà automaticamente aperto in editing.

Utilizzo progetto caricato dal target
Completato il caricamento dei sorgenti LogicLab apre il progetto in modalità di modifica. Nel progetto sono memorizzati anche i parametri di connessione al dispositivo target. Se la configurazione del target non ha subito variazioni, è possibile stabilire direttamente la connessione al PLC. Stabilita la connessione, LogicLab esegue automaticamente la lettura dell’immagine del sistema target questa operazione è possibile anche dal menù On-line -> Force target image upload.
Al termine della connessione, nella parte inferiore destra della finestra di LogicLab viene visualizzato lo stato della connessione attiva con indicazione di codice diverso (DIFF. CODE o DIFF. APPL). Questa situazione è normale e si verifica perché, durante il recupero del progetto dal dispositivo target, vengono trasferiti solamente i sorgenti del progetto. Non vengono invece recuperati il programma eseguibile e il file dei simboli, che sono utilizzati per effettuare il confronto tra il progetto presente sul PC e quello in esecuzione sul dispositivo target.
Ora è possibile compilare il progetto che permette a LogicLab di rigenerare tutti i file necessari per effettuare il confronto (compare) tra il progetto locale e quello presente sul target. Disconnettersi e riconnettersi al sistema per eseguire le operazioni di debug.
