private void CopyTag(PLCNckTag oldTag, object tag = null) { if (oldTag != null) { this.TagDataSource = oldTag.TagDataSource; this.TagDataType = oldTag.TagDataType; this.ByteAddress = oldTag.ByteAddress; this.BitAddress = oldTag.BitAddress; this.ArraySize = oldTag.ArraySize; this.DataTypeStringFormat = oldTag.DataTypeStringFormat; this.DataBlockNumber = oldTag.DataBlockNumber; this.Controlvalue = oldTag.Controlvalue; this.DontSplitValue = oldTag.DontSplitValue; this.Tag = oldTag.Tag; this.NckArea = oldTag.NckArea; this.NckUnit = oldTag.NckUnit; this.NckColumn = oldTag.NckColumn; this.NckLine = oldTag.NckLine; this.NckModule = oldTag.NckModule; this.NckLinecount = oldTag.NckLinecount; } if (tag != null) { this.Tag = tag; } }
private void OK_Click(object sender, EventArgs e) { byte _bereich = (byte)((pNCK.bereich_u_einheit & 0xE0) >> 5); // (bereich_u_einheit & 2#11100000) schiebe rechts um 5 Bit byte _einheit = (byte)(pNCK.bereich_u_einheit & 0x1F); // & 2#00011111 #region TYP TagDataType dataType = new TagDataType(); int _ArraySize = 0; switch (pNCK.typ) { case 1: dataType = TagDataType.Bool; break; case 3: dataType = TagDataType.Byte; //eNCK_LE_Int8; break; case 4: dataType = TagDataType.Word; break; case 5: dataType = TagDataType.Int; //eNCK_LE_Int16; break; case 6: dataType = TagDataType.Dword; //eNCK_LE_Uint32; break; case 7: dataType = TagDataType.Dint; //eNCK_LE_Int32; break; case 8: dataType = TagDataType.Float; //eNCK_LE_Float32; break; case 15: dataType = TagDataType.LReal; //eNCK_LE_Float64; break; case 19: dataType = TagDataType.CharArray; //eNCK_LE_String; _ArraySize = pNCK.laenge; break; default: throw new Exception("Unknown Type"); break; } #endregion _libnodavevalue = new PLCNckTag() { TagDataType = dataType, NckArea = _bereich, NckUnit = _einheit, NckColumn = (int)pNCK.spalte, NckLine = (int)pNCK.zeile, NckModule = pNCK.bausteintyp, NckLinecount = pNCK.ZEILENANZAHL, ArraySize = _ArraySize }; this.Close(); }
public static PLCNckTag ShowPLCTagEditor(PLCNckTag tag) { NckTagEditor tagedt = new NckTagEditor(); tagedt._libnodavevalue = tag; tagedt.ShowDialog(); return(tagedt._libnodavevalue); }
private void Cancel_Click(object sender, EventArgs e) { if (startWasNull) { _libnodavevalue = null; } this.Close(); }
private void LibNoDaveValueEditor_Load(object sender, EventArgs e) { if (_libnodavevalue != null) { ncVar = new NC_Var(_libnodavevalue); } else { startWasNull = true; _libnodavevalue = new PLCNckTag(); } pGridNCK.SelectedObject = ncVar; }
public NC_Var(PLCNckTag nckTag) { if (nckTag != null) { this.SYNTAX_ID = 0x82; this.Bereich_u_einheit = (byte)((byte)nckTag.NckArea << 5 | nckTag.NckUnit); this.Spalte = (UInt16)nckTag.NckColumn; this.Zeile = (UInt16)nckTag.NckLine; this.Bausteintyp = (byte)nckTag.NckModule; this.ZEILENANZAHL = (byte)nckTag.NckLinecount; this.Typ = GetNckType(nckTag.TagDataType); this.Laenge = (UInt16)nckTag._internalGetSize(); } }
public static NC_Var GetNC_Var(PLCNckTag nckTag) { var ret = new NC_Var(); if (nckTag != null) { ret.SYNTAX_ID = 0x82; ret.Bereich_u_einheit = (byte)((byte)nckTag.NckArea << 5 | nckTag.NckUnit); ret.Spalte = (UInt16)nckTag.NckColumn; ret.Zeile = (UInt16)nckTag.NckLine; ret.Bausteintyp = (byte)nckTag.NckModule; ret.ZEILENANZAHL = (byte)nckTag.NckLinecount; ret.Typ = GetNckType(nckTag.TagDataType); ret.Laenge = (UInt16)nckTag._internalGetSize(); } return(ret); }
private void LibNoDaveValueEditor_Load(object sender, EventArgs e) { if (_libnodavevalue != null) { pNCK.SYNTAX_ID = 0x82; pNCK.bereich_u_einheit = (byte)(_libnodavevalue.NckArea << 5 | _libnodavevalue.NckUnit); pNCK.spalte = (uint)_libnodavevalue.NckColumn; pNCK.zeile = (uint)_libnodavevalue.NckLine; pNCK.bausteintyp = (byte)_libnodavevalue.NckModule; pNCK.ZEILENANZAHL = (byte)_libnodavevalue.NckLinecount; pNCK.typ = getType(_libnodavevalue.TagDataType); pNCK.laenge = (byte)_libnodavevalue._internalGetSize(); } else { startWasNull = true; _libnodavevalue = new PLCNckTag(); } pGridNCK.SelectedObject = pNCK; }
private void OK_Click(object sender, EventArgs e) { _libnodavevalue = ncVar.GetNckTag(); this.Close(); }
/// <summary> /// Create an new Nck tag from an existing one by copying its information /// </summary> /// <param name="oldTag"></param> /// <param name="tag"></param> public PLCNckTag(PLCNckTag oldTag, object tag = null) { CopyTag(oldTag, tag); }