S7-SoftSPS:Datenschnittstelle: Unterschied zwischen den Versionen

Aus IBHsoftec Wiki
Wechseln zu: Navigation, Suche
Zeile 60: Zeile 60:
 
|  || unsigned long int far * val);,
 
|  || unsigned long int far * val);,
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 83: Zeile 84:
  
 
'''Mehrere Werte lesen'''
 
'''Mehrere Werte lesen'''
 +
 
Liest mehrere Werte aus der ''S7-SoftSPS''.
 
Liest mehrere Werte aus der ''S7-SoftSPS''.
  
Zeile 97: Zeile 99:
 
|  || unsigned long int far * vals);,
 
|  || unsigned long int far * vals);,
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 116: Zeile 119:
  
 
Länge der Parameterliste (Visual-C): 20 Bytes.
 
Länge der Parameterliste (Visual-C): 20 Bytes.
 +
  
 
ACHTUNG: BEI DATENBAUSTEINEN (TYP = 'D') MUSS DAS WERTE-FELD DOPPELT SO GROß SEIN, DA FÜR JEDES DATENWORT 2 BYTES BENÖTIGT WERDEN!
 
ACHTUNG: BEI DATENBAUSTEINEN (TYP = 'D') MUSS DAS WERTE-FELD DOPPELT SO GROß SEIN, DA FÜR JEDES DATENWORT 2 BYTES BENÖTIGT WERDEN!
Zeile 156: Zeile 160:
  
 
Länge der Parameterliste (Visual-C): 20 Bytes.
 
Länge der Parameterliste (Visual-C): 20 Bytes.
 +
  
 
ACHTUNG: BEI DATENBAUSTEINEN (TYP = 'D') MUSS DAS WERTE-FELD DOPPELT SO GROß SEIN, DA FÜR JEDES DATENWORT 2 BYTES BENÖTIGT WERDEN!
 
ACHTUNG: BEI DATENBAUSTEINEN (TYP = 'D') MUSS DAS WERTE-FELD DOPPELT SO GROß SEIN, DA FÜR JEDES DATENWORT 2 BYTES BENÖTIGT WERDEN!
 +
  
 
'''DB lesen'''
 
'''DB lesen'''
Zeile 173: Zeile 179:
 
|  || unsigned long int Synchron);
 
|  || unsigned long int Synchron);
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 191: Zeile 198:
  
 
Länge der Parameterliste (Visual-C): 16 Bytes.
 
Länge der Parameterliste (Visual-C): 16 Bytes.
 +
  
 
Achtung: ES WIRD WORTORIENTIERT GELESEN, LOW- UND HIGHBYTE WERDEN VERTAUSCHT.
 
Achtung: ES WIRD WORTORIENTIERT GELESEN, LOW- UND HIGHBYTE WERDEN VERTAUSCHT.
 +
  
 
'''DB schreiben'''
 
'''DB schreiben'''
Zeile 208: Zeile 217:
 
|  || unsigned long int Synchron);
 
|  || unsigned long int Synchron);
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 226: Zeile 236:
  
 
Länge der Parameterliste (Visual-C): 16 Bytes.
 
Länge der Parameterliste (Visual-C): 16 Bytes.
 +
  
 
Achtung: ES WIRD WORTORIENTIERT GELESEN, LOW- UND HIGHBYTE WERDEN VERTAUSCHT.
 
Achtung: ES WIRD WORTORIENTIERT GELESEN, LOW- UND HIGHBYTE WERDEN VERTAUSCHT.
Zeile 242: Zeile 253:
 
|  || unsigned long int far * Anzahl,
 
|  || unsigned long int far * Anzahl,
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 256: Zeile 268:
 
| Rückgabe ||  0 bei Fehler || Fehlermeldungen
 
| Rückgabe ||  0 bei Fehler || Fehlermeldungen
 
|}
 
|}
 
  
 
Länge der Parameterliste (Visual-C): 12 Bytes.
 
Länge der Parameterliste (Visual-C): 12 Bytes.
Zeile 273: Zeile 284:
 
|  || unsigned long int far * Anzahl,
 
|  || unsigned long int far * Anzahl,
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 303: Zeile 315:
 
|  ||  unsigned long far * MC5Val);
 
|  ||  unsigned long far * MC5Val);
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 324: Zeile 337:
 
|  || float FloatVal);
 
|  || float FloatVal);
 
|}
 
|}
 +
  
 
{| class="wikitable"
 
{| class="wikitable"

Version vom 5. November 2012, 16:16 Uhr

Von verschiedenen Programmiersystemen (z.B. Visual Basic®, Visual C/C++® oder Borland C++Builder®) kann direkt auf die S7-SoftSPS zugegriffen werden. Die hierzu benötigte DLL wird mitgeliefert (PLC32.DLL). Es handelt sich hierbei um eine 32 Bit Applikation.

Im Folgenden werden die zur Datenübertragung vorhandenen Funktionen beschrieben.

Funktionen zur Datenübertragung

Wert lesen

Liest einen Wert aus der S7-SoftSPS.

unsigned long int DLLexport ReadVal (unsigned long int typ,
unsigned long int nr,
unsigned long int DBNr,
unsigned long int size,
unsigned long int far * val);,


Parameter Beschreibung Kommentar
typ 'E' = Eingang
'A' = Ausgang
'M' = Merker
'Z' = Zählerwert
'T' = Zeitwert
'D' = Datenwort oder Datendoppelwort
'B' = Datenbit,-byte,-wort,-doppelwort
auf Byteadresse
'P' = P_Parameter



nur 16-Bit-Zugriff
nur 16-Bit-Zugriff
abhängig vom Parameter size

abhängig von size
S7 kompatibel, nur S7!
nur S7 ab Version 3!

nr Adresse Byteadresse des einzulesenden Operanden
DBNr Datenbaustein Nummer 1 – 16383
size Anzahl der Bits
0..7= Bit Nr 0 7
8 = 1 Byte
16 = 1 Wort
32 = 1 Doppelwort


nur 'E','A','M'
val Gelesener Wert Pointer auf eine gültige Variable im Adressraum Ihrer Applikation.
Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 20 Bytes.


Wert schreiben

Schreibt einen Wert in die S7-SoftSPS.

unsigned long int DLLexport WriteVal (unsigned long int typ,
unsigned long int nr,
unsigned long int DBNr,
unsigned long int size,
unsigned long int far * val);,


Parameter Beschreibung Kommentar
typ 'E' = Eingang
'A' = Ausgang
'M' = Merker
'Z' = Zählerwert
'T' = Zeitwert
'D' = Datenwort oder Datendoppelwort
'B' = Datenbit,-byte,-wort,-doppelwort
auf Byteadresse
'P' = P_Parameter



nur 16-Bit-Zugriff
nur 16-Bit-Zugriff
abhängig vom Parameter size

abhängig von size
S7 kompatibel, nur S7!
nur S7 ab Version 3!

nr Adresse Byteadresse des einzulesenden Operanden
DBNr Datenbaustein Nummer 1 – 16383
size Anzahl der Bits
0..7= Bit Nr 0 7
8 = 1 Byte
16 = 1 Wort
32 = 1 Doppelwort


nur 'E','A','M'
val Zu schreibender Wert
Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 20 Bytes.


Mehrere Werte lesen

Liest mehrere Werte aus der S7-SoftSPS.

unsigned long int DLLexport ReadVals (unsigned long int typ,
unsigned long int nr,
unsigned long int DBNr,
unsigned long int size,
unsigned long int far * vals);,


Parameter Beschreibung Kommentar
typ 'E' = Eingang
'A' = Ausgang
'M' = Merker
'D' = Datenwort
'B' = Datenbyte auf Byteadresse



S5 kompatibel
S7 kompatibel, nur S7!
nr Adresse
DBNr Datenbaustein Nummer 1 – 16383
size Anzahl der Bytes oder Datenworte Bei typ: 'E', 'A', 'M' und 'B' Angabe in Bytes, bei 'D' Angabe in Datenworten.
vals Byte-Werte Pointer auf ein gültiges Array im Adressraum Ihrer Applikation.
Achtung: Das Feld muss groß genug sein!
Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 20 Bytes.


ACHTUNG: BEI DATENBAUSTEINEN (TYP = 'D') MUSS DAS WERTE-FELD DOPPELT SO GROß SEIN, DA FÜR JEDES DATENWORT 2 BYTES BENÖTIGT WERDEN!


Mehrere Werte schreiben

Schreibt mehrere Werte in die S7-SoftSPS.

unsigned long int DLLexport WriteVals (unsigned long int typ,
unsigned long int nr,
unsigned long int DBNr,
unsigned long int size,
unsigned long int far * vals);,


Parameter Beschreibung Kommentar
typ 'E' = Eingang
'A' = Ausgang
'M' = Merker
'D' = Datenwort
'B' = Datenbyte auf Byteadresse



S5 kompatibel
S7 kompatibel, nur S7!
nr Adresse
DBNr Datenbaustein Nummer 1 – 16383
size Anzahl der Bytes oder Datenworte
'E'
'A'
'M'
'B'
'D'

Angabe in Bytes
Angabe in Bytes
Angabe in Bytes
Angabe in Bytes
Angabe in Datenworten.
vals Byte-Werte Pointer auf ein gültiges Array im Adressraum Ihrer Applikation.
Achtung: Das Feld muss groß genug sein!
Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 20 Bytes.


ACHTUNG: BEI DATENBAUSTEINEN (TYP = 'D') MUSS DAS WERTE-FELD DOPPELT SO GROß SEIN, DA FÜR JEDES DATENWORT 2 BYTES BENÖTIGT WERDEN!


DB lesen

Liest den Inhalt eines Datenbausteines aus der S7-SoftSPS.

unsigned long int DLLexport ReadDB (unsigned long int nr,
unsigned short int far * Baustein,
unsigned long int far * Anzahl,
unsigned long int Synchron);


Parameter Beschreibung Kommentar
nr DB-Nummer 1..16383
Baustein Zeiger auf den DB-Inhalt Pointer auf ein gültiges Array im Adressraum Ihrer Applikation.
Achtung: Das Feld muss groß genug sein!
Anzahl Anzahl der Worte, die aus dem Baustein gelesen werden sollen Falls der DB kleiner als die Anzahl ist, wird automatisch die Anzahl heruntergesetzt.

Pointer auf eine gültige Variable im Adressraum Ihrer Applikation.

Synchron Immer 0 Bei S7 ohne Bedeutung
Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 16 Bytes.


Achtung: ES WIRD WORTORIENTIERT GELESEN, LOW- UND HIGHBYTE WERDEN VERTAUSCHT.


DB schreiben

Beschreibt einen Datenbaustein in der SPS.

unsigned long int DLLexport WriteDB (unsigned long int nr,
unsigned short int far * Baustein,
unsigned long int far * Anzahl,
unsigned long int Synchron);


Parameter Beschreibung Kommentar
nr DB-Nummer 1..16383
Baustein Zeiger auf den DB-Inhalt Pointer auf ein gültiges Array im Adressraum Ihrer Applikation.
Achtung: Das Feld muss groß genug sein!
Anzahl Anzahl der Worte, die aus dem Baustein geschrieben werden sollen Falls der DB kleiner als die Anzahl ist, wird automatisch die Anzahl heruntergesetzt.

Pointer auf eine gültige Variable im Adressraum Ihrer Applikation.

Synchron Immer 0 Bei S7 ohne Bedeutung
Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 16 Bytes.


Achtung: ES WIRD WORTORIENTIERT GELESEN, LOW- UND HIGHBYTE WERDEN VERTAUSCHT.


DB lesen S7

Liest den Inhalt eines S7-Datenbausteines in der SPS (Byteorientiert).

unsigned long int DLLexport ReadDB_S7 (unsigned long int nr,
unsigned char int far * Baustein,
unsigned long int far * Anzahl,


Parameter Beschreibung Kommentar
nr DB-Nummer 1..16383
Baustein Zeiger auf den DB-Inhalt Pointer auf ein gültiges Array im Adressraum Ihrer Applikation.
Achtung: Das Feld muss groß genug sein!
Anzahl Anzahl der Bytes, die aus dem Baustein gelesen werden sollen. Falls der DB kleiner als die Anzahl ist, wird automatisch die Anzahl heruntergesetzt.

Pointer auf eine gültige Variable im Adressraum Ihrer Applikation.

Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 12 Bytes.


DB schreiben S7

Beschreibt den Inhalt eines S7-Datenbausteines in der SPS (Byteorientiert).

unsigned long int DLLexport WriteDB_S7 (unsigned long int nr,
unsigned char int far * Baustein,
unsigned long int far * Anzahl,


Parameter Beschreibung Kommentar
nr DB-Nummer 1..16383
Baustein Zeiger auf den DB-Inhalt Pointer auf ein gültiges Array im Adressraum Ihrer Applikation.
Achtung: Das Feld muss groß genug sein!
Anzahl Anzahl der Bytes, die aus dem Baustein geschrieben werden sollen. Falls der DB kleiner als die Anzahl ist, wird automatisch die Anzahl heruntergesetzt.

Pointer auf eine gültige Variable im Adressraum Ihrer Applikation.

Rückgabe 0 bei Fehler Fehlermeldungen

Länge der Parameterliste (Visual-C): 12 Bytes.


Funktionen zur Zahlenumwandlung

FloatToMC5

Wandelt Gleitpunktzahlen im IBM-PC-Format in S7-Doppelwörter um.

void DLLexport FloatToMC5 (float FloatValue,
unsigned long far * MC5Val);


Parameter Beschreibung Kommentar
FloatVal Gleitpunktzahl im IEEE- bzw. INTEL-Format
MC5Val Gleitpunktzahl im Siemens-S7-Format


MC5ToFloat

Wandelt S7-Doppelwörter in Gleitpunktzahlen im IBM-PC-Format um.

void DLLexport MC5ToFloat (unsigned long far * MC5Val
float FloatVal);


Parameter Beschreibung Kommentar
MC5Val Gleitpunktzahl im Siemens-S7-Format
FloatVal Gleitpunktzahl im IEEE- bzw. INTEL-Format


Zugriff mit einem Webserver

Sollten Sie beabsichtigen mit Webapplikationen (IIS) auf die S7-SoftSPS zuzugreifen, die Zugriff auf die Prozessdaten haben sollen, so setzen Sie sich bitte mit unserem Support in Verbindung. Im Lieferumfang der S7-SoftSPS ist ebenfalls ein Objekt enthalten, welches einen Datenzugriff aus Scriptsprachen (VB Script, J Script) heraus ermöglicht.