Variablen einer Steuerung zur Laufzeit auslesen - dynamisch

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Variablen einer Steuerung zur Laufzeit auslesen - dynamisch

    Hallo zusammen,

    ich möchte mit meinem Programm boolsche Werte aus einer Beckhoff SPS Steuerung auslesen.
    Daszu muss man ein Handle auf diese SPS-Variable erzeugen (steht so in der Beckhoff Doku - Beckhoff ADS Kommunikation).
    Das ist soweit kein problem, wenn man vorher weis wie die Variablen in der SPS heisen.

    Mein Problem ist nun, das ich das ganze dynamisch machen möchten.
    Also das mann zur Laufzeit diese "Handle" erzeugen kann und die Werte auslesen kann.
    bzw. das man die Anzahl der auszulesenden SPS-Variablen beliebig erweitern kann.

    Nur hab ich keinen blassen Schimmer wie man sowas dynamisch erzeugt.
    Macht man es mit einer List of(T)??

    Kann mir evtl. jemand einen Denkanstoß geben ?(

    mfg
    Softi
    Ich gehe mal davon aus, dass Du nicht ein Programm schreiben willst, dass mit beliebigen SPS und Maschinen kommuniziert. Da ist es wenig hilfreich, wenn Du das vollständig dynamisch machst.
    Ich glaube nicht, dass die Variablennamen in der SPS erst zur Laufzeit erzeugt werden.
    Bau Dir eine Klasse, die mit der Maschine kommuniziert und mach aus den Maschinenvariablen Properties in dieser Klasse, meinetwegen indizierte Properties, also eine Maschinenvariable ist dann einem Index einer List(Of Maschinenvariable) zugeordnet.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo,

    @RodFromGermany
    Doch es kann durchaus sein das, dass Programm auf 2 oder 3 SPS-Steuerung zugreifen muss.
    (Zugriff erfolgt dann durch eine andere IP Adr der SPS)

    In der SPS werden die Variablen nicht zur Laufzeit erzeugt. Es kann aber vorkommen das, dass SPS
    Programm erweitert wird. Und dann möchte ich nicht jedes mal auch das VB Programm neu erstellen müssen.

    Ok. Dann werd ich es mal mit der ListOf versuchen.

    Vielen Dank schonmal für euere Antworten.

    softi schrieb:

    dass Programm auf 2 oder 3 SPS-Steuerung zugreifen muss.
    Dann machste Dir 2 oder 3 Instanzen einer Klasse, und die Namen packst Du dann jeweils in eine Config-Datei, die Du dem Konstruktor übergibst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!