PDA

Просмотр полной версии : Катушки в CoDeSys v2.3



Flicker
27.04.2012, 20:07
Здравствуйте, программированием в среде CoDeSys v2.3 занимаюсь впервые, прочитал не мало литературы, но остаются всегда вопросы, язык LD. Итак вопрос: Если в ПЛК110-60 на один выход назначить две разные катушки CoDeSys v2.3, работа будет корректна? И вообще такое возможно?
Из-за чего такой вопрос, программа выполняет первую операцию, после окончания переходит ко второй, к третьей, и после третьей возвращается к первой и после чего должен переходит к четвертой, у меня ни как не получается, пробовал триггеры, таймеры, не могу.

capzap
27.04.2012, 20:53
Здравствуйте, программированием в среде CoDeSys v2.3 занимаюсь впервые, прочитал не мало литературы, но остаются всегда вопросы, язык LD. Итак вопрос: Если в ПЛК110-60 на один выход назначить две разные катушки CoDeSys v2.3, работа будет корректна? И вообще такое возможно?
Из-за чего такой вопрос, программа выполняет первую операцию, после окончания переходит ко второй, к третьей, и после третьей возвращается к первой и после чего должен переходит к четвертой, у меня ни как не получается, пробовал триггеры, таймеры, не могу.

выход выполнит состояние последней катушки в проекте, а по поводу выполнения операций не по порядку, наверное так
VAR
tik: TON;
state: BYTE;
oldstate: BYTE;
END_VAR

(* @END_DECLARATION := '0' *)
CASE state OF
1:
tik.IN:=TRUE;
IF tik.Q THEN
state:=SEL(oldstate=3,2,4);
oldstate:=1;
tik.IN:=FALSE;
END_IF
2:
tik.IN:=TRUE;
IF tik.Q THEN
state:=3;
oldstate:=2;
tik.IN:=FALSE;
END_IF
3:
tik.IN:=TRUE;
IF tik.Q THEN
state:=1;
oldstate:=3;
tik.IN:=FALSE;
END_IF
4:
tik.IN:=TRUE;
IF tik.Q THEN
state:=1;
oldstate:=4;
tik.IN:=FALSE;
END_IF
END_CASE
tik(IN:=tik.IN,PT:=T#1s);

Flicker
27.04.2012, 20:59
выход выполнит состояние последней катушки в проекте, а по поводу выполнения операций не по порядку, наверное так

не могу запустить программу, и перевести в язык LD тоже не полчается

capzap
27.04.2012, 21:04
не могу запустить программу, и перевести в язык LD тоже не полчается
Вас заставляют что ли в ЛД делать?
Для того чтоб сконвертировать в ЛД, надо сперав в СТ компиляцию провести

Flicker
27.04.2012, 21:06
Вас заставляют что ли в ЛД делать?

нет, но другие языки для меня тяжеловаты

capzap
27.04.2012, 21:07
в школе бейсик дают, куда уж проще на СТ код читать

ЗЫ
Может потому не получается запустить, что я непредупредил, что переменной state надо самому присвоить 1(единицу)

Flicker
27.04.2012, 21:26
в школе бейсик дают, куда уж проще на СТ код читать

ЗЫ
Может потому не получается запустить, что я непредупредил, что переменной state надо самому присвоить 1(единицу)

Язык ST не настолько понятен, все же LD воспринимаю лучше. Если так попробую разобрать ST.
Ошибка требуется ST выражение

capzap
28.04.2012, 05:56
Язык ST не настолько понятен, все же LD воспринимаю лучше. Если так попробую разобрать ST.
Ошибка требуется ST выражение

значит где то есть либо пустое ПОУ, либо точку с запятой непоставили. Обычно двойным щелчком мышки, КДС выставляет курсор в предположительном месте ошибки