Sie sind auf Seite 1von 60

 S7ProSim V5.

4

1 ___________________ Einleitung 2 ___________________ bersicht ber S7ProSim

SIMATIC Engineering Tools S7ProSim V5.4


Bedienhandbuch

3 ___________________ Methoden 4 ___________________ Ereignisse 5 ___________________ Typdefinitionen

07/2011
A5E00992429-02

Rechtliche Hinweise Rechtliche Hinweise Warnhinweiskonzept


Dieses Handbuch enthlt Hinweise, die Sie zu Ihrer persnlichen Sicherheit sowie zur Vermeidung von Sachschden beachten mssen. Die Hinweise zu Ihrer persnlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschden stehen ohne Warndreieck. Je nach Gefhrdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt. GEFAHR bedeutet, dass Tod oder schwere Krperverletzung eintreten wird, wenn die entsprechenden Vorsichtsmanahmen nicht getroffen werden. WARNUNG bedeutet, dass Tod oder schwere Krperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmanahmen nicht getroffen werden. VORSICHT mit Warndreieck bedeutet, dass eine leichte Krperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmanahmen nicht getroffen werden. VORSICHT ohne Warndreieck bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmanahmen nicht getroffen werden. ACHTUNG bedeutet, dass ein unerwnschtes Ergebnis oder Zustand eintreten kann, wenn der entsprechende Hinweis nicht beachtet wird. Beim Auftreten mehrerer Gefhrdungsstufen wird immer der Warnhinweis zur jeweils hchsten Stufe verwendet. Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschden gewarnt wird, dann kann im selben Warnhinweis zustzlich eine Warnung vor Sachschden angefgt sein.

Qualifiziertes Personal
Das zu dieser Dokumentation zugehrige Produkt/System darf nur von fr die jeweilige Aufgabenstellung qualifiziertem Personal gehandhabt werden unter Beachtung der fr die jeweilige Aufgabenstellung zugehrigen Dokumentation, insbesondere der darin enthaltenen Sicherheits- und Warnhinweise. Qualifiziertes Personal ist auf Grund seiner Ausbildung und Erfahrung befhigt, im Umgang mit diesen Produkten/Systemen Risiken zu erkennen und mgliche Gefhrdungen zu vermeiden.

Bestimmungsgemer Gebrauch von Siemens-Produkten


Beachten Sie Folgendes: WARNUNG Siemens-Produkte drfen nur fr die im Katalog und in der zugehrigen technischen Dokumentation vorgesehenen Einsatzflle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, mssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemen Transport, sachgeme Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und Instandhaltung voraus. Die zulssigen Umgebungsbedingungen mssen eingehalten werden. Hinweise in den zugehrigen Dokumentationen mssen beachtet werden.

Marken
Alle mit dem Schutzrechtsvermerk gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die brigen Bezeichnungen in dieser Schrift knnen Marken sein, deren Benutzung durch Dritte fr deren Zwecke die Rechte der Inhaber verletzen kann.

Haftungsausschluss
Wir haben den Inhalt der Druckschrift auf bereinstimmung mit der beschriebenen Hard- und Software geprft. Dennoch knnen Abweichungen nicht ausgeschlossen werden, so dass wir fr die vollstndige bereinstimmung keine Gewhr bernehmen. Die Angaben in dieser Druckschrift werden regelmig berprft, notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.

Siemens AG Industry Sector Postfach 48 48 90026 NRNBERG DEUTSCHLAND

A5E00992429-02 05/2011

Copyright Siemens AG 2011. nderungen vorbehalten

Inhaltsverzeichnis
1 2 Einleitung................................................................................................................................................... 5 bersicht ber S7ProSim .......................................................................................................................... 7 2.1 2.2 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 Aufnehmen eines S7ProSim COM-Objekts in Ihr Projekt..............................................................7 Programmieren einer Schnittstelle zu S7-PLCSIM mit S7ProSim.................................................8 BeginScanNotify ..........................................................................................................................13 Connect........................................................................................................................................14 ConnectExt...................................................................................................................................15 Continue.......................................................................................................................................16 Disconnect ...................................................................................................................................17 EndScanNotify .............................................................................................................................18 ExecuteNmsScan ........................................................................................................................19 ExecuteNScans ...........................................................................................................................20 ExecuteSingleScan......................................................................................................................21 GetPauseState.............................................................................................................................22 GetScanMode ..............................................................................................................................23 GetStartUpSwitch ........................................................................................................................24 GetState .......................................................................................................................................25 HotStartWithSavedValues ...........................................................................................................26 Pause ...........................................................................................................................................27 ReadDataBlockValue...................................................................................................................28 ReadFlagValue ............................................................................................................................29 ReadOutputImage........................................................................................................................31 ReadOutputPoint .........................................................................................................................33 SavePLC ......................................................................................................................................35 SetScanMode...............................................................................................................................36 SetStartUpSwitch.........................................................................................................................37 SetState .......................................................................................................................................38 StartPLCSim ................................................................................................................................39 StartPLCSimExt ...........................................................................................................................40 WriteDataBlockValue ...................................................................................................................41

Methoden................................................................................................................................................. 11

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

Inhaltsverzeichnis

3.27 3.28 3.29 4 4.1 4.2 4.3 4.4 4.5 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10

WriteFlagValue............................................................................................................................ 42 WriteInputImage.......................................................................................................................... 44 WriteInputPoint............................................................................................................................ 45 ConnectionError .......................................................................................................................... 47 PauseStateChanged ................................................................................................................... 48 PLCSimStateChanged ................................................................................................................ 48 ScanFinished .............................................................................................................................. 49 ScanModeChanged .................................................................................................................... 49 Typdefinitionen............................................................................................................................ 51 CPURunMode ............................................................................................................................. 51 ImageDataTypeConstants .......................................................................................................... 52 PauseStateConstants ................................................................................................................. 52 PointDataTypeConstants ............................................................................................................ 53 RestartSwitchPosition ................................................................................................................. 53 ScanModeConstants................................................................................................................... 54 tagPauseState............................................................................................................................. 54 ScanInfoKonstanten.................................................................................................................... 55 Fehlerausgabecodes................................................................................................................... 56

Ereignisse................................................................................................................................................ 47

Typdefinitionen ........................................................................................................................................ 51

Index........................................................................................................................................................ 57

S7ProSim V5.4

Bedienhandbuch, 07/2011, A5E00992429-02

Einleitung

1
S7ProSim bietet programmatischen Zugriff auf die Schnittstelle zum simulierten Zielsystem in S7-PLCSIM. Mit S7ProSim knnen Sie Software schreiben, mit der Sie Ttigkeiten wie das Umschalten des Schlsselschalters des simulierten Zielsystems, die zyklische Ausfhrung des Steuerungsprogramms, das Lesen und Schreiben von Steuerungswerten und viele andere Arbeitsschritte ausfhren knnen.

Leserkreis
Dieses Handbuch wendet sich an Entwickler, Programmierer und Wartungspersonal mit Kenntnissen und Erfahrung in den Bereichen speicherprogrammierbare S7-Steuerungen und Entwicklung von Software in Visual Basic (6.0 oder .NET) bzw. Visual C++ (6.0 oder .NET).

Umfang des Handbuchs


Dieses Dokument beschreibt die Funktionen und die Bedienung von S7ProSim ab V5.4 SP5.

Weitere Handbcher
Weitere Informationen finden Sie in der Online-Hilfe von STEP 7 und S7-PLCSIM sowie in den folgenden Handbchern: Programmieren mit STEP 7, Handbuch. Dieses Handbuch liefert die grundlegenden Informationen zum Entwerfen und Programmieren von Steuerungsprogrammen. Arbeiten Sie mit diesem Handbuch, wenn Sie mit der Automatisierungssoftware STEP 7 ein Steuerungsprogramm entwerfen. Systemsoftware fr S7-300/400 System- und Standardfunktionen, Referenzhandbuch. In diesem Handbuch finden Sie Beschreibungen von Systemfunktionen, Organisationsbausteinen und Standardfunktionen, mit denen Sie beim Entwickeln eines Steuerungsprogramms arbeiten. Erste Schritte und bungen mit STEP 7, Getting Started. In diesem Handbuch wird beschrieben, wie Sie mit der Automatisierungssoftware STEP 7 arbeiten. Das Handbuch verschafft Ihnen einen berblick ber die Vorgehensweise beim Konfigurieren eines Zielsystems und beim Entwickeln von Steuerungsprogrammen. S7-PLCSIM - Testen Ihres S7-CPU Programms. In diesem Handbuch werden Bedienoberflche und Funktionsweise von S7-PLCSIM, dem S7-SPS-Simulator, beschrieben. Diese und andere Handbcher finden Sie, wenn Sie auf dem Computer, auf dem STEP 7 installiert ist, im Windows-Startmen den Menbefehl Start > SIMATIC > Dokumentation whlen.

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

Einleitung

Zustzliche Untersttzung
Falls Sie technische Fragen haben oder Informationen zum Bestellen dieses Produkts bzw. zu Schulungen bentigen, wenden Sie sich bitte an Ihre Siemens-Vertretung.

S7ProSim V5.4

Bedienhandbuch, 07/2011, A5E00992429-02

bersicht ber S7ProSim

S7ProSim bietet ein COM-Objekt fr den programmatischen Zugriff auf die Oberflche der Prozesssimulation in S7-PCLSIM. Sie knnen S7ProSim in jeder Anwendung einsetzen, die COM-Objekte fr den Anschluss an die S7-PLCSIM Prozesssimulation untersttzt. In diesem Online-Dokument wird beschrieben, wie Sie S7ProSim in eine Anwendung aufnehmen. Auerdem werden Leistungsmerkmale, Oberflche und Funktionsweise von S7ProSim beschrieben und die Software-Objektdefinitionen von Methoden und Ereignissen erlutert.

2.1

Aufnehmen eines S7ProSim COM-Objekts in Ihr Projekt


Wenn Sie ein S7ProSim COM-Objekt in Ihrem Projekt verwenden mchten, fgen Sie im Projekt eine Referenz auf das Objekt hinzu. Die Vorgehensweise zum Ergnzen einer Projektreferenz richtet sich nach Ihrer Programmierumgebung.

Vorgehen
In Microsoft Visual Basic (6.0 oder .NET) beispielsweise gehen Sie folgendermaen vor, um eine Referenz auf ein S7ProSim COM-Objekt zu ergnzen: 1. Whlen Sie den Menbefehl Projekt > Referenzen oder Projekt > Referenz hinzufgen. 2. Whlen Sie im Dialogfeld "Referenzen" das Kontrollkstchen fr das Siemens S7ProSim COM-Objekt. (In Visual Basic .NET befindet sich diese Auswahl im Register "COM" des Dialogfelds "Referenzen".) 3. Besttigen Sie mit "OK". Nachdem Sie die Projektreferenz aufgenommen haben, knnen Sie sich im Objekt-Browser die Methoden und Ereignisse des S7ProSim COM-Objekts ansehen. Whlen Sie im Objekt-Browser im aufklappbaren Listenfeld der Bibliotheken die Option S7PROSIMLib. Die Klasse S7ProSim enthlt die Methoden und Ereignisse, mit denen Sie eine Schnittstelle zu S7-PLCSIM programmieren knnen. In Microsoft Visual Studio C++ V6.0 und in Microsoft Visual C++ .NET befolgen Sie die fr die jeweilige Programmierumgebung entsprechende Vorgehensweise zum Hinzufgen eines COM-Objekts. In Microsoft Visual C# .NET knnen Sie mit folgenden Schritten eine Referenz auf ein S7ProSim COM-Objekt hizufgen: 1. Whlen Sie den Menbefehl Projekt > Referenz hinzufgen. 2. Whlen sie im Register "COM" die Komponente "Siemens S7ProSim COM Object" aus. 3. Besttigen Sie Ihre Auswahl mit "Auswhlen". 4. Verlassen Sie den Dialog mit "OK".

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

bersicht ber S7ProSim 2.2 Programmieren einer Schnittstelle zu S7-PLCSIM mit S7ProSim

2.2
Vorgehen

Programmieren einer Schnittstelle zu S7-PLCSIM mit S7ProSim

Damit Sie mit S7ProSim die in S7-PLCSIM simulierte Steuerung programmatisch bedienen knnen, gehen Sie folgendermaen vor: 1. Nehmen Sie das Siemens S7ProSim COM-Objekt in das Projekt auf. 2. Fgen Sie zu Ihrem Projekt eine Deklaration fr S7ProSim hinzu. Beispiel: Visual Basic 6.0
Option Explicit Private WithEvents S7ProSim As S7PROSIMLib.S7ProSim ... Private Sub Form_Load() Set S7ProSim = New S7PROSIMLIB.S7ProSim ... End Sub

Beispiel: Visual Basic .NET


Private WithEvents S7ProSim As New S7PROSIMLib.S7ProSim

Beispiel: Visual C++ 6.0


// die ProSim-Bibliothek/tlb ist in der dll #import <S7wspsmx.dll> named_guids, no_namespace//, raw_interfaces_only class ProSimWrapper { public: ProSimWrapper() : m_pProSim(OLESTR("S7wspsmx.S7ProSim"), NULL, CLSCTX_INPROC_SERVER) {}; // spartptr wird automatisch im Stack erstellt, wenn die Anwendung

// gestartet wird virtual ~ProSimWrapper() {}; // keine Implementierung, smartptr wird automatisch

// freigegeben, // wenn die Anwendung geschlossen wird IS7ProSim * GetPtr() { return m_pProSim; }; // Attribute protected:

S7ProSim V5.4

Bedienhandbuch, 07/2011, A5E00992429-02

bersicht ber S7ProSim 2.2 Programmieren einer Schnittstelle zu S7-PLCSIM mit S7ProSim

// IProSimPtr ist ein CComPtr (smart ptr) fr die IProSim// Schnittstelle // kommt aus der dll-Datei von #import // CoCreateInstance wird automatisch fr das Objekt ptr im // Konstruktor // dieser Klasse aufgerufen // Freigabe von ptr wird automatisch vom Destruktor dieser // Klasse aufgerufen IS7ProSimPtr }; m_pProSim;

Beispiel: C#
using S7PROSIMLib; ... private S7ProSim ps; // create the COM Object connection ps = new S7ProSim();

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

bersicht ber S7ProSim 2.2 Programmieren einer Schnittstelle zu S7-PLCSIM mit S7ProSim
3. Programmieren Sie in Visual Basic Ereignis-Handler fr die S7ProSim Ereignisse. Ereignis-Handler sind in Visual C++ und Visual C# nicht erforderlich. In jeden Ereignis-Handler knnen Sie beliebigen Code fr Ihre Anwendung einfgen. Beispiel: Visual Basic 6.0
Private Sub S7ProSim_PauseStateChanged(ByVal NewState As String) DoEvents ... End Sub Private Sub S7ProSim_ScanFinished(ByVal ScanInfo As Variant) DoEvents ... End Sub Private Sub S7ProSim_PLCSimStateChanged(ByVal NewState As String) DoEvents ... End Sub Private Sub S7ProSim_ConnectionError(ByVal ControlEngine As String, ByVal error As Long) DoEvents MsgBox "Verbindungsfehler" End Sub Private Sub S7ProSim_ScanModeChanged(ByVal NewState As String) DoEvents ... End Sub

Hinweis In Visual Basic .NET ist der Aufruf "DoEvents" nicht erforderlich. 4. Nehmen Sie in Ihre Anwendung Befehlsschaltflchen, Textfelder und andere Objekte auf, die fr den Zugriff auf verschiedene S7ProSim Methoden erforderlich sind. Programmieren Sie den Code fr jeden Befehlsschaltflchen-Handler, um S7ProSim Methoden aufzurufen und entsprechende Werte fr Textfelder gem Ihrer Anwendung einzustellen.

S7ProSim V5.4

10

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden

3
Tabelle 3- 1 Methode BeginScanNotify (Seite 13) Beschreibung Registriert S7ProSim fr Rckrufe von der Steuerung. Die Ereignisse ScanFinished und PLCSimStateChanged werden gesendet, wenn diese Ereignisse auftreten. Verbindet S7ProSim mit S7-PLCSIM. Verbindet S7ProSim mit der S7-PLCSIM Instanz mit der Nummer InstanceNumber. Setzt eine Simulation fort, die angehalten wurde. Trennt die Verbindung zwischen S7ProSim und S7-PLCSIM. Hebt die Registrierung von S7ProSim fr Rckrufe von der Steuerung auf. Die Ereignisse ScanFinished und PLCSimStateChanged werden nicht gesendet. Zwingt S7PLCSIM, fr eine bestimmte Zeitdauer (Nms) Zyklen auszufhren, wobei nicht auf das Ende des aktuellen Zyklus gewartet wird. Ist die Zyklusbenachrichtigung aktiviert, wird dem Programm mitgeteilt, wenn S7- PLCSIM die Zyklen beendet hat. Zwingt S7-PLCSIM, eine bestimmte Anzahl Zyklen auszufhren, wobei nicht auf das Ende des aktuellen Zyklus gewartet wird. Ist die Zyklusbenachrichtigung aktiviert, wird dem Programm mitgeteilt, wenn S7-PLCSIM die Zyklen beendet hat. Zwingt S7-PLCSIM, einen Zyklus auszufhren, wobei nicht auf das Ende des aktuellen Zyklus gewartet wird. Ist die Zyklusbenachrichtigung aktiviert, wird dem Programm mitgeteilt, wenn S7-PLCSIM den Zyklus beendet hat. Gibt den aktuellen Pausenzustand von S7-PLCSIM aus. Meldet den Betriebsmodus von S7-PLCSIM. Holt die Anlaufeinstellung (Wiederanlauf, Warmstart oder Kaltstart) fr S7-PLCSIM Gibt einen String mit der aktuellen Schlsselschalterposition von S7-PLCSIM (RUN, RUN-P oder STOP) aus. Setzt einen booleschen Wert, um anzugeben, ob S7-PLCSIM bei einem Start im Zustand HotStart gespeicherte E/A-Werte der Peripherie laden soll. Damit S7-PLCSIM beim Start Peripherie-E/A ldt, muss der Anwender HotStartWithSavedValues mit dem Wert TRUE aufrufen, das SPS-Programm speichern ( SavePLC) und den Anlaufzustand fr S7-PLCSIM setzen auf HotStart ( SetStartUpSwitch). Beim Neustart von S7-PLCSIM werden die Peripherie-E/A geladen Hlt eine Simulation an.

bersicht

Connect (Seite 14) ConnectExt (Seite 15) Continue (Seite 16) Disconnect (Seite 17) EndScanNotify (Seite 18)

ExecuteNmsScan (Seite 19)

ExecuteNScans (Seite 20)

ExecuteSingleScan (Seite 21)

GetPauseState (Seite 22) GetScanMode (Seite 23) GetStartUpSwitch (Seite 24) GetState (Seite 25) HotStartWithSavedValues (Seite 26)

Pause (Seite 27)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

11

Methoden

Methode ReadDataBlockValue (Seite 28) ReadFlagValue (Seite 29) ReadOutputImage (Seite 31)

Beschreibung Liest ein bestimmtes Bit, Byte, Wort oder Doppelwort aus dem Speicherbereich DB von S7-PLCSIM. Liest ein bestimmtes Bit, Byte, Wort oder Doppelwort aus dem Speicherbereich der Merker (M) von S7-PLCSIM. Liest Elemente aus dem Peripheriebereich der Ausgnge (Speicherbereich PA) von S7-PLCSIM.

ReadOutputPoint (Seite 33) Liest ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) aus dem Peripheriebereich der Ausgnge (Speicherbereich PA). SavePLC (Seite 35) Speichert die aktuellen simulierten SPS-Daten in einer Datei. Die Daten, die gespeichert werden, bestehen aus dem Programm, der Hardware-Konfiguration, der Schlsselschalterposition wie im Unterfenster "CPU", der Art der Programmbearbeitung (automatisch oder zyklisch), dem E/A-Zustand, Zeitwerten, symbolischen Adressen und der Netzeinstellung (ein oder aus). Stellt den Betriebsmodus fr S7-PLCSIM ein. Setzt die Anlaufart (Wiederanlauf, Warmstart oder Kaltstart) fr den Anlauf von S7-PLCSIM. Stellt die aktuelle Schlsselschalterposition von S7-PLCSIM (RUN, RUN-P oder STOP) ein. Startet S7-PLCSIM mit der angegebenen SPS- Simulationsdatei (gespeichert von einem frheren Aufruf von SavePLC). Startet eine Instanz von S7-PLCSIM mit der angegebenen SPS Simulationsdatei (gespeichert von einem frheren Aufruf). Schreibt ein bestimmtes Bit, Byte, Wort oder Doppelwort in den Speicherbereich DB von S7-PLCSIM. Schreibt ein bestimmtes Bit, Byte, Wort oder Doppelwort in den Speicherbereich der Merker (M) von S7-PLCSIM. Schreibt Elemente mit Beginn am StartIndex der Daten, auf die pData zeigt, in den Peripheriebereich der Eingnge (Speicherbereich PE) von S7-PLCSIM. Schreibt ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) aus der Variante Data in den Peripheriebereich der Eingnge (Speicherbereich PE).

SetScanMode (Seite 36) SetStartUpSwitch (Seite 37) SetState (Seite 38) StartPLCSim (Seite 39) StartPLCSimExt (Seite 40) WriteDataBlockValue (Seite 41) WriteFlagValue (Seite 42) WriteInputImage (Seite 44)

WriteInputPoint (Seite 45)

S7ProSim V5.4

12

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.1 BeginScanNotify

3.1

BeginScanNotify
STDMETHOD(CS7ProSim::BeginScanNotify)()

Beschreibung
Registriert S7ProSim fr Rckrufe von der Steuerung. Die Ereignisse ScanFinished und PLCSimStateChanged werden gesendet, wenn diese Ereignisse auftreten.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Function BeginScanNotify() As Long

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

13

Methoden 3.2 Connect

3.2

Connect
STDMETHOD(Connect)()

Beschreibung
Verbindet S7ProSim mit der ersten Instanz von S7-PLCSIM, die die Instanznummer "1" hat.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_PLCISCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x8004020E : S7-PLCSIM ist verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Function Connect() As Long

S7ProSim V5.4

14

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.3 ConnectExt

3.3

ConnectExt
STDMETHOD (ConnectExt)(/*[in]*/ long InstanceNumber)

Beschreibung
Verbindet S7ProSim mit der S7-PLCSIM Instanz mit der Nummer InstanceNumber.

Parameter
InstanceNumber [in]: Nummer der Instanz, mit der S7ProSim verbunden werden soll

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_PLCISCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x8004020E : S7-PLCSIM ist verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Function ConnectExt() As Long

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

15

Methoden 3.4 Continue

3.4

Continue
STDMETHOD(CS7ProSim::Continue)()

Beschreibung
Setzt eine Simulation fort, die angehalten wurde.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub Continue()

S7ProSim V5.4

16

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.5 Disconnect

3.5

Disconnect
STDMETHOD(CS7ProSim::Disconnect)()

Beschreibung
Trennt die Verbindung zwischen S7ProSim und S7-PLCSIM.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Function Disconnect() As Long

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

17

Methoden 3.6 EndScanNotify

3.6

EndScanNotify
STDMETHOD(CS7ProSim::EndScanNotify)()

Beschreibung
Hebt die Registrierung von S7ProSim fr Rckrufe von der Steuerung auf. Die Ereignisse ScanFinished und PLCSimStateChanged werden nicht mehr gesendet.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_NOTREGISTERED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet 0x80040209 : S7ProSim ist nicht fr Rckrufe von S7-PLCSIM registriert

Verwendung in Visual Basic


Function EndScanNotify() As Long

S7ProSim V5.4

18

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.7 ExecuteNmsScan

3.7

ExecuteNmsScan
STDMETHOD(CS7ProSim::ExecuteNmsScan)( long MsNumber)

Beschreibung
Zwingt S7-PLCSIM, fr eine bestimmte Zeitdauer (Nms) Zyklen auszufhren, wobei nicht auf das Ende des aktuellen Zyklus gewartet wird. Ist die Zyklusbenachrichtigung aktiviert, wird dem Programm mitgeteilt, wenn S7-PLCSIM die Zyklen beendet hat. S7-PLCSIM muss sich fr diese Methode in der zyklischen Programmbearbeitung befinden.

Parameter
Parameter Deklaration Input Beschreibung Zeitdauer (in Millisekunden), whrend der Zyklen ausgefhrt werden sollen.

MsNumber

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x8004020A : In S7-PLCSIM ist nicht die zyklische Programmbearbeitung eingestellt 0x8004020E : S7-PLCSIM luft nicht 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Function ExecuteNmsScan(MsNumber As Long) As Long

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

19

Methoden 3.8 ExecuteNScans

3.8

ExecuteNScans
STDMETHOD(CS7ProSim::ExecuteNScans)( long NScanNumber)

Beschreibung
Zwingt S7-PLCSIM, eine bestimmte Anzahl Zyklen auszufhren, wobei nicht auf das Ende des aktuellen Zyklus gewartet wird. Ist die Zyklusbenachrichtigung aktiviert, wird dem Programm mitgeteilt, wenn S7-PLCSIM die Zyklen beendet hat. S7-PLCSIM muss sich fr diese Methode in der zyklischen Programmbearbeitung befinden.

Parameter
Parameter Deklaration Input Beschreibung Anzahl der Zyklen, die ausgefhrt werden soll.

NScanNumber

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x8004020A : In S7-PLCSIM ist nicht die zyklische Programmbearbeitung eingestellt 0x8004020E : S7-PLCSIM luft nicht 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Function ExecuteNScans(NScanNumber As Long) As Long

S7ProSim V5.4

20

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.9 ExecuteSingleScan

3.9

ExecuteSingleScan
STDMETHOD(CS7ProSim::ExecuteSingleScan)()

Beschreibung
Zwingt S7-PLCSIM, einen Zyklus auszufhren, wobei nicht auf das Ende des aktuellen Zyklus gewartet wird. Ist die Zyklusbenachrichtigung aktiviert, wird dem Programm mitgeteilt, wenn S7-PLCSIM den Zyklus beendet hat. S7-PLCSIM muss sich fr diese Methode in der zyklischen Programmbearbeitung befinden.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_PLCNOTRUNNING PS_E_NOTSINGLESCAN PS_E_MODENOTPOSSIBLE Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x8004020E : S7-PLCSIM luft nicht 0x8004020A : In S7-PLCSIM ist nicht die zyklische Programmbearbeitung eingestellt 0x8004020C : S7-PLCSIM konnte den angegebenen Betriebsmodus nicht einstellen

Verwendung in Visual Basic


Function ExecuteSingleScan() As Long

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

21

Methoden 3.10 GetPauseState

3.10

GetPauseState
STDMETHOD(CS7ProSim::GetPauseState)( PauseStateConstants *pVal)

Beschreibung
Gibt den aktuellen Pausenzustand von S7-PLCSIM aus.

Parameter
Parameter Deklaration Output Beschreibung Pointer auf den ausgegebenen Zustand von S7-PLCSIM; ist eine der Einstellungen PauseStateConstants

pVal

Hinweise Bei Aufruf aus Visual Basic und C# wird der Pausenzustand im Rckgabewert der Funktion ausgegeben, und es gibt keinen pVal. Bei Aufruf aus C++ wird der Zustand in dem Wert ausgegeben, auf den pVal zeigt.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Function GetPauseState() As PauseStateConstants

S7ProSim V5.4

22

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.11 GetScanMode

3.11

GetScanMode
STDMETHOD(CS7ProSim::GetScanMode)( ScanModeConstants *pVal)

Beschreibung
Meldet den Betriebsmodus von S7-PLCSIM.

Parameter
Parameter Deklaration Output Beschreibung Pointer auf den ausgegebenen Betriebsmodus. Der ausgegebene Betriebsmodus ist eine der ScanModeConstants

pVal

Hinweise
Bei Aufruf aus Visual Basic und C# wird der Betriebsmodus im Rckgabewert der Funktion ausgegeben, und es gibt keinen pVal. Bei Aufruf aus C++ wird der Zustand in dem Wert ausgegeben, auf den pVal zeigt.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Function GetScanMode() As ScanModeConstants

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

23

Methoden 3.12 GetStartUpSwitch

3.12

GetStartUpSwitch
STDMETHOD(CS7ProSim::GetStartUpSwitch)( RestartSwitchPosition *pPos)

Beschreibung
Holt die Anlaufeinstellung (Wiederanlauf, Warmstart oder Kaltstart) fr S7-PLCSIM.

Parameter
Parameter Deklaration Output Beschreibung Pointer auf den S7-PLCSIM Anlaufpositionswert, der eine der Einstellungen RestartSwitchPosition ist

pPos

Hinweise Bei Aufruf aus Visual Basic und C# wird die Schalterposition im Rckgabewert der Funktion ausgegeben, und es gibt keinen pPos. Bei Aufruf aus C++ wird der Zustand in dem Wert ausgegeben, auf den pPos zeigt.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Function GetStartUpSwitch() As RestartSwitchPosition

S7ProSim V5.4

24

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.13 GetState

3.13

GetState
STDMETHOD(CS7ProSim::GetState)( BSTR *pVal)

Beschreibung
Gibt einen String mit der aktuellen Schlsselschalterposition von S7-PLCSIM (RUN, RUN-P oder STOP) aus.

Parameter
Parameter Deklaration Output Beschreibung Pointer auf den ausgegebenen Wert fr die S7-PLCSIM Schlsselschalterposition.

pVal

Hinweise Bei Aufruf aus Visual Basic und C# wird der Zustand im Rckgabewert der Funktion ausgegeben, und es gibt keinen pVal. Bei Aufruf aus C++ wird der Zustand in dem Wert ausgegeben, auf den pVal zeigt.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL E_INVALID_STATE PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x00008002 : Ungltiger Zustand 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Function GetState() As String

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

25

Methoden 3.14 HotStartWithSavedValues

3.14

HotStartWithSavedValues
STDMETHOD(CS7ProSim::HotStartWithSavedValues)( BOOL val)

Beschreibung
Setzt einen booleschen Wert, um anzugeben, ob S7-PLCSIM bei einem Start im Zustand HotStart gespeicherte E/A-Werte der Peripherie laden soll. Damit S7-PLCSIM beim Start Peripherie-E/A ldt, muss der Anwender HotStartWithSavedValues mit dem Wert TRUE aufrufen, das SPS-Programm speichern (SavePLC) und den Anlaufzustand fr S7-PLCSIM auf HotStart (SetStartUpSwitch) setzen. Beim Neustart von S7-PLCSIM werden die Peripherie-E/A geladen.

Parameter
Parameter Deklaration Input Beschreibung Der Wert TRUE zeigt an, dass S7-PLCSIM bei einem Wiederanlauf gespeicherte E/A-Daten der Peripherie laden soll. Der Wert FALSE zeigt an, dass dies nicht geschehen soll.

val

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub HotStartWithSavedValues(val As Long)

S7ProSim V5.4

26

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.15 Pause

3.15

Pause
STDMETHOD(CS7ProSim::Pause)()

Beschreibung
Hlt eine Simulation an.

Parameter
Keine

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub Pause()

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

27

Methoden 3.16 ReadDataBlockValue

3.16

ReadDataBlockValue
STDMETHOD(CS7ProSim::ReadDataBlockValue)( long BlockNumber, long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)

Beschreibung
Liest ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) aus dem Speicherbereich eines Datenbausteins.

Parameter
Parameter Deklaration Input Input Input Beschreibung Nummer des Datenbausteins, der gelesen werden soll. Gltige Werte fr BlockNumber richten sich nach der CPU. Anfangsbyteposition im zu lesenden Datenbaustein. Gltige Werte fr ByteIndex richten sich nach der CPU. Anfangsbitposition im zu lesenden Datenbaustein, wenn ein boolescher Wert (Bit) gelesen wird. Gltige Werte fr BitIndex sind 0 bis 7. Zu lesender Datentyp. DataType muss eine der PointDataTypeConstants sein. Pointer auf die gelesenen Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp. Sie mssen diesen Speicherbereich in ihrer Anwendung allokieren und freigeben.

BlockNumber ByteIndex BitIndex DataType pData

Input Input, Output

Hinweis Wenn der DataType ein S7_Bit ist, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg gibt die Methode das angegebene Bit in pData aus, und der Variant-Datentyp ist Boolean. Wenn der DataType ein S7_Byte, S7_Word oder S7_DoubleWord ist, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg meldet die Methode den Wert in pData. Der Variant-Datentyp ist Byte, Integer oder Long, je nach DataType. Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Fehlerbehandlung Rckgabewert

Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE

Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet 0x80040206 : Ungltiger Datentyp

S7ProSim V5.4

28

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.17 ReadFlagValue

Wert PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED

Bedeutung 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040203 : Leseoperation fehlgeschlagen

Verwendung in Visual Basic


Sub ReadDataBlockValue(BlockNum As Long, ByteIndex As Long, BitIndex As Long, DataType As PointDataTypeConstants, pData)

3.17

ReadFlagValue
STDMETHOD(CS7ProSim::ReadFlagValue)( long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)

Beschreibung
Liest ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) aus dem Speicherbereich der Merker.

Parameter
Parameter Deklaration Input Input Beschreibung Stellt die zu lesende Anfangsbyteposition im Speicherbereich der Merker dar. Gltige Werte fr ByteIndex richten sich nach der CPU. Stellt die zu lesende Anfangsbitposition im Speicherbereich der Merker dar, wenn ein boolescher Wert (Bit) gelesen werden soll. Gltige Werte fr BitIndex sind 0 bis 7. Stellt den zu lesenden Datentyp dar. DataType muss eine der PointDataTypeConstants sein. Pointer auf die gelesenen Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp. Sie mssen diesen Speicherbereich in ihrer Anwendung allokieren und freigeben.

ByteIndex BitIndex DataType pData

Input Input, Output

Hinweis Wenn der DataType ein S7_Bit ist, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg gibt die Methode das angegebene Bit in pData aus, und der Variant-Datentyp ist Boolean. Wenn der DataType ein S7_Byte, S7_Word oder S7_DoubleWord ist, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg meldet die Methode den Wert in pData. Der Variant-Datentyp ist Byte, Integer oder Long, je nach DataType.
S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

29

Methoden 3.17 ReadFlagValue

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet 0x80040206 : Ungltiger Datentyp 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040203 : Leseoperation fehlgeschlagen

Verwendung in Visual Basic


Sub ReadFlagValue(ByteIndex As Long, BitIndex As Long, DataType As PointDataTypeConstants, pData)

S7ProSim V5.4

30

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.18 ReadOutputImage

3.18

ReadOutputImage
STDMETHOD(CS7ProSim::ReadOutputImage)( long StartIndex, long ElementsToRead, ImageDataTypeConstants DataType, VARIANT* pData)

Beschreibung
Liest Elemente aus dem Peripheriebereich der Ausgnge (Speicherbereich PA) von S7-PLCSIM.

Parameter
Parameter Deklaration Input Beschreibung Stellt die zu lesende Anfangsbyteposition im Peripheriebereich der Ausgnge dar. Gltige Werte fr StartIndex richten sich nach der CPU. Stellt die Anzahl der aus dem Abbild zu lesenden Bytes, Wrter oder Doppelwrter dar. Gltige Werte fr ElementsToRead richten sich nach der CPU. Stellt den zu lesenden Datentyp dar. Der DataType muss eine der ImageDataTypeConstants sein. Pointer auf die gelesenen Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp. Sie mssen diesen Speicherbereich in ihrer Anwendung allokieren und freigeben.

StartIndex ElementsToRead DataType pData

Input

Input Input, Output

Hinweis Wenn der DataType ein S7_Bit ist, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg gibt die Methode das angegebene Bit in pData aus, und der Variant-Datentyp ist Boolean. Wenn der DataType ein S7_Byte, S7_Word oder S7_DoubleWord ist, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg meldet die Methode den Wert in pData. Der Variant-Datentyp ist Byte, Integer oder Long, je nach DataType.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

31

Methoden 3.18 ReadOutputImage

Rckgabewert
Wert S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED PS_E_BADTYPE PS_E_NOTALLREADSWORKED PS_E_NOTCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040203 : Leseoperation fehlgeschlagen 0x80040206 : Ungltiger Datentyp 0x8004020F : Nicht alle Leseoperationen waren erfolgreich 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Sub ReadOutputImage(StartIndex As Long, ElementsToRead As Long, DataType As ImageDataTypeConstants, pData) As Long

S7ProSim V5.4

32

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.19 ReadOutputPoint

3.19

ReadOutputPoint
STDMETHOD(CS7ProSim::ReadOutputPoint)( long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)

Beschreibung
Liest ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) aus dem Peripheriebereich der Ausgnge (Speicherbereich PA).

Parameter
Parameter Deklaration Input Input Input Input, Output Beschreibung Stellt die zu lesende Anfangsbyteposition im Peripheriebereich dar. Gltige Werte fr ByteIndex richten sich nach der CPU. Stellt die zu lesende Bitposition (in Bytes) im Peripheriebereich dar. Gltig sind die Werte 0 bis 7. Eine der PointDataTypeConstants Pointer auf die zu lesenden Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp.

ByteIndex BitIndex DataType pData

Hinweise Wenn der DataType ein S7_Bit ist, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg gibt die Methode das angegebene Bit in pData aus, und der Variant-Datentyp ist Boolean. Wenn der DataType ein S7_Byte, S7_Word oder S7_DoubleWord ist, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg meldet die Methode den Wert in pData. Der Variant-Datentyp ist Byte, Integer oder Long, je nach DataType.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

33

Methoden 3.19 ReadOutputPoint

Rckgabewert
Wert S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED PS_E_BADBITNDX PS_E_BADTYPE PS_E_NOTCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040203 : Leseoperation fehlgeschlagen 0x80040205 : Bitindex ist ungltig 0x80040206 : Ungltiger Datentyp 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Sub ReadOutputPoint(ByteIndex As Long, BitIndex As Long, DataType As PointDataTypeConstants, pData) As Long

S7ProSim V5.4

34

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.20 SavePLC

3.20

SavePLC
STDMETHOD(CS7ProSim::SavePLC)( BSTR FileName)

Beschreibung
Speichert die aktuellen simulierten SPS-Daten in einer Datei. Die Daten, die gespeichert werden, bestehen aus dem Programm, der Hardware-Konfiguration, der Schlsselschalterposition wie im Unterfenster "CPU", der Art der Programmbearbeitung (automatisch oder zyklisch), dem E/A-Zustand, Zeitwerten, symbolischen Adressen und der Netzeinstellung (ein oder aus).

Parameter
Parameter Deklaration Input Beschreibung Name der Datei, in der die Daten des simulierten Zielsystems gespeichert werden sollen

FileName

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK STG_E_CANTSAVE PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80030103 : Speichern nicht mglich 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub SavePLC(FileName As String)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

35

Methoden 3.21 SetScanMode

3.21

SetScanMode
STDMETHOD(CS7ProSim::SetScanMode)( ScanModeConstants newVal)

Beschreibung
Stellt den Betriebsmodus fr S7-PLCSIM ein.

Parameter
Parameter Deklaration Input Beschreibung Einzustellender Betriebsmodus fr S7-PLCSIM. Der Betriebsmodus muss eine der ScanModeConstants sein.

newVal

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub SetScanMode(newVal As ScanModeConstants)

S7ProSim V5.4

36

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.22 SetStartUpSwitch

3.22

SetStartUpSwitch
STDMETHOD(CS7ProSim::SetStartUpSwitch)( RestartSwitchPosition postion)

Beschreibung
Setzt die Anlaufart (Wiederanlauf, Warmstart oder Kaltstart) fr den Anlauf von S7-PLCSIM.

Parameter
Parameter Deklaration Input Beschreibung Einzustellender Wert fr die Anlaufposition in S7-PLCSIM

position

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub SetStartUpSwitch(postion As RestartSwitchPosition)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

37

Methoden 3.23 SetState

3.23

SetState
STDMETHOD(CS7ProSim::SetState)( BSTR newVal)

Beschreibung
Stellt die aktuelle Schlsselschalterposition von S7-PLCSIM (RUN, RUN-P oder STOP) ein.

Parameter
Parameter Deklaration Input Beschreibung Einzustellender Wert fr die Schlsselschalterposition in S7-PLCSIM, gltige Werte sind RUN, RUN_P, STOP und MRES

newVal

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL E_INVALID_STATE PS_E_NOTCONNECTED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x00008002 : Ungltiger Zustand 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden

Verwendung in Visual Basic


Sub SetState(newVal As String)

S7ProSim V5.4

38

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.24 StartPLCSim

3.24

StartPLCSim
STDMETHOD(CS7ProSim::StartPLCSim)( BSTR plcFile)

Beschreibung
Startet die erste Instanz von S7-PLCSIM mit der angegebenen SPS_Simulationsdatei (gespeichert von einem frheren Aufruf von SavePLC).

Parameter
Parameter Deklaration Input Beschreibung Name der Datei, mit der S7-PLCSIM gestartet werden soll

plcFile

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler

Verwendung in Visual Basic


Sub StartPLCSim(plcFile As String)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

39

Methoden 3.25 StartPLCSimExt

3.25

StartPLCSimExt
STDMETHOD(StartPLCSimExt)(/*[in]*/ BSTR plcFile)

Beschreibung
Startet eine Instanz von S7-PLCSIM mit der angegebenen SPS-Simulationsdatei (gespeichert von einem frheren Aufruf).

Parameter
Parameter Deklaration Input Beschreibung Name der Datei, mit der S7-PLCSIM gestartet werden soll

plcFile [in]

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_MAXINSTANCE Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040214 : Maximale Anzahl von geffneten S7 PLCSIM Instanzen erreicht

Verwendung in Visual Basic


Sub StartPLCSimExt(plcFile As String)

S7ProSim V5.4

40

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.26 WriteDataBlockValue

3.26

WriteDataBlockValue
STDMETHOD(CS7ProSim::WriteDataBlockValue)( long BlockNumber, long ByteIndex, long BitIndex, const VARIANT* pData)

Beschreibung
Schreibt ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) in den Speicherbereich eines Datenbausteins.

Parameter
Parameter Deklaration Input Input Input Input Beschreibung Stellt die Nummer des Datenbausteins dar, der geschrieben werden soll. Gltige Werte fr BlockNumber richten sich nach der CPU. Stellt die zu schreibende Anfangsbyteposition im Datenbaustein dar. Gltige Werte fr ByteIndex richten sich nach der CPU. Stellt die zu schreibende Anfangsbitposition im Datenbaustein dar, wenn ein boolescher Wert (Bit) geschrieben werden soll. Gltige Werte fr BitIndex sind 0 bis 7. Pointer auf die zu schreibenden Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp. Sie mssen diesen Speicherbereich in ihrer Anwendung allokieren und freigeben.

BlockNumber ByteIndex BitIndex pData

Hinweise Wenn der DataType ein S7_Bit ist, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg schreibt die Methode das angegebene Bit (pData) in den Datenblock mit der Nummer BlockNumber. Wenn der DataType ein S7_Byte, S7_Word oder S7_DoubleWord ist, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg schreibt die Methode den Wert aus pData. Der Variant-Datentyp ist Byte, Integer oder Long, je nach DataType.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

41

Methoden 3.27 WriteFlagValue

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet 0x80040206 : Ungltiger Datentyp 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040204 : Schreiboperation fehlgeschlagen

Verwendung in Visual Basic


Sub WriteDataBlockValue(BlockNum As Long, ByteIndex As Long, BitIndex As Long, pData)

3.27

WriteFlagValue
STDMETHOD(CS7ProSim::WriteFlagValue)( long ByteIndex, long BitIndex, const VARIANT* pData)

Beschreibung
Schreibt ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) in den Speicherbereich der Merker.

Parameter
Parameter

ByteIndex BitIndex pData

Deklaration Input Input Input

Beschreibung Stellt die zu schreibende Anfangsbyteposition im Speicherbereich der Merker dar, in den geschrieben werden soll. Gltige Werte fr ByteIndex richten sich nach der CPU. Stellt die zu schreibende Anfangsbitposition im Speicherbereich der Merker dar, wenn ein boolescher Wert (Bit) geschrieben werden soll. Gltige Werte fr BitIndex sind 0 bis 7. Pointer auf die zu schreibenden Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp. Sie mssen diesen Speicherbereich in ihrer Anwendung allokieren und freigeben.

Hinweise Wenn der DataType ein S7_Bit ist, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg schreibt die Methode das angegebene Bit (pData) in den Datenblock mit der Nummer BlockNumber. Wenn der DataType ein S7_Byte, S7_Word oder S7_DoubleWord ist, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg schreibt die Methode den Wert aus pData. Der Variant-Datentyp ist Byte, Integer oder Long, je nach DataType.

S7ProSim V5.4

42

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.27 WriteFlagValue

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet 0x80040206 : Ungltiger Datentyp 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040204 : Schreiboperation fehlgeschlagen

Verwendung in Visual Basic


Sub WriteFlagValue(ByteIndex As Long, BitIndex As Long, pData)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

43

Methoden 3.28 WriteInputImage

3.28
Beschreibung

WriteInputImage
STDMETHOD(CS7ProSim::WriteInputImage)( long StartIndex, const VARIANT* pData)

Schreibt Elemente in den Peripheriebereich der Eingnge (Speicherbereich PE) von S7-PLCSIM, mit Beginn an StartIndex der Daten, auf die pData zeigt.

Parameter
Parameter

StartIndex pData

Deklaration Input Input

Beschreibung Stellt die zu schreibende Anfangsbyteposition im Peripheriebereich der Eingnge dar. Gltige Werte fr StartIndex richten sich nach der CPU. Pointer auf die Daten, die S7-PLCSIM schreiben soll. Die gltigen Werte fr die Daten richten sich nach der CPU. Sie mssen diesen Speicherbereich in ihrer Anwendung allokieren und freigeben.

Hinweise Die Art der Elemente, die geschrieben werden soll, wird durch die Art der Elemente in Data angegeben. Alle Elemente mssen vom gleichen Datentyp sein. Ein Byte-Array schreibt Bytes, ein Integer-Array schreibt Wrter und ein Long-Array schreibt Doppelwrter. Die geschriebenen Werte sind "roh" und werden von der Methode in keinster Weise ausgewertet bzw. umgewandelt. Die Anzahl der geschriebenen Elemente wird von der Gre des Array festgelegt, auf das Data zeigt.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

Rckgabewert
Wert S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED PS_E_BADTYPE PS_E_NOTALLWRITESWORKED PS_E_NOTCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040204 : Schreiboperation fehlgeschlagen 0x80040206 : Ungltiger Datentyp 0x80040210 : Nicht alle Schreiboperationen waren erfolgreich 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Sub WriteInputImage(StartIndex As Long, Data) As Long

S7ProSim V5.4

44

Bedienhandbuch, 07/2011, A5E00992429-02

Methoden 3.29 WriteInputPoint

3.29

WriteInputPoint
STDMETHOD(CS7ProSim::WriteInputPoint)( long ByteIndex, long BitIndex, const VARIANT* pData)

Beschreibung
Schreibt ein bestimmtes Bit (Boolean), ein Byte (Byte), ein 2-Byte-Wort (Integer) oder ein 4-Byte-Wort (Long) aus der Variante Data in den Peripheriebereich der Eingnge (Speicherbereich PE).

Parameter
Parameter Deklaration Input Beschreibung Stellt die zu schreibende Anfangsbyteposition im Peripheriebereich der Eingnge dar. Gltige Werte fr ByteIndex richten sich nach der CPU. Stellt die zu schreibende Bitposition (in Bytes) im Peripheriebereich dar. Gltig sind die Werte 0 bis 7. Pointer auf die zu schreibenden Daten. Die gltigen Werte fr Data richten sich nach dem Datentyp.

ByteIndex BitIndex pData

Input Input

Hinweise Wenn Boolean als Datentyp angegeben wird, dann mssen ByteIndex und BitIndex beide auf gltige Indizes gesetzt werden. Bei Erfolg schreibt die Methode das angegebene Bit in pData. Wird Byte, Integer oder Long als Datentyp angegeben, dann muss ByteIndex auf einen gltigen Index gesetzt werden (BitIndex wird ignoriert). Bei Erfolg schreibt die Methode die Elemente in pData.

Fehlerbehandlung
Fehler werden im Ereignis ConnectionError gemeldet, nicht vom Funktionsaufruf.

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

45

Methoden 3.29 WriteInputPoint

Rckgabewert
Wert S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED PS_E_BADBITNDX PS_E_BADTYPE PS_E_NOTCONNECTED PS_E_POWEROFF Bedeutung 0x00000000 : Erfolgscode 0x80004005 : Nicht angegebener Fehler 0x80040201 : Byteindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040204 : Schreiboperation fehlgeschlagen 0x80040205 : Bitindex ist ungltig 0x80040206 : Ungltiger Datentyp 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x80040212 : S7-PLCSIM ist ausgeschaltet

Verwendung in Visual Basic


Sub WriteInputPoint(ByteIndex As Long, BitIndex As Long, Data) As Long

S7ProSim V5.4

46

Bedienhandbuch, 07/2011, A5E00992429-02

Ereignisse

4
Ereignis ConnectionError (Seite 47) PauseStateChanged (Seite 48) PLCSimStateChanged (Seite 48) ScanFinished (Seite 49) ScanModeChanged (Seite 49) Bedeutung Wird erzeugt, wenn keine Verbindung zur Control Engine ("S7-PLCSIM") hergestellt werden kann oder wenn ein Fehler beim Aufruf einer S7ProSim Methode auftritt. Wird erzeugt, wenn ein Zustandswechsel Anhalten/Fortfahren erkannt wird. NewState ist eine Zeichenkette, die eine der PauseStateConstants darstellt. Wird erzeugt, wenn ein neuer Schalterzustand des Zielsystems erkannt wird. NewState ist der neue Betriebszustand: "RUN", "RUN_P" oder "STOP". Wird erzeugt, wenn ein einzelner Zyklus ausgefhrt wurde. ScanInfo bietet indizierte Informationen zum Zyklus. Wird erzeugt, wenn ein Wechsel des Betriebsmodus erkannt wird. NewState ist eine Zeichenkette, die eine der ScanModeConstants darstellt.

bersicht

4.1

ConnectionError
HRESULT ConnectionError(BSTR ControlEngine, long Error)

Beschreibung
Wird erzeugt, wenn keine Verbindung zum simulierten Zielsystem in S7-PLCSIM hergestellt werden kann oder wenn ein Fehler beim Aufruf einer S7ProSim Methode auftritt.

Verwendung in Visual Basic


Event ConnectionError(ControlEngine As String, Error As Long)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

47

Ereignisse 4.2 PauseStateChanged

4.2

PauseStateChanged
HRESULT PauseStateChanged(BSTR NewState)

Beschreibung
Wird erzeugt, wenn ein Zustandswechsel Anhalten/Fortfahren erkannt wird. NewState ist eine Zeichenkette, die eine der PauseStateConstants darstellt.

Verwendung in Visual Basic


Event PauseStateChanged(NewState As String)

4.3

PLCSimStateChanged
HRESULT PLCSimStateChanged(BSTR NewState)

Beschreibung
Wird erzeugt, wenn ein neuer Schalterzustand des Zielsystems erkannt wird. NewState ist der neue Betriebszustand: "RUN", "RUN_P" oder "STOP".

Verwendung in Visual Basic


Event PLCSimStateChanged(NewState As String)

S7ProSim V5.4

48

Bedienhandbuch, 07/2011, A5E00992429-02

Ereignisse 4.4 ScanFinished

4.4

ScanFinished
HRESULT ScanFinished(VARIANT ScanInfo)

Beschreibung
Wird erzeugt, wenn ein einzelner Zyklus ausgefhrt wurde. ScanInfo bietet indizierte Informationen zum Zyklus.

Verwendung in Visual Basic


Event ScanFinished(ScanInfo)

4.5

ScanModeChanged
HRESULT ScanModeChanged(BSTR NewState)

Beschreibung
Wird erzeugt, wenn ein Wechsel des Betriebsmodus erkannt wird. NewState ist eine Zeichenkette, die eine der ScanModeConstants darstellt.

Verwendung in Visual Basic


Event ScanModeChanged(NewState As String)

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

49

Ereignisse 4.5 ScanModeChanged

S7ProSim V5.4

50

Bedienhandbuch, 07/2011, A5E00992429-02

Typdefinitionen
5.1 Typdefinitionen

5
Beschreibung Konstanten fr den Bearbeitungszustand des Betriebszustands RUN der CPU Konstanten fr den Pausenzustand Konstanten fr die Methode ReadOutputPoint Konstanten fr die Position des Anlaufartenschalters auf der Frontplatte Konstanten fr den Betriebsmodus Konstanten fr den Pausenzustand Konstanten fr Informationen zum Zyklus

Typdefinitionen bersicht
Typ CPURunMode (Seite 51)

ImageDataTypeConstants (Seite 52) Konstanten fr die Methode ReadOutputImage PauseStateConstants (Seite 52) PointDataTypeConstants (Seite 53) RestartSwitchPosition (Seite 53) ScanModeConstants (Seite 54) tagPauseState (Seite 54) ScanInfoKonstanten (Seite 55)

5.2

CPURunMode
enum CPURunMode { CONTINUOUS_SCAN, SINGLE_SCAN, SINGLE_STEP }

Beschreibung
Konstanten fr den Bearbeitungszustand des Betriebszustands RUN der CPU

Elemente
CONTINUOUS_SCAN SINGLE_SCAN SINGLE_STEP

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

51

Typdefinitionen 5.3 ImageDataTypeConstants

5.3

ImageDataTypeConstants
enum { S7Byte = 2, S7Word = 3, S7DoubleWord = 4 }

Beschreibung
Konstanten fr die Methode ReadOutputImage

Elemente
S7Byte S7DoubleWord S7Word

5.4

PauseStateConstants
enum { Running = 0, Paused = 1, Disabled = 2 }

Beschreibung
Konstanten fr den Pausenzustand

Elemente
DISABLED Paused Running

S7ProSim V5.4

52

Bedienhandbuch, 07/2011, A5E00992429-02

Typdefinitionen 5.5 PointDataTypeConstants

5.5

PointDataTypeConstants
enum { S7_Bit = 1, S7_Byte = 2, S7_Word = 3, S7_DoubleWord = 4 }

Beschreibung
Konstanten fr die Methode ReadOutputPoint

Elemente
S7_Bit S7_Byte S7_DoubleWord S7_Word

5.6

RestartSwitchPosition
enum { WarmStart = 0, HotStart = 1, ColdStart = 2 }

Beschreibung
Konstanten fr die Position des Anlaufartenschalters auf der Frontplatte

Elemente
ColdStartWiederanlaufposition OB102
HotStartWiederanlaufposition OB101

WarmStartWiederanlaufposition OB100

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

53

Typdefinitionen 5.7 ScanModeConstants

5.7

ScanModeConstants
enum { SingleScan = 0, ContinuousScan = 1 }

Beschreibung
Konstanten fr den Betriebsmodus

Elemente
ContinuousScan SingleScan

5.8

tagPauseState
enum tagPauseState { ENABLED_RUNNING, ENABLED_PAUSED, DISABLED }

Beschreibung
Konstanten fr den Pausenzustand

Elemente
DISABLED ENABLED_PAUSED ENABLED_RUNNING

S7ProSim V5.4

54

Bedienhandbuch, 07/2011, A5E00992429-02

Typdefinitionen 5.9 ScanInfoKonstanten

5.9
ScanInfo

ScanInfoKonstanten

Der Variant-Datentyp ScanInfo stellt ein Array aus dem Datentyp Long dar. Jeder Datentyp Long im Array definiert einige Informationen zum Zyklus, entsprechend der Definition der ScanInfo-Konstanten.
Tabelle 5- 1 Komponente NUM_OF_SCANINFO_ELEMENTS EXECUTION_TIME_NDX MIN_CYCLE_TIME_NDX LARGEST_CYCLE_TIME_NDX AVERAGE_CYCLE_TIME_NDX IS_PLC_RUNNING_NDX ScanInfo-Konstanten Bedeutung Anzahl der Elemente im ausgegebenen Array ScanInfo. Index 0: Ausfhrungszeit in ms Index 1: krzeste Ausfhrungszeit in ms Index 2: grte Ausfhrungszeit in ms Index 3: durchschnittliche Zykluszeit in ms Index 4: Merker: 1 = Zielsystem luft; 0 = Zielsystem luft nicht Definition 5 0 1 2 3 4

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

55

Typdefinitionen 5.10 Fehlerausgabecodes

5.10

Fehlerausgabecodes

Fehlerausgabecodes - bersicht
Fehlerausgabecode PS_E_BADBITNDX PS_E_BADBYTECOUNT PS_E_BADBYTENDX PS_E_BADTYPE PS_E_INVALIDCALLBACK PS_E_INVALIDDISPATCH PS_E_INVALIDINPUT PS_E_INVALIDSCANTYPE PS_E_MAXINSTANCE PS_E_MODENOTPOSSIBLE PS_E_NOTALLREADSWORKED PS_E_NOTALLWRITESWORKED PS_E_NOTCONNECTED PS_E_NOTIFICATION_EXIST PS_E_NOTREGISTERED PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_POWEROFF PS_E_READFAILED PS_E_WRITEFAILED E_FAIL E_INVALID_STATE S_OK STG_E_CANTSAVE Bedeutung 0x80040205 : Bitindex ist ungltig 0x80040202 : Gre des Daten-Array ist fr den angegebenen Anfangs-Byteindex ungltig 0x80040201 : Byteindex ist ungltig 0x80040206 : Ungltiger Datentyp 0x80040207 : Ungltiger Rckruf 0x80040208 : Ungltige Verteilung 0x80040213 : Ungltiger Eingang 0x8004020B : Ungltiger Zyklustyp, muss eine der ScanModeConstants sein. 0x80040214 : Maximale Anzahl von geffneten S7-PLCSIM Instanzen erreicht 0x8004020C : S7-PLCSIM konnte den angegebenen Betriebsmodus nicht einstellen 0x8004020F : Nicht alle Leseoperationen waren erfolgreich 0x80040210 : Nicht alle Schreiboperationen waren erfolgreich 0x80040211 : S7ProSim ist nicht mit S7-PLCSIM verbunden 0x8004020D : S7ProSim ist bereits fr die Benachrichtigung registriert 0x80040209 : S7ProSim ist nicht fr Rckrufe von S7-PLCSIM registriert 0x8004020A : In S7-PLCSIM ist nicht die zyklische Programmbearbeitung eingestellt 0x8004020E : S7-PLCSIM luft nicht 0x80040212 : S7-PLCSIM ist ausgeschaltet 0x80040203 : Leseoperation fehlgeschlagen 0x80040204 : Schreiboperation fehlgeschlagen 0x80004005 : Nicht angegebener Fehler 0x00008002 : Ungltiger Zustand 0x00000000 : Erfolgscode 0x80030103 : Speichern nicht mglich

S7ProSim V5.4

56

Bedienhandbuch, 07/2011, A5E00992429-02

Index

A
Aufzhlungstypen, 51 CPURunMode, 51 ImageDataTypeConstants, 52 PauseStateConstants, 52 PointDataTypeConstants, 53 RestartSwitchPosition, 53 ScanModeConstants, 54 tagPauseState, 54 Automatische Programmbearbeitung GetScanMode, 23 ScanModeConstants, 54 SetScanMode, 36 AVERAGE_CYCLE_TIME_NDX, 55

E
Einfhrung, 7 Ereignis ConnectionError, 47 Ereignis PauseStateChanged, 48 Ereignis PLCSimStateChanged, 48 Ereignis ScanFinished, 49 Ereignis ScanModeChanged, 49 Ereignis-Handler, 8 Ereignisse ConnectionError, 47 PauseStateChanged, 48 PLCSimStateChanged, 48 ScanFinished, 49 ScanModeChanged, 49 EXECUTION_TIME_NDX, 55

B
Betriebsmodus Einstellung, 36 Holen, 23

F
Fehlerausgabecodes, 56

C
ColdStart, 53 Einstellung, 37 CPURunMode, 51

H
HotStart, 53 Einstellung, 26, 37

I D
Datenbausteinwerte (DB) Lesen, 28 Schreiben, 41 Definierte Konstanten, 51 CPURunMode, 51 ImageDataTypeConstants, 52 PauseStateConstants, 52 PointDataTypeConstants, 53 RestartSwitchPosition, 53 ScanModeConstants, 54 tagPauseState, 54 ImageDataTypeConstants, 52 IS_PLC_RUNNING_NDX, 55

K
Konstanten, 51 CPURunMode, 51 ImageDataTypeConstants, 52 PauseStateConstants, 52 PointDataTypeConstants, 53 RestartSwitchPosition, 53 ScanModeConstants, 54 tagPauseState, 54

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

57

Index

L
Laden gespeicherter *.PLC-Dateien, 39, 40 Laden von Peripherie-E/A bei Wiederanlauf, 26 LARGEST_CYCLE_TIME_NDX, 55 Lesen Ausgang, 33 Ausgangsabbild, 31 Datenbausteinwerte (DB)T, 28 Merkerwert (M), 29

M
Merker Lesen, 29 Schreiben, 42 Merkerwert Lesen, 29 Schreiben, 42 Methode BeginScanNotify, 13 Methode Connect, 14 Methode ConnectExt, 15 Methode Continue, 16 Methode Disconnect, 17 Methode EndScanNotify, 18 Methode ExecuteNmsScan, 19 Methode ExecuteNScans, 20 Methode ExecuteSingleScan, 21 Methode GetPauseState, 22 Methode GetScanMode, 23 Methode GetStartUpSwitch, 24 Methode GetState, 25 Methode HotStartWithSavedValues, 26 Methode Pause, 27 Methode ReadDataBlockValue, 28 Methode ReadFlagValue, 29 Methode ReadOutputImageT, 31 Methode ReadOutputPoint, 33 Methode SavePLC, 35 Methode SetScanMode, 36 Methode SetStartUpSwitch, 37 Methode SetState, 38 Methode StartPLCSim, 39 Methode StartPLCSimExt, 40 Methode WriteDataBlockValue, 41 Methode WriteFlagValue, 42 Methode WriteInputImage, 44 Methode WriteInputPoint, 45

Methoden, 11 BeginScanNotify, 13 Connect, 14 ConnectExt, 15 Continue, 16 Disconnect, 17 EndScanNotify, 18 ExecuteNmsScan, 19 ExecuteNScans, 20 ExecuteSingleScan, 21 GetPauseState, 22 GetScanMode, 23 GetStartUpSwitch, 24 GetState, 25 HotStartWithSavedValues, 26 Pause, 27 ReadDataBlockValue, 28 ReadFlagValue, 29 ReadOutputImage, 31 ReadOutputPoint, 33 SavePLC, 35 SetScanMode, 36 SetStartUpSwitch, 37 SetState, 38 StartPLCSim, 39 StartPLCSimExt, 40 WriteDataBlockValue, 41 WriteFlagValue, 42 WriteInputImage, 44 WriteInputPoint, 45 MIN_CYCLE_TIME_NDX, 55

N
NUM_OF_SCANINFO_ELEMENTS, 55

P
Pausenzustand Einstellung, 16, 27 Holen, 22 PauseStateConstants, 52 PLCSIM, Starten, 39, 40 PointDataTypeConstants, 53 Position Anlaufartenschalter, 53 Einstellung, 37 Holen, 24 Position Schlsselschalter Einstellung, 38 Holen, 25

S7ProSim V5.4

58

Bedienhandbuch, 07/2011, A5E00992429-02

Index

Programmbearbeitungsmethoden ExecuteNmsScan, 19 ExecuteNScans, 20 ExecuteSingleScan, 21 Programmieren einer S7ProSim Schnittstelle zu S7PLCSIM, 8 Projektverweise, 7

T
tagPauseState, 54 Typdefinitionen, 51 CPURunMode, 51 ImageDataTypeConstants, 52 PauseStateConstants, 52 PointDataTypeConstants, 53 RestartSwitchPosition, 53 ScanModeConstants, 54 tagPauseState, 54

R
Referenz auf S7ProSim COM-Objekt Microsoft Visual Basic, 7 Microsoft Visual C#, 7 Microsoft Visual Studio C++, 7 Referenzen, 7 RestartSwitchPosition, 53 Rckgabewerte, 56

U
bersicht, 7

W
WarmStart, 53 Einstellung, 37

S
S7-PLCSIM, Starten, 26, 39, 40 S7ProSim Aufnehmen in VB-Projekt, 7 Schnittstelle zu S7-PLCSIM, Programmieren, 8 bersicht, 7 S7ProSim Pro Methoden ReadDataBlockValue, 28 ReadFlagValue, 29 WriteDataBlockValue, 41 WriteFlagValue, 42 ScanInfo-Konstanten, 55 ScanModeConstants, 54 Schreiben Datenbausteinwerte (DB), 41 Eingang, 45 Eingangsabbild, 44 Merkerwert (M), 42 Siemens S7ProSim COM-Objekt, Aufnehmen in Projekt, 7 Speichern von *.PLC-Dateien, 35

Z
Zyklische Programmbearbeitung ExecuteNmsScan, 19 ExecuteNScans, 20 ExecuteSingleScan, 21 GetScanMode, 23 ScanModeConstants, 54 SetScanMode, 36 Zyklusbenachrichtigung, 13, 18

S7ProSim V5.4 Bedienhandbuch, 07/2011, A5E00992429-02

59

Index

S7ProSim V5.4

60

Bedienhandbuch, 07/2011, A5E00992429-02