Vai al contenuto

Accesso variabili progetto da Visual Basic

Home Forum Controllori SlimLine e Netsyst (LogicLab) Accesso variabili progetto da Visual Basic

Stai visualizzando 9 post - dal 1 a 9 (di 9 totali)
  • Autore
    Post
  • #35550
    Anonimo
    Inattivo

    Salve a tutti, avrei bisogno di un aiuto, vorrei sapere se è possibile esportare il valore delle variabili di un progetto ladder per poterle riutilizzare nella costruzione di un’interfaccia in Visual Basic.

    Inoltre vorrei sapere se c’è un modo per poter programmare i PLC tramite programmazione ad oggetti. Grazie per la vostra disponibilità.

    #38180
    Sergio Bertana
    Amministratore del forum

    Tutte le variabili globali mappate nella DB 100 sono accessibili da Modbus, SlimLine gestisce nativamente il protocollo Modbus Ascii, RTU ed OverIP. Le variabili della DB 100 sono accessibili con indirizzo Modbus 40000, quindi basterà che tu allochi le variabili che vuoi gestire dal tuo applicativo in Visual Basic nella DB 100 per poterle gestire tramite Modbus (Vedi topictopic, topic), effettuando una ricerca nel forum troverai molte altre informazioni sul protocollo Modbus.

    Tutto quanto detto prima naturalmente impone  che tu sviluppi od utilizzi un driver di comunicazione Modbus, ma se non vuoi fare questo puoi trovare altri topics che spiegano come realizzare un semplice protocollo di comunicazione proprietario. In questo caso scegli tu che protocollo di comunicazione utilizzare per fare dialogare il PC con lo SlimLine e quali variabili scambiare (Vedi topic, topic, topic)

    #38181
    Sergio Bertana
    Amministratore del forum

    Lo standard attuale prevede la definizione di oggetti quali funzioni e FB (Function block) che possono essere manipolati graficamente utilizzando la programmazione ladder o FBD.

    Se per programmazione ad oggetti intendi anche la possibilità di definire classi, utilizzarne l’ereditarietà, il polimorfismo, ecc, è una via che lo standard IEC 61131 stà implementando nella sua terza edizione.

    #38192
    Anonimo
    Inattivo

    Salve a tutti, ho realizzato una interfaccia in Visual Basic per comunicare tramite TCP/IP con la CPU SlimLine. L’applicazione in Visual Basicsvolge la funzione di client e la CPU fa da server, riesco a stabile la connessione tra i due dispositivi ma ho il problema che non riesco a capire come fare ad inviare dei comandi alla CPU.

    Qualcuno di voi potrrebbe dirmi come fare, grazie per la vostra disponibilità.

    #38193
    Sergio Bertana
    Amministratore del forum

    Dici che apri la connessione TCP/IP ma verso che porta ? immagino tu desideri utilizzare il Modbus TCP quindi credo utilizzi la porta 502. Se è così ti ho già spiegato nei post precedenti come poter fare, ti rimando comunque alla lettura della Modbus Protocol Reference Guide e della Modbus messaging on TCP/IP implementation guide.

    Per aiutarti posso ancora riproporti delle semplici stringhe modbus per leggere e scrivere un registro a 16 bits nella memoria dello SlimLine. Ipotizzando di dover accedere ad una variabile allocata nella DB 100.16 (Indirizzo modbus 40008). Ricorda che l’indirizzo Modbus ha offset 1 pertanto nel comando devi inviare indirizzo -1 (40007 -> 0x9C47) per meglio capire ti allego l’estratto del manuale.

    Per leggere il valore devi usare il comando modbus Code 03: Read holding registers, che in esadecimale è 00 00 00 00 00 06 01 03 9C 47 00 01.

    Per scrivere 0x1234 devi usare il comando modbus Code 10: Preset multiple registers, che in esadecimale è 00 00 00 00 00 09 01 10 9C 47 00 01 02 12 34.

    Per scrivere 0x5678 devi usare il comando modbus Code 10: Preset multiple registers, che in esadecimale è 00 00 00 00 00 09 01 10 9C 47 00 01 02 56 78.

    Ecco lo screenshot dell’invio dei comandi verso uno SlimLine effettuato con Toolly. Come vedi in rosso sono evidenziate le stringhe di risposta ai comandi di scrittura (Preset) ed in blu quelle di risposta ai comandi di lettura (Read). Attenzione alla configurazione di Toolly nel Config devi definire modalità HEX.

    #38200
    Anonimo
    Inattivo

    Ciao scusa se continuo a scrivere, io sono uno studente di ingegneria che ha deciso di fare la tesi sui PLC, facendo delle ricerche in rete ho trovato il vostro simulatore e insieme al professore abbiamo deciso di utilizzarlo, l’obietto che ho è quello di costruire un client in Visual Basic in cui inviare i comandi al PLC simulato in Logiclab, seguendo i tuoi post ho cercato di costruire un protocollo di comunicazione TCP tra PC e PLC (la comunicazione avviene in localhost).

    Purtroppo non riesco ad inviare i comandi al PLC, come alternativa potrei salvare i valore delle variabili del mio progetto ladder in un file, il problema e che non riesco a far nemmeno ciò nonostante abbia scaricato tutti manuali necessari. Grazie per le eventuali risposte.

    #38203
    Sergio Bertana
    Amministratore del forum

    Ora è tutto molto più chiaro, il problema è che il simulatore non gestisce ne le comunicazioni (Seriale e TCP) né gestisce i files, ecco perché non riesci a fare quello che desideri. Per poter dialogare in Modbus ti serve proprio il target hardware (Un sistema SlimLine o Netlog).

    Andando più approfonditamente nell’argomento ti posso dire che SimuLab (Cioè l’ambiente di simulazione) dà disponibili aperture di comunicazione via TCP/IP su localhost ma non con il protocollo Modbus. Queste informazioni le puoi avere direttamente dalla ditta che realizza LogicLab e SimuLab che è la ditta Axel. Ti mando un email al tuo indirizzo privato in cui ti allego tutti i riferimenti.

    #38233
    Anonimo
    Inattivo

    Salve avrei bisogno di una informazione usando l’ambiente di lavoro LogicLab è possibile programmare in SFC senza passare tramite conversione in ladder.

    #38234
    Sergio Bertana
    Amministratore del forum

    Non capisco la tua domanda, il linguaggio SFC è un linguaggio grafico, si compone di Azioni e Transizioni. Ad ogni Azione o Transizione puoi abbinare l’esecuzione di un programma che può a sua volta essere scritto negli altri 4 linguaggi della normativa IEC61131.

    In questi topics (1), (2), (3) trovi ulteriori informazioni.

Stai visualizzando 9 post - dal 1 a 9 (di 9 totali)
  • Devi essere connesso per rispondere a questo topic.