PDA

Просмотр полной версии : Не работает проект в ПЛК63



Push_ON
19.02.2011, 21:47
Работаю с этим ПЛК в первые.
Создал проект, эмуляция работает, загружаю в ПЛК - в нем не робит.
Мои действия:
подключаюсь онлайн, вопрос "программа была изменена, загрузить?" ->ДА
идет полная загрузка 1778байт.
инициирую вход контроллера - реакции на процесс никакой, ощущение что программы в нем нет. В месте с тем я вижу в конфигураторе , что DInputs подсвечивает квадратик и на панели контроллера 1, а при принудительной записи переменной на выход REAL от 1 релюшка в ПЛК переключается.

в меню Онлайн надпись "Создание загрузочного проекта" не активно, "Записать/считать файл ПЛК" тоже.

Версия кодесиса 2.3.9.25, ПЛК - 1.89 10.0с

Может я что не так делаю, запарился уже:confused:

lara197a
19.02.2011, 23:43
сделайте перезагрузку плк
Для перезагрузке прибора используется следующая комбинация кнопок:
"Пуск/стоп"+"Ввод" +"выход" . Данная комбинация кнопок работает во всех режимах индика-
ции. Данная комбинация кнопок может понадобиться, например для того,
чтобы вступили в силу новые значения параметров характеристик дискрет-
ного входа. (подробнее см. п. 3.6).

выберете сброс EEprom.

Николаев Андрей
20.02.2011, 01:00
Сброс контроллера и Еепром вещи полезные.
Но скорее всего у Вас трабл в программе - скорее всего у Вас дублированны имена переменных, отвечающих за выходы. То есть Вы видимо поименовали в конфигурации выхода, и потом в программе такие же имена еще раз объявили.

В Меню Онлайн нет команд записать и считать, так как контроллер не имеет такого ресурса и размера Flash как ПЛК100 и проект АВТОМАТИЧЕСКИ записывается в контроллер.

Push_ON
20.02.2011, 09:05
делал сбросы всякие кодесисом.
В скринах моя тестовая прога.

Что значит: "видимо поименовали в конфигурации выхода, и потом в программе такие же имена еще раз объявили"?

Да это есть. Я так понимаю, что поименованые входа/выхода в программе потом должнвы быть указаны в конфигурации, а то как же ПЛК поймет какие входа выхода задействовать. Тем более это было на примерах указано.

http://fotki.yandex.ru/users/vlasho/view/323234/?page=0

http://fotki.yandex.ru/users/vlasho/view/323235/?page=0

Николаев Андрей
20.02.2011, 12:33
Не расстраивайтесь - стандартная ошибка.
1. Если Вы физически вписываете имена переменных в PLC Configuration - эти переменные автоматически объявляются как Global Variables, и в дальнейшем их не надо объявлять.
2. Вы в своей программе эти переменные еще раз в PLC_PRG объявили как локальные.

Ну и соответственно локальные приоритетней глобальных. Вот и весь секрет.
Выход: просто удалите в PLC_PRG объявление переменных, которые Вы уже объявили в PLC Configuration...

И еще одно:
В PLC_PRG не должно быть var_input и var_output.
Эти типы переменных создаются, когда вы пишите подпрограммы, которые будут вызываться в основной программе.
В PLC_PRG все переменные Var.

Push_ON
20.02.2011, 15:17
Большое спасибо, за подсказку! Заработало.
Я убрал имена в конфигураторе и прописал адреса в "описании переменных".
Неудобство в том, что в букварях этого не было описано.

Николаев Андрей
20.02.2011, 17:12
Ну или так. Только не забудьте, что не смотря на то, что Вы объявили их в PLC_PRG эти переменные все-равно будут глобальными...
В букварях есть. Возможно не совсем однозначно и наглядно правда...