Problème de programmation d'un automatisme

Bonjour
Je souhaite me servir de l’IPX (V3) pour déplacer un chariot entre 2 positions.
Pour cela, j’utilise 2 sorties relais pour inverser le sens de rotation du moteur et un potentiomètre multi-tours branché sur une entrée analogique pour faire office de codeur de position.
Mon souhait est d’enclencher un des 2 relais (sens + ou -) à partir d’un timer en mode fugitif.
Pour cela j’ai besoin d’ajouter à liste des relais programmables de la fonction Timer (Relay 1 à Relay :sunglasses: un mot que je pourrai récupérer dans mon script et le tester
dans une condition.
Est-ce possible ?

Mon deuxième souhait consiste à rendre les limites de déplacement de mon chariot variables.
En résumé mon chariot se déplacera entre 2 positions analogiques. J’ai stocké ces dernières dans le fichier status.xml, mais je ne connais pas
la méthode pour y accéder simplement sans recompiler et recharger tout le site lorsque ces données doivent être modifiées.

Merci pour votre aide

Bonjour,
Question subsidaire,

Ou sont stockées les informations de réglage relatives aux timers ?

Merci

Bonjour,

Les données sont stockées sur de la mémoire flash.
Vous pouvez y accéder via le formulaire status.xml.

Cordialement,

Bonjour et merci pour votre réponse,

cependant, après avoir parsé le fichier status.xml, aucune trace des timers.

$xml = simplexml_load_file(‹ http://192.168.1.9/status.xml ›);

[led0] => 0
[led1] => 0
[led2] => 0
[led3] => 0
[led4] => 0
[led5] => 0
[led6] => 0
[led7] => 0
[btn0] => up
[btn1] => up
[btn2] => up
[btn3] => up
[btn4] => up
[btn5] => up
[btn6] => up
[btn7] => up
[an1] => 0
[an2] => 0
[an3] => 0
[an4] => 0
[day] => 2
[time0] => 12:29:00
[count1] => 32
[count2] => 23
[config_hostname] => IPX800_V3
[config_dhcpchecked] => 
[config_mac] => 00:04:A3:35:12:42
[config_ip] => 192.168.1.9
[config_gw] => 192.168.1.1
[config_subnet] => 255.255.255.0
[config_dns1] => 192.168.1.1
[config_dns2] => 192.168.1.1
[firmware_version] => 3.01.06
[http_port] => 80
[ntp_server] => pool.ntp.org
[ntp_port] => 123
[smtp_server] => smtp.gce-electronic
[smtp_port] => 25
[smtp_user] => [test@gce-electronics.com](mailto:test@gce-electronics.com)
[smtp_pass] => 123456
[email_dest] => your_email

Est-ce le bon fichier ?
cordialement

Oui c’est le bon fichier.

Mais vous devez le modifier pour rajouter les variables qui concerne le timer.
Par contre vu le nombre de timer et de choix il va falloir écrire un grand nombre de lignes.

Exemple:

~relay(1,0)~ correspond au relais 0 du timer 1 (si = 1 alors le relay 0 est sélectionné pour le timer 1)

idem pour le jour et l’heure…

Cordialement,

Patrick

Bonjour Patrick,

J’ai essayé d’inclure les champs pour le premier timer mais ça n’a pas l’air de fonctionner (peut être la syntaxe)

Pour éviter de recharger le site dans l’IPX après chaque modification d’un fichier, j’ai installé
le dossier complet WEB_RELAY_BOARD sur mon serveur Apache pour faire des tests plus rapidement.
Les pages web s’affichent correctement mais l’enregistrement des modifications (ex. Save de la page timer1)
ne se fait pas.

Est-ce normal ?

Merci
cordialement

Bonjour,

La carte n’a pas été conçu pour que le site HTTP soit exécuté sur un autre serveur…
C’est surement pour ça que ça marche pas.

Cordialement,
Patrick

Merci pour toutes ces réponses, je préfère laisser tomber mon projet d’une carte totalement autonome et me rabattre sur le tandem PC - IPX.

Cordialement

Bonjour,
En fait je n’ai pas laissé complètement tomber, mais ce que j’ai découvert est accablant ! (vous verrez pour qui en lisant la suite)

Mon projet initial était de faire de l’IPX un automate (autonome) qui puisse faire fonctionner un moteur 12V continus (dans les 2 sens) et d’un potentiomètre multi-tours pour faire office de codeur de position et de faire un petit asservissement.

J’ai donc modifié la page index1.htm pour y inclure quelques lignes de javascript. (ça me paraissait plus simple)

Je ne rentre pas trop dans les détails mais j’utilise 2 relais en série :
le 1er pour activer le mode marche / arrêt déclenché par un timer pendant un certain délai.
le 2eme pour faire un inverseur de rotation.

Lorsque je suis en ligne avec l’IPX, mon système fonctionne. Mais ce qui est navrant c’est que hors ligne, ça ne marche plus. (j’imagine que certains rigolent bien)

Eh oui, je viens de réaliser ce que je sais depuis des années :
l’IPX est un serveur web, ce qui signifie que le javascript est totalement inconnu pour lui.
Tout ce qui peut tourner en mode off-line, c’est la partie non accessible pour moi (simple bricoleur).
Il faut donc un client connecté, qui sait lire le javascript, pour faire tourner la page index.htm et exécuter le code
inclus à l’intérieur pour renvoyer les ordres à l’IPX afin que mes relais soient excités.

Merde de merde, j’ai encore pas trouvé la réponse à mon problème. Sauf si je laisse un PC allumé en permanence pour faire du voyeurisme sur l’IPX,
dans ce cas le PC n’aura rien à faire, juste afficher la page d’accueil. Mais à 100 watts à l’heure, c’est juste pour les vacances.

Vous avez compris qui est est accablé ?

Je joins mes modifs pour les gens intéressés.

Bonne continuation
modif.7z (6.69 KB)

Bonjour,
Utiliser le java-script pour coder des fonctions n’est pas la bonne méthode.
Si vous souhaitez faire des conditions complexes il vaux mieux réaliser une page sur une serveur web distant qui reçois et envoi des commandes à l’IPX800.

Cordialement,

GCE

Bonjour,

J’ai trouvé la solution à mon problème :
Le potentiomètre utilisé pour connaitre la position courante du chariot s’apparente à une sonde de température.
En utilisant la page de configuration de l’entrée analogique, le chariot peut se déplacer automatiquement entre les positions mini et maxi
par simple inversion du relais de commande du moteur.
Pour démarrer ou stopper le moteur, j’ai ajouter un second relais en série avec le premier, lequel est commandé par un timer.

Sur la photo jointe, j’ai défini les limites mini (500) et maxi (750).
J’ai du définir la valeur moyenne au dela de la limite maxi, sinon ça marche pas. (pas compris à quoi sert cette valeur)

Lorsque le chariot arrive en position mini, le relais R8 passe à 1
Lorsque le chariot arrive en position maxi, le relais R8 passe à 0
et ainsi de suite temps que le relais R7 (en série) est à 1

Je n’ai pas réussi à configurer l’entrée analogique 2, les changements de valeur ne sont pas mémorisés lors de l’enregistrement.
J’ai fais un hard reset, rechargé la version 6, idem. C’est pourtant ok avec ana 1, 3 , 4.

wala
Thierry