turkish945 Пока смотрю навскидку и думаю, к чему придраться:
1. Ну хочешь, снизь максимальное число клиентов для визуализации с 100 до 10-20. Вообще, чтобы в будущем не перегрузить проц СПК.
2. В будущем, когда будешь прогать нормально, ВЫКИНЬ ты в пень все эти TargetVars и назначь сам нормальные переменные в соотнесении IO. А то конструкции типа
Код:
GVL.bNightMode := TargetVars.stLeftSide.xFastDi03;
выглядят ужасно. Там проще сразу вместо xFastDi03 вписать bNightMode и получить искомое.
Я вообще выкидываю всё штатное, включая и все списки переменных и делаю их сам с нормальными именами.
3. Про конверсии данных. Увидал там у тебя такое:
Код:
rOutdoorTemp := TO_REAL(TO_INT(wOutdoorTemp)) / 100;
А можно написать сразу нужное преобразование WORD_TO_REAL. Там навалом таких пребразований, из типа в тип.
4. В будущем обмен инфой между ПЛК Гаража и Дома надо будет попробовать замутить не через Modbus TCP, а через сетевые переменные в самом CodeSys прям. Будет меньше ручной работы, и оно работает автоматически.
5. А ещё зафига ты делаешь по умолчанию такие ОГРОМНЫЕ визуализации в 1200х1200 точек? Можно сделать её поменьше, под 800х600 и включить масштабирование под размеры устройства. И она растянется сама на большой экран.
В остальном я вижу штук 20 строчек кода с простыми IF и переключением переменных на True/False.
Из того, что я не знаю и не пользовался ишчо:
а) Запись трендов. Вдруг там чего-то накапливается со временем, и оно начинает тормозить
б) Вкладки в визуализации. У себя в проекте я переключаю визуализации кнопками. А у тебя стоит Tab Control, в которой переключаются визуализации с трендами внутри. Может в этом случае оно как-то может тормозить?
Из того, где можно ещё подумать - отрисовка фонов или что-то подобное. Вон на Tab Control есть свойство "Deactivate the background drawing". Я не изучал, надо почитать. Вдруг оно создаёт лишние рисовалки, которые тормозят систему?