Octet supplémentaire modbus RTU

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Octet supplémentaire modbus RTU

Message par itasoft »

je récapitule:
tu reçois une trame dont le premier octet est de trop, c'est ça ? et tu voudrait faire un décalage à droite de 8 bits sur la trame pour éjecter cet octet
???
Automaticien privé (de tout)
itasoft@free.fr
Azoru
Asservi son premier moteur
Asservi son premier moteur
Messages : 22
Enregistré le : 15 avr. 2021, 14:46

Re: Octet supplémentaire modbus RTU

Message par Azoru »

L'octet en trop se situe après la trame
Mais je ne vois pas comment je pourrais retravailler cette trame en soit
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Octet supplémentaire modbus RTU

Message par itasoft »

est que c'est le dernier octet de la table de réception du Read_Var ?
Automaticien privé (de tout)
itasoft@free.fr
Azoru
Asservi son premier moteur
Asservi son premier moteur
Messages : 22
Enregistré le : 15 avr. 2021, 14:46

Re: Octet supplémentaire modbus RTU

Message par Azoru »

Lorsque le read_var se met en erreur, la table de réception ne se rafraichit pas
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Octet supplémentaire modbus RTU

Message par itasoft »

montrer la ligne de programme avec le Read_Var
Automaticien privé (de tout)
itasoft@free.fr
Azoru
Asservi son premier moteur
Asservi son premier moteur
Messages : 22
Enregistré le : 15 avr. 2021, 14:46

Re: Octet supplémentaire modbus RTU

Message par Azoru »

J'ai fait un bête programme de test, mon programme ne comporte plus que 2 Read_Var :

Code : Tout sélectionner

(* IF %S6 AND NOT GEST[0].0 THEN *)
IF TRAME_1 AND NOT GEST[0].0 THEN
	READ_VAR (ADR  := ADDM('00.02.00.07.MBS'),
	          OBJ  := '%MW',
	          NUM  := 2080,
	          NB   := 2,
	          GEST := GEST,
	          RECP => RECP);
	TRAME_1 := 0;
END_IF;

(* IF %S6 AND NOT GEST_0[0].0 THEN *)
IF TRAME_2 AND NOT GEST_0[0].0 THEN
	READ_VAR (ADR  := ADDM('00.02.00.02.MBS'),
	          OBJ  := '%MW',
	          NUM  := 2080,
	          NB   := 2,
	          GEST := GEST_0,
	          RECP => RECP_0);
	TRAME_2 := 0;
END_IF;
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Octet supplémentaire modbus RTU

Message par itasoft »

comment sont fait TRAME_1 et TRAME_2 de plus il faut mettre le timeOut dans le 3ème mot de GEST obligatoire
Automaticien privé (de tout)
itasoft@free.fr
Azoru
Asservi son premier moteur
Asservi son premier moteur
Messages : 22
Enregistré le : 15 avr. 2021, 14:46

Re: Octet supplémentaire modbus RTU

Message par Azoru »

TRAME_1 et TRAME_2 sont gérés manuellement via table d'animation pour gérer trame par trame.
J'ai testé plusieurs valeurs de timeout au niveau du GEST mais sans succès.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7804
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Octet supplémentaire modbus RTU

Message par itasoft »

tout semble correct, on peut essayer de remplacer MBS par SYS pour voir
Automaticien privé (de tout)
itasoft@free.fr
Azoru
Asservi son premier moteur
Asservi son premier moteur
Messages : 22
Enregistré le : 15 avr. 2021, 14:46

Re: Octet supplémentaire modbus RTU

Message par Azoru »

Les trames ne partent plus lorsque je remplace .MBS par .SYS
Répondre