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

            string errStr = "";

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

            case "DI":
            case "":
                parameters.Add("P_DT", null);
                dSubType = DeviceSubType.DI;
                DI.Add(new IOChannel("DI", -1, -1, -1, ""));
                break;

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

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

            string errStr = "";

            switch (subtype)
            {
            case "FQT":
                AI.Add(new IOChannel("AI", -1, -1, -1, "Объем"));
                break;

            case "FQT_F":
                AI.Add(new IOChannel("AI", -1, -1, -1, "Объем"));
                AI.Add(new IOChannel("AI", -1, -1, -1, "Поток"));

                parameters.Add("P_MIN_F", null);
                parameters.Add("P_MAX_F", null);
                parameters.Add("P_C0", null);
                parameters.Add("P_DT", null);

                properties.Add("MT", null);     //Связанные моторы.

                break;

            case "FQT_F_OK":
                AI.Add(new IOChannel("AI", -1, -1, -1, "Объем"));
                AI.Add(new IOChannel("AI", -1, -1, -1, "Поток"));
                DI.Add(new IOChannel("DI", -1, -1, -1, ""));

                parameters.Add("P_MIN_F", null);
                parameters.Add("P_MAX_F", null);
                parameters.Add("P_C0", null);
                parameters.Add("P_DT", null);

                properties.Add("MT", null);     //Связанные моторы.

                break;

            case "FQT_VIRT":
                break;

            case "":
                errStr = string.Format("\"{0}\" - не задан тип" +
                                       " (FQT, FQT_F, FQT_F_OK, FQT_VIRT).\n",
                                       Name);
                break;

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

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

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

            string errStr = "";

            switch (subtype)
            {
            case "LS_MIN":
                parameters.Add("P_DT", null);

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

            case "LS_MAX":
                parameters.Add("P_DT", null);

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

            case "LS_IOLINK_MIN":
                parameters.Add("P_DT", null);
                parameters.Add("P_ERR", null);

                AI.Add(new IOChannel("AI", -1, -1, -1, ""));
                SetIOLinkSizes(ArticleName);
                break;

            case "LS_IOLINK_MAX":
                parameters.Add("P_DT", null);
                parameters.Add("P_ERR", null);

                AI.Add(new IOChannel("AI", -1, -1, -1, ""));
                SetIOLinkSizes(ArticleName);
                break;

            case "LS_VIRT":
                dSubType = DeviceSubType.LS_VIRT;
                break;

            case "":
                errStr = string.Format("\"{0}\" - не задан тип (LS_MIN, " +
                                       "LS_MAX, LS_IOLINK_MIN, LS_IOLINK_MAX, LS_VIRT).\n",
                                       Name);
                break;

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

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

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

            parameters.Add("P_DT", null);
        }
Example #6
0
        public override string SetSubType(string subtype)
        {
            base.SetSubType(subtype);

            string errStr = "";

            switch (subtype)
            {
            case "QT":
                parameters.Add("P_C0", null);
                parameters.Add("P_MIN_V", null);
                parameters.Add("P_MAX_V", null);
                break;

            case "QT_OK":
                parameters.Add("P_C0", null);
                parameters.Add("P_MIN_V", null);
                parameters.Add("P_MAX_V", null);

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

            case "QT_IOLINK":
                parameters.Add("P_ERR", null);

                SetIOLinkSizes(ArticleName);
                break;

            case "":
                errStr = string.Format("\"{0}\" - не задан тип" +
                                       " (QT, QT_OK, QT_IOLINK).\n",
                                       Name);
                break;

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

            return(errStr);
        }
Example #7
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);
        }
Example #8
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);
        }