Les moyens de communication avec le M3

Modérateurs : ramses, Balajol, monteric, j2c

Avatar du membre
Pasquall
Modérateur
Modérateur
Messages : 264
Enregistré le : mer. avr. 09, 2008 20:04 pm
Localisation : Vizille (38)
Contact :

Message par Pasquall »

Bonjour

Merci bien pour ces compliment.

Alors j'ai jeté un coup d'oeil à ton fichier SmartApp et j'ai trouvé ton erreur. Alors pour le coup je ne vais pas te faire de fichier corriger, mais t'expliquer ou est ton erreur, et comment la corrigé, ce sera plus formateur.

Ton principal problème se situe au niveau des scripts d'évènement de l'écran, et sur la compréhension du mécanisme des trames (ce qui ne me surprend pas outre mesure, c'est un point qui n'est pas aisé à bien assimiler)

Alors tout d'abord le script d'initialisation de l'écran :

Code : Tout sélectionner

FRAMES.TCPMB_WRITE_1_IN_REG_FROM_AD12.SEND()
FRAMES.TCPMB_WRITE_1_IN_REG_FROM_AD12_RET.RECEIVE()
FRAMES.TCPMB_WRITE_1_IN_REG_FROM_AD13.SEND()
FRAMES.TCPMB_WRITE_1_IN_REG_FROM_AD13_RET.RECEIVE()
FRAMES.TCPMB_READ_1_OUT_REG_FROM_AD14.SEND()
FRAMES.TCPMB_READ_1_OUT_REG_FROM_AD14_RET.RECEIVE()
Alors le script est bien tout est cohérents, d'un point de vue sémantique, mais pas du point de vue logique. En effet, tes 4 premières lignes font des écriture de valeur vers l'automate (les symboles de trames commencent par TCPMB_WRITE, ce qui veux dire "TCP Modbus Ecrire" (j'ai fait en sorte que les nom générés automatiquement soient représentatif de la fonction)

Dans le cas de l'initialisation de la supervision il faut absolument éviter d'écrire car les valeurs qu'a mémorisé la supervision ne sont pas à l'image de ce qu'il y a dans le M3, ce qui fait qu'avec ce que tu as écrit, tu remet systématiquement les entrée ETH du M3 à 0, ce n'est pas grave en soit, mais si tu t'en servait comme valeur de consigne, ca devient un vrai problème puisque qu'a chaque démarrage de la supervision tu perdrai ce qui est dans la mémoire du M3. Ces 4 premières lignes sont donc bonnes mais pas au bon endroit, on y reviendra.
Comme je l'expliquai juste avant, lors de l'initialisation les valeur de la supervision ne sont pas cohérents avec celle dans le M3, et il va donc falloir les lire. Le code qui effectue ceci serai le suivant :

Code : Tout sélectionner

FRAMES.TCPMB_READ_1_IN_REG_FROM_AD12.SEND()
FRAMES.TCPMB_READ_1_IN_REG_FROM_AD12_RET.RECEIVE()
FRAMES.TCPMB_READ_1_IN_REG_FROM_AD13.SEND()
FRAMES.TCPMB_READ_1_IN_REG_FROM_AD13_RET.RECEIVE()
Mais attention, il faut avoir crée les trames avant!!! (elle ne sont pas crées dans ton fichier). Je te laisse le soin de passer par l'assistant de création de trames pour cela.

Ensuite les 2 dernières lignes font une lecture d'une sortie ETH (je rappel qu'un échange complet avec le M3 est composé d'un envoie et d'une réception) Le faire a l'initialisation est une bonne chose, mais le problème c'est que la sortie ne sera plus jamais lue une fois la supervision initialisé alors que le but est bien sur de voir la sortie évoluer. Ces deux lignes la doivent être copié dans le script d'un timer afin d'être exécuté périodiquement et donc de lire régulièrement les sorties Ethernet du M3. Avec ceci, ton problème de mise a jour du compteur devrai être résolu.

Passons maintenant au script d'évènement de l'écran, ou la il y un truc plus embêtant:

Code : Tout sélectionner

FRAMES.TCPMB_WRITE_2_IN_REG_FROM_AD12.SEND()
FRAMES.TCPMB_READ_1_OUT_REG_FROM_AD14.SEND()
La première ligne envoie l'écriture de de la première entrée ethernet du M3, c'est très bien, et pour preuve ta commande marche, mais par contre il n'y a pas de ligne de réception et ca c'est MAL. Je ne vais pas entrée dans les détails de de fonctionnement pour faire simple disons que SmartApp va recevoir une réponse du M3, qui ne sera jamais traiter et qui restera à polluer le mécanisme. Lorsqu'il y à un SEND(), il faut TOUJOURS un RECEIVE() ensuite, et pas n'importe le quel (chose que tu as bien faite dans le script d'initialisation, je pense qu'en relisant tu comprendra tout seul)

La deuxième ligne n'a rien à faire ici, mais avec le coup de timer que j'ai expliqué avant elle n'a plus de raison d'être. Par contre je souhaite juste attirer ton attention sur un point. Ta première ligne marche bien malgré l'absence de réception du retour du M3, car lorsque tu envoie une commande d'écriture du M3, la valeur que tu veux écrire est contenue dans la trame, mais par contre, dans le cas d'une lecture, la valeur est contenue dans la réponse du M3, et donc si tu ne traite jamais la réponse, la valeur de la supervision n'est jamais mise à jour même si le M3 à répondu.

Bon j'espère qu'avec tout cas, tu vas mieux comprendre le "pourquoi du comment" ca marchait pas. Si tu as d'autres questions, n'hésite pas.

Note que je remettrait ce message dans le sujet adéquate, une fois que le sujet sera revenu dans la partie M3 (il est partis dans la catégorie "Régulation" sans que je sache pourquoi)

Pascal.
En Normandie, ça vole entre deux pluies
En Isère ça vole du tonnerre!!!

Expert en M3 (enfin programmation M3 ^^)
Site de SmartApp

jdtschirren
Newbie
Newbie
Messages : 11
Enregistré le : mar. sept. 28, 2010 9:07 am
Localisation : Neuchatel, Suisse

Message par jdtschirren »

Hello Pascal,

Merci pour ta réponse immédiate. J'ai tenté de suivre tes instructions dès que j'ai trouvé un moment pour corriger mon fichier... mais il y a encore des problèmes.... Comme je n'ai en ce moment pas trop de temps à consacrer à cela j'ai laissé de côté les essais. Mais dès que je le peut je vais de nouveau essayer de corriger le tir. Je pense que je vais t'envoyer mes fichier corrigés avec des fautes résiduelles et tu me diras ce qui doit être encore être modifié.

En attendant je te souhaite bonne semaine et merci encore.

Jean-Denis

Avatar du membre
Pasquall
Modérateur
Modérateur
Messages : 264
Enregistré le : mer. avr. 09, 2008 20:04 pm
Localisation : Vizille (38)
Contact :

Message par Pasquall »

Salut

Ca me va, j'attends tes fichiers. :thup:
En Normandie, ça vole entre deux pluies
En Isère ça vole du tonnerre!!!

Expert en M3 (enfin programmation M3 ^^)
Site de SmartApp

jdtschirren
Newbie
Newbie
Messages : 11
Enregistré le : mar. sept. 28, 2010 9:07 am
Localisation : Neuchatel, Suisse

Message par jdtschirren »

Hello Pascal,

Voilà un fichier Smart qui fonctionne déjà bien mieux.... mais ce qui foire encore c'est la gestion de la sortie ETH attribuée au registre 14. Dès que je veux y mettre une lecture de trame ça ne marche plus.
Je t'ai mis les 2 fichiers. Le fichier Essai_OK marche bien mais sans retour de la valeur du compteur. Le fichier Essai_KO me donne donne des erreurs et bloque en partie ce qui marchait.

Merci de me guider encore.

Jean-Denis

jdtschirren
Newbie
Newbie
Messages : 11
Enregistré le : mar. sept. 28, 2010 9:07 am
Localisation : Neuchatel, Suisse

Message par jdtschirren »

A voir mes fichiers ne passent pas, pourtant le fomat .zip est supporté ????
JDT

jdtschirren
Newbie
Newbie
Messages : 11
Enregistré le : mar. sept. 28, 2010 9:07 am
Localisation : Neuchatel, Suisse

Message par jdtschirren »

Hello Pascal

Comme mon fichier Smart.zip qui a une taille de 13Ko ne passe toujours pas... est-ce que je peut te l'envoyer par mail ?

Tu peut me répondre par mon adresse mail qui est la suivante:

[edit] Pasquall : supression du mail en clair[/edit]

Merci et +

JDT

syrinx
Newbie
Newbie
Messages : 12
Enregistré le : dim. août 09, 2009 20:29 pm
Localisation : Roumanie

Message par syrinx »

Bonjour Pasquall,

Est-ce que SmartApp peut afficher la supervision à travers le web?

L'idée de se connecter à la supervision depuis n'importe où en déplacement. Y a t'il des limites?

Merci.

Avatar du membre
Pasquall
Modérateur
Modérateur
Messages : 264
Enregistré le : mer. avr. 09, 2008 20:04 pm
Localisation : Vizille (38)
Contact :

Message par Pasquall »

Salut

Oui c'est possible mais uniquement en utilisant une extension XN05, et pour ceux qui ont une adresse IP fixe (dégroupage total ou option selon les opérateurs). Bien entendu il faut avoir un PC ou SmartApp est installé, et avoir fait la configuration réseau nécessaire pour autoriser les connexion distantes vers l'extension XN05.
Lors de mes tests, le plus éloigné que j'ai fait est de piloter le M3 d'une personne en Belgique depuis mon domicile à Grenoble, et j'ai fait plus régulièrement la connexion vers mon domicile, depuis celui de mes parents dans l'Oise.
En Normandie, ça vole entre deux pluies
En Isère ça vole du tonnerre!!!

Expert en M3 (enfin programmation M3 ^^)
Site de SmartApp

YVES238
Newbie
Newbie
Messages : 23
Enregistré le : sam. nov. 03, 2007 23:19 pm
Localisation : PARIS 75

Message par YVES238 »

Bonjour tous,

Une solution peut etre moins informatique mais tres efficace et que j utilise depuis un moment ,est de se connecter à distance via un logiciel d acces a distance sur le pc resté à la maison qui tourne avec smartapp ( Logmein par exemple ,gratuit et tres pratique ( pas de pub))
Tu peux ainsi de n importe quel pc te connecter via le net et faire tout ce que tu veux sur ton pc comme si tu etais chez toi

Avatar du membre
thermitch
Maitre Solaire
Maitre Solaire
Messages : 4065
Enregistré le : dim. mars 16, 2008 13:45 pm
Localisation : Marcillé-Robert (35)
Contact :

Message par thermitch »

[quote="syrinx"]
Est-ce que SmartApp peut afficher la supervision à travers le web?...[/quote]
Bonjour Pasquall, Syrinx, tous :grin:

Dans la mesure où la demande n'est que d'afficher et qu'un PC est de toute façon branché au M3 : pas besoin de XN05.

IP fixe à la box et au PC et logiciel de prise en main à distance du PC (type VNC par exemple) suffisent.
Attention dans les deux cas, ça veut dire que le monde entier a une porte ouverte vers le PC, voir vers l'ensemble du réseau local.
Question de sécurité à traiter suivant son niveau de parano, au minimum par un firewall logiciel ;-)

syrinx
Newbie
Newbie
Messages : 12
Enregistré le : dim. août 09, 2009 20:29 pm
Localisation : Roumanie

Message par syrinx »

J'ai mal explicité ma question.

L'idée de ne pas installer de logiciel sur le PC de l’utilisateur distant (donc pas de SmartApp, ou de VNC), mais d'utiliser Firefox ou Explorer.

J'ai l'impression qu'il n'y a que Web Server de Crouzet qui peut faire ça, non?

YVES238
Newbie
Newbie
Messages : 23
Enregistré le : sam. nov. 03, 2007 23:19 pm
Localisation : PARIS 75

Message par YVES238 »

syrinx

L avantage de logmein est qu il est necessaire d installer le logiciel que sur le pc auquel tu veux te connecter , tu peux ensuite de n importe quel autre pc via
internet explorer ou autre, te connecter au site logmein avec ton identifiant et sans installation de logiciel tu seras connecté a ton pc maison

Avatar du membre
Pasquall
Modérateur
Modérateur
Messages : 264
Enregistré le : mer. avr. 09, 2008 20:04 pm
Localisation : Vizille (38)
Contact :

Message par Pasquall »

[quote="syrinx"]J'ai mal explicité ma question.

L'idée de ne pas installer de logiciel sur le PC de l’utilisateur distant (donc pas de SmartApp, ou de VNC), mais d'utiliser Firefox ou Explorer.

J'ai l'impression qu'il n'y a que Web Server de Crouzet qui peut faire ça, non?[/quote]

Pour réponde exactement à ta question, oui je ne connais que le web server millenium qui fait ca de façon dédiée.
En Normandie, ça vole entre deux pluies
En Isère ça vole du tonnerre!!!

Expert en M3 (enfin programmation M3 ^^)
Site de SmartApp

jdtschirren
Newbie
Newbie
Messages : 11
Enregistré le : mar. sept. 28, 2010 9:07 am
Localisation : Neuchatel, Suisse

Message par jdtschirren »

Bonjour à tous,

Je souhaite réaliser un petit réseau de trois M3 ayant chacun une application différente à contrôler, le tout supervisé par un PC en utilisant le programme de supervision de Pascal. (voir fichier joint)

Chaque M3 aura une extension XN06 pour une communication de type Modbus.

Il y a bien sûr tout l'aspect programmation liée à l'utilisation des bloc SL-IN et OUT... mais avant cela il faut que la connexion hardware des différents éléments soient correcte, et c'est déjà là que j'ai besoin de votre aide !

J'ai beaucoup de questions relatives à cette connexion. Par exemple, est-ce que les signaux qui transitent par la prise USB du PC sont compatibles avec ceux qui transitent sur la prise RJ45 des XN06 ? Quelle correspondance entre D+ et D- de l'USB et avec D1 et D0 de la prise RJ45 ? Manque t-il un convertisseur ? Est-ce qu'une liaison série 2 fils est possible ? Etc...

Après cela je pourrai commencer des tests de communication... toujours avec votre aide.

En attendant je vous remercie déjà.

Jean-Denis T

jdtschirren
Newbie
Newbie
Messages : 11
Enregistré le : mar. sept. 28, 2010 9:07 am
Localisation : Neuchatel, Suisse

Message par jdtschirren »

Décidement mes fichiers ne passent pas... j'essaie à nouveau mais en pdf.

Jean-Denis
Fichiers joints
Res_XN06.pdf
Croquis réseau
(1010.19 Kio) Téléchargé 312 fois

Répondre

Retourner vers « Crouzet M2-M3, autres API et péripheriques »