PDA

Просмотр полной версии : ПЛК-100 и owen_io.dll



xvs
17.05.2012, 09:38
Добрый день!

Очень прошу помощи в решении задачи. Вкратце суть такова:

Разрабатываю АРМ для производственной линии. Пишу в BDS2006. Использую библиотеку owen_io.dll. С такими приборами как ТРМ138, СИ8, МУ110 и т.д. проблем организации обмена не возникает - библиотека отлично всё отрабатывает. Но с ПЛК100 что-то никак не получается.
Что я сделал: в ПЛК добавил модуль OWEN(Slave), назначил адреса и переменные, в программе ПЛК синхронизировал переменные. Обмен по RS-485. Проблема: При обращении к переменным библиотека вываливается в эксепшн "Access violation at adress 100055CA in module owen_io.dll... "

Как сказал бы Чернышевский, - "Что делать?".
Заранее спасибо всем откликнувшимся.

Николаев Андрей
17.05.2012, 09:45
Ну во первых Вам нужен Owen Master.
А во вторых к нему никакие библиотеки уже не нужны - он сам является библиотекой...

xvs
17.05.2012, 11:11
прошу прощения за сумбурность первого поста.
в моем случае, АРМ это обычный ПК с интерфейсом RS-485. ПК выступает в роли мастера, посылая команды чтения\записи переменных в приборы.
поэтому от библиотеки не получится отказаться. Может быть это можно осуществить с ПЛК без owen_io.dll?

Николаев Андрей
17.05.2012, 13:35
А... понял.
Что могу порекомендовать.
1. Переходите на ModBus.
2. Если первое не возможно, но в ПЛК формируйте ОВЕН Slave по аналогии с каким то из приборов ОВЕН.

Дмитрий Егоренков
17.05.2012, 13:58
проверить объявление метода библиотеки, который вы вызываете, и параметры, которые в него передаете.

xvs
17.05.2012, 14:19
спасибо.

если не затруднит, выложите пример вызова функции, например, ReadSInt для собственной переменной в ПЛК-100.

Дмитрий Егоренков
17.05.2012, 17:15
а смысл? библиотека работает с протоколом ОВЕН, а не с ПЛК. вызывайте так же, как для любого другого прибора.