2017-03-07 update 1 Opc Fix.

This commit is contained in:
parallelbgls
2017-03-07 17:27:22 +08:00
parent ec1aaedf11
commit 331feb0b31
11 changed files with 215 additions and 33 deletions

View File

@@ -56,6 +56,7 @@
<Compile Include="ModbusTest.cs" />
<Compile Include="SiemensTest.cs" />
<Compile Include="BaseTest.cs" />
<Compile Include="OpcTest.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Modbus.Net\Modbus.Net.Modbus\Modbus.Net.Modbus.csproj">

View File

@@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Modbus.Net.OPC;
using Modbus.Net.OPC.FBox;
namespace Modbus.Net.Tests
{
[TestClass]
public class OpcTest
{
private BaseMachine _opcMachine;
[TestInitialize]
public void Init()
{
_opcMachine = new FBoxOpcDaMachine("1","德联科技测试", null, true);
}
[TestMethod]
public async Task OpcSingle()
{
_opcMachine.GetAddresses = new List<AddressUnit>
{
new AddressUnit()
{
Id = "1",
Name = "蒸汽压力下限",
Area = "0",
Address = 1,
DataType = typeof(ushort)
}
};
var ans = await _opcMachine.GetDatasAsync(MachineGetDataType.Id);
Assert.AreEqual(ans["1"].PlcValue, 525);
}
[TestMethod]
public async Task OpcMultiple()
{
_opcMachine.GetAddresses = new List<AddressUnit>
{
new AddressUnit()
{
Id = "1",
Name = "蒸汽压力下限",
Area = "0",
Address = 1,
DataType = typeof(ushort)
},
new AddressUnit()
{
Id = "2",
Name = "蒸汽压力目标",
Area = "0",
Address = 2,
DataType = typeof(ushort)
},
new AddressUnit()
{
Id = "3",
Name = "蒸汽压力上限",
Area = "0",
Address = 3,
DataType = typeof(ushort)
}
};
var ans = await _opcMachine.GetDatasAsync(MachineGetDataType.Id);
Assert.AreEqual(ans["1"].PlcValue, 525);
Assert.AreEqual(ans["2"].PlcValue, 600);
Assert.AreEqual(ans["3"].PlcValue, 650);
}
[TestMethod]
public async Task OpcWrite()
{
_opcMachine.GetAddresses = new List<AddressUnit>
{
new AddressUnit()
{
Id = "1",
Name = "蒸汽压力下限",
Area = "0",
Address = 1,
DataType = typeof(ushort)
}
};
var success = await _opcMachine.SetDatasAsync(MachineSetDataType.Id, new Dictionary<string, double>
{
{
"1", 525
}
});
Assert.AreEqual(success, true);
var ans = await _opcMachine.GetDatasAsync(MachineGetDataType.Id);
Assert.AreEqual(ans["1"].PlcValue, 525);
}
}
}