Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
        }