Это неправильно, это то что я и предположил.
Надо примерно так:
И мест управления хоть до одного места. Можно вообще i1 менять в 1 с любого устройства, если не хотите лог вести, откуда запустили. Со стопом тоже.Код:If i1 or i2 then это кнопки старт на панели или скаде StartBit:= true i1:=false i2:=false End if If i3 or i4 then это кнопки стоп... StartBit:=false i3:=false i4:=false End if Q:=StartBit
И вот тут:
I_1:= I1; I_2 := I2;
А не правильнее:
I_1:= Q; I_2 := Q;
Я бы и i1 и i2 в процедуре приравнял к Q, чтобы на 2х устройствах ввода после изменения задания были после обработки одинаковые задания.
С аналоговым выходом согласен сложнее операции при задании с разных интерфейсов, например, но тоже выполнимо.
МихаилГл , вернусь немного к Скаде. Вам приходилось работать со службой SQL Server Analysis Services, то есть вы производили анализ данных и использовали машинное обучение?
Думаю вы хотите объять необъятное.
Есть такая пирамида АСУТП:
ERP
MES
SCADA
PLC
I/O
Не лезьте в ERP, всё остальное вполне по силам грамотному АСУТП шнику.
I/O уровень входов/выходов, по простому должны разбираться в любых электрические схемах
PLC уровень программирования контроллеров
SCADA уровень работы с визуализацией
MES уровень выдачи цеховых рапортов и отчётности
А вот ERP это уже интеграция цеховой информации в систему типа 1с предприятия, где не только ваш объект, а и другие заводы в других городах. Тут вы можете только записать данные в sql, а забирать и обрабатывать будут другие. Это достаточно специфично.