Почему для реализации записи одного регистра функцией 0х10 упорно продвигают идею с использованием макросов на Си?
Сказано же было, что прелесть панели СП3хх в том, что переключение между функцией 0х06 функцией 0х10 осуществляется через второй бит регистра PFW36
если PFW36.2 = 0, то используется функция 0х06
если PFW36.2 = 1, то используется функция 0х10
Кто-то когда-то сказал, что у него не получилось, наверно руки просто кривые.
ПРОВЕРЕНО И РАБОТАЕТ!!!!
Причем переключить тип функции можно "на лету".
Эксперимент демонстрирующий переключение функций
Элементарный проект
Захват-8.png
Кнопка Операции с данными
Захват-6.png Захват-7.png
Таким образом каждое нажатие кнопки однократно записывает в регистр 4х0 константу FFFF(65535)
Переключатель с подсветкой
Захват-9.png Захват-10.png
Каждое нажатие переключателя меняет функцию на противоположную.
Проект загружен в реальную панель
Панель подключена к СОМ порту компьютера
В качестве слейва будет использоваться PeakHMI MODBUS serial RTU slave simulator http://www.hmisys.com/
в этом симуляторе есть монитор, который позволяет видеть команды мастера
В исходном состоянии PFW36.2=0
Первые два запроса - команды записи с функциями 0х06
затем на панели был нажат переключатель (PFW36.2=1)
по этому, следующие два запроса - команды записи с функциями 0х10
после этого снова был нажат переключатель (PFW36.2=0)
последний запрос использует функцию 0х06.
Захват-5.png





Ответить с цитированием