Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,401 a 2,415 (di 4,482 totali)
  • Autore
    Post
  • in risposta a: Differenza tra import di libreria ed import di oggetti #39344
    Sergio Bertana
    Amministratore del forum

    Come ti dicevo gli oggetti della libreria eLLabUtyLib si possono utilizzare singolarmente senza collegare l’intera libreria. Tu devi utilizzare il FB ModbusMaster, benissimo allora nel tuo progetto potrai importare solo quell’oggetto e non collegare tutta la libreria.

    Dal menù Project scegli Import Object from library, poi selezioni la cartella dove si trovano le librerie di LogicLab e scegli la libreria desiderata. Con un doppio click si apre l’elenco di tutti gli oggetti presenti e tu potrai importare nel tuo progetto gli oggetti che ti interessano (Screenshot).

    in risposta a: Make a program with a MID protection against copy #39342
    Sergio Bertana
    Amministratore del forum

    Yes the customer can buy the MID directly, we will register the code to him and only the products we sell to him can have its MID programmed on. The MID code is not secret, it can be directly seen on the web page (See screenshot), secret (Crypt) is the part of code that checks it.

    If you would like to protect some parts of your own code, you have to write functions or FBs and encrypt them with your own password. So you can use them inside the code you develop for the customer. A good practise is to include all of them inside a library you supply to the customer.

    in risposta a: Make a program with a MID protection against copy #39340
    Sergio Bertana
    Amministratore del forum

    The MID, is a code that can be written only by Elsist, we can assign a MID code to a customer and write it on the products the customer buys. A special function allows the customer to check by program if the product has the proper MID or not, so by checking it on own programs, functions or FBs it’s possible to stop them if the MID doesn’t match.

    With the MID code you can develop programs, functions or FBs that can be run only on a products that have the proper MID written on. So anyone can copy or backup the software but it doesn’t be run in an hardware tha hasn’t the proper MID.

    Your FBs can be protected by checking the MID by code on them, and obviously the source code of these FBs must be encrypted (Like ours) otherwise anyone can modify the code to bypass the MID control. To encrypt an object, choose from the Logic Lab the object, with the mouse right button menu, select encrypt (See screenshot), and then set a password (a unique password for all the objects or separate password for any object).

    in risposta a: Disponibilità protocollo Modbus sullo SlimLine CODESYS #39339
    Sergio Bertana
    Amministratore del forum

    Le librerie a cui fai riferimento sono librerie comerciali di altri fornitori, non le conosco e non le utilizzo, visto che per gestire le seriali sullo SlimLine c’è il blocco funzione SysSerialPort che gestisce sia la RS232 che la RS485 in modo ottimale.

    Per gli altri utenti del forum l’esempio WeightAcquire a cui ti riferisci è disponibile in questo topic. Ma esempi di comunicazione bidirezionale c’è ne sono nel forum segui i links da questo topic. Puoi anche dare una occhiata a questo topic.

    in risposta a: Precisione e velocità acquisizione modulo I/O analogico #39337
    Sergio Bertana
    Amministratore del forum

    Vediamo di fare un pò di chiarezza, il modulo di acquisizione PCB126 è un modulo intelligente dove su di una scheda base un processore gestisce il dialogo con il modulo CPU dello SlimLine. Su questa scheda base si possono alloggiare fino a 2 modulini di I/O analogico che vengono gestiti dal processore della scheda base.

    Nel caso di ingressi analogici, il modulino porta fino a 5 ingressi che sono multiplexati su di un unico convertitore A/D, per convertire un segnale da Pt100/Pt1000 il convertitore A/D impiega circa 60mS. Ora avremo nel caso peggiore 5 sonde di temperatura per modulino per un totale di 300mS.

    Quindi 5 o 10 sonde hanno comunque un tempo massimo di acquisizione di 300mS, se poi nel tuo caso le sonde sono 20 vorrà dire che avrai due moduli di espansione PCB126 ma il tempo totale sarà sempre di 300mS.

    Ora veniamo alla sincronizzazione, l’acquisizione è asincrona rispetto alla lettura da parte della funzione SysGetAnInp, quindi per avere la certezza che vi sia stata una nuova acuisizione su tutti i 20 canali, l’unico modo è basarsi sul tempo. Se metti una temporizzazione superiore ai 300mS (Io userei il tempo di 500mS) sei certo che ad ogni base tempo tutti e 20 i canali hanno acquisisto un nuovo valore di temperatura.

    in risposta a: Informazioni connessione con PC in RNDIS #39335
    Sergio Bertana
    Amministratore del forum

    Attenzione la classe non si riferisce all’ultimo numero “122” ma si riferisce alla parte di indirizzo mascherata dalla subnet mask (Vedi Wikipedia). Quindi devi verificare che nelle altre schede non hai classi che si sovrappongono, se non sei sicuro consiglio di provare a disabilitare tutte le altre schede tranne l’RNDIS e provare.

    in risposta a: Aggiornamento automatico firmware drive #39333
    Sergio Bertana
    Amministratore del forum

    Intanto per realizzare quello che chiedi devi conoscere il protocollo necessario all’aggiornamento del firmware sul drive. Ammettendo che sia documentato o che comunque tu conosca le procedure da seguire vediamo come poter procedere.

    Visto che ti riferisci come prima possibilità ai terminali operatore, partiamo da questa ipotesi. Lo strumento macro tramite il Free protocol permette di gestire completamente la comunicazione, sia seriale che ethernet. Purtroppo però non ha nessuna istruzione per gestire il file system. Quindi anche se potresti parlare con il drive non saresti in grado da leggere via macro i files trasferiti (Magari in FTP) nel file system del terminale.

    Altra possibilità potrebbe essere utilizzare un modulo CPU della famiglia SlimLine, in questo caso lavorando con il linguaggio ST hai la possibilità sia di gestire liberamente le connessioni sia seriali che ethernet, inoltre hai tutte le funzioni per accedere al file system. Quindi potresti in FTP scaricare i file di firmware nel file system del prodotto e poi trasferirli nel tuo drive.

    I moduli CPU della famiglia LogicLab hanno un file system proprietario quindi non puoi leggere SDCard scritte da un PC ed il sistema non supporta i PenDrive USB. Mentre il modulo CPU della famiglia CODESYS ha un file system FAT ed è compatibile con il PC oltre a poter gestire anche PenDrive connessi via USB, Topic.

    in risposta a: Informazioni connessione con PC in RNDIS #39332
    Sergio Bertana
    Amministratore del forum

    Quindi se ho ben capito stai parlando di connessione in RNDIS. Posso immaginare che sia un problema di networking, su porta RNDIS lo SlimLine ha di default l’indirizzo 192.168.1.122, quindi devi impostare il driver RNDIS nella stessa classe di rete 192.168.1.xxx.

    Sei sicuro che in quella stessa classe nel PC non hai altre schede di rete, esempio rete ethernet, adattatore WiFi, ecc… perchè in questo caso i pacchetti IP in uscita non sanno che strada scegliere. Se sei in questa situazione devi cambiare la classe di rete di una delle interfacce.

    in risposta a: Gestione isteresi su comando riscaldatore #39330
    Sergio Bertana
    Amministratore del forum

    Allego l’FB OnOffRegulation che ho realizzato per gestire la regolazione degli aerotermi in azienda. Il FB gestisce la soglia di temperatura con una banda morta per evitare le pendolazioni sul comando (Stampa, libreria).

    in risposta a: Collegamento termoresistenze Pt100/Pt1000 #39329
    Sergio Bertana
    Amministratore del forum

    Non sò se può servirti ma ti allego l’FB OnOffRegulation che ho realizzato per gestire la regolazione degli aerotermi in azienda. Il FB gestisce la soglia di temperatura con una banda morta per evitare le pendolazioni sul comando (Stampa, libreria).

    In questo topic trovi ulteriori informazioni su un argomento analogo.

    in risposta a: Come connettere moduli SlimLine a distanza #39327
    Sergio Bertana
    Amministratore del forum

    Il bus di espansione SlimLine non può essere prolungato oltre i 2 metri. Quindi nel tuo caso devi per forza orientarti come hai già fatto notare tu verso una connessione RS485 o CAN.

    Il modulo CPU MPS050*020 ha già una porta seriale RS485, quindi la soluzione più immediata è disporre di un altro modulo CPU dello stesso tipo anche sulla parte mobile che fungerà da interfaccia ed alimentatore per gli altri moduli di I/O ad esso connesso.

    Abbiamo molte installazioni di questo tipo anche su aree molto vaste (Applicazioni domotiche, supermercati, aree di servizio, ecc.) dove reti in RS485, CAN bus o Ethernet permettono di gestire I/O remoti come fisicamente connessi ad un modulo CPU centrale.

    In riferimento alla tua domanda sul modulo PCB126*170 la porta seriale del modulo può essere configurata come porta COMx.x aggiuntiva del modulo CPU (Topic). Anche se il modulo prevede il montaggio di una porta RS485 non abbiamo mai rilasciato questo tipo di connessione.

    in risposta a: Chiarimenti sulle nuove funzionalita’ di LogicLab4 #39326
    Sergio Bertana
    Amministratore del forum

    Ma Axel ci ha già pensato… nello screenshot si vede una FB scritta in LD istanziata in due diversi programmi. Quando il debug è attivo, con un doppio click sull’oggetto su cui si desidera attivare il debug forza l’apertura della finestra di richiesta della istanza che si vuole analizzare. Allego il progetto per il test.

    in risposta a: Chiarimenti sulle nuove funzionalita’ di LogicLab4 #39322
    Sergio Bertana
    Amministratore del forum

    Come sempre Axel rapida nel reagire, girato la tua domanda ed ecco la risposta:

    LLAB al momento non è dotato della funzionalità di “Refactoring” cui la segnalazione intende. Potrebbe essere un futuro sviluppo, apriamo un ticket di enhanchement. #LL1546:Refactoring tool.

    in risposta a: Chiarimenti sulle nuove funzionalita’ di LogicLab4 #39321
    Sergio Bertana
    Amministratore del forum

    Le tue domande sono molto interessanti anche per altri clienti che utilizzano LogicLab per cercare di ottenere il massimo dall’ambiente. Per alcune risposte ho girato la richiesta alla Axel che è lo sviluppatore di LogicLab, anzi consiglio di effettuare direttamente a loro le richieste che riguardano l’ambiente di sviluppo. Ma alcune risposte le posso dare direttamente.

    I programmi LD realizzati con il vecchio editor continuano ad utilizzare il vecchio stile, non hanno le nuove funzionalità abilitate.

    In LD ogni ramo logico deve avere almeno un coil di terminazione, solitamente definisco una variabile Dummy di tipo BOOL che utilizzo come coil in tutti i rami. Proprio come hai fatto correttamente tu.

    Legare lista variabili e diagramma, attualmente è come hai detto tu nella domanda, ho girato la richiesta ad Axel.

    Per l’ultima domanda mi sono rifatto a questo vecchio topic, ho ripreso il programma FBArray e ho definito due programmi ladder dove utilizzo lo stesso FB. Quando trascini nella finestra di watch una variabile interna alla FB, LogicLab ti presenta una finestra di richiesta della istanza di cui vuoi vedere il valore (Screenshot). Allego il progetto per il download.

    in risposta a: Gestione variabili RETAIN con accesso da HMI #39319
    Sergio Bertana
    Amministratore del forum

    Non commetti errori è proprio CODESYS che non permette di avere variabili RETAIN allocate in memoria specifica (Nella famiglia LogicLab esiste l’area da MD100.2048 a MD 100.4095).

    Un workaround utilizzato da altri clienti è di copiare da programma l’area ad indirizzamento da terminale su di un’area RETAIN quando vi è una variazione del contenuto (Qualcuno da terminale ha cambiato i dati). Poi alla accensuione del sistema esegui  l’operazione inversa.

    Riporto il link a questo topic dove si trova un progetto di esempio di utilizzo di un terminale Weintek connesso a SlimLine CODESYS.

Stai visualizzando 15 post - dal 2,401 a 2,415 (di 4,482 totali)