Communication PC Automate par liaison ethernet [Résolu]

Signaler
Messages postés
6
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
29 juillet 2008
-
Messages postés
1
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
7 septembre 2011
-
Dans le cadre de mon stage de fin d'étude (DUT GEII), je dois réaliser la communication entre un PC et un Automate Siemens S7-300 via la liaison ethernet et tout cela en visual basic.
Sachant programmer en C , et n'ayant aucune connaissance du language Visual Basic, pourriez vous me mettre sur la voie de la solution s'il vous plait .
Je vous en remercie d'avance.
Amis développeurs ...

11 réponses

Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonjour

En .NET, il faut utiliser les classes se trouvant dans l'espace de nom : System.Net.Sockets
Pour ton utilisation, TcpClient devrait suffire.

Pour le reste, inspires-tou de ce qui est présent sur le site.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
A vérifier si Siemens ne te fournie pas des librairy propriétaires pour dialoguer avec ta CPU même via Ethernet.

JE n'ai jamais utiliser Ethernet avec le S7-300, je n'ai fais que du MPI avec.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Messages postés
6
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
29 juillet 2008
1
Merci pour les infos, je vais essayer de voir ce que je peux faire.
Messages postés
6
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
29 juillet 2008
1
Après mettre un peu plus penché sur le sujet, j'ai remarqué qu'il fallait en VB que j'utilise le contrôle WinSock.

J'ai compris la pluspars des lignes de code sauf une donnée que je ne sais pas comment interpréter malgret la documentation qui me la décrit sous "Identificateur de la demande de connection entrante".

Il s'agit de la variable requestID qui se trouve dans la fonction suivante :

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    On Error Resume Next
    'client tries to connect to the socket
   
    'check if a connection is allready established
    If Winsock1.State <> sckClosed Then Winsock1.Close
   
    'Accept the clientrequest
    Winsock1.Accept requestID
   
    'set label caption
    Label2.Caption = "connected"
    Label2.BackColor = ColorConstants.vbGreen
End Sub

Pouvez vous me dire à quoi correspond cette variable.

D'autre part, j'aurais aimé savoir si la valeur 2000 dans la ligne de code suivante peut être prise au hazard du moment qu'elle correspond à la valeur entrée dans le programme step7 de l'automate:

 'set port for communication to 2000 (configured in step7)
    Winsock1.LocalPort = 2000

S'agit il du port de communication ? Où est ce que je le change dans le code S7 ?

Merci d'avance
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonjour

1) Déjà tu bosse en VB6, alors pourquoi mettre dans la section .NET ?
2) Ensuite, le code que tu nous montre c'est pour faire un Serveur, et non un client TCP.
3) RequestID est un Nombre (définit par le système) qui lui permet de savoir de quelle demande de connexion on cause (il peut y en avoir plusieurs en un temps très court).
4) 2000 c'est le numéro du port de communication utilisé (par le serveur) pour savoir ce qu'il doit écouter, il y a 65535 ports disponibles, mais certains sont déjà réservée (80 : HTTP par exemple).
5) Tu parles de Step7, c'est bien, mais on n'est pas devins, on ignore de quoi tu parles là.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
pour 2000, il s'agit effectivement du numéro de port utilisé pour la communication

Tu peux mettre celui que tu veux si tu as la possibilité de le modifier dans la config de ta cpu, sinon il faudra mettre celui-là.

Regarde dans Step7, dans les propriétés de ta CPU si tu as la possibilité de modifier la configuration des paramètres de communication de la cpu et notamment le port utilisé.
Il faut que tu ais le même entre ta cpu et ton logiciel.

NHenry te les autres > STEP7 est le logiciel de SIEMENS qui permet de programmer les automates SIEMENS de la gamme S7-300. Il permet non seulement de configurer l'automate et les bloc E/S mais aussi de faire le programme qui va tourner dans l'automate, assure le transfert de ce programme et permet tout ce qui est visualisation, deboggage, maintenance de l'automate.

C'est en gros la "console" de l'automate.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonjour

Merci de la précision Casy.

Donc j'en déduis que je suis un peu à la ramasse sur ce sujet que tu a l'air de mieux connaitre. Je te laisse donc voir le problème (je reste à l'écoute par les alertes mails).

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
ouais, sauf que j'ai fait très peu de Step7 et jamais en Ethernet.
De plus ça fait 3 ans que je n'ai plus la possibilité d'en faire (j'ai changé de boite).

Donc j'ai quelques très petites connaissances, mais je suis loin de maitriser

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Messages postés
14
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
24 novembre 2009

Bonjour j'arrive pas encore a regler mon probleme celui de recuperer les données provenant de l'automate et les stockées dans une base de donnée relationnelle svp aidé moi
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonjour,

[../auteur/NILBLACK/1412809.aspx NilBlack], Base de données SQL, c'est vague (Sql Server, MySql, Oracle, Access, ...).
Ensuite dis-nous où tu bloque.
Est-ce toi qui m'a contacté par mail ?

Messages postés
1
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
7 septembre 2011

bonjours s'il vous plait est ce que je peut avoir un plan détaillé de ce proget? car moi aussi je travaille dessus et je suis un peut en retard.