Ejemplo n.º 1
0
        public string ReadMsg()
        {
            if (UserDataBytes == null || UserDataBytes.Length == 0)
            {
                if (ShowLog)
                {
                    logHelper.Error("无信息,无法分析!");
                }
                return("无信息,无法分析!");
            }

            UserData = HexStringUtility.ByteArrayToHexString(UserDataBytes);

            try
            {
                SerialNumber = Convert.ToInt16(UserData.Substring(0, 4), 16);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取流水号出错" + " " + RawDataStr);
                }
                return("获取流水号出错");
            }

            try
            {
                SendTime = DateTime.ParseExact("20" + UserData.Substring(4, 12), "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
            }
            catch (Exception ex)
            {
                if (ShowLog)
                {
                    logHelper.Error(ex.Message + Environment.NewLine + "获取发报时间出错" + " " + RawDataStr);
                }
                return("获取发报时间出错");
            }

            string Remain = UserData.Substring(16).ToUpper();

            string          msg           = "";
            List <RTUParam> List_RTUParam = RTUParam.analyse(Remain, AFN, out msg);

            if (msg == "")
            {
                if (List_RTUParam.Count == 2)
                {
                    if (List_RTUParam[0].GetKey() == (byte)RTUParam.RTUParamKey._03)
                    {
                        oldPW = (RTUParam_03)List_RTUParam[0];
                    }
                    else
                    {
                        msg = "数据体非法,参数1关键字非法";
                    }

                    if (List_RTUParam[1].GetKey() == (byte)RTUParam.RTUParamKey._03)
                    {
                        newPW = (RTUParam_03)List_RTUParam[0];
                    }
                    else
                    {
                        msg = "数据体非法,参数1关键字非法";
                    }
                }
                else
                {
                    msg = "数据体非法,参数不为2个";
                }
            }

            return("");
        }
Ejemplo n.º 2
0
        public static void Init()
        {
            string CenterStation1 = ConfigHelper.GetAppConfig("CenterStation1");
            string CenterStation2 = ConfigHelper.GetAppConfig("CenterStation2");
            string CenterStation3 = ConfigHelper.GetAppConfig("CenterStation3");
            string CenterStation4 = ConfigHelper.GetAppConfig("CenterStation4");

            RTUParam_01 = new RTUParam_01();
            RTUParam_01.CenterStations = new int[] { 0, 0, 0, 0 };
            try
            {
                RTUParam_01.CenterStations[0] = Convert.ToInt32(CenterStation1 == null ? "0" : CenterStation1);
            }
            catch { }
            try
            {
                RTUParam_01.CenterStations[1] = Convert.ToInt32(CenterStation2 == null ? "0" : CenterStation2);
            }
            catch { }

            try
            {
                RTUParam_01.CenterStations[2] = Convert.ToInt32(CenterStation3 == null ? "0" : CenterStation3);
            }
            catch { }
            try
            {
                RTUParam_01.CenterStations[3] = Convert.ToInt32(CenterStation4 == null ? "0" : CenterStation4);
            }
            catch { }

            string RemoteStation = ConfigHelper.GetAppConfig("RemoteStation");

            RTUParam_02 = new RTUParam_02();
            RTUParam_02.RemoteStation = RemoteStation == null ? "" : RemoteStation;

            string Password = ConfigHelper.GetAppConfig("Password");

            RTUParam_03          = new RTUParam_03();
            RTUParam_03.Password = Password == null ? "0000" : Password;

            string ChannelType1_M = ConfigHelper.GetAppConfig("ChannelType1_M");
            string Add1_M         = ConfigHelper.GetAppConfig("Add1_M");

            RTUParam_04 = new RTUParam_04();
            RTUParam_04.ChannelTypeV = 01;
            try
            {
                RTUParam_04.ChannelTypeV = Convert.ToInt32(ChannelType1_M == null ? "0" : ChannelType1_M);
            }
            catch { }
            RTUParam_04.IP   = "";
            RTUParam_04.Port = 0;
            RTUParam_04.Add  = "";
            if (RTUParam_04.ChannelTypeV == (int)RTUParam.ChannelType._02)
            {
                try
                {
                    RTUParam_04.IP   = Add1_M == null ? "" : Add1_M.Split(':')[0];
                    RTUParam_04.Port = Convert.ToInt32(Add1_M == null ? "0" : Add1_M.Split(':')[1]);
                }
                catch { }
            }
            else
            {
                RTUParam_04.Add = Add1_M == null ? "" : Add1_M;
            }

            string ChannelType1_B = ConfigHelper.GetAppConfig("ChannelType1_B");
            string Add1_B         = ConfigHelper.GetAppConfig("Add1_B");

            RTUParam_05 = new RTUParam_05();
            RTUParam_05.ChannelTypeV = 01;
            RTUParam_05.IP           = "";
            RTUParam_05.Port         = 0;
            RTUParam_05.Add          = "";

            string ChannelType2_M = ConfigHelper.GetAppConfig("ChannelType2_M");
            string Add2_M         = ConfigHelper.GetAppConfig("Add2_M");

            RTUParam_06 = new RTUParam_06();
            RTUParam_06.ChannelTypeV = 01;
            RTUParam_06.IP           = "";
            RTUParam_06.Port         = 0;
            RTUParam_06.Add          = "";

            string ChannelType2_B = ConfigHelper.GetAppConfig("ChannelType2_B");
            string Add2_B         = ConfigHelper.GetAppConfig("Add2_B");

            RTUParam_07 = new RTUParam_07();
            RTUParam_07.ChannelTypeV = 01;
            RTUParam_07.IP           = "";
            RTUParam_07.Port         = 0;
            RTUParam_07.Add          = "";

            string ChannelType3_M = ConfigHelper.GetAppConfig("ChannelType3_M");
            string Add3_M         = ConfigHelper.GetAppConfig("Add3_M");

            RTUParam_08 = new RTUParam_08();
            RTUParam_08.ChannelTypeV = 01;
            RTUParam_08.IP           = "";
            RTUParam_08.Port         = 0;
            RTUParam_08.Add          = "";

            string ChannelType3_B = ConfigHelper.GetAppConfig("ChannelType3_B");
            string Add3_B         = ConfigHelper.GetAppConfig("Add3_B");

            RTUParam_09 = new RTUParam_09();
            RTUParam_09.ChannelTypeV = 01;
            RTUParam_09.IP           = "";
            RTUParam_09.Port         = 0;
            RTUParam_09.Add          = "";

            string ChannelType4_M = ConfigHelper.GetAppConfig("ChannelType4_M");
            string Add4_M         = ConfigHelper.GetAppConfig("Add4_M");

            RTUParam_0A = new RTUParam_0A();
            RTUParam_0A.ChannelTypeV = 01;
            RTUParam_0A.IP           = "";
            RTUParam_0A.Port         = 0;
            RTUParam_0A.Add          = "";

            string ChannelType4_B = ConfigHelper.GetAppConfig("ChannelType4_B");
            string Add4_B         = ConfigHelper.GetAppConfig("Add4_B");

            RTUParam_0B = new RTUParam_0B();
            RTUParam_0B.ChannelTypeV = 01;
            RTUParam_0B.IP           = "";
            RTUParam_0B.Port         = 0;
            RTUParam_0B.Add          = "";

            string WorkType = ConfigHelper.GetAppConfig("WorkType");

            RTUParam_0C           = new RTUParam_0C();
            RTUParam_0C.WorkTypeV = 00;

            string BitStr = ConfigHelper.GetAppConfig("BitStr");

            RTUParam_0D        = new RTUParam_0D();
            RTUParam_0D.BitStr = "";

            RTUParam_0E = new RTUParam_0E();

            string SimNoType = ConfigHelper.GetAppConfig("SimNoType");
            string SimNo     = ConfigHelper.GetAppConfig("SimNo");

            RTUParam_0F            = new RTUParam_0F();
            RTUParam_0F.SimNoTypeV = 00;
            RTUParam_0F.SimNo      = "";
        }