Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Dicembre 1, 2014 alle 10:02 am in risposta a: Errore 9996200 su scrittura in directory Storage #38550
Sergio Bertana
Amministratore del forumMi sembra di capire che stai facendo delle prove, non è un programma definitivo su di un impianto che dà questo tipo di problema, almeno credo.
Il problema deriva dal fatto che stai utilizzando troppe risorse di I/O stream (Variabili tipo FILEP). Non è che hai aperto più volte quersto file o altri file senza mai chiuderlo. Oppure hai aperto troppi sockets TCP o UDP. Il messaggio è generico tutti gli stream di I/O sono indicati come porte. Sono stream di I/O le porte COM, i sockets TCP/UDP e i files sul file system.
Per essere più preciso dovresti indicarmi la versione del sistema operativo in uso (Esempio SFW167xx00), e se accedi da Telnet (Porta 23) dopo il login con il comando Syslog puoi avere un elenco dettagliato degli errori.
Dovresti avere un errore del tipo “Too many resources: …” oppure “Cannot open: …” dove al posto dei … è indicata la risorsa che non può essere allocata, nel tuo caso il file Storage/Log.csv.
Sergio Bertana
Amministratore del forumNel simulatore il valore di SysDateTime è indeterminato all’avvio del programma per questo ho inserito nel mio esempio il ramo con la FB DateToEpoch. Impostando i valori sulle variabili in ingresso alla FB ed attivando in m odo impulsivo l’ingresso Di00CPU è possibile impostare l’orario che si desidera. L’orario attuale viene visualizzato mettendo in debug la FB EpochToDate.
Ma nell’esempio per verificare l’attenzione di chi lo utilizza ho inserito un errore…
In effetti nella fretta ho definito nelle variabili globali le due uscite Do00CPU e Do01CPU entrambe mappate sulla stessa uscita %QX255.0. Non mi sono accorto dell’errore perchè ho provato la FB scritta in ST che essendo eseguita dopo attivava l’uscita. Ho provveduto a correggere l’esempio, eseguendone il download ora è corretto.
Sergio Bertana
Amministratore del forumHai diverse soluzioni possibili, la prima è collegare il pannello operatore in RS232 liberando la RS485 per l’inverter, in tal modo non fai modifiche al programma del pannello operatore.
Per la gestione dell’inverter connesso alla RS485 del modulo CPU devi utilizzare il blocco funzione ModbusMaster che permette di essere eseguito in cascata collegando l’uscita Done di uno sull’ingresso Enable di quello successivo e così via. L’uscita Done dell’ultimo FB andrà a fare ripartire la sequenza (Screenshot). In questo modo potrai definire tante FB in cascata per Leggere/Scrivere i vari registri dell’inverter. Se i registri dell’inverter hanno indirizzi contigui puoi usare una solo istanza della FB per Leggere/Scrivere più registri contemporaneamente. Per impostare i parametri di comunicazione puoi utilizzare nel tuo programma il FB SysSetSerialMode.
Una alternativa è gestire la comunicazione con l’inverter dal pannello operatore che rimane master Modbus verso i due slaves (Uno è lo SlimLine e l’altro è l’inverter). Puoi usare l’oggetto DataTransfer che permette di trasferire dati tra diversi sistemi slaves, il trasferimento può essere ciclico e quindi puoi prendere variabili PLC e trasferirle nell’inverter e viceversa. Naturalmente la gestione fatta da terminale è molto più lenta che quella fatta da PLC.
Sconsiglio di trasformare il pannello in slave modbus, e poi di gestirlo da master PLC, con questa soluzione devi ciclicamente trasferire dal PLC al pannello le variabili in visualizzazione è leggere le variabili in impostazione. Il trasferimento và fatto sempre di tutte le variabili gestite dal pannello indipendentemente dalla pagina visualizzata e se le variabili sono molte il traffico dati è molto elevato. Ti rimando a questo topic per informazioni più dettagliate sull’uso della FB ModbusMaster.
Sergio Bertana
Amministratore del forumIl router Conel prevede la possibilità di invio di messaggi SMS ma la nostra FB è stata “cablata” sui modem Gemalto, quindi prevede una connessione seriale con il modem (E non Ethernet). Quindi per inviare SMS tramite il router andrebbe prevista l’opzione XC-RS232 – Opzione porta RS232 con cui connettersi ad una seriale del modulo SlimLine. Poi però è da verificare se tutti i comandi gestiti dall FB ModemCore sono compatibili, in caso contrario occorre applicare modifiche alla FB, e questo và concordato con il nostro ufficio commerciale. In alternativa è possibile utilizzando il macro linguaggio del terminale gestire l’invio dal router anche in connessione Ethernet.Ricordo che il router ha un ingresso digitale agendo sul quale è possibile inviare un SMS fino a tre destinatari, quindi se l’esigenza è di inviare un SMS di avvertimento a seguito del quale poi si accederà al sistema per verificarne il funzionamento, è possibile farlo solo agendo da PLC sull’ingresso. Inoltre mi domando fino a quando l’SMS è ancora una priorità, oggi siamo costantemente connessi anche da smartphone e l’email ci raggiunge in ogni luogo prprio come l’SMS.
Sergio Bertana
Amministratore del forumCome alternativa al PLC Siemens possiamo indicare la nostra famiglia SlimLine, e come alternativa al pannello operatore i prodotti Weintek. Vediamo di illustrare come è possibile sodisfare i punti della Vs richiesta.
Interfacciamento apparato tramite MODBUS RTU
Abbiamo un FB di gestione Modbus master che può interfacciarsi con uno o più apparati in rete RS485, utilizzando più istanze della FB su seriali diverse e possibile gestire anche più connessioni anche in punto-punto RS232 (Topic).Telegestione con interfaccia web, connessione VPN su WAN ADSL e 3G in backup
I routers Conel garantiscono sia la connessione 3G che la creazione di VPN e la gestione della commutazione in backup tra ADSL e 3G (Vedi estratto manuale). I moduli CPU hanno un Web server integrato (Topic), il pannello operatore può essere consultato da remoto con un client VNC (Topic).Elaborazione in loco dati produzione e lettura da anemometro
I prodotti SlimLine sono programmabili con i 5 linguaggi della normativa IEC61131-3 con il software gratuito LogicLab, nel forum si trovano moltissimi esempi di programmi. In questo topic trattiamo la lettura di un anemometro.Registrazione dati per visualizzazione e prelievo da remoto.
Nel file system dei sistemi SlimLine è possibile memorizzare files, esempio in formato CSV (Topic), è anche possibile salvare i dati storici nel pannello operatore (Topic). Entrambi i sistemi sono accessibili via FTP da remoto.Invio di email e SMS per notifiche
I pannelli operatore possono inviare eMail di notifica (Topic), mentre da SlimLine utilizzando un modem è possibile inviare/ricevere SMS (Topic).Sergio Bertana
Amministratore del forumL’utilizzo di PHP invece prevede un web server con l’interprete PHP, questo è disponibile su sistemi più complessi, ma nostri clienti utilizzano la tecnica di trasferire i dati dai sistemi SlimLine e Netsyst verso un server (Su rete locale o su Cloud) e poi demandare al server la gestione della pubblicazione di pagine web usando linguaggi di scripting lato server (ASP o PHP).
Utilizzando il FB di gestione modem è possibile trasferire dati verso un server nel cloud semplicemente indirizzando un URL a cui corrisponde una pagina ASP o PHP ed inviando i dati da trasferire in GET (Topic).
In alternativa il server può richiedere una pagina HTM allo SlimLine inviando in POST i dati da impostare nel sistema e ricevendo come ritorno una pagina HTM con i dati acquisisti dal sistema (Topic).
Sergio Bertana
Amministratore del forumTutti i dispositivi SlimLine e Netsyst hanno un web server integrato accessibile in connessione HTPP su porta 80. Sulle versioni compact che non hanno la porta Ethernet è possibile accedere al server web utilizzando una connessione USB. Collegando il dispositivo al PC viene installato un driver RNDIS (Topic) che di fatto è una scheda Ethernet virtuale e tramite questa scheda è possibile connettersi in TCP/IP con il dispositivo.
Il web server è in grado di pubblicare pagine HTM che possono essere trasferite in FTP (Topic) nel file system del dispositivo (Topic). Le pagine HTM hanno il limite che non possono contenere inclusione di alltre pagine, quindi la definizione degli stili css, i javascript e le immagini devono essere embedded nella pagina. Utilizzando gli stili css è comunque possibile realizzare pagine web accattivanti (Topic).
Il server web analizza il sorgente della pagina HTM prima di pubblicarla verso il browser e ricerca dei tags specifici al suo interno, i tags sono del tipo < !–[“%d”, UINT, 10]– >. Quindi come si nota sono in realtà dei commenti HTM ma indicano l’indirizzo ed il tipo di variabile (Riferiti alla DB 100) ed il formato di visualizzazione. Nella pubblicazione della pagina sostituisce ai tags il reale valore della variabile che verrà visualizzato dal browser, nell’esempio la variabile UINT allocata a DB 100.10 (Topic).
Per impostare i valori (Sempre su variabili allocate in DB 100) basterà inserire nella pagina un form definendo l’invio in post dei dati, ecco quindi che il valore scritto da browser in una casella di testo < input name=”UINT 12″ type=”text” /> verrà trasferito nella variabile UINT allocata a DB 100.12.
Se il sistema (PC, tablet, smartphone) che esegue il browsing delle pagine web dallo SlimLine è connesso ad Internet è possibile integrare nelle pagine web gli oggetti di Google Charts (Topic). E’ disponibile anche un javascript per gestire il rinfresco automatico delle variabili senza dover ricaricare la pagina con una tecnica chiamata AJAX (Topic).
Sergio Bertana
Amministratore del forumOttima soluzione, la versatilità di poter disporre di un modulo programmabile in ogni stanza rende molto semplice l’eventuale implementazione di nuove funzioni. Basterà connettere localmente al modulo di camera nuovi sensori e/o attuatori per gestire la funzione richiesta.
Per l’acquisizione della temperatura del bagno ti posso consigliare l’NS700, un sensore di temperatura da parete per uso interno con uscita 0÷10V connesso ad uno degli ingressi analogici del modulo di camera.
Mentre per la temperatura dell’acqua di caldaia immagino tu voglia utilizzare un sensore con fissaggio su tubo, nella gamma Sensit ti posso consigliare il modello NS740 (Allego datasheet).
Sergio Bertana
Amministratore del forumUtilizzando la connessione TCP/IP tra il pannello operatore ed il PLC (Nel tuo esempio lo SlimLine) il concetto di localizzazione è estendibile anche a reti geograficamente distribuite. Il pannello può dialogare con PLC disposti su aree geografiche estese (Su rete WAN) allo stesso modo con cui dialoga con PLC in rete locale LAN.
Il problema è nel networking, cioè nel come è visibile il PLC su Internet (Rete WAN). Immagino che i vari PLC siano in reti locali sotto a Router/Gateway di accesso ad Internet. In tal caso l’accesso ad Internet dovrà avere un IP pubblico (Meglio se statico) e nel router andrà impostato un NAT (O port forwarding) per ridirigere la porta a cui il pannello si connette (Nel caso di SlimLine vine utilizzato Modbus, porta 502), sull’indirizzo IP/Porta locale del PLC.
Novembre 26, 2014 alle 1:14 pm in risposta a: Selettore software 3 posizioni con funzione MUX in LogicLab #38537Sergio Bertana
Amministratore del forumHai premesso che sei un neofita e quindi accetto la domanda, ma se vedi nel programma la funzione multiplexer che ho realizzato utilizza variabili in ingresso di tipo BOOL su cui poi nel programma in ladder aggancio gli I/O reali.
Quindi va da sè che posso dare in ingresso alla funzione qualsiasi variabile di tipo BOOL. Ma non solo, se trasformo le variabili in ingresso ed in uscita da BOOL ad un’altro tipo (USINT, UINT, REAL, ecc) posso utilizzare la funzione multiplexer anche per multiplexare valori discreti.
Credo che acquisire un pò di pratica in programmazione ST sia molto utile, se cerchi in rete trovi informazioni. Ti posso suggerire anche due pinne e poi un bel tuffo nei vari posts del forum dedicati all’ambiente LogicLab ed alla famiglia SlimLine dove troverai molti programmi sorgente in linguaggio ST che possono essere d’aiuto.
Novembre 26, 2014 alle 10:16 am in risposta a: Assistenza remota con sistemi in connessione RS232 #38534Sergio Bertana
Amministratore del forumPuoi utilizzare la funzione VPN di TeamViewer questa funzione permette di creare una VPN tra il tuo PC ed il PC del cliente (Screenshot). Come vedi viene assegnato un indirizzo IP al PC dell’interlocutore, connettendoti a questo indirizzo sei virtualmente nel PC.
Sul PC dell’interlocutore puoi eseguire Toolly, che con l’opzione XConnect permette di incrociare i dati tra due connessioni. Crei un XConnect tra un server TCP ed una porta seriale (Screenshot). Ora dal tuo PC inviando i dati all’IP del PC remoto (Nell’esempio 7.220.177.21) alla porta in XConnect su seriale (Nell’esempio 1000) i dati inviati saranno ridiretti sulla seriale e viceversa.
Sul tuo PC puoi usare un’altro Toolly in XConnect oppure installi un VirtualCOM (Topic).
Novembre 26, 2014 alle 9:28 am in risposta a: Selettore software 3 posizioni con funzione MUX in LogicLab #38532Sergio Bertana
Amministratore del forumIl MUX fornito embedded in LogicLab ha solo due posizioni, per fare un selettore a 3 posizioni devi mettere in serie due MUX. Ma vista la funnzione propedeutica del forum e data l’estrema semplicità nel realizzare una funzione MUX, eccone il codice in ST.
CASE (K) OF
0: Mux3Way:=I0;
1: Mux3Way:=I1;
2: Mux3Way:=I2;
ELSE
Mux3Way:=FALSE;
END_CASE;Come vedi lo statement CASE permette di creare un multiplexer a quante vie tu desideri, nel mio esempio è a 3 vie. Ecco nello screenshot il programma ladder in simulazione con la funzione MUX a 3 vie (Download programma).
Nel mio esempio ho definito la variabile Selector di tipo UINT e l’ho allocata nella DB 100.2048 per poterla accedere dal terminale in Modbus (Nel terminale dovrai definire un registro a 16 bit con codice di accesso 3x ed indirizzo 41024). Ho scelto l’indirizzo 2048 perchè è il primo dell’area ritentiva.
Sergio Bertana
Amministratore del forumChiudo il post e poi come al solito mi accorgo che dimentico particolari che possono essere interessanti, il terminale operatore è consultabile via VNC anche da smartphone (Topic), quindi posso agire sul pannello in reception dalllo smarphone o da un PC sia dalla rete WiFi (se presente) sia da Internet.
Grazie ad EasyAccess 2.0 posso accedere al terminale da remoto anche su reti sotto NAT, non devo eseguire modifiche nel router del cliente basta che via sia accesso ad Internet (Topic). E tramite l’accesso al terminale posso da remoto eseguire programmazione e debug sia del programma terminale che del programma di tutti i sistemi SlimLine connessi al terminale.
In questo topic si parla dell’utilizzo di un prodotto commerciale per impostazione e lettura temperatura che può essere impiegato nella tua applicazione.
Sergio Bertana
Amministratore del forumUna domanda ben articolata che mi permette ancora una volta di parlare di sistemi SlimLine e/o Netsyst utilizzati in domotica, argomento molto trattato nel forum (Usare funzione cerca in alto), in questo topic trovi un semplicissimo progetto demo.
Entrambe le soluzioni che hai prospettato sono valide, l’utilizzo di moduli in rete LAN permette di semplificare il cablaggio e ridurre la stesura di cavi. La scelta del modulo in ogni stanza o del modulo unico centralizzato deve essere fatta esclusivamente in base ai costi (Costo modulo + costi cablaggio). A livello di funzionalità sono equivalenti, tramite appositi blocchi funzione i vari moduli “dialogano” tra di loro su rete LAN come se fossero virtualmente tutti nello stesso posto (Topics (1), (2)). Se non vuoi utilizzare la rete LAN puoi optare per moduli in RS485 (Più economici) per realizzare la rete tra le diverse stanze (Topic).
La garanzia della funzionalità del pulsante emergenza bagno è garantita dal controllo della comunicazione tra i diversi moduli, se si interrompe la comunicazione si ha un immediato alert sul terminale operatore in reception.
Il vantaggio del modulo in ogni stanza è dato dalla facilità di ampliamento dell’impianto, se devi aggiungere un controllo od un comando basterà collegarlo al modulo nella stanza senza dover portare il cablaggio fino al locale tecnico. Un modulo Compact ha 6 ingressi e 4 uscite a relè, quindi puoi gestire anche delle attuazioni, inoltre dispone di 2 ingressi analogici quindi puoi ad esempio gestire la climatizzazione.
Utilizzando sistemi di identificazione puoi gestire l’apertura porta, con la possibilità di gestire tags passepartout (Magari selezionando l’orario in cui sono operative), e bloccare eventuali tags perse per una maggiore sicurezza dell’accesso (Topics (1), (2)).
Novembre 21, 2014 alle 1:09 pm in risposta a: Configurazione convertitore Wi-Fi seriale ATC-1000WF #38527Sergio Bertana
Amministratore del forumPer passare al test pratico di funzionamento consiglio di utilizzare Toolly con due istanze del terminale attive (Screenshot), una sulla porta COM fisica a cui è connessa la porta seriale del convertitore (Nel mio caso utilizzo un Convertitore USB-Seriale ATC-810) e l’atra come client TCP sull’indirizzo IP dell’ATC-1000WF porta 5000 (Porta di default).
Come si vede dallo screenshot i dati inviati dalla porta seriale sono ricevuti dalla connessione TCP/IP e viceversa. Come software di virtualizzazione porta seriale VirtualCOM consiglio di seguire questo topic.
-
AutorePost