IBHNet:Hochsprachenzugriffe
Im Lieferumfang des IBHNet-Netzwerktreibers befindet sich ein Objekt, mit dem man einen Hochsprachenzugriff auf die Variablen von Steuerungen erhält.
Der Name der Schnittstelle lautet "IBHnet". Unter Visual Basic beispielsweise erscheint dies als IBHNet 1.0 Type Library unter dem Menüpunkt "Projekt-Verweise". Wenn über das IBHNet-Objekt Variablen aus der Steuerung gelesen oder geschrieben werden sollen, sollte nach Möglichkeit in der Station immer das Protokoll RFC1006 gewählt werden. Es ist nur in Einzelfällen bei älteren Baugruppen erforderlich, ein anderes Protokoll zu verwenden. Für den Zugriff auf Variablen der SPS steht folgende Schnittstelle zur Verfügung:
Funktion der Schnittstelle IIIBHnet | S5 | S7 300/400 |
SoftSPS und S7-CX |
S7 200 |
Erste konfigurierte Station suchen HRESULT FirstStation(BSTR* pVal) pVal: Erster gefundener Stationsname Rückgabewert: S_OK bei Erfolg, S_FALSE wenn keine Station vorhanden ist. |
X | X | X | X |
Weitere konfigurierte Stationen suchen HRESULT NextStation(BSTR* pVal) pVal: Stationsname Rückgabewert: S_OK bei Erfolg, S_FALSE wenn keine weitere Station vorhanden ist. Wenn kein Stationsmame mehr zurückgegeben wird, ist die letzte Station gefunden. |
X | X | X | X |
Verbindung zur SPS aufbauen HRESULT Connect([in, string] BSTR Station,[in] long MPIAdr) Station: Stationsname MPIAdr: MPI Adresse Rückgabewert: S_OK bei Erfolg, E_FAIL oder die Sequenznummer, bei der der Fehler auftrat. Die Funktion Connect_DP aus dem Interface IIIBHNet3 sollte zum Verbindungsaufbau vorgezogen werden da diese bei Misserfolg in Programmiersprachen wie VisualBasic oder C# immer eine Exeption auslöst. |
X | X | X | X |
Verbindung zur SPS trennen HRESULT Disconnect() Parameter: Keine Rückgabewert: Immer S_OK. |
X | X | X | X |
Lesen von einzelnen Werten aus der SPS HRESULT ReadVal(long typ, long nr, long DBNr, long size, long *val) typ: (E)ingang = 69d, (A)usgang = 65d, (M)erker = 77d, (D)atenbaustein = 68d nr: Startadresse bei EAM, bei D die Startadresse im DB DBNr: Datenbausteinnumer bei typ=D (68d), bei EAM 0 size: 0..7 = Die Bitnummer im gelesenen Byte, 8 = Byte, 16 = Wort, 32 = Doppelwort val: Der gelesene Wert. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. |
X | X | X | X |
Blockweise Lesen von Werten aus der SPS HRESULT ReadVals(long typ, long nr, long DBNr, long size, SAFEARRAY(unsigned char) vals) typ: (E)ingang = 69d, (A)usgang = 65d, (M)erker = 77d, (D)atenbaustein = 68d nr: Startadresse bei EAM, bei D die Startadresse im DB DBNr: Datenbausteinnumer bei typ=D (68d), bei EAM 0 size: Anzahl der zu lesenden Bytes vals: Das Byte Feld mit den Daten Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. ReadVals gibt Daten in einem SAFEARRAY vom Datentyp Byte zurück. DotNetReadVals gibt Daten in einer VARIANT Variable, die wiederum ein SAFEARRAY vom Datentyp Byte enthält zurück. In den .Net Sprachen ist der Übergabeparameter ein Objekt. Sollen Datenbereiche gelesen werden die größer sind als die auf der CPU tatsächlich vorhandenen Bereiche, so meldet die CPU dem Treiber dass der Datenbereich nicht existent ist. Die Funktion gibt in diesem Fall E_INVALIDARG zurück. Die Verbindung zur Steuerung bleibt dabei bestehen, es besteht kein Grund die Verbindung zur Steuerung zu trennen. |
X | X | X | X |
Schreiben von einzelnen Werten in die SPS HRESULT WriteVal(long typ, long nr, long DBNr, long size, long val) typ: (E)ingang = 69d, (A)usgang = 65d, (M)erker = 77d, (D)atenbaustein = 68d nr: Startadresse bei EAM, bei D die Startadresse im DB DBNr: Datenbausteinnumer bei typ=D (68d), bei EAM 0 size: 0..7 = Die Bitnummer im zu schreibenden Byte, 8 = Byte, 16 = Wort, 32 = Doppelwort val: Der zu schreibende Wert. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. |
X | X | X | X |
Blockweise Schreiben von Werten in die SPS HRESULT WriteVals(long typ, long nr, long DBNr, long size,SAFEARRAY(unsigned char) vals) typ: (E)ingang = 69d, (A)usgang = 65d, (M)erker = 77d, (D)atenbaustein = 68d nr: Startadresse bei EAM, bei D die Startadresse im DB DBNr: Datenbausteinnumer bei typ=D (68d), bei EAM 0 size: Anzahl der zu lesenden Bytes vals: Das Byte Feld mit den Daten Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. WriteVals übergibt Daten in einem SAFEARRAY vom Datentyp Byte. DotNetReadVals übergibt Daten in einer VARIANT Variable, die wiederum ein SAFEARRAY vom Datentyp Byte enthält. In den .Net Sprachen ist der Übergabeparameter ein Objekt. Sollen Datenbereiche geschrieben werden die größer sind als die auf der CPU tatsächlich vorhandenen Bereiche, so meldet die CPU dem Treiber dass der Datenbereich nicht existent ist. Die Funktion gibt in diesem Fall E_INVALIDARG zurück. Die Verbindung zur Steuerung bleibt dabei bestehen, es besteht kein Grund die Verbindung zur Steuerung zu trennen. |
X | X | X | X |
Erzeugt das .bin File der SoftSPS welches das SPS-Programm enthält. HRESULT PLC_Store() Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird urückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Lädt das .bin File der SoftSPS welches das SPS-Programm enthält HRESULT PLC_Restore() Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Eigenschaften der Schnittstelle IIIBHnet | S5 | S7 300/400 |
SoftSPS und S7-CX |
S7 200 |
Betriebszustand der CPU lesen HRESULT PLC_Run([out, retval] BOOL *pVal) pVal: TRUE = Run, FALSE = Stop. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
X | X | X | X |
Auslesen des Ausgabestands der SoftSPS HRESULT PLC_Version([out, retval] long *pVal) pVal: gibt den Ausgabestand zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen der Zyklen der SoftSPS HRESULT PLC_Cycles([out, retval] long *pVal)) pVal: gibt die aktuelle Zyklenzahl zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Schaltet die SPS in Zustand STOP HRESULT PLC_Stop([in] BOOL newVal) Der Parameter newVal ist reserviert und muss immer FALSE sein. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
X | X | X | - |
Neustart der SPS HRESULT PLC_Run_OB100([in] BOOL newVal) Der Parameter newVal ist reserviert und muss immer TRUE sein. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
X | X | X | - |
Wiederanlauf der SPS HRESULT PLC_Run_OB101([in] BOOL newVal) Der Parameter newVal ist reserviert und muss immer TRUE sein. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
X | X | X | - |
Beendet die SoftSPS HRESULT PLC_Terminate([in] BOOL newVal) Der Parameter newVal ist reserviert und muss immer FALSE sein. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen der Serinnummer der SoftSPS HRESULT PLC_SerialNr([out, retval] BSTR *pVal) pVal: gibt die Seriennummer zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen des Benutzernamens der SoftSPS HRESULT PLC_Name([out, retval] BSTR *pVal) pVal: gibt den Benutzernamen zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen des Firmennamens der SoftSPS HRESULT PLC_Firma([out, retval] BSTR *pVal) pVal: gibt den Firmennamen zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Bestellnummer der CPU lesen HRESULT PLC_Mlfb([out, retval] BSTR *pVal) pVal: gibt den Firmennamen zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
X | X | X | - |
Auslesen der aktuellen Durchlaufzeit der SoftSPS HRESULT PLC_CycleAct([out, retval] long *pVal) pVal: gibt die aktuelle Durchlaufzeit zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen der minimalen Durchlaufzeit der SoftSPS HRESULT PLC_CycleMin([out, retval] long *pVal) pVal: gibt die minimale Durchlaufzeit zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen der maximalen Durchlaufzeit der SoftSPS HRESULT PLC_CycleMax([out, retval] long *pVal) pVal: gibt die maximale Durchlaufzeit zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen des maximalen Jitters der SoftSPS HRESULT PLC_JitterMax([out, retval] long *pVal) pVal: gibt den maximalen Jitter zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen des aktuellen Jitters der SoftSPS HRESULT PLC_JitterAct([out, retval] long *pVal) pVal: gibt den aktuellen Jitter zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Startet die SoftSPS HRESULT PLC_Load([in] long newVal) Parameter: newVal. 0 = Als Prozess, 1 = Als Dienst, 2 = Als AutoStart Dienst, 3 = Als DemandStart Dienst. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Pfad der Konfiguationsdatei PLC43.ini der SoftSPS HRESULT PLC_InitPath([out, retval] BSTR *pVal) pVal: gibt den Pfad zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen der Gesamtgröße des Speichers der SoftSPS in Byte HRESULT PLC_MemTotal([out, retval] long *pVal) pVal: gibt die Speichergröße zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen der Größe des freien Speichers der SoftSPS in Byte HRESULT PLC_MemFree([out, retval] long *pVal) pVal: gibt die Größe des freien Speichers zurück. Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler. E_NOTIMPL wird zurückgegeben, wenn die angeschlossene SPS die Funktion nicht untertützt. |
- | - | X | - |
Auslesen konfigurierter Stationen über Index HRESULT Station(long Nr, [out, retval] BSTR* pVal) Nr: Stationsindex pVal: Wenn kein Stationsmame zurückgegeben wird, wurde die Station nicht gefunden. Rückgabewert: S_OK bei Erfolg, S_FALSE wenn die Station nicht vorhanden ist. |
- | X | X | - |
Eigenschaften fü;r den Variablenzugriff
Es ist zu beachten, das jede der nachfolgend gelisteten Funktionen ein kompletten Lese- bzw. Schreibzugriff zur Steuerung durchführt. Man sollte daher versuchen, die zu lesenden bzw. zu schreibenden Bereiche in der SPS zusammenzufassen, damit diese als kompletter Block gelesen bzw. geschrieben werden können. Lesen bzw. Schreiben kompletter Blöcke über ReadVals / WriteVals dauert nur unwesentlich länger, als das Lesen bzw. Schreiben einer einzelnen Variablen. |
S5 | S7 300/400 |
SoftSPS und S7-CX |
S7 200 |
Liest ein Merkerdoppelwort HRESULT MD(long nr, [out, retval] long *pVal) nr: Nummer des Merkerdoppelworts pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Merkerdoppelwort HRESULT MD(long nr, [in] long newVal) nr: Nummer des Merkerdoppelworts newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Merkerwort HRESULT MW(long nr, [out, retval] long *pVal) nr: Nummer des Merkerworts pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Merkerwort HRESULT MW(long nr, [in] long newVal) nr: Nummer des MerkerWorts newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Merkerbyte HRESULT MB(long nr, [out, retval] long *pVal) nr: Nummer des Merkerbytes pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Merkerbyte HRESULT MB(long nr, [in] long newVal) nr: Nummer des Merkerbytes newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Merkerbit HRESULT M(long nr,long bit, [out, retval] BOOL *pVal) nr: Adresse des Merkerbytes bit: Bitnummer im Merkerbyte pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Merkerbit HRESULT M(long nr,long bit, [in] BOOL newVal) nr: Adresse des Merkerbytes bit: Bitnummer im Merkerbyte newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Eingangsdoppelwort HRESULT ED(long nr, [out, retval] long *pVal) nr: Nummer des Eingangsdoppelworts pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Eingangsdoppelwort HRESULT ED(long nr, [in] long newVal) nr: Nummer des Eingangsdoppelworts newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Eingangswort HRESULT EW(long nr, [out, retval] long *pVal) nr: Nummer des Eingangsworts pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Eingangsdoppelwort HRESULT EW(long nr, [in] long newVal) nr: Nummer des Eingangsworts newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Eingangsbyte HRESULT EB(long nr, [out, retval] long *pVal) nr: Nummer des Eingangsbytes pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Eingangsbyte HRESULT EB(long nr, [in] long newVal) nr: Nummer des Eingangsbytes newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Eingangsbit HRESULT E(long nr,long bit, [out, retval] BOOL *pVal) nr: Adresse des Eingangsbytes bit: Bitnummer im Eingangsbyte pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Eingangsbit HRESULT E(long nr,long bit, [in] BOOL newVal) nr: Adresse des Eingangsbytes bit: Bitnummer im Eingangsbyte newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Ausgangsdoppelwort HRESULT AD(long nr, [out, retval] long *pVal) nr: Nummer des Ausgangsdoppelworts pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Ausgangsdoppelwort HRESULT AD(long nr, [in] long newVal) nr: Nummer des Ausgangsdoppelworts newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Ausgangswort HRESULT AW(long nr, [out, retval] long *pVal) nr: Nummer des Ausgangsworts pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Ausgangswort HRESULT AW(long nr, [in] long newVal) nr: Nummer des AusgangsWorts newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Ausgangsbyte HRESULT AB(long nr, [out, retval] long *pVal) nr: Nummer des Ausgangsbytes pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Ausgangsbyte HRESULT AB(long nr, [in] long newVal) nr: Nummer des Ausgangsbytes newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Ausgangsbit HRESULT A(long nr,long bit, [out, retval] BOOL *pVal) nr: Adresse des Ausgangsbytes bit: Bitnummer im Ausgangsbytes pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. Schreibt ein Ausgangsbit HRESULT A(long nr,long bit, [in] BOOL newVal) nr: Adresse des Ausgangsbytes bit: Bitnummer im Ausgangsbyte newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich zu klein ist. |
X | X | X | X |
Liest ein Datendoppelwort HRESULT DD(long DBNr,long nr, [out, retval] long *pVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. Schreibt ein Datendoppelwort HRESULT DD(long DBNr,long nr, [in] long newVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. |
X | X | X | X |
Liest ein Datenwort HRESULT DW(long DBNr,long nr, [out, retval] long *pVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. Schreibt ein Datenwort HRESULT DW(long DBNr,long nr, [in] long newVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. |
X | X | X | X |
Liest ein Datenbyte HRESULT DB(long DBNr,long nr, [out, retval] long *pVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. Schreibt ein Datenbyte HRESULT DB(long DBNr,long nr, [in] long newVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. |
X | X | X | X |
Liest ein Datenbit HRESULT D(long DBNr,long nr,long bit, [out, retval] BOOL *pVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein bit: Bitnummer im Datenbyte pVal: Gelesener Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. Schreibt ein Datenbit HRESULT D(long DBNr,long nr,long bit, [in] BOOL newVal) DBNr: Nummer des Datenbausteins nr: Byte-Offset im Datenbaustein bit: Bitnummer im Datenbyte newVal: Zu schreibender Wert Rückgabewert: S_OK bei Erfolg, E_FAIL bei Fehler, E_ABORT wenn die SPS den Zugriff verweigert oder E_INVALIDARG wenn der Datenbereich nicht existiert oder zu klein ist. |
X | X | X | X |