SZL einer 315-4NE12 mit PLCGetSZL auslesen

HWPascal

Level-1
Beiträge
11
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo in die Runde,

habe ein Programm mit VB geschrieben, um eine CPU 315 zu steuern und auszuwerten, klappte bisher problemlos.
Jetzt möchte ich aus der SZL-Liste den Zustand der RUN-LED mit PLCGetSZL auslesen, bin aber bisher gescheitert.

Folgende Befehlszeilen werden ausgeführt:

szl = _Verbindung.PLCGetSZL(372, 4)

If szl.SZLDaten.Length > 0 Then
xy74Dataset = szl.SZLDaten.GetValue(0)
End If

Weiter bin ich bisher nicht gekommen, es gelingt mir einfach nicht einen gültigen Wert zu extrahieren.

Ich habe in diesem Forum einen ähnlichen Beitrag aus dem Jahre 2012, geschrieben mit C gefunden, die dort verwendeten
Befehle lassen sich aber nicht in VB umsetzen.

In einer früheren Programmversion von mir habe ich erfolgreich mit

Vergleichswert = daveReadSZL(Verbindung, 372, 4, Status(0), 11)

gearbeitet, mit PLCGetSZL komme ich aber wie gesagt nicht zum Zuge.


Ich bin dankbar für jeden Denkanstoß,

Gruß HWPascal
 
Hallo HWPascal
Aus welcher Biblothek stammt denn der Aufruf?
Prinzipiell sollte dein Datenpuffer ein Array aus 4 Byte sein.
Byte 0 - &H00, Byte 1- Led Kennung, Byte 2 - Led Status, Byte 3 - Led Blinkstatus.
Holger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo holgermaik,

ich importiere "DotNetSiemensPLCToolBoxLibrary.Communication.S7_xxx".
Bisher konnte ich nur sehen, dass ich ein "xy74Dataset" benutze, womit ich aber nichts anfangen kann.
Ich brauche die Bytes bzw. Bits daraus, die zu extrahieren mir aber noch nicht möglich ist.
Mit welchen Befehlen komme ich an den Datenpuffer?

Gruß HWPascal
 
Zuletzt bearbeitet:
Ich habe leider keine SPS zum probieren aber so sollte es gehen
Code:
  Dim SZL_Data As S7_xxx.SZLData
        Dim SZL_Dataset() As S7_xxx.SZLDataset
        Dim SZL_xx74_Data As S7_xxx.xy74Dataset
        Dim Run_LED As Boolean
        SZL_Data = myConn.PLCGetSZL(&H174, &H4)
        'Hier müsste noch geprüft werden ob Daten vorhanden sind und wie groß das
        'Array ist

**** zur besseren Übersicht alles nacheinander. liese sich auch als eine Anweisung zusammenfassen ****
        SZL_Dataset = SZL_Data.SZLDaten
        SZL_xx74_Data = SZL_Dataset(0)
        Run_LED = SZL_xx74_Data.led_on
 
Hallo holgermaik,

Du hast gerade einen sehr glücklichen Menschen aus mir gemacht, Deine Programmzeilen waren genau die, die ich gebraucht habe.
Die Run-LED der CPU ist nun für mich erreichbar, vielen, vielen Dank.

Gruß HWPascal
 
Zurück
Oben