diff --git a/Modbus.Net/CrossLampControl.WebApi/Controllers/CrossLampController.cs b/Modbus.Net/CrossLampControl.WebApi/Controllers/CrossLampController.cs
index fd1f211..cdbf1ab 100644
--- a/Modbus.Net/CrossLampControl.WebApi/Controllers/CrossLampController.cs
+++ b/Modbus.Net/CrossLampControl.WebApi/Controllers/CrossLampController.cs
@@ -4,11 +4,44 @@ using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
+using CrossLampControl.WebApi.Models;
+using ModBus.Net;
namespace CrossLampControl.WebApi.Controllers
{
public class CrossLampController : ApiController
{
-
+ ModbusUtility _utility = new ModbusUtility("COM6", (int)ModbusType.Rtu);
+ [HttpGet]
+ public Lamp GetLamp()
+ {
+ Lamp light = new Lamp();
+ bool[] lamps = _utility.GetCoils(2, "0", 6);
+ if (lamps[0])
+ {
+ light.MainLamp = LightLamp.Green.ToString();
+ }
+ else if (lamps[1])
+ {
+ light.MainLamp = LightLamp.Yellow.ToString();
+ }
+ else
+ {
+ light.MainLamp = LightLamp.Red.ToString();
+ }
+ if (lamps[3])
+ {
+ light.SubLamp = LightLamp.Green.ToString();
+ }
+ else if (lamps[4])
+ {
+ light.SubLamp = LightLamp.Yellow.ToString();
+ }
+ else
+ {
+ light.SubLamp = LightLamp.Red.ToString();
+ }
+ return light;
+ }
}
}
diff --git a/Modbus.Net/CrossLampControl.WebApi/CrossLampControl.WebApi.csproj b/Modbus.Net/CrossLampControl.WebApi/CrossLampControl.WebApi.csproj
index e1280c1..02aa17f 100644
--- a/Modbus.Net/CrossLampControl.WebApi/CrossLampControl.WebApi.csproj
+++ b/Modbus.Net/CrossLampControl.WebApi/CrossLampControl.WebApi.csproj
@@ -204,6 +204,7 @@
+
@@ -237,6 +238,7 @@
+
@@ -248,7 +250,9 @@
-
+
+ Designer
+
Web.config
diff --git a/Modbus.Net/CrossLampControl.WebApi/Models/Lamp.cs b/Modbus.Net/CrossLampControl.WebApi/Models/Lamp.cs
new file mode 100644
index 0000000..23c7a32
--- /dev/null
+++ b/Modbus.Net/CrossLampControl.WebApi/Models/Lamp.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+public enum LightLamp{Red,Yellow,Green}
+namespace CrossLampControl.WebApi.Models
+{
+ public class Lamp
+ {
+ public string MainLamp { get; set; }
+ public string SubLamp { get; set; }
+
+ public Lamp()
+ {
+ MainLamp = LightLamp.Red.ToString();
+ SubLamp = LightLamp.Red.ToString();
+ }
+
+ public Lamp(LightLamp mLamp, LightLamp sLamp)
+ {
+ MainLamp = mLamp.ToString();
+ SubLamp = sLamp.ToString();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Modbus.Net/CrossLampControl.WebApi/Properties/PublishProfiles/CrossLamp.pubxml b/Modbus.Net/CrossLampControl.WebApi/Properties/PublishProfiles/CrossLamp.pubxml
new file mode 100644
index 0000000..c06f996
--- /dev/null
+++ b/Modbus.Net/CrossLampControl.WebApi/Properties/PublishProfiles/CrossLamp.pubxml
@@ -0,0 +1,17 @@
+
+
+
+
+ FileSystem
+ Release
+ Any CPU
+
+ True
+ False
+ d:\CrossLamp
+ False
+
+
\ No newline at end of file