Carte Dingtian et modbus rs485

Bonjour à tous,

j’ai un carte dingtian IOT relay, je souhaite la faire tourner en modbus rs485 sous jeedom.
image

j’ai une cle usb==> RS485
image

la table modbus

les commande basique
image

Paramétrage de la carte :

avec le logiciel uart :

les commande rs485 marche tres bien mais avec my modbus impossible de comprendre comment envoyer les commandes et le retour d’état.

configuration jeedom

commande :

j’ai tout essayé mais rien, si quelqu’un a une idée je suis preneur

Merci

Bonjour,

Ce que j’ai vu (rapidement) :

  • dans UART : HEX (et pas ASCII), dans MyModbus : ASCII et pas RTU → Il faudrait choisir RTU,
  • configuration de la liaison OK

Conseils :

  1. Avez-vous lu la documentation du plugin ? Comme j’y ai passé beaucoup de temps et qu’elle a montré ses preuves, je pense que sa lecture attentive est un premier pas.

  2. Il faudrait la documentation complète de votre carte relais et il faudrait commencer par la lecture de l’état des relais AVANT d’essayer de les piloter.

A+
Michel

edit : l’étiquette utilisée est la mauvaise, je suis tombé sur ce fil en consultant les derniers messages, il faut utiliser le tag plugin-mymodbus si vous parlez du plugin MyModbus.

1 « J'aime »
2 « J'aime »

D’après le document « programming_manual_en.pdf » dont sont extraits les captures de @nikedelick, ce n’est pas du Modbus, mais un protocole propriétaire. Ce n’est donc pas dans ce document que les informations utiles au paramétrage de MyModbus se trouvent.

J’ai l’impression qu’il faut étudier le fichier texte dans le répertoire modbus pour savoir quoi faire en Modbus. Il faut étudier ça.

Peut-être qu’un autre protocole compatible avec cette carte est plus accessible ?

Bonjour Michel,

merci de m’avoir répondu, ci joint la doc technique de la carte et du plugin.

programing manual_en.pdf (509,1 Ko)

plugin
https://mrwaloo.github.io/jeedom-plugins-doc/fr_FR/mymodbus_doc

1 « J'aime »

Merci, la doc du plugin, je la connais, c’est moi qui l’ai écrite…

:joy: :upside_down_face:

@Michel_F

Oui cela marche tres bien en mqtt mais le modbus rs485 peut aller jusqu’à 1000m alors de l’ip ou le wifi on est beaucoup plus limité.

Merci à vous en tout cas Michel

Je vous suggère de regarder dans un premier temps, je regarderai au calme un soir.

Vous avez essayé en RTU ?

j’ai essayé les deux mais rien.
mais c’est surtout que je ne sais pas trop quoi mettre dans les parametres de commandes

Il faudrait d’abord réussir à lire, c’est le plus simple. Je regarderai ce soir.

1 « J'aime »

Il ne faudrait qu’un seul équipement MyModbus activé. Log en debug.
L’équipement doit être paramétré en RTU le reste est sans doute bon puisque qu’avec l’autre outil ça fonctionne.

Il faudrait essayer une seule commande :

Et poster ici les log mymodbus_daemon

J’ai utilisé l’accès que vous m’avez donné en MP pour tester des choses.

J’ai fait 2 équipements :

  • Relais
  • Entrées (qui utilise la connexion de Relais)

Je suis certain que l’équipement Relais fonctionne, je vous ai fait toutes les commandes.
Par contre je ne suis pas sûr que les entrées fonctionnent, il faudrait que vous testiez.

Pour les suivants…

Relais (sur événement pour tester, mais peut être configuré en polling ou en cyclique sans problème):
Dingtian_4_sorties.json.txt (17,3 Ko)


Entrées :
Dingtian_4_entres.json.txt (9,1 Ko)

2 « J'aime »

Ouaaaaa Michel_F vous etes un génie
ca fonctionne et j’ai bien l’état relais qui change

Merci mille fois michel

Par contre je serai curieux de comprendre comment vous en etes venu a ces ligne de commande

ex : hexdec(‹ 0101 ›)

Et une dernière question, j’ai un deuxieme dingtian, si je mets mon bus en serie et que je veux faire pareil sur la deuxieme carte, il me suffit juste de copier les commandes et changer l’esclave ou les commandes registres ne sont pas les memes ?

Merci

1 « J'aime »

Vous pouvez donc indiquer que ma réponse est la solution.

Dans le fichier zip, il y a un fichier texte qui contient peu d’informations mais on y trouve ça :

modbus-rtu  ////////////////////////////////////////////////////
read channel number and status
01 03 0000 0002 C40B
01 03 04 0004 0000 BBF2

write relay(single register)
01 06 0002 0f0f 6DFE	# 1~4 on
01 06 0002 0f00 2DFA	# 1~4 off
01 06 0002 0909 EE5C	# 1,4 on

Ce sont des trames Modbus que j’ai interprétées et traduites en MyModbus.
Pour la commande des relais, le registre de valeur est à couper en 2 octets :

  • le masque
  • la commande
    bref…

Il faut en effet modifier l’adresse d’un des 2 modules et adapter l’adresse dans les commandes, le reste est identique.
Par contre, il faut brancher en parallèle.

Je pense qu’en IP (Ethernet) ça fonctionnerait aussi.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.