Ссылку на скачивание программы, даже две программы я Вам отправил.
Захват-1.png
Только там нет самого главного - макроса на си, который должен выполнять обмен символами с контроллером. В конечном варианте мнемоники команд должны передаваться в макрос, а он в свою очередь должен отправлять их в порт панели по одному символу и далее принимать из порта по одному символу контроллера и складывать полученные символы(байты) в регистры, которые будут отображаться в окне терминала на экране панели.
А у меня в примере сейчас мнемоники команд минуя макрос обмена сразу попадают в буфер терминального окна. По этому в кнопках команд сейчас масса лишних функций.
Захват-2.png
Захват-3.png
Окно терминала сделано из 20 символьных дисплеев по 12 символов(6 регистров)
Захват-4.png
Адрес регистра каждого последующего дисплея на 6 больше адреса регистра предыдущего.
Таим образом в окне терминала отображается непрерывная область из 120 регистров(240 символом).
Т.к. для дисплеев используется динамическая адресация, то окно отображения можно перемещать в адресном пространстве регистров панели это делает слайдер.
В примере используется динамическая адресация для
PSW40 - индекс области отображения терминального окна в адресном пространстве PSW регистров
PSW41 - индекс строки терминального окна для ввода текущих символов
PSW1000 - номер позиции регистра в строке для ввода текущих символов
PSW1001 - номер позиции регистра от начала буфера для ввода текущих символов