и действительно... не подумал. можно рассылку по Udp сделать - вообще просто будет.
и действительно... не подумал. можно рассылку по Udp сделать - вообще просто будет.
создаю в конфигураторе модбус слэйв. в нем тср и две переменные по 2 байта.
из дельфи пытаюсь прочитать по адресу тср плк его регистры. не читает. чё уже только не делал.
хелп, что ещё надо для того чтобы плк отвечал по модбусу?
проверить на рабочем клиенте. например, modpoll или какая-нибудь scada.
ребят дайте плиз ссылку на компоненту орс под дельфи. нашёл какие-то две компоненты, но без примеров и не понятно как работают...
сенкс за помощь...
В дельфи даю такую команду на запись значения.
OPC.OPCGroups.GetOPCGroup('Group1').OPCItems.Item( 'PLC1:.Out1').Write(1);
Вылетает с такой ошибкой:
<a target="_blank" href="http://www.radikal.ru"><img src="http://s61.radikal.ru/i174/1009/ba/cb72e3673a1b.jpg" ></a>
Что делать?
Вы проверяли на рабочей SCADA-системе? OPC-сервер CoDeSys настроили?
Какие результаты?
Если не проверяли, то начать надо с изучения пособия "Использование OPC-сервера CoDeSys для подключения ПЛК...". Там всё понятно расписано. Если заработает на SCADA-системе, тогда будет предметный разговор. А пока только вилами по воде![]()
Проще всего в ПЛК использовать библиотеку SysLibSockets (слать и принимать данные по UDP)
В Дельфях тоже есть аналогичные средства (я решал такую задачу на C#)
Чтобы данные не терялись, можно использовать избыточность или диалоговый режим
Последний раз редактировалось Leonid; 10.09.2010 в 22:33.
Всем доброго времени суток!!!
Ребят подскажите пожалуйста как работать вот с этим компонентом для делфи http://sourceforge.net/projects/delphimodbus/. Из CoDeSys по ModBus TCP работаем нормально - IP заводской (10.0.6.10), порт 502. ПЛК - ModBus slave. Попытавшись прочитать первый регистр примером, приведенным в данном компоненте (мастером, то есть клиентом) получаем вот такое сообщение с ошибкой - "Сonnection Сlosed Gracefully".
Сеть на ПК настроена вроде правильно (так как из CoDeSys связываемся нормально), Ip адрес поставлен 10.0.6.10 (вроде по этому адресу стучиться, так как при смене IP выводит сообщение о том что вообще не подсоединяется), порт=502. Но достучаться до ПЛК все равно не можем.
При запуске slav-а примера, при соответствующей смене IP адреса нормально все читаем.
Подскажите пожалуйста кто работал с этим компонентом в чем проблема? Может какие другие компоненты есть? Интересует именно связь с ПЛК по Ethernet по ModBus TCP посредством делфи. Может я просто что не так делаю? Очень нужна помощ!!!!!!!! Заранее всем откликнувшимся благодарен!!!!!!!!!!
Во вложении привожу скриншоты настройки ПЛК
Последний раз редактировалось Alex_Kos; 23.05.2011 в 21:52.
А не иогли бы Вы выложить какой нибудь элементарный пример на C#?
Дело в том что я сейчас стою на распутье Delphi или C#, Delphi мне более понятен, но многие советуют С#, мол лучше значительно.
А так как упехов пока особых нет, то есть возможность пойти по любому из путей.
Спасибо!
capzap спасибо за подсказку!!! Действительно, в компоненте по умолчанию стоит 255 (UnitID). Поменял на соответствующий и все нормуль )).
Вопрос может не по ветке но всеже, не кинет кто-нибудь ссылку или выложит компоненты iocomp для Delphi 2009?