Débutant portage programme somachine

Forum traitant des automates industriels de marque Schneider - Telemecanique
alex01
Code sa première boucle
Code sa première boucle
Messages : 11
Enregistré le : 29 sept. 2016, 09:01

Débutant portage programme somachine

Message par alex01 »

Bonjours à tous ,

Je me suis inscrit sur ce forum car je débute sur somachine et j'ai quelques question sur lesquelles vous pourrez très certainement m'éclairer.
Alors dans l'ordre :

1) Sur Somachine basic il m'était facile de passez du langage ST à LD , or sur somachine 4.1 la fonctionnalité disparaît lorsque le programme devient complexe (notamment pour passez de ST à LD) ?
Est ce normal ?


2) Voici un extrait d'un programme d'un très ancien automate , qui à été porté par un sous traitant pour les automates Schneider TM251

* Tim presence chariot plein 2 secondes **
LIRE ep0
ET CapDep
ET CapBlo
DTP #20 TimCPl2s

LIRE TimCPl2s
SET MeChPl

Cela ressemble à de l'assembleur françisé ?

Voici le portage réalisé :

(* Tim presence chariot plein 2 secondes *)

TimCPl2s_TON(IN:=(ep0 AND CapDep AND CapBlo),PT:= T#2S );
TimCPl2s:=TimCPl2s_TON.Q;

IF(TimCPl2s) THEN
MeChPl:=TRUE;
END_IF;

Le portage ressemble à du langage C pour moi , cependant je ne comprend pas la façon de déclarer ce TIMER.

3) Voici un autre extrait du même programme pour vous donnez une idée , pensez vous que l'on peut charger tel quel ce type de programme porté pour automate Schneider , dans n'importe quel automate Siemens Omron ou autre ?

IF(TimCPl2s AND (NOT MeChPlT) AND (NOT MeChViT) AND (NOT MeChAc) AND fm01S) THEN
MoChPlT:= MoChPlT +1;
IF(MoChPlT > MoVal600) THEN
MeChPlT:=TRUE;
END_IF;
END_IF;


Si vous pouviez m'éclairer sur ces quelques points , merci d'avance
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: Débutant portage programme somachine

Message par itasoft »

slts,
rien compris
1) Sur Somachine basic il m'était facile de passez du langage ST à LD ,

sur SoMachine Basic ya pas de langage ST mais langage LIST

ceci dit, dans aucun cas on ne peut passer de ST à LADDER
Automaticien privé (de tout)
itasoft@free.fr
alex01
Code sa première boucle
Code sa première boucle
Messages : 11
Enregistré le : 29 sept. 2016, 09:01

Re: Débutant portage programme somachine

Message par alex01 »

Effectivement oui je parlais bien du langage LIST et non ST , autant pour moi.

Je vais reformuler mes questions:

1) Sur SoMachine Basic en 1 clic , je peux passez de LIST à LD ou inversement , mais sur SoMachine 4.1 dès que le programme devient un peu complexe , la fonctionnalité pour passez de l'un a l'autre disparaît. est ce une limite de somachine 4.1 ?

2) * Tim presence chariot plein 2 secondes **
LIRE ep0
ET CapDep
ET CapBlo
DTP #20 TimCPl2s

LIRE TimCPl2s
SET MeChPl

Le portage realisé :

(* Tim presence chariot plein 2 secondes *)

TimCPl2s_TON(IN:=(ep0 AND CapDep AND CapBlo),PT:= T#2S );
TimCPl2s:=TimCPl2s_TON.Q;

IF(TimCPl2s) THEN
MeChPl:=TRUE;
END_IF;

Cet extrait de programme provient d'un automate de 1995 , le retrofit qui va être réalise va remplacer tous ces anciens automates par des automates Schneider TM251.
Donc un portage à été fait par un de nos sous traitant afin que ce programme puisse fonctionner sur les nouveaux automates.

Dans ce programme , il y'a un timer qui est utilisé , or je ne comprend pas trop la manière dont le sous traitant à déclarer ce timer au sein du portage.

3) Enfin , est ce que ce code qui à été porté pour un automate Schneider , est susceptible de fonctionner tel quel sur un automate d'une autre marque ( omron , siemens)

Voila merci d'avance , j’espère avoir été plus clair
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Débutant portage programme somachine

Message par philou77 »

Salut !

1 / si tu peux pas et bien c'est ou mal écrit ou impossible..il y a pas à chercher plus loin..

2 / le ST et le list ne sont pas identiques.. donc des différences surviennent !

le portage à l'air correct et on peut réaliser les mêmes choses sur tous les automates (heureusement) seul le language diffère !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2231
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Débutant portage programme somachine

Message par JC87 »

Bonjour,

Ce qu'il faut comprendre c'est que sur des petits automates du type du M221 le langage de base avec lequel travaille l'automate est le List et le ladder qu'on peut utiliser n'est qu'une transcription exacte du list. C'est pour ça que c'est facilement réversible. Sur les automates qui comportent les 5 langages de la norme IEC, les langages sont autonomes et présentent des différences significatives, d'ailleurs le List n'est là que pour faire plaisir aux allemands :mrgreen: donc la réversibilité est rare. SoMachine basic et SoMachine tout court n'ont rien a voir a part un nom qui est là pour des raisons marketing. Je ne connais pas SoMachine mais ça ne me surprend pas du tout qu'on ne puisse pas passer d'un langage à l'autre, après tout c'était déjà le cas en Unity ou en PL7 Pro.

Pour la tempo, la conversion me semble tout a fait correcte, c'est juste une syntaxe particulière au logiciel mais ça ressemble à Unity donc à du Littéral normé car SoMachine est basé sur Codesys qui respecte totalement la norme IEC. Pour la conversion entre marques, tout est possible mais selon le ou les langages disponibles et l'age de l'automate ça peut être plus ou moins simple. Aujourd’hui les langages s'uniformisent entre les marque pour respecter cette fameuse norme et ça facilite les conversions. A une époque pas si lointaine passer d'un automate à l'autre pouvait demander beaucoup de travail.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
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: Débutant portage programme somachine

Message par itasoft »

slts,
ça s'appelait langage Teutons puis ils l'ont renommé LIST
LOL
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
JAPIB
Aguerri de l'automation
Aguerri de l'automation
Messages : 84
Enregistré le : 20 oct. 2015, 23:32
Localisation : Lyon

Re: Débutant portage programme somachine

Message par JAPIB »

Avec CODESYS V3 d'où est issue SOMachine, la conversion IL-LD-FBD est tout à fait possible.
On la trouve dans l'option du menu principal nommée "FBD/LD/IL" entre "Projet" et "Créer".
Enfin tout au moins sur CODESYS ! Parce que Schneider à pu modifier des choses sur SoMachine. C'était le cas avec les premières versions ou beaucoup de raccourcis clavier de CODESYS avaient été modifiés. :roll:
Cette conversion fonctionne bien mieux qu'en Siemens, sauf si on utilise l'instruction front (le contact avec la lettre P ou N à l'intérieur) en LD ou FBD mais qui n'existe pas en IL. :o
Par contre il est impossible de convertir automatiquement les langages ST, SFC et CFC.
Par contre la conversion avec un cerveau et des doigts agiles fonctionne bien :D
or3l
Première mise en service
Première mise en service
Messages : 53
Enregistré le : 14 sept. 2016, 21:44
Localisation : Ardéche

Re: Débutant portage programme somachine

Message par or3l »

Salut
D ailleurs qqun peut me dire comment utiliser un front en ST .
J ai test RE mais ça a pas l air d être ça ....

Aussi j utilise if .... Then xvar:=1 pour alimenter une bobine comme un set, mais comment faire pour alimenter une bobine sans la set ??

Avec Else xvar:=0 ?


Merci
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: Débutant portage programme somachine

Message par itasoft »

slts;

IF(TimCPl2s) THEN
MeChPl:=TRUE;
ELSE MeChPl:=FALSE;
END_IF;

Équivaut à:
MeChPl:=TimCPl2s;
Automaticien privé (de tout)
itasoft@free.fr
isolet
Apprend le binaire
Apprend le binaire
Messages : 1
Enregistré le : 03 oct. 2016, 14:28

Re: Débutant portage programme somachine

Message par isolet »

bonjour,
quelqu'un pourrais m'aider pour mon programme svp
je veux créer un historique sur un automate M172 avec le logiciel somachine HVAC ,j'ai fait sa pour le moment mais sa me dit qu'il y a une erreur a la ligne 2 et je bloque :

trig(clk:=start1);
IF trig.q:=TRUE THEN
arrtab.valeur1:=valeur11;
arrtab.valeur2:=valeur22;
arrtab.valeur3:=valeur33;
arrtab.valeur4:=valeur44;
arrtab.valeur5:=valeur55;
arrtab.defaut:=defaut11;
arrtab.date_heure:=date_heure1;
i:=i+1;
end_if;


if i >=100 then
i:=0;
end_if;

avec se programme je veux inscrire les valeurs en entré dans un tableau a chaque front montant de start1 que je remplacerais par un timer plus tard.
Ou alors si vous avez un autre programme a me proposer pour créer un historique , je suis preneur :)
Répondre