PDA

Просмотр полной версии : ПЛК110[М02] + расходомер Streamlux SLS-700F



raven34716
15.12.2020, 14:35
Добрый день.
Возникла необходимость подключить ультразвуковой расходомер Streamlux SLS-700F к указанному ПЛК. Расходомер поддерживает стандартные протоколы MODBUS ASCII и MODBUS RTU. Есть описание регистров с указанием имен переменных и типа данных. Сразу же возник вопрос по подключению, т.к. у расходомера обозначение на клеммах RS485 "+" и "-", а на ПЛК А и В? Далее, например, надо вытащить информацию о серийном номере. В описании сказано, что этот номер хранится в регистре 1529, занимает 2 части регистра и имеет тип данных BCD. Какой подэлемент надо добавить в конфигурации ПЛК, чтобы прочитать номер прибора из этого регистра и преобразовать его в понятный формат?

Sergey666
15.12.2020, 15:29
А=>"+",B=>"-".
Register input module притащит двубайтный регистр в ПЛК, там его можно посмотреть, выдернуть байты, конвертнуть в ВСD.
String input module притащит в ПЛК сколько-то байт (число символов), тоже можно посмотреть, покрутить...Если оборудование на руках в чем проблема? Подключайся и пробуй.

melky
15.12.2020, 15:32
BCD это вам не стринг однако

Sergey666
15.12.2020, 16:08
BCD это вам не стринг однако

Ой...да ладно:confused:
Библиотека OSCAT, функция CODE... да и самописных полно типа Char_to_Byte;

melky
15.12.2020, 16:25
а при чем тут чар ту байт ? у вас наоборот байт 39 а в чарах два байта 33 и 39

raven34716
16.12.2020, 07:18
Добавил Register input module. Как получить его содержимое?. Номер у прибора 19824512. В BCD коде он будет записан как 0001 1001 1000 0010 0100 0101 0001 0010, если я не ошибаюсь. Получается 32 бита.

Sergey666
16.12.2020, 08:20
Добавил Register input module. Как получить его содержимое?. Номер у прибора 19824512. В BCD коде он будет записан как 0001 1001 1000 0010 0100 0101 0001 0010, если я не ошибаюсь. Получается 32 бита.

Вторая колонка в таблице=2 это кол-во регистров, регистр в модбасе=2байта.
Поэтому добавить еще один Register input c адресом 1530. Как работать с переменными конфигуратора читаем в руководствах.

melky
16.12.2020, 09:34
raven34716 у вас должно быть 4-ре байта 0x19 0x82 0x45 и 0x12
не ошибаетесь, в бинарном виде вроде так.

raven34716
16.12.2020, 13:33
Спасибо, что-то вроде начинает проясняться... В таблице есть другие типы данных. Это REAL4 и LONG. Насколько я понял, REAL4 - это число с плавающей запятой, его еще называют FLOAT. Что значит 4 после REAL? LONG - большое 64-битное число. Каким элементам в конфигураторе соответствуют эти типы?

melky
16.12.2020, 13:36
raven34716 учитывая, что на LONG указано так же 2 регистра, то скорее всего (предположу) что это 32-х битное беззнаковое.
Float4 ну может то, что 4-ре байта. типа просто float а не double (8 байт)