| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- <%@ WebHandler Language="C#" Class="rpt" %>
- using System;
- using System.Web;
- using Curtain.Net.Sockets.PLC;
- using Curtain.Net.Sockets.PLC.Model.Siemens;
- using DK.XuWei.WebMes;
- using Newtonsoft.Json.Linq;
- public class rpt : IHttpHandler
- {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- if (context.Request["m"].ToString() == "grouting")
- {
- try
- {
- //成型数据
- JArray dataArray = new JArray();
- dataArray.Add(new JObject(new JProperty("data", 1)));
- dataArray.Add(new JObject(new JProperty("data", 1)));
- dataArray.Add(new JObject(new JProperty("data", 1)));
- dataArray.Add(new JObject(new JProperty("data", 1)));
- dataArray.Add(new JObject(new JProperty("data", 1)));
- dataArray.Add(new JObject(new JProperty("data", 1)));
- //输出数据
- context.Response.Write(dataArray.ToString());
- }
- catch(Exception ex) {
- context.Response.Write("[]");
- Curtain.Log.Logger.Error(ex);
- }
- }
- if (context.Request["m"].ToString() == "dry")
- {
- try
- {
- //烘干数据
- JArray dataArray = new JArray();
- //dataArray.Add(new JObject(new JProperty("data", 3)));
- //dataArray.Add(new JObject(new JProperty("data", 3)));
- dataArray.Add(new JObject(new JObject(new JProperty("data", plcDataDry("172.18.40.51").d.ToString()))));
- dataArray.Add(new JObject(new JObject(new JProperty("data", plcDataDry("172.18.40.52").d.ToString()))));
- dataArray.Add(new JObject(new JObject(new JProperty("data", plcDataDry("172.18.40.53").d.ToString()))));
- dataArray.Add(new JObject(new JObject(new JProperty("data", plcDataDry("172.18.40.54").d.ToString()))));
- //输出数据
- context.Response.Write(dataArray.ToString());
- }
- catch(Exception ex) {
- context.Response.Write("[]");
- Curtain.Log.Logger.Error(ex);
- }
- }
- if (context.Request["m"].ToString() == "glaze")
- {
- try
- {
- //施釉数据
- JArray dataArray = new JArray();
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.37.64", "480.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.37.64", "480.2").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.37.64", "480.4").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.37.64", "480.6").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.37.64", "480.8").ToString())));
- //输出数据
- context.Response.Write(dataArray.ToString());
- }
- catch(Exception ex) {
- context.Response.Write("[]");
- Curtain.Log.Logger.Error(ex);
- }
- }
- if (context.Request["m"].ToString() == "kiln")
- {
- try
- {
- //登卸窑机器人
- JArray dataArray = new JArray();
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.104", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.104", "360.4").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.112", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.112", "360.2").ToString())));
- //输出数据
- context.Response.Write(dataArray.ToString());
- }
- catch(Exception ex) {
- context.Response.Write("[]");
- Curtain.Log.Logger.Error(ex);
- }
- }
- if (context.Request["m"].ToString() == "lake")
- {
- try
- {
- //功能检测
- JArray dataArray = new JArray();
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.160", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.164", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.168", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.172", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.176", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.180", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.184", "360.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.166", "360.0").ToString())));
- //输出数据
- context.Response.Write(dataArray.ToString());
- }
- catch(Exception ex) {
- context.Response.Write("[]");
- Curtain.Log.Logger.Error(ex);
- }
- }
- if (context.Request["m"].ToString() == "pack")
- {
- try
- {
- //包装机器人
- JArray dataArray = new JArray();
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.37", "240.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.35", "240.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.15", "240.0").ToString())));
- dataArray.Add(new JObject(new JProperty("data", plcData("172.18.36.95", "240.0").ToString())));
- //输出数据
- context.Response.Write(dataArray.ToString());
- }
- catch(Exception ex) {
- context.Response.Write("[]");
- Curtain.Log.Logger.Error(ex);
- }
- }
- //读取PLC地址数据
- //1、设备运行状态(int)【1:设备运行中,2:设备就绪,3:设备故障,0:设备无动作】
- //context.Response.Write(plcData("172.18.36.160", "360.0").ToString());
- }
- public string plcData(string ip,string db)
- {
- PLCResult<Int16> result = SiemensS7.PlcRead<Int16>(ip, db);
- return result.Data.ToString();
- }
- //只用于烘干房 M0.0=1 运行 M0.4=1 就绪 M0.1=1 停止 Q1.0=1 故障
- public dryData plcDataDry(string ip)
- {
- SocketClient<SiemensS7_200SmartModel> plc = null;
- plc = new SocketClient<SiemensS7_200SmartModel>();
- plc.Connect(ip, 102);
- dryData data = new dryData();
- //读取运行码
- PLCResult<Int16> resultRead1 = plc.Read<Int16>("M", "0.0");
- data.d1 = resultRead1.Data.ToString();
- if (data.d1 != "0") data.d = "1";
- //读取就绪码
- PLCResult<Int16> resultRead2 = plc.Read<Int16>("M", "0.4");
- data.d2 = resultRead2.Data.ToString();
- if (data.d2 != "0") data.d = "1";
- //读取待机码
- PLCResult<Int16> resultRead3 = plc.Read<Int16>("M", "0.1");
- data.d3 = resultRead3.Data.ToString();
- if (data.d3 != "0") data.d = "1";
- //读取故障码
- PLCResult<Int16> resultRead0 = plc.Read<Int16>("Q", "1.0");
- data.d0 = resultRead0.Data.ToString();
- if (data.d0 != "0") data.d = "1";
- plc.Close();
- plc.Dispose();
- return data;
- }
- public class dryData
- {
- public string d = "0";
- public string d1 = "0";
- public string d2 = "0";
- public string d3 = "0";
- public string d0 = "0";
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|