Commande M2M, relais non activé

Bonjour

Dans le cadre de l’automatisation de mon observatoire astronomique (cabane de jardin avec toit mobile) j’ai développé une application me permettant d’ouvrir le toit.

Il arrive parfois que l’ouverture ou la fermeture. J’ai d’abord cru que le problème venait du moteur (un système d’ouverture de portail) mais après mise à jour de mon programme de façon à logguer les commandes envoyée et les réponses, j’ai constaté qu’il arrive parfois que le relais ne se ferme pas. Afin de contourner ce problème j’ai ajouté une vérification de l’état qui envoie une nouvelle fois la commande si le relais n’a pas été activé. J’ai aussi constaté que même lorsque le relais ne s’active pas l’IPX800 me renvoie la réponse : OK\r\n . J’ai aussi testé sur un autre relais

Mais je cherche tout de même à comprendre pourquoi cela se produit.
Une idée qui m’est venue : est-ce que la température peut avoir un effet sur le fonctionnement des relais ? Je me pose cette question parce que le problème semble se produire plus souvent depuis quelques temps. Et bien que la température dans le local dans lequel se trouve l’IPX800 respecte les indications de la documentation (Température de fonctionnement : de -10°c à +45°c), il y fait tout de même froid depuis quelques jours (entre 0 et 5°C) .

Voici un log d’une exécution pendant laquelle le problème s’est produit :
Note : le message resultEnabled : True signifie que l’IPX800 a répondu OK à la commande Set

22:53:52.774 send command Set101
22:53:52.817 result : True
22:53:53.107 outputRelayState : Inactive
22:53:53.358 send command Set101
22:53:53.427 result : True
22:53:53.744 outputRelayState : Inactive
22:53:53.995 send command Set101
22:53:54.063 result : True
22:53:54.334 outputRelayState : Active

Cordialement

Julien

Bonjour,

Je ne pense pas que la température soit le problème, on à des ipx800 dans les alpes qui pilotent des canons à neiges.
Le probleme vient peu etre de votre logiciel de commande.
Pour info l’ipx800 est régulièrement utilisé dans les observatoires.
Elle est intègré nativement dans les logiciels Prism et maxpilote v4 qui sont des logiciels couramment utilisé en astronomie.

Cordialement,

Bonjour

Rien de bien compliqué au niveau du code :


var byteCommand = Encoding.ASCII.GetBytes(command);
var nbBytesSent = socket.Send(byteCommand);

var nbBytesReceived = socket.Receive(buffer);
var response = Encoding.ASCII.GetString(buffer, 0, nbBytesReceived);

Dans le cas qui de mon problème, la commande passé à ExecuteCommand est construite par la méthode suivante :

protected string BuildSetOutCommandString(int outputNumber, OutputState state, bool fugitif)
{
	var command = new StringBuilder("Set");
	command.Append(outputNumber.ToString("D2"));
	command.Append((int)state);

	if (fugitif)
	{
		command.Append("p");
	}

	return command.ToString();
}

Les commandes envoyées sont donc identiques dans tous les cas.

En fichier joint une copie d’écran de Wireshark. La ligne sélectionnée correspond à la commande Set101 qui a donc bien été envoyée.

<img src=‹ /uploads/default/original/1X/9ce2f317d693968f69beba77b44cc5b2cd2876a8.png › width=‹ 689 › height=‹ 371 › title=‹ copie d’écran de Wireshark. La ligne sélectionnée correspond à la commande Set101 ›>

Donc je ne comprends vraiment pas pourquoi cela ne fonctionne pas.

Cordialement

Bonjour

J’ai effectué de nouveaux tests et j’ai fait les constations suivantes :

Le problème semble se produire uniquement sur les relais des extensions.

Lorsque le problème se produit à l’activation d’un relai, j’entends un « click » à chaque tentative : Click, click, …". C’est comme si le relai était activé mais ne reste pas en place. Mais c’est différent du cas de l’activation puis désactivation ou j’entends plutôt un « click - clock »

Cordialement

Julien

Bonjour,

Alimentez directement l’extension en 12v

Bonjour

C’était déjà le cas pour la première extension, mais pas la deuxième. C’est maintenant chose faite. Malheureusement cela ne change rien au problème.

En fait le problème ne se produit que dans le cas d’exécution de commande M2M. J’ai tenté d’activer/désactiver les mêmes relais en utilisant des commandes HTTP, toujours à l’aide de mon programme test et dans ce cas-là tout se passe correctement. Tout se passe aussi correctement lorsque je les active depuis l’interface web de ou en utilisant les entrées de l’IPX.

Il y a donc bien un problème lorsque j’envoie une commande M2M.

EDIT :

Je viens de découvrir que je ne suis pas le seul à avoir constaté ce genre de problème avec les extension, le problème a déjà été remonté par l’utilisateur Jetblack :

ici Problème M2M Setxxy sur extension : fonctionnement erratique

et ici Problème pilotage IPX http

[quote]les commandes M2M TCP ne sont pas fiables sur les extensions, les ordres ne sont exécuté qu’une fois sur 3 ou 4

[/quote]

Ce qui est exactement ce que j’ai constaté moi aussi

Cordialement

Julien

Bonjour,

Je confirme ce problème sur la non prise en compte des commandes M2M sur les extensions.
Le son des relais est différent (plus sourd) lorsque cela se passe mal.

Les commandes passent bien lorsque j’utilise l’interface web.

Je suis en v 3.05.42. Je viens de passer en 3.05.47, car il semble que des problèmes concernant le M2M soient corrigés, mais maintenant, j’ai des hiéroglyphes dans les menu de l’interface Web…

Bonjour

Où peut-on trouver la version 3.05.47 ? La page de présentation du produit indique que la version actuelle est la 3.05.42.

Bon, de toute façon, j’ai ajouté une implémentation des commandes HTTP à ma DLL

La 3.05.47 corrige bien le problème des commandes M2M.

Maintenant cela fonctionne.

Cette version est téléchargeable sur le site de GCE, dans les téléchargements.

Ok, merci.

Une question : est-il possible de passer à une version plus ancienne ? Pour effectuer des tests ce serait l’idéal, actuellement je transmets mes versions à quelqu’un qui test pour moi avec un ancien firmware.