/// <summary> /// Register Session Request Method /// </summary> /// /// TODO /// Create a list of all the commands listed here http://read.pudn.com/downloads166/ebook/763212/EIP-CIP-V2-1.0.pdf /// 2-4.2 Command field /// public byte[] buildRegisterSession() { EncapsulationHeaderModel encapsulationHeader = new EncapsulationHeaderModel(RegisterSession, 0x0004, 0x00, 0x00, 0x00, 0x00); CommandSpecificDataModel encapsulationData = new CommandSpecificDataModel(0x01, 0x00); return(GetBytes(encapsulationHeader, encapsulationData)); }
public byte[] GetBytes(EncapsulationHeaderModel encapsulationHeader, EncapsulationDataModel encapsulationData) { List <byte> Data = new List <byte>(); //Convert every EncapsulationHeader value into byte array then Add then to a Data List byte[] encapsulationbyteArray = BitConverter.GetBytes(encapsulationHeader.EIPCommand); foreach (var item in encapsulationbyteArray) { Data.Add(item); } encapsulationbyteArray = BitConverter.GetBytes(encapsulationHeader.EIPLength); foreach (var item in encapsulationbyteArray) { Data.Add(item); } encapsulationbyteArray = BitConverter.GetBytes(encapsulationHeader.EIPSessionHandle); foreach (var item in encapsulationbyteArray) { Data.Add(item); } encapsulationbyteArray = BitConverter.GetBytes(encapsulationHeader.EIPStatus); foreach (var item in encapsulationbyteArray) { Data.Add(item); } encapsulationbyteArray = BitConverter.GetBytes(encapsulationHeader.EIPContext); foreach (var item in encapsulationbyteArray) { Data.Add(item); } encapsulationbyteArray = BitConverter.GetBytes(encapsulationHeader.EIPOptions); foreach (var item in encapsulationbyteArray) { Data.Add(item); } //Convert every EncapsulationData value into byte array then Add then to a Data List encapsulationbyteArray = BitConverter.GetBytes(encapsulationData.ProtocolVersion); foreach (var item in encapsulationbyteArray) { Data.Add(item); } encapsulationbyteArray = BitConverter.GetBytes(encapsulationData.OptionsFlags); foreach (var item in encapsulationbyteArray) { Data.Add(item); } // Convert Data list to Array so it can be used in TCP Strem byte[] Output = Data.ToArray(); return(Output); }