public SetupTableModel(KLStruct klapan) { showAO = false; type = typeof(KLStruct); obj = klapan; En = klapan.En; Name = klapan.Description; Group = klapan.Group; Outputs = new ObservableCollection <InputOutputItem> { new InputOutputItem("Открыт", klapan.OKCindxArrDI, klapan.OKCName, ESignalType.DI), new InputOutputItem("Закрыт", klapan.CKCindxArrDI, klapan.CKCName, ESignalType.DI) }; Inputs = new ObservableCollection <InputOutputItem> { new InputOutputItem("Команда - открыть", klapan.DOBindxArrDO, klapan.DOBName, ESignalType.DO), new InputOutputItem("Команда - закрыть", klapan.DKBindxArrDO, klapan.DKBName, ESignalType.DO) }; AddDICommand = new AddDICommand(Outputs); RemDICommand = new RemoveDICommand(Outputs, 2); InitSelectMenu(); }
public void ApplyChanges() { if (type == typeof(VSStruct)) { VSStruct temp = obj as VSStruct; temp.ECindxArrDI = Outputs[0]._index; temp.MPCindxArrDI = Outputs[1]._index; temp.PCindxArrDI = Outputs[2]._index; temp.BusSecIndex = Outputs[3]._index; // temp.PCindxArrAI = Analogs[0].Index; /* temp.valuePC = Analogs[0].ValueNom; * temp.valuePCspd = Analogs[0].ValueSpd; */ temp.Description = Name; temp.Group = Group; temp.En = En; temp.ABBindxArrDO = inputs[0]._index; temp.ABOindxArrDO = inputs[1]._index; if (_analogs.Count > 0) { temp.controledAIs = _analogs.ToArray(); } else { temp.controledAIs = null; } /* if (ANInputs != null && ANInputs.Count > 0) * { * temp.SetRPM_Addr = ANInputs[0].PLCAddr; * temp.ADCtoRPM = ANInputs[0].ADCtoRPM; * }*/ temp.AnCmdIndex = AnalogCommands[0]._index; for (int i = 4; i < Outputs.Count; i++) { if (Outputs[i].Index != null) { temp.CustomDIs.Add(new DIItem(Outputs[i].Name, Outputs[i]._index)); } } } if (type == typeof(KLStruct)) { KLStruct temp = obj as KLStruct; temp.DOBindxArrDO = inputs[0]._index; temp.DKBindxArrDO = inputs[1]._index; temp.OKCindxArrDI = Outputs[0]._index; temp.CKCindxArrDI = Outputs[1]._index; temp.Description = Name; temp.Group = Group; temp.En = En; } if (type == typeof(ZDStruct)) { ZDStruct temp = obj as ZDStruct; temp.Description = Name; temp.Group = Group; temp.En = En; temp.OKCindxArrDI = Outputs[0]._index; temp.CKCindxArrDI = Outputs[1]._index; temp.VoltindxArrDI = Outputs[2]._index; temp.ODCindxArrDI = Outputs[3]._index; temp.CDCindxArrDI = Outputs[4]._index; temp.MCindxArrDI = Outputs[5]._index; temp.DCindxArrDI = Outputs[6]._index; temp.BSIndex = Outputs[7]._index; temp.DOBindxArrDO = inputs[0]._index; temp.DCBindxArrDO = inputs[1]._index; temp.DKBindxArrDO = inputs[2]._index; temp.DCBZindxArrDO = inputs[3]._index; temp.ZD_Pos_index = _analogs[0]._index; if (Outputs.Count > 8) { temp.CustomDIs = new List <DIItem>(); for (int i = 8; i < Outputs.Count; i++) { temp.CustomDIs.Add(new DIItem(Outputs[i].Name, Outputs[i]._index)); } } //TODO: добавить запись настроек аналогов } if (type == typeof(MPNAStruct)) { MPNAStruct agr = obj as MPNAStruct; agr.Description = Name; agr.Group = Group; agr.En = En; agr.MBC11indxArrDI = Outputs[0]._index; agr.MBC12indxArrDI = Outputs[1]._index; agr.MBC21indxArrDI = Outputs[2]._index; agr.MBC22indxArrDI = Outputs[3]._index; agr.ECBindxArrDI = Outputs[4]._index; agr.ECO11indxArrDI = Outputs[5]._index; agr.ECO12indxArrDI = Outputs[6]._index; // agr.ECxindxArrDI = Outputs[7]._index; agr.ABBindxArrDO = inputs[0]._index; agr.ABOindxArrDO = inputs[1]._index; agr.ABO2indxArrDO = inputs[2]._index; /* agr.CurrentIndx = Analogs[0].Index; * agr.Current_nominal = Analogs[0].ValueNom; * agr.Current_spd = Analogs[0].ValueSpd; * * agr.RPMindxArrAI = Analogs[1].Index; * agr.RPM_nominal = Analogs[1].ValueNom; * agr.RPM_spd = Analogs[1].ValueSpd;*/ if (Analogs.Count > 0) { agr.controledAIs = Analogs.ToArray(); } else { agr.controledAIs = null; } agr.CustomDIs = new List <DIItem>(); for (int i = 7; i < Outputs.Count; i++) { if (Outputs[i].Index != null) { agr.CustomDIs.Add(new DIItem(Outputs[i].Name, Outputs[i]._index)); } } } }
public static KLStruct[] GetArray() { KLStruct[] temp = new KLStruct[KL.Count]; _kl.CopyTo(temp, 0); return(temp); }