Hallo,
nachfolgend der VB6.0-Code, der einige Werte aus dem DB42 liest.
Option Explicit
Private Sub Form_Load()
Dim value1 As Variant, states_v1 As Long, rv1 As Long
Dim value2 As Variant, states_v2 As Long, rv2 As Long
Dim value3 As Variant, states_v3 As Long, rv3 As Long
Dim value4 As Variant, states_v4 As Long, rv4 As Long
Dim value5 As Variant, states_v5 As Long, rv5 As Long
Dim value6 As Variant, states_v6 As Long, rv6 As Long
Dim value7 As Variant, states_v7 As Long, rv7 As Long
Dim value8 As Variant, states_v8 As Long, rv8 As Long
Dim value9 As Variant, states_v9 As Long, rv9 As Long
Dim value10 As Variant, states_v10 As Long, rv10 As Long
Dim value11 As Variant, states_v11 As Long, rv11 As Long
Dim value12 As Variant, states_v12 As Long, rv12 As Long
Dim value13 As Variant, states_v13 As Long, rv13 As Long
Dim value14 As Variant, states_v14 As Long, rv14 As Long
Dim value15 As Variant, states_v15 As Long, rv15 As Long
Dim value16 As Variant, states_v16 As Long, rv16 As Long
Dim mybools17(2) As String, myvals17 As Variant, states17 As Variant, rv17 As Long
Dim mybools18(2) As String, myvals18 As Variant, states18 As Variant, rv18 As Long
Dim mybools19(2) As String, myvals19 As Variant, states19 As Variant, rv19 As Long
Dim mybools20(2) As String, myvals20 As Variant, states20 As Variant, rv20 As Long
rv1 = S7Data1.ReadVariable("DB41.DBD6:REAL", value1, states_v1, 0) 'Druck
rv2 = S7Data1.ReadVariable("DB42.DBD6:REAL", value2, states_v2, 0) 'Volumenstrom
rv3 = S7Data1.ReadVariable("DB43.DBD6:REAL", value3, states_v3, 0) 'Füllstand
rv4 = S7Data1.ReadVariable("DB44.DBD6:REAL", value4, states_v4, 0) 'Temperatur
rv5 = S7Data1.ReadVariable("DB41.DBD20:REAL", value5, states_v5, 0) 'Druck
rv6 = S7Data1.ReadVariable("DB41.DBD24:TIME", value6, states_v6, 0) 'Druck
rv7 = S7Data1.ReadVariable("DB41.DBD28:TIME", value7, states_v7, 0) 'Druck
rv8 = S7Data1.ReadVariable("DB44.DBD20:REAL", value8, states_v8, 0) 'Temperatur
rv9 = S7Data1.ReadVariable("DB44.DBD24:TIME", value9, states_v9, 0) 'Temperatur
rv10 = S7Data1.ReadVariable("DB44.DBD28:TIME", value10, states_v10, 0) 'Temperatur
rv11 = S7Data1.ReadVariable("DB43.DBD20:REAL", value11, states_v11, 0) 'Füllstand
rv12 = S7Data1.ReadVariable("DB43.DBD24:TIME", value12, states_v12, 0) 'Füllstand
rv13 = S7Data1.ReadVariable("DB43.DBD28:TIME", value13, states_v13, 0) 'Füllstand
rv14 = S7Data1.ReadVariable("DB42.DBD20:REAL", value14, states_v14, 0) 'Volumenstrom
rv15 = S7Data1.ReadVariable("DB42.DBD24:TIME", value15, states_v15, 0) 'Volumenstrom
rv16 = S7Data1.ReadVariable("DB42.DBD28:TIME", value16, states_v16, 0) 'Volumenstrom
mybools17(0) = "DB41.DBX0.3": mybools17(1) = "DB41.DBX0.4": mybools17(2) = "DB41.DBX0.7"
rv17 = S7Data1.ReadMultiVariables(mybools17, myvals17, states17) 'Druck
mybools18(0) = "DB44.DBX0.3": mybools18(1) = "DB44.DBX0.4": mybools18(2) = "DB44.DBX0.7"
rv18 = S7Data1.ReadMultiVariables(mybools18, myvals18, states18) 'Temperatur
mybools19(0) = "DB43.DBX0.3": mybools19(1) = "DB43.DBX0.4": mybools19(2) = "DB43.DBX0.7"
rv19 = S7Data1.ReadMultiVariables(mybools19, myvals19, states19) 'Füllstand
mybools20(0) = "DB42.DBX0.3": mybools20(1) = "DB42.DBX0.4": mybools20(2) = "DB42.DBX0.7"
rv20 = S7Data1.ReadMultiVariables(mybools20, myvals20, states20) 'Volumenstrom
Die Objekt-Methoden lesen die Werte aus dem Instanzdatenbaustein.
Anschließend, nicht dargestellt, können die "value.." in VB z.B. auf Anzeigeinstrumenten dargestellt werden.
Das mit dem Schreiben in die Speicherstellen des Instanzdatenbausteins funktioniert sinngemäß.
Gruß
Earny