Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumPer il mercato OEM abbiamo la possibilità di fornire i moduli CPU della serie SlimLine senza il contenitore (Vedi pagina), lo stesso dicasi per i moduli di I/O sia digitali che analogici.
In merito alla possibilità di implementare più funzioni nei moduli di espansione I/O sia statici che relè, stiamo valutando la possibilità di offrire un package da installare sui moduli per estenderne le potenzialità. Tutti i nostri moduli sono basati su di un hardware programmabile FPGA (Field Programmable Gate Array), modificando il componente attualmente utilizzato è possibile scalare le prestazioni aggiungendo funzioni.
Uscirà a breve (Verrà inviata una news) un nuovo codice di scheda che gestisce l’implementazione di programmi specifici per gestire sullo stesso hardware nuove funzioni (Fermo restando il numero di I/O attuali).
Ad un costo di poco superiore all’attuale sarà possibile gestire più funzioni complesse come encoders, counters, ecc. Trattandosi di un circuito programmabile è anche possibile implementare funzioni particolari su richiesta del cliente da gestire interamente in hardware. Questo permette di realizzare controlli real time con tempi di gestione di pochi nanosecondi.
Questo package potrà sicuramente gestire più encoders (Sicuramente 2 come nel tuo caso) ed eventualmente anche dei counters e/o altre funzioni che ti potessero necessitare.
Gennaio 26, 2015 alle 2:43 pm in risposta a: Configurazione convertitore ethernet/seriale ATC-3000 #38690Sergio Bertana
Amministratore del forumRiportare il convertitore alle impostazioni di Factory Default
Dalla pagina web del convertitore tramite il menù Load Default è possibile riportare il convetitore alle impostazioni di factory default.Se si dimentica la configurazione effettuata sul modulo (Quindi anche il suo indirizzo IP) è possibile rimetterlo nella sua configurazione di default (Con indirizzo IP 192.168.0.250) seguendo queste note. Aprire il modulo (Togliendo le due viti laterali), all’interno si trova un pulsante di reset (Dietro al connettore Ethernet):
a) Alimentare il modulo.
b) Premere il pulsante e tenerlo premuto fino allo spegnimento dei LED Link, Speed, ACT (Circa 5 Secondi).
c) Rilasciare il pulsante.Gennaio 26, 2015 alle 1:26 pm in risposta a: Convertitore Ethernet-Seriale con sistema Coster #38689Sergio Bertana
Amministratore del forumNon avendo ben compreso la tua necessità, aggiungo che se invece tu da programma SWC701 come client apri la connessione verso il convertitore (Impostato come server) e poi lasci la connessione aperta senza avere alcun transito di dati, per evitare che il convertitore chiuda in automatico la connessione devi impostare Inactivity Timeout=0:00.
Gennaio 26, 2015 alle 11:42 am in risposta a: Convertitore Ethernet-Seriale con sistema Coster #38688Sergio Bertana
Amministratore del forumAvendo definito il parametro Acception Incoming a Yes il convertitore è settato come TCP server, in pratica è in attesa che sulla porta 10001 arrivi una connessione TCP da un sistema client. Quando accedi da locale avrai configurato il programma SWC701 per connettersi a questa porta, mentre per accedere da remoto avrai eseguito un port forwarding sul tuo router da una porta pubblica verso questa porta ed il programma SWC701 si connetterà alla porta pubblica.
Aprendo la connessione si crea il socket TCP/IP ed i dati viaggiano in entrambe le direzioni, i dati inviati dal software usciranno dalla porta seriale e viceversa. In effetti tu mi confermi che in questo modo il dialogo funziona correttamente.
Non comprendo bene il tuo problema, sembra che la tua necessità sia fare in modo che sulla ricezione di una stringa seriale di allarme il convertitore si connetta ad un IP/DNS e invii la stringa ricevuta. Se è così certo che non puoi ottenere questo in modalità server, devi configurare la modalità client.
Modalità Client:
Acception Incoming=No, Remote Host e Remote Port indirizzo IP e porta del tuo server in ascolto (Il programma che gestisce i messaggi di errore), Active Connect=With Any Character, Use Hostlist=No. Ma se setta questa modalità non potrai più gestire la programmazione, quindi se vuoi usare entrambe le possibilità dovrai accedere alla pagina web del convertitore è scambiare il modo di funzionamento.Sergio Bertana
Amministratore del forumCerto tramite il protrocollo Modbus puoi leggere sia numeri a 32 bits DINT e UDINT che numeri REAL. Naturalmente dovrai leggere due registri modbus a 16 bit per ogni numero con il comando Modbus Read Holding Registers (16#03).
Ti ricordo che siccome il protocollo Modbus non indica l’endianness dei dati a 32 bits dovrai stare attento alla compatibilità con l’endianness del stuo sistema eventualmente eseguendo uno swap MSB/LSB dei due registri a 16 bits letti/scritti con Modbus. Questo topic tratta l’endianness dei sistemi SlimLine.
In questo topic è trattato il formato IEEE-754 utilizzato per la rappresentazione dei numeri REAL nei sistemi SlimLine.
Sergio Bertana
Amministratore del forumSi come puoi vedere da questo topic i sockets disponibili per il protocollo Modbus (Standard sulla porta 502) sono 3. Quindi puoi avere 3 connessioni Modbus TCP/IP contemporanee.
Ti ricordo che l’ambiente di sviluppo LogicLab si connette in Modbus TCP/IP con il modulo CPU e quindi se vuoi connetterti con LogicLab devi lasciare una delle connessioni libera.
Gennaio 23, 2015 alle 1:30 pm in risposta a: Informazioni su uscita DC OK alimentatori MeanWell #38683Sergio Bertana
Amministratore del forumGli alimentatori MeanWell serie MDR hanno una uscita indicata come “DC OK”, questa uscita è un’indicazione che l’alimentazione è regolata entro limiti prefissati. Se attiva indica che la tensione in uscita dall’alimentatore è corretta, può essere utilizzata per la connessione a sistemi di allarme esterni e/o sistemi di monitoraggio.Come si vede nel datasheet (Vedi estratto) l’uscita è un valore in tensione che varia in funzione della tensione di uscita dell’alimentatore. Nel tuo caso che hai un alimentatore da 24Vdc il valore della tensione in uscita può variare da 18~27V con una corrente massima di 20mA. Naturalmente è una tensione positiva riferita al polo – dell’alimentatore.Come vedi dall’estratto puoi collegare a questa uscita un diodo LED o un relè di segnalazione, o puoi alimentare l’ingresso di un PLC.
Sergio Bertana
Amministratore del forumIl modbus slave nativo gestito dal sistema operativo opera sulla memoria della DB 100, pui accedere da Modbus con indirizzi a partire da 40000. Ti consiglio di leggere attentamente il capitolo relativo al protocollo Modbus sul Manuale programmazione IEC61131-3.
Se invece non utilizzi il modbus slave nativo e vuoi implementare una tua gestione modbus slave puoi realizzare un tuo programma con il FB ModbusSlave. In questo caso il range di indirizzi Modbus e l’area di memoria su cui i comandi operano lo decidi parametrizzando opportunamente il FB.
Stessa cosa vale per il FB UDPDataTxfer in cui è gestito lo scambio di una area di memoria definita nella parametrizzazione del FB.
Sergio Bertana
Amministratore del forumPer farlo devi utilizzare le macro. Per il layout ad esempio puoi partire da una delle tastiere standard del programma (Esempio quella in pagina 50), selezioni e copi tutti gli oggetti e li incolli in una tua pagina (Esempio pagina 10) (Screenshot).
La tastiera è composta da un disegno di sfondo e da oggetti pulsanti, sostituisci tutti i pulsanti con oggetti Imposta Bit. Ecco l’esempio del tasto 7 (Screenshot). Come vedi ho scelto di settare sui vari tasti un bit diverso tasto per tasto (LB 7 per il tasto 7). Sulla pressione tasto eseguo la macro che controllerà quale bit è attivo determinando quale tasto è premuto.
Ecco la parte di macro che gestisce il data entry sul display, ad ogni tasto premuto il numero relativo è aggiunto al valore del display.
macro_command main()
int i, KeyStatus, Displayfor i=0 to 10
GetData(KeyStatus, “Local HMI”, LB, i, 1)if (KeyStatus == true) then
KeyStatus=false
SetData(KeyStatus, “Local HMI”, LB, i, 1)
GetData(Display, “Local HMI”, LW, 1, 1)
Display=(Display*10)+i
SetData(Display, “Local HMI”, LW, 1, 1)
end if
next
end macro_commandQuesta è una mia scelta operativa, ci possono essere altre strade per raggiungere l’obbiettivo, naturalmente ho solo dato una traccia tutto il lavoro è da portare avanti da te. Ma come vedi ti basterà disegnare altri pulsanti sulla tastiera ed abbinare ad essi le relative funzionalità nella macro di gestione.
Sergio Bertana
Amministratore del forumPer leggere variabili da altri PLC devi utilizzare il FB ModbsMaster che è utilizzabile su uno stream di comunicazione in questo topic trovi un esempio di comunicazione in RS485 tra un master e molti slaves. Purtroppo però allo stato attuale del sistema operativo è possibile aprire connessioni TCP/IP solo in modalità server e non è possibile aprire connessioni in modalità client. Quindi non è possibile aprire uno stream di comunicazione TCP/IP da collegare alla FB ModbusMaster.
Per il dialogo tra diversi sistemi SlimLine in TCP/IP è disponibile il FB UDPDataTxfer (Topic).
Sergio Bertana
Amministratore del forumLa gestione delle connessioni al web server è gestita dal sistema operativo, e purtroppo non vi è modo di sapere l’indirizzo IP del client collegato.
Sergio Bertana
Amministratore del forumTi ricordo cher il Modbus TCP/IP slave è nativo nei moduli CPU SlimLine, sono gestibili fino a 3 connessioni sulla porta standard 502. Indirizzo di nodo di default è 1. Dalla pagina web di configurazione è possibile modificare questi parametri (Screenshot).
Se invece l’esigenza è di sviluppare un tuo protocollo di comunicazione TCP/IP puoi dare una occhiata a questo topic. Va da sè che utilizzando il programma postato nel topic, una volta che hai il FILEP del socket TCP/IP puoi inserire nel programma il FB ModbusSlave ed utilizzare il FB in alternativa alla gestione Modbus nativa.
Sergio Bertana
Amministratore del forumEsistono diverse possibilità per soddisfare la tua esigenza, vediamo alcuni suggerimenti.
Sistema programmabile SlimLine e/o NetlogIII
Questi prodotti hanno un web server integrato con cui è possibile visualizzare pagine web dinamiche (Topic). Tramite una rete RS485 è possibile acquisire in Modbus RTU i valori di peso dagli amplificatori di cella di carico (Topic) che saranno visualizzati nella pagina Web. Aggiungendo al modulo CPU uno o più moduli espansione I/O analogico è possibile acquisire il segnale di peso direttamente dalla cella di carico eliminando il costo dell’amplificatore (Topic).Terminale operatore
Tramite una rete RS485 è possibile acquisire in Modbus RTU i valori di peso dagli amplificatori di cella di carico e visualizzarli sul terminale. Il terminale è visualizzabile da Web browser (Topic) e/o da Smartphone (Topic). E’ anche possibile utilizzare il modello Cloud HMI cMT-SVR direttamente visualizzabile tramite apposita App.Ora tu parli di poterli visualizzare da remoto, bisogna capire come tu puoi collegare i dispositivi ad Internet, se disponi di un IP pubblico (Statico o no), puoi configurare il Port Forwarding/NAT sul router per reindirizzare l’IP pubblico verso l’IP privato del dispositivo.
Se non disponi di un IP pubblico devi realizzare una VPN o meglio utilizzare l’Easy Access 2.0 sul terminale operatore. In alternativa puoi pensare a soluzioni basate sul cloud (Topic).
Sergio Bertana
Amministratore del forumCome tutti i convertitori Ethernet-Seriale, anche l’ATC-1000 esegue la conversione pura dei dati ricevuti dalla connessione Ethernet verso la porta seriale e viceversa. A differenza dei gateway Modbus che eseguono la conversione dei protocolli, se sulla connessione Ethernet arriva un frame Modbus TCP/IP il frame viene passato esattamente uguale alla porta seriale e viceversa.
Quindi per utilizzarlo sui tuoi azionamenti è obbligatorio che vengano eseguite modifiche sulla gestione del protocollo lato RS485. Il protocollo Modbus TC/IP in realtà incapsula il protocollo RTU, vengono aggiunti in testa 6 bytes e viene eliminato il campo CRC (2 bytes), vedi manuale.
Detto questo, è possibile realizzare in uscita dalla seriale del convertitore una connessione RS485 in multidrop tra diversi azionamenti, ma in questo caso chiaramente dovrai interrogare gli azionamenti uno ad uno sulla stessa connessione TCP/IP senza alcun vantaggio di tempi.
Diverso invece se equipaggi ogni azionamento con un converitore Ethernet-Seriale, in questo caso il PLC master potrà gestire tante connessioni TCP/IP con i vari convertitori, ed in questo caso le comunicazioni saranno in parallelo guadagnando sui tempi di comunicazione totali.
Gennaio 20, 2015 alle 1:14 pm in risposta a: Compatibilità I/O Controller II con versioni precedenti #38670Sergio Bertana
Amministratore del forumHo sentito il fornitore al riguardo che assicura la completa intercambiabilità dell’I/O Controller II con il modello precedente.
Si scusano per le informazioni errate riportate sul manuale e ricordano di fare riferimento sempre alla tabella Technical specifications, provvedono subito a correggere i manuali.
Quindi è possibile intercambiare l’I/O Controller II con il modello precedente senza preoccuparsi della compatibilità.
-
AutorePost