Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,386 a 2,400 (di 4,505 totali)
  • Autore
    Post
  • in risposta a: Tempo di riconnessione al server da FB TCP Client #39400
    Sergio Bertana
    Amministratore del forum

    Ho eseguito una modifica al programma precedente anzichè testare il fronte di disattivazione del TCPClient.Connected ho inserito un timer. In questo modo si è certi di controllare lo stato di TCP client disconnesso e di disabilitare per un loop il FB per forzare la riconnessione. Ecco la stampa del programma ed il progetto per il download.

    in risposta a: Tempo di riconnessione al server da FB TCP Client #39399
    Sergio Bertana
    Amministratore del forum

    Ho fatto delle prove ed in effetti ho visto che se la connessione del FB client ha la porta fissata (Come nell’esempio FBD), il PC non accetta la riconnessione immediata. Se tu utilizzi Wireshark ed analizzi la rete, vedrai che lo SlimLine invia il pacchetto di apertura connessione ma il PC lo rifiuta.

    La soluzione al problema è lasciare libera la porta da cui il client effettua la connessione TCPClient.LocalPort:=0; in questo modo ad ogni riconnessione il client cambia la sua porta ed il PC vedendo arrivare la connessione da una nuova porta la accetta immediatamente.

    Ti ricordo comunque che vi è un tempo di riconnessione cablato nel FB SysTCPClient di circa 10 secondi, se vuoi evitare questo tempo ed avere la riconnessione immediata devi gestire il comando di Connect da programma. Ecco come ho fatto:

    IF (TCPClient.Connected <> OneShot) THEN
      OneShot:=TCPClient.Connected;
      IF NOT(TCPClient.Connected) THEN TCPClient.Connect:=FALSE; END_IF;
    END_IF;

    TCPClient(); (* TCPClient management *)
    TCPClient.Connect:=TRUE; (* Connect command *)

    In questo modo come vedi appena il client si disconnette disabilita per un loop il comando di Connect per poi riabilitarlo. Ecco la stampa del programma ed il progetto per il download.

    in risposta a: Ripristino comunicazione verso server #39398
    Sergio Bertana
    Amministratore del forum

    Ho sviluppato una macro che si connetteva ad un server un pò di tempo fà, ho cercato in quello che avevo fatto ed ecco quello che ho trovato.

    short NullValue = 0
    bool BOOLFalse= 0
    bool BOOLTrue = 1
       
    SetData(NullValue, “Local HMI”, LW, 9600, 1) //PLC 4’s IP0 (IP address = IP0:IP1:IP2:IP3)
    SetData(NullValue, “Local HMI”, LW, 9601, 1) //PLC 4’s IP1 (IP address = IP0:IP1:IP2:IP3)
    SetData(NullValue, “Local HMI”, LW, 9602, 1) //PLC 4’s IP2 (IP address = IP0:IP1:IP2:IP3)
    SetData(NullValue, “Local HMI”, LW, 9603, 1) //PLC 4’s IP3 (IP address = IP0:IP1:IP2:IP3)
    SetData(BOOLFalse, “Local HMI”, LB, 10070, 1) //Toggle LB10070 per riconnettere PLC4
    DELAY(100)
    SetData(BOOLTrue, “Local HMI”, LB, 10071, 1) //Toggle LB10070 per riconnettere PLC4

    In pratica forzo la connessione su un IP inesistente e poi reimposto l’IP corretto e riforzo la connessione. Devi duplicare il pezzo di codice soprariportato, utilizzando il PLC che hai configurato come Free protocol, nel mio caso era il PLC4.
    Diventare clienti ci aiuta a mantenere in vita il supporto…

    in risposta a: Gestire PLC non connesso all’interno di una macro #39397
    Sergio Bertana
    Amministratore del forum

    Si legge il Manuale registri area riservata e si individua il bit riferito al PLC da testare e poi semplicemente:

    short PLCSts
    GetData(PLCSts, “Local HMI”, LB, 9200, 1)

    if (PLCSts) then
      GetData(……)
    end if

    in risposta a: Controllo uscite logiche da smartphone #39395
    Sergio Bertana
    Amministratore del forum

    Aggiungo lo screenshot del programma in esecuzione sul mio smartphone e connesso ad un Poseidon2 4002, come si vede dallo screenshot è possibile Attivare/Disattivare le singole uscite. L’attivazione delle uscite funziona solo sulla versione a pagamento dell’App.

    in risposta a: Controllo uscite logiche da smartphone #39394
    Sergio Bertana
    Amministratore del forum

    Il Damocles, come gli altri prodotti per il monitoraggio ambienti della HWgroup hanno tutti un web server integrato che permette di visualizzare lo stato dei sensori e degli I/O digitali. Dal server web è anche possibile gestire le uscite digitali. Tutti i prodotti si connettono al server cloud SensDesk. Tramite il portale SensDesk è possibile visualizzare i sensori e lo stato degli I/O anche tramite l’apposita app per smartphone. Il portale non permette però di gestire le uscite logiche, in alternativa puoi utilizzare l’app IP Sensors Eye. Ricordo che IP Sensor Eye si connette direttamente al dispositivo, quindi nessun problema se in rete locale (WiFi) mentre per potervi accedere da Internet devi disporre di un IP statico ed eseguire il forwarding delle porte  relative.

    in risposta a: Gestire PLC non connesso all’interno di una macro #39393
    Sergio Bertana
    Amministratore del forum

    Se il PLC non è connesso la funzione GetData esce per errore dopo un timeout, naturalmente l’esecuzione della macro si arresta per il tempo di controllo del timeout.

    Per evitare di stare in esecuzione della macro per tutto il tempo di timeout nel caso il PLC non sia connesso puoi testare i bit di stato comunicazione con il PLC e condizionare l’esecuzione della macro.

    in risposta a: Come sono gestiti gli I/O sullo SlimLine CODESYS #39392
    Sergio Bertana
    Amministratore del forum

    Per la definizione degli I/O logici in ambiente CODESYS rimando a questo topic.

    in risposta a: Definire gli I/O logici in un programma #39391
    Sergio Bertana
    Amministratore del forum

    Su come il run time di CODESYS gestisce gli I/O logici consiglio di dare una occhiata a questo topic.

    in risposta a: Visualizzazione interfaccia grafica da web browser #39390
    Sergio Bertana
    Amministratore del forum

    Non mi spiego quale possa essere il tuo problema, intanto il problema si manifesta anche nella finestra di debug dell’ambiente CODESYS o solo nel browser ?

    Io ho provato a fare un semplice progetto VisuTest che simula la situazione che tu lamenti, ma non ho nessun tipo di problema, prova ad eseguire il download del progetto e verifica tu stesso.

    in risposta a: Disponibilita’ di un identificatore univoco #39388
    Sergio Bertana
    Amministratore del forum

    Tutta la documentazione è accessibile dall’help di CODESYS, naturalmente devi avere un progetto aperto impostato per il nostro target (Screenshot).

    in risposta a: Modifica password d’accesso al server FTP #39385
    Sergio Bertana
    Amministratore del forum

    La documentazione fà parte dell’insieme fornito da Beck nel suo SDK, ho estratto i riferimenti al CHIP.INI che posto per il download.

    L’indirizzo IP del modulo si imposta dalla configurazione PLC (Screenshot) ma devi avere un progetto aperto impostato per il nostro target.

    in risposta a: Calcolare portata e consumo acqua per uso domestico #39383
    Sergio Bertana
    Amministratore del forum

    Per essere più precisi servirebbe il datasheet del sensore ma leggendo le connessioni sembra di capire che lo devi alimentare a 12 Vdc e che collegando il filo giallo ad un ingresso digitale dello SlimLine puoi leggere gli impulsi generati.

    Ora dagli impulsi acquisiti puoi ricavare il flusso che sembrerebbe essere 5 impulsi per L/Min. Per calcolare la portata dovrai moltiplicare il flusso per il tempo.

    in risposta a: Disponibilita’ di un identificatore univoco #39382
    Sergio Bertana
    Amministratore del forum

    Allo stato attuale non esiste un identificatore univoco accessibile da programma utente così come il SysUniqueID dei sistemi LogicLab (Topic). In realtà l’ID univoco viene programmato ma non è accesibile dal programma utente.

    Volendo avere un ID univoco è possibile utilizzare una funzione di sistema operativo che ritorna il MAC address del modulo.

    i:=RtosGetMacAddress(ADR(MACAdd));

    Dove: MACAdd: ARRAY [0..5] OF USINT;

    in risposta a: Modifica password d’accesso al server FTP #39381
    Sergio Bertana
    Amministratore del forum

    Per l’FTP ci sono 2 utenti configurabili: USER0 e USER1. I valori di default sono:
    USER0: User: anonymous Password: no password
    USER1: User: ftp Password: ftp

    I valori si possono cambiare andando a modificare il file CHIP.INI inserendo nella sezione [FTP]:
    USER0=userone
    PASSWORD0=pswone
    USER1=usertwo
    PASSWORD1=pswtwo

    Attenzione: I valori NON sono case sensitive.

Stai visualizzando 15 post - dal 2,386 a 2,400 (di 4,505 totali)