public bool ActiveTrigger() { for (int i = 0; i < triggers.Count; i++) { Object_Trigger trigger = triggers[i]; trigger.back_data = trigger.this_data = -1; } int tmpStatus = _Status & STATUS.MONITOR; if (tmpStatus > 0) { //監控中,不顯示錯誤訊息,已開啟觸發直接回傳true if (checkConnect(true, false) == false) { return(true); } if (checkTrigger(false, false) == false) { return(true); } } else { if (checkConnect(true, true) == false) { return(false); } if (checkTrigger(false, true) == false) { return(false); } } try { if (_TriggerSource == TriggerSource.ALWAYS) { _Status |= STATUS.TRIGGER; _ThreadTrigger = new Thread(checkTrigger); //啟動Thread _ThreadTrigger.Start(); } else { axDBTriggerManager.Active = true; //啟動觸發接收 //axDBTriggerManager.Triggers[3].AsCustom.SetState(true); } _Status |= STATUS.TRIGGER; return(true); } catch (Exception ex) { MessageBox.Show(ex.Message); } return(false); }
public Object_Trigger addTrigger(DATABUILDERAXLibLB.DBPlcDevice dtype, string no, TriggerType ttype) { Object_Trigger trigger = new Object_Trigger(); trigger.DeviceType = dtype; trigger.StrNo = no; trigger.TriggerType = ttype; triggers.Add(trigger); return(trigger); }
public int ableTrigger(DATABUILDERAXLibLB.DBPlcDevice dtype, string no, bool enable) { for (int i = 0; i < triggers.Count; i++) { Object_Trigger trigger = triggers[i]; if (trigger.DeviceType == dtype && trigger.StrNo == no) { trigger.Enable = enable; return(i); } } return(-1); }
public bool doMoniter() { for (int i = 0; i < triggers.Count; i++) { Object_Trigger trigger = triggers[i]; trigger.back_data = trigger.this_data = -1; } if (doConnect() == false) { return(false); } if (ActiveTrigger() == false) { return(false); } _Status |= STATUS.MONITOR; return(true); }
private void checkTrigger() { int tmpStatus = _Status & (STATUS.TRIGGER); do { for (int i = 0; i < triggers.Count; i++) { Object_Trigger trigger = triggers[i]; if (trigger.Enable == false) { continue; } trigger.checkTrigger(doReadDevice(trigger.DeviceType, trigger.StrNo)); } Thread.Sleep(100); tmpStatus = _Status & (STATUS.TRIGGER); } while (tmpStatus > 0); }
public Object_Trigger addTrigger(DATABUILDERAXLibLB.DBPlcDevice dtype, string no, TriggerType ttype) { Object_Trigger trigger = new Object_Trigger(); trigger.DeviceType = dtype; trigger.StrNo = no; trigger.TriggerType = ttype; triggers.Add(trigger); return trigger; }