Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Problème Modbus dans application

Résolu !
Accéder à la solution

Tu pourrais fournir le VI ? Histoire de voir s'il n'y a pas quelques choses qui est mal géré.


En écrivant cela, je pense par exemple à un accès lecture/ecriture sur un fichier avec une mauvaise gestion du chemin, car selon la fonction utilisée, le comportement est différent en mode développeur et en mode exécutable.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 11 sur 20
1 768 Visites

OK, vous trouverez en piece jointe les fichier du projet.

 

0 Compliments
Message 12 sur 20
1 765 Visites

Aie, vu la taille de ton VI principal, ça va être compliqué de t'aider à partir du code :s...


Je suis étonné que tu fournisses un code aussi brouillon, tu me semblais avoir les compétences suffisantes pour faire du code "propre".


Là, c'est très compliquer à analyser. A minima, il faudrait au moins que tous tes sous-vi est une icone explicite, plutot que l'icone par défaut avec 1,2,3,......

L'autre point qui me gène est l'absence de gestion d'erreur, et, pour la recherche d'un bug dans le cas de la génération d'un exécutable, cela va être compliqué de trouver une solution.

 

Je te conseillerais de faire par élimination en mettant des indicateurs dans différentes zones de ton programme pour vérifier que celui-ci ne reste pas bloquer dans un cas précis te donnant l'impression que c'est la liaison Modbus le pb.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 13 sur 20
1 763 Visites

Les variables modbus ne sont lu que dans la boucles "Surveillance des communications réseaux" pour ensuite affecté des variables locales à l'appli. Donc si le modbus ne fonctionne pas, cela n'empeche pas le graph d'état (boucle principale) de tourner correctement. J'ai déjà fais le test avec des indicateurs pour vérifiez que le graph d'état se déroule bien et c'est le cas, c'est donc la liaison modbus qui pose problème...

 

Qu'est ce que tu veux dire par code brouillon et propre ? c'est juste un graph d'état qui se déroule, réceptionne, traite et enregistre des données, plus quelques fonctionnalité à coté.

 

Et pour ce qui est de la gestion d'erreur, j'ai réfléchis aux erreur qui pourrais intervenir et j'ai fais ce qu'il fallais pour qu'elle n'arrive pas, ce qui fais que la seule erreur que je n'arrive pas à traiter est le sujet de cette conversation...

0 Compliments
Message 14 sur 20
1 761 Visites

Quand je parle de code propre, c'est en référence aux règles de bases de labview, que l'on ne cesse de rappeler sur ce forum.

- Bien documenter son code

- Ne pas avoir un VI ne tenant pas sur un écran

- Ne pas suivre le principe de gestion de flux de données

- Avoir plusieurs boucles while sur un programme sans aucune gestion de la séquence de démarrage.


Pour plus d'informations, tu peux regarder ce lien (http://www.ni.com/newsletter/51735/fr/), et le labview CORE 1 qui t'apportera pas mal d'informations (http://sine.ni.com/tacs/app/overview/p/ap/of/lang/fr/pg/1/sn/n24:12725/id/1582/).

Sinon pour lui faire un peu de pub, meme si ca fait longtemps qu'on l' a pas vu sur le forum, le livre de luc (https://decibel.ni.com/content/blogs/Luc_Desruelle/2015/09/24/les-10-commandements-du-d%C3%A9veloppe...)


Si j'ai un peu de temps dnas l'après midi, je regarde la fonction Modbus.

 

Bon courage,

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 15 sur 20
1 758 Visites

Bonjour bonjour,

Désolé d'insister, mais je voulais savoir si vous aviez pu jeterun oeil à mon modbus ?

De mon coté, j'ai pu voir que les variables modbus ne me retournais pas d'erreur mais la mise en garde suivante :

Code : -1950679034

Source : Shared Variable in Tech-Scan.vi<APPEND>

This error or warning occured while reading the following Shared Varibale:

\\Poste de travail\Modbus\Diamètre cathode

\\localhost\Modbus\Diamètre cathode

L'état étant indiquer par une led verte, mon programme tourne bien mais je ne récupère que des zéro dans mes variables...

 

Cordialement,

Nathan

0 Compliments
Message 16 sur 20
1 742 Visites

Bonjour Nathan, je viens de lire le post, et je ne suis pas convaincu que le problème soit le protocole Modbus. Je pense à la gestion de l'erreur.

 

> non, je n'ai pas regardé ton code. (je pourrai le regarder par la suite, mais j'aimerai que tu réalises quelques tests avant). J'ai déjà lu de nombreux post modbus avec des problèmes de version de Windows, mais à la fin cela n'a jamais été le problème. Alors je me permets de te demander de vérifier certains points, SVP

Pour rappel, tu es en modbus TCP (réseau, API TCP) et pas en modbus série (API VISA)

 

> tu utilises le tookit Modbus de NI? lequel? (en objet OOP ou l'ancien)

> version de l'OS Windows ? (Win7) 32bits ou 64?

> test ping validé

> le serveur modbus est l'automate (pas de firewall sur port 502) et le client le soft LabVIEW sous Windows, mais tu peux désactiver le firewall de Windows pour test

> Je te propose de faire vi exemple "simpliste" : Open TCP + Read Input register + close avec affichage du code cluster d’erreur

par exemple

ModBus+TCP+exemple+Mesulog+Luc+Desruelle.png

 

Tester l'EXE sur qui fonctionne avec labVIEW développement  : valider que cela fonctionne sans erreur

Tester l'EXE sur le PC sur lequel l'application ne fonctionne et sur plusieurs PC pour comparer

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 17 sur 20
1 728 Visites
Solution
Accepté par l'auteur du sujet NathV74

Bonjour à tous,

 

j'ai réussi à résoudre mon problème, pour se faire j'ai transféré ma librairie Modbus sur le compactRIO en incluant le module IO Modbus dans la cible.

J'ai également du désactivé le dépoiement des bibliothèque partagé au démarrage de l'appli PC, qui créait un conflit.

Une fois tous ça fais, aucun problème n'est à signaler !

 

Je vous remercie pour votre aide et vous souhaite à tous une bonne continuation.

Cordialement,

Nathan

Message 18 sur 20
1 725 Visites

Salut 🙂
Tu as raison, j'étais sur un "autre truc", et depuis 2 mois je n'avais plus le temps de venir sur le forum.
Je repasse... et je tombe sur ce post... 
très sympa pour  le livre "LabVIEW" merci beacoup de faire de la pub 🙂
A+
Luc
Michael.C a écrit :

Sinon pour lui faire un peu de pub, meme si ca fait longtemps qu'on l' a pas vu sur le forum, le livre de luc (https://decibel.ni.com/content/blogs/Luc_Desruelle/2015/09/24/les-10-commandements-du-d%C3%A9veloppe...)


 

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 19 sur 20
1 717 Visites

Salut Nathan,

"Une fois tous ça fais, aucun problème n'est à signaler !" : SUPER!

Mais...  au début de ton post tu parles d'une machine de développement puis d'une distribution sur une machine seven.

Maintenanty c'est un "un cRIO"? je suis perdu, du RT et plus OS Win7?

 

par contre, tu n'utilises pas un toolkit LabVIEW modbus NI mais le module IO modbus (distribution sous RT de la libraire de variable). Cela explique ton erreur sur les variables partagées.

 

je suis content que cela fonctionne.

A+

 

Je vous remercie pour votre aide et vous souhaite à tous une bonne continuation.

Cordialement,

Nathan

 


NathV74 a écrit :

j'ai réussi à résoudre mon problème, pour se faire j'ai transféré ma librairie Modbus sur le compactRIO en incluant le module IO Modbus dans la cible.

J'ai également du désactivé le dépoiement des bibliothèque partagé au démarrage de l'appli PC, qui créait un conflit.

Une fois tous ça fais, aucun problème n'est à signaler !

 Nathan


 

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 20 sur 20
1 714 Visites