Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumUtilizzando il software PD Trigger su di un PC in rete è possibile gestire direttamente dal PC l’invio di SMS connettendo allo stesso un modem GSM, oppure gestire l’invio di Email su server SMTP che richiedono crittografia come GMail (Vedi post).
Dicembre 31, 2012 alle 1:39 pm in risposta a: Gestione azioni da dispostivi HWgroup con PD Trigger #37515Sergio Bertana
Amministratore del forumVediamo come effettuare l’invio di una Email su superamento di un determinato valore di temperatura controllato da un termometro IP. Il termometro IP gestisce l’invio di una Email su soglia di temperatura, ma come si vede in questo post non gestisce la crittografia e quindi non possono essere utilizzati come server di posta servizi pubblici come ad esempio GMail. L’utilizzo del PD Trigger soluziona questo problema in quanto non sarà più il termometro ad inviare l’Email ma il PD Trigger che gestisce la crittografia TLS. Per la gestione del controllo è possibile operare in due modi:
a) Impostare le soglie di temperatura nella pagina web del termometro e gestire l’invio di una trap SNP verso il software PD Trigger il quale ricevuta la trap provvederà all’invio della Mail.
b) Impostare il valore di soglia superato il quale viene inviata la Mail. In questo modo il software PD Trigger acquisisce ad intervalli regolari il valore di temperatura dal termometro e ne controlla il valore.
In questo esempio opteremo per il secondo metodo in quanto rispettto al primo ha il vantaggio che in caso di spegnimento/sconnessione del termometro dalla rete si ha comunque una segnalazione di errore mentre la trap non verrebbe più ricevuta. Dal pannello di gestione del PD Trigger con il tasto Add New Rule è possibile inserire una nuova regola (Fino a 5 nella versione gratuita), nella finestra di definizione regola è possibile impostarne le condizioni. Scegliendo Sensor Value Watchdog viene eseguita la lettura del sensore indicato dall’indirizzo IP impostato. Ricordo che il termometro IP può gestire 2 sensori quindi per controllarli entrambi occorrerà definire due regole.
Nella regola di esempio se la temperatura acquisista supera i 24 gradi dopo 15 secondi viene inviata una Email, come server SMTP viene utilizzato GMail (Parametri di connessione). Nel testo della mail oltre al proprio testo è possibile inserire macrodefinizioni che saranno sostituite con il relativo valore, nell’esempio riporto il reale valore di temperatura (Screenshot).
Sergio Bertana
Amministratore del forumRiporto i risultati di un test eseguito con Skebby, registrandosi al sito è possibile avere 10 SMS gratuiti di prova con cui iniziare a testare il servizio. Per inviare SMS dal vostro STE occorre configurare il servizio Email to SMS che permette di inviare e ricevere SMS da un qualsiasi programma di posta elettronica.
Accedendo a Skebby nel menù Impostazioni -> Email to SMS è possibile definire gli indirizzi del mittente da cui è abilitato l’invio di SMS (Screenshot), in pratica solo le Email ricevute dai mittenti configurati verranno inoltrate come SMS. Riporto un estratto del Manuale di utilizzo Email to SMS di Skebby.
Sul dispositivo STE occorre configurare l’accesso al server SMTP di inoltro Email, solitamente ci si appoggia ad un server interno all’azienda il quale poi inoltrerà la mail verso il server di Skebby. Ricordo che STE non gestisce la crittografia SSL quindi non è possibile connettersi a server SMTP pubblici (Esempio GMail).
Ecco un esempio di configurazione utilizzata durante la mia prova, come si vede il server SMTP utilizzato è un nostro server aziendale senza auenticazione (Screenshot).
Dicembre 27, 2012 alle 1:44 pm in risposta a: Informazioni sulla configurazione dispositivo Ares #37513Sergio Bertana
Amministratore del forumNel TAB SMS (Screenshot) è possibile impostare i 5 numeri di telefono a cui verrà inviato l’SMS in caso di allarme, accanto ad ogni numero vi è un tick che permette se attivo di fare seguire all’invio dell’SMS anche una chiamata di avvertimento.
Agendo sul tasto Send Test SMS viene inviato l’SMS ai numeri indicati, contemporaneamente appare una finestra di pop up con il report delle operazioni eseguite. Questo permette di eseguire un troubleshooting dell’invio.
Nel TAB Email (Screenshot) è possibile impostare i 5 indirizzi Email a cui verrà inviato il messaggio in caso di allarme. Attenzione, alcuni server di posta (Esempio GMail) accettano solo connessioni sicure, in questo caso Ares provvede alla gestione della crittografia TLS. Per l’impostazione del server GMail definire porta 587 e crittografia STARTTLS.
Agendo sul tasto Send Test Email viene inviata l’Email agli indirizzi indicati, contemporaneamente appare una finestra di pop up con il report delle operazioni eseguite. Questo permette di eseguire un troubleshooting dell’invio. Ecco la stampa della mail ricevuta su allarme, allegato alla Email un file xlm con i valori riportati nella Email.
Dicembre 27, 2012 alle 11:39 am in risposta a: Informazioni sulla configurazione dispositivo Ares #37512Sergio Bertana
Amministratore del forumNel TAB Sensors (Screenshot) è possibile configurare i vari sensori connessi al dispositivo, il tasto Find Sensors permette di riconoscere tutti i sensori 1-Wire connessi (Ricordo che il sensore combinato umidità e temperatura equivale a 2 sensori). E’ comunque sempre presente il Battery Monitor che indica la carica della batteria interna al dispositivo.
E’ possibile definire i parametri di funzionamento per ogni sensore e se deve inviare SMS od Email. Con un menù a tendina è possibile impostare il Template dell’SMS e dell’Email inviata. Nei TABs SMS Template ed Email Template è possibile impostare la struttura dei messaggi inviati, è possibile definire 4 diverse strutture di messaggi sia per l’SMS che per l’Email. Nella struttura del messaggio inviato è possibile definire delle macro che indicano variabili il cui valore sarà sostituito all’interno del messaggio stesso.
Esempio la macro %SRC_NAME% nel messaggio verrà sostituita con il nome del sensore definito in Name, mentre la macro %SRC_VALUE% verrà sostituita con il valore e così di seguito (Elenco macro).
Dicembre 27, 2012 alle 9:47 am in risposta a: Invio allarme SMS ed Email su soglia temperatura #37507Sergio Bertana
Amministratore del forumSi certo il prodotto scelto fà quello che tu necessiti, al dispositivo Ares12 è possibile connettere al massimo 3 sensori 1-Wire scegliendo tra la gamma di sensori disponibili. Nella richiesta tu hai citato HWg-Ares12 set mentre sul nostro sito puoi trovare a stock solo HWg-Ares12 bulk (Si tratta del solo prodotto Ares12 senza accessori come HWg-Ares12 plain ma con in aggiunta la staffa di fissaggio a parete).
Dicembre 19, 2012 alle 2:04 pm in risposta a: Notizie, informazioni, programmi protocollo Modbus #37506Sergio Bertana
Amministratore del forumPer semplificare il test allego tre stringhe nei tre diversi tipi di protocollo modbus con sottofunzione diagnostica 00 Return Query Data, ed indirizzo di nodo 0xFF. Inviando la stringa con un emulatore terminale esempio Toolly ad un sistema con protocollo modbus (Esempio un modulo CPU SlimLine) è possibile testare la funzionalità della comunicazione.
Modubus Ascii: FF0800001234B3$0D$0A
Modbus RTU: $FF$08$00$00$12$34$F8$A2
Modbus over IP: $01$23$00$00$00$06$FF$08$00$00$12$34Come si vede tutti i frames eseguono l’echo del dato 1234, il formato ascii ha un byte di LRC, il formato RTU ha 2 bytes di CRC, il formato Over IP viene preceduto da un header di 6 bytes (Screenshot esecuzione Toolly).
Dicembre 19, 2012 alle 1:48 pm in risposta a: Notizie, informazioni, programmi protocollo Modbus #37505Sergio Bertana
Amministratore del forumMolte volte capita di dover eseguire un semplice test di comunicazione per verificare se il sistema risponde alle interrogazioni modbus. Il protocollo mette a disposizione un apposito comando diagnostico (Function 08 Diagnostic) che facilita il test. Il comando prevede due byte di codice sottofunzione per definire il tipo di diagnostico da eseguire. Il comando modbus diagnostico si compone di 6 bytes seguiti da Error check con il seguente significato:
<Slave Address><Function><Subfunction Hi><Subfunction Lo><Data Hi><Data Lo><Error Check (LRC or CRC)>Slave Address: Indirizzo di nodo (0xFF broadcast)
Function: Codice funzione (0x08 Diagnostic)
Subfunction (Hi, Lo): Sottofunzione
Data (Hi, Lo): Dato comandoIl comando deve terminare con il campo di controllo LRC o CRC in base al tipo di modbus (Ascii o RTU), nel caso di modbus Over IP non vi è alcun campo di controllo (Gestito dal protocollo TCP/IP).
Sergio Bertana
Amministratore del forumThe answer is yes, it’s possible to use the serial lines to manage the bar code reader. As you can see in many posts of this forums, by using the ST language you can develop programs that manage serial strings. The SlimLine ARM7 CPU module doesn’t have a USB host connector, so it’s possible to connect only serial devices.
The function Sysfopen, file open, allow to open the serial port as a data stream, use is: Fp:=Sysfopen(‘COM0’, ‘rw’);
The function Sysfgetc, get character from file, receives the character from the serial line, use is: Ch:=Sysfgetc(Fp);
The function SysVarsscanf, extracts values from string, extracts values from the received string, use is: i:=SysVarsscanf(ADR(InputString), ‘Value:%d’, UDINT_TYPE, ADR(Variable));Many other functions and FBs allow to manipulate the received data, and to create the command frame to be sent out. All the informations about functions and FBs availablecan be reached in the SlimLine system IEC61131-3 programming manual.
Please refer to these post for more information and program examples (Post a,
Post b).Dicembre 12, 2012 alle 11:07 am in risposta a: Sviluppare un semplice protocollo di comunicazione #37503Sergio Bertana
Amministratore del forumSe l’implementazione del protocolo modbus sul PC fosse complessa ho pensato di realizzare un semplice blocco funzione EasyProtocol che gestisce lo scambio bidirezionale verso il PC. In pratica l’FB gestisce la ricezione di una stringa binaria di 4 bytes del tipo <STX><DOHigh><DOLow><LRC> e se corretta aggiorna lo stato delle uscite e trasmette una stringa binaria del tipo <STX><DIHigh><DILow><LRC>.
STX: Start of text (16#02)
DIHigh – DILow: Stato dei 16 ingressi digitali
DOHigh – DOLow: Stato delle 16 uscite digitali
LRC: Longitudinal redundancy check (Vedi Wikipedia)L’uso di un LRC di controllo secondo me è essenziale per garantire la correttezza dei dati ricevuti specie su connessioni seriali. Naturalmente avendo scelto di utilizzare un protocollo binario al posto di uno ascii (Così ho dimezzato il numero di bytes da inviare) pone il problema della univocità del carattere si <STX>, nel campo dati potrebbero esserci valori che posono essere uguali a 16#02.
Per ovviare a questo inconveniente ho eseguito un padding dei dati, in pratica se uno dei dati assume valore 16#02 viene inviato prima il dato 16#FF e poi il dato invertito (Diventa <FF><FD>). Usando il dato 16#FF come padding è evidente che anche alla trasmissione del dato 16#FF deve essere aggiunto il padding (Diventa <FF><00>).
Allego stampa e programma sorgente LogicLab, dove viene utilizzata per la comunicazione la porta seriale COM0, basterà modificare la definizione dello stream sulla funzione Sysfopen per poter utilizzare un’altra porta COM e/o un socket TCP/IP.
Inviando la stringa binaria 02 01 03 FA, si attiveranno le uscite Do00M00, Do01M00, Do08M00, e verrà ricevuta la stringa con lo stato degli ingressi logici così come si evince dallo screenshot del programma Toolly. Da notare la stringa 02 01 FF FD FB, che attiva le uscite Do01M00, Do08M00 (Essendo il dato output low 16#02 viene fatto il padding e diventa FF FD).
Nella finestra di ricezione sono visualizzate 4 stringhe ricevute, nella prima nessun ingresso logico è attivo, nella seconda è attivo Di00M00, nella terza attivi Di00M00 e Di01M00, nella quarta attivi Di00M00, Di01M00 e Di08M00.
Dicembre 12, 2012 alle 11:03 am in risposta a: Sviluppare un semplice protocollo di comunicazione #37502Sergio Bertana
Amministratore del forumTutti i moduli CPU SlimLine gestiscono il protocollo Modbus ascii ed RTU su porta seriale ed over IP su connessione TCP/IP, in modo nativo. Il modo più semplice è quindi di gestire la comunicazione da PC utilizzando il protocollo modbus, con modbus è possibile leggere e scrivere registri nella memoria del modulo CPU. Il programma PLC eseguirà il semplice trasferimento degli ingressi digitali sui registri modbus letti ed il trasferimento dei registri modbus scritti sulle uscite digitali.
Ho realizzato un semplice programma DIOManage che con un programma FBD trasferisce 16 ingressi digitali nella WORD di memoria DInputs (Allocata a MX100.16) e trasferisce il valore della WORD DOutput (Allocata a MX100.18) su 16 uscite digitali. E’ possibile modificare il programma per gestire più registri di I/O, stampa e download programma.
Per accedere da modbus alla DB100 dove sono presenti i registri da gestire occorre definire indirizzo modbus 40000 seguito dall’indirizzo del registro da leggere (Nel caso di variabili WORD l’indirizzo deve essere diviso per 2). Quindi accedendo da modbus in lettura (Comando modbus 03 Read holding registers al registro 40008) sarà possibile leggere lo stato dei 16 ingressi digitali. Accedendo da modbus in scrittura (Comando modbus 10 Preset multiple registers al registro 40009) sarà possibile impostare lo stato delle 16 uscite digitali.
Sergio Bertana
Amministratore del forumPremesso che non ho ben compreso dove nel tuo schema applicativo vuoi collocare il terminale Weintek, ma seguendo la tua richiesta mi pare di capire che tu hai due dispositivi che agiscono come modbus master, e li vuoi fare dialogare entrambi con un terminale Weintek.
Come si evince da questo post i terminali Weintek possono operare sia in modalità master che in modalità slave. Quindi basterà configurare il terminale in modalità slave definendo due connessioni su due diverse porte seriali (Se la connessione è modbus RTU o ascii) oppure su due porte TCP/IP (Se la connessione è modbus over IP) vedi post.
Dicembre 6, 2012 alle 4:45 pm in risposta a: I can’t connect by serial line to SlimLine CPU module #37499Sergio Bertana
Amministratore del forumIf the user program uses all the COMs serial lines of the SlimLine CPU module, the modbus RTU server available on them it’s stopped, and obviously the LogicLab cannot connect to it. To solve the problem, you must delete the program loaded on the CPU module, to do this you have to use the Toolly utility.
With the CPU module switched off, connect the COM0 serial port of the module with a PC COM port using the programming cable (CBL054*000 and CBL057**00).
Execute Toolly, and activate the SlimLine CPU Catch procedure (See screenshot). Select the COM port of the PC on which is connected the SlimLine. By pressing the Catch button, on the screen will appear a message like:
Please follow these instructions:
1) Switch OFF the device
2) Switch ON the deviceSwitch on the CPU Module, after a short time on the Toolly screen, the message Device catched! will be displayed.
Open the Toolly terminal emulation procedure. Select the COM port of the PC on which is connected the SlimLine. Now it’s possible to login to the CPU module, press Enter on the terminal screen, the login prompt will appear (The default credentials for the Administrator are Login:Admin Password:Admin).
When are you logged in, use the PLCCommand -pc command to completely delete the user program (See screenshot). For a complete list of available commands please refer to the SlimLine CPU’s Telnet commands reference manual.
Now you can restart the SlimLine CPU module and connect to it the LogicLab program.
Sergio Bertana
Amministratore del forumLe operazioni per trasferire il programma sorgente sul target (Modulo CPU SlimLine) sono riportate in questo post. Ricordo che per i moduli CPU SlimLine ARM7 per trasferire il programma sorgente sul target occorre avere inserito una memoria SD Card nell’apposito Slot micro-SD.
Inoltre il codice sorgente può essere protetto da password ed in tal caso l’operazione di upload è possibile s olo se si conosce la password di protezione.
Dicembre 4, 2012 alle 7:33 am in risposta a: Interconnessione tra due I/O controllers su rete ethernet #37497Sergio Bertana
Amministratore del forumNon mi indichi il prodotto a cui ti riferisci, ma credo si tratti del nuovo I/O Controller II, in effetti nel manuale utente non sono riportate in modo chiaro le connessioni degli I/O. Ho avvertito il fornitore che provvederà a modificare il manuale, nel frattempo riporto le indicazioni di connessione che si possono evincere dal manuale dell’I/O controller PL di cui riporto estratto.
Gli ingressi sono optoisolati, ed hanno il comune negativo sul pin I.GND, mentre con il positivo (Da 5 a 20 Volt) è possibile attivare l’ingresso.
Le uscite sono Open-Collector, hanno il comune su GND ed ogni uscita chiude verso il comune, quindi il carico da comandare và posto in serie tra l’uscita ed il positivo. Sulle uscite vi è un diodo di protezione, tutti i diodi fanno capo al morsetto O.COM.
-
AutorePost