Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumLa soluzione adottata è sicuramente funzionante.
Sarebbe possibile avere uno screenshot del messaggio di errore, o almeno sapere che messaggio di errore compare.
Identificando l’errore possiamo cercare di capire se può essere un problema legato agli applicativi Weintek oppure è un problema legato a Windows e magari trovare la soluzione per aggirarlo.
Sergio Bertana
Amministratore del forumLa warning indica che hai inserito meno valori di inizializzazione della dimensione della variabile.
La tua variabile definita come ARRAY[0..4, 0..1] si compone di 5 righe da 2 valori quindi in totale devi definire 10 valori di inizializzazione.
Per le informazioni sull’uso di LogicLab devi riferirti al manuale LogicLab Help (en) che si trova nella cartella di installazione di LogicLab oppure lo puoi aprire dal menù Help->Index. Se LogicLab è settato in Italiano si aprirà la versione italiana che è meno completa.
Nel capitolo Multidimensional arrays (MATRIXES) del manuale trovi un esempio di inizializzazione, nel tuo caso dovrai scrivere:
Yc_OrderID : ARRAY[0..4, 0..1] OF USINT := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
Yc_OrderID[0, 0] ha valore 0
Yc_OrderID[0, 1] ha valore 1
Yc_OrderID[1, 0] ha valore 2
Yc_OrderID[4, 1] ha valore 9Sergio Bertana
Amministratore del forumI cMT2108X2 come riportato nella appendice A, hanno il client OPC-UA quindi puoi utilizzarli nella configurazione indicata.
In MQTT la vedo un po più complicata da realizzare.
Novembre 20, 2023 alle 10:08 am in risposta a: Visualizzare scala tempo nell’oggetto visualizzatore trend #74793Sergio Bertana
Amministratore del forumSe nelle proprietà generali dell’oggetto definisci come asse X il tempo, nella visualizzazione del trend potrai abilitare la scala dei tempi (Screenshot).
Novembre 15, 2023 alle 4:48 pm in risposta a: Attivazione finestra di pop-up su messaggio di allarme #74767Sergio Bertana
Amministratore del forumSicuramente è possibile, la strada che consiglio è di utilizzare la gestione dell’acknowledge allarme (Screenshot).
Nella finestra di definizione dell’allarme è possibile definire per ogni allarme un Acknowledge value (1), definire un valore diverso per ogni allarme. Nelle proprietà dell’oggetto Event Display, è possibile definire una variabile di Acknowledge (2).
Ora “toccando” il messaggio di allarme il valore definito in Acknowledge value verrà trasferito nella variabile Acknowledge. Agendo su questa variabile è possibile attivare una finestra in pop-up o eseguire qualsiasi altra operazione.
Per visualizzare la finestra di pop-up puoi utilizzare l’oggetto Indirect Window a cui puoi assegnare la stessa variabile Acknowledge definita nell’oggetto Event Display, in questo modo il valore dell’Acknowledge value può coincidere con la pagina da visualizzare.
Novembre 15, 2023 alle 10:16 am in risposta a: Problema nell’utilizzo della libreria eLLabDataExchLib #74751Sergio Bertana
Amministratore del forumHo testato lo scenario che hai descritto utilizzando il programma ST_TCPDataExchServer preso da questo articolo, ed il programma ST_TCPDataExchClient preso da questo articolo ma non riesco ad evidenziare il problema.
Staccando il sistema server dalla rete e poi ricollegandolo il sistema client si riconnette.
La connessione è segnalata dalla variabile Active nella struttura dati TCPDEXCHNODEDEFS. Hai definito un valore nella varibile TxHeartbeat nella struttura dati TCPDEXCHNODEDEFS sia del sistema server che del client…
Sergio Bertana
Amministratore del forumSinceramente non è semplice pensare cosa stia accadendo, o è un disturbo (hanno eventualmente installato altri macchinari in zona o fatto modifiche alla rete ecc…), in questo caso verificherei messe a terra e aggiungerei qualche anello di ferrite.
Altrimenti proverei a monitorare la LW9025 carico CPU per verificare come si sta comportando il pannello (per informazione con la prossima versione di EB pro avremo anche una tag dello stato della flash del pannello).
Altre cose non me ne vengono in mente se non è stato fatto nessun tipo di modifica al PLC o al pannello. Come ultima spiaggia si può aggiornare il programma PLC e re importare le TAGs in EasyBuilderPro e ricaricare il progetto.
Sergio Bertana
Amministratore del forumRispondo con piacere a questa domanda per ricordare che gli esempi sono distribuiti in programmi dimostrativi (Vengono codificati con un acronimo a 3 lettere PTP seguito da progressivo e versione).
Per comodità nella knowledge base ad ogni oggetto (FB o funzione) distribuita con LogicLab, l’elenco è visibile nella pagina indice del manuale, è riportato il solo esempio in linguaggio ST. Si è scelto ST perchè essendo un linguaggio testuale con un semplice copia/incolla lo si può importare direttamente nel proprio progetto (Vedi articolo).
Ma in realtà nel programma dimostrativo (Vedi codice Ptp riportato sull’esempio) ci sono anche esempi nei linguaggi grafici (LD, FBD). Con una operazione di import da LogicLab è possibile importare nel proprio progetto il programma desiderato.
Ora venendo alla tua domanda nel Ptp205 c’è il programma FBD_ModbusMasterOnTCP che realizza quello che ti serve in linguaggio FBD.
Sergio Bertana
Amministratore del forumSi certo è possibile utilizzare HUB USB connesso alla porta USB Host.
Anche se nel tuo caso non dovresti avere problemi di alimentazione, per evitare di sovraccaricare l’alimentatore USB consiglio di usare un Hub con alimentazione indipendente.
Novembre 7, 2023 alle 9:16 am in risposta a: Problema lettura stringhe absolute addressing da PLC S7-1500 #74541Sergio Bertana
Amministratore del forumLe immagini in base64 non sono visualizzabili, carica le immagini su qualche sito cloud (Esempio imgur) e postane il link…
Ottobre 26, 2023 alle 5:17 pm in risposta a: Gestione PWM con precisione modulazione di 10 uS #74467Sergio Bertana
Amministratore del forumSui moduli CPU SlimLine la gestione PWM è realizzata in hardware dal microcontrollore ed ha una risuluzione elevata ma purtroppo il circuito di uscita utilizza un OptoMOS che ha tempi di ritardo notevoli.
Per questo motivo abbiamo limitato l’impostazione di duty del FB SysSetPWMOut a 1%. Alla tua impostazione di frequenza 50Hz avremo un periodo di 20mS quindi il valore minimo del duty è di 200uS.
Agendo sul valore di duty potrai poi modificarlo con step molto piccoli ti riporto un esempio con oscillogramma dove con l’uscita PWM caricata ad 1KOhm a 5Volt si può vedere il comportamento dell’uscita. Nell’oscillogramma in alto la durata dell’impulso a 1% di duty è di circa 300uS poi come vedi nell’oscillogramma in basso per avere un aumento di 100uS di durata ho dovuto impostare il valore di duty da 1% a 1.4%. Quindi potrai variare la durata dell’impulso di 10uS con step di valore del 0.04%.
Sergio Bertana
Amministratore del forumIntanto ti consiglierei di utilizzare la nuova versione FB HTTPClient_v5. Per poterla utilizzare devi eseguire il download dell’ultima versione del package e della libreria eLLabHTTPLib (Vedi articolo).
Detto questo visto che la warning si riferisce all’uscita DBChars del FB HTTPClient di tipo UDINT, dovresti verificare come hai utilizzato questa uscita nel tuo programma.
Ottobre 18, 2023 alle 2:04 pm in risposta a: Gateway Modbus TCP/RTU per lettura condizionatori #74393Sergio Bertana
Amministratore del forumIl FB ModbusGateway agisce da gateway tra due streams di comunicazione, quindi puoi connettere qualsiasi stream, seriale, TCPServer o TCPClient.
Se usi il gateway il PLC non fà altro che gestire i comandi che arrivano da uno stream (Esempio ModbusTCP) e li invia sull’altro stream (Esempio modbus seriale) o viceversa. Quindi sarà il sistema connesso al gateway a gestire l’ordine delle comunicazioni.
Non comprendo bene la tua domanda, se scrivi 100 in un registro quando lo rileggi sarà con valore 100, certo un attimo prima di scriverlo leggerai il vecchio valore, ma questo non si può evitare. Immagino però che chi visualizza continui ad interrogare il dispositivo, nei pannelli operatore ad esempio se usi uno slider il pannello contina a leggerlo ed a visulizzarlo con il suo valore. Quando sposti il cursore viene scritto il nuovo valore che poi viene riletto.
Sergio Bertana
Amministratore del forumMentre utilizzavi il FB eTP, abbiamo rilasciato con il package Pck055a010 la nuova versione TP timer pulse. La nuova versione funziona esattamente come la precedente, l’unica differenza è che ora i valori di PT ed ET sono in formato TIME. Nella pagina di manuale abbiamo riportato il diagramma di funzionamento che credo dia una idea di come utilizzare il FB.
Ma veniamo alla tua domanda, ET è una uscita del FB quindi anche se tu la azzeri il FB la continuerà a settare con il suo valore interno. Per gestire la luce scala, basta appoggiare SB3 (serie dei pulsanti scala) sull’ingresso IN del FB. Come vedi dal digramma di funzionamento sulla attivazione di IN si attiva l’uscita Q che rimane attiva per il tempo impostato in PT. Trascorso il tempo l’uscita Q si disattiva indipendentemente dallo stato dell’ingresso IN, ecco un esempio di utilizzo.
ScalaTerra1.IN:=SB3; //Comando ingresso ScalaTerra1(); //Eseguo il timer luce scala Lampada:=ScalaTerra1.Q; //Gestisco la lampada
Per avere una nuova attivazione dell’uscita Q devi disattivare l’ingresso IN e poi riattivarlo,
Sergio Bertana
Amministratore del forumPremetto che la maggior parte dei pannelli Weintek venduta è connessa a PLC Siemens, quindi sicuramente non ci sono problemi in tal senso.
Da come ritorni il risultato della diagnostica sembra che ci sia un problema sull’indirizzamento delle TAGs.
Come descritto nelle FAQs consiglio di utilizzare il protocollo S7CommPlus, Symbolic Addressing importando le TAGs direttamente dal file .apxx.
Se esegui il download della guida connessioni PLC, ci sono tutti i dettagli di come realizzare la connessione.
-
AutorePost