wago 750-468 et J1939

Forum traitant des automates industriels de marque Wago et du logiciel codesys
Répondre
Mrjack
Code son premier grafcet
Code son premier grafcet
Messages : 47
Enregistré le : 09 févr. 2017, 08:54

wago 750-468 et J1939

Message par Mrjack »

Bonjour,
je dois récupérer les données d'un ecu de générateur (pression d'huile température etc) via canbus j1939.
Je n'arrive pas a utiliser les blocs fonction de la bibliothèque dédiée.

Je recherche quelqu'un qui aurait un bout de code exemple (comme celui de kurt Braun sur youtube) pour récupérer les pgn utiles.(compensation paypal)
Ma connexion est bonne, dans iocheck je vois bien des choses défiler dont des canid coherents, mais je n'arrive pas a extraire la moindre donnée (niveau de connaissance moyen)
Après je sèche, j'ai des xcanmbxerror ou autre à chaque tentative.
Questions:?
Faut il forcement une requête TX (avec le bloc qui va bien) et ensuite une requete RX, ou bien Seul le bloc fonction RX avec le bon canid suffit en j1939 pour récupérer les données?
Merci pour votre aide.
Bien cordialement
Mrjack
Code son premier grafcet
Code son premier grafcet
Messages : 47
Enregistré le : 09 févr. 2017, 08:54

Re: wago 750-468 et J1939

Message par Mrjack »

LA borne est une 658 pas 468...Désolé
dpo
Créateur de langage
Créateur de langage
Messages : 747
Enregistré le : 27 nov. 2015, 20:03

Re: wago 750-468 et J1939

Message par dpo »

en codesys 2 j'avais bien galéré pour mettre en service un codeur en CAN
il y avait du paramétrage à faire sur le codeur avant de pouvoir vraiment l'utiliser
il fallait se mettre en ligne VIA le câble USB sur IO/check pour envoyer les infos au codeur
et ensuite on pouvait l'interroger
je te copie/colle mes notes de l'époque, ça ne correspond pas à ton cas mais ça met en évidence que sur certains matériels il faut du paramétrage avant de pouvoir l'exploiter, et en wago, codesys2 j'avais bien galéré.
j'ai aussi eu ce cas avec des modules IFM sur M340 mais le paramétrage était plus accessible.

mes notes :
Raccordement

Le codeur est livré avec un ensemble câble/connecteur côté codeur et des fils libres côté automate à raccorder sur la carte wago. La carte wago doit être placée à droite d’autres cartes qui ont les connecteurs de distribution du 24V (attention certaines cartes ne diffusent pas ce 24V)
Les connections 0V et 24v servent à l’alimentation du codeur

Paramétrage physique du codeur :
Il faut lui donner son adresse, sa vitesse et la résistance de fin de ligne (s’il est en dernier), via des commutateurs (miniswitch)
Dans notre application, nous utilisons les réglages par défaut avec résistance de fin de ligne, adresse 3Fh, vitesse 250

Paramétrage logiciel du codeur :
Par défaut le codeur n’est pas opérationnel, il faut lui envoyer plusieurs informations via le can pour le paramétrer et le passer en opérationnel.
Pour cela nous utilisons le logiciel i/o check de wago en mode transparent.
L’automate wago ne supporte pas le paramétrage du CAN via la liaison Ethernet. Il faut passer l’automate en STOP, débrancher le câble Ethernet et utiliser le câble wago « usb serie » pour accéder à la carte CAN via le logiciel IO check.
Régler les paramètres CAN : en haut en gauche avec le menu déroulant pour saisir ne nombre d’octets dédiés à la carte (ce nombre devra être le même dans la config de codesys)
Régler les paramètres standard et la vitesse via le bouton « CAN »

En mode transparent, il est possible de saisir une trame dans les cases « SEND » et vérifier la réponse dans la fenêtre receive.
Attention le CAN ID ne correspond pas à l’adresse du codeur mais à une combinaison d’un code et de l’adresse. Les octets de la requête doivent être séparés par des espaces !
Les cases IDE et RTR sont à cocher suivant les questions (se reporter à la notice wago pour plus de précisions)
Le document de Kubler « Can application note » permet de comprendre le mécanisme et donne des exemples concrets en fin de document. S’il n’y a pas de réponse ou une réponse différente des exemples c’est que la trame est mal saisie.
Chaque question doit avoir une réponse, sinon il doit y avoir une erreur dans la sélection des paramètres IDE/RTR , contrôler avec lae not kubler le format des réponses en cas de doute.

Paramétrer le codeur avec le mot 6000h
Dans notre application : inverser le sens et le rendre operationnel au démarrage (bit 1 et 14)


Paramétrer la résolution pour avec 65535 points sur un tour : adresse 6001h

Exemple byte 4 et 5 = FF FF pour la résolution maxi
Passer le codeur en opérationnel :
0 Rx 2 01 3F
SAUVERGARDER LES REGLAGES de COM et LES PARAMETRAGES :
63F Rx 8 23 05 21 00 73 61 76 65 save all bus objects
5BF Rx 8 60 05 21 00 00 00 00 00 answer from encoder
63F Rx 8 23 10 10 01 73 61 76 65 save all
5BF Rx 8 60 10 10 01 00 00 00 00 answer from encoder
Redémarrer le codeur (hors/sous tension)
Tester une lecture de position :
1BF Rx 4 BA 4C 00 00 position values

Lire la mesure en permanence
Maintenant que le codeur est paramétré, il faut programmer la carte CAN pour qu’elle lise en permanence la position.
Il faut passer en mode « mapped »
Dans PIO : il faut déclarer la trame à exécuter en permanence (les premiers octets grisés sont réservés) :
On saisit la requête de lecture : 1BF Rx 4 BA 4C 00 00
Dans PII : on paramètre le retour de la question 1BF….. qui va contenir la position en lui affectant les octets.
Après avoir sauvegardé les paramètres dans la carte, on peut tester avec iocheck dans process data de la carte : les entrées IBxx contiennent la valeur du codeur (les premiers sont réservés)
Il suffit alors de les mettre en forme dans le programme codesys.
Il n’y a aucune fonction de communication à programmer dans l’automate, le mode mapped nous renvoie la valeur comme si c’était une simple entrée analogique.
Répondre