0 можно послать из контроллера. Хотя, если честно, то мне двойка. Подзабыл я немного((
На самом деле с панелью можно творить что угодно.
Например, автоконфигурацию. Логика работы такая:
1. После подачи питания на контроллер запрашиваем, например, регистр 111h (удобно). Выставляем запрет на чтение всех остальных регистров панели.
2.1. Если панель не отвечает или
летит мусор, то слушаем порт 10 сек, если ответа не пришло, то выставляем ошибку по таймауту.
2.2. Если панель ответила, то проверяем содержание регистра 111h:
2.2.1. Если в регистре 0, то загружаем в панель конфиг и записываем в 111h число (например, 25)
2.2.2. Если в панели значение, отличное от нуля (например 25), то считаем, что панель уже была сконфигурирована ранее и разрешаем чтение необходимых регистров панели. Записываем прочитанные значения из панели в ПЗУ контроллера.
Что дает этот простой алгоритм?
Если у вас поточное производство, то не надо тыкать каждый раз кнопки панели. Достаточно один раз написать конфигуратор панели, а на объекте он сам активирует необходимые функции панели.
Но это еще не все.
Этот алгоритм защитит вас от плача клиентов по-поводу "вот монтажники на объекте потеряли панель, как нам настроить?" (хотя инструкции никто не отменял, но нынешнее поколение не любит читать).
Или еще распространенная ситуация: все смонтировали на объекте, настроили. Все хорошо. Но эксплуатация началась через n-месяцев. И вдруг, по прошествии этих n месяцев, наяривает вам на мобильник виноватого голоса интеллигентнейший человек и говорит: - "раздавил дисплей. Думал пульт сенсорный. Значения кнопкам не придал. Инструкцию (что естественно, - не читал). Продайте новый". А вы и рады продать, но, чего уж греха таить, не заполнили лист настроек этого самого объекта (да кто же его заполняет то?).
А если вы применили вышеописанный алгоритм, то смело ему продаете панель, и вуаля! Подал питание, а настройки, введенные при отладке объекта записались в память панели (все потому, что вы их скопировали в ПЗУ контроллера).
Про БП - нужно.