PDA

Просмотр полной версии : owen_io.dll - ТРМ138



Соловьев Владимир
13.03.2007, 13:29
При использовании функций owen_io.dll ТРМ138 некоторое время отвечает, а потом вдруг совсем перестает (я наблюдаю за трафиком через COM-порт). Если "встряхнуть" ТРМ138 её конфигуратором, опять на некоторое время всё заводится. А потом опять перестаёт работать...

Мощицкий Павел
13.03.2007, 14:20
Соловьев Владимир
ТРМ138 некоторое время отвечает, а потом вдруг совсем перестает
Какая прошивка у ТРМ138 (высвечивается на индикаторе прибора при загрузки)?

Соловьев Владимир
14.03.2007, 05:12
При загрузке ЦИ-1 показывает "P037".

Соловьев Владимир
14.03.2007, 05:55
Кстати, функции ReadIEEE32, ReadSInt и др. дают ошибку, а LastErrToStr - пустую строку. К сожалению.

Малышев Олег
14.03.2007, 13:48
Попробуйте увеличить интервал между чтением параметров - например до 1 секнды

Мощицкий Павел
14.03.2007, 18:36
Соловьев Владимир
дают ошибку
Какую именно?
LastErrToStr - пустую строку
Какая дата создания у файла "owen_io.dll"?

Соловьев Владимир
15.03.2007, 05:28
Как понять - "какую ошибку"? В файле howto.txt для всех функций ReadXXXX написано, что при успехе они возвращают 1, а при неудаче - 0. А функции, возвращающей код ошибки, там нету. Так что я знаю только, что функция завершилась неуспешно. Это видно и по тому, что выходной параметр (напр., int &value) не изменяется.

Дата создания owen_io.dll - 9 сентября 2004 г. Древний, наверное?

Мощицкий Павел
15.03.2007, 13:13
Соловьев Владимир
Древний, наверное?
Конечно древний. Поэтому мы другу друга и не поняли. Запрашивайте новую версию по адресу pavel@owen.ru с указанием названия фирмы. Зная код ошибки гораздо легче определить, в чём дело.

Соловьев Владимир
19.03.2007, 10:37
С новой dll-кой стало работать лучше. Правда, какое-то время работает, а потом начинает возвращать -100 (Устройство не отвечает). Переоткрыть порт, SetupPort - не помогает. Но, если один раз запустить TRM138 Config, опять начинает работать.

Кабель последовательного порта проверял, преобразователь интерфейса менял - не помогает. Кстати, таймауты между обращениями к

функциям owen_io.dll тоже не помогли - извиняюсь, что сразу не ответил.

Малышев Олег
19.03.2007, 12:19
Уточните, какой преобразователь, какие параметры порта.
Какие теги Вы считываете?

Соловьев Владимир
19.03.2007, 13:07
Преобразователь у меня называется "Преобразователь интерфейса RS-485/RS232" производства НПФ "КонтрАвт".

Параметры порта: COM1, 9600, 8 бит, без контроля чётности, стоп-биты пробовал разные варианты.

Теги пока пробую только rEAd, n.Err и dr.dG.

Сейчас у меня устойчивый эффект: TRM138 Config устойчиво работает, моя программа не может добиться ответа ни на один тег. При этом при работе TRM138 Config сигнал DTR всё время установлен, а при работе моей программы - всё время сброшен...

Малышев Олег
19.03.2007, 13:50
Прошу все таки уточнить - преобразователь - автомат или с управлением с RTS. Если автомат в OpenPort Вы указываете CONV_AUTO???
Сигнал DTR не играет никакой роли. Настройки порта вполне обычные.

Мощицкий Павел
19.03.2007, 16:21
Соловьев Владимир
"Преобразователь интерфейса RS-485/RS232" производства НПФ "КонтрАвт".
Вы уверены, что у них есть собственные преобразователи? Может быть Вы имеете в виду http://www.contravt.ru/?id=1180 (I-7520)?

Соловьев Владимир
20.03.2007, 05:10
Преобразователь у меня называется "Преобразователь интерфейса RS-485/RS232" производства НПФ "КонтрАвт".

Параметры порта: COM1, 9600, 8 бит, без контроля чётности, стоп-биты пробовал разные варианты.

Теги пока пробую только rEAd, n.Err и dr.dG.

Сейчас у меня устойчивый эффект: TRM138 Config устойчиво работает, моя программа не может добиться ответа ни на один тег. При этом

при работе TRM138 Config сигнал DTR всё время установлен, а при работе моей программы - всё время сброшен. Как его насильно

установить - непонятно, потому что owen_io.dll не даёт handle открытого порта.

Соловьев Владимир
20.03.2007, 07:02
В OpenPort я использую RS485CONV_MANUAL - это хоть как-то работает. С RS485CONV_AUTO не работает вообще. А преобразователь интерфейса всё-таки НПФ "КонтАвт" - на нём наклеен "лэйбл" с этим наименованием, датой выпуска, серийным номером...

Малышев Олег
20.03.2007, 10:02
Однозначно, для данного преобр. нужно _AUTO. Для того, что бы он нормально работал попробуйте менять скорость

Соловьев Владимир
20.03.2007, 11:31
_AUTO не работает ни на какой скорости. Больше того, после того, как поэкспериментировал на _AUTO, перестало работать и на _MANUAL! Завелось только после того, как всё выключил минут на пять.

А ещё я наблюдал за работой драйвера порта. Сразу бросается в глаза разница между TRM138 и owen_io.dll - первая отправляет данные "оптом" с использованием WriteFile, а вторая передаёт символы по одному через TransmitCommChar. Может быть, тут собака и порылась?

Мощицкий Павел
20.03.2007, 15:58
Соловьев Владимир
А преобразователь интерфейса всё-таки НПФ "КонтАвт" - на нём наклеен "лэйбл" с этим наименованием, датой выпуска, серийным номером...
Скажите, а он похож на тот, что по приведённой мною ссылки?
Может быть, тут собака и порылась?
Если появились подобные подозрения, то скачайте с нашего сайта демо-версию OPM v.1.2 http://www.owen.ru/index.php?cp=T7device.php&docs=Soft
Тут есть ещё одна проблема. ТРМ138 - самый старый прибор, поддерживающий сетевой интерфейс RS485, поэтому параметра rSDL, там нет и промежуток между приёмом последнего байта посылки и отправкой первого байта квитанции 1-1.5 мс, не каждый преобразователь успееет переключиться между приёмом-выдачей. А конфигуратор не имеет жёстких рамок ожидания квитанции (ждёт не 50 мс, а 1 сек) и кол-во перезапросов увеличено до 5. У Вас нет больше приборов фирмы ОВЕН, кроме ТРМ138?
Пришлите Ваш код программы, где идёт использование библиотеки owen_io.dll на адрес pavel@owen.ru

Соловьев Владимир
21.03.2007, 12:27
Моя ТРМ138, не выдержав настойчивых экспериментов, вообще перестала отвечать всем программам. COM-порт исправен, проверил. Преобразователь интерфейса - тоже. У меня она один раз уже отказывала точно так же, но, после того, как простояла выключенной всю ночь, опять заработала. Может, она просто глючная? Как бы её проверить?

Мощицкий Павел
21.03.2007, 18:12
Соловьев Владимир
перестала отвечать всем программам
Как бы её проверить?
Только в Сервис-Центре. Список есть на сайте http://www.owen.com.ru/index.php?cp=T7support.php&uid=26570

Соловьев Владимир
26.03.2007, 12:47
купил преобразователь интерфейса ас3-м фирмы "овен" и все проблемы кончились - все программы работают!

большое всем спасибо!