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); }
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); }
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, "")); }
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); }
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); }