This is topic опять про MODBUS in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000480.html

Posted by Реуцкий Александр (Участник № / Member № 3206) on :
 
Добрый день!
у нас стои задача подключить к TM6 газоанализаор "Сигма-1М" через СОМ порт. газоанализатору задали адрес 1, скорость 19200 бод.
"Формат байт: 1 старт-бит, 8 бит данных, 2 стоп-бита.
При подключении "Сигма-1М" к СОМ порту, необходимо установить состояние сигналов RTS=1 и DTR=0.
Газоанализатор поддерживат два типа запросов на передачу данных: опрос всех текущих данных(функция 0Ch) и чтение двухбайтовых регистров (функция 03h).Второй способ удобен при использовании в SCADA-системах." (взято из руководству по эксплуатации)

"запрос чтения двухбайтовых регстров: 03h Read Holding Registers(адрес,03h,AH,AL,NH,CRC_L,CRC_H)
где: A=<AH:AL> - начальный адрес регистра
N=<NH:NL> - количество запрашваемых духбайтовых регистров"
(это тоже из руководства по эксплуатации)
я так понимаю эти данные необходимы дл связи с "Сигма-1М", но где их прописывать непойму.
я создал в TM6 COM порт вот его настройки:

номер порта: СОМ1
назначение: Master
Скорость:19200
базовый адрес:0х0
контоль четности:8-1-n
прерывание:4
управление передачей: RTS=on
таймаут:300
остальное: 0

и создал подтип Rin_Word(4), его параметры:


номер прта:0х0
адрес:0х1
канал:0х1
тип протокола:Modbus
направление:Input
формат:Дискрет

с такими настройками неработает.
подскажите что не так я селал и если есть у Вас пример работы с Modbus вышлите на адрес alreucky@mail.ru
заранее спасибо
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Базовый адрес COM порта не может быть равным нулю.
 
Posted by Реуцкий Александр (Участник № / Member № 3206) on :
 
поставил базовй адрес 0х3f8, как в справке все равно не работает.
пожалуйста вышлите пример подключения к Modbus для лицензионной версии 6.04
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. "запрос чтения двухбайтовых регстров: 03h Read Holding Registers(адрес,03h,AH,AL,NH,CRC_L,CRC_H)"
Отсюда следует, что Вам надо выбирать не Rin_Word(4), а Rout_Word(4)!
2. Какой конвертер Вы используете? Действительно ли необходимо устанавливать статические сигналы RTS=on и DTR=off?
RSX1-4.x, например, требует активного управления сигналом RTS без использования DTR. В нашей интерпретации это управление типа RTS.
В большинстве конвертеров, в том числе и в рекомендованных для газоанализаторов "Сигма-1М", существует режим AUTO, в котором внешнее управление приемо-передатчиком не требуется. Это наиболее удобный режим коммуникации.
При этом в настройках COM-порта в узле проекта надо выбрать тип управления "НЕТ".
3. Обращаем Ваше внимание на необходимость точного соблюдения выбора формата обмена: надо учитывать и количество стоп-битов, и контроль четности. М.б., Вам следует установить 8-2-n?
4. Каким образом Вы наблюдаете получаемое значение?
5. Есть ли у Вас индикация активности COM-порта?
6. У канала, запрашивающего Modbus-переменную, есть атрибут ДОСТОВЕРНОСТЬ (4). Чему он равен?
7. Запустите узел с ключом DEBUG=200. Это позволит получить в протоколе профайлера информацию по инициализации COM-порта и по транзакциям.
Можно также перехватить трафик COPM-порта с помощью какой-либо утилиты, например, COM-порта.
По протоколу профайлера или перехватчика можно увидеть, идет ли обмен и как именно.

PS. Вы так и не зарегистрировали профессиональную версию Trace Mode 6. Это ограничивает Ваши права на получение техподдержки. Если есть проблемы с регистрацией, обратитесь в службу техподдержки.
 
Posted by Реуцкий Александр (Участник № / Member № 3206) on :
 
Спасибо за совет. Получилось связаться с газоанализатором.
Сразу возник другой вопрос
ТМ выдает несовпадающие значения с LED экраном.
Например:
"Сигма-1М": 0
ТМ: 0
"Сигма-1М": 0,06
ТМ: 1022
"Сигма-1М":4,0
ТМ:5374
"Сигма-1М": >50 (Err)
ТМ: 65535

В ближайшее время зарегистрируем профессиональную версию ТМ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Число Float - это 4 байта.
Вы считываете только два байта. Возможно Вам нужно воспользоваться функцией Rout_Float(3).

2. Возможно Вам нужно просто настроить в канале множитель.
 
Posted by Реуцкий Александр (Участник № / Member № 3206) on :
 
все спасибо за помощь. разобрался. Нужно было расчитать множитель в разделе масштабирование.единственное погрешность есть небольшая, в выводимых данных.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2