Probleme besoin d'aide SVP!!!!!!! (urgent)

cs_watcher69000 Messages postés 8 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 24 juin 2005 - 16 juin 2005 à 16:14
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 17 juin 2005 à 12:09
Alors voila je dévellope un programme en vb,
mais au moment de l'execution probleme de runtime, lors de ma
connexion!!!! Si quelqu'un peut m'aider ce serait vraiment cool....

Je vous met le code VB que j'ai pondu: Je vous ai mis en rouge la ou se
trouve l'erreur, du moins la ou le runtime se met en route!!!!

Merci d'avance


J'ai une erreur de ce type:
Runtime error!
Program: ....simulateur step7.vshost.exe

This application has request the runtime to terminate it in an unusual
way. Please contact the application's support team for more information



'Déclaration d'une classe de notre form1.vb Simulateur
Public Class Simulateur
'Ajouter une déclaration pour S7ProSim à votre projet.
Private WithEvents S7ProSim As New S7PROSIMLib.S7ProSim
'Gestionnaires d'événements de programme pour les événements S7ProSim . Les
'gestionnaires d'événements sont nécessaires pour chaque événement S7ProSim.
Private Sub Simulateur_PauseStateChanged(ByVal NewState As String)
'Généré lorsqu'un changement d'état Pause/Poursuivre est détecté
End Sub
Private Sub Simulateur_ScanFinished(ByVal Newstate As VariantType)
'Généré lorsqu'un changement d'état Pause/Poursuivre est détecté
End Sub
Private Sub Simulateur_PLCSimStateChanged(ByVal Newstate As String)
'Généré lorsqu'un nouvel état du commutateur AP est détecté
End Sub
Private Sub Simulateur_ConnectionError(ByVal ControlEngine As String, ByVal Errorcode As Long)

MsgBox("connection Error")
'Généré lorsque la connexion à l'automate Control Engine est
'impossible ou en cas d'erreur concernant l'appel de toute méthode S7ProSim
End Sub
Private Sub Simulateur_ScanModeChanged(ByVal Newstate As String)
'Généré lorsqu'un changement de mode d'exécution ScanMode est détecté
End Sub
Private Sub Simulateur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim rep As Integer
Dim monProcess As New Process() 'Dim monProcess As New Process()
rep = MsgBox("Avez vous lancer PLCSIM?", vbYesNo)
If rep = vbNo Then 'lancer les programme que l'on a besoin pour notre application
System.Diagnostics.Process.Start("S7tgtopx.exe") 'Step7
System.Diagnostics.Process.Start("s7wsvapx.exe") 'PLCSIM
End If
Button2.Checked = True
Me.S7ProSim.BeginScanNotify()
Me.S7ProSim.GetState()
End Sub
' code pour le menu quitter

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
QuitterToolStripMenuItem.Click
Dim reponse As Integer
reponse = MsgBox("voulez vous vraiment quitter?", vbYesNo) 'demande de quitter
If reponse = vbYes Then 'boucle de condition lorsque la reponse est oui quitter
End 'permet de quitter la fenetre de notre programme
End If
End Sub
'mise en marche

Private Sub Button1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.CheckedChanged
'Dim plcFile As String
If Button1.Checked = True Then


AxUserControl11.LeedEteinte = 0 'allumer la led marche lors du clique
sur le Start
Button2.Checked = False
'Me.S7ProSim.StartPLCSim(plcFile)
Else
AxUserControl11.LeedEteinte = -1 'éteindre la led marche
End If
End Sub
'arret de la machine; éteint tout

Private Sub Button2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.CheckedChanged
If Button2.Checked = True Then
Button1.Checked = False
Button4.Checked = False
Button5.Checked = False
Mavant.Checked = False
Marriere.Checked = False


AxUserControl11.LeedEteinte = -1 'éteindre la led marche lors du clique
sur Stop


AxUserControl13.LeedEteinte = -1 'eteindre la led du mode manu


AxUserControl14.LeedEteinte = -1 'eteindre la led du mode auto
AxUserControl15.LeedEteinte = -1
AxUserControl16.LeedEteinte = -1
End If
End Sub
'code pour valider le mode choisi

Private Sub ValidMode_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button5.CheckedChanged If Button1.Checked True And Button2.Checked False Then
'mode manuel If Button4.Checked True And Button5.Checked True Then
AxUserControl13.LeedEteinte = 0
Else
AxUserControl13.LeedEteinte = -1
End If If Button4.Checked False And Button5.Checked True Then
AxUserControl14.LeedEteinte = 0
'Mode automatique


If AxUserControl14.LeedEteinte 0 And Button5.Checked True Then


AxUserControl16.LeedEteinte = 0
Else


AxUserControl16.LeedEteinte = -1
End If 'fin du mode automatique
Else
AxUserControl14.LeedEteinte = -1
End If 'fin du mode manuel
End If
End Sub
'choix de la marche

Private Sub Mavant_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Mavant.CheckedChanged If AxUserControl13.LeedEteinte 0 And Mavant.Checked True Then
AxUserControl15.LeedEteinte = 0
Else
AxUserControl15.LeedEteinte = -1
End If
End Sub
'choix de la marche arriere

Private Sub Marriere_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Marriere.CheckedChanged

If
AxUserControl13.LeedEteinte 0 And Mavant.Checked False And
Marriere.Checked = True Then
AxUserControl15.LeedEteinte = 0
Else
AxUserControl15.LeedEteinte = -1
End If
End Sub
'bouton de connection à PLCSIM

Private Sub ConnectionàToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ConnectionàToolStripMenuItem.Click
'Connection à PLCSIM
Me.S7ProSim.Connect()
'Enregistrer S7ProSim pour des rappels de l'automate Control Engine
Me.S7ProSim.BeginScanNotify()
MsgBox("connection établie")

'Définit le type de démarrage (redémarrage, démarrage à chaud
ou démarrage à froid) à utiliser lors de la mise en route de S7-PLCSIM .
Dim Position As RestartSwitchPosition
Me.S7ProSim.SetStartUpSwitch(Position)
'Poursuivre une simulation qui a été suspendue
Me.S7ProSim.Continue()
'Forcer S7-PLCSIM à exécuter des cycles pendant une durée indiquée
Dim MSNumber As Long
MSNumber = 5000
Me.S7ProSim.ExecuteNmsScan(MSNumber)
'Renvoyer l'état Pause en cours de S7-PLCSIM
Dim Pval As PauseStateConstants
Pval = Me.S7ProSim.GetPauseState()
MsgBox(Pval)
'Renvoyer le mode d'exécution de S7-PLCSIM
Dim Pval1 As ScanModeConstants
Pval1 = Me.S7ProSim.GetScanMode()
MsgBox(Pval1)

'Fournit le paramétrage de
mise en route (redémarrage, démarrage à chaud ou démarrage à froid)
pour S7-PLCSIM.
Dim Ppos As RestartSwitchPosition
Ppos = Me.S7ProSim.GetStartUpSwitch()
MsgBox(Ppos)

'Renvoie une chaîne
contenant la position en cours du commutateur à clé de S7-PLCSIM
(position RUN, RUN-P ou STOP)
Dim Pval3 As String
Pval3 = Me.S7ProSim.GetState()
MsgBox(Pval3)

'Définit une valeur
booléenne déterminant si S7-PLCSIM doit charger la périphérie d'E/S
sauvegardée
Dim val As Integer
Me.S7ProSim.HotStartWithSavedValues(val)
MsgBox(val)

'Lit un bit, un octet, un
mot ou un double mot particulier dans la zone de mémoire DB de S7-PLCSIM

Dim BlockNumber As Long
'Numéro de bloc de données à lire. Les valeurs correctes pour
BlockNumber dépendent de la CPU

Dim ByteIndex As Long 'Position d'octet de début dans le bloc
de données à lire. Les valeurs correctes pour ByteIndex dépendent de la
CPU
Dim BitIndex As Long 'Position de bit de début dans le
bloc de données à lire en cas de lecture d'une valeur booléenne
(binaire). Les valeurs correctes pour BitIndex vont de 0 à 7.

Dim DataType As PointDataTypeConstants 'Type de données à lire.
DataType doit avoir l'une des valeurs PointDataTypeConstants.

Dim pData As VariantType 'Pointeur désignant l'emplacement pour
la valeur renvoyée. Vous devez affecter et libérer cette zone de
mémoire dans votre application.
Me.S7ProSim.ReadDataBlockValue(BlockNumber, ByteIndex, BitIndex, DataType, pData)
MsgBox(BlockNumber)
MsgBox(ByteIndex)
MsgBox(BitIndex)
MsgBox(DataType)
MsgBox(pData)

'Lit un bit, un octet, un
mot ou un double mot particulier dans la zone des mémentos (M) de
S7-PLCSIM
Me.S7ProSim.ReadFlagValue(ByteIndex, BitIndex, DataType, pData)
'Lit des éléments dans la périphérie de sortie (zone de mémoire PA) de S7-PLCSIM

Dim StartIndex As Long 'Représente la position d'octet de début
à lire dans la périphérie de sortie. Les valeurs correctes pour
StartIndex dépendent de la CPU.
Dim ElementsToRead As Long
'Représente le nombre d'octets, de mots ou de doubles mots à lire dans
la péripherie de sortie
Dim DataType1 As ImageDataTypeConstants 'Représente le type de données à lire.
Me.S7ProSim.ReadOutputImage(StartIndex, ElementsToRead, DataType1, pData)

'Lit un bit (Boolean), un octet (Byte), un mot (Integer) ou un
double mot (Long) spécifique de la périphérie de sortie (zone PA).
Me.S7ProSim.ReadOutputPoint(ByteIndex, BitIndex, DataType, pData)
'Enregistre les données en cours de l'AP de simulation dans un fichier.

Dim FileName As String 'Nom
du fichier dans lequel enregistrer les données de l'AP de simulation
FileName = ("C:\Documents and Settings\Administrateur\Bureau\stage 2005\autoform")
Me.S7ProSim.SavePLC(FileName)
'Définit le mode d'exécution pour S7-PLCSIM.

Dim NewVal As ScanModeConstants 'Mode d'exécution à définir
pour S7-PLCSIM. Le mode d'exécution doit être l'une des
constantes(ScanModeConstants)
Me.S7ProSim.SetScanMode(NewVal)

'Lance S7-PLCSIM avec le
fichier de simulation AP indiqué (enregistré lors d'un appel précédent
à SavePLC).
Me.S7ProSim.StartPLCSim(FileName)

'Ecrit un bit, un octet, un
mot ou un double mot particulier dans la zone de mémoire DB de
S7-PLCSIM.
Me.S7ProSim.WriteDataBlockValue(BlockNumber, ByteIndex, BitIndex, pData)

'Ecrit un bit, un octet, un
mot ou un double mot particulier dans la zone des mémentos (M) de
S7-PLCSIM.
Me.S7ProSim.WriteFlagValue(ByteIndex, BitIndex, pData)
'Ecrit des éléments dans la périphérie d'entrée (zone de mémoire PE) de S7-PLCSIM
Me.S7ProSim.WriteInputImage(StartIndex, pData)

'Ecrit un bit (Boolean), un octet (Byte), un mot (Integer) ou
un double mot (Long) spécifique du paramètre Data (de type Variant)
dans la périphérie d'entrée (zone PE)
Me.S7ProSim.WriteInputPoint(ByteIndex, BitIndex, pData)
End Sub


Private Sub DéconnectionàS7PLCSIMToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
DéconnectionàS7PLCSIMToolStripMenuItem.Click
Me.S7ProSim.Disconnect() 'Déconnection à PLCSIM
MsgBox("déconnexion établie")

Me.S7ProSim.EndScanNotify()
'Annule l'enregistrement de S7ProSim pour des rappels de l'automate
Control Engine
End Sub


Private Sub MiseenPausedelasimulationToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
MiseenPausedelasimulationToolStripMenuItem.Click
Me.S7ProSim.Pause() 'Suspend une simulation
MsgBox("simulation en pause")
End Sub

Private Sub NumericUpDown1_ValueChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
NumericUpDown1.ValueChanged
Dim PEW304 As Double

PEW304 =
NumericUpDown1.Value 'permet de retourner la valeur saisie dans le
NuméricupDown
If PEW304 <= 10 And PEW304 >= 0 Then 'condition pour faire le bon calcul
Dim val1 As Double

val1
= ((PEW304 * 27648) / 10) 'calcul de la valeur numérique positive
Me.Voie1.Text = val1 'afficher dans la texteBox
Dim myhex1 As String
myhex1 = Hex(val1) 'convertir en hexa


Me.hexadecimal.Text = myhex1 'afficher la valeur en hexadecimal dans la
textBox
Else
Dim val2 As Double

val2
= ((PEW304 * (-27648)) / (-10)) 'calcul de la valeur numérique négative
Me.Voie1.Text = val2 'afficher dans la texteBox
Dim myhex2 As String
myhex2 = Hex(val2) 'convertir en hexa


Me.hexadecimal.Text = myhex2 'afficher la valeur en hexadecimal dans la
textBox
End If
End Sub
End Class

3 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
16 juin 2005 à 19:59
c'est quoi S7ProSim


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
0
cs_watcher69000 Messages postés 8 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 24 juin 2005
17 juin 2005 à 10:01
S7ProSim est un logiciel qui permet de faire une liaison entre un Pc et un automates Siemens Virtuel
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
17 juin 2005 à 12:09
as tu tester si tu l'utilisais comme il faut ???


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
0
Rejoignez-nous