Первый вариант хранения данных
Для Simple-Scada:
SCA_temp - индикация температуры;
SCA_set - уставка оператора.
ОРС-сервер периодически опрашивает пару этих переменных, передавая данные в Scada.
Данные записанные в SCA_set передаются в переменную PLC_set контроллера.
Для контроллера:
PLC_temp - измеренная температура, в ОЗУ;
PLC_set - уставка температуры, в ОЗУ;
PLC_EE_set - уставка температуры в EEPEOM;
PLC_FACT_set - заводская уставка в EEPEOM или памяти программ.
1. При включении контроллера уставка температуры в EEPROM переписывается в уставку температуры PLC_EE_set -> PLC_set. Эта операция может выполнятся встроенным ПО контроллера (сохраняемая переменная) или программно при инициализации.
2. Далее, в цикле выполняется основная часть программы, а данные передаются в Scada, в частности PLC_set -> SCA_set.
При вводе новой уставки однократно происходит передача SCA_set -> PLC_set, а при отсутствии сохраняемых переменных ещё и PLC_set -> PLC_EE_set.
3. При выключении контроллера и наличии сохраняемых переменных выполняется передача данных PLC_set -> PLC_EE_set.
Операция "RESET" выполняет следующие передачи данных: PLC_FACT_set -> PLC_EE_set, PLC_FACT_set -> PLC_set.
В случае если контроллер позволяет без проблем читать данные из EEPROM и частота обновления уставки небольшая (ресурс записи EEPROM), то можно выполнять сравнение с PLC_EE_set, а переменную PLC_set исключить.
Пример во вложении.
Второй вариант хранения данных
Значения заводской уставки и уставки можно хранить и в Scada: SCA_set как сохраняемую переменную, а SCA_FACT_set в файле или скрипте.
В этом случае Scada постоянно проверяет наличие связи с контроллером и при обнаружении передает данные контроллеру SCA_set -> PLC_set, в свою очередь контроллер при включении начинает проверять переменную PLC_set на достоверность и только после состоявшейся проверки переходит к выполнению основной части программы.
Различие в вариантах хранения определяет различие поведения всей системы при включении питания, так в первом случае достаточно включить контроллер и система начнет функционировать в предыдущем режиме, во втором - необходимо включить и Scada и контроллер.
Первый вариант предпочтителен как по поведению при включении, так и тем, что заводские установки "упакованы" в контроллер.