
Сообщение от
Lexx225
Добрый день!
Подскажите пожалуйста, где можно прочитать про текстовые дисплеи панели поподробнее. В руководстве очень сухо и не совсем понятно.
Задача простая. Нужно выводить на текстовом дисплее ряд предустановленных значений (типа 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);