Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Ottobre 28, 2022 alle 2:19 pm in risposta a: Abilitare licenza EasyAccess Trial con Activation Card #68451
Sergio Bertana
Amministratore del forumSe il pannello è gia attivato con una trial non serve collegarsi nella rete in cui si trova il pannello o usare PC activator, ma devi accedere al dominio e attivarlo da li.
Per attivare in via definitiva una licenza su un pannello trial occorre:
- Accedere al dominio nel quale è stato aggiunto e attivata la trial.
- Andare nelle info del pannello e nel tab licenza selezionare attiva.
- Quindi inserire il codice della card.
Ottobre 27, 2022 alle 11:47 am in risposta a: Connessione seriale tra software CAM e macchina utensile #68404Sergio Bertana
Amministratore del forumIl limite delle connessioni RS232 è 15 metri, ora se nella connessione non sono utilizzati i criteri di controllo (RTS, CTS) ma funziona utilizzando i classici 3 fili Rx, Tx, GND hai diverse opzioni.
- Se puoi utilizzare una connessione cavo, puoi convertire la RS232 in una RS422 utilizando i convertitori Seriale/Seriale. Con due doppini la RS422 ti permette di avere distanze fino a 1200 metri.
- Puoi utilizzare una coppia di radiomodem, utilizzando frequenze più basse rispetto al WiFi permettono di comunicare anche in presenza di ostacoli.
- Puoi utilizzare una connessione ethernet con i convertitori Ethernet/Seriale, puoi utilizare una coppia di convertitori oppure 1 solo convertitore lato macchina utensile ed un software di VirtualCOM nel PC.
- Puoi utilizzare una connessione WiFi con una coppia di convertitori WiFi/seriale, o se hai gia una rete WiFi esistente puoi usare 1 solo convertitore lato macchina utensile ed un software di VirtualCOM nel PC.
La soluzione in RS422 è la più facile e con meno problemi.
Nelle connessioni Ethernet/Seriale e WiFi/Seriale se utilizzi il VirtualCOM a volte ci sono problemi di coesione con altri programmi in Windows e devi perdere tempo nella configurazione o addirittura cambiare software di VirtualCOM. Sicuramente hai meno problemi con una coppia di convertitori in modalita Client/Server.
Sergio Bertana
Amministratore del forumPuoi scrivere una macro eseguita a tempo che esegue la lettura del valore analogico e lo memorizza in un array di valori float. Sull’array di valori puoi utilizzare le funzioni di media messe a disposizione dal Macro language.
- AVERAGE(source[start], result, count). Gets the average value from array.
- HARMEAN(source[start], result, count). Gets the harmonic mean value from array.
- MEDIAN(source[start], result, count). Gets the median value from array.
Trovi gli esempi nel manuale di EasyBuilderPro
Ottobre 26, 2022 alle 5:47 pm in risposta a: Simulazione on line pannello cMT2108x2 e PLC Schneider Electric TM241 #68394Sergio Bertana
Amministratore del forumDue verifiche ovvie sono:
Il PC dove esegui la simulazione è nella rete del PLC?, se esegui un ping del PLC da PC il ping riesce?
Prova a disabilitare il firewall di Windows, magari quando EasyBuilder ti ha chiesto di creare al regola non l’ahi abilitata.
Ottobre 26, 2022 alle 4:04 pm in risposta a: Errore “eGetBYTE => Funzione sconosciuta” in compilazione #68389Sergio Bertana
Amministratore del forumMi sembra che non hai seguito bene l’esempio che citi, nell’esempio viene eseguita questa operazione:
LBDTime[0]:=TO_LDATE_AND_TIME(SysDateGetNs()); //Long date and time buffer
Ma la variabile di appoggio LBDTime[0] è di tipo LDATE_AND_TIME e non LDATETIMESTRUCT.
Per valorizzare una variabile LDATETIMESTRUCT (Che è una struttura dati) devi eseguire come nell’esempio l’operazione:
i:=SPLIT_DT(BDTime[0], ADR(LDTime[1].Year), ADR(LDTime[1].Month), ADR(LDTime[1].Day), ADR(LDTime[1].Hours), ADR(LDTime[1].Minutes), ADR(LDTime[1].Seconds));
Ottobre 26, 2022 alle 3:31 pm in risposta a: Errore “eGetBYTE => Funzione sconosciuta” in compilazione #68382Sergio Bertana
Amministratore del forumIl programma che citi (Si trova in questo articolo) non era ancora stato corretto, quindi il pointer Ptr definito come @BYTE, in realtà punta ad una variabile stringa RxTxBuf, e nel tuo progetto probabilmenti hai la flag Project->Option->Code Generation->Strict pointers check attiva. Con la versione 5.22 di LogicLab il controllo sui pointer è più rigoroso e quindi genera errore.
Se togli come indicato in questo articolo la spunta sul controllo dei pointers il programma verrà compilato.
Ho comunque provveduto a modificare l’esempio convertendo Ptr in un pointer PVOID, ed utilizzando le funzioni di gestione void pointer.
Ottobre 26, 2022 alle 2:58 pm in risposta a: Errore “eGetBYTE => Funzione sconosciuta” in compilazione #68377Sergio 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.
-
AutorePost