Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 3,931 a 3,945 (di 4,373 totali)
  • Autore
    Post
  • in risposta a: Informazioni su programmazione SFC #36827
    Sergio Bertana
    Amministratore del forum

    Il linguaggio SFC permette la descrizione del funzionamento di un impianto evidenziandone il comportamento sequenziale. l’SFC facilita l’approccio top-down al progetto, il funzionamento dell’impianto viene scomposto in passi fondamentali analizzati in fasi successive, riducendo così la complessità di ogni singolo elemento che compone la logica del sistema di controllo.

    Bisogna considerare un programma SFC come una serie di passi, ogni passo è caratterizzato da una azione ed il passaggio al passo successivo viene eseguito quando è soddisfatta la transizione.

    Nelle azioni, il codice P viene eseguito una sola volta alla attivazione della azione, il codice N viene sempre eseguito fino a che l’azione è attiva.

    Nelle transizioni, occorre inserire il controllo che gestisce il passaggio alla azione successiva. Può essere il test di una variabile oppure l’esecuzione di un programma.

    Ti rimando a questo post dove troverai ulteriori informazioni ed un programma dimostrativo.

    in risposta a: Compatibilità dei dispositivi AirMax con PC e smartphone #36826
    Sergio Bertana
    Amministratore del forum

    Tutti i prodotti Ubiquiti stanno lentamente migrando verso lo standard 802.11n che si distingue per elevata compatibilità e prestazioni migliori rispetto al protocollo precedente 802.11g. La caratteristica principale del nuovo standard è velocità di connessione, fino a 300Mbps (802.11g arriva a 54Mbps).La velocità di trasferimento aumenta grazie alla tecnologia MI-MO (multiple-input, multiple-output) ed al channel bonding (unione dei canali). La versione precedente 802.11g utilizza canali a 20MHz mentre l’802.11n può usare canali a 40MHz.Naturalmente queste nuove implementazioni non sono compatibili con apparecchi WiFi di vecchia generazione, anche se i produttori di PC e smartphone stanno implementando il supporto alla 802.11n nei loro apparecchi. Per mantenere la compatibilità con apparecchi che non supportano il nuovo standard, occorre disabilitare le funzioni MI-MO e channel bonding sull’access point. Nel Tab Wireless occorre settare il Channel Width a 20MHz, e nel Tab Advanced occorre disabilitare la voce AirMax (Vedi screenshot).

    in risposta a: Errore 0xc0000005 esecuzione programma EasyBuilder #36825
    Sergio Bertana
    Amministratore del forum

    L’antivirus Avast dalla versione 5.1.889 ha la possibilità di entrare in conflitto con EasyBuilder e di creare il tipo di problema da te lamentato. Nella prossima versione di EasyBuilder il problema sarà risolto, ma al momento attuale l’unica possibilità è di mettere in pausa l’antivirus. Allego FAQ di Weintek sulla definizione del problema.

    in risposta a: Configurazione dispositivi Ubiquiti in modalità WDS #36824
    Sergio Bertana
    Amministratore del forum

    Il WDS Wireless Distribution System è un sistema che permette l’interconnessione di access point attraverso la rete wireless, permettendo l’espansione di una rete senza fili, usando access point multipli, senza necessità di un collegamento cablato.

    Un access point può essere principale o di inoltro. L’access point principale è collegato tipicamente alla rete cablata, l’access point di inoltro trasmette i dati fra le stazioni remote e principali. I collegamenti fra i due access points sono definiti usando gli indirizzi MAC.

    Tutti i dispositivi Ubiquiti supportano il WDS la cui implementazione è stata mano mano migliorata con le diverse versioni di sistema operativo, per questo consiglio sempre di eseguire l’upgrade all’ultima versione di sistema operativo AirOS disponibile per il proprio dispositivo, le prove sono state da me eseguite con versione 5.3.2.

    Nel tuo caso dovrai configurare l’access point principale (Quello esistente) come access point WDS, definendo come WDS Peers il MAC address dell’access point di inoltro (Quello installato nel vano scala). Nell’access point di inoltro dovrai definire come WDS Peers il MAC address dell’access point principale. Tutte le stazioni resteranno configurate come normali stazioni (Vedi nota applicativa).

    in risposta a: Numero di devices collegabili su rete RS485 #36823
    Sergio Bertana
    Amministratore del forum

    Lo standard RS485 teoricamente può supportare fino a 32 dispositivi connessi sul bus (con i moderni 485 si arriva tranquillamente a 128 nodi e con alcuni 485 particolari e per questo costosi si arriva sino a 256 nodi).

    I drivers 485 hanno come caratteristica di uscita la capacità di pilotare fino a 32 transceivers con impedenza standard, se il transceiver utilizzato sui dispositivi connessi e ad alta impedenza, il numero di devices che un driver può pilotare è dipendente dalla impedenza del transceiver.

    Sui nostri sistemi SlimLine ad esempio viene utilizzato il modello LT1785A della Linear technology che ha una elevata impedenza di ingresso e supporta fino a 128 dispositivi (Datasheet).

    Nel tuo caso, visto che asserisci di utilizzare dei drivers ad alta impedenza, non esiste sicuramente problema per l’ATC-1000 a pilotare fino al numero di dispositivi che il transceiver dei dispositivi connessi dichiara. Vedi post per ulteriori informazioni.

    in risposta a: Conversione programma da Remoter a LogicLab #36820
    Sergio Bertana
    Amministratore del forum

    A quanto detto nel post precedente aggiungo un suggerimento per risolvere il parallelo e/o la serie tra rami quando il primo operando del ramo in parallelo/serie è un operando negato. Su statements di OR( e AND( non è possibile effettuare la negazione diretta, occorre caricare l’operando e poi invertirlo con uno statement NOT.

                    (* ORGR *)
    LD  %I0.0   (* LODT I 0000 *)
    AND %I0.1  (* ANDT I 0001 *)

    OR( %I0.2   (* LODF I 0002 *)
    NOT
    ANDN %I0.3  (* ANDF I 0003 *)
    )                 (* ORLR *)

    ST  %Q0.0   (* OUTT O 0000 *)

                   (* ORGR *)
    LD  %I0.0   (* LODT I 0000 *)
    AND %I0.1  (* ANDT I 0001 *)

    AND( %I0.2   (* LODF I 0002 *)
    NOT
    ANDN %I0.3  (* ANDF I 0003 *)
    )                 (* ANDR *)

    ST  %Q0.1   (* OUTT O 0001 *)

    in risposta a: Conversione programma da Remoter a LogicLab #36819
    Sergio Bertana
    Amministratore del forum

    Non esiste un tool di conversione dal linguaggio RIL (Remoter Instruction List) al linguaggio IL (Instruction List) della IEC61131-3, occorre effettuare la conversione manualmente. Il mio consiglio è di convertire i programmi RIL direttamente in LD (Ladder Diagram) la conversione è più immediata ed i programmi risultano più leggibili perchè visualizzati in modo grafico. Di seguito la conversione di un semplice ramo per dare una idea di come sia possibile effettuarla.

                        (* ORGR *)
    LDN    %IX0.0  (* LODF I 0000 *)
    AND    %IX0.1  (* ANDT I 0001 *)
    OR(     %IX0.0  (* LODT I 0000 *)
    ANDN  %IX0.1  (* ANDF I 0001 *)
    AND    F0001    (* ANDT F 0001 *)
    )                    (* ORLR *)
    ANDN  F0003    (* ANDF F 0003 *)
    ANDN  F0004    (* ANDF F 0004 *)
    S       %Q0.0    (* LTCH O 0000 *)

    Di seguito la conversione di un ramo che utilizza un timer.

                    (* ORGR *)
    LD    %IX0.2    (* LODT I 0002 *)
    ST    T0000.IN

    LD    1000
    ST     T0000.PT       
    CAL    T0000     (* OUTM T 0000 KD 0010 *)

                    (* ORGR *)
    LD    T0000.Q  (* LODT T  0000 *)
    R      %Q0.0     (* UTCH O 0000 *)

    Allego un programma LogicLab di esempio e la stampa dello stesso, nel programma vi è anche la conversione in LD per comprendere la logica (Download programma).

    Attenzione! Nella scrittura in LD non è possibile fare riferimento diretto agli operandi di I/O come nel linguaggio IL, quindi anche per gli I/O sono stati utilizzati degli mnemonici. In LD l’uscita %Q0.0 è stata sostituita con la %Q0.1 per permettere il test del programma sul sistema.

    in risposta a: Cavi collegamento CPU SlimLine #36818
    Sergio Bertana
    Amministratore del forum

    La versione Lite della CPU SlimLine dispone di 2 porte seriali RS232, disponibili su connettore RJ45 ad 8 poli. La versione Full aggiunge la disponibilità di una porta ethernet e di una porta RS485 o CAN. Tutti i modelli dispongono anche di una porta USB client che alla versione attuale del software non è gestita.

    Per quanto riguarda la connessione del modulo CPU con la porta seriale del PC è possibile utilizzare un adattatore Null-Modem DB9F/RJ45 unito ad un cavo RJ45 8/8 non schermato della lunghezza desiderata, per ulteriori informazioni sulle porte seriali vedi articolo.

    Per la connessione con la porta seriale del terminale operatore occorre rifarsi alla documentazione del terminale, se la connessione è in RS232 basterà connettere opportunamente i segnali RD, TD e GND. Se la connessione è in RS485 basterà collegare i due fili D+ e D-. Se si utilizzano i terminali Weintek da noi distribuiti per la connessione vedi post.

    Se si dispone della versione Full è possibile connetterla al PC tramite rete ethernet, basterà utilizzare un comune cavo patch, SlimLine ha una porta ethernet autosensing quindi può essere utilizzato qualsiasi tipo di cavo sia diretto che cross. L’utilizzo della connessione ethernet (Utilizzando uno switch) permette di creare una rete tra il PC, lo SlimLine ed il terminale facilitando la programmazione ed il test senza dover continuamente scollegare e ricollegare cavi. Per l’impostazione dell’indirizzo IP sulla CPU SlimLine si rimanda a questo articolo.

    Attenzione, si consiglia l’acquisto (O l’autocostruzione) dell’adattatore seriale anche per le versioni Full, in quanto le eventuali operazioni di upgrade del sistema operativo vedi articolo) sono possibili solo da porta seriale COM0.

    in risposta a: Server OPC per connessione con sistemi SlimLine #36817
    Sergio Bertana
    Amministratore del forum

    I sistemi SlimLine supportano il protocollo Modbus sia Ascii che RTU su porta seriale e OverIP su rete ethernet. Il protocollo Modbus è un protocollo libero e molto conosciuto, esistono centinaia di vendors che rendono disponibili server OPC per la connessione in rete Modbus (Vedi sito Modbus.org).

    in risposta a: Verifica conformità del software a specifica Welmec #36813
    Sergio Bertana
    Amministratore del forum

    Come detto precedentemente, il sistema operativo dello SlimLine esegue un checksum dell’intero programma utente.

    In pratica viene eseguita una somma byte per byte di tutta l’area di memoria destinata al programma utente, la somma ritorna una variabile a 32 bits, gli overflows della somma vengono persi. Il cuore dell’algoritmo di calcolo è il seguente:

        for(n=0; n<CodeSize; n++)
            CheckSum+=(uint32_t)ProgramCode[n];

    in risposta a: Gestione gruppo valvole regolazione flusso per pressa #36811
    Sergio Bertana
    Amministratore del forum

    Non c’è un blocco funzione per questa operazione, ma ho preso lo spunto per realizzare la funzione FSelector di cui dò codice sorgente che può essere utile per risolvere altre problematiche simili. Fornisco un programma che può essere eseguito sul simulatore per il test della funzione, Download.

    VAR_INPUT
    Flow : REAL; { DE:”Flow set (%)” }
    END_VAR

    FSelector:=0; (* Result *)
    IF (Flow >= 50.0) THEN Flow:=Flow-50.0; FSelector:=FSelector OR 16#20; END_IF;
    IF (Flow >= 25.0) THEN Flow:=Flow-25.0; FSelector:=FSelector OR 16#10; END_IF;
    IF (Flow >= 12.0) THEN Flow:=Flow-12.0; FSelector:=FSelector OR 16#08; END_IF;
    IF (Flow >= 6.0) THEN Flow:=Flow-6.0; FSelector:=FSelector OR 16#04; END_IF;
    IF (Flow >= 3.0) THEN Flow:=Flow-3.0; FSelector:=FSelector OR 16#02; END_IF;
    IF (Flow >= 2.0) THEN Flow:=Flow-2.0; FSelector:=FSelector OR 16#01; END_IF;

    in risposta a: Installazione software virtual COM per convertitore TRP-C37 #36810
    Sergio Bertana
    Amministratore del forum

    Se il programma che utilizza la porta seriale virtuale non riesce ad effettuare l’impostazione corretta dei parametri di comunicazione, occorre agire da pagina web.

    Definendo in un browser l’indirizzo IP del dispositivo, è possibile vederne la pagina web di configurazione (Screenshot),definire i parametri di comunicazione, poi agire  sul tasto Apply. Per rendere effettive le impostazioni occorre spegnere e riaccendere il convertitore.

    in risposta a: Installazione software virtual COM per convertitore TRP-C37 #36809
    Sergio Bertana
    Amministratore del forum

    Per l’installazione virtual COM occorre scaricare dal ns sito (Zona download in fondo alla pagina del prodotto) il Software VirtualCOM per TRP-C37 (Win7/Vista/Windows2000/XP) ed eseguire il programma VSerPortConsole.exe.

    Dalla finestra centrale del programma con il tasto destro del mouse si attiverà un pop-up che permette di aggiungere una porta seriale virtuale. Scegliendo l’opzione Add port verrà installato il programma di virtualizzazione porta seriale.

    Installata la porta seriale occorre selezionarla e con il tasto destro del mouse scegliere l’opzione Add Net per attivare la finestra di definizione del dispositivo TRP-C37 a cui collegare la porta seriale virtuale creata (Screenshot). Nei campi previsti occorre definire il tipo di connessione TCP Client, TCP Server o UDP in funzione delle impostazioni effettuate sul convertitore.

    Nel mio esempio ho scelto la configurazione TCP Client, e quindi ho definito l’indirizzo IP del convertitore e la porta a cui connettersi.

    Terminata l’installazione il programma VirtualSerialPort Console visualizzerà l’elenco di tutte le porte COM installate (Screenshot).

    In merito alla etichetta del prodotto TRP-37, non è riportata la C per un refuso tipografico.

    in risposta a: Collegamento inverter PowerOne convertitore Ethernet/Seriale #36808
    Sergio Bertana
    Amministratore del forum

    Quando è configurato in RS485 l’ATC-1000 funziona in Half-Duplex, la configurazione è nella pagina web riferita all’UART (Screenshot).

    in risposta a: Connessione con I/O distribuiti TRP via modbus RTU #36806
    Sergio Bertana
    Amministratore del forum

    Aggiungo un consiglio, visto che il formato di rappresentazione del S7-200 è uguale a quello dello SlimLine, per avere il valore in REAL basta che tu definisca una variabile REAL all’indirizzo DB100.16 dove FB modbus appoggia i registri letti dal S7-200 per poterla utilizare nel tuo programma senza dover usare la WordToDouble.

    MiaVariabile AT %MD100.16 : REAL; { DE:”Variabile REAL letta da S7-200″ }

Stai visualizzando 15 post - dal 3,931 a 3,945 (di 4,373 totali)