Repository navigation
3.5 Extends API methods to Machine and Utility
parallelbgls edited this page Jun 29, 2017
·
1 revision
Machine and Utility methods group are based on one base interface for each, IMachineMethod and IUtilityMethod. These two interfaces are empty but has the same extending steps. Following example only shows the way of IUtilityMethod.
IUtlityMethod is an empty interface.
public interface IUtilityMethod
{
}Author implements a single data write interface based on Modbus protocol in Modbus.Net.Modbus.
public interface IUtilityMethodWriteSingle : IUtilityMethod
{
Task<bool> SetSingleDataAsync(string startAddress, object setContent);
}IUtilityMethodWriteSingle must inherits from IUtilityMethod due to the fact of GetUtilityMethods' template.
Implementing this interface in ModbusUtility.
public class ModbusUtility : BaseUtility, IUtilityMethodTime, IUtilityMethodWriteSingle
{
public async Task<bool> SetSingleDataAsync(string startAddress, object setContent)
{
try
{
var inputStruct = new WriteSingleDataModbusInputStruct(SlaveAddress, startAddress, setContent,
(ModbusTranslatorBase)AddressTranslator, Endian);
var outputStruct = await
Wrapper.SendReceiveAsync<WriteSingleDataModbusOutputStruct>(Wrapper[typeof(WriteSingleDataModbusProtocal)],
inputStruct);
return outputStruct?.WriteValue.ToString() == setContent.ToString();
}
catch (Exception e)
{
Log.Error(e, $"ModbusUtility -> SetSingleDatas: {ConnectionString} error");
return false;
}
}
}Then we finish extending "write single data" method group to ModbusUtility.
Modbus.Net © 2016-2026 Hangzhou Delian Science Technology Co.,Ltd. | Licensed under MIT
- 1-概要介绍
- 2-Modbus.Net主体框架规范
- 3-利用Modbus.Net实现一个协议
- 4-使用Modbus.Net
- 5-Modbus.Net.Modbus
- 6-Modbus.Net.Siemens
- 7-Modbus.Net.HJ212
- 8-调试与Issue提交
- 1-Overview
-
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
- 4-Using Modbus.Net
- 5-Modbus.Net.Modbus
- 6-Modbus.Net.Siemens
- 7-Modbus.Net.HJ212
- 8-Debug method and issue upload