private string I7556DNM_CHECK_EMS(ref string a_values) //讀取EMS Bit { string result = "I7565DNM_CHECK_EMS ERROR"; string device = ""; //check iems_io if (!varMap.TryGetValue("@ems_input", out string s_ems_io)) { result = "ems_io not define"; return(result); } //check ems_values if (!varMap.TryGetValue("@ems_values", out string s_ems_values)) { result = "ems_values not define"; return(result); } varMap.TryGetValue("@device", out device); if (device == null || device.Equals("undefined")) { result = "device not define"; return(result); } Marco.deviceMap.TryGetValue(device, out object obj); I7565DNM deviceCtrl = (I7565DNM)obj; //確認單點或這是多點 if (!s_ems_io.Contains(";")) { uint s = deviceCtrl.I7565DNM_GETIO(s_ems_io, true); a_values = s.ToString(); result = deviceCtrl.errorCode; } else { string deviceErrorCode = ""; string[] ioAry = s_ems_io.Split(';'); //檢查點位(Address) foreach (string ss in ioAry) { uint s = deviceCtrl.I7565DNM_GETIO(ss, true); a_values = a_values + s.ToString(); deviceErrorCode = deviceCtrl.errorCode; //硬體讀取值異常 if (!deviceErrorCode.Equals("")) { result = deviceErrorCode; } } } return(result); }
private string I7565DNM_GETIO(ref string value) { string result = "I7565DNM_GETIO ERROR"; string device = ""; string io = ""; I7565DNM deviceCtrl = null; try { if (!checkI7565DNM(ref result, ref device, ref io, ref deviceCtrl)) { return(result); } uint s = deviceCtrl.I7565DNM_GETIO(io, true); value = s.ToString(); result = deviceCtrl.errorCode; return(result); } catch (Exception e) { logger.Error(e.StackTrace); return(result); } }
private string I7565DNM_GETIOS(ref string values) { string result = "I7565DNM_GETIOS ERROR"; string device = ""; string ios = ""; I7565DNM deviceCtrl = null; if (!checkI7565DNM(ref result, ref device, ref ios, ref deviceCtrl)) { return(result); } string[] ioAry = ios.Split(';'); foreach (string io in ioAry) { uint s = deviceCtrl.I7565DNM_GETIO(io, true); values = values + s.ToString(); result = deviceCtrl.errorCode; if (!result.Equals("")) { return(result); } } return(result); }