Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Ottobre 26, 2022 alle 2:58 pm in risposta a: Errore “eGetBYTE => Funzione sconosciuta” in compilazione #68377
Sergio Bertana
Amministratore del forumTra le varie novità introdotte con l’uscita della versione 5.22.x.xx di LogicLab è stato introdotta la definizione PVOID per i puntatori. Si utilizza per definire i puntatori che possono indirizzare qualsiasi tipo di variabile.
Nella libreria eLLabCommonLib poter accedere ai diversi tipi di variabili puntate da un puntatore PVOID sono state definite funzioni specifiche (Vedi manuale).
Dall’errore credo che il tuo problema sia il non avere inserito la libreria eLLabCommonLib nel progetto.
Ottobre 24, 2022 alle 6:14 pm in risposta a: Refresco de pantallas lento en cMT2166X conectado a 4 PLC Schneider M251 #68257Sergio Bertana
Amministratore del forumIl PLC Schneider m251 lavora in protocollo UDP che potrebbe essere gestito più lentamente dal pannello rispetto alla connessione TCP.
Come consiglio per velocizzare si può provare a gestire gli allarmi come array di bit e non singoli bit di allarme, ed in generale è sempre preferibile per ottimizzare la comunicazione usare array di Tags rispetto a Tags allocate in modo disordinato.
Per quanto riguarda la velocità sul cambio pagina, moltisimo dipende dalle immagini, conviene sempre avere immagini dimensionate esattamente sulla risoluzione del pannello in modo che non sia necessario eseguire un resize in visualizzazione.
Ottobre 24, 2022 alle 5:11 pm in risposta a: Condizionare ad autenticazione l’accesso al sistema da LogicLab #68253Sergio Bertana
Amministratore del forumAggiungo che disabilitando il protocollo Modbus il sistema non sarà più accessibile, quindi se hai connesso un pannello operatore oppure altri dispositivi, dovrai abilitare un server IP su una porta diversa da 502 ed abilitare un protocollo Modbus su questo server.
Così puoi lasciare la porta 502 abilitata per il LogicLab e un’altra porta per l’eventuale terminale. Questo naturalmente se accedi da remoto con un port forwarding, perchè da locale tramite connessione ethernet chiunque conosca la nuova porta potrà connettersi anche con LogicLab.
Se vuoi evitare che LogicLab possa connettersi allora devi istanziare un FB ModbusSlave connesso ad un SysTCPServer nel tuo programma, così Logiclab non potrà agire su questa connessione.
Ottobre 24, 2022 alle 3:59 pm in risposta a: Condizionare ad autenticazione l’accesso al sistema da LogicLab #68242Sergio Bertana
Amministratore del forumLogicLab si connette con il protocollo Modbus che non prevede autenticazione, per ottenere quello che desideri è possibile agendo da pagina Web disabilitare il protocollo Modbus sulle connessioni che vuoi inibire (Screenshot).
Ricordo che la connessione TCP ha di default 3 server attivi, infatti dalla pagina web ci sono 3 protocolli Modbus tutti connessi al server IP[0].
Disabilitando il protocollo Modbus LogicLab non potrà più connettersi, per abilitare nuovamente la connessione dovrai da pagina Web a cui accedi con le credenziali abilitare il protocollo Modbus sulla connessione da cui si connette LogicLab.
Sergio Bertana
Amministratore del forumIl nome dispositivo (Si imposta da pagina web, screenshot) non è appoggiato su variabili di sistema (System variables), ma si può rilevare tramite la funzione SysOSIDValue. Ecco un semplice programma di esempio.
PROGRAM MyProgram VAR i : UDINT; (* Auxiliary variable *) DName : STRING[ 20 ]; (* Device name *) END_VAR i:=SysOSIDValue(FALSE, OSID_DEVICE_NAME, ADR(DName));
Ottobre 21, 2022 alle 6:16 pm in risposta a: Dispositivi su rete RS485 convertitori ethernet/seriale #68233Sergio Bertana
Amministratore del forumLeggere/Scrivere registri Modbus RTU da Modbus TCP lo fanno tutti i modelli, la cosa da capire è se chi deve leggere agisce come client o come server.
Posso immaginare che sia un PC a leggere e che si connetta in modalità client al gateway (Su indirizzo IP e porta), in tal caso va benissimo l’ATC-1300.
Sergio Bertana
Amministratore del forumSi certo, visto cha hai l’accesso VNC al pannello puoi farti una pagina con il pulsante che attiva LB12665 e poi quando appare la pagina di upgrade progetto ne forzi il caricamento.
Sergio Bertana
Amministratore del forumPurtroppo non è possibile comandare l’avvio del download programma in automatico.
Eventualmente con LB12665 si può forzare il popup di richiesta upload/download ma poi si dovrebbe comunque agire direttamente sul pannello per la conferma.
Mi parli di impossibilità di apertura delle porte da parte del cliente, ma perchè non utilizzi EasyAccess che ti permette di accedere a tutte le funzioni del pannello ed anche ad eventuali PLC connessi senza aprire porte sul gateway del cliente.
Ottobre 20, 2022 alle 2:26 pm in risposta a: Dispositivi su rete RS485 convertitori ethernet/seriale #68213Sergio Bertana
Amministratore del forumNo, per convertire il protocollo da Modbus RTU/Ascii a Modbus TCP occorre utilizzare un dispositivo gateway. Nella nostra gammo di prodotti puoi trovare:
- Gateway Modbus TCP a RTU/ASCII ATC-3002
- Gateway MODBUS TCP-RTU/ASCII TRP-C37M
- Gateway Modbus TCP a RTU Low cost ATC-1300
Fai attenzione al modello ATC-1300, che è in grado di operare solo come Modbus TCP Server convertendo il protocollo da Modbus TCP a Modbus RTU su seriale. Il convertitore non può operare come TCP Client e con il protocollo Modbus Ascii.
Sergio Bertana
Amministratore del forumCome vedi dall’Appendice A il protocollo MPI è supportato da quasi tutti i modelli di pannello fare riferimento alle note riportate in tabella…
- Serie iP (Supportato se si utilizza l’ultima versione di EasyBuilderPro)
- Serie iE ((Supportato se si utilizza l’ultima versione di EasyBuilderPro)
- Non supportano il protocollo i modelli cMT2078X, cMT2108X, cMT2158X
- Non supporta il protocollo il modello cMT3161X
Sergio Bertana
Amministratore del forumPerché inserire il teleruttore, di solito per garantire che il motore non possa avviarsi viene utilizzato il circuito STO. Aprendo i due contatti del circuito l’inverter interrompe in modo hardware la potenza in uscita.
Come vedi dallo schema applicativo puoi usare un relè a 2 conatti per interrompere il circuito STO (Il cavo connesso a H1/H2 deve essere schermato e inferiore a 25mt).
Per quanto riguarda la configurazione che cerchi, potresti programmare uno dei 2 relè in uscita (R01 o R02) alla funzione 1 (Per R01 setta P06.03=1, per R02 setta P07.03=1). In questo modo il relè si chiude in caso di marcia e si apre sullo stop del motore.
Sergio Bertana
Amministratore del forumPurtropo non c’è una soluzione alla tua necessità, la procedura di Operation log salva solo le operazioni fatte fisicamente sul pannello operatore tramite l’interfaccia touch.
Per aggiungere log aggiuntivi, potresti gestire ulteriori flags nel PLC ed attivare una procedura di campionamento dati. Il tuo programma in Visual Basic dovrebbe poi prendere anche la tabella dei campionamenti ed estrarne i dati.
Sergio Bertana
Amministratore del forumNon ho informazioni dirette sull’utilizzo di EtherCAT, ma riporto le informazioni rilasciate al riguardo del run time Raspberry sul sito CODESYS.
The CODESYS Control for Raspberry Pi SL runtime does not necessarily fulfill hard real-time demands because its scheduling method depends on the operating system. However, if the operating system is configured accordingly (for example as RT preempt patch), then the time behavior is adapted and the jitter times are minimized.
Components supported by the runtime:
- Fieldbus protocol EtherCAT: CODESYS EtherCAT Master
- Fieldbus protocol EtherNet/IP: CODESYS EtherNet/IP scanner, CODESYS EtherNet/IP adapter
- Fieldbus protocol ProfiNet: CODESYS ProfiNet Master
- RS-232/RS-485-X3 (Modbus):
- CODESYS Modbus TCP Master/Slave
- CODESYS Modbus RTU Master/Slave
- CANopen
- CANopen via EL6751 Gateway
- J1939
- OPC UA: CODESYS OPC UA Server
- CODESYS WebVisu
- CODESYS SoftMotion, CNC
Sergio Bertana
Amministratore del forumSe ho ben capito gestisci ricette allocate in variabili in DB100, e dovendo gestire più dei 2048 bytes tamponati (Da DB100.2048 a DB100.4095) utilizzi il FB FileMemoryDump per salvare tutta l’area di 4096 bytes in un file su disco.
Però tu necessiti più di 4096 bytes e vorresti allocare un buffer di dimensione opportuna usando la memoria rilocabile con SysRMAlloc.
Non capisco però perchè devi accedere da Modbus a quest’area, stai forse utilizzando un pannello operatore Weintek, perchè se utilizzi un pannello operatore ti converrebbe gestire le ricette sul pannello, visto che utilizza un database e non ha problemi di dimensione.
Sergio Bertana
Amministratore del forumStiamo per rilasciare una nuova versione di LogicLab la 5.22.xx con una serie di nuove funzioni, tutto il sito è stato già aggiornato con gli esempi relativi all’utilizzo della nuova versione.
Ecco perchè non trovi ancora la versione v2, verranno rilasciate tutte le librerie aggiornate con la distribuzione del nuovo Logiclab. Nel tuo caso però puoi tranquillamente utilizare la versione v1 che è praticamente identica alla v2.
-
AutorePost