Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Mitsubishi FX3u + TraceMode 6.07

   
Автор / Author Тема / Topic: Mitsubishi FX3u + TraceMode 6.07
Anatoly S.
Junior Member / Новичок
Участник № / Member № 4459


Icon 4 отправлено / posted      Профиль для / Profile for Anatoly S.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Подключение ПЛК Mitsubishi MELSEC FX3U к SCADA TRACE MODE
http://www.adastra.ru/products/drivers/melsec_fx3u/

Открываю этот пример, меняю адрес регистра, IP адрес, порт на свои значения, сохраняю для профайлера, запускаю профайлер.
Нажимаю запуск, профайлер вылетает. В логе записано только START и всё, даже STOP нету.
В чём может причина?
В примере ничего не говорилось про то, как должен быть настроен контроллер FX3u. Поддерживает ли TraceMode протокол UDP или связь с контроллером осуществляется на базе TCP/IP?

Сообщения / Posts 11 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Протокол обмена от производителя, который используется для этого драйвера, ориентирован на TCP.
У драйвера по этому протоколу добавлены новые функции, в связи с чем несколько расширился формат записи параметров в строке "Дполнителько" соответствующего "Источника".
После <IP-адрес>:<порт> надо поставить "точку с запятой" - ";".
Контроллер должен предоставлять информацию по выбраннму Вами регистру.

Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Anatoly S.
Junior Member / Новичок
Участник № / Member № 4459


Icon 1 отправлено / posted      Профиль для / Profile for Anatoly S.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А какие новые функции добавлены???
Я пытаюсь считать с контроллера FX3u число типа FLOAT допустим 27,4, а TRACEMODE считывает число 13107. То есть старшее и младшее слова меняются местами. Как можно нормально считать FLOAT?

Сообщения / Posts 11 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Поскольку вещественные числа в контроллерах Mitsubishi, как правило, хранятся в D-регистрах как {вещественное число} * 10, то Вам необходимо связать описатель Источника данных в адресном пространстве контроллера с каналом класса FLOAT и внутри этого канала выполнить необходимую обработку - в нашем случае использовать множитель 0.1
Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Anatoly S.
Junior Member / Новичок
Участник № / Member № 4459


Icon 1 отправлено / posted      Профиль для / Profile for Anatoly S.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Данный совет не помог моей проблеме, в итоге вместо 27,4 я получил число 1310,7. Уважаемая тех.поддержка, пожалуйста, помогите. Я Вам отправил письмо на hotline3@adastra.ru - прочтите, пожалуйста.
Продублирую здесь вопрос:
Не могли бы вы, пожалуйста, ответить на такие вопросы:

1. При считывании по протоколу Melsec числа типа FLOAT из области памяти D ПЛК Mitsubishi FX3u, в TRACEMODE получаем число с неправильной последовательностью байт, а именно старшее и младшее слова поменяны местами (27,4 (0x333341DB) считывается как 13107 (0x41DB3333)). Как изменить порядок считывания байт?

2. Как в среде TRACEMODE организовать передачу считанных данных по одному протоколу (например, Melsec) передать дальше по другому протоколу (например, МЭК 104). То есть я настроил отдельно считывание по MELSEC, настроил отправку пакетов по МЭК 104, как организовать связь между считываемыми и отправляемыми данными (может быть в "программе" что-то навроде "a_IEC = a_MC;" или еще где-то, у меня ощущение, что это должно делаться гораздо проще)?

Сообщения / Posts 11 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Если в памяти контроллера в двух (четырех) регистрах типа D формируется вещественное число, то и считывать в ПК нужно оба (четыре) этих регистра в самом простом варианте в два (четыре)канала класса HEX16 и с помощью программы "собирать" из них вещественное число с последующей записью в канал класса FLOAT. Под "сборкой" понимается формирование мантиссы, порядка и знаков мантиссы и порядка вещественного числа. Более сложный вариант предполагает выполнение группого запроса с помощью канала CALL ChGrReq с получением содержимого регистров на его аргументах, "сборку" вещественных чисел программой и помещение результатов в каналы FLOAT. А вообще, лучше оперировать в контроллере целочисленными значениями и, зная вес разрядов, собирать их на ПК как было предложено в предыдущем ответе.
2. Ощущение на этот раз не подвело, канал CALL с типом вызова Move.

Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Anatoly S.
Junior Member / Новичок
Участник № / Member № 4459


Icon 1 отправлено / posted      Профиль для / Profile for Anatoly S.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо большое за ответ и совет. К сожалению, нам не представляется возможности изменить тип параметров с Float на Int, т.к. программа уже готова и отлажена в контроллере и менять типы переменных у большого количества параметров не желательно.

Формат хранения в памяти контроллера стандартный, 4хбайтовый. Читаю FLOAT из одного регистра D70.
Я так понимаю, что FLOAT TM6 также 4хбайтовый.

Насколько я знаю в протоколе MODBUS можно изменять последовательность байт (0,1,2,3 или 1,0,3,2 и т.д.). Меня интересует возможно ли это сделать для протокола Melsec или это получается недоработка TM6 в том, что числа типа Float считываются неправильно?

Сообщения / Posts 11 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ваша проект сделан так, что в канал считывается содержимое одного д в у х б а й т о в о г о регистра D70. То что в PLC возможно хранение вещественного числа в двух смежных D-регистрах каналу TRACE MODE не известно. Кстати, в документации melsec отсутствует прямое указание на "стандартный 4-х байтовый" формат хранения....
Для протокола Modbus не существует "стандартного" представления вещественного числа, но поскольку данный протокол весьма распространен и его применяют множество разработчиков, подчас довольно своеобразно трактующие представление вещественных чисел, то и отмеченная Вами возможность имеется в нашей системе.

Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Anatoly S.
Junior Member / Новичок
Участник № / Member № 4459


Icon 1 отправлено / posted      Профиль для / Profile for Anatoly S.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо большое за разъяснение, теперь как-то всё встало на свои места (что касаемо регистров).
Вы уже ответили в общих чертах каким образом считывать FLOAT, который хранится в двух регистрах D:

quote:

нужно оба (четыре) этих регистра в самом простом варианте в два (четыре)канала класса HEX16 и с помощью программы "собирать" из них вещественное число с последующей записью в канал класса FLOAT. Под "сборкой" понимается формирование мантиссы, порядка и знаков мантиссы и порядка вещественного числа. Более сложный вариант предполагает выполнение группого запроса с помощью канала CALL ChGrReq с получением содержимого регистров на его аргументах, "сборку" вещественных чисел программой и помещение результатов в каналы FLOAT. А вообще, лучше оперировать в контроллере целочисленными значениями и, зная вес разрядов, собирать их на ПК как было предложено в предыдущем ответе.

А какой формат хранения REAL у TraceMode? По стандарту IEEE754 как Single? То есть 23 бита мантисса, 8 бит экспонента со смещением от 127, 1 знаковый бит? Если можете, пожалуйста, дайте пример по "склейке" двух каналов hex16 во FLOAT или хотя бы ссылку, где можно прочитать подробное описание языка Техно ST.
Сообщения / Posts 11 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Формат хранения вещественного числа в TRACE MODE выполняется по IEEE 754-1985. Примером таким не располагаем, но подобная программа, на наш взгляд, может с успехом разрабатываться как на ST, так и на FBD. Подробное описание языков представлено во встроенной в систему разработки документации.
Сообщения / Posts 17117 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2