This is topic Подключение контроллера, не поддерживаемого ТМ in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.


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

Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Привет.
Возник вопрос, есть контроллер с уже написанной программой, в программе реализован собственный протокол обмена данными по СОМ порту, мне необходимо осуществить обмен данными между ТМ и контроллером.
Посоветуйте пожалуйста, как лучше организовать обмен: написать драйвер для ТМ или поправив программу в контроллере использовать один из встроенных протоколов (например М-Link). Если использовать встроенные протоколы, скажите пожалуйста где можно получить информацию о них?

Заранее благодарю.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Описание протокола M-Link 5 мы высылаем (бесплатно) по E-mail.
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Cпасибо.
По какому адресу посылать запррос и в какой форме [Улыбка / Smile] ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Описание протокола M-Link5 отправлено на Ваш E-mail.
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Привет
Я попробовал написать свою программу, обеспечивающую обмен данными по протоколу M-Link. В общем, все заработало, как я хотел. Но у меня возникло несколько вопросов.
1. Как определить «сетевой» номер канала в “SLAVE” узле на этапе разработки/изменения базы каналов (я определил «покопавшись» в файле создаваемом профайлер-ом ).
2. Как определить величину таймаута, т.к. в ответе на запрос могут пересылаться атрибуты нескольких каналов и при низкой скорости и большом количестве каналов процесс пересылки займет много времени.
3. Определены ли протоколом действия при приходе ошибочных запросов/ответов (неправильные контрольная сумма, номер канала, число запрашиваемых каналов и т.д.).
Заранее благодарю [Улыбка / Smile] .
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Что имеется ввиду под "сетевым номером канала"? Адрес SLAVE-узла? Если да, то в ТМ он определяется настройкой "Индивидуальный сетевой адрес" в параметрах узла. Если SLAVE-узел - самодельное устройство с поддержкой M-Link5, то Вам надо завести в проекте узел-пустышку, чтобы его список каналов в точности повторял список тегов в Вашем устройстве (это необходимо для настройки параметров каналов для M-Link в узле-MASTER). Адрес для SLAVE-узла - либо поставит автоматически система при его создании, либо может задать пользователь вручную.

2) Величина таймаута - параметр экспериментальный. Устанавливается он в настройках СОМ-порта в параметрах узла, который находится в режиме MASTER.

3) Во-первых - есть канал подтипа ДИАГНОСТИКА и доп. к подтипу M_LINK (Host). А во-вторых - по каждому из каналов M-Link In или Out о достоверности обмена сигнализирует атрибут атрибут "Достоверность".
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
В общем я так и сделал. Создал в проекте узел «пустышку» (назначил его SLAVE), список каналов в нем совпадает с реальными в моем устройстве, затем в узле MASTER настроил параметры каналов для M-Link . Но в настройках NODE, CH, ATTR и OBJ указываются соответствующие названия из узла «пустышки», а в запросах/ответах M-Link используются их числовые эквиваленты. С NODE, ATTR и OBJ вопросов не возникло, а вот по какому правилу формируется числовой эквивалент CH (в руководстве по M-Link этот параметр называется nn-номер канала) и как он будет меняться при изменении количества или порядка следования каналов в моем узле я не понял.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Номер канала - это его уникальный индекс в базе узла и назначается он системой автоматически. При удалении каналов из базы в списке индексов появляются так называемые "дырки", которые будут последовательно заполняться вновь создаваемыми каналами. Индексы каналов в узле можно получить тремя способами:
1) Экспортировав базу узла в какую-нибудь СУБД (например MS Access) по ODBC (можно не всю базу, а, например, только имя канала и его индекс).
2) Если Вы зададите для узла-пустышки тип узла как какой-нибудь из узлов контроллеров, то РБК в директории проекта всегда будет создавать файл типа <имя узла>.CHN, в котором в текстовом виде будут перечислены все каналы этого узла и их индексы в базе.
3) В РБК, выбрав канал в списке, его индекс можно увидеть в правом нижнем углу диалогового окна списка каналов объекта.
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Большое спасибо !!!
все понял [Улыбка / Smile]
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Здравствуйте
В описании протокола M-Link сказано, что в ответ на запрос атрибута канала в поле DDDD посылается число типа float, а если канал имеет тип Н ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
А какая ему разница - ведь тип HEX у нас максимум 16-битный, в типе Float передается как целочисленное значение - разрядности Float для этого хватает.
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Здравствуйте.
У меня возник вопрос (в общем он не совсем по теме). Для контроля состояния связи я создал канал с подтипом Диагностика М-Link(host) I, при имитации обрыва линии связи (выключением slave контроллера) в канале возникает код ошибки 8. После восстановления связи код ошибки не исчезает(пытался послать в канал 0 - не помогло). Подскажите пожалуйста с чем это может быть связано.
Заранее благодарю!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Значение каналов диагностики всегда хранит состояние последнего события. Для того, чтобы его сбросить необходимо создать канал с тем же подтипом и дополнением к подтипу, но типа OUTPUT (смена значения с ненулевого на ноль - сброс состояния), либо через канал СИСТЕМНЫЙ_Сброс ошибок типа OUTPUT - любое изменение значения этого канала сбрасывает все признаки ошибок по всем диагностическим каналам узла.
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Спасибо.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2