Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Plugin Tiers][Sujet Principal] Plugin Modbus

Pour échanger sur les plugins classés en catégorie "Protocoles domotiques"
philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: Re : [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 07:54

Oui si vous avez le convertisseur rs232 Ethernet mais il faudra tester car le tsx doit avoir une adresse esclave ModBus.

aladin95
Timide
Messages : 6
Inscription : 22 sept. 2014, 18:08
Localisation : 95

Re: [Officiel] Plugin Modbus

Message par aladin95 » 29 sept. 2014, 16:33

Bonjour

Je pratique le modbus pour des applis industrielles.
Mais ici .. j'aimerais savoir sur quel materiel cela fonctionne. (raspberry?? ) avec quel peripherique ? ou en modbus TCP ? Est-ce un module maitre ? un module esclave ??
ou puis-je avoir ces infos ?
Merci d'avance
novice sous linux

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: Re : [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 16:36

C'est un plug-in jeedom sur base de script python et protocole ModBus tcp pas RS donc via réseau IP.

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 29 sept. 2014, 20:17

philobedo a écrit :28-09-2014 23:20:13 | info | Lancement démon modbus : nice -n 19 /usr/bin/python /usr/share/nginx/www/jeedom/plugins/modbus/ressources/modbus_master.py -h 192.168.0.12 -p 502 --polling=5 --rhr=1 --rhrl=2
28-09-2014 23:20:16 | info | Démon modbus lancé
28-09-2014 23:22:26 | event | Evenement : type=>holding_registers values=>None add=>192.168.0.12
28-09-2014 23:22:27 | event | Evenement : type=>holding_registers values=>None add=>192.168.0.12
28-09-2014 23:24:40 | event | Evenement : type=>holding_registers values=>None add=>192.168.0.12
28-09-2014 23:24:41 | event | Evenement : type=>holding_registers values=>None add=>192.168.0.12

rhrl=2 car 2 octets c'est ça?

values=None alors qu'il y a 5 décimal à l'adresse 1 et 6 à l'adresse 2

Bon courage.
Je viens de faire quelques modifs sur le plugin, Peux-tu mettre à jour et redémarrer le daemon ?
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 20:42

29-09-2014 20:34:50 | info | Lancement démon modbus : nice -n 19 /usr/bin/python /usr/share/nginx/www/jeedom/plugins/modbus/ressources/modbus_master.py -h 192.168.0.12 -p 502 --polling=5 --rhr=1 --rhrl=2
29-09-2014 20:34:56 | info | Démon modbus lancé
29-09-2014 20:36:22 | info | Lancement démon modbus : nice -n 19 /usr/bin/python /usr/share/nginx/www/jeedom/plugins/modbus/ressources/modbus_master.py -h 192.168.0.12 -p 502 --polling=5 --rhr=1 --rhrl=2
29-09-2014 20:36:25 | info | Démon modbus lancé
29-09-2014 20:37:20 | event | Evenement : type=>holding_registers inputs=>[1, 2] values=>None add=>192.168.0.12
29-09-2014 20:37:20 | event | tableau 2: false
29-09-2014 20:37:20 | info | mise à jour :1 ->
29-09-2014 20:37:21 | info | Debut de l action
29-09-2014 20:37:21 | info | Debut de l action 2:192.168.0.12
29-09-2014 20:38:37 | event | Evenement : type=>holding_registers inputs=>[1, 2] values=>None add=>192.168.0.12
29-09-2014 20:38:37 | event | tableau 2: false
29-09-2014 20:38:37 | info | mise à jour :1 ->
29-09-2014 20:38:38 | info | Debut de l action
29-09-2014 20:38:38 | info | Debut de l action 2:192.168.0.12
29-09-2014 20:39:32 | event | Evenement : type=>holding_registers inputs=>[1, 2] values=>None add=>192.168.0.12
29-09-2014 20:39:32 | event | tableau 2: false
29-09-2014 20:39:33 | info | mise à jour :1 ->
29-09-2014 20:39:34 | info | Debut de l action
29-09-2014 20:39:34 | info | Debut de l action 2:192.168.0.12

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 29 sept. 2014, 20:46

Bizarre, j'ai testé avec un simulateur et ça fonctionne bien... Tu as bien configuré le port 502 ?
Peux-tu essayer d'arreter le daemon et de lancer directement la ligne :
sudo /usr/bin/python /usr/share/nginx/www/jeedom/plugins/modbus/ressources/modbus_master.py -h 192.168.0.12 -p 502 --polling=5 --rhr=1 --rhrl=2
?
et me dire les lignes qui apparaissent ?
Merci !
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 21:10

Bip de firewall de Bip.
A quoi correspond values=>[3, 0]

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 29 sept. 2014, 21:16

ce sont les valeurs, dans la requete on demande de lire de l'adresse 1 à l'adresse 2, donc 3 pour l'adresse 1 et 0 pour l'adresse 2.

Si par exemple dans jeedom tu créé 3 valeurs "holding registers" ayant pour adresses : 100, 101 et 102, la requête serait :
/usr/bin/python /usr/share/nginx/www/jeedom/plugins/modbus/ressources/modbus_master.py -h 192.168.0.12 -p 502 --polling=5 --rhr=100 --rhrl=102
et la valeur de retour : [valeur_de_100,valeur_de_101,valeur_de_102]
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 21:19

Ok serait possible de convertir ce nombre en hexa formé de 2 octets en 1 seul mot de 2 octets suivant un paramètre type "w" pour word

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 21:23

Oups tu sembles l'avoir fait mais pourquoi si adresse = 0 et rien dans paramètres tu renvois 2 valeurs

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 29 sept. 2014, 21:24

Je ne suis pas sûr d'avoir compris, désolé.
Tu veux pouvoir choisir le type de retour (hex, binaire, signed, unsigned) ?
Peux-tu me donner un exemple stp ?
Merci
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 29 sept. 2014, 21:33

philobedo a écrit :Oups tu sembles l'avoir fait mais pourquoi si adresse = 0 et rien dans paramètres tu renvois 2 valeurs
Petit bug, je viens de corriger dans la dernière beta.
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: [Officiel] Plugin Modbus

Message par philobedo » 29 sept. 2014, 21:33

Oui c'est ça comme dans modsim32 tu choisis le format de retour heu binaire décimal signed unsigned sur 16bits et long signed unsigned sur 32bits et enfin floating point avec aussi la possibilité de swapper poids fort poids faibles

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 29 sept. 2014, 22:19

ok, c'est faisable mais ça va demander un peu de temps de développement car python ne gère pas en natif le unsigned.
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

philobedo
Timide
Messages : 21
Inscription : 17 juil. 2014, 11:44

Re: [Officiel] Plugin Modbus

Message par philobedo » 30 sept. 2014, 09:15

N'est il pas possible d'utiliser la librairie pymodbus pour decoder ?

Avatar de l’utilisateur
Bebel27
Actif
Messages : 908
Inscription : 19 oct. 2014, 18:04
Localisation : Normandie

Re: [Officiel] Plugin Modbus

Message par Bebel27 » 02 nov. 2014, 21:08

Bonsoir tmartinez
je voulais savoir si tu pouvais faire ceci avec ton plugin .
pour info mon automate est un crouzet M3avec une extension xn05 qui fonctionne qu'avec des registres .
les registres entrées de 12 à 19 et les sortie de 20 à 27 .

Pour lire l'état des mes lumières je lis donc le registre 20
pour actionner une lumière, je vient lire l'état du registre 12 et renvoie la valeur, de l'action souhaiter pour allumer une lumière .

JEEDOM (que la domotique soit avec toi )

Avatar de l’utilisateur
Bebel27
Actif
Messages : 908
Inscription : 19 oct. 2014, 18:04
Localisation : Normandie

Re: [Officiel] Plugin Modbus

Message par Bebel27 » 03 nov. 2014, 20:02

bon ba en attendant j'ai installé le plugin pour tester et aussitôt désinstallé car mon Raspberry tournait au ralentie .

JEEDOM (que la domotique soit avec toi )

Avatar de l’utilisateur
tmartinez
Modérateur
Messages : 1226
Inscription : 08 juil. 2014, 11:22
Localisation : Limonest

Re: [Officiel] Plugin Modbus

Message par tmartinez » 03 nov. 2014, 20:28

Salut,
Bizarre que ton raspberry tourne au ralenti car je l'ai déjà installé sur un raspberry d'un autre utilisateur.
Tu as d'autres plugins qui tournent dessus ?
Pour relier une sortie à une une entrée, cela peut se faire normalement via les scénarios.
Jeedom sous Proxmox
43 Modules Z-Wave / 1x RfxCom / 20 devices connectés
Mon matériel

Avatar de l’utilisateur
Bebel27
Actif
Messages : 908
Inscription : 19 oct. 2014, 18:04
Localisation : Normandie

Re: [Officiel] Plugin Modbus

Message par Bebel27 » 03 nov. 2014, 21:03

re ,
il c'est mis à ne plus fonctionner au moment ou j'ai activé le plugin , des temps de chargements très long 1,5 secondes le processeur à 100 % la total.
j'ai fais un reboot idem, augmenté le pooling idem . j'ai surprimé le plugin et la nickel, temps de chargement à 0,3 secondes
si non j'ai regarder ton petit bout de code en python , c'est facilement modifiable pour collé à mon système .
actuellement j'utilise une lib-python ( pymodbus)
pour lire ma var

result = Crouzet.read_holding_registers(20,8)
value = result.registers[0]
bvalue = bin(int(value))[2:]

if bvalue[10] == '1' :
print '1'
else :
print '0'

tu crois tu pourrais me faire un truc comme ça :roll:

JEEDOM (que la domotique soit avec toi )

nolse
Timide
Messages : 38
Inscription : 20 oct. 2014, 11:11

Re: [Officiel] Plugin Modbus

Message par nolse » 18 nov. 2014, 15:03

Salut,

le plugin ne fonctionne que dans le sens ou il interroge l'automate ou l'automate peut lui envoyer des infos?

Répondre

Revenir vers « [Catégorie] Protocoles domotiques »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités