This is topic Проблемы с модулями ввода-вывода 7000 серии in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.


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

Posted by Novokam (Участник № / Member № 32) on :
 
Формат команды аналогового вывода для I-7021: #AAxx.xxx
для I-7021: #AAxx.xxx
для I-7022: #AANxx.xxx
для I-7024: #AANyxx.xxx
где АА - адрес модуля, N - номер канала, у - знак, х - цифра.
Как вы реализовали это? К чему вопрос -
У нас не работает модуль I-7022, начали выяснять, контроллер для опроса модуля выдает команду #AANyxx.xxx вместо #AANxx.xxx соответственно модуль его игнорирует.
Подозреваю что и с I-7021 возникнет та же проблема.
Какие модули аналогового вывода поддерживает Trace Mode? Как сделать так чтобы заработали модули 7021 и 7022.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Модули I-7022 появились несколько позже остальных и с отличиями в протоколе.
В релизе 5.11 эти отличия учтены.
Я пошлю Вам на адрес Вашей организации измененную библиотеку DCS.DLL для рабочих станций.
Соответствующие изменения в микроМРВ ЛАГУНА БУДУТ ВНЕСЕНЫ С ВЫПУСКОМ РЕЛИЗА.
 
Posted by Novokam (Участник № / Member № 32) on :
 
Уважаемая AdAstra!
У нас снова проблемы с модулями, на этот раз с модулем I7080.
Формат команды чтения счетчика/частотомера таков:
#AAN, где AA-байтовый адрес, N-номер читаемого канала. Мы испытывали счетчик в терминальном режиме с помощью этой команды - всё работает. В протоколе передачи данных TRACE MODE мы обнаружили, что посылаемая им команда для опроса модуля имеет формат #AAS/CN.
К чему здесь символы S/C? Что нам делать?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Я перепроверил описанную Вами ситуацию в МРВ релиза 5.10 в профессиональном и базовом форматах.
Запрос формируется в точном соответствии с протоколом обмена: #AAN, где AA-байтовый адрес, N-номер читаемого канала.
Если у Вас не обнаружатся какие-либо дополнительные обстоятельства, пришлите нам, пожалуйста, Ваш проект.
 
Posted by Novokam (Участник № / Member № 32) on :
 
Какой тип канала Вы берете для модуля I7080?
Когда выбираем дополнение к подтипу канала Frq/Counter, получаем описанную нами выше ситуацию.
При выборе дополнения к подтипу канала Ain со смещением 0x20, получаем команду #AAN, где N=P, где, очевидно, P - это представление числа 0x20.
Без смещения получаем правильный опрос #AAN, где N - номер канала. Ответ получаем в формате HEX, который TM воспринимает как FLOAT. Соответственно,переменную формата HEX, где присутствуют буквы, при чтении её каналом формата FLOAT, TM не воспринимает.
Работаем в TRACE MODE 5.10 Professional, подключили присланную Вами по почте динамическую библиотеку DCS.dll.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Я еще раз именно в релизе 5.10 перепроверил реализацию этих запросов с посланной Вам библиотекой.
В проекте был канал DCS/AIn/ADDR=02/CH=0020 (для опроса счетчиков в модулях дискретного ввода)
и канал DCS/Frq/Counter/ADDR=01/CH=0001(для опроса счетчика в модуле I-7080).
В протоколе профайлера (в отсутствие модулей) были следующие записи:

#011
= 5
= 0
RS:COM 2 check error
#020
= 5
= 0
RS:COM 2 check error

Аналогично перехватчик последовательного порта выдал следующие записи (в Hex- и текстовом форматах):
0.00004610 DrawServ.exe IRP_MJ_WRITE Serial1 SUCCESS Length 5: 23 30 31 31 0D
0.00004721 DrawServ.exe IRP_MJ_WRITE Serial1 SUCCESS Length 5: #011.

0.00004637 DrawServ.exe IRP_MJ_WRITE Serial1 SUCCESS Length 5: 23 30 32 30 0D
0.00004777 DrawServ.exe IRP_MJ_WRITE Serial1 SUCCESS Length 5: #020.

Все это говорит о том, что формируемые запросы соответствуют протоколам модулей.
Видимо, дело либо в методах наблюдения, либо в реализации проекта.
 
Posted by Novokam (Участник № / Member № 32) on :
 
Мы наблюдаем программой "гипертерминал" из комплекта WIN NT 4.0. протокол передачи данных между контроллером и модулями ввода-вывода.
Подключаемся к COM-порту модулей ввода-вывода через преобразователь интерфейса 7520 .

Эксперимент №1
Для 7080 используем канал DCS/Frq/Counter/ADDR=05/CH=0000 и канал DCS/Frq/Counter/ADDR=05/CH=0001
В протоколе видим:
#05S/C0 //запрос
#05S/C1 //запрос
Тогда как должно быть:
#050 //запрос
>00000000 //ответ в формате НЕХ
#051 //запрос
>00000000 //ответ в формате НЕХ

Эксперимент №2
Для 7080 используем канал DCS/Ain/ADDR=05/CH=0000 и канал DCS/Ain/ADDR=05/CH=0001
В протоколе видим:
#050 //запрос
>000000A1 //ответ в формате НЕХ
#051 //запрос
>00000000 //ответ в формате НЕХ
ТМ воспринимает ответ в формате НЕХ как значение FLOAT.
Поэтому ответ >000000A1 в первом канале воспринимае как 1
(Буквы-то ТМ не видит при чтении аналоговых входов).

Эксперимент №3
Для 7080 используем канал DCS/Ain/ADDR=05/CH=0020 и канал DCS/Ain/ADDR=05/CH=0021
В протоколе видим:
#05P //запрос
#05Q //запрос

Короче, мысли по поводу правильного использования 7080 в качестве счетчика/частотомера при помощи ТМ у нас кончались.

Начинаем искать выход - берем модуль 7065

Эксперимент №1
Для 7065 используем канал DCS/Ain/ADDR=05/CH=0020 и канал DCS/Ain/ADDR=05/CH=0021
В протоколе видим:
#05P //запрос
#05Q //запрос

Эксперимент №2
Для 7065 используем канал DCS/Ain/ADDR=05/CH=0000 и канал DCS/Ain/ADDR=05/CH=0001
В протоколе видим:
#050 //запрос
!0500000 //ответ в формате DEC
#051 //запрос
!0500000 //ответ в формате DEC
Легким движением руки, вычитая из значения канала число 500000, получаем реальное значение счетчика.
Вроде бы все ничего.

Теперь пытаемся сбросить счетчик.
Как описано в документации, используем канал DCS/ClearCounter/ADDR=05/CH=0020 и канал DCS/ClearCounter/ADDR=05/CH=0021
В протоколе видим:
$056P //команда
$056Q //команда

Убираем смещение.
DCS/ClearCounter/ADDR=05/CH=0000 и канал DCS/ClearCounter/ADDR=05/CH=0001
В протоколе видим:
$0560 //команда
$0561 //команда
Но для сброса нашего счетчика 7065 нужны команды:
$05C0
$05C1

Вопрос: как нам реализовать подсчет частоты или числа импульсов(но чтобы можно было сбросить счетчик)?
 
Posted by Novokam (Участник № / Member № 32) on :
 
Слава Богу, у нас всё получилось!
Оказывается, нужно было подключать модули ввода-вывода непосредственно к компьютеру, тогда как мы подключали к контроллеру.
Контроллер Lagoon в данной версии микро МРВ со счетчиками не работает.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Я очень рад.
В релизе 5.11 ЛАГУНА будет поддерживать эти функции.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2