Skip to content

3.2 Extends Protocal and ProtocalUnit according to protocol specification

parallelbgls edited this page Jun 29, 2017 · 1 revision

Steps of extending a protocol transmission layer:

  1. Extends IProtocalFormatting or ProtocalUnit, implementing protocol common core

    • Inherit InputStruct, implementing input class of a protocol.
    • Inherit OutputStruct, implement output class of a protocol.
    • Inherit ProtoalUnit, implementing Format for translate Inputstruct into input parameter(Connector use) and Unformat for translate output parameter to OutputStruct(Connector use).
    • If SpecialProtocalUnitAttribute([SpecialProtocalUnit]) is put below ProtocalUnit, that ProtocoolUnit would not run BytesExtend and BytesDecact.
    • Caution, multiple ProtocalUnits is required for different protocol contents in a protocal specification.
  2. Extends IProtocal or BaseProtocal,implementing host class for a protocol specification.

    • You should impletent each Protocal for each specification and point its ProtocalLinker. For example ModbusRtuProtocal loaded ModbusRtuProtocalLinker and ModbusTcpProtocal loaded ModbusTcpProtocalLinker.
  3. Extends ProtocalLinker, implementing the concrete protocol.

    • Creates A class inherit ProtocalLinkerBytesExtend and name it depending on ProtocalLinker. Then Implement BytesExtend and BytesDecact for extending a common core to a concrete protocol.
    • Extends ProtocalLinker, there are two existing ProtocalLinkers called ComProtocalLinker and TcpProtocalLinker, you can inherit from each or implement your own base ProtocalLinker based on connection hardware type, both on ProtocalLinker and Connector.
    • Override CheckRight in ProtocalLinker, check if the reponse message is correct.

Home

Clone this wiki locally