Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumNon mi dici se sono generati errori nella esecuzione della libreria (Gli errori si possono vedere inserendo nella finestra di watch di LogicLab la variabile SysLastError vedi screenshot).
La libreria eNMEALib è stata realizzata molto tempo fa e non ha la gestione dello spionaggio che poteva esserti utile per capire il tuo problema, in questi giorni non ho molto tempo ma ti ho realizzato una versione beta della libreria eLLabNMEALib_C00_ che ha il blocco funzione NMEASInterface_v1 con la gestione dello spionaggio. Attivando SpyOn potrai vedere dalla console di spionaggio le stringhe ricevute e capire se non riceve nulla o se vi è un errore nella ricezione. Allego il progetto NMEAExample per il test (Download).
Luglio 8, 2017 alle 6:30 am in risposta a: ATC-1000 connessione con MCP Duemmegi non comunica #36534Sergio Bertana
Amministratore del forumHo dato una occhiata su Internet al prodotto MCP e se ho inteso bene utilizza per il dialogo seriale un protocollo proprietario FXP-XT, il protocollo è di tipo NRZ con 1 bit di start, 8 bit dati, nessuna parità, 1 bit di stop quindi una normale comunicazione seriale, non dovrebbero esserci problemi. Di solito come dico sempre nei vari posts i problemi che si possono avere nella conversione Ethernet/Seriale sono due:
Il programma di virtualizzazione della porta và in conflitto con altri programmi del PC e quindi non si riesce a fare funzionare il VirtualCOM. In questo caso si può tentare di utilizzare altri programmi di virtualizzazione o in alternativa utilizzare due convertitori connessi in paired collegandone uno alla porta seriale del PC. Ma questo non è il tuo caso visto che mi dici che simulando la comunicazione con un programma terminale la VCOM funziona.
La conversione Ethernet/Seriale introduce dei ritardi nella comunicazione e alcuni protocolli sono sensibili ai tempi di comunicazione e questi ritardi generano un errore di comunicazione. Ma il protocollo FXP come il Modbus sono protocolli a pacchetto e solitamente accettano ritardi tra la richiesta e la risposta.
Ora venendo al tuo problema, posso solo fare delle ipotesi, hai impostato correttamente da pagina web i parametri di comunicazione seriale ? il VirtualCOM molte volte non riesce a gestirli in modo corretto quindi è sempre meglio impostarli da pagina WEB.
Se sei connesso in RS485, hai terminato le estremità con le resistenze da 120? ? Hai provato ad invertire i fili RS485+/- ?
Luglio 6, 2017 alle 4:24 pm in risposta a: Errore nella importazione progetto con LogicLab 2.5.0.0 #36933Sergio Bertana
Amministratore del forumIl problema che lamenti è effettivamente un BUG che si è presentato con quella versione specifica di LogicLab. Il problema è già risolto nella nuova versione che è al momento in fase di testing. Non ho ancora una data ufficiale di rilascio, quindi per eseguire l’apertura del file .rsm devi utilizzare la versione precedente di LogicLab (Tutte le versioni sono scaricabili da qui). Ricordo che è possibile fare coesistere sullo stesso PC più installazioni di LogicLab, basta definire una cartella di installazione diversa per ogni versione.Il file rsm è un file generato da LogicLab che contiene il sorgente del progetto, ed è il file che viene trasferito nel sistema target. Il file come hai fatto notare correttamente tu è anche scaricabile via FTP, sullo SlimLine si trova nella cartella Project ed ha nome Project.rsm.
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.
-
AutorePost