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