示例#1
0
        public override string SetSubType(string subtype)
        {
            base.SetSubType(subtype);

            string errStr = "";

            switch (subtype)
            {
            case "AO_VIRT":
                dSubType = DeviceSubType.AO_VIRT;
                break;

            case "AO":
            case "":
                dSubType = DeviceSubType.AO;

                parameters.Add("P_MIN_V", null);
                parameters.Add("P_MAX_V", null);

                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                break;

            default:
                errStr = string.Format("\"{0}\" - неверный тип" +
                                       " (AO, AO_VIRT).\n",
                                       Name);
                break;
            }

            return(errStr);
        }
示例#2
0
        public override string SetSubType(string subtype)
        {
            base.SetSubType(subtype);

            string errStr = "";

            switch (subtype)
            {
            case "F":
            case "":
                dSubType = DeviceSubType.F;

                AI.Add(new IOChannel("AI", -1, -1, -1, ""));
                AO.Add(new IOChannel("AO", -1, -1, -1, ""));

                SetIOLinkSizes(ArticleName);
                break;

            default:
                errStr = string.Format("\"{0}\" - неверный тип" +
                                       " (пустая строка, F).\n",
                                       Name);
                break;
            }

            return(errStr);
        }
示例#3
0
文件: VC.cs 项目: radtek/EasyEPLANner
        public VC(string fullName, string description, int deviceNumber,
                  string objectName, int objectNumber, string articleName) : base(
                fullName, description, deviceNumber, objectName, objectNumber)
        {
            dSubType    = DeviceSubType.NONE;
            dType       = DeviceType.VC;
            ArticleName = articleName;

            AO.Add(new IOChannel("AO", -1, -1, -1, ""));
        }
示例#4
0
        public override string SetSubType(string subtype)
        {
            base.SetSubType(subtype);

            string errStr = "";

            switch (subtype)
            {
            case "M":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));

                break;

            case "M_FREQ":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));
                AO.Add(new IOChannel("AO", -1, -1, -1, "Частота вращения"));

                break;

            case "M_REV":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Реверс"));

                break;

            case "M_REV_FREQ":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Реверс"));
                AO.Add(new IOChannel("AO", -1, -1, -1, "Частота вращения"));

                break;

            case "M_REV_2":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Реверс"));

                break;

            case "M_REV_FREQ_2":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Реверс"));
                AO.Add(new IOChannel("AO", -1, -1, -1, "Частота вращения"));

                break;


            case "M_REV_2_ERROR":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Авария"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Реверс"));

                break;

            case "M_REV_FREQ_2_ERROR":
                DI.Add(new IOChannel("DI", -1, -1, -1, "Обратная связь"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Авария"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Реверс"));
                AO.Add(new IOChannel("AO", -1, -1, -1, "Частота вращения"));

                break;

            case "M_ATV":
                DO.Clear();
                properties.Add("IP", null);
                break;

            case "":
                errStr = string.Format("\"{0}\" - не задан тип" +
                                       " (M, M_FREQ, M_REV, M_REV_FREQ, M_REV_2," +
                                       " M_REV_FREQ_2, M_REV_2_ERROR, M_REV_FREQ_2_ERROR, " +
                                       "M_ATV).\n", Name);
                break;

            default:
                errStr = string.Format("\"{0}\" - неверный тип" +
                                       " (M, M_FREQ, M_REV, M_REV_FREQ, M_REV_2," +
                                       " M_REV_FREQ_2, M_REV_2_ERROR, M_REV_FREQ_2_ERROR, " +
                                       "M_ATV).\n", Name);
                break;
            }

            return(errStr);
        }
示例#5
0
        public override string SetSubType(string subtype)
        {
            base.SetSubType(subtype);

            string errStr = "";

            switch (subtype)
            {
            case "V_DO1":
                DO.Add(new IOChannel("DO", -1, -1, -1, ""));
                break;

            case "V_DO2":
                DO.Add(new IOChannel("DO", -1, -1, -1, "Закрыть"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть"));
                break;

            case "V_DO1_DI1_FB_OFF":
                DO.Add(new IOChannel("DO", -1, -1, -1, ""));
                DI.Add(new IOChannel("DI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_DO1_DI1_FB_ON":
                DO.Add(new IOChannel("DO", -1, -1, -1, ""));
                DI.Add(new IOChannel("DI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_DO1_DI2":
                DO.Add(new IOChannel("DO", -1, -1, -1, ""));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Закрыт"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Открыт"));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_DO2_DI2":
            case "V_DO2_DI2_BISTABLE":
                DO.Add(new IOChannel("DO", -1, -1, -1, "Закрыть"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Закрыт"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Открыт"));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_MIXPROOF":
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть НС"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть ВС"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Закрыт"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Открыт"));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_IOLINK_MIXPROOF":
                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);

                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                AI.Add(new IOChannel("AI", -1, -1, -1, ""));

                SetIOLinkSizes(ArticleName);
                break;

            case "V_AS_MIXPROOF":
                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                AI.Add(new IOChannel("AI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);

                rtParameters.Add("R_AS_NUMBER", null);
                break;

            case "V_BOTTOM_MIXPROOF":
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть мини"));
                DO.Add(new IOChannel("DO", -1, -1, -1, "Открыть НС"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Закрыт"));
                DI.Add(new IOChannel("DI", -1, -1, -1, "Открыт"));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_AS_DO1_DI2":
                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                AI.Add(new IOChannel("AI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);

                rtParameters.Add("R_AS_NUMBER", null);
                break;

            case "V_IOLINK_DO1_DI2":
                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                AI.Add(new IOChannel("AI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);

                SetIOLinkSizes(ArticleName);
                break;

            case "V_IOLINK_VTUG_DO1":
                rtParameters.Add("R_VTUG_NUMBER", null);
                rtParameters.Add("R_VTUG_SIZE", 1);

                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                break;

            case "V_IOLINK_VTUG_DO1_FB_OFF":
                rtParameters.Add("R_VTUG_NUMBER", null);
                rtParameters.Add("R_VTUG_SIZE", 1);

                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                DI.Add(new IOChannel("DI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "V_IOLINK_VTUG_DO1_FB_ON":
                rtParameters.Add("R_VTUG_NUMBER", null);
                rtParameters.Add("R_VTUG_SIZE", 1);

                AO.Add(new IOChannel("AO", -1, -1, -1, ""));
                DI.Add(new IOChannel("DI", -1, -1, -1, ""));

                parameters.Add("P_ON_TIME", null);
                parameters.Add("P_FB", 1);
                break;

            case "":
                errStr = string.Format(
                    "\"{0}\" - не задан тип (V_DO1, V_DO2, ...).\n", name);
                break;

            default:
                errStr = string.Format(
                    "\"{0}\" - неверный тип (V_DO1, V_DO2, ...).\n", name);
                break;
            }

            return(errStr);
        }