PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Migration code VB.NET en windev - utilisation librairie S7.net
Migration code VB.NET en windev - utilisation librairie S7.net
Débuté par ROMULUS001, 21 juin 2016 16:08 - 4 réponses
Membre enregistré
352 messages
Popularité : +12 (18 votes)
Posté le 21 juin 2016 - 16:08
Bonjour,

J'ai réussi à écrire un projet en vb.net, par contre, je n'arrive pas à le migrer en windev.
Dans mon projet, je fais appel à cette librairie : https://www.dropbox.com/s/69dffveoxqyh2b2/S7.Net.dll…

Voici le code que j'aimerais retranscrire en windev :

Dim MonPLC As New Plc
MonPLC = New Plc(CpuType.S7400, "xxx.xxx.x.x", 0, 3)
Dim l_erreurPLC As S7.Net.ErrorCode = MonPLC.Open()
Select Case l_erreurPLC
Case ErrorCode.NoError
MsgBox("ça marche!!!")
Case ErrorCode.ConnectionError
MsgBox("Erreur de connexion")
Case ErrorCode.IPAddressNotAvailable
MsgBox("Erreur d'adresse IP non disponible")
Case ErrorCode.WrongCPU_Type
MsgBox("Erreur de type de CPU")
Case ErrorCode.WrongVarFormat
MsgBox("Erreur de format")
Case Else
MsgBox("Erreur inconnue")
End Select


En wlangage, le code suivant :
gf_PLC est un S7.Net.Plc dynamique
gf_PLC=allouer un S7.Net.Plc(20,"xxx.xxx.x.x", 0, 3)


ne fonction pas, j'ai une erreur de syntaxe entre Net et PLC.
Merci
PS : en .NET, quand je survole avec la souris la valeur de l'énuméré CpuType.S7400, je vois que ça correspond à la valeur 20
Membre enregistré
70 messages
Popularité : +4 (4 votes)
Posté le 21 juin 2016 - 17:39
J'aurais tenté un truc comme sa, mais après test ça ne fonctionne pas. Mais je pense que c'est par la qu'il faut creuser

ip est une chaîne UNICODE = "xxx.xxx.x.x"
rack est un entier sur 2 octets = 0
slot est un entier sur 2 octets = 3
name est une chaîne UNICODE
monObjet est un objet dynamique

// Variable qui récupére le code erreur
l_erreurPLC est un ErrorCode dynamique

QUAND EXCEPTION DANS
gf_PLC est un Plc dynamique
gf_PLC = allouer un Plc(CpuType::S7400,ip,rack,slot,name,monObjet)
l_erreurPLC = gf_PLC.open()
SELON l_erreurPLC
CAS ErrorCode::NoError :
Info("ça marche!!!")
CAS ErrorCode::ConnectionError :
Info("Erreur de connexion")
CAS ErrorCode::IPAddressNotAvailable :
Info("Erreur d'adresse IP non disponible")
CAS ErrorCode::WrongCPU_Type :
Info("Erreur de type de CPU")
CAS ErrorCode::WrongVarFormat:
Info("Erreur de format")
AUTRE CAS
Info("Erreur inconnue")
FIN
FAIRE
Erreur(ExceptionInfo(errMessage))
FIN
Message modifié, 21 juin 2016 - 17:43
Membre enregistré
3 messages
Posté le 14 août 2017 - 15:12
Voici un bout de code permettant de se connecter à un automate :)

//Connexion automate-----------------------------------------------------------------
clCPlc est un Plc <- new Plc(CpuType.S7300,sIP,0,2) //Connexion automate
nErreur = clCPlc.open() //si res = 0 alors connecté
Info_Erreur(nErreur)
//------------------------------------------------------------------------------------


Bonne journée !
Posté le 20 janvier 2018 - 05:37
Bonjour Geoffrey pourrais-t'on échangé un peu plus au niveau de l'utilisation du s7.net avec windev, car je pédale ,dans la semoule depuis un moment ... et le bout de code que tu à noté est erroné chez moi, dans l'attente d'échangé avec vous cdlt Mr poncin. :(
Posté le 14 mars 2023 - 14:22
Effectivement je galère un peu moi aussi.

cela ne fonctionne pas.