по ссылке автора пройдите, если перейти на сайт там 3 вида этих плат. Вся инфа по их запросам и ответам только там. Больше нигде не нашел таких же реле
Вид для печати
по ссылке автора пройдите, если перейти на сайт там 3 вида этих плат. Вся инфа по их запросам и ответам только там. Больше нигде не нашел таких же реле
Вот подобные платы на Али 1 вход на 1 выход, 2 вх - 2 вых, 4 вх-4 вых https://aliexpress.ru/item/400134801...00016111946965
Есть входы и выходы, входы читаются 1 и 2 функцией, выходы записываются 5 функцией
Адрес по умолчанию 255
Вот скрин одного из пользователей, чтение состояния выходов функцией 0х01, то есть булевая, а в 4 байте ответа, состояние входов в виде целочисленной переменной 0,1,2,3 Вложение 69768
То есть определить 4 байт на ПР200 не получится (нужен ПЛК) или пробовать читать целочисленную функцией 0х01 и 0х02.
Нет там никакой целочисленной переменной
команда 01 позволяет получать множество бит в одном запросе
В примере
FF 01 00 00 00 08 28 12
FF -адрес слейва
01 - команда Read Coil Status
00 - Адрес первого Coil Hi байт
00 - Адрес первого Coil Lo байт
00 - Количество Coil Hi байт
08 - Количество Coil Lo байт
28 12 CRC
Т.е. из устройства с адресом 255 читается 8 бит(Coil's) начиная с 00
В ответе на команду 01 запрошенные значения дискретных выходов передаются в упакованном виде по одному биту на флаг. Единица означает включённое состояние, ноль — выключенное. Значения запрошенных флагов заполняют сначала первый байт, начиная с младшего бита, затем следующие байты, также от младшего бита к старшим. Младший бит первого байта данных содержит значение флага, указанного в поле «адрес». Если запрошено количество флагов, не кратное восьми, то значения лишних битов заполняются нулями.
FF 01 01 00 60 60
FF -адрес устройства
01 - команда Read Coil Status
01 - Количество байт далее
00 - упакованные значения Coil's
60 60 - CRC
Т.к. мастер в ПР не поддерживает групповые запросы, то в команде 01 будет всего один Coil и нужно сделать 4 булевых сетевых переменных с последовательными битами 0, 1, 2, 3
Не работает распаковка - переменная булевская, которая невероятным образом принимает целочисленные значения.Вложение 69784
Вложение 69785Вложение 69786
Обратите внимание, на тип переменной на первом скриншоте, и на то как она привязана к выходу на втором - без преобразования в инт.
Вложение 69787
Продублирую.
У вас тут выбрана функция чтения 0х01, вы читаете койлы - в моем случае это выходы реле. А мне нужно читать входы, функцией 0х02. Китайцы на этом реле реализовали это, передавая значения всех входов в один нулевой регистр, в четыре первых его бита. Поэтому булевская переменная овена принимает совсем не булевские значения. И как эту задачку решить,я вообще не понимаю.
https://aliexpress.ru/item/100500165...6e3a4aa6TewG9y
Вот ссылка на это реле.