Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 676 a 690 (di 4,313 totali)
  • Autore
    Post
  • in risposta a: Errore “eGetBYTE => Funzione sconosciuta” in compilazione #68377
    Sergio Bertana
    Amministratore del forum

    Tra 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.

    Sergio Bertana
    Amministratore del forum

    Il 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.

    in risposta a: Condizionare ad autenticazione l’accesso al sistema da LogicLab #68253
    Sergio Bertana
    Amministratore del forum

    Aggiungo 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.

    in risposta a: Condizionare ad autenticazione l’accesso al sistema da LogicLab #68242
    Sergio Bertana
    Amministratore del forum

    LogicLab 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.

    in risposta a: Lettura nome dispositivo da programma utente #68237
    Sergio Bertana
    Amministratore del forum

    Il 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));
    in risposta a: Dispositivi su rete RS485 convertitori ethernet/seriale #68233
    Sergio Bertana
    Amministratore del forum

    Leggere/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.

    in risposta a: Forzare installazione aggiornamento progetto #68230
    Sergio Bertana
    Amministratore del forum

    Si 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.

    in risposta a: Forzare installazione aggiornamento progetto #68218
    Sergio Bertana
    Amministratore del forum

    Purtroppo 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.

    in risposta a: Dispositivi su rete RS485 convertitori ethernet/seriale #68213
    Sergio Bertana
    Amministratore del forum

    No, 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.

    in risposta a: Possibilità di connessione con PLC Siemens MPI #68208
    Sergio Bertana
    Amministratore del forum

    Come 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
    in risposta a: Inserire teleruttore tra inverter e motore #68195
    Sergio Bertana
    Amministratore del forum

    Perché 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.

    in risposta a: Log operazioni anche su flags gestite da PLC #68161
    Sergio Bertana
    Amministratore del forum

    Purtropo 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.

    in risposta a: Utilizzo motion CODESYS con Ethercat #68155
    Sergio Bertana
    Amministratore del forum

    Non 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
    in risposta a: Gestione ricette di grandi dimensioni #68152
    Sergio Bertana
    Amministratore del forum

    Se 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.

    in risposta a: Blocco funzione ModbusMaster_V2 #68149
    Sergio Bertana
    Amministratore del forum

    Stiamo 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.

Stai visualizzando 15 post - dal 676 a 690 (di 4,313 totali)