du st au ladder ou IL
Posté : 12 août 2016, 21:56
bonsoir a tous,
je veux créer un truc de ce genre XOZjPueNioI je suis habitué a l informatique , je suis plus familier avec le st , je l ai fait sous codeSys avec le code suivant
p1, p2, p3 sortie vers les electro-vannes
sleep est un FB que j ai crée , wait.Q prend true apres chaque clk temp c un signal pour passer a un autre etat
description détaillésur sleep code suivant
le probleme est que sur le marche seuls les automates puissants donc plus cher supportent le st, pour un projet aussi simple j aimerai pas utiliser un automate monstre ni depenser une fortune.
donc soit je trouve un automate pas chers qui supporte le st soit je transforme ce programme st en ladder ou IL ,le probleme est que je suis debutent j ai quelques notions dans ces deux langages mais il m est impossible de faire ca ,
svp, aidez moi a transfomer ce programme en IL ou ladder , si vous avez des idées sur d'automate a utiliser(preferences schneider) n'hesiter pas a me les proposer.
merci d'avence.
[EDIT de Brebiou] Ajout balise [YT169]
je veux créer un truc de ce genre XOZjPueNioI je suis habitué a l informatique , je suis plus familier avec le st , je l ai fait sous codeSys avec le code suivant
Code : Tout sélectionner
PROGRAM PLC_PRG
VAR
clk: TIME := t#1s;
wait: sleep;
states: ARRAY [0..14] OF BOOL := 1, 1, 1, (*0 FALSE éteint 1 TRUE allumé *)
1, 0, 1,
0, 1, 0,
0, 0, 0,
1, 0, 0;
i1: INT := -3;
i2: INT := -2;
i3: INT := -1;
p1: BOOL := FALSE;
p2: BOOL := FALSE;
p3: BOOL := FALSE;
END_VAR
_____________________________________________________________________________________
wait(TimeToWait := clk);
IF wait.Q THEN
i1 := (i1 +3) MOD 15;
i2 := (i2 +3) MOD 15;
i3 := (i3 +3) MOD 15;
p1 := states[i1];
p2 := states[i2];
p3 := states[i3];
END_IF;
sleep est un FB que j ai crée , wait.Q prend true apres chaque clk temp c un signal pour passer a un autre etat
description détaillésur sleep code suivant
Code : Tout sélectionner
FUNCTION_BLOCK sleep
VAR_INPUT
TimeToWait: TIME;
END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
tomporisateur: TON;
END_VAR
---------------------------------------------------
F tomporisateur.Q THEN
tomporisateur(IN := FALSE, PT:= TimeToWait);(*on remet tomporisateur.Q a false *)
END_IF;
tomporisateur(IN := TRUE, PT:= TimeToWait);
Q:= tomporisateur.Q;
donc soit je trouve un automate pas chers qui supporte le st soit je transforme ce programme st en ladder ou IL ,le probleme est que je suis debutent j ai quelques notions dans ces deux langages mais il m est impossible de faire ca ,
svp, aidez moi a transfomer ce programme en IL ou ladder , si vous avez des idées sur d'automate a utiliser(preferences schneider) n'hesiter pas a me les proposer.
merci d'avence.
[EDIT de Brebiou] Ajout balise [YT169]