public PlcBitModel(string memArea, int wordAddress, int bitAddress) { MemArea = memArea.ToUpper(); WordAddress = wordAddress; BitAddress = bitAddress; WordAddressStr = OmronFINsProcessor.HexConvert10(wordAddress.ToString()).PadLeft(4, '0'); BitAddressStr = OmronFINsProcessor.HexConvert10(bitAddress.ToString()).PadLeft(2, '0'); }
/// <summary> /// Get the decimal Value and convert to Hex string that can be passed to PLC /// </summary> /// <returns>Hex string, Length: 2 words (32bit)</returns> public string GetValueHexStr() { //assume PLC addressing 0..511, where LSB before MSB. i.e. W0+W1=LSB+MSB string temp = OmronFINsProcessor.HexConvert10(Value.ToString()).PadLeft(8, '0'); return(temp.Substring(4, 4) + temp.Substring(0, 4));//return LSB + MSB (low address + high address) //assume PLC addressing 0..511, where MSB before LSB. i.e. W1+W0=LSB+MSB //return OmronFINsProcessor.HexConvert10(Value.ToString()).PadLeft(8, '0'); }
/// <summary> /// Set a value of a individual Bit inside a Word. Update Word value /// </summary> /// <param name="BitNumber">The address of individual Bit</param> /// <param name="BitValue">Value to be set 0 or 1</param> public void SetBitValue(int BitAddress, int BitValue) { if (BitValue == 0 || BitValue == 1) { Bits[BitAddress] = BitValue; List <int> BitsReversed = new List <int>(Bits); BitsReversed.Reverse(); _binaryValueStr = string.Join("", BitsReversed); _hexValueStr = OmronFINsProcessor.HexConvert2(_binaryValueStr); } }
private void RdAllW() { //string StrRx1 = OmronFINsProcessor.GenericRdPLC("WR", "000000", "012B00", PlcSerialPort); string StrRx1 = OmronFINsProcessor.GenericRdPLC(PlcMemArea.WR, "0000", "0049", PlcSerialPort); //string StrRx2 = OmronFINsProcessor.GenericRdPLC("WR", "012C00", "01FF00", PlcSerialPort); string StrRx2 = OmronFINsProcessor.GenericRdPLC(PlcMemArea.WR, "0050", "0099", PlcSerialPort); //TODO: verify Rx string is valid before processing string StrRx = StrRx1 + StrRx2; PlcData.AllW = OmronFINsProcessor.ConvWordStrToWordArray(StrRx); }
public PlcBitModel(string memArea, int wordAddress, int bitAddress, string value) { MemArea = memArea.ToUpper(); WordAddress = wordAddress; BitAddress = bitAddress; WordAddressStr = OmronFINsProcessor.HexConvert10(wordAddress.ToString()).PadLeft(4, '0'); BitAddressStr = OmronFINsProcessor.HexConvert10(bitAddress.ToString()).PadLeft(2, '0'); if (value == "0" || value == "1") { Value = int.Parse(value); } }
private void BtnExportMUBA_Click(object sender, EventArgs e) { try { string xAddrB = ""; string xAddrE = ""; string RdValue = ""; int MUBA = 0; xAddrB = OmronFINsProcessor.HexConvert10(MUBAdata.AddrB.ToString()); xAddrE = OmronFINsProcessor.HexConvert10(MUBAdata.AddrE.ToString()); //MainForm.PlcPort.Open(); //ReadFromPLC(); //serialPort1.Open(); // RdValue = Omron.GenericRdPLC(PLCcmd.DM, xAddrB, xAddrE, MainForm.PlcPort); //RdValue = Omron.GenericRdPLC(PLCcmd.DM, xAddrB, xAddrE, serialPort1); DistMUBAdata(RdValue); MUBA = GetMUBA(); TBoxMUBA.Text = MUBA.ToString(); }catch (Exception) { } }
/// <summary> /// Constructor /// </summary> /// <param name="memArea">Bit memory area, WR or HR</param> /// <param name="wordAddress">Word address that bit is belonged to 0-511</param> /// <param name="bitAddress">Bit address 0-15</param> /// <param name="value">Bit value 0 or 1</param> public PlcBitModel(PlcMemArea memArea, int wordAddress, int bitAddress, int value) { if (wordAddress < OmronFINsClass.Size_WR && bitAddress < OmronFINsClass.Width_Word) { switch (memArea) { case PlcMemArea.CIO: MemArea = "C"; break; case PlcMemArea.WR: MemArea = "W"; break; case PlcMemArea.HR: MemArea = "H"; break; case PlcMemArea.AR: MemArea = "A"; break; case PlcMemArea.DM: MemArea = "D"; break; case PlcMemArea.WR_bit: MemArea = "W"; break; default: break; } WordAddress = wordAddress; BitAddress = bitAddress; WordAddressStr = OmronFINsProcessor.HexConvert10(wordAddress.ToString()).PadLeft(4, '0'); BitAddressStr = OmronFINsProcessor.HexConvert10(bitAddress.ToString()).PadLeft(2, '0'); Value = value; } }
public void SetValue(string ValueStr) { this.ValueStr = ValueStr; Value = uint.Parse(ValueStr); ValueHexStr = OmronFINsProcessor.HexConvert10(ValueStr).PadLeft(8, '0'); }
//public bool WrtOnStop { get; set; } //public bool WrtOnStart { get; set; } //public bool WrtOnRun { get; set; } /// <summary> /// Set UInt Value /// </summary> /// <param name="Value">Uint value</param> public void SetValue(uint Value) { this.Value = Value; ValueStr = Value.ToString(); ValueHexStr = OmronFINsProcessor.HexConvert10(Value.ToString()).PadLeft(8, '0'); }
/// <summary> /// Set the Word Hex value /// </summary> /// <param name="ValueStr">The Hex Value string</param> public void SetValue(string ValueStr) { _hexValueStr = ValueStr.PadLeft(4, '0'); _binaryValueStr = OmronFINsProcessor.BinaryConvert16(_hexValueStr).PadLeft(16, '0'); SetAllBitsValue(); }
/// <summary> /// Get the decimal Value and convert to Hex string that can be passed to PLC /// </summary> /// <returns>Hex string, Length: 1 word (16bit)</returns> public string GetValueHexStr() { return(OmronFINsProcessor.HexConvert10(Value.ToString()).PadLeft(4, '0')); }