2017-06-14 update 1 add modbus single write and change invoke method to get methods.

This commit is contained in:
parallelbgls
2017-06-14 12:17:40 +08:00
parent 6e01f0c1e6
commit d85aee17ee
12 changed files with 320 additions and 75 deletions

View File

@@ -26,9 +26,9 @@ namespace Modbus.Net.Tests
public async Task InvokeUtility()
{
BaseMachine<int, int> baseMachine = new ModbusMachine<int, int>(ModbusType.Tcp, "192.168.3.12", null, true, 2, 0);
var success = await baseMachine.BaseUtility.InvokeUtilityMethod<IUtilityMethodTime, Task<bool>>("SetTimeAsync", DateTime.Now);
var success = await baseMachine.BaseUtility.GetUtilityMethods<IUtilityMethodTime>().SetTimeAsync(DateTime.Now);
Assert.AreEqual(success, true);
var time = await baseMachine.BaseUtility.InvokeUtilityMethod<IUtilityMethodTime, Task<DateTime>>("GetTimeAsync");
var time = await baseMachine.BaseUtility.GetUtilityMethods<IUtilityMethodTime>().GetTimeAsync();
Assert.AreEqual((time.ToUniversalTime() - DateTime.Now.ToUniversalTime()).Seconds < 10, true);
baseMachine.Disconnect();
}
@@ -48,7 +48,7 @@ namespace Modbus.Net.Tests
DataType = typeof(bool)
}
}, true, 2, 0);
var success = await baseMachine.InvokeMachineMethod<IMachineMethodData, Task<bool>>("SetDatasAsync",
var success = await baseMachine.GetMachineMethods<IMachineMethodData>().SetDatasAsync(
MachineSetDataType.Address,
new Dictionary<string, double>
{
@@ -57,9 +57,9 @@ namespace Modbus.Net.Tests
}
});
Assert.AreEqual(success, true);
var datas = await baseMachine.InvokeMachineMethod<IMachineMethodData, Task<Dictionary<string, ReturnUnit>>>("GetDatasAsync", MachineGetDataType.Address);
var datas = await baseMachine.GetMachineMethods<IMachineMethodData>().GetDatasAsync(MachineGetDataType.Address);
Assert.AreEqual(datas["0X 1.0"].PlcValue, 1);
success = await baseMachine.InvokeMachineMethod<IMachineMethodData, Task<bool>>("SetDatasAsync",
success = await baseMachine.GetMachineMethods<IMachineMethodData>().SetDatasAsync(
MachineSetDataType.Address,
new Dictionary<string, double>
{