Communication PC Automate par liaison ethernet [Résolu]

Flewms 6 Messages postés mercredi 9 avril 2008Date d'inscription 29 juillet 2008 Dernière intervention - 9 avril 2008 à 15:43 - Dernière réponse : cs_bradoc 1 Messages postés lundi 5 septembre 2011Date d'inscription 7 septembre 2011 Dernière intervention
- 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 ...
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
NHenry 14278 Messages postés vendredi 14 mars 2003Date d'inscription 21 octobre 2018 Dernière intervention - 9 avril 2008 à 16:09
3
Merci
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

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de NHenry
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 9 avril 2008 à 20:27
1
Merci
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 #   
Commenter la réponse de cs_casy
Flewms 6 Messages postés mercredi 9 avril 2008Date d'inscription 29 juillet 2008 Dernière intervention - 10 avril 2008 à 09:28
1
Merci
Merci pour les infos, je vais essayer de voir ce que je peux faire.
Commenter la réponse de Flewms
Flewms 6 Messages postés mercredi 9 avril 2008Date d'inscription 29 juillet 2008 Dernière intervention - 11 avril 2008 à 09:05
0
Merci
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
Commenter la réponse de Flewms
NHenry 14278 Messages postés vendredi 14 mars 2003Date d'inscription 21 octobre 2018 Dernière intervention - 11 avril 2008 à 09:18
0
Merci
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
Commenter la réponse de NHenry
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 11 avril 2008 à 11:09
0
Merci
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 #   
Commenter la réponse de cs_casy
NHenry 14278 Messages postés vendredi 14 mars 2003Date d'inscription 21 octobre 2018 Dernière intervention - 11 avril 2008 à 14:18
0
Merci
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
Commenter la réponse de NHenry
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 11 avril 2008 à 14:23
0
Merci
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 #   
Commenter la réponse de cs_casy
NilBlack 14 Messages postés vendredi 6 juin 2008Date d'inscription 24 novembre 2009 Dernière intervention - 6 nov. 2008 à 07:52
0
Merci
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
Commenter la réponse de NilBlack
NHenry 14278 Messages postés vendredi 14 mars 2003Date d'inscription 21 octobre 2018 Dernière intervention - 6 nov. 2008 à 08:36
0
Merci
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 ?

Commenter la réponse de NHenry
cs_bradoc 1 Messages postés lundi 5 septembre 2011Date d'inscription 7 septembre 2011 Dernière intervention - 7 sept. 2011 à 14:50
0
Merci
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.
Commenter la réponse de cs_bradoc

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.