Vous êtes sur la page 1sur 63

SIMATIC

S7ProSim V5.4 Objet COM

Guide de l'utilisateur

Edition : 01/2007

Copyright et conseils de scurit


Ce manuel donne des consignes que vous devez respecter pour votre propre scurit ainsi que pour viter des dommages matriels. Elles sont mises en vidence par un triangle d'avertissement et sont prsentes, selon le risque encouru, de la faon suivante :
Danger signifie que la non-application des mesures de scurit appropries conduit la mort ou des lsions corporelles graves. Attention signifie que la non-application des mesures de scurit appropries peut conduire la mort ou des lsions corporelles graves. Avertissement Utilis avec le symbole de mise en garde, signifie que la non-application des mesures de scurit appropries peut conduire des lsions corporelles lgres. Avertissement Utilis sans le symbole de mise en garde, signifie que la non-application des mesures de scurit appropries peut conduire un dommage matriel. Nota Utilis sans le symbole de mise en garde, signale une situation potentielle pouvant entraner un rsultat ou un tat non dsir.

Personnel qualifi
La mise en service et l'utilisation de l'appareil ou du systme ne doivent tre effectues que conformment au manuel. Seules des personnes qualifies sont autorises effectuer des interventions sur l'appareil. Il s'agit de personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des appareils, systmes et circuits lectriques conformment aux rgles de scurit en vigueur.

Utilisation conforme aux dispositions


Tenez compte des points suivants :
Attention L'appareil ne doit tre utilis que pour les applications spcifies dans le catalogue ou dans la description technique, et exclusivement avec des priphriques et composants recommands par Siemens. Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance adquats du produit sont les conditions indispensables pour garantir son fonctionnement correct et sr.

Siemens et SIMATIC sont des marques dposes par SIEMENS AG. STEP 7 et S7 sont des marques de SIEMENS AG. Microsoft , Windows , Windows 95 , Windows 98 , Windows NT , Windows ME et Windows 2000 sont des marques dposes par Microsoft Corporation.
Copyright Siemens AG, 2007 Tous droits rservs Toute communication ou reproduction de ce support d'information, toute exploitation ou communication de son contenu sont interdites, sauf autorisation expresse. Tout manquement cette rgle est illicite et expose son auteur au versement de dommages et intrts. Tous nos droits sont rservs, notamment pour le cas de la dlivrance d'un brevet ou celui de l'enregistrement d'un modle d'utilit. Siemens AG Automation and Drives Postfach 4848, D-90327 Nrnberg Exclusion de responsabilit Nous avons vrifi la conformit du contenu du prsent manuel avec le matriel et le logiciel qui y sont dcrits. Or des divergences n'tant pas exclues, nous ne pouvons pas nous porter garants pour la conformit intgrale. Si l'usage de ce manuel devait rvler des erreurs, nous en tiendrons compte et apporterons les corrections ncessaires ds la prochaine dition. Veuillez nous faire part de vos suggestions.

Marques de fabrique

Siemens AG 2007
Nous nous rservons le droit de modifier les caractristiques techniques.

Prface
S7ProSim fournit un accs par programme l'interface de simulation d'AP de S7-PLCSIM. Avec S7ProSim, vous pouvez crire du logiciel pour excuter des tches comme changer la position du commutateur cl de l'AP de simulation, excuter le programme cycle par cycle, crire ou lire les valeurs de l'automate, etc. Groupe cible Ce manuel est destin aux ingnieurs, aux programmeurs et au personnel de maintenance expriments connaissant les automates programmables (AP) S7 et la conception de logiciels dans Visual Basic (6.0 ou .NET) ou Visual C++ (6.0 ou .NET). Objet Ce document dcrit les caractristiques et le fonctionnement de S7ProSim V5.4. Autres manuels Vous trouverez des informations supplmentaires dans l'aide en ligne de STEP 7 et de S7-PLCSIM, ainsi que dans les manuels suivants : Manuel Programmer avec STEP 7. Ce manuel fournit des informations de base sur la conception et la programmation de programmes de commande. Servez-vous de ce manuel pour crer un programme de commande avec le logiciel d'automatisation STEP 7. Manuel de rfrence Logiciel systme pour SIMATIC S7-300/400, Fonctions standard et fonctions systme. Ce manuel dcrit les fonctions systme, les blocs d'organisation et les fonctions standard que vous utilisez lors de la conception d'un programme de commande. Manuel STEP 7, Getting Started. Ce manuel explique comment utiliser le logiciel d'automatisation STEP 7. Il prsente les procdures utilises pour configurer un AP et pour concevoir des programmes de commande. S7-PLCSIM - Tester le programme de votre CPU S7. Ce manuel explique l'interface utilisateur et le fonctionnement de S7-PLCSIM, l'application de simulation d'automates S7.

Pour trouver ces manuels ou d'autres manuels, slectionnez la commande Dmarrer > Simatic > Documentation dans le menu Dmarrer de l'ordinateur o est install STEP 7.

Aide supplmentaire
Adressez-vous votre agence Siemens si certaines de vos questions techniques restent sans rponse, si vous dsirez passer une commande ou si vous voulez connatre les offres de formation. Amrique du Nord et du Sud Tlphone : +1 (800) 333-7421 Tlcopie : +1 (423) 262-2200 simatic.hotline@siemens.com Europe et Afrique Asie et rgion du Pacifique

Tlphone : +49 (0) 180 5050 222 Tlphone : +86 10 64 75 75 75 Tlcopie : +49 (0) 180 5050 223 Tlcopie : +86 10 64 74 74 74 adsupport@siemens.com adsupport.asia@siemens.com

S7ProSim V5.4 A5E00992431-01

iii

Table des matires


Prsentation de S7ProSim .................................................................................. 7
Ajout d'un objet COM S7ProSim votre projet.............................................................. 7 Programmation d'une interface vers S7-PLCSIM l'aide de S7ProSim ....................... 8

Mthodes............................................................................................................. 11
BeginScanNotify .......................................................................................................... 13 Connect ....................................................................................................................... 14 Continue ...................................................................................................................... 15 Disconnect ................................................................................................................... 16 EndScanNotify ............................................................................................................. 17 ExecuteNmsScan ........................................................................................................ 18 ExecuteNScans ........................................................................................................... 19 ExecuteSingleScan...................................................................................................... 20 GetPauseState ............................................................................................................ 21 GetScanMode.............................................................................................................. 22 GetStartUpSwitch ........................................................................................................ 23 GetState....................................................................................................................... 24 HotStartWithSavedValues ........................................................................................... 25 Pause........................................................................................................................... 26 ReadDataBlockValue................................................................................................... 27 ReadFlagValue ............................................................................................................ 28 ReadOutputImage ....................................................................................................... 29 ReadOutputPoint ......................................................................................................... 30 SavePLC...................................................................................................................... 31 SetScanMode .............................................................................................................. 32 SetStartUpSwitch......................................................................................................... 33 SetState ....................................................................................................................... 34 StartPLCSim ................................................................................................................ 35 WriteDataBlockValue................................................................................................... 36 WriteFlagValue ............................................................................................................ 37 WriteInputImage .......................................................................................................... 38 WriteInputPoint ............................................................................................................ 39

Evnements ........................................................................................................ 41
ConnectionError........................................................................................................... 42 PauseStateChanged.................................................................................................... 43 PLCSimStateChanged................................................................................................. 44 ScanFinished ............................................................................................................... 45 ScanModeChanged ..................................................................................................... 46

S7ProSim V5.4 A5E00992431-01

Table des matires

Dfinitions de types ........................................................................................... 47


CPURunMode.............................................................................................................. 48 ImageDataTypeConstants ........................................................................................... 49 PauseStateConstants .................................................................................................. 50 PointDataTypeConstants............................................................................................. 51 RestartSwitchPosition.................................................................................................. 52 ScanModeConstants ................................................................................................... 53 tagPauseState ............................................................................................................. 54 Constantes ScanInfo ................................................................................................... 55

Codes d'erreur .................................................................................................... 59 Index .................................................................................................................... 61

vi

S7ProSim V5.4 A5E00992431-01

Prsentation de S7ProSim
S7ProSim fournit un objet COM qui donne accs par programme l'interface de simulation de processus de S7-PLCSIM. Vous pouvez utiliser S7ProSim dans toute application qui peut accepter que des objets COM soient relis une simulation de processus S7-PLCSIM. Ce document en ligne dcrit comment ajouter S7ProSim une application, ainsi que les caractristiques, interface et fonctionnements de S7ProSim, notamment les dfinitions objets logicielles des mthodes et des vnements.

Ajout d'un objet COM S7ProSim votre projet


Pour ajouter un objet COM S7ProSim dans votre projet, vous insrez une rfrence cet objet. Les tapes ncessaires pour ajouter une rfrence de projet dpendent de votre environnement de programmation. Dans Microsoft Visual Basic (6.0 ou .NET) par exemple, vous devez excuter les tapes suivantes pour ajouter une rfrence d'objet COM S7ProSim : 1. Slectionnez la commande Projet > Rfrences ou Projet > Ajouter rfrence. 2. Dans la bote de dialogue Rfrences, cochez la case pour l'objet COM S7ProSim Siemens. Dans Visual Basic .NET, cette option se situe dans l'onglet COM de la bote de dialogue Rfrences. 3. Cliquez sur OK. Une fois que vous avez ajout la rfrence de projet, vous pouvez utiliser le navigateur d'objets pour examiner les mthodes et les vnements de l'objet COM S7ProSim. Dans le navigateur d'objets, slectionnez S7PROSIMLib dans la liste droulante des bibliothques. La classe S7ProSim contient les mthodes et les vnements que vous pouvez utiliser pour programmer une interface vers S7PLCSIM. Dans Microsoft Visual Studio C++ V6.0 ou dans Microsoft Visual C++ .NET, suivez les procdures d'ajout d'objet COM qui sont pertinentes pour l'environnement de programmation concern.

S7ProSim V5.4 A5E00992431-01

Prsentation de S7ProSim

Programmation d'une interface vers S7-PLCSIM l'aide de S7ProSim


Vous devez excuter les tches suivantes pour faire fonctionner l'automate de simulation S7-PLCSIM de manire programme l'aide de S7ProSim : Incluez l'objet COM Siemens S7ProSim dans le projet. Ajoutez une dclaration pour S7ProSim votre projet. Exemple : Visual Basic 6.0
Option Explicit Private WithEvents S7ProSim As S7PROSIMLib.S7ProSim ... Private Sub Form_Load() Set S7ProSim = New S7PROSIMLIB.S7ProSim ... End Sub

Exemple : Visual Basic .NET


Private WithEvents S7ProSim As New S7PROSIMLib.S7ProSim

Exemple : Visual C++ 6.0


// la bibliothque/tlb ProSim est dans la dll #import <S7wspsmx.dll> named_guids, no_namespace//interfaces brutes uniquement class ProSimWrapper { public: ProSimWrapper() : m_pProSim(OLESTR("S7wspsmx.S7ProSim"), NULL, CLSCTX_INPROC_SERVER) {}; // le pointeur intelligent est automatiquement cr // dans la pile au dmarrage de l'application virtual ~ProSimWrapper() {}; // pas d'implmentation, le pointeur intelligent est // automatiquement libr l'arrt de l'application IS7ProSim * GetPtr() { return m_pProSim; }; // Attributs protected: // IProSimPtr est un pointeur intelligent CComPtr vers l'interface IProSim // Il vient du fichier dll de #import // CoCreateInstance sera appel automatiquement dans l'objet // pointeur dans le constructeur de cette classe // la libration de pointeur (release ptr) est automatiquement // appele par le destructeur de cette classe IS7ProSimPtr m_pProSim; };

Exemple : C#
using S7PROSIMLib; ... private S7ProSim ps;

Pour Visual Basic, programmez des gestionnaires d'vnements pour les vnements S7ProSim. Les gestionnaires d'vnements ne sont pas ncessaires dans Visual C++. Vous pouvez insrer, l'intrieur de chaque gestionnaire d'vnement, du code personnalis pour votre application. Exemple : Visual Basic 6.0

S7ProSim V5.4 A5E00992431-01

Prsentation de S7ProSim
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 "Erreur de connexion" End Sub Private Sub S7ProSim_ScanModeChanged(ByVal NewState As String) DoEvents ... End Sub

Remarque Dans Visual Basic .NET, l'appel "DoEvents" n'est pas ncessaire. Ajoutez des boutons de commande, des botes de texte et d'autres objets votre application selon vos besoins pour accder aux diverses mthodes S7ProSim. Programmez le code pour chaque gestionnaire de bouton de commande pour l'appel de mthodes S7ProSim et dfinissez les valeurs correspondantes pour les botes de texte en fonction de votre application.

S7ProSim V5.4 A5E00992431-01

Mthodes
Enregistre S7ProSim pour des rappels de l'automate Control Engine. L'vnement ScanFinished et l'vnement PLCSimStateChanged seront envoys lorsqu'ils se produisent. Connecte S7ProSim S7-PLCSIM. Poursuit une simulation qui a t suspendue. Dconnecte S7ProSim de S7-PLCSIM. Annule l'enregistrement de S7ProSim pour des rappels de l'automate Control Engine. Les vnements ScanFinished etPLCSimStateChanged ne seront pas envoys. Force S7-PLCSIM excuter des cycles pendant une dure indique (Nms) et n'attend pas que l'excution du cycle en cours soit acheve. Si la notification de cycle est active, le programme sera averti lorsque S7-PLCSIM aura termin les cycles. Force S7-PLCSIM excuter un nombre dfini de cycles sans attendre que l'excution du cycle en cours s'achve. Si la notification de cycle est active, le programme sera averti lorsque S7-PLCSIM aura termin les cycles. Force S7-PLCSIM excuter un cycle sans attendre que l'excution du cycle en cours s'achve. Si la notification de cycle est active, le programme sera averti lorsque S7PLCSIM aura termin le cycle. Renvoie l'tat Pause en cours de S7-PLCSIM. Renvoie le mode d'excution de S7-PLCSIM. Fournit le paramtrage de mise en route (redmarrage, dmarrage chaud ou dmarrage froid) pour S7-PLCSIM. Renvoie une chane contenant la position en cours du commutateur cl de S7-PLCSIM (position RUN, RUN-P ou STOP). Dfinit une valeur boolenne dterminant si S7-PLCSIM doit charger la priphrie d'E/S sauvegarde lors d'une mise en route l'tat de redmarrage HotStart. Pour que S7-PLCSIM dmarre et charge la priphrie d'E/S, l'utilisateur doit appeler HotStartWithSavedValues avec la valeur TRUE, enregistrer le programme AP ( SavePLC) et dfinir l'tat de mise en route pour S7-PLCSIM redmarrage HotStart ( SetStartUpSwitch). Lors de son redmarrage, S7PLCSIM chargera la priphrie d'E/S. Suspend une simulation. Lit un bit, un octet, un mot ou un double mot particulier dans la zone de mmoire DB de S7-PLCSIM. Lit un bit, un octet, un mot ou un double mot particulier dans la zone des mmentos M de S7-PLCSIM. Lit des lments dans la priphrie de sortie (zone de mmoire PA) de S7-PLCSIM. Lit un bit (Boolean), un octet (Byte), un mot (Integer) ou un double mot (Long) spcifique de la priphrie de sortie (zone PA).

BeginScanNotify Connect Continue Disconnect EndScanNotify ExecuteNmsScan

ExecuteNScans

ExecuteSingleScan

GetPauseState GetScanMode GetStartUpSwitch GetState

HotStartWithSavedValues

Pause ReadDataBlockValue ReadFlagValue ReadOutputImage ReadOutputPoint

S7ProSim V5.4 A5E00992431-01

11

Mthodes

SavePLC

Enregistre les donnes en cours de l'AP de simulation dans un fichier. Les donnes sauvegardes comprennent le programme, la configuration matrielle, la position du commutateur cl indique par la fentre CPU, le mode d'excution (cycle continu ou cycle unique), l'tat des E/S, les valeurs des temporisations, les adresses symboliques, ainsi que le paramtrage de l'alimentation (sous tension ou hors tension). Dfinit le mode d'excution pour S7-PLCSIM. Dfinit le type de dmarrage (redmarrage, dmarrage chaud ou dmarrage froid) utiliser lors de la mise en route de S7-PLCSIM . Dfinit la position en cours du commutateur cl de S7PLCSIM (RUN, RUN-P ou STOP). Lance S7-PLCSIM avec le fichier de simulation AP indiqu (enregistr lors d'un appel prcdent SavePLC). Ecrit un bit, un octet, un mot ou un double mot particulier dans la zone de mmoire DB de S7-PLCSIM. Ecrit un bit, un octet, un mot ou un double mot particulier dans la zone des mmentos M de S7-PLCSIM. Ecrit des lments dans la priphrie d'entre (zone PE) de S7-PLCSIM, en commenant la position StartIndex des donnes dsignes par pData. Ecrit un bit (Boolean), un octet (Byte), un mot (Integer) ou un double mot (Long) spcifique du paramtre Data (de type Variant) dans la priphrie d'entre (zone PE).

SetScanMode SetStartUpSwitch

SetState StartPLCSim WriteDataBlockValue WriteFlagValue WriteInputImage

WriteInputPoint

12

S7ProSim V5.4 A5E00992431-01

Mthodes

BeginScanNotify
STDMETHOD(CS7ProSim::BeginScanNotify)()

Description
Enregistre S7ProSim pour des rappels de l'automate Control Engine. L'vnement ScanFinished et l'vnement PLCSimStateChanged seront envoys lorsqu'ils se produisent.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

13

Mthodes

Connect
STDMETHOD(CS7ProSim::Connect)()

Description
Connecte S7ProSim S7-PLCSIM.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

14

S7ProSim V5.4 A5E00992431-01

Mthodes

Continue
STDMETHOD(CS7ProSim::Continue)()

Description
Poursuit une simulation qui a t suspendue.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

15

Mthodes

Disconnect
STDMETHOD(CS7ProSim::Disconnect)()

Description
Dconnecte S7ProSim de S7-PLCSIM.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_POWEROFF Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

16

S7ProSim V5.4 A5E00992431-01

Mthodes

EndScanNotify
STDMETHOD(CS7ProSim::EndScanNotify)()

Description
Annule l'enregistrement de S7ProSim pour des rappels de l'automate Control Engine. Les vnements ScanFinished et PLCSimStateChanged ne seront pas envoys.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension. 0x80040209 : S7ProSim n'est pas enregistr pour des rappels de S7PS_E_NOTREGISTERED PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

17

Mthodes

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

Description
Force S7-PLCSIM excuter des cycles pendant une dure indique (Nms) et n'attend pas que l'excution du cycle en cours soit acheve. Si la notification de cycle est active, le programme sera averti lorsque S7-PLCSIM aura termin les cycles. S7-PLCSIM doit tre en mode Cycle unique pour que vous puissiez utiliser cette mthode.

Paramtres
MsNumber Dure (en millisecondes) pendant laquelle les cycles doivent tre excuts.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x8004020A : S7-PLCSIM n'est pas en mode d'excution "cycle unique". 0x8004020E : S7-PLCSIM n'est pas en cours d'excution. 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

18

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Force S7-PLCSIM excuter un nombre dfini de cycles sans attendre que l'excution du cycle en cours s'achve. Si la notification de cycle est active, le programme sera averti lorsque S7-PLCSIM aura termin les cycles. S7-PLCSIM doit tre en mode Cycle unique pour que vous puissiez utiliser cette mthode.

Paramtres
NScanNumber Nombre de cycles excuter

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x8004020A : S7-PLCSIM n'est pas en mode d'excution "cycle unique". 0x8004020E : S7-PLCSIM n'est pas en cours d'excution. 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

19

Mthodes

ExecuteSingleScan
STDMETHOD(CS7ProSim::ExecuteSingleScan)()

Description
Force S7-PLCSIM excuter un cycle sans attendre que l'excution du cycle en cours s'achve. Si la notification de cycle est active, le programme sera averti lorsque S7-PLCSIM aura termin le cycle. S7-PLCSIM doit tre en mode Cycle unique pour que vous puissiez utiliser cette mthode.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_PLCNOTRUNNING Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x8004020E : S7-PLCSIM n'est pas en cours d'excution. 0x8004020A : S7-PLCSIM n'est pas en mode d'excution "cycle PS_E_NOTSINGLESCAN unique". 0x8004020C : S7-PLCSIM n'a pas pu tablir le mode d'excution de PS_E_MODENOTPOSSIBLE cycle indiqu.

Utilisation Visual Basic

20

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Renvoie l'tat Pause en cours de S7-PLCSIM.

Paramtres
pVal Pointeur dsignant l'tat S7-PLCSIM renvoy, qui est l'une des constantes PauseStateConstants

Remarques
En cas d'appel depuis Visual Basic, l'tat Pause est renvoy dans le code retour de la fonction et il n'y a pas de paramtre pVal. En cas d'appel depuis C++, l'tat est renvoy dans la valeur dsigne par pVal.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

21

Mthodes

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

Description
Renvoie le mode d'excution de S7-PLCSIM.

Paramtres
pVal Pointeur dsignant le mode d'excution renvoy. Le mode d'excution renvoy est l'une des constantes ScanModeConstants

Remarques
En cas d'appel depuis Visual Basic, le mode d'excution est renvoy dans le code retour de la fonction et il n'y a pas de paramtre pVal. En cas d'appel depuis C++, l'tat est renvoy dans la valeur dsigne par pVal.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

22

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Fournit le paramtrage de mise en route (redmarrage, dmarrage chaud ou dmarrage froid) pour S7-PLCSIM.

Paramtres
pPos Pointeur dsignant la valeur de position du commutateur de mise en route de S7-PLCSIM, qui est l'un des paramtrages RestartSwitchPosition

Remarques
En cas d'appel depuis Visual Basic, la position du commutateur est renvoye dans le code retour de la fonction et il n'y a pas de paramtre pPos. En cas d'appel depuis C++, la position est renvoye dans la valeur dsigne par pPos.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

23

Mthodes

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

Description
Renvoie une chane contenant la position en cours du commutateur cl de S7-PLCSIM (position RUN, RUN-P ou STOP).

Paramtres
pVal Pointeur dsignant la valeur renvoye de la position du commutateur cl de S7-PLCSIM.

Remarques
En cas d'appel depuis Visual Basic, l'tat est renvoy dans le code retour de la fonction et il n'y a pas de paramtre pVal. En cas d'appel depuis C++, l'tat est renvoy dans la valeur dsigne par pVal.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL E_INVALID_STATE PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x00008002 : Etat incorrect 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

24

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Dfinit une valeur boolenne dterminant si S7-PLCSIM doit charger la priphrie d'E/S sauvegarde lors d'une mise en route l'tat de redmarrage HotStart. Pour que S7-PLCSIM dmarre et charge la priphrie d'E/S, l'utilisateur doit appeler HotStartWithSavedValues avec la valeur TRUE, enregistrer le programme AP (SavePLC) et dfinir l'tat de mise en route pour S7-PLCSIM redmarrage HotStart (SetStartUpSwitch). Lors de son redmarrage, S7-PLCSIM chargera la priphrie d'E/S.

Paramtres
val La valeur TRUE signifie que S7-PLCSIM doit charger la priphrie d'E/S sauvegarde lors d'un redmarrage. La valeur FALSE signifie qu'il ne doit pas charger ces valeurs.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

25

Mthodes

Pause
STDMETHOD(CS7ProSim::Pause)()

Description
Suspend une simulation.

Paramtres
Nant

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

26

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Lit un bit, un octet, un mot ou un double mot particulier dans la zone de mmoire DB de S7-PLCSIM.

Paramtres
BlockNumber Numro de bloc de donnes lire. Les valeurs correctes pour BlockNumber dpendent de la CPU. Position d'octet de dbut dans le bloc de donnes lire. Les valeurs correctes pour ByteIndex dpendent de la CPU. Position de bit de dbut dans le bloc de donnes lire en cas de lecture d'une valeur boolenne (binaire). Les valeurs correctes pour BitIndex vont de 0 7. Type de donnes lire. DataType doit avoir l'une des valeurs PointDataTypeConstants. Pointeur dsignant l'emplacement pour la valeur renvoye. Vous devez affecter et librer cette zone de mmoire dans votre application.

ByteIndex

BitIndex

DataType

pData

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension. 0x80040206 : Type de donnes incorrect 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice PS_E_BADBYTECOUNT d'octet de dbut indiqu. PS_E_READFAILED 0x80040203 : Echec de l'opration de lecture

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

27

Mthodes

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

Description
Lit un bit, un octet, un mot ou un double mot particulier dans la zone des mmentos (M) de S7PLCSIM.

Paramtres
ByteIndex Reprsente la position d'octet de dbut lire en mmoire M. Les valeurs correctes pour ByteIndex dpendent de la CPU. Reprsente la position de bit de dbut lire dans l'octet de mmoire M, en cas de lecture d'une valeur (binaire) boolenne. Les valeurs correctes pour BitIndex vont de 0 7. Reprsente le type de donnes lire. DataType doit avoir l'une des valeurs PointDataTypeConstants. Pointeur dsignant l'emplacement pour la valeur renvoye. Vous devez affecter et librer cette zone de mmoire dans votre application.

BitIndex

DataType

pData

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension. 0x80040206 : Type de donnes incorrect 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice PS_E_BADBYTECOUNT d'octet de dbut indiqu. PS_E_READFAILED 0x80040203 : Echec de l'opration de lecture

Utilisation Visual Basic

28

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Lit des lments dans la priphrie de sortie (zone de mmoire PA) de S7-PLCSIM.

Paramtres
StartIndex Reprsente la position d'octet de dbut lire dans la priphrie de sortie. Les valeurs correctes pour StartIndex dpendent de la CPU.

Reprsente le nombre d'octets, de mots ou de doubles mots lire dans la ElementsToRead priphrie de sortie. Les valeurs correctes pour ElementsToRead dpendent de la CPU. Reprsente le type de donnes lire. La valeur DataType doit avoir l'une des valeurs ImageDataTypeConstants. Pointeur dsignant l'emplacement pour les lments renvoys. Les valeurs correctes pour data dpendent de ElementsToRead. Vous devez affecter et librer cette zone de mmoire dans votre application.

DataType

pData

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour PS_E_BADBYTECOUNT l'indice d'octet de dbut indiqu. PS_E_READFAILED 0x80040203 : Echec de l'opration de lecture PS_E_BADTYPE 0x80040206 : Type de donnes incorrect PS_E_NOTALLREADSWORKED 0x8004020F : Toutes les oprations de lecture n'ont pas abouti. PS_E_NOTCONNECTED 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. PS_E_POWEROFF 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

29

Mthodes

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

Description
Lit un bit (Boolean), un octet (Byte), un mot (Integer) ou un double mot (Long) spcifique de la priphrie de sortie (zone PA).

Paramtres
Reprsente la position d'octet de dbut lire dans la priphrie. Les valeurs correctes ByteIndex pour ByteIndex dpendent de la CPU. Reprsente la position de bit (en octets) lire dans la priphrie. Les valeurs autorises sont comprises entre 0 et 7. L'une des constantes PointDataTypeConstants Pointeur dsignant les donnes lire. Les valeurs correctes pour Data dpendent du type de donnes.

BitIndex

DataType pData

Remarques
Si le paramtre DataType est S7_Bit, alors ByteIndex et BitIndex doivent tous deux tre dfinis des indices corrects. En cas de succs, la mthode renvoie le bit donn dans pData et son type de donnes Variant est BOOL. Si le paramtre DataType est S7_Byte, S7_Word ou S7_DoubleWord, alors ByteIndex doit tre dfini un indice correct (BitIndex n'est pas pris en compte). En cas de succs, la mthode renvoie la valeur dans pData. Le type de donnes Variant est Byte, Integer ou Long, selon le paramtre DataType.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice PS_E_BADBYTECOUNT d'octet de dbut indiqu. PS_E_READFAILED 0x80040203 : Echec de l'opration de lecture PS_E_BADBITNDX 0x80040205 : Indice de bit incorrect PS_E_BADTYPE 0x80040206 : Type de donnes incorrect PS_E_NOTCONNECTED 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. PS_E_POWEROFF 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

30

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Enregistre les donnes en cours de l'AP de simulation dans un fichier. Les donnes sauvegardes comprennent le programme, la configuration matrielle, la position du commutateur cl indique par la fentre CPU, le mode d'excution (cycle continu ou cycle unique), l'tat des E/S, les valeurs des temporisations, les adresses symboliques, ainsi que le paramtrage de l'alimentation (sous tension ou hors tension).

Paramtres
FileName Nom du fichier dans lequel enregistrer les donnes de l'AP de simulation

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK STG_E_CANTSAVE PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80030103 : Enregistrement impossible 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

31

Mthodes

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

Description
Dfinit le mode d'excution pour S7-PLCSIM.

Paramtres
newVal Mode d'excution dfinir pour S7-PLCSIM. Le mode d'excution doit tre l'une des constantes ScanModeConstants

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

32

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Dfinit le type de dmarrage (redmarrage, dmarrage chaud ou dmarrage froid) utiliser lors de la mise en route de S7-PLCSIM .

Paramtres
postion Valeur de la position du commutateur de mise en route de S7-PLCSIM dfinir

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

33

Mthodes

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

Description
Dfinit la position en cours du commutateur cl de S7-PLCSIM (RUN, RUN-P ou STOP).

Paramtres
newVal Valeur de la position du commutateur cl de S7-PLCSIM dfinir

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL E_INVALID_STATE PS_E_NOTCONNECTED Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x00008002 : Etat incorrect 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM.

Utilisation Visual Basic

34

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Lance S7-PLCSIM avec le fichier de simulation AP indiqu (enregistr lors d'un appel prcdent SavePLC).

Paramtres
plcFile Nom du fichier avec lequel lancer S7-PLCSIM

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

35

Mthodes

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

Description
Ecrit un bit, un octet, un mot ou un double mot particulier dans la zone de mmoire DB de S7-PLCSIM.

Paramtres
BlockNumber Reprsente le numro du bloc de donnes crire. Les valeurs correctes pour BlockNumber dpendent de la CPU. Reprsente la position d'octet de dbut dans le bloc de donnes crire. Les valeurs correctes pour ByteIndex dpendent de la CPU. Reprsente la position de bit de dbut dans le bloc de donnes crire, en cas d'criture d'une valeur boolenne (binaire). Les valeurs correctes pour BitIndex vont de 0 7. Pointeur dsignant l'emplacement contenant les donnes crire. Vous devez affecter et librer cette zone de mmoire dans votre application.

ByteIndex

BitIndex

pData

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension. 0x80040206 : Type de donnes incorrect 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice PS_E_BADBYTECOUNT d'octet de dbut indiqu. PS_E_WRITEFAILED 0x80040204 : Echec de l'opration d'criture

Utilisation Visual Basic

36

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Ecrit un bit, un octet, un mot ou un double mot particulier dans la zone des mmentos (M) de S7PLCSIM.

Paramtres
ByteIndex Reprsente la position d'octet de dbut dans la mmoire M crire. Les valeurs correctes pour ByteIndex dpendent de la CPU. Reprsente la position de bit de dbut dans l'octet de mmento crire, en cas d'criture d'une valeur boolenne (binaire). Les valeurs correctes pour BitIndex vont de 0 7. Pointeur dsignant l'emplacement contenant les donnes crire. Vous devez affecter et librer cette zone de mmoire dans votre application.

BitIndex

pData

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. 0x80040212 : S7-PLCSIM est hors tension. 0x80040206 : Type de donnes incorrect 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice PS_E_BADBYTECOUNT d'octet de dbut indiqu. PS_E_WRITEFAILED 0x80040204 : Echec de l'opration d'criture

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

37

Mthodes

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

Description
Ecrit des lments dans la priphrie d'entre (zone de mmoire PE) de S7-PLCSIM, en commenant la position StartIndex des donnes dsignes par pData.

Paramtres
StartIndex Reprsente la position d'octet de dbut crire dans la priphrie d'entre. Les valeurs correctes pour StartIndex dpendent de la CPU. Pointeur dsignant les donnes crire pour S7-PLCSIM. Les valeurs correctes pour les donnes dpendent de la CPU. Vous devez affecter et librer cette zone de mmoire dans votre application.

pData

Remarques
Le type des lments crire est dtermin par le type des lments de pData. Tous les lments doivent avoir le mme type de donnes. Un tableau "Array of Byte" crit des octets, un tableau "Array of Integer" crit des mots et un tableau "Array of Long" crit des doubles mots. Les valeurs crites sont des valeurs brutes que la mthode n'interprte ni ne convertit en aucune faon. Le nombre d'lments crits est dtermin par la taille du tableau dsign par pData.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour PS_E_BADBYTECOUNT l'indice d'octet de dbut indiqu. PS_E_WRITEFAILED 0x80040204 : Echec de l'opration d'criture PS_E_BADTYPE 0x80040206 : Type de donnes incorrect PS_E_NOTALLWRITESWORKED 0x80040210 : Toutes les oprations d'criture n'ont pas abouti. PS_E_NOTCONNECTED 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. PS_E_POWEROFF 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

38

S7ProSim V5.4 A5E00992431-01

Mthodes

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

Description
Ecrit un bit (Boolean), un octet (Byte), un mot (Integer) ou un double mot (Long) spcifique du paramtre Data (de type Variant) dans la priphrie d'entre (zone PE).

Paramtres
ByteIndex Reprsente la position d'octet de dbut crire dans la priphrie d'entre. Les valeurs correctes pour ByteIndex dpendent de la CPU. Reprsente la position de bit (en octets) crire dans la priphrie. Les valeurs autorises sont comprises entre 0 et 7. Pointeur dsignant les donnes crire. Les valeurs correctes pour Data dpendent du type de donnes.

BitIndex

pData

Remarques
Si Boolean est indiqu comme type de donnes, alors ByteIndex et BitIndex doivent tous deux tre dfinis des indices corrects. En cas de succs, la mthode crit le bit donn la position pData. Si Byte, Integer ou Long sont indiqus comme type de donnes, alors ByteIndex doit tre dfini un indice correct (BitIndex n'est pas pris en compte). En cas de succs, la mthode crit les lments dans pData.

Traitement des erreurs


Les erreurs sont renvoyes dans l'vnement ConnectionError, et non dans l'appel de la fonction.

Codes retour
Valeur S_OK E_FAIL PS_E_BADBYTENDX Signification 0x00000000 : Russite 0x80004005 : Erreur non prcise 0x80040201 : Indice d'octet incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice PS_E_BADBYTECOUNT d'octet de dbut indiqu. PS_E_WRITEFAILED 0x80040204 : Echec de l'opration d'criture PS_E_BADBITNDX 0x80040205 : Indice de bit incorrect PS_E_BADTYPE 0x80040206 : Type de donnes incorrect PS_E_NOTCONNECTED 0x80040211 : S7ProSim n'est pas connect S7-PLCSIM. PS_E_POWEROFF 0x80040212 : S7-PLCSIM est hors tension.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

39

Evnements
Gnr lorsque la connexion l'automate Control Engine ("S7PLCSIM") est impossible ou en cas d'erreur concernant l'appel de toute mthode S7ProSim. Gnr lorsqu'un changement d'tat Pause/Poursuivre est dtect. PauseStateChanged NewState est une chane reprsentant l'une des constantes PauseStateConstants. Gnr lorsqu'un nouvel tat du commutateur AP est dtect. PLCSimStateChanged NewState est le nouvel tat de fonctionnement : "RUN", "RUN_P" ou "STOP". Gnr lors de l'achvement d'un cycle unique. ScanInfo fournit ScanFinished des informations indexes sur le cycle. Gnr lorsqu'un changement de mode d'excution ScanMode est ScanModeChanged dtect. NewState est une chane reprsentant l'une des constantes ScanModeConstants. ConnectionError

S7ProSim V5.4 A5E00992431-01

41

Evnements

ConnectionError
HRESULT ConnectionError(BSTR ControlEngine, long Error)

Description
Gnr lorsque la connexion l'automate Control Engine ("S7-PLCSIM") est impossible ou en cas d'erreur concernant l'appel de toute mthode S7ProSim.

Utilisation Visual Basic

42

S7ProSim V5.4 A5E00992431-01

Evnements

PauseStateChanged
HRESULT PauseStateChanged(BSTR NewState)

Description
Gnr lorsqu'un changement d'tat Pause/Poursuivre est dtect. NewState est une chane reprsentant l'une des constantes PauseStateConstants.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

43

Evnements

PLCSimStateChanged
HRESULT PLCSimStateChanged(BSTR NewState)

Description
Gnr lorsqu'un nouvel tat du commutateur AP est dtect. NewState est le nouvel tat de fonctionnement : "RUN", "RUN_P" ou "STOP".

Utilisation Visual Basic

44

S7ProSim V5.4 A5E00992431-01

Evnements

ScanFinished
HRESULT ScanFinished(VARIANT ScanInfo)

Description
Gnr lors de l'achvement d'un cycle unique. ScanInfo fournit des informations indexes sur le cycle.

Utilisation Visual Basic

S7ProSim V5.4 A5E00992431-01

45

Evnements

ScanModeChanged
HRESULT ScanModeChanged(BSTR NewState)

Description
Gnr lorsqu'un changement de mode d'excution ScanMode est dtect. NewState est une chane reprsentant l'une des constantes ScanModeConstants.

Utilisation Visual Basic

46

S7ProSim V5.4 A5E00992431-01

Dfinitions de types
CPURunMode Constantes pour l'tat d'excution de cycle de la CPU

ImageDataTypeConstants Constantes pour la mthode ReadOutputImage Constantes pour l'tat Pause PauseStateConstants PointDataTypeConstants RestartSwitchPosition ScanModeConstants tagPauseState Constantes ScanInfo Constantes pour la mthode ReadOutputPoint Constantes pour la position du commutateur de mise en route sur la face avant Constantes pour le mode d'excution Constantes pour l'tat Pause Constantes pour des informations sur le cycle

S7ProSim V5.4 A5E00992431-01

47

Dfinitions de types

CPURunMode
enum CPURunMode { CONTINUOUS_SCAN, SINGLE_SCAN, SINGLE_STEP }

Description
Constantes pour l'tat d'excution de cycle de la CPU

Elments
CONTINUOUS_SCAN SINGLE_SCAN SINGLE_STEP

48

S7ProSim V5.4 A5E00992431-01

Dfinitions de types

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

Description
Constantes pour la mthode ReadOutputImage

Elments
S7Byte S7DoubleWord S7Word

S7ProSim V5.4 A5E00992431-01

49

Dfinitions de types

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

Description
Constantes pour l'tat Pause

Elments
Disabled Paused Running

50

S7ProSim V5.4 A5E00992431-01

Dfinitions de types

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

Description
Constantes pour la mthode ReadOutputPoint

Elments
S7_Bit S7_Byte S7_DoubleWord S7_Word

S7ProSim V5.4 A5E00992431-01

51

Dfinitions de types

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

Description
Constantes pour la position du commutateur de mise en route sur la face avant

Elments
ColdStart HotStart Remise en route avec l'OB102 Remise en route avec l'OB101

WarmStart Remise en route avec l'OB100

52

S7ProSim V5.4 A5E00992431-01

Dfinitions de types

ScanModeConstants
enum { SingleScan = 0, ContinuousScan = 1 }

Description
Constantes pour le mode d'excution

Elments
ContinuousScan SingleScan

S7ProSim V5.4 A5E00992431-01

53

Dfinitions de types

tagPauseState
enum tagPauseState { ENABLED_RUNNING, ENABLED_PAUSED, DISABLED }

Description
Constantes pour l'tat Pause

Elments
DISABLED ENABLED_PAUSED ENABLED_RUNNING

54

S7ProSim V5.4 A5E00992431-01

Dfinitions de types

Constantes ScanInfo
Constantes ScanInfo
ScanInfo NUM_OF_SCANINFO_ELEMENTS nombre d'lments dans le tableau de retour ScanInfo EXECUTION_TIME_NDX MIN_CYCLE_TIME_NDX LARGEST_CYCLE_TIME_NDX AVERAGE_CYCLE_TIME_NDX IS_PLC_RUNNING_NDX indice 0 : temps d'excution en ms indice 1 : plus petite valeur de temps d'excution en ms indice 2 : plus grande valeur de temps d'excution en ms indice 3 : temps de cycle moyen en ms indice 4 : mmento : 1=l'AP s'excute ; 0=l'AP ne s'excute pas.

ScanInfo ScanInfo
Le type de donnes Variant ScanInfo reprsente un tableau de doubles mots (Long). Chaque double mot dans le tableau spcifie une information sur le cycle, comme dfini par les constantes ScanInfo.

S7ProSim V5.4 A5E00992431-01

55

Dfinitions de types

NUM_OF_SCANINFO_ELEMENTS
#define NUM_OF_SCANINFO_ELEMENTS 5

Description
nombre d'lments dans le tableau de retour ScanInfo

EXECUTION_TIME_NDX
#define EXECUTION_TIME_NDX 0

Description
indice 0 : temps d'excution en ms

MIN_CYCLE_TIME_NDX
#define MIN_CYCLE_TIME_NDX 1

Description
indice 1 : plus petite valeur de temps d'excution en ms

56

S7ProSim V5.4 A5E00992431-01

Dfinitions de types

LARGEST_CYCLE_TIME_NDX
#define LARGEST_CYCLE_TIME_NDX 2

Description
indice 2 : plus grande valeur de temps d'excution en ms

AVERAGE_CYCLE_TIME_NDX
#define AVERAGE_CYCLE_TIME_NDX 3

Description
indice 3 : temps de cycle moyen en ms

IS_PLC_RUNNING_NDX
#define IS_PLC_RUNNING_NDX 4

Description
indice 4 : mmento : 1=l'AP s'excute ; 0=l'AP ne s'excute pas.

S7ProSim V5.4 A5E00992431-01

57

Codes d'erreur
PS_E_BADBITNDX PS_E_BADBYTECOUNT PS_E_BADBYTENDX PS_E_BADTYPE PS_E_INVALIDCALLBACK PS_E_INVALIDDISPATCH PS_E_INVALIDINPUT PS_E_INVALIDSCANTYPE 0x80040205 : Indice de bit incorrect 0x80040202 : La taille du tableau de donnes est incorrecte pour l'indice d'octet de dbut indiqu. 0x80040201 : Indice d'octet incorrect 0x80040206 : Type de donnes incorrect 0x80040207 : Rappel incorrect 0x80040208 : Distribution incorrecte 0x80040213 : Entre incorrecte

0x8004020B : Mode d'excution incorrect ; doit tre l'une des constantes ScanModeConstants 0x8004020C : S7-PLCSIM n'a pas pu tablir le mode PS_E_MODENOTPOSSIBLE d'excution de cycle indiqu. 0x8004020F : Toutes les oprations de lecture n'ont pas PS_E_NOTALLREADSWORKED abouti. 0x80040210 : Toutes les oprations d'criture n'ont pas PS_E_NOTALLWRITESWORKED abouti. 0x80040211 : S7ProSim n'est pas connect S7PS_E_NOTCONNECTED PLCSIM. 0x8004020D : S7ProSim est dj enregistr pour la PS_E_NOTIFICATION_EXIST notification 0x80040209 : S7ProSim n'est pas enregistr pour des PS_E_NOTREGISTERED rappels de S7-PLCSIM. 0x8004020A : S7-PLCSIM n'est pas en mode PS_E_NOTSINGLESCAN d'excution "cycle unique". 0x8004020E : S7-PLCSIM n'est pas en cours PS_E_PLCNOTRUNNING d'excution. PS_E_POWEROFF PS_E_READFAILED PS_E_WRITEFAILED E_FAIL E_INVALID_STATE S_OK STG_E_CANTSAVE 0x80040212 : S7-PLCSIM est hors tension. 0x80040203 : Echec de l'opration de lecture 0x80040204 : Echec de l'opration d'criture 0x80004005 : Erreur non prcise 0x00008002 : Etat incorrect 0x00000000 : Russite 0x80030103 : Enregistrement impossible

S7ProSim V5.4 A5E00992431-01

59

Index
A
AVERAGE_CYCLE_TIME_NDX, 55, 57 RestartSwitchPosition, 52 ScanModeConstants, 53 tagPauseState, 54 Disconnect, 16

B
BeginScanNotify, 13

C
Chargement de la priphrie d'E/S au redmarrage, 25 Chargement d'un fichier .plc enregistr, 35 Codes retour, 59 ColdStart, 52 Paramtrage, 33 Connect, 14 ConnectionError, 42 Constantes, 47 CPURunMode, 48 ImageDataTypeConstants, 49 PauseStateConstants, 50 PointDataTypeConstants, 51 RestartSwitchPosition, 52 ScanModeConstants, 53 tagPauseState, 54 Constantes dfinies, 47 CPURunMode, 48 ImageDataTypeConstants, 49 PauseStateConstants, 50 PointDataTypeConstants, 51 RestartSwitchPosition, 52 ScanModeConstants, 53 tagPauseState, 54 Constantes ScanInfo, 55 Continue, 15 CPURunMode, 48 Ecriture

E
Entre, 39 Mmento (zone de mmoire M), 37 Priphrie d'entre, 38 Valeurs de blocs de donnes (DB), 36 EndScanNotify, 17 Enregistrement du fichier .plc, 31 Etat Pause Paramtrage, 15, 26 Renvoi, 21 Evnements, 41 ConnectionError, 42 PauseStateChanged, 43 PLCSimStateChanged, 44 ScanFinished, 45 ScanModeChanged, 46 ExecuteNmsScan, 18 ExecuteNScans, 19 ExecuteSingleScan, 20 Excution de cycle continue GetScanMode, 22 ScanModeConstants, 53 SetScanMode, 32 EXECUTION_TIME_NDX, 55, 56

G
Gestionnaires d'vnements, 8 GetPauseState, 21 GetScanMode, 22 GetStartUpSwitch, 23 GetState, 24

D
Dfinitions de types, 47 CPURunMode, 48 ImageDataTypeConstants, 49 PauseStateConstants, 50 PointDataTypeConstants, 51

H
HotStart, 52 Paramtrage, 25, 33

S7ProSim V5.4 A5E00992431-01

61

Dfinitions de types HotStartWithSavedValues, 25 WriteDataBlockValue, 36 WriteFlagValue, 37 WriteInputImage, 38 WriteInputPoint, 39 Mthodes d'excution de cycle ExecuteNmsScan, 18 ExecuteNScans, 19 ExecuteSingleScan, 20 Mthodes S7ProSim Pro ReadDataBlockValue, 27 ReadFlagValue, 28 WriteDataBlockValue, 36 WriteFlagValue, 37 MIN_CYCLE_TIME_NDX, 55, 56 Mode Cycle unique ExecuteNmsScan, 18 ExecuteNScans, 19 ExecuteSingleScan, 20 GetScanMode, 22 ScanModeConstants, 53 SetScanMode, 32 Mode d'excution de cycle Paramtrage, 32 Renvoi, 22

I
ImageDataTypeConstants, 49 Introduction, 7 IS_PLC_RUNNING_NDX, 55, 57

L
LARGEST_CYCLE_TIME_NDX, 55, 57 Lecture Mmento (zone de mmoire M), 28 Priphrie de sortie, 29 Sortie, 30 Valeurs de blocs de donnes (DB), 27

M
Mmento Ecriture, 37 Lecture, 28 Mthodes, 11 BeginScanNotify, 13 Connect, 14 Continue, 15 Disconnect, 16 EndScanNotify, 17 ExecuteNmsScan, 18 ExecuteNScans, 19 ExecuteSingleScan, 20 GetPauseState, 21 GetScanMode, 22 GetStartUpSwitch, 23 GetState, 24 HotStartWithSavedValues, 25 Pause, 26 ReadDataBlockValue, 27 ReadFlagValue, 28 ReadOutputImage, 29 ReadOutputPoint, 30 SavePLC, 31 SetScanMode, 32 SetStartUpSwitch, 33 SetState, 34 StartPLCSim, 35

N
Notification de cycle, 13, 17 NUM_OF_SCANINFO_ELEMENTS, 55, 56

O
Objet COM Siemens S7ProSim, ajout au projet, 7

P
Pause, 26 PauseStateChanged, 43 PauseStateConstants, 50 PLCSIM, dmarrage, 35 PLCSimStateChanged, 44 PointDataTypeConstants, 51 Position du commutateur cl Paramtrage, 34 Renvoi, 24

62

S7ProSim V5.4 A5E00992431-01

Remarques / suggestions Position du commutateur de mise en route, 52 Paramtrage, 33 Renvoi, 23 Prsentation, 7 Programmation d'une interface S7ProSim vers S7-PLCSIM, 8 Projet Visual Basic, ajout de S7ProSim, 7 SetState, 34 StartPLCSim, 35

T
tagPauseState, 54 Types numrs, 47 CPURunMode, 48 ImageDataTypeConstants, 49 PauseStateConstants, 50 PointDataTypeConstants, 51 RestartSwitchPosition, 52 ScanModeConstants, 53 tagPauseState, 54

R
ReadDataBlockValue, 27 ReadFlagValue, 28 ReadOutputImage, 29 ReadOutputPoint, 30 Rfrences, 7 Rfrences de projet, 7 RestartSwitchPosition, 52

V
Valeurs de blocs de donnes (DB) Ecriture, 36 Lecture, 27

S
S7-PLCSIM, dmarrage, 25, 35 S7ProSim Ajout un projet VB, 7 Interface vers S7-PLCSIM, programmation, 8 Prsentation, 7 SavePLC, 31 ScanFinished, 45 ScanModeChanged, 46 ScanModeConstants, 53 SetScanMode, 32 SetStartUpSwitch, 33

W
WarmStart, 52 Paramtrage, 33 WriteDataBlockValue, 36 WriteFlagValue, 37 WriteInputImage, 38 WriteInputPoint, 39

Z
Zone M Ecriture, 37 Lecture, 28

S7ProSim V5.4 A5E00992431-01

63