-
Notifications
You must be signed in to change notification settings - Fork 136
2.6 Protocol Presentation Layer Utility
Protocol Presentation Layer is the first API that Modbus.Net could use, it can directly communicate to addresses of devices thinking with protocol, and it can be second encapsulated to specific APIs.
Utility has two parts, property named IUtilityProperty and method groups named IUtilityMethod.
IUtilityProperty has an AddressTranslator, translate string address into AddressDef, which include several number and string definitions of an address.
AddressTranslator can be replaced in any time.
IutilityProperty also has an Endian system, included little endian, big endian and big endian with most significant bit, which defines the storaging patterns. IUtilityProperty.
IUtilityMethod is the interface of utility method group, which defines a group of low level API methods.These methods need to inherit from IUtilityMethod interface and defines its interface, then be implemented Utility class(BaseUtility is an example in Modbus.Net, which implement IUtiltiyData).
User will only be shown IUtilityProperty in interface, but they can call method in IUtilityMethod by invoke GetUtilityMethods in IUtilityProperty.
BaseUtility implement IUtilityProperty and IUtilityMethodData. IUtilityMethodData included a group of GetDatas(Async) and SetDatas(Async). If you write a class inherit from BaseUtility, just implement two abstract methods, others are already implemented.
public abstract Task<byte[]> GetDatasAsync(string startAddress, int getByteCount);
public abstract Task<bool> SetDatasAsync(string startAddress, object[] setContents);
IUtilityProperty will explore the address or address range when IMachineMethod send message to it, then send correct message or some messages to IProtocol.
Modbus.Net Hangzhou Delian Science Technology Co.,Ltd. © 2023
-
2 Specification of Modbus.Net main framework
- 2.1 Modbus.Net Architecture
- 2.2 Transmission Control Layer Controller
- 2.3 Transmission Link Layer Connector
- 2.4 Concrete Protocol Layer ProtocolLinker
- 2.5 Abstract Protocol Layer Protocol
- 2.6 Protocol Presentation Layer Utility
- 2.7 Device Application Layer Machine
- 2.8 Task Application Layer MachineJob
-
3 Using Modbus.Net to implement a protocol
- 3.1 Global Tools
- 3.2 Extends Protocol and ProtocolUnit according to protocol specification
- 3.3 Extends Connector to create a link method
- 3.4 Extends Machine and Utility, creating two apis
- 3.5 Extends API methods to Machine and Utility
- 3.6 Extends Formater, Translator and Combiner, Creating Encoding,Decoding,Combining methods for address
- 3.7 Extends Controller, to control message