Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,126 a 1,140 (di 4,309 totali)
  • Autore
    Post
  • in risposta a: Connessioni Modbus RTU/TCP con rete di dispositivi #58812
    Sergio Bertana
    Amministratore del forum

    Si certo puoi usare il FB ModbusMaster con connessione seriale per gestire la comunicazione in RTU e visto che mi parli di Host PC credo che anche loro agiscano come slave Modbus quindi puoi usare il FB ModbusMaster anche per comunicare con loro in TCP/IP usando il FB SysTCPClient. C’è già un esempio nella pagina del FB ModbusMaster.

    Se i registri sono continuativi puoi utilizzare più istanze della FB ModbusMaster in cascata, in pratica il Done della 1a FB si connette all’Enable della successiva e così via fino all’ultima il cui Done negato si connette all’Enable della 1a.

    Se invece i registri sono distanti tra di loro e devi quindi gestire più richieste Modbus puoi utilizzare il FB ACModbus.

    Siccome devi collegarti a più hosts se vuoi avere più velocità puoi istanziare 6…8 FB SysTCPClient e altrettante istanze ModbusMaster in modo da poter comnunicare in parallelo con tutti gli Hosts.

    in risposta a: Comunicazione Modbus RTU con Energy meter SDM120 #58807
    Sergio Bertana
    Amministratore del forum

    Quindi se ho capito non utilizzi il FB EastronSDM120, ma vuoi provare a realizzare tu il programma con il FB ModbusMaster?

    Allora se devi comunicare con più dispositivi in RS485 multidrop devi utilizzare la tecnica delle FB in cascata, in pratica istanzi più FB ModbusMaster tutte condividono il File in uscita dalla SysSerialPort. Il Done della prima FB lo colleghi all’Enable della seconda e così via, il Done dell’ultima istanza lo colleghi invertito all’Enable della prima. Puoi intrudurre una pausa di attesa tra le comunicazioni defindendo il valore di Delay.

    Ma molto meglio in questo caso utilizzare il FB ACModbus, che ti permette di connetterti a più dispositivi in multidrop utilizzando un solo FB ModbusMaster.

    in risposta a: Installazione driver RNDIS per connessione USB #58804
    Sergio Bertana
    Amministratore del forum

    Yes the SlimLine must be powered with a voltage from 10 to 30 Vdc.

    in risposta a: Comunicazione Modbus RTU con Energy meter SDM120 #58798
    Sergio Bertana
    Amministratore del forum

    Quando parli di tutorial credo tu ti riferisca a questo video, dove ho spiegato come eseguire l’acquisizione dei dati dagli Energy meter SDM120.

    Ora immagino tu abbia utilizzato per la lettura il FB EastronSDM120, che ne gestisce completamente la lettura. Ma come vedi il FB ha il parametro Node dove devi definire il nodo Modbus del meter da acquisisre.

    In pratica ogni SDM120 deve avere il proprio indirizzo di nodo uno diverso dall’altro, di default l’indirizzo di nodo è 1, per cambiarlo devi seguire le informazioni del manuale, in pratica devi tenere premutoil tasto sul frontale per entrare in Set parametri e poi inviare un comando Modbus di scrittura indirizzo di nodo.

    in risposta a: Installazione server MySQL #58791
    Sergio Bertana
    Amministratore del forum

    Ricordo che attualmente SlimLine Raspberry rispetto alle altre versioni di SlimLine, non è realtime e quindi i task Slow e Fast sono eseguiti con jitter che potrebbero essere elevati in relazione al carico dei vari core della CPU. Quindi nel tuo caso non conoscendo quanto il server MySQL appesantisca la CPU, non posso darti una risposta precisa.

    Può lanciare il comando “top” o “htop” da una connessione SSH (Utilizza Putty o MobaXTerm) per verificare il carico CPU.

    Prossimamente ma al momento non ho una data, nelle prossime versioni del runtime LogicLab, ci sarà una FB utilizzabile per calcolare sia i tempi di esecuzione dei vari task che i jitter di ognuno di essi.

    in risposta a: EasyBuilderPro, modifica multipla attributi oggetti #58780
    Sergio Bertana
    Amministratore del forum

    Mettendo a video la visualizzazione delle librerie shape ed immagine come da screenshot, puoi selezionare più oggetti e poi con un doppio click sulla nuova immagine da usare saranno tutte cambiate.

    in risposta a: Realizzare una comunicazione TCP/IP con protocollo libero #58777
    Sergio Bertana
    Amministratore del forum

    Sui terminali Weintek direi che la soluzione FreeProtocol sia corretta, eventualmente da verificare l’uso dell’INPORT, di questi ce ne sono 3 differenti a seconda del tipo di risposta che può arrivare.

    Proverei con inport2 in modo da poter non definire il numero di byte che mi aspetto ma tenendo aperta la lettura per x ms  quindi analizzarli.

    [Description]
         Read data from a communication port. After the data is read, if there's no upcoming data during the designated time interval, the function returns.
    
    [Usage]
         INPORT2(response[start], device_name, receive_len, wait_time)
         note : the length of data being recieved is written into receive_len (unit : byte).
    
    [Example]
         short wResponse[6], receive_len, wait_time=20
         INPORT2(wResponse[0], "Free Protocol", receive_len, wait_time) //wait_time's unit : millisecond
    
         if receive_len >= 6 then
               SetData(wResponse[0], "Local HMI", LW, 0, 6) //set responses to LW0
         end if

    Aggiungo, visto che produciamo PLC che utilizzando un sistema SlimLine con il FB SysTCPClient puoi gestire la connessione al server e poi hai le classiche funzione Sysfread, Sysfwrite, SysVsscanf, SysVfprintf, ecc.. per gestire il tuo protocollo in piena libertà.

    in risposta a: Gestione pagine da Macro #58771
    Sergio Bertana
    Amministratore del forum

    Se si parla di pagine base, basta andare a scrivere il valore della pagina che si vuole aprire (Quindi chiudendo quella attuale) su una LW libera ed impostarla nelle funzioni PLC come cambio pagina.

    Se invece parliamo di una pagina di pop up da chiudersi è meglio richiamarli come pagina diretta o indiretta quindi andare ad azzerare il bit o la word di richiamo cosi da chiuderla.

    in risposta a: Realizzare una connessione Modbus TCP/IP #58769
    Sergio Bertana
    Amministratore del forum

    Non conosco il prodotto in questione ma immagino che il prodotto sia un server Modbus e tu debba connetterti come client. Quindi puoi utilizzare il FB TCPClient per aprire la connessione TCP verso il dispositivo, poi passerai il File in uscita come parametro al FB ModbusMaster che potrai parametrizzarlo in base al codice funzione ed indirizzo Modbus necessario.

    In fondo alla pagina di manuale del FB ModbusMaster c’è il programma ST_ModbusMaster_v1 che puoi copiare ed importare in un tuo progetto LogicLab che è già pronto con tutto quello che serve, in realtà c’è anche la gestione da porta seriale che puoi cancellare.

    Se le variabili Modbus da leggere/scrivere su dispositivo sono molte e distanti tra di loro e quindi richiedono l’utilizzo di più pacchetti Modbus ti consiglio di abbinare il FB ACModbus che ti semplifica il lavoro.

    in risposta a: Gestione file e cartelle da programma #58767
    Sergio Bertana
    Amministratore del forum

    Non è possibile creare cartelle sul file system da programma, l’unico modo per creare nuove cartelle è utilizzando una connessione FTP al sistema. Dal client FTP potrai gestire completamente il file system creando e cancellando cartelle, rinominando file e cartelle.

    Le cartelle create potranno poi essere accessibili da programma con la funzione Sysfopen in cui definirai il percorso completo del file da aprire o da creare (Nel caso lo apri in write od in append).

    in risposta a: Scambio dati tra browser e PLC #58762
    Sergio Bertana
    Amministratore del forum
    1. Usando i TAGS per pagine html…
      E’ vero che per gestire variabili da pagina web utilizzando il server HTTP del sistema devi allocare le variabili in DB100, ma puoi definire la tua struttura dati che poi allocherai nella DB100 rendendone posibile l’accesso da pagine web e questo senza creare doppioni.
    2. Potrei usare il blocco HTTPServer…
      Se utilizzi il FB HTTPServer devi agganciarlo ad una porta libera, volendo utilizzare la 80 devi definire una porta diversa per il server HTTP del sistema. Potrai così utilizzare il FB per visualizzare tutte le tue pagine e gestire lo scambio dati in AJAX.
    3. Qual è il modo migliore…
      Per passare molti dati alla pagina web certo il modo migliore è utilizzare il FB HTTPServer che ti permette di definire in completa libertà le stringhe da inviare al browser.
    in risposta a: Aggiornamento pagine web di sistema #58759
    Sergio Bertana
    Amministratore del forum

    Non riesco a spiegarmi il motivo del tuo problema, giorni fà ti ho mandato una eMail in privato chiedendoti di chiamarmi al telefono per aprire una sessione TeamViewer per vedere il problema direttamente sul tuo sistema.

    Magari è finita nello spam, se vuoi contattami per telefono così vediamo di capire il problema.

     

    in risposta a: Controllo motore passo-passo in Modbus #58720
    Sergio Bertana
    Amministratore del forum

    Naturalmente avendo la necessità di dover comunicare con più drivers devi forzatamente utilizzare una connessione in RS485. Meglio in questo caso sarebbe stato utilizzare un modulo CPU MPS054B110 che ha già l’interfaccia RS485 isolata ed essendo basato su CPU CortexM7 avresti anche una maggiore velocità di esecuzione ed un maggior spazio di programma. Visto che disponi di un MPS053 puoi eventualmente utilizzare un convertitore RS232/Rs485 con i vari adattatori per RJ45 per lo scopo.

    Certo devi tenere presente quale è la velocità richiesta nella comunicazione, tenendo conto che il massimo baud rate e 115200 (ca 10000 caratteri al secodo) e nel protocollo Modbus oltre ai dati ci sono i controlli ed ad ogni pacchetto vi è un pacchetto di risposta con tutti i tempi relativi per gestirli.

    in risposta a: Utilizzo TAGs nella pagine HTM dinamiche #58714
    Sergio Bertana
    Amministratore del forum

    Nel parsing dei TAGs è importante la posizione delle virgole e degli spazi, devi scrivere la TAG nel modo:

    Intero: <!--["%d", UINT, 10]-->

    Così vedrai che tutto ti funzionerà.

    in risposta a: Aggiornamento pagine web di sistema #58709
    Sergio Bertana
    Amministratore del forum

    Vista la dipendenza delle pagine web dalla versione del firmware del sistema abbiamo realizzato e distribuiamo un package che contiene tutto quello che serve per eseguire l’upgrade del sistema puoi trovare le informazioni sull’upgrade dei sistemi ed eseguire il download del package dalle pagine relative sia ai sistemi basati su ARM7 che CortexM7.

    Aggiungo che dopo avere aggiornato il firmware e caricato le nuove pagine, devi dare da telnet (Loggandoti come Admin) il comando “CfgCommit -d” che aggiorna i diritti di accesso alle varie directories del sistema seguito dal comando “Reboot”. Puoi verificare nella pagina Security come sono settati i diritti.

    C:/Web - Anonymous - Admin
    C:/Web/webpages - Guest - Admin

    Attenzione che il comando resetta a default l’indirizzo IP, sui sistemi Cortex si attiva il client DHCP ed aspetta l’indirizzo dal server. Se non c’è server DHCP va in IP di fallback 192.168.0.122. Per vedere che indirizzo IP assume il sistema utilizza la funzione Discovery di Toolly.

    Per le impostazioni occorre agire sull’icona ingranaggio come da screenshot.

Stai visualizzando 15 post - dal 1,126 a 1,140 (di 4,309 totali)