2014-10-10 update 2

This commit is contained in:
parallelbgls@outlook.com
2014-10-10 16:50:19 +08:00
parent 4e5a67d799
commit 135273c2e4
3 changed files with 10 additions and 3 deletions

View File

@@ -12,12 +12,16 @@ namespace CrossLampControl.WebApi.Controllers
{ {
public class CrossLampController : ApiController public class CrossLampController : ApiController
{ {
ModbusUtility _utility = new ModbusUtility("COM6", (int)ModbusType.Rtu); ModbusUtility _utility = new ModbusUtility((int)ModbusType.Rtu, "COM3");
[HttpGet] [HttpGet]
public Lamp GetLamp() public Lamp GetLamp()
{ {
Lamp light = new Lamp(); Lamp light = new Lamp();
bool[] lamps = _utility.GetCoils(2, "0", 6); byte[] lampsbyte = _utility.GetDatas(2, (byte)ModbusProtocalReadDataFunctionCode.ReadCoilStatus, "0", 6);
bool[] lamps =
ValueHelper.Instance.ObjectArrayToDestinationArray<bool>(
ValueHelper.Instance.ByteArrayToObjectArray(lampsbyte,
new KeyValuePair<Type, int>(typeof (bool), 6)));
if (lamps[0]) if (lamps[0])
{ {
light.MainLamp = LightLamp.Green.ToString(); light.MainLamp = LightLamp.Green.ToString();

View File

@@ -494,11 +494,14 @@ namespace ModBus.Net
} }
case "System.Boolean": case "System.Boolean":
{ {
bool[] value = Instance.GetBits(contents, ref count); bool[] value = Instance.GetBits(contents, ref count);
for (int j = 0; j < value.Length; j++) int k = translateUnit.Value - i < 8 ? translateUnit.Value - i : 8;
for (int j = 0; j < k; j++)
{ {
translation.Add(value[j]); translation.Add(value[j]);
} }
i += 7;
break; break;
} }
default: default: