Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumThe logic I/Os are managed by program on process image, so they are not directly accessible by modbus commands. The modbus commands can act only on the DB100 data memory. The DB100 area is accessible by all the modbus commads at offset address 40000.
If you need to manage the logic I/Os by modbus you must write a simple program that copies the logic inputs to a BOOL variables on DB100 and copies BOOL variables from DB100 to logic outputs. This program can be writen by using any language, here the ModbusIOs program download, it’s a simple project with two example programs, one in LD ladder diagram and one in ST structured text (Screenshot).
Sergio Bertana
Amministratore del forumThe SlimLine 16+8 digital I/O expansion module is available in two models. The one that uses a relay output circuit (Relay datasheet), typically has a minimum electrical life of 100000 cycles (2A 250Vac, 30Vdc, resistive load). The SSR model (SSR module datasheet), instead has an extremely long life.
The SlimLine Static output expansion I/O module has an electronic driver output (Output driver datasheet), this output has an extremely long life, it cans drive only DC circuits with voltage from 10.5 to 45 Vdc.
So for the the application on wich you need 2000 cycles per hour. If your load is an AC you can use the SSR output. If your load is DC you can use the static output. To close the 5Vdc circuit you must use the relay outputs. About the TOn/TOff times they are stable on the temperature range you request.
Sergio Bertana
Amministratore del forumPer capire il valore di ritorno dell’operatore SIZEOF occorre fare riferimento alla architettura del sistema, in un sistema ARM come lo SlimLine le variabili a 2 bytes sono allineate ad indirizzi divisibili per 2, mentre le variabili a 4 bytes sono allineate ad indirizzi divisibili per 4. Siccome una struttura può contenere dati disomogenei tra di loro (BOOL, BYTE, WORD, REAL, ecc) il compilatore di LogicLab alloca alla struttura una dimensione in byte pari al valore superiore divisibile per 4. Nel tuo caso i 30 bytes diventano 32, e se tu provassi a fare la struttura di 14 WORD (Quindi 28 bytes) essendo il valore divisibile per 4 SIZEOF ritornerebbe esattamente 28.
Consiglio, nella definizione delle strutture conviene sempre manualmente allineare la dimensione ad un valore divisibile per 4 aggiungendo delle variabili Dummy (Vedi screenshot). Ulteriori informazioni su questo argomento le trovi in questo topic.
Sergio Bertana
Amministratore del forumSe la connessione è in ethernet o seriale la simulazione del programma con EasyBuilderPro su PC funziona esattamente come sul pannello reale. Possono nascere problemi solo nel caso siano necessarie interfacce dedicate per l’interfacciamento.
Con BacNet in alcuni casi ci sono stati problemi di acquisizione delle TAGs direttamente dal PLC, problemi che sono stati superati importando le TAGs da file e non da acquisizione diretta.
Luglio 4, 2017 alle 4:15 pm in risposta a: Rilasciato FB MQTTClient per gestione protocollo MQTT #39378Sergio Bertana
Amministratore del forumAttualmente la comunicazione è solo in chiaro, livelli di crittografia sono in previsione ma non ho date di rilascio.
Luglio 4, 2017 alle 1:18 pm in risposta a: Modifica parametri network RNDIS USB su SlimSline Compact #37511Sergio Bertana
Amministratore del forumCome primo suggerimento consiglio di utilizzare l’ultima versione di Toolly scaricabile dal sito. Dalla finestra Discoverer di Toolly è possibile individuare tutti i prodotti SlimLine e Netlog connessi in rete (Screenshot) anche se la classe del PC che esegue Toolly è diversa dalla classe di rete dei prodotti. Questo permette di configurare l’indirizzo di rete del dispositivo senza modificare l’impostazione IP del PC.
Per sicurezza (Ossia per evitare di commettere errori e modificare le configurazioni di un altro dispositivo), l’operazione di modifica delle impostazioni è possibile solo nei primi 10 minuti di accensione del sistema. Quindi consiglio di spegnere il dispositivo e riaccenderlo e riprovare l’impostazione.
Sergio Bertana
Amministratore del forumRicordo che le librerie si trovano nella directory di installazione di LogicLab e comunque nella sezione Downloads della pagina del sito è possibile eseguire il download delle eventuali nuove versioni.
Sergio Bertana
Amministratore del forumDipende dal tipo di PLC usato e connessione, se fossero PLC in connessione seriale si puo fare un unica pagina e modificare a seconda del riquadro selezionato il numero di nodo PLC tramite la variabile LW-9300÷9331 (16bit) : driver ID of local PLC 0÷31.
Ma visto che nel tuo caso la connessione è Ethernet attualmente non mi viene in mente un modo per bypassare il dover puntare oggetto per oggetto. Però se utilizzi uno SlimLine da gateway potresti delegare al programma sullo SlimLine la commutazione dei nodi. Il terminale gestisce sempre le stesse variabili, ma informa lo SlimLine della pagina visualizzata (O meglio del carrello indirizzato) e il programma provvederà a mappare sulle variabili gestite dal terminale il corretto carrello.
Sergio Bertana
Amministratore del forumLa nuova versione di LogicLab è molto più restrittiva nei controlli sul codice sorgente, ed alcune “imprecisioni” presenti nelle nostre librerie che con le versioni precedenti venivano accettate, con la nuova versione non passano più il controllo sintattico. Il tuo è il problema classico in cui incappano molti, hai importato nei tuoi progetti la libreria PLCUtyLib, questa libreria è un contenitore di oggetti (Funzioni e Blocchi funzione) di varia utilità, non và mai importata nel progetto, ma si devono importare dalla libreria solo gli oggetti che si utilizzano. Il tutto è bene indicato in questo topic.
Per risolvere il problema, se non usi molti degli oggetti presenti nella libreria ti consiglio di eliminare la libreria dal progetto ed importare solo gli oggetti che utilizzi. In alternativa puoi eliminare la vecchia versione di libreria ed includere la nuova che troverai nella cartella Libraries di LogicLab.
Nota, le librerie nella nuva versione di LogicLab hanno estensione plclib non più pll come nella vecchia versione, e per poter utilizzare le nuove librerie devi convertire il progetto in plcprj (Basta fare un salva con il nome), Topic.
Sergio Bertana
Amministratore del forumSi certo le macro dei terminali Weintek sono molto potenti e le aree di memoria che storicizzano le passwords sono scrivibili da macro. Quindi quello che chiedi è sicuramente fattibile, purtroppo non abbiamo esempi di programmi che realizzano qualcosa di simile a quello che necessiti.
Sergio Bertana
Amministratore del forumSe sei bravo a sviluppare programmi su PC questo potrebbe essere un workaround al tuo problema.
Con EasyPrinter come stai facendo ora puoi ricevere da più terminali le stampe, puoi configurare il programma per salvarle su disco, verranno salvate in directories diverse una per ogni terminale.Ora (e quì è la parte difficile) dovrai gestire la stampa dei files, a questo scopo potresti farti un programmino che analizza i files presenti nelle varie directories e ad ogni nuovo file lo manda in stampa.
Giugno 19, 2017 alle 12:12 pm in risposta a: Remotare segnali logici ed analogici su connessione ethernet #37999Sergio Bertana
Amministratore del forumCon i prodotti della famiglia SlimLine puoi realizzare quello che ti serve, un modulo CPU ha 2 ingressi analogici e quindi può acquisire direttamente l’ingresso 4÷20 mA che può trasmettere ad uno o più sistemi SlimLine via ethernet. Con la libreria eLLabDataExchLib (Topic) puoi scambiare dati tra i diversi sistemi SlimLine anche attraverso Internet. Per ricreare il segnale 4÷20 mA in uscita devi utilizzare un modulo di espansione I/O analogico. Se il sistema DCS accettasse anche ingressi a 0÷10 Volt potresti utilizzare in alternativa agli SlimLine due sistemi Netlog che hanno già al loro interno gli I/O analogici.
Giugno 5, 2017 alle 12:15 pm in risposta a: Connettere dispositivi I2C al bus di espansione SlimLine #36634Sergio Bertana
Amministratore del forumIl bus di espansione I2C dei sistemi SlimLine è a 5 Volts, il circuito interno ha già le resistenze di pull-up per il segnali di Clock e Dato. Se utilizzi dispositivi a 5 Volts puoi connetterli direttamente al bus di espansione così come riportato nel Manuale riferimenti hardware.Se il tuo dispositivo a 3.3 Volts è tolerant 5 Volts lo puoi connettere direttamente, in caso contrario devi utilizzare un traslatore di livello I2C (Esempio un PCA9507) come quello indicato nel manuale.
Sergio Bertana
Amministratore del forumAggiungo una soluzione alternativa adatta a chi sà programare, grazie alla versatilità dei nostri sistemi programmabili SlimLine è possibile autocostruirsi un gateway di comunicazione. Come riportato in questo topic ecco un semplice convertitore Ethernet/Seriale.Nella nostra libreria di blocchi funzione abbiamo anche il FB ModbusTCPGateway (Topic) che realizza proprio un gateway di comunicazione Modbus.Altro esempio interessante è il convertitore Modbus Ascii/RTU (Topic) di cui viene fornito il programma in codice sorgente.Quindi usando un modulo CPU SlimLine (Esempio questo) utilizzando il protocollo Omron Host Link (Di cui diamo un estratto) che prevede lo scambio di comandi e risposte tra il computer host ed il PLC. Il PLC attende la stringa di comando e solo al termine della sua ricezione (Se il comando era indirizzato a lui) invia la stringa di risposta. E’ possibile realizzare un gateway TCP/Seriale per la gestione della comunicazione tra più PC ed un PLC Omron.Per il test si può utilizzare un emulatore di terminale (Esempio Toolly) per gestire l’invio delle stringhe seriali al PLC Omron e poi per l’invio delle stesse stringhe in TCP allo SlimLine che stà eseguendo il programma gateway. Ecco le stringhe di test che avevo riportato in un mio vecchio topic.Prendendo in esame la comunicazione con un PLC impostato con indirizzo “0” è possibile inviare una stringa del tipo: @00MB1A03003C* seguita da return40 30 30 4D 42 31 41 30 33 30 30 33 43 2A 0D in esadecimale Il PLC risponderà con una stringa del tipo: @00MB00110000020E010000000000000000000039* seguita da return.
Sergio Bertana
Amministratore del forumAbbiamo convertitori Ethernet/Seriale che accettano connessioni multiple (Esempio l’ATC-3000), ma il problema nel tuo caso visto che si parla di PLC Omron è che devi gestire il protocollo di comunicazione Omron. Se i due PC lavorando in modo asincrono inviano una richiesta simultaneamente il convertitore invia le due richieste di seguito al PLC senza aspettare la risposta dal PLC creando una sovrapposizione di dati.Per gestire il tuo problema devi utilizzare un Gateway, che serializzi le richieste dei PC gestendo il protocollo. Abbiamo dei gateway ma solo per il protocollo Modbus (Vedi ATC-3002). Nel caso di un Gateway ti ricordo che sicuramente dovrai gestire nel PC un tempo di timeout più lungo, perché quando il PC2 invia una richiesta se il gateway stà già elaborando la richiesta del PC1 nè dovrà attendere il termine.
-
AutorePost