Programme de suivi solaire 2 axes.
T.Streiff
Notes sur le protocole Modbus des blocs Slin et Slout du Millenium M3
Les blocs FBD SLin et SLout permettent de lire et d'écrire des données 16-bits dans un programme via une application externe reliée au M3 via le câble USB Crouzet. Le protocole entre cette application externe et le M3 est dérivé du protocole industriel ModBus. Cela permet de surveiller certaines valeurs du programme ou de modifier des paramètres avec une application distante. 24 valeurs 16-bits peuvent être lues (via les blocs SLout) et 24 valeurs peuvent être écrites (via les blocs Slin). Les valeurs SLin et SLout ce ne sont pas les mêmes. A noter que l'icone du bloc SLin semble indiquer que l'on peut lire et écrire ces valeurs. Je n'ai pas essayé de relire des valeurs écrites. La documentation Crouzet (l'aide en ligne du logiciel Millenium M3) est très brève sur le protocole utilisé. Les exemples fournis ne sont pas suffisants et certains sont même faux. Les points listés ci-dessous ne sont pas mentionnés dans la documentation Crouzet et sont pourtant indispensables pour écrire une application communiquant avec les blocs SLin et SLout. Leur connaissance doit permettre d'écrire une application communiquant avec le M3 plus rapidement et surtout d'éviter les tâtonnements initiaux imposés par les erreurs de l'Aide Crouzet. En clair, au début on ne comprend pourquoi notre programme n'arrive pas à communiquer. 1) Si le M3 trouve des éléments incorrects dans la trame reçue (par exemple, un checksum erroné), il ignore simplement la trame. 2) Quand il reçoit une requête, le M3 vérifie que l'adresse des données est dans l'intervalle valide (sinon la requête est ignorée), mais il n'est pas nécessaire que le bloc SLin ou SLout connecté à cette adresse existe dans le programme tournant dans le M3. Par exemple, on peut donc lire des adresses SLout même si aucun bloc SLout n'est présent dans le programme. 3) Les trames du protocole sont encodées en « hexadécimal ASCII ». Les lettres