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

            string errStr = "";

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

            case "DO":
            case "":
                dSubType = DeviceSubType.DO;
                DO.Add(new IOChannel("DO", -1, -1, -1, ""));
                break;

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

            return(errStr);
        }
示例#2
0
        public HL(string fullName, string description, int deviceNumber,
                  string objectName, int objectNumber, string articleName) : base(
                fullName, description, deviceNumber, objectName, objectNumber)
        {
            dSubType    = DeviceSubType.NONE;
            dType       = DeviceType.HL;
            ArticleName = articleName;

            DO.Add(new IOChannel("DO", -1, -1, -1, ""));
        }
示例#3
0
        public M(string fullName, string description, int deviceNumber,
                 string objectName, int objectNumber, string articleName) : base(
                fullName, description, deviceNumber, objectName, objectNumber)
        {
            dSubType    = DeviceSubType.NONE;
            dType       = DeviceType.M;
            ArticleName = articleName;

            DO.Add(new IOChannel("DO", -1, -1, -1, "Пуск"));

            parameters.Add("P_ON_TIME", null);
        }
示例#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);
        }