Salta al contenuto principale

Dopo aver installato la Oracle Virtual Box e Debian 11 come descritto nell'articolo precedente di questa serie, procediamo ad installare OpenPLC Editor su questa installazione virtuale di Debian 11.

Putroppo le istruzione ufficiali presenti nel sito https://www.openplcproject.com/plcopen-editor falliscono perché questa versione di Debian ha installato Python 3 anziché Python 2.7 ed inoltre un pacchetto necessario per il funzionamento di OpenPLC Editor non è direttamente installabile in Debian 11 [mentre lo sarebbe in versioni precedenti di Debian].

Proviamo comunque da Terminale i passi descritti nel sito ufficiale

$sudo apt-get install git
$git clone https://github.com/thiagoralves/OpenPLC_Editor
$cd OpenPLC_Editor
$./install.sh

Se è la prima volta che su una nuova installazione di Debian usate sudo conviene
 

fausto@debian:~$ su
Password: 
root@debian:/home/fausto# cd /etc
root@debian:/etc# pluma sudoers

Dovete aggiungere il vostro utente nel file di testo sudoers, modificabile solo da root.

a

Chiaramente a posto di "fausto" dovete mettere il vostro utente di lavoro su Debian 11.

Spieghiamo ora cosa dovrebbero fare i passi di installazione di OpenPLC Editor.

I primi tre passi funzionano bene. Il primo installa Git, il secondo scarica la cartella di Installazione OpenPLC_Editor, il terzo ci permette di entrare in quella cartella, ma lo script di installazione "fallisce" per mancanza di pacchetti che andavano installati prima.

 

L'errore più grave è la mancanza del pacchetto python-wxgtk3.0

fausto@debian:~/OpenPLC_Editor$ ./install.sh
Installing OpenPLC Editor
Please be patient. This may take a couple minutes...

[INSTALLING DEPENDENCIES]
E: Impossibile trovare il pacchetto python-wxgtk3.0
E: Impossibile trovare alcun pacchetto tramite il glob "python-wxgtk3.0"
E: Impossibile trovare alcun pacchetto tramite l'espressione regolare "python-wxgtk3.0"

ciò impedisce poi allo script di fare il make e generare l'eseguibile.

Questo pacchetto non viene trovato né viene installato dallo script.

Occorre aprire una pagina web con il browser Firefox ESR presente su Debian 11 e navigare in due pagine web dove questi due file possono essere scaricati da Ubuntu
https://packages.ubuntu.com/bionic/all/python-wxversion/download

e
https://packages.ubuntu.com/bionic/python-wxgtk3.0

 

Si aprono queste due pagine e si scaricano i due pacchetti compatibili con la propria CPU fisica.

Si apre un terminale e li installo

fausto@debian:~$ cd Scaricati/
fausto@debian:~/Scaricati$ ls -l
totale 4972
-rw-r--r-- 1 fausto fausto 5071860 16 nov 17.27 python-wxgtk3.0_3.0.2.0+dfsg-7_amd64.deb
-rw-r--r-- 1 fausto fausto   12428 16 nov 17.27 python-wxversion_3.0.2.0+dfsg-7_all.deb
fausto@debian:~/Scaricati$ sudo apt install ./python-wxgtk3.0_3.0.2.0+dfsg-7_amd64.deb ./python-wxversion_3.0.2.0+dfsg-7_all.deb 

Si verifica la corretta installazione di wx

fausto@debian:~/Scaricati$ python
Python 2.7.18 (default, Jul 14 2021, 08:11:37) 
[GCC 10.2.1 20210110] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> print(wx.version())
3.0.2.0 gtk3 (classic)

Come vedere ora il modulo wx è visibile in Python 2.7

Si ritorna a fare

$cd /home/fausto/OpenPLC_Editor
$./install.sh

Dovrete mettere il vostro nome utente al posto di fausto.

L'installazione ora procede correttamente, impiega circa 5 minuti e genera una serie di warning

Making all in stage4
Making all in generate_c
In file included from generate_c.cc:525:
generate_c_il.cc: In member function ‘virtual void* generate_c_il_c::visit(il_function_call_c*)’:
generate_c_il.cc:957:11: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  957 |           if (nb_param > 0)
      |           ^~
generate_c_il.cc:959:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  959 |             if (param_value == NULL) {
      |             ^~
ar: `u' modifier ignored since `D' is the default (see `U')
Making all in generate_iec
ar: `u' modifier ignored since `D' is the default (see `U')
config.status: creating config/config.h
config.status: config/config.h is unchanged

[FINALIZING]
./install.sh: riga 39: cd: /home/fausto/.local/share/applications: File o directory non esistente
fausto@debian:~/OpenPLC_Editor$ 

L'ultimo messaggio [FINALIZING]
./install.sh: riga 39: cd: /home/fausto/.local/share/applications: File o directory non esistente

non è preoccupante. Non riesce a creare automaticamente il collegamento. Lo possiamo fare manualmente.

a

 

Ora OpenPLC è funzionante nella nostra installazione virtuale di Debian11.Non ci resta che provarla nei vari linguaggi e simulare il nostro codice!

Autoritenuta
Esempio d'uso in Linguaggio Ladder con autoritenuta