PDA

Просмотр полной версии : мв110-16д + codesys



lonheron
01.04.2018, 20:26
Как прочитать регистры с 8 по 16 ? Тема на форуме обсуждалась, решение только написать забыли(
т.е. первые 8 входов опрашиваю 51 регистром, а как дальше опросить не знаю, 64 регистр и выше показания счетчиков которые и не нужны.

SBER
02.04.2018, 07:20
51 регистром вы опрашиваете все 16 входов, биты с 7 по 15 - входа 8 - 16.

lonheron
02.04.2018, 07:29
Это понятно, но codesys показывает только первые 8. В инструкции написано что регистр 51 - 16bit, а в codesys либо 8 либо 32.

SBER
02.04.2018, 07:38
Вместо 8 бит input module всавляете register input module и будет вам щастье.

capzap
02.04.2018, 07:45
Это понятно, но codesys показывает только первые 8. В инструкции написано что регистр 51 - 16bit, а в codesys либо 8 либо 32.

на скрине из первого поста явно видно что Вы использовали 8 битный модуль вместо регистра, измените конфигурацию на регистр, а в программе чтоб посмотреть каждый бит просто используйте конструкцию registr.0 -для нулевого разряда, registr.1 - для первого и т.д.

lonheron
02.04.2018, 08:02
При использовании регистра, передается показания счетчика это регистры с 64 до 79. А как вывести состояние 0 или 1 не знаю.

capzap
02.04.2018, 08:11
При использовании регистра, передается показания счетчика это регистры с 64 до 79. А как вывести состояние 0 или 1 не знаю.
с именованием кaналов у Вас все нормально, видно что разбираетесь, теперь вместо 8бит-модуля вставляете регистр, обзываете его, например registr настраиваете его на чтение 51 регистра и дальше в программе, создаете локальную булеву переменную, допустим как у Вас сейчас mod2 и делаете в коде программы следующее mod2 := registr.0 так будет тоже самое что у Вас сейчас с 8бит-модулем