This is topic ADAM - 5050 in forum Пользователи для пользователей at Форум TRACE MODE: техническая поддержка.


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

Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Здравствуйте! Вот уже продолжительное время не можем "заставить" работать модуль ADAM-5050 на выход. Причем входы блока, сконфигурированные на входной сигнал, работают нормально. Был бы очень признателен любым советам [Недоумение / Confused]
 
Posted by Nico (Участник № / Member № 5342) on :
 
Выход канала(Q,9) принял нужное значение ?
Отработать (39) возводится в 1?
Возводится недостоверность ?
Поставте отладку(200) и посмотрите файл профайлера ?
Строка посылаемая в УСО соответсвует команде DO ?

[ 07.09.2011, 09:48: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Создается впечатление, что сам модуль неисправен. Для большей ясности сделал пустой проект с одним лишь компонентом ADAM-5510 в слое «Источники-приемники». Создал канал DO автопостроением с блока ADAM-5050 (не забыв настроить COM-порт, разумеется), запустил профайлер и что я вижу: при посылке числового значения (1, 2, 3…) в значение канала R, либо 1-цы в бит канала b1-b16 выход канала Q нужное значение принимает. Аппаратная достоверность I принимает значение _T, т.е. 0, т.е. достоверно. Атрибут отработать EXEC принимает значение «-», что в силу своего скудного опыта не знаю как интерпретировать. Кстати, назрел ещё один наивный вопрос: блок ADAM-5050 имеет 16 входов/выходов, причем выходы 0-7 сконфигурированы на вход, а остальные с 8 по 15 на выход. Так вот, если, к примеру, нужно подать выходной сигнал на 15 канале, то какое значение требуется подать в канал DO в Trace Mode? Ведь в слое источники-приемники у данного блока два канала DI и DO и оба они HEX 16, т.е. имеют атрибуты b1-b16, а выходов то настроенных на определенный тип по 8 штук. Конечно, с последним моментом можно разобраться и самому опытным путем, но вот экспериментировать пока что не с чем, т.к. на выходе с блока так ничего получить и не удается. Извиняюсь за излишнюю подробность изложения
 
Posted by Nico (Участник № / Member № 5342) on :
 
Посылать надо во вход(2) !!!!!!!!!!!!!!!!!!
Сам канал в RTM типа OUTPUT ?
Посылайте 0 и ffff
А5050 ставится куда ?
В корзину расширения
или
в свободно пргра-ый контроллер ?
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
ADAM-5050 стоит в корзине расширения ADAM-5510. Сам по себе блок A5050 имеет 16 входов\выходов, поэтому при создании компонента ADAM-5050 в слое источники-приемники получается два канала HEX16: DO - для выходящего и DI - для входящего сигналов. Приметил одну интересную особенность. Как я и говорил выше входы блока A5050 0-7 настроены "на вход", а выходы 9-15 "на выход". На 15 выходе подключено реле. Так вот, если запустить профайлер и посмотреть компоненты, то в канале DI биты 1-8, соответствующие входам 0-7 на A5050 стоят в 1це; биты 8-16 соответствуют выходам 8-15 A5050 и стоят в 0ле за исключением бита 16, значение которого 1ца (из этого следует ответ на мой последний вопрос в предыдущем сообщении: несмотря на то, что для блока A5050 имеется два канала под вход и под выход, атрибуты "бит 1-16" у них общие, т.е. чтобы что-то включить\выключить на 15 канале нужно подавать 1цу в бит 16 канала). Таким образом, в канале DO должна наблюдаться картина аналогичная DI с отображением значений битов канала, однако, там все биты стоят в 0. [Недоумение / Confused]
 
Posted by Nico (Участник № / Member № 5342) on :
 
Канал DO должен быть типа OUTPUT
Подавать значения во вход нужно самому ->
Таким образом, в канале DO НЕ должна наблюдаться картина аналогичная DI !!!!
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
1. Да, канал DO имеет тип output.
2. Возможно, Вы имели ввиду подавать значения самому в "выход", т.е. в канал DO?
3. Да, пожалуй, тут я погорячился и "аналогичной картины" не должно наблюдаться.

Рискну спросить ещё один глупый вопрос: при работе с релейным модулем ADAM-5068, изменяя состояние соответствующих выходов блока в AdamApax .NET Utility, можно наблюдать его функционирование. Почему тогда, изменяя состояние выходов ADAM-5050 (через ту же AdamApax .NET Utility) ничего не происходит? Т.е. ни реле подключенное к A5050 не срабатывает, ни напряжение на выходе не коммутируется?
 
Posted by Nico (Участник № / Member № 5342) on :
 
"2. Возможно, Вы имели ввиду подавать значения самому в "выход", т.е. в канал DO?"
у любого канала есть атрибуты вход(2) реальное(0)
выход(9)
изменять значение канала ОБЯЗАТЕЛЬНО через ВХОД

какая команда используется для управления модулем(из описания)
посмотрите файл профайлера
поставьте debug=200 и посмотрите файл профайлера
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
1. Да, значения подавались во вход, он же In.
2. Судя по описанию функций, для подачи сигнала на A5050 должна использоваться команда: "Set5050 (&Bitdata, 6, 15, ABit)".
3. После запуска отладчика в файле профайлера обнаружил следующее: "WRN_RS:COM3 error 10 DO#2".
Здесь, разумеется, DO#2 – тот самый выход
 
Posted by Nico (Участник № / Member № 5342) on :
 
1) Set5050 (&Bitdata, 6, 15, ABit) - это вызов API некоторой библиотеки
2) команды, уходяшие в COM порт для корзин расширения, выглядят $aaSs...
aa - адрес
s - номер слота
3) установите атрибут d_bit(49) в 1 в файле профайлере появится строки, посылаемые/принимаемые TM6 по порту
4) если первый принятый байт = '?' , то
скорей всего неправильная команда
5) номер слота для источника задан ?

[ 12.09.2011, 09:14: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Блок A5050 находится на 6 слоте A5510, соответственно, номер слота в слое источники-приемники задан как 6. В файле профайлера содержится информация следующего вида:

WRN_RS:COM3 error 10 DO#2
INF_RS:OUT: 24 < $ > 30 < 0 > 31 < 1 > 53 < S > 35 < 5 > 36 < 6 > 0d
INF_RS:IN: 21 < ! > 30 < 0 > 31 < 1 > 38 < 8 > 30 < 0 > 46 < F > 46 < F > 30 < 0 > 30 < 0 > 0d
INF_RS:OUT: 23 < # > 30 < 0 > 31 < 1 > 53 < S > 35 < 5 > 30 < 0 > 30 < 0 > 30 < 0 > 46 < F > 0d
INF_RS:ERR IN: 3f < ? > 30 < 0 >

Насколько я вас понял, дело не в команде, так?
 
Posted by Nico (Участник № / Member № 5342) on :
 
$aaSs6($01S56) - чтение DI 1 модуля 4 слота

#aaSs00dd(#01S5000f) - 8 битовая запись в DO 1 модуля 4 слота значения 0x0f
для канала (8.17)
ответ певый байт = '?' что говорит об ошибке

попробуйте создать следующее
#aaSs00dddd - 16 битовая запись в DO
(распределенное УСО - DCS - DO16)
для канала (8.108)(8.117)
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Создал в слое источники-приемники группу DCS, в ней компонент DO16. Задал для него те же настройки, что и для DO блока A5050: COM-порт, адрес и слот (№6). После запуска профайлера получил следующее:
INF_RS:OUT: #01S500000F
INF_RS:IN: 3e < > > 30 < 0 >
Получается, что значение было передано в блок, так? Однако никакой реакции со стороны последнего замечено не было. Почему идет обращение к S5 – т.е. 4му слоту, когда для канала был задан 6й? Или S5 – всё таки 6й слот?
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Создал в слое источники-приемники группу DCS, в ней компонент DO16. Задал для него те же настройки, что и для DO блока A5050: COM-порт, адрес и слот (№6). После запуска профайлера получил следующее:
INF_RS:OUT: #01S500000F
INF_RS:IN: 3e < > > 30 < 0 >
Получается, что значение было передано в блок, так? Однако никакой реакции со стороны последнего замечено не было. Почему идет обращение к S5 – т.е. 4му слоту, когда для канала был задан 6й? Или S5 – всё таки 6й слот?
 
Posted by Nico (Участник № / Member № 5342) on :
 
1) слот задается на 1 больше(DI читает правильно)
2) подайте значение FFFF а не 000F (8-16 bit OUT ?)
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
При отправке значения FFFF в порт, лог говорит о том, что значения были переданы:
INF_RS:OUT: #01S500FFFF
INF_RS:IN: 3e < > > 30 < >
Но на выходе с блока напряжение по-прежнему не коммутируется. В связи с чем возникают подозрения на сам блок [duno / незнайка]
 
Posted by Nico (Участник № / Member № 5342) on :
 
первый символ = 3e < > > говорит о том что команда управления воспринята => В связи с чем возникают подозрения на сам блок или на подключение выходов
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Nico, большое спасибо за помощь! С программной частью, как говорится, всё ок. Пробовал после передачи значения закрывать профайлер и заходить в AdamApax .NET Utility, так там переданное значение отображается корректно: на всех каналах выставлена 1ца.
 
Posted by Nico (Участник № / Member № 5342) on :
 
а в DI у RTM ?
 
Posted by 4e6yPaTuHo (Участник № / Member № 4562) on :
 
Вот и разобрался окончательно с проблемой: дело действительно было в подключении. Реле, подключенное к выходному каналу A5050 было замкнуто на общий GND, что категорически неверно, т.к. "выходные каскады каналов выполнены в виде транзисторных ключей по схеме с открытым коллектором" [clever / умный] Разумеется при подаче сигнала в порт всё происходило с точностью до наоборот и с этого канала принимался входной сигнал. Ещё раз спасибо за помощь! [beer / пиво]
 
Posted by Nico (Участник № / Member № 5342) on :
 
[Улыбка / Smile]
 
Posted by ГБ (Участник № / Member № 6286) on :
 
Парни, подскажите неопытному, можно ли написать в ТМ программу на АДАМ 5510 свободно программируемый. Чтобы её залить в контроллер и он работал самостоятельно?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
АДАМ 5510 работает под DOS.

В настоящее время исполнительные модули МикроМРВ Trace Mode 6 для работы под DOS не поставляются и техническая поддержка по ним не осуществляется.

Если это контроллеры АДАМ-5510/TCP, то к модулям. установленным в них, можно обращаться по Modbus TCP.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2