форум асутп
 На главную                       Здесь может быть Ваша реклама, подробнее...


 Наверх  |  Перейти к теме  |  Поиск  |  Вход  |  Дерево    
 TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: V.Vadim 
Дата:   06.10.16 11:26

Добрый день.
Есть конфигурация: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA.
Пытаюсь организовать управление задвижкой по Modbus.
Использую функции:

READ_VAR (ADR := ADDR('0.0.1.3'),
  OBJ := '%MW',
  NUM := 12288,
  NB := 6,
  GEST := Valve_3_Param1,
  RECP => Valve_3_Read);

WRITE_VAR (ADR := ADDR('0.0.1.3'),
           OBJ := '%MW',
           NUM := 4096,
           NB := 1,
           EMIS := Valve_3_Write,
           GEST := Valve_3_Param2);
Чтение данных работает, получаю все  запрошенные 6 регистров.
Но функция записи/управления не работает.
Если закоментить в проекте функцию чтения, то даже светодиод СОМ плате TSX SCP 114 перестаёт мигать.
Подскажите что не так?

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: Огородников Сергей 
Дата:   06.10.16 16:18

Добрый день!

1. По последовательному каналу невозможно в одно время передавать более одной команды. Т.е. необходимо организовать очередь. Можно сделать временное разделение, можно использовать бит активности функций (бит 0 в первом слове массива параметров Valve_3_Param).

2. Для диагностики проблем связи как раз используется второе слово из массива параметров Valve_3_Param. Там в одном байте Operation, в другом Communication Report.
Выведите это слово в анимационную таблицу, сделайте формат отображения HEX, откройте в HELP описание функций и найдите Managment Parameters - Operation и Communication Report.

3. Если при компиляции не было ошибок, значит, скорее всего грубых ошибок нет, но на всякий я бы проверил, или заново написал с новыми переменными - нет ли ошибок в размерах массивов, нет ли перекрытия, не пишите ли в области только для чтения и т.д.

4. Нужно убедиться в том, что существует адрес 4096 в AUMA и он действительно является командным словом.

С уважением,
СВ

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: V.Vadim 
Дата:   06.10.16 17:01

Спасибо.
 - Очередь запросов организую.
 - Communication Report  в НЕХ значение "5" Incorrect management parameter format.
 - Для проверки, почему не работает функция Write_War удалил из программы все обращения к линии модбас.
 - 4096 адрес - проверю завтра КЕРом.

Вопрос еще один возник, может глупый, но это мой первый проект в Unity:
У меня 6 одинаковых задвижек.
Организовывать очередь запросов для всех шести и для каждой функции READ_VAR и WRITE_VAR отдельно?
Итого получается очередь на 12 запросов?

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: Огородников Сергей 
Дата:   06.10.16 17:14

Да, 12 запросов нужно будет организовать.

Посмотрите, как ведёт себя нулевой бит первого ([0]) слова Valve_3_Param: когда функция активна - он в единице. По заднему фронту этого бита можно включать следующий запрос.

А Incorrect management parameter format - думаю, тут или не 4 слова использовали, или что-то в эти слова пишите, что не нужно.

Кстати, в первом слове посмотрите на старший байт - там как раз количество вызовов функции отображается.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: V.Vadim 
Дата:   06.10.16 17:19

Нашел на форуме ваш ответ тоже по аналогичной теме, по поводу параметра Management_Param функций обмена.

"Третье слово - timeout в 0,1 сек. Если, например, используется связь по Modbus TCP, то при равенстве этого параметра нулю при переподключении сетевого разъёма RJ45 связь не восстановится. Поэтому обычно ставится 50 в третье слово ПЕРЕД вызовом функции."

Я ничего в третье слово не записывал, может быть и с этим связано.
Завтра попробую и этот вариант. Можно ли значение "50" присвоить третьему слову сразу в таблице переменных, что бы не прописывать это в теле программы перед функцией?

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: Огородников Сергей 
Дата:   06.10.16 17:23

Хуже не будет)
Но, думаю, скорее всего ошибка в создании массива Valve_3_Param2 или записи туда лишнего.
Если выложите экспортный файл - могу посмотреть

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: Огородников Сергей 
Дата:   06.10.16 17:26

Стоп.
Синтаксис Managment Parametrs подразумевает массив из 4 слов. И только его нужно подавать на вход этих функций.
А вот ЗНАЧЕНИЕ (50, скажем) в слово MW[2] можно присвоить хоть в теле программы, хоть в анимационной таблице.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: V.Vadim 
Дата:   06.10.16 17:38

Нашел "косяк", функции Write_var Мanagment Parametrs присваивал массив из 5 слов, на функции  Read_var, где все работало, массив из 4 слов, похоже моя невнимательность.
Спасибо за советы, завтра буду пробовать снова, пока переделаю очередь запросов.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: Огородников Сергей 
Дата:   06.10.16 17:43

Что и требовалось))
Успехов!

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: V.Vadim 
Дата:   07.10.16 15:26

Поправил размерность массива функции Write_var. Ввел очередь опроса/записи устройств.
Все работает.
Большое спасибо!

Адрес этого сообщения    Ответить на это сообщение
 
 Re: TSX Premium 57 3634+ TSX SCP 114+ Задвижка AUMA
Автор: Огородников Сергей 
Дата:   07.10.16 17:21

Завсегда пожалуйста!

Адрес этого сообщения    Ответить на это сообщение
 Список форумов    


 Список форумов  |  Нужен логин? Регистрируйтесь здесь 
 Логин пользователя
 Имя пользователя:
 Пароль:
 Помнить пароль:
   
 Забыли ваш пароль?
Введите имя пользователя или e-mail, и новый пароль будет послан на email, указанный в вашем профиле.

Рейтинг@Mail.ru