Ты читаешь Coil - биты. Они в этом ПЛК читаются сразу по 8 штук. А в регистрах сгруппированы по 16.
15360 = 0111100 00000000
То есть, ты читаешь совсем не то и не так. У тебя должна быть команда не "Coils Status", а "Input Registers" или "Holding registers" - читать РЕГИСТРЫ, а не биты.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Так, я тоже лох. Вижу скриншот из инструкции.
Пробуем ещё раз. CodeSys 2.3 НЕ умеет читать биты (функция 1) поштучно.
Может читать только пачкой по 8.
А в инструкции указано:
* Функция 1
* Номера битов с 0 по 7 (то есть 8 всего)
Я бы попробовал так:
* Добавить "8 bit input module"
* Команда 0x01 Read Coils Status
* Адрес = 0 (читаем с 0 по 7)
И посмотреть, что будет. По идее это будет битовая маска ВУ с 1 по 8.
А оттуда уже выделить статус нужного через точку (обратитьс к биту).
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab