Interprete comandi

I moduli CPU hanno un interprete comandi a cui è possibile accedere collegandosi alla porta definita (Default porta 23, modificabile da pagina web di configurazione Servers) con un terminale Telnet (Esempio Toolly). L’interprete comandi è accessibile anche da porta seriale eseguendo l’operazione di catch sistema. Definite le credenziali di accesso (Default Admin:Admin), digitando “?” si hanno a disposizione tutti i comandi supportati.

Esempio connessione Telnet

Ecco lo screenshot del programma Toolly connesso in Telnet con un sistema con indirizzo IP 192.168.0.181. Eseguito il login con le credenziali di default Admin:Admin.

Screenshot comandi Telnet da Toolly

Elenco comandi supportati

Nella tabella sono riportati i comandi supportati, nella descrizione di ogni comando è riportato il livello utente che ha accesso al comando ed ai suoi eventuali parametri. I livelli sono 3 riportati in ordine di importanza.
A: Admin, amministratore del sistema
U: User, utente del sistema
G: Guest, ospite del sistema

ComandoDescrizione
ArpVisualizza e modifica le voci della cache ARP
CfgCommitEsegue la memorizzazione della configurazione di sistema
DateTimePermette di visualizzare ed impostare i valori di data e ora
DirElenca i file presenti nei dischi del sistema
DskChkEsegue il controllo del disco indicato e ritorna un report
DskSectVisualizza i dati presenti nei settori definiti
EngCommandComandi ingegneristici
FormatFormatta i dischi presenti nel sistema
FSStatsVisualizza le statistiche del file system
HwStatsRitorna statistiche dispositivi hardware
I2CStsRitorna elenco dispositivi connessi ai bus I2C
IFConfigVisualizza le informazioni relative alle interfacce di rete
LogoutScollega l’utente dalla sessione Telnet
NETStatVisualizza lo stato delle connessioni attive
PingEsegue il ping
PLCCommandPermette di gestire comandi PLC
RebootEsegue il riavvio del sistema
RMStats Informazioni statistiche su memoria allocata dinamicamente
SLineBusPermette di gestire i moduli connessi al bus di estensione
SLineInfosRitorna informazioni sui moduli connessi al bus di estensione
SpyDataAttiva la visualizzazione dei dati di spionaggio
SysConfigVisualizza e modifica la configurazione del sistema
SysLogVisualizza il log di sistema
SysStatsRitorna le statistiche di funzionamento del sistema
UpdateBackup e restore programma ed update firmware
UserConfigPermette di configurare credenziali di accesso utente

Arp

Visualizza e modifica le voci della cache ARP (Address Resolution Protocol), che contiene la tabella con gli indirizzi IP ed i relativi indirizzi fisici Ethernet dei sistemi connessi.

AUG Comando Descrizione
Arp Visualizza le voci della tabella ARP
Arp -d Cancella le voci della tabella ARP
Esempi

Il comando senza parametri visualizza l’elenco delle voci presenti in tabella con relativo indirizzo IP e MAC. Tra le parentesi quadre è riportato il tempo di vita della voce ARP, che si inizializza ad ogni scambio di pacchetti con il dispositivo. Esaurito il tempo la voce viene cancellata dalla tabella.

[Admin]> Arp
IP:192.168.10.1 MAC:B8-27-EB-47-2B-56 [30 (Sec)]
IP:192.168.10.12 MAC:B8-27-EB-D5-1F-88 [30 (Sec)]
2 ARP entrie(s) found

Definendo il parametro -d vengono cancellate tutte le voci ARP dalla tabella.

[Admin]> Arp -d
No ARP entries found

CfgCommit

Esegue la memorizzazione della configurazione di sistema.

AUG Comando Descrizione
CfgCommit Esegue salvataggio della configurazione di sistema
CfgCommit -dInizializza la configurazione alle impostazioni di default e ne esegue salvataggio
Esempi

Il comando senza parametri esegue salvataggio della configurazione di sistema.

[Admin]> CfgCommit
System configuration saved

Definendo il parametro -d viene inizializzata la configurazione alle impostazioni di default ed eseguito il salvataggio. Per rendere attiva la configurazione occorre eseguire un riavvio del sistema.

[Admin]> CfgCommit -d
Default configuration saved

DateTime

Permette di visualizzare ed impostare i valori di data e ora.
Timezone, indica la differenza in ore rispetto a Greenwich.
Daylightzone indica la gestione dell’ora legale:
0: Non viene gestita l’ora legale
1: Zona Europa. Ora legale inizia alle ore 01.00 UTC dell’ultima domenica di Marzo e finisce alle ore 01.00 UTC dell’ultima domenica di Ottobre
2: Zona USA. Ora legale inizia alle ore 02.00 locali della seconda domenica di Marzo e finisce alle ore 02.00 locali della prima domenica di Novembre

AUG Comando Descrizione
DateTimeVisualizza valore attuale di data e ora
DateTime -s [Date e Time]Imposta valore di data e ora
DateTime -t [Timezone] Imposta il valore di time zone
DateTime -d [Daylightzone]Imposta il valore di daylight zone
Esempi

Visualizzo valore attuale di data e ora riportando lo stato di Daylight Saving Time (DST): 0: ora solare; 1: ora legale

[Admin]> DateTime
Wednesday, 30/12/2009,3 16:24:44 (DST:1)
Time zone: +1 (Hour)
Daylight saving zone: 0

Con il parametro -s è possibile impostare il valore di data e ora.

[Admin]> DateTime -s 30/12/2009 19:30:00
Wednesday, 30/12/2009,3 16:24:44 (DST:0)
...

Con il parametro -t è possibile impostare la differenza oraria in + o in – rispetto a Greenwich (Per l’Italia impostare +1). Occorre salvare la configurazione con il comando CfgCommit.

[Admin]> DateTime -t +1
Wednesday, 30/12/2009,3 16:24:44 (DST:0)
...

Con il parametro -d è possibile impostare la dayligth zone (Per l’Italia impostare 1). Occorre salvare la configurazione con il comando CfgCommit.

[Admin]> DateTime -d 1
Wednesday, 30/12/2009,3 16:24:44 (DST:1)
...

E’ possibile definire più parametri nello stesso comando.

[Admin]> DateTime -s 30/12/2009 16:24:44 -t +1 -d 1
Wednesday, 30/12/2009 16:24:44 (DST:0)
Time zone: +1 (Hour)
Daylight saving zone: 1
...

Dir

Permette di visualizzare l’elenco dei files presenti nel disco indicato. Occore definire come parametro il disco e/o la cartella. Il comando è possibile per tutti gli utenti su tutti i dischi indipendentemente dai diritti di accesso impostati.

AUG Comando Descrizione
Dir [<Drive>:][<Path>]Visualizza l’elenco dei files presenti nel disco e/o cartella indicata
Dir [<Drive>:][<Path>] -?Visualizza l’elenco dei files presenti nel disco e/o cartella indicata con informazioni sulla posizione su disco
Esempi

Per ogni voce è riportata l’ultima data/ora di accesso, le cartelle sono indicate con <DIR>, per ogni file è ritornata dimensione e nome. Al termine dell’elenco è riportato un riepilogo dei files e cartelle presenti oltre allo spazio disponibile sul disco. I comandi Dir C:, Dir C:/, Dir C:\ sono equivalenti e ritornano il contenuto dell’intero disco C:.

[Admin]> Dir C:
Directory of "C:"
06/03/2019 10:19:22 <DIR>      System 
05/10/2021 12:15:57     507948 Firmware.upl 
1 File
1 Directory
1556480 Available space

Indicando nel comando oltre al disco anche una cartella ne viene ritornato il contenuto.

[Admin]> Dir C:/System
Directory of "C:/System"
05/10/2021 12:17:05       2292 Cfg.bin 
05/10/2021 12:17:05       2292 CfgBk.bin 
06/10/2021 13:17:07       2340 Logs.txt 
3 File
0 Directory
1556480 Available space

Indicando nel comando oltre al disco anche una cartella ed un file ne vengono ritornate le informazioni.

[Admin]> Dir C:/System/Logs.txt
Directory of "C:/System/Logs.txt"
07/10/2021 16:17:39      64024 Logs.txt 
1 File
0 Directory
1306624 Available space

Il carattere jolly “*” nel comando permette di impostare dei filtri.

[Admin]> Dir C:/System/*.bin
Directory of "C:/System/*.bin"
17/01/1980 08:02:16       2214 Cfg.bin 
17/01/1980 08:02:16       2214 CfgBk.bin 
2 File
0 Directory
1306624 Available space

L’opzione “-?” forza la visualizzazione delle informazioni sulla allocazione del file su disco (Vedi articolo). Su ogni voce tra le parentesi troviamo:

  • Numero del settore su disco in cui si trova il File entry.
  • Indice del File entry all’interno del settore. (Ogni settore contiene 16 entries).
  • Numero del cluster dove iniziano i dati del file.
  • NTC: (Not to check) il file è stato correttamente chiuso.
[Admin]> Dir C:\System -?
Directory of "C:\System"
01/01/2000 00:00:13       2300 Cfg.bin [23, 0, 4, NTC]
01/01/2000 00:00:13       2300 CfgBk.bin [23, 1, 5, NTC]
01/01/2000 00:00:13       1482 Logs.txt [23, 2, 6, NTC]
3 File
0 Directory
1953792 Available space

DskChk

Esegue il controllo del disco indicato e ritorna un report. L’utente Admin ha accesso a tutti i dischi mentre per l’utente User vanno verificati i diritti di accesso definiti.

AUG Comando Descrizione
DskChk [Drive]Esegue il controllo sulla FAT del disco indicato
DskChk [Drive] -fEsegue il controllo del disco indicato analizzando la FAT e tutti i files
Esempi

Con il comando occorre specificare il disco da controllare. Eseguo il controllo del disco C: viene ritornato il numero di clusters presenti nella FAT con indicazione degli utilizzati e dei liberi, nonchè eventuali clusters in errore.

[Admin]> DskChk C:
-------------------------------------------------------------------[FAT Check]--

Clusters:
Total:..................... 510
Free:...................... 57
Used:...................... 453
Bad:....................... 0

Specificando l’opzione -f verrà eseguito il controllo anche su tutti i files presenti sul disco. Il tempo di controllo aumenta ed eventuali errori saranno ritornati.

[Admin]> DskChk C: -f
-------------------------------------------------------------------[FAT Check]--

Clusters:
Total:..................... 510
Free:...................... 57
Used:...................... 453
Bad:....................... 0

DskSect

Permette di visualizzare i dati presenti nei settori specificati. L’utente Admin ha accesso a tutti i dischi mentre per l’utente User vanno verificati i diritti di accesso definiti.

AUG Comando Descrizione
DskSect [Drive] Start NrEsegue la stampa dei dati di Nr settori del disco indicato partendo dal settore Start
Esempi

Con il comando occorre specificare il disco su cui eseguire il comando, il settore di inizio ed il numero di settori da stampare. Per avere indicazione di come è suddiviso il disco si consiglia di utilizare il comando FSStats.

EngCommand

Questo comando permette di gestire operazioni approfondite sul sistema, viene utilizzato solo in caso di verifica di particolari problemi.

AUG Comando Descrizione
EngCommand -rmtComanda la continua rotazione dei blocchi di memoria allocati con SysRMAlloc e il controllo degli stessi
Esempi

Attiva una continua rotazione dei blocchi di memoria allocati dalla funzione SysRMAlloc. Serve a verificare l’insorgenza di problemi in programmi che utilizzano la memoria rilocabile. Attivata la rotazione dei blocchi non è più possibile disabilitarla rimarrà atttiva fino al prossimo riavvio del sistema.

[Admin]> EngCommand -rmt
RMalloc test enabled

Format

Permette di formattare i dischi gestiti dal sistema, rimando alla lettura di questo articolo. L’utente Admin ha accesso a tutti i dischi mentre per l’utente User vanno verificati i diritti di accesso definiti.

AUG Comando Descrizione
Format [Drive] <FAT Type> <Cluster>Esegue la formattazione del disco, è possibile indicare il tipo di FAT e la dimensione del cluster
Esempi

Con il comando occorre specificare il disco da formattare. L’eventuale tipo di FAT e la dimensione del cluster sono parametri opzionali.

  • Drive: Identificazione unità da formattare, C: Disco FLASH interno, D: SDCard su scheda, F: SDCard su adapter USB
  • FAT Type: Specifica il formato della File Allocation Table.
    FAT_32: Formato standard, permette la lettura delle SDCard formattate su PC, nomi Directories/Files solo maiuscolo lunghezza 8+3.
    FAT_32_ELS: Formato custom, permette di definire nomi Directories/Files sia in maiuscolo che minuscolo lunghezza 14 caratteri totali.
    FAT_32_ELS_WL: Formato custom, come il precedente con abilitazione del wear leveling solo su disco interno C:.
  • Cluster Size: Permette di definire la dimensione del cluster in bytes, la dimensione deve essere un multiplo della dimensione settore (512 bytes).

Ecco alcuni esempi di formattazione:

  • Format C: Formatta il disco interno in FAT_32_ELS (FAT_32_ELS_WL se è supportato il wear leveling) scegliendo automaticamente la dimensione del cluster.
  • Format D: Formatta SDCard su scheda in FAT_32_ELS scegliendo automaticamente la dimensione del cluster
  • Format D: FAT_32 Formatta SDCard su scheda in FAT_32 fissando la dimensione del cluster a 512 bytes (1 settore, valore minimo)
  • Format D: FAT_32_ELS 512 Formatta SDCard su scheda in FAT_32_ELS fissando la dimensione del cluster a 512 bytes (1 settore, valore minimo)
  • Format F: FAT_32_ELS 2048 Formatta SDCard su adapter USB in FAT_32_ELS fissando la dimensione del cluster a 2048 bytes (4 settori)
[Admin]> format D:
Are you sure ? (Y,n)
Y
...
Format Ok, Time:2.664 (S)
File system ok
File system check
.
Clusters:
Total:..................... 65534
Free:...................... 65533
Used:...................... 1
Bad:....................... 0

FSStats

Visualizza le statistiche del file system, viene ritornato l’elenco dei files in uso con il tempo passato dall’ultimo accesso al file. Per ogni directory viene ritornato il numero di files allocati ed il numero di files con la quale è stata formattata.

AUG Comando Descrizione
FSStatsRitorna le statistiche del file system
Esempi

Nella sezione Recently Managed Files, sono indicati i files utilizzati recentemente.

Nella sezione FAT statistics, sono riportate le statistiche di utilizzo con i tempi di accesso in lettura e scrittura [Max <Real> Min] dei dischi che il sistema può gestire.

Nella sezione File system, sono riportate le configurazione dei dischi presenti.

[Admin]> FSStats
------------------------------------------------------[Recently Managed Files]--
FS[0]: File:C:/Web/NotFound.html, Mode:"c" Time:1 Days, 23 Hours, 5 Min, 23 Sec
FS[1]: File:C:/System/Logs.txt, Mode:"c" Time:0 Days, 2 Hours, 50 Min, 8 Sec
FS[2]: File:C:/Web/webpages/Index.htm, Mode:"c" Time:5 Days, 0 Hours, 32 Min, 42 Sec
FS[3]: File:C:/Web/Login.html, Mode:"c" Time:1 Days, 23 Hours, 5 Min, 25 Sec
--------------------------------------------------------------[FAT statistics]--
Flash sectors read:........ 38005
Flash sectors write:....... 18
Flash sectors read time:... 2.436 [1.971 <3.253> 6.181](mSec)
Flash sectors write time:.. 18.665 [18.053 <19.521> 25.991](mSec)
SDCard sectors read:....... 1230
SDCard sectors write:...... 608
SDCard sectors read time:.. 0.312 [0.281 <0.330> 2.740](mSec)
SDCard sectors write time:. 1.303 [1.242 <2.136> 19.604](mSec)
USB MSC sectors read:...... 0
USB MSC sectors write:..... 0
USB MSC sectors read time:. 0.000 [0.000 <0.000> 0.000](mSec)
USB MSC sectors write time: 0.000 [0.000 <0.000> 0.000](mSec)
-----------------------------------------------------------------[File system]--
Unit:...................... 'C'
File System:............... ELS_FAT_32
Nr of sectors in partition: 4094
Bytes per sector:.......... 512
Disk start sector:......... 4
Boot record:............... 4
Sectors per cluster:....... 8
Sectors per FAT:........... 4
Number of FATs:............ 1
Reserved sectors:.......... 10
FAT start sector[0]:....... 14
Sector find free FAT:...... 14
Address find free FAT:..... 0
Root dir start sector:..... 18
Max root dir entries:...... 0
Max dir entries for recycl.:256
File data start sector:.... 18
Total clusters:............ 510
Free clusters:............. 62
Used clusters:............. 448
Bad clusters:.............. 0
Check:..................... Ok

HwStats

Visualizza statistiche di funzionamento dispositivi hardware.

AUG Comando Descrizione
HwStatsVisualizza statistiche di funzionamento dispositivi hardware
HwStats -iInizializza statistiche di funzionamento dispositivi hardware
Esempi

Visualizzo le statistiche di funzionamento dispositivi hardware.

[Admin]> HwStats
---------------------------------------------------------------[General infos]--
Processor ID:....... 0xA1020E00
Processor EXID:..... 0x00000001
Switched on times:.. 30428
Total work time:.... 1259 Days, 21 Hours, 11 Minutes, 52 Seconds
Backup cycles:...... 496026
Backup time:........ 541.846 [237.264 <> 3098.560](mSec)
Memory writes:...... 3136429313, 2526610
FLASH type:          SHF-B
FLASH page size:     528
FLASH transactions:. 43
Program loop time:.. 0.305 [0.055 <> 973.318](mSec)
Case temp. [C]:..... 39.48
---------------------------------------------------------[Ethernet controller]--
Link status:........ On
Last Rx Pck:........ MAC:00-0C-29-E6-AD-E4, Ty:0x0800
Last Tx Pck:........ MAC:00-0C-29-E6-AD-E4, Ty:0x0800
Packets:............ Rx:2596109, Tx:1816985
---------------------------------------------------------------[MCI interface]--
Card type:.......... SD HC
CSD version:........ 3.0
BLength (Rd, Wr):... 512, 512
BlkNr:.............. 7862272
Memory size (MB):... 3839
RdTime:............. 0.312 [0.281 <0.330> 2.740](mSec)
WrTime:............. 1.303 [1.242 <2.136> 19.604](mSec)

I2CSts

Visualizza elenco dispositivi connessi ai bus I2C ausiliario (Interno al modulo CPU) e del del bus I2C di estensione.

AUG Comando Descrizione
I2CStsVisualizza elenco dispositivi connessi ai bus I2C
Esempi

Visualizzo elenco dispositivi connessi ai bus I2C.
Find devices on I2C auxiliary bus: Elenco dispositivi connessi sul bus I2C ausiliario (Interno al modulo CPU).
Find devices on I2C extension bus: Elenco dispositivi connessi sul bus I2C di estensione.
Device: 32 (0x20): Modulo di estensione con indirizzo “0”.

[Admin]> I2CSts
Find devices on I2C auxiliary bus
Device: 80 (0x50) found
Device: 104 (0x68) found

Find devices on I2C extension bus
Device: 32 (0x20) found

IFConfig

Visualizza ed imposta le configurazioni delle varie interfacce di rete:
eth0: Interfaccia ethernet
lhos: Local host

AUG Comando Descrizione
IFConfigVisualizza le informazioni di tutte le interfacce di rete
IFConfig [n]Visualizza le informazioni della interfaccia selezionata
IFConfig [n] -a valueImposta l’indirizzo IP della interfaccia selezionata
IFConfig [n] -m valueImposta il subnet mask della interfaccia selezionata
IFConfig [n] -g valueImposta il gateway della interfaccia selezionata
IFConfig [n] -dp valueImposta il DNS primario della interfaccia selezionata
IFConfig [n] -ds valueImposta il DNS secondario della interfaccia selezionata
IFConfig [n] -id 0/10:Disabilita, 1:Abilita l’acquisizione configurazione di rete da DHCP per interfaccia selezionata
IFConfig [n] -dd 0/1 0:Disabilita, 1:Abilita l’acquisizione DNS da DHCP per interfaccia selezionata
IFConfig [n] -mtu valueImposta al valore definito l’MTU della interfaccia selezionata
Esempi

Visualizzo informazioni delle interfacce di rete. Per ogni interfaccia sono riportate le informazioni attive Actual settings e le informazioni configurate Config settings.

[Admin]> ifconfig
------------------------------------------------------------------------[eth0]--
Actual settings:
Description:........ On board ethernet controller
Status:............. Ready (static)
MAC address:........ 00-50-C2-C3-CE-CF
IP address:......... 192.168.0.181

Config settings:
MAC address:........ 00-50-C2-C3-CE-CF
IP address:......... 192.168.0.181
Subnet mask:........ 255.255.254.0

------------------------------------------------------------------------[lhos]--
Actual settings:
...

Visualizzo le informazione della interfaccia etho.

[Admin]> IFConfig eth0
------------------------------------------------------------------------[eth0]--
Actual settings:
Description:........ On board ethernet controller
...

Eseguo impostazione indirizzo IP alla interfaccia eth0, per salvarlo nella configurazione occorre eseguire il comando CfgCommit seguito da Reboot.

[Admin]> IFConfig eth0 -a 192.168.0.181
IP address set: 192.168.0.181
Use "cfgcommit" and "reboot" commands to apply settings

Logout

Dopo avere terminato le operazioni o per passare da un utente ad un altro, occorre eseguire il logout. Lo scollegamento evita che altri utenti possano accedere ai comandi del server di configurazione. Ricordo comunque che chiudendo la sessione Telnet viene automaticamente eseguito un logout.

AUG Comando Descrizione
LogoutScollega l’utente dalla sessione Telnet

NETStat

Permette di visualizzare lo stato delle connessioni attive.

AUG Comando Descrizione
NETStatVisualizza lo stato dei socket attivi
NETStat -iVisualizza lo stato dei socket attivi con le informazioni di connessione dei socket connessi
Esempi

Visualizzo lo stato dei sockets attivi. Per ogni socket è indicato:
Local Address : Indirizzo interfaccia locale su cui è attivo (0.0.0.0 tutte le interfacce) e porta.
Foreign Address: Indirizzo IP e porta dispositivo connesso.
Status: Stato connessione.

[Admin]> NETStat
 Id  Proto  Local Address          Foreign Address        Status
[00] UDP    0.0.0.0:9999           *.*                              
[01] TCP    0.0.0.0:23             0.0.0.0:0              LISTENING 
[02] TCP    0.0.0.0:502            0.0.0.0:0              LISTENING 
[03] TCP    0.0.0.0:80             0.0.0.0:0              LISTENING 
[04] TCP    0.0.0.0:21             0.0.0.0:0              LISTENING 
[05] TCP    192.168.0.181:23       192.168.1.81:51301     ESTABLISHED

Visualizzo le informazioni dettagliate dei sockets attualmenti connessi.

[Admin]> NETStat -i
 Id  Proto  Local Address          Foreign Address        Status
[04] TCP    0.0.0.0:21             0.0.0.0:0              LISTENING 
[05] TCP    192.168.0.181:23       192.168.1.81:62895     ESTABLISHED
Interface:.......... On board ethernet controller
RxBuffLen:.......... 100
TxBuffLen:.......... 250
LifeTime:........... Set:120, Left:119 (Sec)
SRTTTime:........... 0.000 (Sec)
RxDataPck:.......... 15 (150 Bytes)
TxDataPck:.......... 92 (12473 Bytes)
TxFlushTime:........ 0.010 (Sec)
Retries:............ 0
PeerRetries:........ 0
Window:............. 100
PeerWindow:......... 65392
TxSequence:......... 970133496
Acknowledge:........ 3508579702
Ack time max:....... 53306 (uSec)
Ack time min:....... 39936 (uSec)

Ping

Permette di eseguire il ping verso un URL od un indirizzo IP.

AUG Comando Descrizione
Ping IP/URLEsegue il ping dell’indirizzo IP o del URL indicato
Ping IP/URL -l ValueEsegue il ping dell’indirizzo IP o del URL indicato forzando un pacchetto dati della lunghezza indicata
Esempi

Eseguo il ping di un indirizzo IP e di un URL.

[Admin]> ping 8.8.8.8
Answer from: 8.8.8.8, Delay: 11.756 (mS)
Answer from: 8.8.8.8, Delay: 11.116 (mS)
...

[Admin]> ping www.google.com
Answer from: www.google.com, Delay: 11.405 (mS)
Answer from: www.google.com, Delay: 11.135 (mS)
...

PLCCommand

Permette di gestire comandi PLC.

AUG Comando Descrizione
PLCCommand -stopArresta esecuzione del programma PLC
PLCCommand -runAvvia esecuzione del programma PLC
PLCCommand -restartRiavvia esecuzione del programma PLC
PLCCommand -pcCancella programma PLC (Solo se programma PLC in stop)
PLCCommand -mcCancella la memoria ritentiva PLC (Solo se programma PLC in stop)
PLCCommand -pmbku FileTrasferisce nel File indicato tutta l’area ritentiva (DB 100) (Solo se programma PLC in stop)
PLCCommand -pmres FileTrasferisce il contenuto del File nell’area ritentiva (DB 100) (Solo se programma PLC in stop)
Esempi

Comandi di stop, start, restart del programma PLC (Viene richiesta conferma).

[Admin]> PLCCommand -stop
Are you sure ? (Y,n)
PLC program stopped

[Admin]> PLCCommand -run
Are you sure ? (Y,n)
PLC program running

[Admin]> PLCCommand -restart
Are you sure ? (Y,n)
PLC program stopped
PLC program running

Eseguo cancellazione programma PLC.

[Admin]> plccommand -pc
PLC program erased

Eseguo cancellazione memoria dati.

[Admin]> PLCCommand -mc
Clear memory in progress...
Clear memory end

Trasferisco nel file D:/Backup.bin il contenuto dell’area ritentiva DB100.

[Admin]> PLCCommand -pmbku D:/Backup.bin
Memory backupped

Eseguo il restore dell’area ritentiva DB100 dal file D:/Backup.bin.

[Admin]> plccommand -pmres D:/Backup.bin
Memory restored

Reboot

Esegue il riavvio del sistema.

AUG Comando Descrizione
RebootEseguo riavvio del sistema
Esempi

Eseguo il riavvio del sistema, viene richiesta una conferma.

[Admin]> Reboot
Are you sure ? (Y,n)
Y
System rebooting...

RMStats

Ritorna informazioni statistiche sulla allocazione della memoria dinamica gestita dalla funzione SysRMAlloc.

AUG Comando Descrizione
RMStatsRitorna le informazioni sulla memoria dinamica
RMStats -iInizializza informazioni sui tempi di allocazione
RMStats -cEsegue il controllo su tutta la memoria allocata per verificarne l’integrità
Esempi

Visualizzo informazioni sulla allocazione della memoria dinamica.

[Admin]> RMStats
Memory size......... 36000    Dimensione totale a disposizione
Act free memory..... 31100    Dimensione disponibile
Act allocated memory 4900     Dimensione attualmente allocata
Max allocated memory 5168     Storico massima dimensione allocata
Act end free memory. 31100    Massimo blocco allocabile 
Min end free memory. 25924    Minima dimensione massimo blocco allocabile
Act blocks nr....... 16       Numero blocchi di memoria allocati
Max blocks nr....... 18       Storico massimo numero di blocchi allocati
Unulloc block size.. 0        Dimensione blocco che non è stato possibile allocare
Alloc time max[uSec] 32       Tempo massimo richiesto per allocare un blocco di memoria
Alloc time med[uSec] 8        Tempo medio richiesto per allocare un blocco di memoria        
Free time max [uSec] 26       Tempo massimo per liberare un blocco di memoria
Free time med.[uSec] 5        Tempo medio per liberare un blocco di memoria
GC time max [uSec].. 34       Tempo massimo esecuzione garbage collector
GC time med. [uSec]. 9        Tempo medio esecuzione garbage  collector

Inizializzo informazioni storiche. A seguito del comando tutti i valori sulle dimensioni e sui tempi vengono inizializzati.

[Admin]> RMStats -i
Memory size......... 36000
...
Alloc time max[uSec] 0

Eseguo un check di tutta la memoria allocata per vetificarne l’integrità. L’operazione richiede qualche centinaio di mS durante i quali l’esecuzione della task Back verrà bloccata.

[Admin]> RMStats -c
PLC may freeze for milliseconds. Are you sure ? (Y,n)
Y
Memory block check ok

SLineBus

Permette di eseguire comandi sui moduli connessi al bus di estensione.

AUG Comando Descrizione
SLineBus -di MdVisualizza stato ingressi digitali del modulo Md indicato
SLineBus -do Md ValueImposta il valore Value sulle uscite digitali del modulo Md indicato
SLineBus -rd Md Add NrEsegue lettura di Nr bytes dalla memoria del modulo Md indicato a partire dall’indirizzo Add definito
SLineBus -wr Md Add ValueEsegue scrittura di Value nella memoria del modulo Md indicato all’indirizzo Add definito
Esempi

Visualizzo stato ingressi digitali del modulo di estensione con indirizzo 1.

[Admin]> SLineBus -di 1
Module:1 input:7 [0x0007]

Imposto il valore 0xA3 sulle uscite ditali del modulo di estensione con indirizzo 1.

[Admin]> SLineBus -do 1 A3
Module:1 output:163 [0x00A3]

Eseguo lettura memoria ad indirizzo 0x1C dal modulo di estensione con indirizzo 1.

[Admin]> SLineBus -rd 1 1C 3
0x0000001C: 3A CD 12

Eseguo scrittura dei valori 0x03 e 0xCA nella memoria all’indirizzo 0x1C del modulo di estensione con indirizzo 1.

[Admin]> SLineBus -wr 1 1C 3CA
2 byte(s) at address 0x1C on module 1 written

SLineInfos

Permette di ritornare le informazioni sullo stato del bus di estensione.

AUG Comando Descrizione
SLineInfosVisualizza informazioni sui moduli connessi al bus di estensione
SLineInfos -asVisualizza elenco moduli connessi al bus di estensione
SLineInfos -miVisualizza elenco comandi gestiti dai moduli connessi al bus di estensione
Esempi

Visualizzo informazioni moduli connessi al bus di estensione. Nella stringa accanto all’indirizzo del modulo sono riportati:
Pcode: Codice hardware del modulo
Scode: Codice software presente sul modulo
Sn: Codice seriale modulo

[Admin]> SLineInfos
[0x0] PCode:PCB122B100, SCode:SFW170B000, Sn:0

Visualizzo elenco moduli connessi al bus di estensione.

[Admin]> SLineInfos -as
[0x20] Found
Found:1 address(es) busy

Visualizzo elenco comandi gestiti dai moduli connessi al bus di estensione . Per ogni modulo sono ritornate due righe di informazione, nella prima riga:
Tx: Numero di pacchetti dati scambiati
Rr: Numero di ritrasmissioni efettuate
Tm (Max, Min): Tempo di scambio pacchetto dati in uS
DiagRegs: Valore dei registri diagnostici del modulo
Nella seconda riga è ritornato l’elenco dei comandi gestiti dal modulo, i comandi possibili sono 256 ogni comando gestito è indicato dal bit settato (256 bit => 32 bytes).

[Admin]> slineinfos -mi
[0x0] Tx:55, Rr:0, TmMax:715, TmMin:276, [DiagRegs: 1, 0, 0, 0]
[0x0] 1F037D0064640000400000000303000000000000000000000707000000000000
Found:1 module(s) connected

SpyData

Visualizza le informazioni di spionaggio, vedi articolo. Per interrompre visualizzazione inviare comando Ctrl-C. Il parametro -v permette di scegliere il formato del valore di tempo.

  • -v 0: [14:38:34.475578] Formato di default, ora, minuti, secondi e microsecondi assoluti.
  • -v 1: [2.870670] Secondi e microsecondi assoluti.
  • -v 2: [5.678] Secondi e millisecondi assoluti.
  • -v 3: [14:42:22( 379)] Ora, minuti, secondi assoluti, tra parentesi il tempo trascorso in mS dall’evento precedente.
AUG Comando Descrizione
SpyDataVisualizza tutte le informazioni disponibili
SpyData -t ValueVisualizza le informazioni che hanno il relativo bit di trigger definito
SpyData -s Value Visualizza tutte le informazioni disponibili dimensionando il buffer di spionaggio alla dimensione definita
SpyData -v ValueVisualizza le informazioni con diversi riferimenti di tempo
Esempi

Abilito lo spionaggio la dimensione del buffer di default è 1Kb. Per il significato dei dati visualizzati occorre riferirsi alla documentazione relativa alla funzione o FB che si stà spiando.

[Admin]> SpyData
Spy data active, type "Ctrl-C" to exit...
10:42:49.690736| HTTPClient:Tx|[263] POST //CloudLogger/CloudLogger.php HTTP/1.1[0D][0A
10:42:49.762397| HTTPClient:Rx|[17] HTTP/1.1 200 OK[0D][0A]

Abilito lo spionaggio dei dati che hanno i bits di trigger 0 e 28 attivi.

[Admin] SpyData -t 10000001
Spy data active, type "Ctrl-C" to exit...
10:47:28.491272| HTTPClient:Pi|Page length: 13 Page load time: 0.113 (S)
10:47:28.650590| HTTPClient:Pi|Page length: 2266 Page load time: 0.061 (S)

Abilito lo spionaggio dei dati che hanno i bits di trigger 0 e 28 attivi settando dimensione buffer a 4Kb.

[Admin]> SpyData -t 10000001 -s 4096
Spy data active, type "Ctrl-C" to exit...
10:51:09.908608| HTTPClient:Pi|Page length: 13 Page load time: 0.104 (S)
10:51:13.511520| HTTPClient:Pi|Page length: 2266 Page load time: 0.060 (S)

Abilito lo spionaggio settando dimensione di buffer a 4Kb visualizzando il tempo trascorso tra gli eventi.

SpyData -s 4000 -v 3
Spy data active, type "Ctrl-C" to exit...
00:14:23(   0)|ModbusSlave:Rx|03 0D 00 00 00 06 01 03 9C 40 00 0A
00:14:23(   2)|ModbusSlave:Tx|03 0D 00 00 00 17 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00:14:24(1038)|ModbusSlave:Rx|03 0E 00 00 00 06 01 03 9C 40 00 0A
00:14:24(   2)|ModbusSlave:Tx|03 0E 00 00 00 17 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

SysConfig

Visualizza il valore della configurazione di sistema.

AUG Comando Descrizione
SysConfigVisualizza tutte le informazioni disponibili
SysConfig -cc ValueImposta il Customer Code
SysConfig -dname NameImposta il nome al dispositivo
SysConfig -wi 0/10:Disabilita, 1:Abilita il server HTTP di gestione interfaccia web
SysConfig -pc x ValueImposta il protection code indicato con il valore definito
SysConfig -tka ValueImposta tempo di trasmissione keepalive (In secondi) sulle connessioni TCP
Esempi

Visualizzo i dati di configurazione sistema.

[Admin]> Sysconfig
Device name:........ SlimLine Cortex M7
Product code:....... MPS054A110
Serial Nr:.......... 1
Unique ID:.......... 10878977
HSC:................ E2362174
Product option:..... 1
Manufacturer code:.. 0
Customer code:...... 0
Telnet interface:... Enabled
FTP interface:...... Enabled
Web interface:...... Enabled
TCP keep alive time: 0
Prot.Code #0 :...... 
Prot.Code #1 :...... 
Prot.Code #2 :...... 
Prot.Code #3 :...... 

Imposto il Customer Code a 1234, per salvarlo nella configurazione occorre eseguire il comando CfgCommit seguito dal comando Reboot.

[Admin]> sysconfig -cc 1234
Use "cfgcommit" and "reboot" commands to apply settings

Imposto come nome del dispositivo “Office clima“, per salvarlo nella configurazione occorre eseguire il comando CfgCommit seguito dal comando Reboot.

[Admin]> sysconfig -dname Office clima
Use "cfgcommit" and "reboot" commands to apply settings

Imposto la chiave di protezione definita nella posizione 0, per salvarlo nella configurazione occorre eseguire il comando CfgCommit seguito dal comando Reboot.

[Admin]> SysConfig -pc 0 h**imp*xec*va*s**ijh
Use "cfgcommit" and "reboot" commands to apply settings

Imposta il tempo di invio pacchetto di keepalive a 60 secondi su tutte le connessioni TCP, per salvarlo nella configurazione occorre eseguire il comando CfgCommit seguito dal comando Reboot.

[Admin]> SysConfig -tka 60
Use "cfgcommit" and "reboot" commands to apply settings

SysLog

Visualizza l’elenco delle voci di log di sistema.

AUG Comando Descrizione
SysLogVisualizzazione completa dei logs di sistema, warnings, errori eventi
SysLog -aVisualizzazione di tutti i logs anche quelli già visualizzati
SysLog -rt Value Impostazione tempo (In mS) nel quale i logs dello stesso tipo e codice venngono sovrascitti
Esempi

Visualizzo elenco logs di sistema.

Admin]> Syslog
[07/10/2021 09:46:30.891] [L] SFW198[ 5062] Unit 'C' check ok [0.19 Sec]
[07/10/2021 09:46:30.957] [L] SFR050[ 1000] System power on
[07/10/2021 09:46:30.957] [L] SFW198[ 5005] Starting Op. System SFW198D10_
[07/10/2021 09:46:32.068] [L] SFW198[ 5053] Unit 'D' mounted ELS_FAT_32
[07/10/2021 09:46:32.477] [L] SFW198[ 5063] Unit 'D' check ok [07/10/2021 09:46:36.192] [L] SFW198[ 6000] Run ApplID:0x015D5DE0

Eseguo impostazione tempo di sovrascittura logs a 1 secondo. Per ridurne il numero i logs dello lo stesso tipo e codice generati nel tempo definito sono sovrascritti. Di default il tempo è impostato a 30 secondi, impostando 0 tutti i logs sono riportati.

[Admin]> SysLog -rt 1000
Use "cfgcommit" command to save settings

SysStats

Visualizza statistiche di funzionamento del sistema.

AUG Comando Descrizione
SysStatsVisualizza statistiche di funzionamento del sistema
SysLog -aVisualizzazione di tutti i logs anche quelli già visualizzati
Esempi
[Admin]> sysstats
-----------------------------------------------------------[System statistics]--
System:............. MPS054A110, Serial: 94
Firmware:........... SFW198D10_
Bootloader:......... SFW200A200
Hour meter:......... 24800:51
System on:.......... Thursday, 07/10/2021 10:01:31
System on since:.... 0 Days, 0 Hours, 4 Min, 0 Sec
System loop time:... 0.363 [0.049 <> 474.961](mSec)
-----------------------------------------------------------------[Other infos]--
PLC resources:...... 0
PMalloc stack:...... Used:104, Free:3992
RMalloc stack:...... Used:4756, Free:31244
------------------------------------------------------------------[PLC status]--
Plc in run
--------------------------------------------------------------[PLC statistics]--
Started on:......... Thursday, 07/10/2021 12:01:35
On since:........... 0 Days, 0 Hours, 3 Min, 56 Sec
-------------------------------------------------------------[Task loop times]--
PlcFast:............ 1.000 (mSec)
PlcSlow:............ 10.000 (mSec)
PlcBack:............ 0.366 [0.204 <> 125.802](mSec)
--------------------------------------------------------[Task execution times]--
PlcBoot:............ 0.026 [0.026 <> 0.026](mSec)
PlcFast:............ 0.005 [0.004 <> 0.007](mSec)
PlcSlow:............ 0.017 [0.005 <> 0.019](mSec)
PlcBack:............ 0.040 [0.016 <> 6.777](mSec)

Update

Permette di gestire le operazioni di backup e restore del programma PLC (Vedi articolo) e di eseguire l’aggiornamento del firmware (Vedi articolo).

AUG Comando Descrizione
Update -mk Opt FileCrea File di backup inserendo gli elementi definiti nel campo Opt
Update FileEsegue il restore degli elementi presenti in File
Esempi

Backup nel file D:\File.upl del programma PLC, includendo bootloader e firmware da cui dipende.

[Admin]> Update -mk e D:\File.upl
--------------------------------------------------
Bootloader saving

Name:SFW200A200
Start address:0x00400000
End address:0x0040FBA3
Length:64420

Eseguo il restore dal file D:\File.upl sono aggiornati tutti gli elementi inclusi cancellando i dati retain ed il programma sorgente.

[Admin]> Update D:/Firmware.upl
--------------------------------------------------
Step 1: Upl file validity check
--------------------------------------------------
.Bootloader SFW200A200 is ok!
.Firmware SFW198D090 is ok!
All files inside D:/Firmware.upl are ok!

UserConfig

Permette di configurare le credenziali di accesso degli utenti. Il nome utente e la password possono avere lunghezza massima di 10 caratteri. La gestione degli utenti si basa su 3 livelli di credenziali riportati in ordine decrescente di importanza.

Admin: Amministratore del sistema
User: Utente del sistema
Guest: Ospite

L’utente loggandosi come amministratore (Default utente Admin password Admin) potrà operare sulle credenziali degli utenti creando altri utenti ed assegnando loro il relativo livello di accesso. Ogni utente può definire o rimuovere altri utenti ma solo nell’ambito del proprio livello o dei livelli inferiori al proprio.

AUG Comando Descrizione
UserConfigVisualizza gli username assegnati ai 3 livelli di accesso.
UserConfig -a MyName MyPsw AdminDefinisce il nuovo utente MyName con password MyPsw e gli assegna le credenziali di amministratore.
UserConfig -r MyName MyPsw Rimuove l’utente MyName con password MyPsw.
UserConfig -l NewUsernameSostituisce il nome dell’utente attuale con il nuovo nome.
UserConfig -p NewPasswordSostituisce la password dell’utente attuale con la nuova password.
Esempi

Visualizzo gli utenti configurati, di default vi è un solo utente amministratore.

[Admin]> UserConfig
Administrator:...... Admin

Definisco il nuovo utente MyName con passord MyPsw e gli assegno i diritti di Admin amministratore.

[Admin]> UserConfig -a MyName MyPsw Admin
Use "cfgcommit" and "reboot" commands to apply settings

Definisco il nuovo utente UserName con passord UserPsw e gli assegno i diritti di User utente.

[Admin]> UserConfig -a UserName UserPsw User
Use "cfgcommit" and "reboot" commands to apply settings

Dopo avere definito i nuovi utenti visualizzo gli utenti configurati.

[Admin]> UserConfig
Administrator:...... Admin
Administrator:...... MyName
User:............... UserName

Sostituisco il nome dell’utente attuale.

[Admin]> UserConfig -l NewAdmin
Use "cfgcommit" and "reboot" commands to apply settings

Sostituisco la password dell’utente attuale.

[Admin]> UserConfig -p NewPasswd
Use "cfgcommit" and "reboot" commands to apply settings
Was this article helpful?