Просмотр полной версии : Вывод текста на СП3хх
Добрый день!
Подскажите пожалуйста, где можно прочитать про текстовые дисплеи панели поподробнее. В руководстве очень сухо и не совсем понятно.
Задача простая. Нужно выводить на текстовом дисплее ряд предустановленных значений (типа Err1, dat и т.д.). Если это делать через текстовый ввод, то при правильной установке номера начального регистра и длины в свойствах дисплея все выводится нормально. А как такое организовать макросом или функциональной областью?
Есть какое-либо расширенное по сравнению с РЭ от панели руководство? Методом тыка добился только через переменные типа char в макросе вывод по одному текстовому символу в каждом дисплее.
Спасибо.
Добрый день!
Подскажите пожалуйста, где можно прочитать про текстовые дисплеи панели поподробнее. В руководстве очень сухо и не совсем понятно.
Задача простая. Нужно выводить на текстовом дисплее ряд предустановленных значений (типа Err1, dat и т.д.). Если это делать через текстовый ввод, то при правильной установке номера начального регистра и длины в свойствах дисплея все выводится нормально. А как такое организовать макросом или функциональной областью?
Есть какое-либо расширенное по сравнению с РЭ от панели руководство? Методом тыка добился только через переменные типа char в макросе вывод по одному текстовому символу в каждом дисплее.
Спасибо.
можно использовать стандартную функцию sprintf()
и сразу "печатать" в Текстовый дисплей, например PSW[1000], нужной длины.
Типа
sprintf((char*)&PSW[1000], "My Text");
Поддерживается форматирование.
Например печать даты времени (дата и время в регистрах PSW30..PSW35 в двоично-десятичном формате)
sprintf((char*)&PSW[1000], "%4X-%2.2X-%2.2X %2.2X:%2.2X:%2.2X ", PSW[30], PSW[31], PSW[32], PSW[33], PSW[34], PSW[35]);
Печатаем в Текстовый дисплей PSW[1000] (десять регистров PSW1000...PSW1009)
Результат - строка вида 2021-07-22 13:36:15
Только с кириллицей в символьных строках нужно извращаться
например, для вывода сообщения
'Авария в шкафу №....'
int Num;
Num = 10;
sprintf((char*)&PSW[1000], "\xc0\xe2\xe0\xf0\xe8\xff\x20\xe2\x20\xf8\xea\xe0\ xf4\xf3\x20\xb9\x31 %d", Num);
Теперь о том
А как такое организовать ... функциональной областью?
можно посмотреть мое видео, если ютуб у Вас работает,
https://youtu.be/dH-JwMromc0?t=600
Там правда о том как всего одной кнопкой напечатать целую строку, но можно сделать аналогично и ф. областью с функцией "Присвоить значение"
78957
78958
78959
ЗЫ
Этот пример с "готовыми" ф.областями во вложении
Спасибо огромное!!
Через sprintf все отлично заработало.
Алексей
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot