Форум 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 » Использование 16-ти битных регистров

   
Автор / Author Тема / Topic: Использование 16-ти битных регистров
vg
Forum Haunter / Завсегдатай форума
Участник № / Member № 8172


Icon 1 отправлено / posted      Профиль для / Profile for vg           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте.
Есть устройство с 8 дискретными каналами, поддерживающее обмен по Modbus.
Хочу использовать Modbus TCP.

Первым шагом для знакомства с Modbus TCP выбрал:
Опросить устройство и получить информацию, например о серийном номере.
Для этого у меня есть 16-ти битный адрес регистра - 0x1000.

Использую компонент группы источников MODBUS Rin_Word(4).
Не понимаю, что указывать в параметрах:
Номер порта - если правильно понял, то это только для COM портов (то есть оставляем 0x0)
Адрес - адрес контроллера в формате HEX (0, …, FF); Имеет ли этот адрес какое то отношение к 16-ти битным регистрам? Именно здесь я должен вбивать адрес "участка", к которому хочу обратиться в устройстве?
Канал - у меня 8 каналов, но ведь я хочу получить общую информацию об устройстве (оставлять 0х0?)

И ещё:
1) Длина серийного номера в документации устройства указана как 2х4 (в байтах), char.
То есть в канале CALL и экране я должен создать аргументы типа String?
2) Так как все замеряемые параметры, которые я должен извлечь, подключаясь к своему устройству, в документации содержат адреса регистров в виде "0x100C" или "A+0x5С", где начальный адрес каждого блока A = 0x2000 + (N × 0x200), где N – номер канала (0..7), то могу ли я использовать их(адреса) в Вашей среде Trace Mode?

Сообщения / Posts 101 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
- нет
- канал номер регистра = 0x1000
- 1 регистр = 16 бит(2 байта )

Сообщения / Posts 803 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
vg
Forum Haunter / Завсегдатай форума
Участник № / Member № 8172


Icon 1 отправлено / posted      Профиль для / Profile for vg           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Благодарю за ответ, но ничего не понял из него.
Сообщения / Posts 101 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
-в слое источники создается источник ModbUS
С НУЖНЫМ адресом регистра
- посмотреть видео урок

Сообщения / Posts 803 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
vg
Forum Haunter / Завсегдатай форума
Участник № / Member № 8172


Icon 1 отправлено / posted      Профиль для / Profile for vg           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Благодарю, с этим разобрался.

Встал вопрос:
Modbus TCP.
Использую Rout_Word(3) для извлечения данных.
Интересующий параметр занимает 4 байта.
Один компонент источника Modbus "извлекает" 2 байта и на выходе получается абракадабра (например для IP-адреса).

В "панели МРВ" профайлера вижу, что значения из устройства достаются в шестнадцатиричной (реальное и входное значения) или двоичной форме (по битам).

Каким образом вывести, например, IP-адрес (4 байта) или нецелое число (4 байта) в одном ГЭ Текст?

Сообщения / Posts 101 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
-а зачем его извлекать если IP-адрес есть в
настройках и его можно посмотреть через системные
переменные TM
-привязать псевдо-команду (Rout_FLOAT,Rin_FLOAT)
к 32 каналу HEX32(считается 2 регистра сразу)

Сообщения / Posts 803 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
vg
Forum Haunter / Завсегдатай форума
Участник № / Member № 8172


Icon 1 отправлено / posted      Профиль для / Profile for vg           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за пояснения.

С IP согласен, но следуя вашему совету, у меня получился адекватный вывод только для целого числа (с перестановкой байтов SWAP0). В то время как не целые отображаются некорректно (с перестановкой байтов и без), например измеряемое значение 18.95, а отображается 1.10046е+09

Из того что сделал в проекте:

Создал компонент Rout_Float(3), ввёл адрес устройства, канал по адресу регистра, выбрал тип протокола TCP/IP, направление - Input, формат - Дискрет, задал IP-адрес и добавил ключ для перестановки байтов.

Создал канал HEX32, связал его с компонентом Rout_Float(3).

На Экране отрисовал ГЭ Текст. Создал для Экрана аргумент типа REAL. Привязал этот аргумент к ГЭ Текст. В свойствах Экрана привязал его аргумент к Реальному значению канала HEX32.

Результат получился как писал выше.

Подскажите где я не прав.

Сообщения / Posts 101 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
vg
Forum Haunter / Завсегдатай форума
Участник № / Member № 8172


Icon 1 отправлено / posted      Профиль для / Profile for vg           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Поторопился с сообщением. Сделал всё то же самое с каналом FLOAT и получил желаемый результат.
Ещё раз спасибо за помощь.

Сообщения / Posts 101 | Из / 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