#1 Thu 17 September 2015 09:54
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
[ArcGis 10.X] Connexion RS232
Bonjour,
J'aimerai développer une petite appli qui permette de récupérer et analyser une trame nmea via le port RS232 (un peu comme le faisait GPS Analyst) mais avec beaucoup moins de fonctionnalités. J'ai juste besoin de récupérer les coordonnées X, Y sur un laps de temps défini et d'en faire une moyenne afin de créer un point dans une couche donnée. La programmation se fera en VBA de préférence.
Le problème c'est que je ne sais pas comment me connecter sur le port RS232. Après quelques recherches sur le net j'ai vu que pour Excel on pouvait utiliser MSCOMM de Microsoft Communication Control mais je n'arrive pas à trouver l'équivalent sur ArcGis :S
Il y a bien le "journal" de l'outil GPS déjà intégré dans ArcGis qui permet de stocker des points mais j'ai peur qu'il devienne vite lourd si le GPS fonctionne en continu sur la journée.
Avez vous des pistes ou suggestions ?
Cordialement,
Nicolas
Hors ligne
#2 Thu 17 September 2015 13:27
Re: [ArcGis 10.X] Connexion RS232
Bonjour,
Avant de l'utiliser, il faut ajouter C:\WINDOWS\system32\MSComm32.Ocx (si Windows 32 bits) ou C:\WINDOWS\syswow64\MSComm32.Ocx (si windows 64 bits) dans les références VBA (menu Outils > Références de la fenêtre VBA).
NB: je n'utilise pas les logiciels ESRI et l'interface VBA peut être légèrement différent de celui indiqué.
Si vous installez l'ocx sur le poste, il faut l'enregistrer avec la commande
regsvr32 MSCOMM32.OCX (windows 32 bits)
ou
c:\windows\syswow64\regsvr32 c:\windows\syswow64\MSCOMM32.OCX (windows 64 bits)
Dernière modification par jmarsac (Thu 17 September 2015 13:28)
Jean-Marie
Azimut
Hors ligne
#3 Mon 21 September 2015 11:47
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 10.X] Connexion RS232
Bonjour,
Merci pour votre aide.
J'ai installé l'ocx mais quand je veux l'utiliser dans un formulaire il me dit "Le sujet n'est pas approuvé pour l'action spécifiée.".
Je vais voir comment résoudre ça.
Bonne journée
Nicolas
Hors ligne
#4 Mon 21 September 2015 16:54
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 10.X] Connexion RS232
J'ai résolu le problème en installant Microsoft Visual Basic 2010 Express.
Voici le code pour récupérer la rame nmea :
Code:
Private Sub CommandButton1_Click() Dim mess As String Dim dixsec As Date Dim i As Integer Dim compteur As Integer MSComm1.InBufferCount = 0 MSComm1.CommPort = 1 ' 1 est le n° de port que vous pouvez modifier MSComm1.Settings = "4800,n,8,1" MSComm1.InputMode = comInputModeText If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If mess = "" compteur = 0 dixsec = Now + TimeValue("00:00:10") 'j'ai fait une boucle pour qu'il récupère les données sur 10 secondes While Now < dixsec DoEvents mess = mess & MSComm1.Input Wend MsgBox mess MSComm1.PortOpen = False End Sub
Hors ligne