plcRead.ashx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <%@ WebHandler Language="C#" Class="plcRead" %>
  2. using System;
  3. using System.Web;
  4. using Newtonsoft.Json.Linq;
  5. using Curtain.DataAccess;
  6. using System.Data;
  7. using Curtain.Net.Sockets.PLC;
  8. using DK.XuWei.WebMes;
  9. public class plcRead : IHttpHandler
  10. {
  11. public void ProcessRequest(HttpContext context)
  12. {
  13. context.Response.ContentType = "text/plain";
  14. bool success = true;
  15. int ypNum = 0; //产量
  16. float wdNum = 0; //温度
  17. float sdNum = 0; //湿度
  18. //plc地址:172.19.24.109 DB地址:500.0 500.2 500.6
  19. try
  20. {
  21. PLCResult<short> plcResult1 = SiemensS7.PlcRead<short>("172.19.24.109", "500.0");
  22. ypNum = plcResult1.Data;
  23. PLCResult<float> plcResult2 = SiemensS7.PlcRead<float>("172.19.24.109", "500.2");
  24. wdNum = plcResult2.Data;
  25. PLCResult<float> plcResult3 = SiemensS7.PlcRead<float>("172.19.24.109", "500.6");
  26. sdNum = plcResult3.Data;
  27. success = true;
  28. }
  29. catch
  30. {
  31. success = false;
  32. }
  33. JObject json = new JObject(
  34. new JProperty("success",success),
  35. new JProperty("ypnum",ypNum),
  36. new JProperty("wdnum",wdNum),
  37. new JProperty("sdnum",sdNum)
  38. );
  39. context.Response.Write(json.ToString());
  40. }
  41. public bool IsReusable
  42. {
  43. get
  44. {
  45. return false;
  46. }
  47. }
  48. }