Copyright Siemens AG 2005 All rights reserved
Weitergabe sowie Vervielfältigung dieser Unterlage,
Verwertung und Mitteilung ihres Inhalts ist nicht gestattet,
soweit nicht ausdrücklich zugestanden. Zuwiderhandlungen
verpflichten zu Schadenersatz. Alle Rechte vorbehalten,
insbesondere für den Fall der Patenterteilung oder GM-
Eintragung
Siemens AG
Bereich Automation and Drives
Geschäftsgebiet Industrial Automation Systems
Postfach 4848, D- 90327 Nürnberg
Haftungsausschluss
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der
beschriebenen Hard- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so dass wir für die
vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben
in dieser Druckschrift werden regelmäßig überprüft, und notwendige
Korrekturen sind in den nachfolgenden Auflagen enthalten. Für
Verbesserungsvorschläge sind wir dankbar.
Siemens AG 2005
Technische Änderungen bleiben vorbehalten
Siemens Aktiengesellschaft
A5E00417149-01
Sicherheitstechnische Hinweise
Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von
Sachschäden beachten müssen. Die Hinweise sind durch ein Warndreieck hervorgehoben und je nach
Gefährdungsgrad folgendermaßen dargestellt:
!
Gefahr
bedeutet, dass Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten werden,
wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
!
Warnung
bedeutet, dass Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten können,
wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
!
Vorsicht
bedeutet, dass eine leichte Körperverletzung oder ein Sachschaden eintreten können, wenn die
entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
Vorsicht
bedeutet, dass ein Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen
nicht getroffen werden.
Achtung
ist eine wichtige Information über das Produkt, die Handhabung des Produktes oder den jeweiligen
Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll.
Qualifiziertes Personal
Inbetriebsetzung und Betrieb eines Gerätes dürfen nur von qualifiziertem Personal vorgenommen
werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise dieses Handbuchs sind
Personen, die Berechtigung haben, Geräte, Systeme und Stromkreise gemäß den Standards der
Sicherheitstechnik in Betrieb zu nehmen, zu erden und zu kennzeichnen.
Bestimmungsgemäßer Gebrauch
Beachten Sie Folgendes:
!
Warnung
Das Gerät darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen Einsatzfälle
und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenen Fremdgeräten und -
komponenten verwendet werden.
Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport, sachgemäße
Lagerung, Aufstellung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.
Marken
SIMATIC®, SIMATIC HMI® und SIMATIC NET® sind Marken der Siemens AG.
Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für
deren Zwecke die Rechte der Inhaber verletzen kann.
PRODAVE MPI V6.0
A5E00417149-01
iii
Vorwort
Zweck des Handbuchs
Dieses Handbuch gibt Ihnen einen vollständigen Überblick über die Funktionen
von PRODAVE MPI V6.0.
Es richtet sich an Personen, die in den Bereichen Projektierung, Inbetriebsetzung
und Service von Automatisierungssystemen tätig sind.
Erforderliche Grundkenntnisse
Zum Verständnis des Handbuchs sind allgemeine Kenntnisse auf dem Gebiet der
Automatisierungstechnik erforderlich.
Außerdem werden Kenntnisse über die Verwendung von Computern oder PC-
ähnlichen Arbeitsmitteln (z. B. Programmiergeräten) unter dem Betriebssystem
Windows 2000 bzw. XP vorausgesetzt.
Gültigkeitsbereich des Handbuchs
Das Handbuch ist gültig für das Softwarepaket PRODAVE MPI V6.0.
Vorwort
PRODAVE MPI V6.0
iv
A5E00417149-01
Weitere Unterstützung
Bei Fragen zur Nutzung der im Handbuch beschriebenen Produkte, die Sie hier
nicht beantwortet finden, wenden Sie sich bitte an Ihren Siemens-Ansprechpartner
in den für Sie zuständigen Vertretungen und Geschäftsstellen.
Ihren Ansprechpartner finden Sie unter:
http://www.siemens.com/automation/partner
Den Wegweiser zum Angebot an technischen Dokumentationen für die einzelnen
SIMATIC Produkte und Systeme finden Sie unter:
http://www.siemens.de/simatic-tech-doku-portal
Den Online-Katalog und das Online-Bestellsystem finden Sie unter:
http://mall.automation.siemens.com/
Trainingscenter
Um Ihnen den Einstieg in das Automatisierungssytem S7 zu erleichtern, bieten wir
entsprechende Kurse an. Wenden Sie sich bitte an Ihr regionales Trainingscenter
oder an das zentrale Trainingscenter in D 90327 Nürnberg.
Telefon:
+49 (911) 895-3200.
Internet:
http://www.sitrain.com
Vorwort
PRODAVE MPI V6.0
A5E00417149-01
v
A&D Technical Support
Sie erreichen den Technical Support für alle A&D-Produkte
•
Über das Web-Formular für den Support Request
http://www.siemens.de/automation/support-request
•
Telefon: + 49 180 5050 222
•
Fax:
+ 49 180 5050 223
Weitere Informationen zu unserem Technical Support finden Sie im Internet unter
http://www.siemens.com/automation/service
Vorwort
PRODAVE MPI V6.0
vi
A5E00417149-01
Service & Support im Internet
Zusätzlich zu unserem Dokumentations-Angebot bieten wir Ihnen im Internet unser
komplettes Wissen online an.
http://www.siemens.com/automation/service&support
Dort finden Sie:
•
den Newsletter, der Sie ständig mit den aktuellsten Informationen zu Ihren
Produkten versorgt.
•
die für Sie richtigen Dokumente über unsere Suche in Service & Support.
•
ein Forum in welchem Anwender und Spezialisten weltweit Erfahrungen
austauschen.
•
Ihren Ansprechpartner für Automation & Drives vor Ort.
•
Informationen über Vor-Ort Service, Reparaturen, Ersatzteile. Vieles mehr
steht für Sie unter dem Begriff "Leistungen“ bereit.
PRODAVE MPI V6.0
A5E00417149-01
vii
Inhaltsverzeichnis
1
Einführung
1.1
Grundfunktionen................................................................................................1-2
1.1.1
Funktionen zum Datentransfer zur S7 300/400 ................................................1-2
1.1.2
Funktionen zum Datentransfer zur S7 200 .......................................................1-3
1.2
Funktionen zum Datenhandling im PG/PC .......................................................1-4
2
Beschreibung 2-1
2.1
Arbeitsweise von PRODAVE ............................................................................2-1
2.2
Benutzung des Hochsprachenadapters............................................................2-1
2.3
Voraussetzungen ..............................................................................................2-1
2.4
Verbindung von PG/PC zum jeweiligen AG......................................................2-2
2.4.1
Treiber unter Windows 95/98/NT ......................................................................2-2
3
Bedienung
3.1
Installation von PRODAVE MPI V6.0................................................................3-1
3.1.1
Installation von PRODAVE MPI V6.0 unter Windows 95/98/NT/ME/2000/XP .3-1
3.2
Lieferumfang PRODAVE MPI V6.0...................................................................3-2
3.2.1
PRODAVE MPI V6.0 für Windows 95/98/NT/ME/2000/XP...............................3-2
3.2.2
PRODAVE MPI V6.0 Mini für Windows 95/98/NT/ME/2000/XP .......................3-3
3.3
Arbeiten mit PRODAVE ....................................................................................3-4
3.3.1
Anmerkung zur S7-200 .....................................................................................3-4
3.3.2
Anmerkung zur S7-300/400 ..............................................................................3-4
3.4
Unterschiede zwischen S5 und S7 ...................................................................3-5
3.5
Anbindung an Standardtools.............................................................................3-7
3.5.1
PRODAVE unter Delphi (32-Bit) Beispiel..........................................................3-7
3.5.2
PRODAVE unter Access (32-Bit) Beispiel ........................................................3-8
3.5.3
PRODAVE unter Visual Basic (32-Bit) Beispiel ................................................3-8
4
Funktionen von PRODAVE MPI V6.0
4.1
Grundfunktionen................................................................................................4-3
4.1.1
load_tool............................................................................................................4-3
4.1.2
unload_tool........................................................................................................4-5
4.1.3
new_ss ..............................................................................................................4-6
4.2
Funktionen zum Datenverkehr zur S7 300/400 ................................................4-7
4.2.1
ag_info...............................................................................................................4-7
4.2.2
ag_zustand........................................................................................................4-9
4.2.3
db_buch...........................................................................................................4-10
4.2.4
db_read ...........................................................................................................4-11
4.2.5
d_field_read ....................................................................................................4-13
4.2.6
e|a|m_field_read..............................................................................................4-14
4.2.7
t|z_field_read...................................................................................................4-16
4.2.8
mix_read..........................................................................................................4-17
4.2.9
db_write...........................................................................................................4-21
4.2.10
d_field_write ....................................................................................................4-23
4.2.11
a|m_field_write ................................................................................................4-24
4.2.12
z_field_write ....................................................................................................4-25
Inhaltsverzeichnis
PRODAVE MPI V6.0
viii
A5E00417149-01
4.2.13
mix_write .........................................................................................................4-26
4.2.14
mb_setbit.........................................................................................................4-30
4.2.15
mb_resetbit......................................................................................................4-31
4.2.16
mb_bittest........................................................................................................4-32
4.3
Funktionen Datenverkehr zur S7 200 .............................................................4-33
4.3.1
as200_ag_info.................................................................................................4-33
4.3.2
as200_ag_zustand ..........................................................................................4-34
4.3.3
as200_e|a|m|sm|vs_field_read .......................................................................4-35
4.3.4
as200_t_field_read..........................................................................................4-37
4.3.5
as200_z_field_read.........................................................................................4-39
4.3.6
as200_mix_read..............................................................................................4-41
4.3.7
as200_a|m|sm|vs_field_write ..........................................................................4-44
4.3.8
as200_z_field_write ........................................................................................4-46
4.3.9
as200_mix_write .............................................................................................4-47
4.3.10
as200_mb_setbit .............................................................................................4-50
4.3.11
as200_mb_resetbit..........................................................................................4-51
4.3.12
as200_mb_bittest ............................................................................................4-52
4.4
Komfortfunktionen ...........................................................................................4-53
4.4.1
error_message ................................................................................................4-53
4.4.2
kg_to_float.......................................................................................................4-55
4.4.3
float_to_kg.......................................................................................................4-56
4.4.4
gp_to_float.......................................................................................................4-57
4.4.5
float_to_gp.......................................................................................................4-58
4.4.6
testbit...............................................................................................................4-59
4.4.7
byte_boolean...................................................................................................4-60
4.4.8
boolean_byte...................................................................................................4-61
4.4.9
kf_integer.........................................................................................................4-62
4.4.10
swab_buffer.....................................................................................................4-63
4.4.11
copy_buffer......................................................................................................4-64
4.4.12
USHORT_2_bcd .............................................................................................4-65
4.4.13
bcd_2_USHORT .............................................................................................4-66
4.5
Teleservice Funktionen ...................................................................................4-67
4.5.1
ts_dial ..............................................................................................................4-67
4.5.2
ts_hang_up_dial..............................................................................................4-69
4.5.3
ts_set_ringindicator .........................................................................................4-70
4.5.4
ts_read_info ....................................................................................................4-72
4.5.5
ts_hang_up_ring .............................................................................................4-73
4.5.6
ts_get_modem_name .....................................................................................4-74
5
Demonstrationsprogramme 5-1
5.1
Demonstrationsprogramme für den PC ............................................................5-1
A
Anhang
A.1
Fehlertexte ....................................................................................................... A-1
A.2
Verwendete Abkürzungen................................................................................ A-4
PRODAVE MPI V6.0
A5E00417149-01
1-1
1 Einführung
Neben den Programmiergeräten dringt der Personal-Computer immer mehr in die
Fabrikhallen ein, weil er ständig leistungsfähiger wird und weil es vor allem ein
riesiges Angebot an Applikationen für die Fertigung gibt. Dabei stellt sich Ihnen als
Anwender jedoch meist das Problem, dass zwar eine Vielzahl von Programmen
zur Nachbearbeitung von Prozessdaten zur Verfügung stehen (z. B. Datenbanken,
statistische Auswertung u. a.), dass Sie aber Ihre Daten im Automatisierungsgerät
nur schwer für diese Applikationen verfügbar machen können. Denn dafür
brauchen Sie eine funktionierende und kostengünstige Kopplung zwischen AG und
PG/PC.
Hier hilft Ihnen das Softwarepaket PRODAVE MPI V6.0. PRODAVE MPI V6.0 stellt
in einer DLL (Dynamic Link Library) bzw. LIB (Library) ausgetestete Funktionen
(Tools) zur Verfügung, die Sie für jede Ihrer Anwendungen neu kombinieren. Die
Kombination der Tools erfolgt in den Programmiersprachen, mit denen Sie
Windows 95/98/ME und Windows NT/2000/XP Applikationen erstellen können.
Über diese kombinierten Funktionen baut PRODAVE MPI V6.0 den
Prozessdatenverkehr über die MPI-Anschaltung des AG zwischen AG und PG/PC
auf. Die nun verfügbaren Daten können in ein PC-gerechtes Format gewandelt und
von Ihrer eigenen Applikation oder von gängigen Applikationen verarbeitet werden.
Sie können damit ohne Detailkenntnisse eine Datenkopplung zwischen AG und
PG/PC errichten und Ihre Entwicklungsaktivitäten auf die spezifische Verarbeitung
Ihrer Daten konzentrieren.
Mit PRODAVE MPI V6.0 können Sie Ihren Prozess nicht nur auswerten und be-
obachten, sondern auch beeinflussen, denn Sie haben verschiedene Funktionen,
um vom PG/PC aus Daten ins AG zu schreiben.
Um Einstieg und Umgang mit PRODAVE MPI V6.0 zu erleichtern, liefern wir Ihnen
als Beispiel mehrere Demonstrationsprogramme. Diese Programme sind voll
funktionsfähig und stehen Ihnen im Quellcode zur Verfügung (siehe Kapitel
"Demonstrationsprogramme").
PRODAVE MPI V6.0 läuft unter Windows 95/98/NT/ME/2000/XP auf PG 7xx und
auf PCs, die kompatibel zum Industriestandard sind in Verbindung mit einer MPI-
Anschaltung (CP5511, CP5611) oder PC/MPI-Kabel.
Die PRODAVE Funktionen lassen sich in 3 grundsätzliche Arten unterteilen:
Einführung
PRODAVE MPI V6.0
1-2
A5E00417149-01
1.1 Grundfunktionen
•
System initialisieren und deinitialisieren (load_tool, unload_tool).
•
Aktivieren der Verbindung (new_ss).
1.1.1
Funktionen zum Datentransfer zur S7 300/400
•
Ausgangsbytes aus dem AG lesen (a_field_read).
•
Ausgangsbytes schreiben (a_field_write).
•
Eingangsbytes aus dem AG lesen (e_field_read).
•
Datenbytes aus einem Baustein DB lesen (d_field_read).
•
Datenbytes in einen Baustein DB schreiben (d_field_write).
•
Merkerbytes aus dem AG lesen (m_field_read).
•
Merkerbytes im AG beschreiben (m_field_write).
•
Zustandsprüfung eines Merkers (mb_bittest).
•
Merker setzen und rücksetzen (mb_setbit, mb_resetbit).
•
Zeitworte aus dem AG lesen (t_field_read).
•
Zählerworte aus dem AG lesen (z_field_read).
•
Zählerwort im AG überschreiben (z_field_write).
•
Lesen von gemischten Daten (mix_read).
•
Schreiben von gemischten Daten (mix_write).
Einführung
PRODAVE MPI V6.0
A5E00417149-01
1-3
1.1.2
Funktionen zum Datentransfer zur S7 200
•
Ausgangsbytes aus dem AG lesen (as200_a_field_read).
•
Ausgangsbytes schreiben (as200_a_field_write).
•
Eingangsbytes aus dem AG lesen (as200_e_field_read).
•
Datenbytes aus Variablenspeicher lesen (as200_vs_field_read).
•
Datenbytes in Variablenspeicher schreiben (as200_vs_field_write).
•
Merkerbytes aus dem AG lesen (as200_m_field_read).
•
Merkerbytes im AG beschreiben (as200_m_field_write).
•
Sondermerkerbytes aus dem AG lesen (as200_sm_field_read).
•
Sondermerkerbytes im AG beschreiben (as200_sm_field_write).
•
Zustandsprüfung eines Merkers (as200_mb_bittest).
•
Merker setzen und rücksetzen (as200_mb_setbit, as200_mb_resetbit).
•
Zeitworte aus dem AG lesen (as200_t_field_read).
•
Zählerworte aus dem AG lesen (as200_z_field_read).
•
Zählerwort im AG überschreiben (as200_z_field_write).
•
Lesen von gemischten Daten (as200_mix_read).
•
Schreiben von gemischten Daten (as200_mix_write).
Einführung
PRODAVE MPI V6.0
1-4
A5E00417149-01
1.2
Funktionen zum Datenhandling im PG/PC
•
Fehlertextausgabe zur Fehlernummer (error_message).
•
Formatwandlung von S7-Daten (gp_to_float, float_to_gp).
•
Formatwandlung von S5-Daten (kg_to_float, float_to_kg).
•
Bytewandlung von einem Byte in acht logische Werte und umgekehrt
(boolean_byte, byte_boolean).
1.3 TeleService-Funktionen
Bei den TeleService-Funktionen handelt es sich um eine Erweiterung der
PRODAVE Funktionalität, die es ermöglicht, einen Verbindungsaufbau von bzw. zu
einer S7-Steuerung über das öffentliche Telefonnetz herzustellen. Die
Vorraussetzung hierfür ist die Installation von SIMATIC TeleService (= SW-
Optionspaket zu STEP 7) zur Anbindung von SIMATIC S7-Steuerungen (PLC)
über das öffentliche Telefonnetz.
•
Anwahl einer Station bzw. eines TS-Adapters (ts_dial).
•
Beenden einer TeleService-Verbindung (ts_hang_up_dial).
•
Initialisierung des Systems für Anruferkennung (ts_set_ringindicator).
•
Informationen der Alarmauslösenden Station auslesen (ts_read_info).
•
Beenden einer TeleService-Verbindung (ts_hang_up_ring).
PRODAVE MPI V6.0
A5E00417149-01
2-1
2 Beschreibung
2.1
Arbeitsweise von PRODAVE
Mit dem Programmpaket PRODAVE MPI V6.0 können Sie unter Windows
95/98/NT/ME/2000/XP über verschiedene CPUs der S7-Reihe Daten aus einem
Automatisierungsgerät (AG) lesen und Daten in ein AG schreiben.
PRODAVE MPI V6.0 besteht im wesentlichen aus zwei Teilen:
•
Treiber für Windows 95/98/ME und Windows NT/2000/XP
und
•
Hochsprachenadapter
PRODAVE MPI V6.0 bietet Ihnen den Adapter für Windows 95/98/NT/ME/2000/XP
in Form einer 32-Bit-DLL (Dynamic Link Library) erstellt mit VC++ Version 6.0 an.
Wollen Sie mit einer Hochsprache aus dem AG Daten lesen oder in das AG Daten
schreiben, so bedienen Sie ausschließlich den Adapter und dessen Funktionen.
2.2
Benutzung des Hochsprachenadapters
Die zur Verfügung stehenden Funktionen finden Sie im Kapitel "Funktionen von
PRODAVE MPI V6.0" für die verschiedenen Programmiersprachen des
vorliegenden Handbuchs ausführlich beschrieben.
2.3 Voraussetzungen
PRODAVE MPI V6.0 arbeitet mit den AGs S7-200, S7-300, S7-400, M7 und C7
der S7-Reihe.
Software-Voraussetzung:
Betriebsystem Windows 95/98/ME oder Windows NT V4.x/2000/XP.
Hardware-Voraussetzung:
PRODAVE MPI V6.0
PRODAVE MPI V6.0 mini
Ein Simatic PG oder ein AT kompatibler Industrie-PC mit 64MB Hauptspeicher und
MPI-ISA-Anschaltung, CP5511,CP 5512, CP5611 oder PC-Adapter.
Beschreibung
PRODAVE MPI V6.0
2-2
A5E00417149-01
2.4
Verbindung von PG/PC zum jeweiligen AG
2.4.1
Treiber unter Windows 95/98/NT
Der PG/PC-AG-Anschluss kann über folgende Komponenten erfolgen:
•
CP 5611 PCI-Card
•
CP 5511/CP 5512 PCMCIA-Card
•
MPI-ISA-Card oder MPI-ISA on Board (Simatic PG, PC RI45,25,FI25)
•
COM 1/2 via PC-Adapter
PC S7-300/400/M7/C7
MPI-ISA MPI-Schnittstelle CP5511/5512/5611 S7-200 PPI-Schnittstelle
Die Installation und Einstellungen der verwendeten Hardware erfolgt über das
STEP7-Tool PG/PC-Schnittstelle parametrieren, das nach erfolgreicher
Installation in der Systemsteuerung zur Verfügung steht.
PRODAVE MPI V6.0
A5E00417149-01
3-1
3 Bedienung
3.1
Installation von PRODAVE MPI V6.0
3.1.1
Installation von PRODAVE MPI V6.0 unter Windows
95/98/NT/ME/2000/XP
Die Installation von PRODAVE MPI V6.0 erfolgt über ein Windows-Installations-
Programm (SETUP.EXE), das vom Dateimanager unter Windows aktiviert werden
muss. Nach dem Start von SETUP.EXE wird Ihnen ein Zielpfad für die Installation
angeboten, den Sie durch Neueingabe oder über BROWSE ändern können. Nach
der Zielpfadangabe werden Ihnen die Auswahl folgender Installationskomponenten
angeboten:
•
PRODAVE MPI V6.0 for Windows 95/98/NT/ME/2000/XPPRODAVE DLL und
Demonstrationsprogramm für Windows95/98/NT/ME/2000/XP.STEP7 Driver
for Windows 95/98/NT/ME/2000/XP
•
Dokumentation.
Das Setup generiert automatisch einen Eintrag in der Systemsteuerung zum
Einstellen der verwendeten Schnittstelle unter Windows 95/98/NT/ME/2000/XP.
Die zu verwendeten Treiber können mit Hilfe des STEP7-Tools PG/PC-
Schnittstelle einstellen (S7EPATSX.EXE) geladen, parametriert und in das
System eingebunden werden. Nach der korrekten Installation werden die Treiber
automatisch bei Neustart von Windows 95/98/NT/ME/2000/XP aktiviert.
Bedienung
PRODAVE MPI V6.0
3-2
A5E00417149-01
3.2
Lieferumfang PRODAVE MPI V6.0
3.2.1
PRODAVE MPI V6.0 für Windows 95/98/NT/ME/2000/XP
Nach erfolgreicher Installation sind folgende PRODAVE Komponenten verfügbar:
SIEMENS\PRODAVE_S7\INCLUDE\
W95_S7 .H = Headerfile für PRODAVE-DLL
KOMFORT .H = Headerfile für Komfort-DLL
W95_S7 .DEF = Definitionfile für PRODAVE-DLL
KOMFORT .DEF = Definitionfile für Komfort-DLL
SIEMENS\PRODAVE_S7\LIB\
W95_S7 .LIB = Importlibrary für PRODAVE-DLL
KOMFORT .LIB = Importlibrary für Komfort-DLL
SIEMENS\PRODAVE_S7\SAMPLE_VC\
DEMO .EXE = Demoprogramm
DEMO .DSP = Visual C Projektdatei
DEMO .C = Quellcode Demoprogramm
ICON1 .ICO = 32 x 32 icon
DEMO .RC = Resource Code Demoprogramm
ERROR .DAT = Datei mit deutschen Fehlertexten
RESOURCE.H = Headerfile Demoprogramm
SIEMENS\PRODAVE_S7\SAMPLE_VB\
VBDEMO .VBP = Visual Basic Projetdatei
ERROR .DAT = Fehlertextdatei
VBDEMO .EXE = Ablauffähiges Demoprogramm
VBDEMO .BAS = Funktionsdeklarationen für VB
VBDEMO .FRM = Forms
DBBUCH_FRM .FRM
ERROR .FRM FLAG .FRM
INFO .FRM
LOAD .FRM
READ_FRM .FRM
STATUS .FRM
TS_FRM .FRM
TSINFO_FRM .
Bedienung
PRODAVE MPI V6.0
A5E00417149-01
3-3
FRM WRITE_FRM .FRM
\WINDOWS\SYSTEM32\
W95_S7 .DLL = PRODAVE-DLL
KOMFORT .DLL = Komfort -DLL
3.2.2
PRODAVE MPI V6.0 Mini für Windows 95/98/NT/ME/2000/XP
Nach erfolgreicher Installation sind folgende PRODAVE Komponenten verfügbar:
SIEMENS\PRODAVE_S7_MINI\INCLUDE\
W95_S7M .H = Headerfile für PRODAVE-DLL
KOMFORT .H = Headerfile für Komfort-DLL
W95_S7M .DEF = Definitionfile für PRODAVE-DLL
KOMFORT .DEF = Definitionfile für Komfort-DLL
SIEMENS\PRODAVE_S7_MINI\LIB\
W95_S7M .LIB = Importlibrary für PRODAVE-DLL
KOMFORT .LIB = Importlibrary für Komfort-DLL
SIEMENS\PRODAVE_S7_MINI\SAMPLE_VC_MINI\
DEMO .EXE = Demoprogramm
DEMO .DSP = Visual C Projektdatei
DEMO .C = Quellcode Demoprogramm
ICON1 .ICO = 32 x 32 icon
DEMO .RC = Resource Code Demoprogramm
ERROR .DAT = Datei mit deutschen Fehlertexten
RESOURCE.H = Headerfile Demoprogramm
SIEMENS\PRODAVE_S7_MINI\SAMPLE_VB_MINI\
VBDEMO .VBP = visual basic projectfile
ERROR .DAT = Fehlertextdatei
VBDEMO .EXE = Ablauffähiges Demoprogramm
VBDEMO .BAS = Funktionsdeklarationen für VB
VBDEMO .FRM = Forms
ERROR .FRM
INFO .FRM
LOAD .FRM
READ_FRM .FRM
STATUS .FRM
WRITE_FRM .FRM
\WINDOWS\SYSTEM32
Bedienung
PRODAVE MPI V6.0
3-4
A5E00417149-01
W95_S7M .DLL = PRODAVE-DLL
KOMFORT .DLL = Komfort -DLL
3.3
Arbeiten mit PRODAVE
Sie schreiben Ihr Anwenderprogramm in einer Hochsprache und verwenden die
Funktionsaufrufe in der Form, wie sie im Kapitel "Funktionen von PRODAVE MPI
V6.0" aufgelistet sind.
3.3.1
Anmerkung zur S7-200
Bei Kopplung zur S7-200 darf nur 1 Verbindung in der Funktion load_tool
parametriert werden.
Das Initialisieren der Verbindung erfolgt mit dem Aufruf der Funktion load_tool.
Dann folgt der anwenderspezifische Teil, in dem Sie ausschließlich as200_......
Funktionen (siehe auch Kapitel "Grundfunktionen zum Datentransfer S7-200") aus
dem Adapter aufrufen dürfen. Schließen Sie Ihr Programm ab, müssen Sie die
Verbindungen mit der Funktion unload_tool wieder deinitialisieren.
3.3.2
Anmerkung zur S7-300/400
Obligatorischer Anfang jedes Anwenderprogramms ist das Initialisieren der
Verbindungen mit dem Aufruf der Funktion load_tool. Dann folgt der
anwenderspezifische Teil, in dem Sie beliebig viele PRODAVE-Funktionen (mit
Ausnahme der as200_....-Funktionen) aus dem Adapter aufrufen können.
Schließen Sie Ihr Programm ab, müssen Sie die Verbindungen mit der Funktion
unload_tool wieder deinitialisieren.
Achten Sie bei der Entwicklung Ihres Programm immer auf folgende Punkte,
um Datenverluste oder einen Systemabsturz zu vermeiden:
•
-Vor Verlassen des Programms müssen die Verbindungen durch Aufruf der
Adapter-Funktion unload_tool deinitialisiert werden!
•
-Wenn Sie Daten aus dem AG lesen, müssen die Felder, in welche die Daten
übertragen werden, auch groß genug sein, um diese Daten aufzunehmen, da
der Adapter keine Feldprüfung vornimmt!
•
-Die Fehlertextdatei muss im gleichen Katalog wie das entwickelte Programm
stehen, da sonst der Adapter die Fehlertexte nicht laden kann!
•
-Um eine wiederholte "Prüfung auf Vorhandensein" der Fehlertextdatei zu ver-
meiden, können Sie am Programmanfang die Funktion error_message auf-
rufen, um bei Fehlern eine entsprechende Meldung ausgeben zu können.
Beim ersten Aufruf dieser Funktion wird die Fehlertextdatei geladen.
Bedienung
PRODAVE MPI V6.0
A5E00417149-01
3-5
3.4
Unterschiede zwischen S5 und S7
Ein wesentlicher Unterschied zwischen S5-AG und S7-AG besteht in der
Verwaltung der Datenbausteine. Während die S5 Datenbausteine wortweise
verwaltet, bearbeitet die S7 Datenbausteine byteweise.
S5
bit 15 .. bit 0
S7
bit 7 ..0 bit 7 ..0
DW 0
DW 1
DW 2
DW 3
...
DW 0
DW 1
DW 2
DW 3
DW 4
DW 5
DW 6
DW 7
...
...
= DW 0
= DW 2
= DW 4
= DW 6
...
Bei Verwendung der Funktion d_field_read wird auf den Datenbaustein wie z. B.
auf den Merkerbereich byteweise zugegriffen.
Wenn Sie mit der Funktion db_read 3 Datenworte lesen, werden aus AG-Sicht
DBW0 bis DBW5 übertragen. D.h. im PG/PC liegen drei 16bit-Worte zur
Bearbeitung frei, die im AG über DBW0, DBW2 und DBW4, PG/PC-seitig jedoch
über DW0, DW1 und DW2 adressiert werden.
Um Verwechslungen bei der Datenverwaltung zu vermeiden empfielt es sich, AG-
seitig den Datenbaustein symbolisch, über eine Typzuweisung in folgender Form
zu bearbeiten:
Bedienung
PRODAVE MPI V6.0
3-6
A5E00417149-01
Typdeklaration in der Symbolliste:
Baustein: DB10 DB_10
Adresse
Variable
Datentyp
Anfangswert
Kommentar
STRUCT
DW
ARRAY[0 .. 255]
WORD
END STRUCT
Beispiel für den Zugriff auf Variable im AG:
L "DB_10".DW[2]
T MW10
oder
L MW10
T "DB_10".DW[2]
Bedienung
PRODAVE MPI V6.0
A5E00417149-01
3-7
3.5
Anbindung an Standardtools
3.5.1
PRODAVE unter Delphi (32-Bit) Beispiel
Um PRODAVE-Funktionen unter Delphi nutzen zu können, müssen Sie diese wie
folgt deklarieren:
function Load_tool ( no:Byte;
name: {pointer} PChar;
adr:{pointer} PChar): longint;
stdcall;
external ´w95_s7.dll´ name ´load_tool´;
function DB_read ( dbno: longint;
dwno: longint;
var amount: longint;
var buffer): longint
stdcall;
external ´ w95_s7.dll´ name ´db_read´;
function Unload_tool: longint;
stdcall;
external ´ w95_s7.dll´ name ´unload_tool´;
Beispiel:
var
plc_adr_table : array [0..15] of byte;
name:array[0..255] of char;
res ,amount: longint;
buffer : array[0..255] of word;
plc_adr_table[0] := 2; {adresse}
plc_adr_table[1] := 0; {segment id}
plc_adr_table[2] := 2; {slot nr}
plc_adr_table[3] := 0; {rack nr}
plc_adr_table[4] := 0;
strcopy(name,'S7ONLINE');
res := Load_tool(1,addr(name),addr(plc_adr_table[0]));
res := DB_read(10,0,amount,buffer);
res := Unload_tool;
Bedienung
PRODAVE MPI V6.0
3-8
A5E00417149-01
3.5.2
PRODAVE unter Access (32-Bit) Beispiel
Um PRODAVE-Funktionen unter Access nutzen zu können, müssen Sie diese wie
folgt deklarieren:
Declare Function load_tool Lib " w95_s7" ( ByVal no As Byte, ByVal name As
String, ByVal adr As String) As Long
Declare Function db_read Lib " w95_s7" ( ByVal dbno As Long, ByVal dwno As
Long, amount As Long, buffer As Integer) As Long
Declare Function unload_tool Lib " w95_s7" () As Long
Beispiel:
Dim dbno As Long, dwno As Long, amount As Long Dim buffer(50) As Integer Dim
plc_adr_table As String
res = load_tool 1, "S7ONLINE", plc_adr_table res = db_read dbno, dwno, amount,
buffer(0) res = unload_tool
3.5.3
PRODAVE unter Visual Basic (32-Bit) Beispiel
Um PRODAVE-Funktionen unter Visual-Basic nutzen zu können, müssen Sie
diese wie folgt deklarieren:
Declare Function load_tool Lib " w95_s7.dll" (ByVal nr As Byte, ByVal dev As
String, adr As plcadrtype) As Long
Declare Function db_read Lib " w95_s7.dll" ( ByVal dbno As Long, ByVal dwno As
Long, amount As Long, buffer%) As Long
Declare Function unload_tool Lib " w95_s7.dll" () As Long
Beispiel:
Dim dbno As Long, dwno As Long, amount As Long Dim buffer(50) As Integer
Type plcadrtype adr As Byte SEGMENTID As Byte SLOTNO As Byte RACKNO As
Byte
End Type
Dim plcadr (5) As plcadrtype
plcadr(0).adr = 2 plcadr(0).SEGMENTID = 0 plcadr(0).SLOTNO = 2
plcadr(0).RACKNO = 0 plcadr(1).adr = 0
res = load_tool (1, "S7ONLINE", plcadr) res = db_read (dbno, dwno, amount,
buffer(0)) res = unload_tool()
PRODAVE MPI V6.0
A5E00417149-01
4-1
4
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI
V6.0
PRODAVE MPI
V6.0 Mini
neue Abbildung in V6.0
Version
bis V5.6
bis V5.6
W95_S7. DLL
W95_S7M.DLL
Library
KOMFORT.DLL
KOMFORT.DLL
W95_S7. H
W95_S7M.H
Header
KOMFORT.H
KOMFORT.H
Grundfunktionen
load_tool: MPI/Profibus
x
x
LoadConnection_ex6
unload_tool: MPI/Profibus oder ISO-
Protokoll
x x
UnloadConnection_ex6
new_ss: MPI/Profibus oder ISO-
Protokoll
x x
SetActiveConnection_ex6
Funktionen Datenverkehr zur S7 300/400
ag_info x
x
as_info_ex6
ag_zustand x
as_zustand_ex6
db_buch x
db_buch_ex6
db_read x
x
db_read_ex6
d_field_read x
e_field_read x
a_field_read x
m_field_read x
t_field_read x
z_field_read x
mix_read x
field_read_ex6
db_write x
x
db_write_ex6
d_field_write x
a_field_write x
m_field_write x
z_field_write x
mix_write x
field_write_ex6
mb_setbit x
mb_resetbit x
mb_setbit_ex6
mb_bittest x
mb_bittest_ex6
Funktionen Datenverkehr zur S7 200
as200_ag_info x
x
as200_as_info_ex6
as200_ag_zustand x
as200_as_zustand_ex6
as200_e_field_read x
as200_field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-2
A5E00417149-01
as200_a_field_read x
as200_m_field_read x
as200_sm_field_read x
as200_vs_field_read x x
as200_t_field_read x
as200_z_field_read x
as200_mix_read
x
as200_a_field_write x
as200_m_field_write x
as200_sm_field_write x
as200_vs_field_write x x
as200_z_field_write x
as200_mix_write x
as200_field_write_ex6
as200_mb_setbit x
as200_mb_resetbit x
as200_mb_setbit_ex6
as200_mb_bittest x
as200_mb_bittest_ex6
Komfortfunktionen
error_message x
x
GetErrorMessage_ex6
kg_to_float x
x
kg_2_float_ex6
float_to_kg x
x
float_2_kg_ex6
gp_to_float x
x
gp_2_float_ex6
float_to_gp x
x
float_2_gp_ex6
testbit x
x
testbit_ex6
byte_boolean x
x
byte_2_bool_ex6
boolean_byte x
x
bool_2_byte_ex6
kf_integer x
x
kf_2_integer_ex6
swab_buffer *
2
x
x
swab_buffer_ex6
copy_buffer *
2
x
x
copy_buffer_ex6
USHORT_2_bcd *
2
x
x
ushort_2_bcd_ex6
bcd_2_USHORT *
2
x
x
bcd_2_ushort_ex6
Teleservice Funktionen
ts_dial x
ts_dial_ex6
ts_hang_up_dial x
ts_hang_up_dial_ex6
ts_set_ringindicator x
ts_set_ringindicator_ex6
ts_read_info x
ts_read_info_ex6
ts_hang_up_ring x
ts_hang_up_ring_ex6
ts_get_modem_name
*
2
x
ts_get_modem_name
_ex6
*
2
Diese Funktionen sind in der Anwenderdokumentation von PRODAVE S7 V5.6 nicht
dokumentiert!
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-3
4.1 Grundfunktionen
4.1.1 load_tool
Die Grundfunktion load_tool initialisiert den Adapter, prüfen ob der Treiber
geladen ist, initialisieren die parametrierten Adressen und schalten die angewählte
Schnittstelle aktiv.
Mit load_tool werden Transportverbindung via MPI/PB-Adressen aufgebaut.
int load_tool (char chConNo, char* pstrAccessPoint, char* pConTable);
Parameter
chConNo
[in] Nummer der Verbindung.
pstrAccessPoint
[in] Zugangspunkt (nullterminiert) des verwendeten Treibers z.B. "S7ONLINE" für
den MPI-Treiber oder 0 (default).
pConTable
[in] Zeiger auf Adressliste der angeschlossenen Teilnehmer. cAdr == 0 wird als
Endekennung der Liste gewertet.
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-4
A5E00417149-01
Aufrufbeispiel
Mit der AS300/400 können maximal 32 Verbindungen eingerichtet werden.
Mit der AS200 darf maximal eine Verbindung eingerichtet werden.
Aufbau Adresslisten:
#pragma pack(1)
typedef struct {
unsigned char
cAdr; //
Stationsadresse
unsigned char
cSegmentId;
// Segment-ID
unsigned char
cSlotNo;
// Steckplatznummer
unsigned char
cRackNo; //
Baugruppenträgernummer
} adr_table_type;
#pragma pack()
Jeder Teilnehmer wird durch den Eintrag in der Adressliste beschrieben:
cAdr
Stationsadresse des Teilnehmers, default: 2
cSegmentId
Segment ID des Teilnehmers, default: 0 (reserviert für spätere
Erweiterungen)
cSlotNo
Steckplatznummer des Teilnehmers, default: 1
cRackNo
Baugruppenträgernummer des Teilnehmers, default: 0
Voraussetzungen
V5.6
load_tool,
load_tool_ex
V6.0 LoadConnection_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
unload_tool, new_ss, LoadConnection_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-5
4.1.2 unload_tool
Die Grundfunktion unload_tool deinitialisiert die Verbindungen und den Adapter
und muss vor dem Beenden der Applikation aufgerufen werden.
Mit unload_tool werden Verbindungen deinitialisiert, die mit load_tool initialisiert
wurden.
int unload_tool (void);
Parameter
Keine
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
unload_tool
V6.0
UnloadConnection_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
load_tool, new_ss, UnloadConnection_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-6
A5E00417149-01
4.1.3 new_ss
Die Grundfunktion new_ss schaltet die Verbindung des PG/PC aktiv, über die der
weitere Datenaustausch stattfinden soll.
Die Beschreibung der Verbindungen bzw. Teilnehmer für new_ss wird bei den
Funktionen load_tool übergeben.
int new_ss (char chConNo);
Parameter
chConNo
[in] Nummer der Verbindung, die aktiviert werden soll.
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
new_ss
V6.0
SetActiveConnection_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
load_tool, unload_tool, SetActiveConnection_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-7
4.2
Funktionen zum Datenverkehr zur S7 300/400
4.2.1 ag_info
Die Funktion ag_info liest den Ausgabestand der AG-Software und der PG-
Anschaltung, sowie die MLFB-Nummer des AG aus und legt diese als ASCII-String
nullterminiert im Übergabepuffer des PG/PC ab.
int ag_info (void *
Buffer);
Parameter
Buffer
[out] Übergabepuffer mit den zu liefernden AG-Informationen
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short *
)Buffer;
// wortweiser Zugriff
Die Ausgabestände müssen als Integerwerte, die MLFB als ASCII-Werte interpretiert
werden.
wBuffer[0] Integerwert
Ausgabestand
PLC
wBuffer[2] Integerwert
Ausgabestand
PGAS
Buffer[4] ...Buffer[24]
ASCII-Wert MLFB des angeschlossenen
AGs
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-8
A5E00417149-01
Voraussetzungen
V5.6
ag_info
V6.0
as_info_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
ag_zustand, as_info_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-9
4.2.2 ag_zustand
Die Funktion ag_zustand liest den AG-Zustand (RUN oder STOP) aus dem AG
aus und legt die Daten in einem Speicherbereich des PG/PC ab.
int ag_zustand (void * Buffer);
Parameter
Buffer
[out] Übergabepuffer mit den zu liefernden AG-Zuständen
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
cBuffer[0]
==
0
AG
ist
im
Zustand
RUN
cBuffer[0]
!= 0
AG ist im Zustand STOP oder im Zustand
ANLAUF
Voraussetzungen
V5.6
ag_zustand
V6.0
as_zustand_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
ag_info, as_zustand_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-10
A5E00417149-01
4.2.3 db_buch
Die Funktion db_buch prüft, welche Datenbausteine im AG vorhanden sind.
Hierbei muss ein 512 Worte großer Übergabepuffer bereitgestellt werden, für jeden
Baustein ein Wort. Ist der Wert im indizierten Pufferwort == 0, so ist der
zugeordnete Baustein nicht vorhanden.
int db_buch (void * Buffer);
Parameter
Buffer
[out] Übergabepuffer mit der zu liefernden DB-Liste
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short * )Buffer;
// wortweiser Zugriff
wBuffer[0]
!=
0
DB0
ist
vorhanden
wBuffer[24]
== 0
DB24 ist nicht vorhanden
wBuffer[511]
!= 0
DB511 ist vorhanden
Voraussetzungen
V5.6 db_buch
V6.0 db_buch_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
db_buch_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-11
4.2.4 db_read
Die Funktion db_read liest eine Anzahl Datenworte aus einem Datenbaustein im
AG aus und transferiert diese in einen Übergabepuffer des PG/PC.
Mit db_read können Datenworte wortweise (pnAnzahl = 1) oder blockweise
(pnAnzahl > 1) ausgelesen werden.
int db_read (int nBstNo, int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nBstNo
[in] Nummer des Datenbausteins
nStartNo
[in] Startnummer des ersten zu lesenden Datenwortes
pnAnzahl
[in/out] Anzahl der zu lesenden Datenworte
Buffer
[out] Übergabepuffer für die gelesenen Datenworte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Existiert der Datenbaustein nicht, so wird dies durch einen Rückgabewert =
Fehlernummer angegeben.
Sollen mehr Daten gelesen werden als im Datenbaustein vorhanden sind, so wird
der Inhalt von
pnAnzahl korrigiert und eine Fehlermeldung 303 Hex
zurückgegeben.
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short *)Buffer;
//wortweiser Zugriff
Achtung: Beim Zugriff auf einen Datenbaustein sind die Datenworte in Buffer nicht
nach Intel-Notation (low Byte - high Byte), sondern in STEP5-Notation (high Byte -
low Byte) abgelegt. Bei einer Weiterverarbeitung der Daten muss dies beachtet
werden. Zum Tauschen von Bytes stehen die Funktionen kf_integer und
swab_buffer zur Verfügung.
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-12
A5E00417149-01
Voraussetzungen
V5.6 db_read
V6.0 db_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
db_write, kf_integer, swab_buffer, db_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-13
4.2.5 d_field_read
Die Funktion d_field_read liest eine Anzahl Datenbytes aus einem Datenbaustein
im AG aus und transferiert diese in einen Übergabepuffer des PG/PC.
int d_field_read (int
nBstNo, int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nBstNo
[in] Nummer des Datenbausteins
nStartNo
[in] Startnummer des ersten zu lesenden Datenbytes
pnAnzahl
[in] Anzahl der zu lesenden Datenbytes
Buffer
[out] Übergabepuffer für die gelesenen Datenbytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Voraussetzungen
V5.6 d_field_read
V6.0 field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
e|a|m_field_read, t|z_field_read, field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-14
A5E00417149-01
4.2.6 e|a|m_field_read
Die Funktionen lesen eine Anzahl Bytes aus dem AG aus und transferieren diese
in einen Übergabepuffer des PG/PC.
Mit e_field_read werden Eingangsbytes gelesen.
Mit a_field_read werden Ausgangsbytes gelesen.
Mit m_field_read werden Merkerbytes gelesen.
int e_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int a_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int m_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu lesenden Bytes
pnAnzahl
[in] Anzahl der zu lesenden Bytes
Buffer
[out] Übergabepuffer für die gelesenen Bytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-15
Voraussetzungen
V5.6 e_field_read, …
V6.0 field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
d_field_read, t|z_field_read, field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-16
A5E00417149-01
4.2.7 t|z_field_read
Die Funktionen lesen eine Anzahl Worte aus dem AG aus und transferieren diese
in einen Übergabepuffer des PG/PC.
Mit t_field_read werden Timerworte gelesen.
Mit z_field_read werden Zählerworte gelesen.
int t_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int z_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu lesenden Wortes
pnAnzahl
[in] Anzahl der zu lesenden Worte
Buffer
[out] Übergabepuffer für die gelesenen Worte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short *)Buffer;
//wortweiser Zugriff
Voraussetzungen
V5.6 t_field_read
V6.0 field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
d|e|a|m_field_read, field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-17
4.2.8 mix_read
Die Funktion mix_read liest die durch "data" parametrierten Daten aus einem
Datenbaustein im AG aus und transferiert diese in einen Übergabepuffer des
PG/PC.
Mit mix_read kann Size ein Byte oder ein Wort sein.
int mix_read (char * pData, void * Buffer);
Parameter
pData
[in] Zeiger auf Typliste. Typelementinhalt == 0 wird als Endekennung der Liste
gewertet.
Buffer
[out] Übergabepuffer für die gelesenen Datenbytes/-worte/-doppelworte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Die Funktion ermöglicht das Lesen von gemischten Daten. Es können maximal 20
Listenelemente angelegt werden! Auf die Typliste kann mit Hilfe einer Struktur
zugegriffen werden:
#pragma pack(1)
typedef
struct
{
unsigned
char
Typ;
unsigned
char
Size;
unsigned
short
nBstNo;
unsigned
short
nDatNo;
}
mix_tab_type;
#pragma pack()
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-18
A5E00417149-01
Typ
Folgende Daten können gelesen werden (ASCII-Zeichen klein oder groß):
e
Eingangsbytes
a
Ausgangsbytes
m
Merkerbytes
t
Timerworte
z
Zählerworte
d
Daten
aus
DB
Size
Die zu lesenden Daten können folgende Datentypen haben (ASCII-Zeichen klein
oder groß):
b,w Byte
oder
Wort
bei
den
Eingangsbytes
b,w Byte
oder
Wort
bei
den
Ausgangsbytes
b,w Byte
oder
Wort
bei
den
Merkerbytes
w
Wort
bei
den
Timerworten
w
Wort
bei
den
Zählerworte
nBstNo
Nummer des Datenbausteins
nDatNo
Nummer des zu lesenden Datenbytes/-wortes/-doppelwortes
Bei Typ m, t und z
0 ... 255
Bei
Typ
d
0
...
4090
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-19
"data" muss folgenden Aufbau haben:
Size = ’b’
Byte lesen und im Puffer eintragen
Size = ’w’
Wort lesen und im Puffer eintragen
Die gelesenen Werte werden im Puffer sequenziell eingetragen. D.h. der
Anwender muss selber das mit den gelesenen Werten belegte Feld strukturiert
bearbeiten:
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
unsigned short * wBuffer = (unsigned short *)Buffer; // wortweiser Zugriff
Achtung: Beim Zugriff auf einen Datenbaustein sind die Datenworte in Buffer nicht
nach Intel-Notation (low Byte - high Byte), sondern in STEP5-Notation (high Byte -
low Byte) abgelegt. Bei einer Weiterverarbeitung der Daten muss dies beachtet
werden. Zum Tauschen von Bytes stehen die Funktionen kf_integer und
swab_buffer zur Verfügung.
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-20
A5E00417149-01
Voraussetzungen
V5.6 mix_read
V6.0 field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
mix_write, kf_integer, swab_buffer, field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-21
4.2.9 db_write
Die Funktion db_write schreibt eine Anzahl Datenworte aus einen Übergabepuffer
des PG/PC in einen Datenbaustein des AG.
Mit db_write können Datenworte wortweise (pnAnzahl = 1) oder blockweise
(pnAnzahl > 1) geschrieben werden.
int db_ write (int nBstNo, int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nBstNo
[in] Nummer des Datenbausteins
nStartNo
[in] Startnummer des ersten zu schreibenden Datenwortes
pnAnzahl
[in/out] Anzahl der zu schreibenden Datenworte
Buffer
[in] Übergabepuffer für die zu schreibenden Datenworte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Existiert der Datenbaustein nicht, so wird dies durch einen Rückgabewert =
Fehlernummer angegeben.
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short *)Buffer; // wortweiser Zugriff
Achtung: Beim Schreiben in einen Datenbaustein müssen die Datenworte in Buffer
nicht nach Intel-Notation (low Byte - high Byte), sondern in STEP5-Notation (high
Byte - low Byte) abgelegt werden. Zum Tauschen von Bytes stehen die Funktionen
kf_integer und swab_buffer zur Verfügung.
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-22
A5E00417149-01
Voraussetzungen
V5.6 db_write
V6.0 db_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
db_read, kf_integer, swab_buffer, db_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-23
4.2.10 d_field_write
Die Funktion d_field_write schreibt eine Anzahl Datenbytes aus einen
Übergabepuffer des PG/PC in einen Datenbaustein des AG.
int d_field_write (int
nBstNo, int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nBstNo
[in] Nummer des Datenbausteins
nStartNo
[in] Startnummer des ersten zu schreibenden Datenbytes
pnAnzahl
[in] Anzahl der zu schreibenden Datenbytes
Buffer
[in] Übergabepuffer für die zu schreibenden Datenbytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Voraussetzungen
V5.6 d_field_write
V6.0 field_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
e|a|m_field_write, z_field_write, field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-24
A5E00417149-01
4.2.11 a|m_field_write
Die Funktionen schreiben eine Anzahl Bytes aus einem Übergabepuffer des
PG/PC in das AG.
Mit a_field_write werden Ausgangsbytes geschrieben.
Mit m_field_write werden Merkerbytes geschrieben.
int a_field_ write (int nStartNo, int * pnAnzahl, void * Buffer);
int m_field_ write (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu schreibenden Bytes
pnAnzahl
[in] Anzahl der zu schreibenden Bytes
Buffer
[out] Übergabepuffer für die zu schreibenden Bytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Voraussetzungen
V5.6 a_field_write, …
V6.0 field_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
d_field_write, z_field_write, field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-25
4.2.12 z_field_write
Die Funktion z_field_write schreibt eine Anzahl Zählerworte aus einem
Übergabepuffer des PG/PC in das AG.
int z_field_ write (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu schreibenden Zählerwortes
pnAnzahl
[in] Anzahl der zu schreibenden Zählerworte
Buffer
[out] Übergabepuffer für die zu schreibenden Zählerworte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short *)Buffer; // wortweiser Zugriff
Voraussetzungen
V5.6 z_field_write
V6.0 field_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
d|a|m_field_write, field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-26
A5E00417149-01
4.2.13 mix_write
Die Funktion mix_write schreibt die durch "data" parametrierten Daten aus einem
Übergabepuffer des PG/PC in einen Datenbaustein des AG.
Mit mix_write kann Size ein Byte oder ein Wort sein.
int mix_ write (char *
pData, void * Buffer);
Parameter
pData
[in] Zeiger auf Typliste. Typelementinhalt == 0 wird als Endekennung der Liste
gewertet.
Buffer
[out] Übergabepuffer für die zu schreibenden Datenbytes/-worte/-doppelworte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Die Funktion ermöglicht das Schreiben von gemischten Daten. Es können maximal
20 Listenelemente angelegt werden
.
Auf die Typliste kann mit Hilfe einer Struktur
zugegriffen werden:
#pragma pack(1)
typedef struct {
unsigned char
Typ;
unsigned char
Size;
unsigned short
nBstNo;
unsigned short
nDatNo;
}
mix_tab_type;
#pragma pack()
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-27
Typ
Folgende Daten können geschrieben werden (ASCII-Zeichen klein oder groß):
e/E
Eingangsbytes
a/A
Ausgangsbytes
m/M Merkerbytes
t/T
Timerworte
z/Z
Zählerworte
d/D Daten
in
DB
Size
Die zu schreibenden Daten können folgende Datentypen haben (ASCII-Zeichen
klein oder groß):
b,w Byte
oder
Wort
bei
den
Eingangsbytes
b,w Byte
oder
Wort
bei
den
Ausgangsbytes
b,w Byte
oder
Wort
bei
den
Merkerbytes
w
Wort
bei
den
Timerworten
w
Wort
bei
den
Zählerworte
nBstNo
Nummer des Datenbausteins
nDatNo
Nummer des zu schreibenden Datenbytes/-wortes/-doppelwortes
Bei Typ m, t und z
0 ... 255
Bei
Typ
d
0
...
4090
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-28
A5E00417149-01
"data" muss folgenden Aufbau haben:
Size = ’b’
Byte im Puffer eintragen
Size = ’w’
Wort im Puffer eintragen
Die zu schreibenden Werte müssen im Puffer sequenziell eingetragen werden:
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
unsigned short * wBuffer = (unsigned short *)Buffer; // wortweiser Zugriff
unsigned long * dwBuffer = (unsigned long *)Buffer; // doppelwortweiser Zugriff
Achtung: Beim Schreiben in einen Datenbaustein müssen die Datenworte in Buffer
nicht nach Intel-Notation (low Byte - high Byte), sondern in STEP5-Notation (high
Byte - low Byte) abgelegt werden. Zum Tauschen von Bytes stehen die Funktionen
kf_integer und swab_buffer zur Verfügung.
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-29
Voraussetzungen
V5.6 mix_write
V6.0 field_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
mix_read, kf_integer, swab_buffer, field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-30
A5E00417149-01
4.2.14 mb_setbit
Die Funktion mb_setbit setzt einen Merker im AG auf 1. Es erfolgt keine
Abprüfung, ob das Merkerbit in dem verwendeten AG vorhanden ist.
int mb_setbit (int nMbNo, int nBitNo);
Parameter
nMbNo
[in] Nummer des Merkerbytes
nBitNo
[in] Bitnummer im Merkerbyte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 mb_setbit
V6.0 mb_setbit_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
mb_resetbit, mb_bittest, mb_setbit_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-31
4.2.15 mb_resetbit
Die Funktion mb_resetbit setzt einen Merker im AG auf 0. Es erfolgt keine
Abprüfung, ob das Merkerbit in dem verwendeten AG vorhanden ist.
int mb_resetbit (int nMbNo, int nBitNo);
Parameter
nMbNo
[in] Nummer des Merkerbytes
nBitNo
[in] Bitnummer im Merkerbyte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 mb_resetbit
V6.0 mb_setbit_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
mb_setbit, mb_bittest, mb_setbit_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-32
A5E00417149-01
4.2.16 mb_bittest
Die Funktion mb_bittest prüft ein Bit in einem angegebenen Merkerbyte und liefert
im *bitwert den Zustand des angegebenen Bits.
int mb_bittest (int nMbNo, int nBitNo, char * bitwert);
Parameter
nMbNo
[in] Nummer des Merkerbytes
nBitNo
[in] Bitnummer im Merkerbyte
bitwert
[out] Übergabepuffer mit dem getesteten Bitwert
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 mb_bittest
V6.0 mb_bittest_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
mb_setbit, mb_resetbit, mb_bittest_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-33
4.3
Funktionen Datenverkehr zur S7 200
4.3.1 as200_ag_info
Die Funktion as200_ag_info liest den Ausgabestand der AG-Software und der
PG-Anschaltung, sowie den PLC-Typ des AG aus und legt diese als ASCII-String
nullterminiert im Übergabepuffer des PG/PC ab.
int as200_ag_info (void * Buffer);
Parameter
Buffer
[out] Übergabepuffer mit den zu liefernden AG-Informationen
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned short * wBuffer = (unsigned short * )Buffer;
// wortweiser Zugriff
Die Ausgabestände müssen als Integerwerte, die MLFB als ASCII-Werte
interpretiert werden.
wBuffer[0]
Integerwert
Ausgabestand
PLC
wBuffer[2]
Integerwert
Ausgabestand
PGAS
Buffer[4] ...Buffer[24]
ASCII-Wert PLC-Typ des angeschlossenen AG
Voraussetzungen
V5.6
as200_ag_info
V6.0
as200_as_info_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_ag_zustand, as200_as_info_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-34
A5E00417149-01
4.3.2 as200_ag_zustand
Die Funktion as200_ag_zustand liest den AG-Zustand (RUN oder STOP) aus
dem AG aus und legt die Daten in einem Speicherbereich des PG/PC ab.
int as200_ag_zustand (void * Buffer);
Parameter
Buffer
[out] Übergabepuffer mit den zu liefernden AG-Zuständen
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
cBuffer[0]
== 0
AG ist im Zustand RUN
cBuffer[0]
!= 0
AG ist im Zustand STOP oder im Zustand ANLAUF
Voraussetzungen
V5.6
as200_ag_zustand
V6.0
as200_as_zustand_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_ag_info, as200_as_zustand_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-35
4.3.3 as200_e|a|m|sm|vs_field_read
Die Funktionen lesen eine Anzahl Bytes aus dem Datenbereich des AG aus und
transferieren diese in einen Übergabepuffer des PG/PC.
Mit as200_e_field_read werden Eingangsbytes gelesen.
Mit as200_a_field_read werden Ausgangsbytes gelesen.
Mit as200_m_field_read werden Merkerbytes gelesen.
Mit as200_sm_field_read werden Sondermerkerbytes gelesen.
Mit as200_vs_field_read werden Variablenspeicherbytes gelesen.
int as200_e_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_a_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_m_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_sm_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_vs_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu lesenden Bytes
pnAnzahl
[in] Anzahl der zu lesenden Bytes
Buffer
[out] Übergabepuffer für die gelesenen Bytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-36
A5E00417149-01
Voraussetzungen
V5.6
as200_e_field_read,
…
V6.0 as200_field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_t|z_field_read, as200_mix_read, as200_field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-37
4.3.4 as200_t_field_read
Die Funktion as200_t_field_read liest eine Anzahl Timerwerte aus dem AG aus
und transferiert diese in einen Übergabepuffer des PG/PC.
int as200_t_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu lesenden Timerwertes
pnAnzahl
[in] Anzahl der zu lesenden Timerwertes
Buffer
[out] Übergabepuffer für die gelesenen Timerwertes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Pro Timerwert werden 5 Bytes empfangen, von denen nur 2 Bytes den
angeforderten Timerwert enthalten.
In folgendem Beispiel werden die Timerwerte 0 und 1 gelesen:
char
Buffer[MAX_BUFFER];
unsigned short T0, T1;
// Timerwort
int error;
error = as200_t_field_read((int)0, (int)2, Buffer);
T0 = (unsigned short)Buffer[4] | (unsigned
short)Buffer[3] << 8;
T1 = (unsigned short)Buffer[9] | (unsigned
short)Buffer[8] << 8;
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-38
A5E00417149-01
Voraussetzungen
V5.6
as200_t_field_read
V6.0
as200_field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_e|a|m|sm|vs_field_read, as200_z_field_read, as200_mix_read,
as200_field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-39
4.3.5 as200_z_field_read
Die Funktion as200z_field_read liest eine Anzahl Zählerwerte aus dem AG aus
und transferiert diese in einen Übergabepuffer des PG/PC.
int z_field_read (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu lesenden Zählerwertes
pnAnzahl
[in] Anzahl der zu lesenden Zählerwerte
Buffer
[out] Übergabepuffer für die gelesenen Zählerwerte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Pro Zählerwert werden 3 Bytes empfangen, von denen nur 2 Bytes den
angeforderten Zählerwert enthalten.
In folgendem Beispiel werden die Zählerwerte 3 und 4 gelesen:
char
Buffer[MAX_BUFFER];
unsigned short Z3, Z4;
// Zählerwort
int error;
error = as200_z_field_read((int)3, (int)2, Buffer);
Z3 = (unsigned short)Buffer[2] | (unsigned
short)Buffer[1] << 8;
Z4 = (unsigned short)Buffer[5] | (unsigned
short)Buffer[4] << 8;
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-40
A5E00417149-01
Voraussetzungen
V5.6
as200_z_field_read
V6.0
as200_field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_e|a|m|sm|vs_field_read, as200_t_field_read, as200_mix_read,
as200_field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-41
4.3.6 as200_mix_read
Die Funktion as200_mix_read liest die durch "data" parametrierten Daten aus
einem Datenbaustein im AG aus und transferiert diese in einen Übergabepuffer
des PG/PC.
int as200_mix_read (char * pData, void * Buffer);
Parameter
pData
[in] Zeiger auf Typliste. Typelementinhalt == 0 wird als Endekennung der Liste
gewertet.
Buffer
[out] Übergabepuffer für die gelesenen Datenbytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Die Funktion ermöglicht das Lesen von gemischten Daten. Es können maximal 20
Listenelemente angelegt werden. Auf die Typliste kann mit Hilfe einer Struktur
zugegriffen werden:
#pragma pack(1)
typedef struct {
unsigned char
Typ;
unsigned char
Size;
unsigned short
nBstNo;
unsigned short
nDatNo;
}
mix_tab_type;
#pragma pack()
Typ
Folgende Daten können gelesen werden (ASCII-Zeichen klein oder groß):
e
Eingangsbytes
a
Ausgangsbytes
m
Merkerbytes
v
Variablenspeicherworte
s
Sondermerkerbytes
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-42
A5E00417149-01
Size
Für alle zu lesenden Daten muss der Datentypen Byte sein (ASCII-Zeichen klein
oder groß):
b
Byte
bei
allen
Daten
nBstNo
Nummer des Datenbausteins
nDatNo
Nummer des zu lesenden Datenbytes
"data" muss folgenden Aufbau haben:
Size = ’b’
Byte lesen und im Puffer eintragen
Die gelesenen Werte werden im Puffer sequenziell eingetragen. D.h. der
Anwender muss selber das mit den gelesenen Werten belegte Feld strukturiert
bearbeiten:
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-43
Achtung: Beim Zugriff auf einen Datenbaustein sind die Datenworte in Buffer nicht
nach Intel-Notation (low Byte - high Byte), sondern in STEP5-Notation (high Byte -
low Byte) abgelegt. Bei einer Weiterverarbeitung der Daten muss dies beachtet
werden. Zum Tauschen von Bytes stehen die Funktionen kf_integer und
swab_buffer zur Verfügung.
Voraussetzungen
V5.6
as200_mix_read
V6.0
as200_field_read_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_mix_write, kf_integer, swab_buffer, as200_field_read_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-44
A5E00417149-01
4.3.7 as200_a|m|sm|vs_field_write
Die Funktionen schreiben eine Anzahl Bytes aus dem Übergabepuffer des PG/PC
in den Datenbereich des AG.
Mit as200_a_field_write werden Ausgangsbytes geschrieben.
Mit as200_m_field_write werden Merkerbytes geschrieben.
Mit as200_sm_field_write werden Sondermerkerbytes geschrieben.
Mit as200_vs_field_write werden Variablenspeicherbytes geschrieben.
int as200_a_field_write (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_m_field_write (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_sm_field_write (int nStartNo, int * pnAnzahl, void * Buffer);
int as200_vs_field_write (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu schreibenden Bytes
pnAnzahl
[in] Anzahl der zu schreibenden Bytes
Buffer
[out] Übergabepuffer für die zu schreibenden Bytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-45
Voraussetzungen
V5.6
as200_e_field_write,
…
V6.0 as200_field_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_z_field_write, as200_mix_write, as200_field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-46
A5E00417149-01
4.3.8 as200_z_field_write
Die Funktion as200_z_field_write schreibt eine Anzahl Zählerwerte aus einem
Übergabepuffer des PG/PC in das AG.
int as200_z_field_write (int nStartNo, int * pnAnzahl, void * Buffer);
Parameter
nStartNo
[in] Startnummer des ersten zu schreibenden Zählerwertes
pnAnzahl
[in] Anzahl der zu schreibenden Zählerwerte
Buffer
[out] Übergabepuffer für die zu schreibenden Zählerwerte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Pro Zählerwert werden 3 Bytes gesendet, von denen nur 2 Bytes den
angegebenen Zählerwert beinhalten.
Voraussetzungen
V5.6
as200_z_field_write
V6.0
as200_field_write
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_a|m|sm|vs_field_write, as200_mix_write, as200_field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-47
4.3.9 as200_mix_write
Die Funktion as200_mix_write schreibt die durch "data" parametrierten Daten aus
einem Übergabepuffer des PG/PC in einen Datenbaustein im AG.
int as200_mix_write (char * pData, void * Buffer);
Parameter
pData
[in] Zeiger auf Typliste. Typelementinhalt == 0 wird als Endekennung der Liste
gewertet.
Buffer
[out] Übergabepuffer für die zu schreibenden Datenbytes
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Die Funktion ermöglicht das Schreiben von gemischten Daten. Es können maximal
20 Listenelemente angelegt werden. Auf die Typliste kann mit Hilfe einer Struktur
zugegriffen werden:
#pragma pack(1)
typedef struct {
unsigned char
Typ;
unsigned char
Size;
unsigned short
nBstNo;
unsigned short
nDatNo;
}
mix_tab_type;
#pragma pack()
Typ
Folgende Daten können geschrieben werden (ASCII-Zeichen klein oder groß):
e
Eingangsbytes
a
Ausgangsbytes
m
Merkerbytes
v
Variablenspeicherworte
s
Sondermerkerbytes
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-48
A5E00417149-01
Size
Für alle zu schreibenden Daten muss der Datentyp Byte sein (ASCII-Zeichen klein
oder groß):
b
Byte
bei
allen
Daten
nBstNo
Nummer des Datenbausteins
nDatNo
Nummer des zu schreibenden Datenbytes
"data" muss folgenden Aufbau haben:
Size = ’b’
Byte schreiben
Die zu schreibenden Werte müssen im Puffer sequenziell eingetragen werden.
char
Buffer[MAX_BUFFER];
unsigned char * cBuffer = (unsigned char *)Buffer; // byteweiser vorzeichenloser
Zugriff
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-49
Achtung: Beim Zugriff auf einen Datenbaustein sind die Datenworte in Buffer nicht
nach Intel-Notation (low Byte - high Byte), sondern in STEP5-Notation (high Byte -
low Byte) abgelegt. Bei einer Weiterverarbeitung der Daten muss dies beachtet
werden. Zum Tauschen von Bytes stehen die Funktionen kf_integer und
swab_buffer zur Verfügung.
Voraussetzungen
V5.6
as200_mix_write
V6.0
as200_field_write_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_mix_read, kf_integer, swab_buffer, as200_field_write_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-50
A5E00417149-01
4.3.10 as200_mb_setbit
Die Funktion as200_mb_setbit setzt einen Merker im AG auf 1. Es erfolgt keine
Abprüfung, ob das Merkerbit in dem verwendeten AG vorhanden ist.
int as200_mb_setbit (int nMbNo, int nBitNo);
Parameter
nMbNo
[in] Nummer des Merkerbytes
nBitNo
[in] Bitnummer im Merkerbyte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
as200_mb_setbit
V6.0
as200_mb_setbit_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_mb_resetbit, as200_mb_bittest, as200_mb_setbit_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-51
4.3.11 as200_mb_resetbit
Die Funktion as200_mb_resetbit setzt einen Merker im AG auf 0. Es erfolgt keine
Abprüfung, ob das Merkerbit in dem verwendeten AG vorhanden ist.
int as200_mb_resetbit (int nMbNo, int nBitNo);
Parameter
nMbNo
[in] Nummer des Merkerbytes
nBitNo
[in] Bitnummer im Merkerbyte
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
as200_mb_resetbit
V6.0
as200_mb_setbit_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_mb_setbit, as200_mb_bittest, as200_mb_setbit_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-52
A5E00417149-01
4.3.12 as200_mb_bittest
Die Funktion as200_mb_bittest prüft ein Bit in einem angegebenen Merkerbyte
und liefert im * bitwert den Zustand des angegebenen Bits.
int as200_mb_bittest (int nMbNo, int nBitNo, char * bitwert);
Parameter
nMbNo
[in] Nummer des Merkerbytes
nBitNo
[in] Bitnummer im Merkerbyte
bitwert
[out] Übergabepuffer mit dem getesteten Bitwert
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Voraussetzungen
V5.6
as200_mb_bittest
V6.0
as200_mb_bittest_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
as200_mb_setbit, as200_mb_resetbit, as200_mb_bittest_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-53
4.4 Komfortfunktionen
4.4.1 error_message
Die Funktion error_message liefert zu einer Fehlernummer den zugehörigen
Fehlertext als nullterminierten Character-String.
int error_message (int nErrorNnr, char * Buffer);
Parameter
nErrorNnr
[in] Fehlernummer
Buffer
[out] Übergabepuffer mit den Fehlertexten
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0.
Bei Fehler liefert die Funktion folgende Werte:
•
Datei ERROR.DAT ist nicht vorhanden oder kann nicht geöffnet werden
•
Fehler beim Lesen von ERROR.DAT
•
Falscher Aufbau der Datei ERROR.DAT
•
Zu dieser Fehlernummer existiert kein Fehlertext
•
Zu viele Fehlertexte in ERROR.DAT
Aufrufbeispiel
In ERROR.DAT dürfen maximal 100 Fehlertexte gespeichert werden.
Bei Übergabe der Fehlernummer 0 kann in "Buffer" der Dateiname der zu
ladenden Fehlertextdatei übergeben werden (z. B. eine englische oder eine
deutsche Fehlertextdatei). Wurde kein gültiger Dateiname oder ein NULL-Pointer
übergeben, wird die Datei ERROR.DAT im aktuellen Verzeichnis gelesen. Deshalb
sollte sichergestellt sein, dass die Datei ERROR.DAT vorhanden ist und im
gleichen Verzeichnis wie das Programm liegt.
Die Datei ERROR.DAT wird beim ersten Aufruf der Funktion error_message
gelesen, und die Texte werden in einem Feld gespeichert.
Es ist empfehlenswert, kurz nach Programmbeginn die Funktion error_message
mit error_no = 0 aufzurufen, um die Datei ERROR.DAT zu laden. Somit ist bei
weiteren Aufrufen dieser Funktion die Ausführungszeit nahezu konstant.
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-54
A5E00417149-01
Aufbau der Fehlertext-Datei
[Fehlernummer als ASCII-Hex]: [Fehlertext]
Die Fehlertexte finden Sie iom Anhang.
Voraussetzungen
V5.6 error_message
V6.0 GetErrorMessage_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
GetErrorMessage_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-55
4.4.2 kg_to_float
Die Funktion kg_to_float wandelt einen S5-Gleitpunktwert in einen Wert vom Typ
float (IEEE-Format) um.
int kg_to_float (void * kg, void * ieee);
Parameter
kg
[in] S5-Gleitpunktwert
ieee
[out] Floatwert
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine 1.
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
kg_to_float
V6.0
kg_2_float_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
float_to_kg, kg_2_float_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-56
A5E00417149-01
4.4.3 float_to_kg
Die Funktion float_to_kg wandelt einen Wert vom Typ float (IEEE-Format) in einen
S5-Gleitpunktwert um.
int float_to_kg (void * ieee, void * kg);
Parameter
ieee
[in] Floatwert
kg
[out] S5-Gleitpunktwert
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine 1.
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 float_to_kg
V6.0 float_2_kg_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
kg_to_float, float_2_kg_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-57
4.4.4 gp_to_float
Die Funktion gp_to_float wandelt einen S7-Gleitpunktwert in einen Wert vom Typ
float (IEEE-Format) um.
void gp_to_float (void * gp, void * ieee);
Parameter
gp
[in] S7-Gleitpunktwert
ieee
[out] Floatwert
Rückgabewerte
Keine
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 gp_to_float
V6.0 gp_2_float_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
float_to_gp, gp_2_float_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-58
A5E00417149-01
4.4.5 float_to_gp
Die Funktion float_to_gp wandelt einen Wert vom Typ float (IEEE-Format) in
einen S7-Gleitpunktwert um.
void float_to_gp (void * ieee, void * gp);
Parameter
ieee
[in] Floatwert
gp
[out] S7-Gleitpunktwert
Rückgabewerte
Keine
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 float_to_gp
V6.0 float_2_gp_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
gp_to_float, float_2_gp_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-59
4.4.6 testbit
Die Funktion testbit prüft, ob ein angegebenes Bit in einer Bytevariablen gesetzt
ist. Die Bytevariable und die Bitnummer werden der Funktion als Parameter
übergeben.
char testbit (char Wert, char BitNo);
Parameter
Wert
[in] Wert der Bytevariablen
BitNo
[in] zu testendes Bit in der Bytevariablen
Rückgabewerte
Rückgabewert TRUE (oder 1):
Bit ist gesetzt (oder 1)
Rückgabewert FALSE (oder 0):
Bit ist nicht gesetzt (oder 0)
Aufrufbeispiel
Keines
Voraussetzungen
V5.6 testbit
V6.0 testbit_ex6
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Siehe auch:
testbit_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-60
A5E00417149-01
4.4.7 byte_boolean
Die Funktion byte_boolean wandelt ein Byte in acht logische Werte (PC-
Darstellung) um.
void byte_boolean (char Wert, char * Buffer);
Parameter
Wert
[in] Bytewert
Buffer
[out] Zeiger auf Puffer mit acht umgewandelten logischen Werten
Rückgabewerte
Keine
Aufrufbeispiel
Der übergebene Zeiger sollte auf ein char-Feld mit folgendem Aufbau zeigen:
Buffer[0] Buffer[1] Buffer[2] Buffer[3] Buffer[4] Buffer[5] Buffer[6] Buffer[7]
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7
Voraussetzungen
V5.6 byte_boolean
V6.0 byte_2_bool_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
boolean_byte, byte_2_bool_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-61
4.4.8 boolean_byte
Die Funktion boolean_byte wandelt acht logische Werte (PC-Darstellung) in ein
Byte um.
char boolean_byte (char * Buffer);
Parameter
Buffer
[in] Zeiger auf Puffer mit acht logischen Werten
Rückgabewerte
Umgewandelter Bytewert
Aufrufbeispiel
Der übergebene Zeiger sollte auf ein char-Feld mit folgendem Aufbau zeigen:
Buffer[0] Buffer[1] Buffer[2] Buffer[3] Buffer[4] Buffer[5] Buffer[6] Buffer[7]
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7
Voraussetzungen
V5.6 boolean_byte
V6.0 bool_2_byte_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
byte_boolean, bool_2_byte_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-62
A5E00417149-01
4.4.9 kf_integer
Die Funktion vertauscht High- und Low-Byte eines übergebenen Werts.
Mit kf_integer werden die High- und Low-Bytes eines 16-Bit-Wertes vertauscht.
unsigned short kf_integer (unsigned short wWert);
Parameter
wWert
[in] 16-Bit-Werte
Rückgabewerte
kf_integer liefert einen 16-Bit-Wert mit vertauschten Bytes.
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
kf_integer
V6.0
kf_2_integer_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
swab_buffer, kf_2_integer_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-63
4.4.10 swab_buffer
Die Funktion swab_buffer vertauscht High- und Low-Bytes eines übergebenen
Puffers.
void swab_buffer (void * Buffer, int nAnzahl);
Parameter
Buffer
[in/out] Zeiger auf Puffer, in dem die Bytes getauscht werden
nAnzahl
[in] Anzahl der zu tauschenden Bytes
Rückgabewerte
Keine
Aufrufbeispiel
Intern wird die Standard C-Funktion void _swab(char * src, char * dest, int n)
aufgerufen.
Voraussetzungen
V5.6
swab_buffer
V6.0
swab_buffer_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
kf_integer, copy_buffer, swab_buffer_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-64
A5E00417149-01
4.4.11 copy_buffer
Die Funktion copy_buffer kopiert eine Anzahl Bytes von einem Puffer in einen
anderen.
void copy_buffer (void * ZielBuffer, void * QuellBuffer, int nAnzahl);
Parameter
ZielBuffer
[out] Zeiger auf Puffer, in den die Bytes kopiert werden
QuellBuffer
[in] Zeiger auf Puffer, aus dem die Bytes geholt werden
nAnzahl
[in] Anzahl der zu kopierenden Bytes
Rückgabewerte
Keine
Aufrufbeispiel
Intern wird die Standard C-Funktion void *memcpy(char * dest, char * src, size_t
count) aufgerufen.
Voraussetzungen
V5.6
copy_buffer
V6.0
copy_buffer_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
swab_buffer, copy_buffer_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-65
4.4.12 USHORT_2_bcd
Die Funktionen sind Wandelroutinen, die eine Anzahl von Dualwerten in BCD-
Werte umwandeln.
Mit USHORT_2_bcd werden 16-Bit-Werte (Worte) gewandelt.
void USHORT_2_bcd (unsigned short * pwWerte, unsigned short wAnzahl,
char InBytechange, char OutBytechange);
Parameter
pwWerte
[in/out] Zeiger auf 16-Bit-Dualwerte
wAnzahl
[in] Anzahl Werte
InBytechange
[in] Boolscher Ausdruck TRUE oder FALSE
OutBytechange
[in] Boolscher Ausdruck TRUE oder FALSE
Rückgabewerte
Ist InBytechange gesetzt (1), so werden vor dem Wandeln in einen BCD-Wert die
High und Low Bytes vertauscht. Wird statt dessen OutBytechange gesetzt, so
werden die High und Low Bytes erst nach der Wandlung vertauscht.
Wird keines der beiden Bytechange-Argumente gesetzt, so wird keine High-Low-
Byte-Vertauschung durchgeführt.
Nach Aufruf der Funktion zeigt
pwWerte auf 16-Bit BCD-Werte.
Aufrufbeispiel
Mit der Funktion kann man z. B. Zähler setzen oder Zeitfunktionen versorgen.
Der verfügbare Zahlenbereich für 16-Bit BCD-Werte ist +999 bis –999.
Voraussetzungen
V5.6 USHORT_2_bcd
V6.0 ushort_2_bcd_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
bcd_2_USHORT, ushort_2_bcd_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-66
A5E00417149-01
4.4.13 bcd_2_USHORT
Die Funktionen sind Wandelroutinen, die eine Anzahl von BCD-Werten in
Dualwerte umwandeln.
Mit bcd_2_USHORT werden 16-Bit-Werte (Worte) gewandelt.
void bcd_2_ USHORT (unsigned short * pwWerte, unsigned short wAnzahl,
char InBytechange, char OutBytechange);
Parameter
pwWerte
[in/out] Zeiger auf 16-bit BCD-Werte
wAnzahl
[in] Anzahl Werte
InBytechange
[in] Boolscher Ausdruck TRUE oder FALSE
OutBytechange
[in] Boolscher Ausdruck TRUE oder FALSE
Rückgabewerte
Nach Aufruf der Funktion zeigt
pwWerte auf 16-Bit Dualwerte.
Aufrufbeispiel
Mit der Funktion kann man z. B. Zähler setzen oder Zeitfunktionen versorgen.
Der verfügbare Zahlenbereich für 16-Bit BCD-Werte ist +999 bis –999.
Voraussetzungen
V5.6 bcd_2_USHORT
V6.0 bcd_2_ushort_ex6
Windows:
95, ME, NT4, 2000, XP
Header: KOMFORT.H
Library: KOMFORT.DLL
Siehe auch:
USHORT_2_bcd, bcd_2_ushort_ex6
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-67
4.5 Teleservice
Funktionen
4.5.1 ts_dial
Die Funktion ts_dial wählt eine entfernte Station über Modem an und baut die
Verbindung zum TS-Adapter auf.
int ts_dial (char * cModemName, char * cStandort, char * cTelNo, char *
cUserName, char * cPassword, HANDLE WindowHandle, unsigned int
Message, WPARAM wParam, char * Res1);
Parameter
cModemName
[in] Name des zu verwendenden Modems, einstellbar in Systemsteuerung /
Modems / Wahlparameter.
cStandort
[in] Name des zu Modem Standortes, einstellbar in Systemsteuerung / Modems /
Wahlparameter.
cTelNo
[in] Telefonnummer, die vom angeschlossenen Modem angewählt wird.
cUserName
[in] Hier wird der Benutzername angegeben, der im anzuwählenden TS-Adapter
parametriert wurde.
cPassword
[in] Hier wird das Passwort angegeben, welches im anzuwählenden TS-Adapter
parametriert wurde.
WindowHandle
[in] Hier kann ein Fenster-Handle übergeben werden.
Message
[in] Nachricht, die an das Fenster geschickt wird, wenn die Verbindung aufgebaut
oder der Timeout abgelaufen ist.
wParam
[in] Parameter für die Nachricht.
Res1
[in] Reserviert für spätere Erweiterungen, muss jetzt mit NULL vorbelegt werden.
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-68
A5E00417149-01
Hinweis
Wenn die Funktion ts_dial asynchron aufgerufen wird, wird im Fehlerfall keine
Fehlernummer ausgegeben. Informieren Sie in diesem Fall den Bediener und
lassen Sie ihn entscheiden, ob der die Funktion nochmals ausführen möchte, oder
ob er detaillierte Fehlerinformationen benötigt. Für detaillierte Informationen
verwenden Sie den Synchronaufruf.
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
ts_dial
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-69
4.5.2 ts_hang_up_dial
Die Funktion ts_hang_up_dial bricht die momentan stehende Verbindung oder
einen momentan laufenden asynchronen Wählvorgang ab.
int ts_hang_up_dial (void);
Parameter
Keine
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
ts_hang_up_dial
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-70
A5E00417149-01
4.5.3 ts_set_ringindicator
Die Funktion ts_set_ringindicator initialisiert das unterlagerte System für
Anrufannahme, Verbindungsaufbau und Benachrichtigung (Ringindication).
int ts_set_ringindicator (char * cModemName, char * cNumberOfRings,
HANDLE WindowHandle, unsigned int Message, WPARAM wParam, char *
Res1);
Parameter
cModemName
[in] Name des für die Ringindication zu verwendenden Modems, einstellbar in
Systemsteuerung / Modems.
cNumberOfRings
[in] Anzahl Klingelzeichen, bis das Modem abnehmen soll.
WindowHandle
[in] Hier kann ein Fenster-Handle übergeben werden.
Message
[in] Nachricht, die an das Fenster geschickt wird, wenn die Verbindung aufgebaut
oder der Timeout abgelaufen ist.
wParam
[in] Parameter für die Nachricht.
Res1
[in] Reserviert für spätere Erweiterungen, muss jetzt mit NULL vorbelegt werden.
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-71
Voraussetzungen
V5.6
ts_set_ringindicator
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-72
A5E00417149-01
4.5.4 ts_read_info
Die Funktion ts_read_info liefert Informationen über die alarmauslösende Station.
int ts_read_info (void * IventId, unsigned char * MpiAdr);
Parameter
IventId
[in] Zeiger auf ein 16 Byte langes Feld. Hier werden Informationen der
alarmauslösenden Station eingetragen.
MpiAdr
[in] Zeiger auf ein Byte. Hier wird die MPI-Adresse der alarmauslösenden Station
eingetragen.
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
ts_read_info
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-73
4.5.5 ts_hang_up_ring
Die Funktion ts_hang_up_ring bricht die vom TS-Adapter aufgebaute Verbindung
ab.
int ts_hang_up_ring (void);
Parameter
Keine
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
ts_hang_up_ring
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
4-74
A5E00417149-01
4.5.6 ts_get_modem_name
Die Funktion ts_get_modem_name liefert alle Namen der dem System bekannten
Modems.
int ts_get_modem_name (int ModemId, char * Buffer, int * BufferLen);
Parameter
ModemId
[in] Modem-ID
0 ... n
Buffer
[out] Zeiger auf Puffer für Modemname
BufferLen
[in/out] Zeiger auf die Länge des Puffers; enthält nach dem Aufruf die tatsächliche
Länge des Strings mit dem Modemnamen. Achtung: BufferLen muss vor dem
Aufruf der Funktion ausreichend groß für den zu erwartenden Modemnamen
gewählt werden!
Rückgabewerte
Wenn keine Fehler aufgetreten sind, liefert die Funktion als Rückgabewert eine 0,
andernfalls eine Fehlernummer, die anhand der Fehlertabelle ausgewertet werden
kann (siehe error_message).
Aufrufbeispiel
Keines
Voraussetzungen
V5.6
ts_get_modem_name
Windows:
95, ME, NT4, 2000, XP
Header: W95_S7.H,
W95_S7M.H
Library: W95_S7.DLL,
W95_S7M.DLL
Funktionen von PRODAVE MPI V6.0
PRODAVE MPI V6.0
A5E00417149-01
4-75
PRODAVE MPI V6.0
A5E00417149-01
5-1
5 Demonstrationsprogramme
5.1
Demonstrationsprogramme für den PC
Demonstrationsprogramme für den PC finden Sie nach erfolgreicher Installation
unter dem Pfad :
•
..\SIEMENS\PRODAVE_S7\..
•
..\SIEMENS\PRODAVE_S7_MINI\..
Anhand dieser Beispielprogramme zeigen wir Ihnen in überschaubarer Form, wie
Sie die PRODAVE Funktionen benutzen. Damit diese Beispiele nicht überfrachtet
werden, haben wir nur wenige Funktionen realisiert.
Daher erheben diese beiden Programme keinen Anspruch auf Vollständigkeit,
sondern sie bieten eine Hilfestellung bei der Programmierung Ihrer Anwendung.
Die Demonstrationsprogramme bauen grundsätzlich den Prozessdatenverkehr zu
einer PLC mit Adresse = 2 und Slotno = 2 auf !
Bei Anschluss einer S7-400 mit doppelt breiter Stromversorgungsbaugruppe muss
Slotno = 3 gesetzt werden.
Aufrufen der Demonstrationsprogramme für Windows 95/98/NT/ME/2000/XP:
•
Stecken Sie das entsprechende Kopplungskabel AG - PG/PC auf die PG-
Schnittstelle am AG und auf die MPI-Anschaltung (bzw. COM-Port bei
Verwendung des PC-Adapter-Kabels) des PG/PC.
•
Konfigurieren Sie die verwendete PG/PC-Schnittstelle mit Hilfe des STEP 7-
Tools (S7EPATSX.EXE).
Der Zugangspunkt der Applikation "S7ONLINE" muss mit der verwendeten
Baugruppenparametrierung verbunden werden.
•
Bei Kopplung zu einer S7-200 muss die entsprechende
Baugruppenparametrierung mit dem Zusatz (PPI) angewählt werden.
•
Starten Sie Windows 95/98/NT/ME/2000/XP neu, damit die Konfiguration
übernommen wird.
•
Starten Sie das Demonstrationsprogramm in der PRODAVE-Programmgruppe.
•
Wählen Sie das Menü load_tool und geben darin die Parameter (Adresse,
Steckplatznummer, Segment-ID und Baugruppenträgernummer) des
Zielsystems an.
Demonstrationsprogramme
PRODAVE MPI V6.0
5-2
A5E00417149-01
PRODAVE MPI V6.0
A5E00417149-01
A-1
A Anhang
A.1 Fehlertexte
Zu diesen Fehlertexten können Sie in der Datei ERROR.DAT eigene hinzufügen.
Siehe Funktion "error_message".
Fehlermeldungen
0000
:
** ERROR.DAT = Fehlertextdatei für PRODAVE MPI **
00CA :
Keine
Ressourcen
verfügbar
00CE :
Baugruppe
nicht
gefunden
00CF
:
Treiber nicht geladen
00E1
:
Zu viele offene Kanäle
00E9 :
sin_serv.exe
nicht
gestartet
00F1
:
Kein globaler DOS-Speicher verfügbar
0101
:
Verbindung nicht aufgebaut / parametriert
010A
:
Negative Quittung empfangen / Timeout-Fehler
010C
:
Daten nicht vorhanden oder gesperrt
0201 :
Falsche
Schnittstelle
angegeben
0202 :
Maximalanzahl
Schnittstellen
überschritten
0203
:
Toolbox schon installiert
0204
:
Toolbox schon mit anderen Verbindungen installiert
0205 :
Toolbox
nicht
installiert
0206
:
Handle kann nicht gesetzt werden
0207
:
Datensegment kann nicht gesperrt werden
0209 :
Datenfeld
fehlerhaft
0302
:
Baustein zu klein, DW ist nicht vorhanden
0303
:
Bausteingrenze überschritten, Anzahl korrigieren
0310 :
Baugruppe
nicht
gefunden
0311 :
Hardwarefehler
0312 :
Falsche
Konfigurationsparameter
0313 :
Falsche
Baudrate/interruptvector
0314 :
Falsche
HSA
0315 :
MPI-Addressfehler
0316
:
HW-Gerät schon vergeben
0317 :
Interrupt
nicht
verfügbar
0318 :
Interrupt
belegt
031A :
Verbindungsfehler
Anhang
PRODAVE MPI V6.0
A-2
A5E00417149-01
0320 :
Hardwarefehler
0330 :
Versionskonflikt
0331 :
COM-Fehler
0332 :
keine
Rückmeldung
0333 :
COM-Fehler
0334 :
COM-Fehler
0336
:
Keine Modemverbindung aufgebaut
0337 :
Legitimierung
fehlt
0381
:
Gerät nicht vorhanden
0382
:
Kein Treiber oder Gerät gefunden
0384
:
Kein Treiber oder Gerät gefunden
03FF :
Systemfehler
4001
:
Verbindung nicht bekannt
4002
:
Verbindung nicht aufgebaut
4003
:
Verbindung wird gerade aufgebaut
4004
:
Verbindung ist zusammengebrochen
800 :
Toolbox
belegt
8001
:
In diesem Betriebszustand nicht erlaubt
8101 :
Hardwarefehler
8103
:
Objektzugriff nicht erlaubt
8104 :
Kontext
wird
nicht
unterstützt
8105 :
Ungültige
Adresse
8106
:
Typ (Datenart) nicht unterstützt
8107
:
Typ (Datenart) nicht konsistent
810A
:
Objekt nicht existent
8301
:
Speicherplatz auf CPU nicht ausreichend
8404 :
Gravierender
Fehler
8500 :
Falsche
PDU-Größe
8702 :
Adresse
ungültig
D201 :
Syntaxfehler
Bausteinname
D202 :
Syntaxfehler
Funktionsparameter
D203 :
Syntaxfehler
Bausteintyp
D204
:
Kein eingeketteter Baustein im Speichermedium
D205 :
Objekt
bereits
vorhanden
D206 :
Objekt
bereits
vorhanden
D207
:
Baustein im EPROM vorhanden
D209 :
Baustein
nicht
vorhanden
D20E :
Kein
Baustein
vorhanden
D210 :
Bausteinnummer
zu
groß
D241
:
Schutzstufe der Funktion nicht ausreichend
D406 :
Information
nicht
vorhanden
EF01 :
Falsche
ID2
FFFE
:
Unbekannter Fehler FFFE hex
FFFF
:
Timeout-Fehler, Schnittstelle überprüfen
Anhang
PRODAVE MPI V6.0
A5E00417149-01
A-3
TeleService-Fehlermeldungen
0048
:
Fehler beim Verbinden
4350 :
Nicht
implementiert
4360 :
Zeitüberschreitung
(timeout)
8001 :
Kein
Speicher
8305
:
Fehler beim Zugriff auf Registry
8306
:
Adapter im Direktbetrieb
8FFF
:
Interner Fehler
8305
:
Fehler beim Zugriff auf Registry
4501
:
Falscher Parameter, Modem oder Standort-Fehler
4502
:
Keine weiteren Einträge
4503 :
Modemfunktion
nicht
ausreichend
4504
:
Übergebener String zu lang
4510 :
Adapter
im
Modembetrieb
4540
:
Alarm bereits vergeben
4541
:
Alarm nicht benutzt
4580
:
Login Fehler Username
4581
:
Login Fehler Passwort
A0CE : Besetzt
A0CF
:
Partner antwortet nicht
A0D4 : Anschluss
nicht
verfügbar
A0D5 : Kein
Freizeichen
Anhang
PRODAVE MPI V6.0
A-4
A5E00417149-01
A.2 Verwendete
Abkürzungen
AG
Automatisierungsgerät
CP
Kommunikationsprozessor
CPU Central-Processing-Unit
DB
Datenbaustein
DLL
Dynamic Link Library
MPI Multi
Point
Interface
PC
Personal
Computer
PG
Programmiergerät
PPI
Point to Point Interface
PRODAVE
Prozess-Daten-Verkehr