Questions fréquentes (FAQ)

Poser une question

Comment envoyer une requête d'écriture de registres vers un esclave modbus à travers la passerelle TSXETG100 depuis le port Ethernet d'un Premium (TSX57) ?

Le synoptique de l'installation est le suivant :

  • L'automate Premium est relié à la passerelle ConneXium TSXETG100 via le réseau Ethernet.
  • La passerelle ConneXium TSXETG100 est le maître Modbus sur la liaison RS485.
  • L'automate Premium interroge les esclaves Modbus au travers la TSXETG100.

Configuration de la passerelle ConneXium TSXETG100 et de l'automate Premium :
La configuration de ces 2 équipements est décrite dans la Faq FA161892 : Comment envoyer une requête de lecture de registres vers un esclave modbus au travers la passerelle TSXETG100 depuis le port Ethernet d'un Premium ?


Programmation de la requête d'écriture avec la fonction WRITE_VAR sous PL7 :

L'adresse de la fonction WRITE_VAR est de la forme ADR#{adresse Xway}0.0.@ adresse de l'esclave avec :
  • adresse Xway : adresse Xway affectée à la passerelle dans la configuration des connexions, comme par exemple {2.122}.
  • adresse de l'esclave : adresse de l'esclave Modbus à interroger.
Exemple :
La requête suivante permet d'écrire 10 registres à partir du registre 1000 dans l'esclave d'adresse 1. Les valeurs à écrire dans l'esclave sont stockées dans le tableau %MW450:10 du Premium. La table de gestion de la fonction WRITE_VAR est %MW460:4. L'adresse Xway associée à la passerelle est {2.122}. La requête s'écrit alors :
            WRITE_VAR(ADR#{2.122}0.0.1,'%MW',1000,10,%MW450:10,%MW460:4)


Programmation de la requête d'écriture avec la fonction WRITE_VAR sous Unity Pro :

L'adresse de la fonction WRITE_VAR est de la forme ADDR{adresse Xway}0.0.0.@ adresse de l'esclave. La requête de l'exemple ci-dessus s'écrit alors :
            WRITE_VAR(ADDR('{2.122}0.0.0.1'),'%MW',1000,10,%MW450:10,%MW460:4);

Cela vous a-t-il aidé ?
Que pouvons-nous faire pour améliorer l'information ?