Précédent   Forum du club des développeurs et IT Pro > Autres langages > Général Visual Basic 6 et VBScript > VB 6 et antérieur
VB 6 et antérieur Visual basic 6 et versions antérieures. Avant de poster -> La FAQ VB6, Les tutoriels VB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/02/2013, 23h04   #1
PatPY23
Invité de passage
 
Homme Patrick
Développeur informatique
Inscription : février 2013
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Patrick
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : février 2013
Messages : 1
Points : 0
Points : 0
Par défaut Commande "sock" pour lire carte controleur

Salutations à tous.
20 ans de FoxPro/visual FoxPro dans le corps, me voila obligé de travailler en VB6.

j'ai une application qui utilise la commande SOCK genre sock.getdata sock.senddata sock.connect sock.state etc.

Ça ressemble à Winsock mais ca n'a pas l'air d'être la même chose...

Ca sert à activer des relais et lire des valeurs a distance sur une carte de controle. il semble que la communication soit comme un port serie virtuel via une connection ethernet. il y a une adresse ip, un port et un numero de port serie

voici le code pour ouvrir

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Command5_Click()
 If sock.State = sckClosed Then ' if the socket is closed
    sock.RemoteHost = Text1.Text ' text1.text condient 192.168.1.199
    sock.RemotePort = Text2.Text ' txt2.text contient 1010
    sock.Connect ' start connection attempt
    StatusBar1.Panels(1).Text = "Connected"
  Else ' if the socket is open
    sock.Close ' close it (user disconnected)
    StatusBar1.Panels(1).Text = "Disconnected"
  End If
End Sub
pour interroger il faut utiliser sock.getdata "02cv1=?;" ou 02 est le port serie en hex, cv est le type de demande, 1 est le bit interrogé. cette commande va me dire si ce bit est a 0 ou 1
il y a une procédure qui commence par Private Sub sock_DataArrival(ByVal bytesTotal As Long) qui semble utilisée quand on fait des sock.getdata et des sock.senddata

question 1: cela dit il quelque chose à quelqu'un?
question 2: les données obtenues à l'intérieur de cette procédure se transferent dans une variable publique, mais la variable est toujours vide si on l'utilise en dehors de cette procedure.
question 3: si j'ai des boutons séparés pour lire une donné, ca va, mais si je met deux sock.getdata de suite dans le même bouton, j'ai erreur de communication... trop rapide? faudrait il un délais? comment?

tout est bienvenu, je suis dans la dêche...
PatPY23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h01.


 
 
 
 
Partenaires

Hébergement Web