cs_watcher69000
Messages postés8Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention24 juin 2005
-
16 juin 2005 à 16:14
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDerniè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
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 16 juin 2005 à 19:59
c'est quoi S7ProSim
-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 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
-------------------------------------------------