Page 1 sur 4

[Résolu] Programme TSX 3722 vers TM 262

Posté : 23 déc. 2024, 12:00
par Theogar
Bonjour tout le monde,

Dans le cadre d'un nouveau projet, je dois réécrire le programme d'un TSX 3722 vers un TM 262. C' est la toute première fois que je programme un M262 et plus généralement la première fois que je programme sous machine expert 1.2. C'est pour cela que je crée ce sujet, car j'ai quelques soucis à réécrire certains bouts de programme.

Premièrement, sur mon M262, je n'arrive / comprends pas comment accéder aux variables systèmes (si elles existent). Dans mon programme TSX, il y a par exemple, la variable %S1 qui est utilisé dans le programme et qui correspond, selon la doc, à "une reprise à chaud". Je ne sais pas comment faire ceci sur mon M262.

Deuxièmement, sous PL7 PRO, il existe un bloc TIMER série 7 et celui-ci possède une entrée C qui, si je comprends bien la doc, met en pause la tempo sans la remettre à zéro. Si c'est bien le cas, comment je peux faire ceci sur machine expert ? Pour moi, je n'es la possibilité de mettre que des TON, TOF ou TP, mais aucune me permet de mettre en pause le TIMER sans le remettre à zéro la tempo.

Troisièmement, dans le programme TSX j'ai beaucoup d'instruction de ce type : %MW2041:%MW660[%MW26], ce qui me pose problème c'est cette partie la : %MW660[%MW26]. Le %MW26 est pour moi un pointeur, mais pour faire quoi ? Mais même sans vraiment comprendre à quoi cela sert, en l'écrivant sur le programme du M262 le logiciel m'écrit l'erreur suivante "CR0077: Unknown type".

Je vous remercie d'avoir pris le temps de lire mon message, en espérant avoir été claire.

Re: Programme TSX 3722 vers TM 262

Posté : 23 déc. 2024, 12:29
par itasoft
Le TSX37 il faut le faire migrer vers un M340 la conversion est automatique ya rien à faire,
pour le reste je peux pas t’aider vu que j’ai viré cette drouille de soMachine de mon PC

Re: Programme TSX 3722 vers TM 262

Posté : 23 déc. 2024, 13:44
par MiGaNuTs
Bonjour,

pour une première fois en machine expert, tu t'est lancé dans un joli bourbier pas simple ! Félicitations pour ton gout des défis, et bonne chance aussi :)

Effectivement les bits systèmes des vieux tsx, ça n'existe pas de base dans machine expert.
Il va falloir que pour chaque bit (et mot) système tu recherche une fonction équivalente, parfois que tu importe de bibliothèques optionnelles en plus dans ton projet.
les IsFirstMastColdCycle() et IsFirstMastCycle() c'est les plus faciles a trouver. Mais y'en a d'autres qui sont bien cachées. (jouer avec l'horloge c'est un peu pénible par exemple)

Pour les tempos spéciales, il va falloir que tu écrive tes propres fonctions qui émulent le fonctionnement des tempos que tu veux remplacer.

Et pour l'adressage indexé, vu que tu n'a pas le droit de taper directement dans les adresses mémoires sous machine expert, bah il va falloir que tu trouve le moyen d’écrire ton programme autrement.

Bref, laisse tomber et prends un M340, sinon tu va y passer plusieurs mois sur ton programme.

Re: Programme TSX 3722 vers TM 262

Posté : 23 déc. 2024, 14:14
par Theogar
Merci beaucoup pour vos réponse.

Malheureusement je ne peux pas changer d'automate étant donnée que je l'ai déjà en ma possession, mais j'en prend note et en parlerais à mon charger d'affaire pour éviter d'en reprendre à l'avenir :lol:.

Merci pour ton retour MiGaNuts je vais essayer au mieux de tout réécrire en croisant les doigts pour que ça marche. ☠️

Re: Programme TSX 3722 vers TM 262

Posté : 24 déc. 2024, 08:33
par DurandO
Bonjour,
Theogar a écrit : 23 déc. 2024, 12:00
Troisièmement, dans le programme TSX j'ai beaucoup d'instruction de ce type : %MW2041:%MW660[%MW26], ce qui me pose problème c'est cette partie la : %MW660[%MW26]. Le %MW26 est pour moi un pointeur, mais pour faire quoi ? Mais même sans vraiment comprendre à quoi cela sert, en l'écrivant sur le programme du M262 le logiciel m'écrit l'erreur suivante "CR0077: Unknown type".

Code : Tout sélectionner

 %MW2041:%MW660[%MW26]
Tu as une faute de frappe, il manque le =
Ecrit correctement :

Code : Tout sélectionner

 %MW2041:=%MW660[%MW26]
Cette opération va transférer dans %MW2041 la valeur de %MW660 indexé de %MW26.
%MW26 est l'index (ce n'est pas un pointeur).
Exemple :
suppose que %MW26 = 5 alors cette opération va transférer dans %MW2041 le contenu de %MW(660+5) soit %MW665.

Sur SoMachine, cette instruction s'écrit de la même manière (sans oublier le =), elle sera acceptée sous réserve que tu ais déclaré une taille suffisante de mots mémoire dans l'onglet Programmation/Outils/Mots Mémoire/ Nbre d'objets.

Re: Programme TSX 3722 vers TM 262

Posté : 24 déc. 2024, 15:15
par JC87
Hello,

Ce genre de rétrofit c'est typiquement la fausse bonne idée. Ton chargé d'affaire pense que ça coutera moins cher de mettre un M262 parce que c'est deux fois moins cher qu'un M340 mais tu va y passer trois fois (et je suis gentil) plus de temps pour faire la conversion. Au final ta boite aura perdu de l'argent mais ton chargé d'affaire dira que c'est entièrement de ta faute parce que tu es une quiche en programmation :mrgreen:

JC

Re: Programme TSX 3722 vers TM 262

Posté : 26 déc. 2024, 09:56
par Theogar
Bonjour Durando,

Merci pour votre retour.

J'ai oublié de préciser, mais l'instruction %MW2041:%MW660[%MW26] est programmé en ladder avec un bloc MOVE. J'ai quand même essayer de réécrire cet instruction en ST avec := et je n'ai plus d'erreur, mais maintenant j'ai une nouvel questions comment faire en ladder, parce que j'ai énormément d'instruction de ce genre dans le programme originel et de tout réécrire en LIST me prendra en temps fou.
Hello,

Ce genre de rétrofit c'est typiquement la fausse bonne idée. Ton chargé d'affaire pense que ça coutera moins cher de mettre un M262 parce que c'est deux fois moins cher qu'un M340 mais tu va y passer trois fois (et je suis gentil) plus de temps pour faire la conversion. Au final ta boite aura perdu de l'argent mais ton chargé d'affaire dira que c'est entièrement de ta faute parce que tu es une quiche en programmation :mrgreen:
Bonjour JC87, En effet :lol:, mais pour le coup mon chargé d'affaire est assez compréhensif et pour l'instant ne me rejette pas la faute sur le temps que j'ai passé a faire le rétrofit.

Re: Programme TSX 3722 vers TM 262

Posté : 27 déc. 2024, 19:08
par DurandO
Bonjour,
Theogar a écrit : 26 déc. 2024, 09:56 questions comment faire en ladder,
Il faut changer le language de IL vers LD.
Language.png
Si la conversion ne marche pas, creer un nouveau pou en changeant des le départ le language.

Re: Programme TSX 3722 vers TM 262

Posté : 28 déc. 2024, 14:25
par itasoft
Tu doit confondre avec soMachine Basic

Re: Programme TSX 3722 vers TM 262

Posté : 28 déc. 2024, 15:40
par JC87
itasoft a écrit : 28 déc. 2024, 14:25 Tu doit confondre avec soMachine Basic
Plus précisément "EcoStruxure Machine Expert Basic". S'il y avait un prix pour les noms de logiciels les plus tartignoles Schneider serait carrément hors concours tellement ils sont au dessus des autres à ce niveau :roll: :mrgreen:

JC