PDA

Просмотр полной версии : Считывание данных с TЭКОН-17


BoNiel
12.12.2012, 23:02
производим внедрение скады и встал вопрос написать драйвер для ТЭКОН 17
ну вродебы дело нехитрое. почитали доки, сделали драйвер, начали тестировать и видим следующее
(кстати подключение к ТЭКОН через RS232)
Формируем запрос (например для простоты получение сетевого номера прибора)
пакет получается следующий (далее все в десятичной системе)
16
64
0 - адрес прибора проверили
01
64
60
0
189
22
скорость 9600 четности нет
отправляем
приходит
4
21
?????
ладно формируем пакет в версии 1.1, отправляем, приходит
4
21
очень большая просьба. натыкайте нас неразумных носом что и где мы нетак делаем.
Заранее спасибо.

Pablo
13.12.2012, 10:32
Самое главное, что Вы делаете не так - это пытаетесь изобрести велосипед. Рекомендую Вам воспользоваться готовым ОРС-сервером ТЭКОН - это гораздо проще и дешевле, чем разрабатывать его самим. Скачать ОРС-сервер можно по следующей ссылке http://kreit.ru/programmes/30.html

BoNiel
13.12.2012, 11:03
Если бы было всё так просто. конечно если у вас есть ОРС сервер под 4 QNX мы с радостью рассмотрим этот вариант

Olga
13.12.2012, 14:59
Добрый день!
Судя по ответам от Тэкона в нем запрограммирован "традиционный" протокол обмена, а Ваши запросы сформированы для Ft1.2.
Проверьте, пожалуйста, что на Тэконе запрограммировано в описании протокола 00 48 (hex), а не 00 00
Посмотреть на индикаторе Тэкона :
настройка - константы пользователя - обмен по сети - основной канал (или интерфейсный модуль, как у Вас физически подключен) - номер
Если у Вас запрограммирован традиционный протокол, то перепрограммируйте на FT1.2 и перевключите питание Тэкона

BoNiel
13.12.2012, 18:03
Спасибо. действительно переключили прибор на 1.2 всё заработало. (странности правда имеются но не суть)

есть ещё вопросик.
в мануале есть туманное описание как хранятся вещественные числа в тэконе. полдня мозолю мозг.

не можете ли вы поделиться готовой функцией перевода в формат PC.
Заранее спасибо

BoNiel
14.12.2012, 12:07
Примерный алгоритм нашел на форуме.

есть ещё такой вопрос.

в ответной квитанции вторым байтом должен приходить
0

у нас почемуто приходит
63 десятичное

это нормально?

остальная структура пакета вроде как правильная.

Olga
14.12.2012, 14:52
Добрый день!

Вы учитываете, что в Ft1.2 запросы и ответы могут быть двух типов ?
постоянной длины ( до 4 х байтов), например запрос времени
>>10 40 01 01 40 15 00 97 16
<<10 00 01 0D 2D 00 00 3B 16
или произвольной длины : Текущие отказы блока
>>10 40 01 01 40 42 00 C4 16
<<68 0A 0A 68 00 01 00 00 00 00 00 00 00 00 01 16
может быть Вы запрашиваете параметр, длина которого больше 4х байтов ? или более, чем одно архивное значение ?
приведете Вашу посылку и ответ , естественно в шестнадцатеричном виде))

BoNiel
14.12.2012, 14:58
отправляемый пакет (в десятичной системе)
16
64
01
01
01
17
00
84
22

получаемый пакет

16
63
1
124
63
128
63
121
22

Olga
14.12.2012, 15:30
Я у Вас попросила посылку в шестнадцатеричном виде, давайте договоримся об этом на будущее.
Ваш ответ :
10 3F 01 7C 3F 80 3F 79 16
Естественно 3F вместо 00 быть не должно, как впрочем и контрольная сумма в той посылке не совпадает.
Проверьте, кстати перевод плавающих чисел — 7C 3F 80 3F = 0,03101
Правильность подключения ТЭКОН Вы можете проверить с помощью программы «Проверка связи» во вложении. Если в этой программе ответы запросы будут корректны — проверяйте функцию приема в Вашей программе, если нет — проверяйте подключение к ТЭКОНу.