le 10-15-2014 07:30 AM
Bonjour,
je souhaite établir une communication modbus entre un PC et des centrales de mesure avec LabVIEW 2014. (Voir schéma du réseau)
Mes centrales de mesure sont connectées à un réseau série RS485 en MODBUS RTU. Ce réseau série est relié à une passerelle ethernet/série.
Comment, à partir de la bibliothèque modbus de labview 2014, puis-je dialoguer en modbus avec mes centrales de mesures en passant par ma passerelle ethernet/série ?
Merci d'avance.
Résolu ! Accéder à la solution.
le 10-16-2014 04:24 AM
Ma question peut aussi se résumer par : Comment changer le MBAP Header de la trame modbus TCP/IP à partir de la bibliothèque Modbus sur LabVIEW 2014 ?
le 10-16-2014 04:56 AM
Salut,
Je vois une entrée MBAP header sur certains VIs de la bibliothèque (http://www.ni.com/example/29756/en/)
Jette un oeil aux exemples surtout
Mathieu
le 10-16-2014 05:15 AM
Oui je suis au courant il s'agit de la bibliothèque Modbus Open source téléchargeable via l'adresse que tu m'as donné. Mais je veux faire cela avec la bibliothèque Modbus de labview 2014 (car ça m'éviterai de déployer "à la main" une bibliothèque qui n'est pas dans le package LabVIEW de base...)
le 10-16-2014 06:27 AM
Je ne dispose pas de LV2014 sur ma machine, donc je ne pourrai pas te répondre quant à la bibliothèque en question.
Par contre, si tu ajoutes la LLB du lien fourni à ton projet, certes tu n'auras pas la palette, mais tu n'auras à mon avis pas de soucis de déployement. Il ne semble pas y avoir de dépendance à installer en tant que telle
Mathieu
le 10-16-2014 07:52 AM
Bonjour, j'ai une question, avec la passerelle Ethernet/série as-tu un driver qui créer un port COM série virtuel ou pas?
En effet j'ai un convertisseur MOXA Ethernet / RS485, qui me permet de raccorder des devices RS485, à mon PC via un port Ethernet. Le convertisseur créer un port COM virtuel, qui est compatible VISA, et donc le convertisseur est transparent pour moi. Il est vu comme un port COM.
Dans le code LabVIEW, via la bibliothéque ModBus Serie mode RTU, j'utilise dans le port COM le port virtuel, pas de problème, c'est transparent.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 10-16-2014 07:52 AM
Bonjour, j'ai une question, avec la passerelle Ethernet/série as-tu un driver qui créer un port COM série virtuel ou pas?
En effet j'ai un convertisseur MOXA Ethernet / RS485, qui me permet de raccorder des devices RS485, à mon PC via un port Ethernet. Le convertisseur créer un port COM virtuel, qui est compatible VISA, et donc le convertisseur est transparent pour moi. Il est vu comme un port COM.
Dans le code LabVIEW, via la bibliothéque ModBus Serie mode RTU, j'utilise dans le port COM le port virtuel, pas de problème, c'est transparent.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 10-16-2014 11:19 AM
Bonjour Luc,
malheureusement non.
Après avoir étudié de près la palette modbus de labview 2014, il est impossible de changer le MBAP header.
Donc il faut utiliser la bibliothèqué Modbus mentionnée par Mathieu.
le 10-20-2014 04:02 AM
Bonjour tout le monde,
J'arrive peut-être un peu après la bataille, mais bon…
Un petit point sur le protocole Modbus juste pour être sûr d’être tous d'accord. L'implémentation entre série et TCP diffère, notamment sur l'adressage des appareils (n° d'esclave pour série / IP du serveur pour Ethernet), cohérence de la trame ( Checksum pour série / inclue dans TCP/IP pour Ethernet), etc… tout ça pour rappeler que la trame Modbus envoyer sur un réseau série est différente de la trame modbus envoyée sur un réseau Eternet.
Note en aparté : C'est une des raisons qui explique qu'à SAPHIR nous avons 2 toolkits différents pour le série et pour le TCP.
Malgré c'est différences, il est tout à fait possible de réaliser une communication Modbus entre un réseau Ethernet et un réseau série. Pour cela il faut bien une passerelle, mais une passerelle ModBus. La passerelle va permettre la "traduction" de la trame Ethernet en trame série. C'est elle que l'on devra configurer pour savoir si la "traduction" doit se faire en RTU ou en ASCII par exemple. Concernant l'adressage de l'esclave, le protocole Modbus a tout prévu puisque dans la trame TCP il est possible de définir l'esclave adressé au travers du réseau Ethernet.
En résumé pour adresser les esclaves (série) depuis le PC en Ethernet on fait comme si l’on adressait des serveurs en Modbus sur Ethernet et la passerelle fait le job.
Le cas du convertisseur Ethernet/Série est différent, puisqu'il va "obliger" d'envoyer des trames série comme l'indique très justement Luc.
Dans le cas présent, j'aurais plutôt tendance à implémenter une passerelle Modbus qu'un convertisseur…
Bonne semaine à tous.
Olivier
le 09-11-2015 02:52 AM
witwit65 a écrit :
Bonjour Luc,
malheureusement non.
Après avoir étudié de près la palette modbus de labview 2014, il est impossible de changer le MBAP header.
Donc il faut utiliser la bibliothèqué Modbus mentionnée par Mathieu.
(http://www.ni.com/example/29756/en/)
salut à tous, après quelques mois...
j'ai eu le même problème, et j'ai été obligé de faire du "Modbus RTU over TCP". Donc une trame protocole RTU mais sur une couche de transport TCP et pas série.
Je ne sais pas si cela va répondre à ta question "witwit65" car il faut reconnaître que c'est un peu "particulier". Mais j'ai le sentiment que oui.
La nouvelle API Modbus (qui est aussi distribuée avec LV2014 si RT ou DCS) est personnalisable dans une certaine limite. Il est possible de modifier le vi d'initialisation des classes, et ainsi appeller la classe "TCP" avec un protocole RTU (normalement IP).
Des infos en plus sur les liens :
https://decibel.ni.com/content/message/114904#114904
il est aussi possible de faire du Modbus TCP mais avec une Gateway modbus, mais c'est un autre sujet.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group