Communication PC Automate par liaison ethernet

Résolu
Flewms Messages postés 6 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 29 juillet 2008 - 9 avril 2008 à 15:43
cs_bradoc Messages postés 1 Date d'inscription lundi 5 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011 - 7 sept. 2011 à 14:50
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

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
9 avril 2008 à 16:09
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
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 avril 2008 à 20:27
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 #   
1
Flewms Messages postés 6 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 29 juillet 2008 1
10 avril 2008 à 09:28
Merci pour les infos, je vais essayer de voir ce que je peux faire.
1
Flewms Messages postés 6 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 29 juillet 2008 1
11 avril 2008 à 09:05
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
11 avril 2008 à 09:18
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 avril 2008 à 11:09
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 #   
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
11 avril 2008 à 14:18
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 avril 2008 à 14:23
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 #   
0
NilBlack Messages postés 14 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 24 novembre 2009
6 nov. 2008 à 07:52
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
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
6 nov. 2008 à 08:36
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 ?

0
cs_bradoc Messages postés 1 Date d'inscription lundi 5 septembre 2011 Statut Membre Dernière intervention 7 septembre 2011
7 sept. 2011 à 14:50
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.
0
Rejoignez-nous