Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumDovendo gestire il comando di uscite logiche e la visualizzazione dello stato di ingressi logici ho pensato di utilizzare un sistema Netlog III che dispone già nativamente di 12 ingressi ed 8 uscite digitali. Il programma può anche essere utilizzato sui dispositivi SlimLine ma il modulo CPU dispone solo di 2 ingressi e 2 uscite digitali, se te ne occorrono di più devi utilizzare i moduli di espansione.
Nel programma (Stampa) di cui allego sia il programma sorgente che la pagina HTM di esempio (Download), ho definito due array di BOOL nella DB 100. Nell’array IStatus allocato ad indirizzo DB100.0 da programma ladder appoggio lo stato di 8 ingressi digitali, lo stato delle variabili dell’array OCommand allocato ad indirizzo DB100.2048 (Zona RETAIN) viene da programma ladder trasferito sulle 8 uscite digitali.
Nella pagina web (Screenshot) ho creato una tabella con la possibilità di impostare sia gli 8 comandi che visualizzare gli 8 stati. Le utenze sono definite con l’etichetta “Utenza x” ed i comandi e lo stato con “Spento” ed “Acceso” ma aprendo il file IOByWeb.htm con un normale text editor è possibile modificare il testo per adattarlo alle proprie necessità, in questo post si trovano informazioni su come funziona il web server.
Per trasferire la pagina web (File IOByWeb.htm) sul sistema fare riferimento a questo post, il sistema Netlog III è esattamente uguale ai sistemi SlimLine.
Settembre 2, 2013 alle 12:44 pm in risposta a: Riportare alle impostazioni di default su ATC-1000 #37746Sergio Bertana
Amministratore del forumAggiungo a quanto detto nel post precedente che la ricerca dei dispositivi trova solo i dispositivi il cui indirizzo IP appartiene alla rete in cui è configurato il PC.
Settembre 2, 2013 alle 9:42 am in risposta a: Come mantenere in backup il valore di un counter #37745Sergio Bertana
Amministratore del forumA scopo didattico ecco il sorgente ST di un nuovo FB che prevede anche il preset, l’ho chiamato CTUPreset.
IF (CU AND NOT CUMemo) THEN
IF (CV < PV) THEN CV:=CV+1; END_IF;
END_IF;CUMemo:=CU; (* CU status memo *)
IF P THEN CV:=Preset; END_IF; (* Preset command *)
IF R THEN CV:=0; END_IF; (* Reset command *)
Q:=(CV >= PV); (* Output management *)Come vedi ho aggiunto due ingressi P (BOOL) e Preset (UDINT) che permettono su comando di presettare il valore in uscita. Inoltre già che ho modificato ho anche modificato le variabili di conteggio in UDINT, in questo modo il counter può contare fino a 4294967295.
Allego stampa e progetto sorgente, come vedi nel programma LD al primo loop forzo il preset del CTU con la variabile Pieces che è anche la variabile valorizzata con il valore CV del CTU. Naturalmente questa variabile andrà allocata in una zona RETAIN.
Settembre 2, 2013 alle 9:37 am in risposta a: Come mantenere in backup il valore di un counter #37744Sergio Bertana
Amministratore del forumIl blocco funzione CTU è stato fatto in accordo alle specifiche della IEC61131, ma è sicuramente possibile modificarlo per ottenere quello che si desidera. Il blocco funzione CTU è realizzato in ST ecco il codice sorgente.
IF (CU AND NOT CUMemo) THEN
IF (CV < PV) THEN CV:=CV+1; END_IF;
END_IF;CUMemo:=CU; (* CU status memo *)
IF R THEN CV:=0; END_IF; (* Reset command *)
Q:=(CV >= PV); (* Output management *)In merito alla tua domanda, non è possibile in nessun modo presettare il valore di CTU.CV in quanto si tratta di una variabile di uscita dal FB.
Settembre 2, 2013 alle 6:28 am in risposta a: Migrazione di vecchi programmi sviluppati con Remoter #37742Sergio Bertana
Amministratore del forumNell’ambiente di sviluppo Remoter erano disponibili alcune variabili che non sono più presenti in LogicLab, come ad esempio mi fai notare tu la PLCPulse1000. Nei programmi ladder la variabile si ottiene semplicemente utilizzando il contatto di tipo fronte positivo -]P[- con operando SysClock1000.
Per quanto riguarda il linguaggio ST è ottima la tua soluzione.
Sergio Bertana
Amministratore del forumAggiungo ricordando che di questi rami è possibile farne tutti quelli che si necessitano, in questo post un esempio di più contatori con acquisizione del loro valore da Modbus.
Sergio Bertana
Amministratore del forumSe usi il blocco funzione CTU, Counter Up per gestire il counter non puoi mantenere in backup il valore di conteggio CV. Esiste una soluzione molto semplice per realizzare contatori che mantengono il loro valore di conteggio allo spegnimento, basta utilizzare l’operando ADD, ecco un semplice ramo ladder che ne mostra l’uso.
In pratica viene abilitato l’operando ADD sul fronte di attivazione di un ingresso digitale tramite l’operando -]P[-, ad ogni fronte di attivazione viene sommato 1 al valore della variabile Counter ed il risultato è salvato nella variabile Counter. Basterà definire la variabile con l’attributo RETAIN oppure allocarla nella memoria ritentiva (A partire da DB 100.2048) per mantenere il valore memorizzato allo spegnimento, allego un progetto per il download.
Sergio Bertana
Amministratore del forumIl download del progetto è possibile soltanto se sei registrato, comunque la procedura è esattamente quella da tè descritta. Occorre importare l’immagine gif per ogni stato della lampada, questo vale sia per lampade Bit a 2 stati che per lampade Word a più stati.
Agosto 30, 2013 alle 12:22 pm in risposta a: Comunicazione dati M2M con chiamata da linea analogica #37735Sergio Bertana
Amministratore del forumIl modem analogico è connesso direttamente alla linea Telecom oppure passa tramite centralino, la linea Telecom è la classica linea analogica oppure è una linea VoIP ?
Hai provato con un solo modem analogico, oppure ne hai provati più modelli, è da qualche anno che non faccio più questo tipo di connessioni ma quando eseguivo dei tests utilizzavo un modem USRobotics 56K V.92 Message Modem USR015668D ed il tutto funzionava senza problemi.
Agosto 30, 2013 alle 6:19 am in risposta a: Comunicazione dati M2M con chiamata da linea analogica #37733Sergio Bertana
Amministratore del forumNel caso indicato si parla di SIM M2M quindi sicuramente in grado di ricevere in CSD, il fatto che come indicato il modem GSM risponde alla chiamata in entrata sembrerebbe che abbia rilevato la chiamata come una chiamata CSD.
La stringa NO CARRIER di solito compare se sono inviati dati sulla seriale del modem prima che il modem abbia terminato la negoziazione (Cioè prima di avere ricevuto la stinga CONNECT).
Agosto 30, 2013 alle 6:14 am in risposta a: Comunicazione dati M2M con chiamata da linea analogica #37732Sergio Bertana
Amministratore del forumNella domanda non è spiegato se il modem ricevente è impostato per rispondere in autoanswer (ATS0=xx) oppure se è una apparecchiatura connessa al modem in seriale a dare il comando di answer (ATA).
Il comando autoanswer funziona solo per le chiamate DATI CSD. Per vedere che la chiamata entrante è una CSD DATI basta attivare l’estensione dei RING con AT+CRC=1, quindi si vedrà:
REL ASYNC per i DATI oppure VOICE RING per le chiamate vocali.
Attenzione per le SIM DATI verificare che siano attive anche in ricezione, di solito le ricaricabili possono solamente trasmettere in CSD, oppure si usano delle SIM su abbonamento M2M.
Agosto 29, 2013 alle 12:11 pm in risposta a: Home automation system with HMI connected to 3 SlimLine #37731Sergio Bertana
Amministratore del forumIt’s possible to use the SlimLine only as a remote I/O controlled by modbus and in this way all the logic can be done on the HMI. But this solution is a bad solution, the HMI can be programmed only by macro language and that language is non so easy. To manage logic it’s better to use the proper language, and this language is the ladder. So my suggestion is to manage all the logic into the SlimLine.
Moreover the SlimLine is a PLC and has all the securities to manage automation tasks, that is not true for the HMI. The IEC61131 standard provides 5 different programming languages that can be mixed in a unique program, so the IL and LD languages can be used for the logic, the ST language can be used for the calculation.
Sergio Bertana
Amministratore del forumLa tecnica è esattamente quella della lampada, scegli un oggetto LampBit e gli associ per i due stati (0 e 1) due immagini gif. Sullo stato 0 un gif con il ventilatore fermo (FanOff.gif) e sullo stato 1 un gif con il ventilatore acceso (FanOn.gif).
Ti allego un progetto con la tecnica illustrata, come vedi nel progetto c’è una libreria di immagini MyLib.flb che per poter provare il progetto và copiata nella directory library di installazione EasyBuilder (Esempio C:Program Files (x86)EB8000library).
Agosto 29, 2013 alle 8:41 am in risposta a: PLC SlimLine e pannello MT6050, info su connessione #37728Sergio Bertana
Amministratore del forumIl problema della connessione con il pannello in USB potrebbe derivare dal fatto che sul PC disponi di una USB 1.0 (Vedi post). Se invece hai una USB 2.0 prova a disinstallare EasyBuilder reinstallando l’ultima versione disponibile e poi reinstallare i driver USB del pannello.
Per quanto riguarda l’indirizzamento delle variabili da pannello ti ricordo che le variabili allocate nella DB 100 sono indirizzabili da modbus con l’indirizzo 40000.
Quindi una variabile BOOL allocata nella DB100.16 sarà da indicare sul terminale con l’indirizzo 0x 40016. Siccome il terminale aggrega le variabili BOOL, non è possibile accedere a variabili allocati ad indirizzo inferiore di DB100.16.
Per quanto riguarda variabili WORD, DWORD, REAL occorre dividere l’indirizzo di allocazione per due (Vedi post). Ti consiglio di dare una occhiata a questo post che riporta un progetto di esempio di comunicazione tra pannello e SlimLine.
Agosto 29, 2013 alle 6:50 am in risposta a: Home automation system with HMI connected to 3 SlimLine #37725Sergio Bertana
Amministratore del forumExists also the possibility to realize a network between the SlimLine (RS485 or ethernet), in this way one of the SlimLine acts as a master and the other as a slaves. The SlimLine master provides the data exchange between the other systems and the HMI is connected to it.
In this way the SlimLine master is the director it knows all the informations and on it it’s possible to make useful operations. For example it can save a log on a CSV file (It can be accessed by FTP) on wich to store all the events in the house.
You can have on it web pages to manage the house informations and settings, this is the web page we internally use to define the scheduling for the climate system (See the page).
-
AutorePost