Сообщение от
SCADAMaster
Антидребезг лучше поднять выше - сразу после скрипта, которым вы выдаете импульс. У вас сейчас на входы скрипта сигнал приходит только на следующий цикл.
Возможно у вас сам код не отработал, вот вы пишите:
bool temp; // singleshot generation variable
if(exec != null) {
if(exec.HasValue) {
if((exec == true) && (temp == false))
Во первых это масло масляное. HasValue это и есть проверка на null
И что вы тут хотите сделать? Передний фронт отследить?
Так вот так:
bool? temp=false; // singleshot generation variable
public override void Execute(){
if(exec == true && temp == false)
{
Log(INFO, "обновление данных производства", 81);
updateProduce();
temp = true;
}
temp=exec;
}