PDA

Просмотр полной версии : Пишeм пpocтoй пpимep



FVG-8
19.08.2008, 19:49
После прохождения версии 1 и компиляции получаю сообщение:

Oшибкa 4001: Дeйcтвиe Switch1 (4): Идeнтификaтop 'TRAFFICSIGNAL' нe oпpeдeлeн
Oшибкa 4024: Дeйcтвиe Switch1 (4): Дoлжнo быть 'End of IL Statement' пepeд '2'
-----------------------------------------------------------------------------
Действие Switch1 (IL) - SEQUENCE (PRG-SFC)

0001 LD 2
0002 ST TRAFFICSIGNAL1
0003 LD 4
0004 ST TRAFFICSIGNAL 2
0005 CAL DELAY(TIME_IN:=t#2s)

Прошу подсказать - где ошибка?

Малышев Олег
20.08.2008, 08:25
Если TRAFFICSIGNAL1 у вас глобальная переменная или объявлена в PLC_configuration то лучше написать .TRAFFICSIGNAL1

А вообще есть такая классная штука - input assistent - жмите где есть необходимость вставить переменую F2 и кликом мышки выбираете что нужно.

FVG-8
20.08.2008, 18:59
Ошибка найдена, благодарю, но дальше не могу продвинуться:

"SEQUENCE" вторая версия
Теперь немного усложним нашу программу. Разумно будет выключать наши светофоры на ночь. Для этого мы создадим в программе счетчик, который после некоторого числа циклов TRAFFICSIGNAL произведет отключение устройства.

Для начала нам нужна новая переменная COUNTER типа INT. Объявите её как обычно в разделе объявлений SEQUENCE.

Теперь выберете переход после Switch1 и вставьте ещё один этап и переход. Выберете результирующий переход и вставьте альтернативную ветвь вправо. После левого перехода вставьте дополнительный этап и переход. После нового результирующего перехода вставьте удаленный переход (jump) на Init.

Назовите новые части так: верхний из двух новых этапов нужно назвать "Count" и нижний "Off". Переходы будут называться (сверху вниз слева на право) EXIT, TRUE и DELAY.OK. Теперь новые части должны выглядеть как фрагмент, выделенный рамкой.

Кто поможет перевести это в SFC диaгpaммy, буду очень благодарен.
Я хочу пояснить, что это "Блoк yпpaвлeния cвeтoфopoм" из примера:
"Пишeм пpocтoй пpимep" Справки редактора CoDeSys.

Малышев Олег
21.08.2008, 08:53
Думаю вам поможет нажатие на правую кнопку мыши в области редактирования.
Состояние на SFC похоже не квадратик, а условие перехода на крестик