/// <summary> /// Gets the grouped channel prototypes. /// </summary> public static List <CnlPrototypeGroup> GetCnlPrototypeGroups() { List <CnlPrototypeGroup> groups = new List <CnlPrototypeGroup>(); CnlPrototypeGroup group = new CnlPrototypeGroup("Inputs"); group.AddCnlPrototype(TagCode.Sin, "Sine"); group.AddCnlPrototype(TagCode.Sqr, "Square").SetFormat(FormatCode.OffOn); group.AddCnlPrototype(TagCode.Tri, "Triangle"); groups.Add(group); group = new CnlPrototypeGroup("Outputs"); group.AddCnlPrototype(TagCode.DO, "Relay State").Configure(cnl => { cnl.CnlTypeID = CnlTypeID.InputOutput; cnl.FormatCode = FormatCode.OffOn; cnl.QuantityCode = QuantityCode.RelayState; }); group.AddCnlPrototype(TagCode.AO, "Analog Output").Configure(cnl => { cnl.CnlTypeID = CnlTypeID.InputOutput; cnl.QuantityCode = QuantityCode.Current; cnl.UnitCode = UnitCode.Milliampere; }); groups.Add(group); group = new CnlPrototypeGroup("Random"); group.AddCnlPrototype(TagCode.RA, "Array").Configure(cnl => cnl.DataLen = ArrayLength); groups.Add(group); return(groups); }
/// <summary> /// Gets the grouped channel prototypes. /// </summary> public static CnlPrototypeGroup GetCnlPrototypeGroup() { CnlPrototypeGroup group = new CnlPrototypeGroup(); group.CnlPrototypes.Add(new CnlPrototype { Name = Locale.IsRussian ? "Уведомления" : "Notifications", CnlTypeID = CnlTypeID.InputOutput, TagCode = TagCode.Notif, FormatCode = FormatCode.N0 }); group.CnlPrototypes.Add(new CnlPrototype { Name = Locale.IsRussian ? "Запросы" : "Requests", CnlTypeID = CnlTypeID.InputOutput, TagCode = TagCode.Request, FormatCode = FormatCode.N0 }); group.CnlPrototypes.Add(new CnlPrototype { Name = Locale.IsRussian ? "Статус ответа" : "Response status", CnlTypeID = CnlTypeID.Input, TagCode = TagCode.Response, FormatCode = FormatCode.N0 }); return(group); }