Modbus+IsaGraf+Wincon |
Ответить |
Автор | |
Новичок Присоединился: 15 Август 2006 Категория: Ukraine Online Status: Offline Публикации: 26 |
Опубликовано: 28 Декабрь 2006 19:22 |
Доброго времени суток!
Имеется следующая проблема: в среде разработки IsaGraf 3.5 имеются функциональные блоки для обмена с устройствами по протоколу модбас (mbus_r,mbus_n_w и т.д.) Работают они просто отлично за исключением одного но, так блок mbus_r после своей инициализации становится не управляемым, то есть после изменения значений на его входах (будь-то SLAVE_,ADDR_ и т.д.) не происходит никакой реакции,а при использовании LD диаграмм при подаче на вход функционального блока EN значения false (для прекращения посылки пакетов) контроллер продолжает выставлять последовательноси байт (и это самое обидное :( ). Подскажите, если кто встечался с таким вопросом, о возможности решения этой проблемы. |
|
Участник Присоединился: 01 Ноябрь 2005 Категория: Russian Federation Online Status: Offline Публикации: 51 |
|
Решение - использование других не менее замечательных функций ISaGRAF для работы с последовательным портом и своя реализация протокола, т.к. у функций mbus_r и т.п. есть существенный недостаток - количество одновременно считываемых регистров. |
|
Новичок Присоединился: 15 Август 2006 Категория: Ukraine Online Status: Offline Публикации: 26 |
|
В том то и дело, что количество одновременно считываемых регистров не имеет главный приоритет в данной задаче. А вот получить управление работой этих функциональных блоков очень бы хотелось. Реализация своего протокола в изаграфе вызывает ряд вопросов: насколько увеличится время программного цикла, каким быстрым получится опрос. Все-таки встроенные средства в этом аспекте в большинстве случаях выглядят по-лучше, чем своя реализация.
|
|
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
|
По сути дела, стандартные блоки Modbus не имеют почти никакого отношения к процессу обмена по последовательному интерфейсу. Всю работу выполняет виртуальное устройство mbus. Функциональные блоки просто "регистрируют" при запуске проекта каждое опрашиваемое устройство и получают в ответ от виртуального устройства mbus данные и признак наличия обмена.
Виртуальное устройство управлению не поддается. На счет своего протокола. В моей реализации время программного цикла таргета существенно уменьшилось (на i8437 80MHz - менее 10мс в среднем), хотя интенсивность обмена получилась ниже. Если заняться этим вопросом вплотную, думаю, можно добиться достаточно быстрого опроса и в собственной процедуре обмена. Я этим пока не заморачивался. |
|
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |