WAGO 750-841 и OPC |
Ответить | Страница <1 456 |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
Опубликовано: 08 Ноябрь 2011 16:30 |
Это функциональный блок. Вы его вызвать, случаем, не забыли?
|
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 03 Сентябрь 2011 Online Status: Offline Публикации: 22 |
|
Я его вызывал так: pi(); Это правильно? По крайней мере компилятор не возражает. Ещё я хотел оценить время выполнения программы, делал это так: rez:= SysIECTaskGetInfo('PRG_ST',ADR(TaskInfo)); но результат всегда нулевой независимо от названия задачи (перепробовал массу имён задачи, а она у меня одна). |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
На мой взгляд, вот это должно работать:
PROGRAM PLC_PRG VAR PI: PI_INFORMATION; DI_OFS: WORD; DI_LEN: WORD; DO_OFS: WORD; DO_LEN: WORD; END_VAR PI(); DI_OFS := PI.INPUTBITS_OFFSET; DI_LEN := PI.DIGITAL_INLENGTH; DO_OFS := PI.OUTPUTBITS_OFFSET; DO_LEN := PI.DIGITAL_OUTLENGTH; Проверить сейчас, к сожалению, не могу - контроллера под рукой нет. Еще есть тонкости с версиями прошивок. Думаю, вам подойдут версии, начиная с FW12: они умеют автоматически генерировать конфигурацию контроллера, если её нет, а это как раз то, что вам нужно. По поводу SysIECTask... не подскажу - не пользовался ими. Лучше спросить на форуме по CoDeSys. Но можно в онлайне зайти в PLC Browser и посмотреть там статистику. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 03 Сентябрь 2011 Online Status: Offline Публикации: 22 |
|
PI(); возвращает FALSE и в структуре все нули. Так что не работает...
А что такое PLC Browser в онлайне? |
|
Новичок Присоединился: 03 Сентябрь 2011 Online Status: Offline Публикации: 22 |
|
Вопрос есть по диагностике: может ли программа в 841 контроллере обнаруживать потерю связи с верхом (чтобы предпринять действия)? Например, узнать число TCP подключений или даже наличие связи с ethernet коммутатором?
Спасибо. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Попробовал приведенную выше программу на 750-841 SW 13. Работает.
PLC Browser - это полезная функция в Codesys. Её можно найти в проекте на закладке ресурсов. С его помощью можно общаться с контроллером в диалоговом режиме. Команда tsk, например, выдает такую информацию: Number of Tasks: 1 Task 0: DefaultTask, ID: 0 Cycle count: 209961 Cycletime: 1 ms Cycletime (min): 1 ms Cycletime (max): 3 ms Cycletime (avg): 1 ms Status: RUN Mode: UNHANDLED ---- Priority: 1 Intervall: 0 ms Event: NONE ---- Function pointer: 16#00CD0454 Function index: 82 На следующий вопрос постараюсь развернуто ответить позже. Но вкратце - если вы используете встроенный сервер Modbus, то управлять его работой не получится, а получить его диагностику трудно. Но кое-что сделать все-таки можно. Есть регистры Modbus, считывая значение которых, можно получить некоторую диагностическую информацию. О них сказано в описании. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 03 Сентябрь 2011 Online Status: Offline Публикации: 22 |
|
Если речь идёт про Configuration Register, то я легко добираюсь к ним через Modbus по сети по адресам начиная с 0x1000, но из контроллера не получается туда добраться - не понял как адресовать. |
|
Новичок Присоединился: 03 Сентябрь 2011 Online Status: Offline Публикации: 22 |
|
PI() сработало! Что-то я не так раньше делал.... Спасибо!
|
|
Новичок Присоединился: 03 Сентябрь 2011 Online Status: Offline Публикации: 22 |
|
О и SysIECTaskGetInfo() заработало! Я просто не догадался до имени DefaultTask, а так и PLC_PRG пробовал... СПАСИБО!
Остался вопрос, как из контроллера достучаться к конфигурационным регистрам (Configuration Register)? |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Единственный способ, который я знаю - обратиться к самому себе по Modbus. Где-то в памяти должны лежать эти регистры, но где - неизвестно. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Ответить | Страница <1 456 |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |