Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Проект градирни - 4 вентилятора на ПЧ, 10 насосов на УПП, порядка 40 э/м задвижек, около 60 аналоговых датчиков 4...20мА во всех контурах, плюс еще некоторое технологическое оборудование. Также будет локальная панель управления по Modbus TCP + скорее всего еще АРМ на базе MasterSCADA 4D (также по Modbus TCP). Связь со всеми ПЧ/УПП по Modbus RTU.
Соответственно нужно управление и контроль за всем этим хозяйством. Супербыстрая реакция не нужна. Но хотелось бы чтобы задержка от изменения показания датчиков или нажатия кнопки была не больше 2 секунд
Добрый день, коллеги!
Вопрос для разминки в понедельник: ускорит ли выполнение программы за счет времени чтения предварительная перегрузка persist и retain переменных в "оперативные" переменные (если это делать единожды после запуска контроллера в модуле инициализации) до старта основного POU программы? Сама логика программы организована методами SFC.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Добрый день!
При нажатии внутри PersistentVars кнопки "Сохранить текущие значения в рецепт" Codesys зависает. Отвисания ещё ни разу не дождался - приходится перезапускать через диспетчер
На соседнем ноутбуке эта операция занимает долю секунды без всяких зависаний
60 аналоговых датчиков - это 8 модулей AI, лучше взять с быстрыми входами (FAI).
40 задвижек - взять подули по 32 DI/DO, не так много их будет.
В общем, думаю, в 2 секунды спокойно можно уложиться.
По собственному опыту - был проект с ПЛК210-04 + 2 панели HMI около 400 регистров + 16 модулей DI/DO/AI/AO по Modbus TCP + 14 УПП на Modbus RTU.
Даже приходилось показания на панели замедлять от FAI, а иначе данные слишком быстро скакали. Вроде делал триггер на отсылку данных ПЛК->Панель в 250мс.
Задержек по управлению/отображению никаких не было. Но отдельное внимание на подключение RS485: спец кабели с экраном + прокладка + резисторы и пр.
п.с.: прочитал чуть выше, что всего модулей 35.
Если будет тормозить дольше 2 сек - из идей приходит на ум только добавление ещё одного ПЛК - разбить входы/выходы примерно на половину , либо как-то по местоположению оборудования.
Последний раз редактировалось Party3AH; 16.03.2026 в 17:31.
Евгений, уточните пожалуйста, если возможно. Разве энергонезависимые переменные не хранятся в отдельном типе микросхем ППЗУ контроллера с более медленной скоростью чтения?
Или они предварительно загружаются в ОЗУ средствами ОС до старта пользовательской программы?
Или в большей степени это касается ПР-хх?
Спасибо!
Не слушайте никого про скорость - это смешно. Главные ваши вопросы:
1.Сколько может держать одновременно открытых сокетов этот ПЛК (возможно часть модулей нужно будет опрашивать в режиме открыл сокет/опросил/закрыл сокет. Очевидно те которых 11)
2.Сколько транзакций вытягивает система за 1 цикл (предположительно 1. Если больше - то даже лучше)
3.На сколько минимальным сможете сделать цикл сами и насколько сумеете оптимизировать обмен (даже по TCP надо) и сам код.
Если б речь шла про ПЛК110, то с некоторыми ньансами можно было бы уложится в 50...100мс на всё.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk