|
@@ -4,6 +4,7 @@ using ResponseServer.HttpServer;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
+using System.Net.NetworkInformation;
|
|
|
using System.Text;
|
|
|
using System.Threading;
|
|
|
using System.Threading.Tasks;
|
|
@@ -21,68 +22,78 @@ namespace HttpServer.mitsubishi
|
|
|
string fun = requestBody.type;
|
|
|
|
|
|
ResponseBody responseBody = new ResponseBody();
|
|
|
- MitCom mitCom = null;
|
|
|
- if (deviceList == null || (deviceList.Where(m => m.Key == requestBody.serverUrl).Count() == 0))
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- mitCom = new MitCom();
|
|
|
- mitCom.GetSimConnect("M700M","1", "10", requestBody.serverUrl);
|
|
|
- deviceList.Add(requestBody.serverUrl, mitCom);
|
|
|
- responseBody.deviceState = ON_LINE_STATE;
|
|
|
- }
|
|
|
- catch(Exception e)
|
|
|
- {
|
|
|
- YG.Log.Instance.WriteLogAdd($"三菱连接结果-ex-->> " + e.Message);
|
|
|
- }
|
|
|
-
|
|
|
- Thread.Sleep(100);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- mitCom = deviceList.Where(m => m.Key == requestBody.serverUrl).FirstOrDefault().Value;
|
|
|
- }
|
|
|
- if(mitCom != null)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- responseBody.deviceState = ON_LINE_STATE;
|
|
|
- if (fun == ActionTypeEnum.Collect.ToString())
|
|
|
- {
|
|
|
- int pdata;
|
|
|
- string loadstr;
|
|
|
- double pdspeed, pdspeedFM, pdspeedFS, pdspeedFE, pdspeedFE1;
|
|
|
-
|
|
|
- mitCom.GetSpindleInfo(2, 1, out pdata, out loadstr);//转速
|
|
|
- responseBody.actSpindle = pdata.ToString();
|
|
|
- mitCom.GetSpindleInfo(3, 1, out pdata, out loadstr);//负载
|
|
|
- responseBody.actFeed = pdata.ToString();
|
|
|
-
|
|
|
- mitCom.GetFeedSpeed(0, out pdspeed, "GetFeedSpeedFA"); //获取指令进给速度
|
|
|
- mitCom.GetFeedSpeed(3, out pdspeedFE, "GetFeedSpeedFE");//攻丝(FE);
|
|
|
- mitCom.GetFeedSpeed(4, out pdspeedFE1, "GetFeedSpeedFE1");//攻丝(FE);
|
|
|
- responseBody.actFeed = pdspeedFE.ToString();
|
|
|
-
|
|
|
- responseBody.spindleMagnification = (Convert.ToInt32(pdspeedFE) / pdspeed).ToString();
|
|
|
- string programNumber;
|
|
|
- mitCom.GetProgramNumber(out programNumber);
|
|
|
- responseBody.mainProg = programNumber;
|
|
|
-
|
|
|
- //string pvValue;
|
|
|
- //mitCom.GetParaValue(30, 8002, 1, 1, out pvValue);
|
|
|
- int runTime;
|
|
|
- mitCom.GetRunTime(out runTime);
|
|
|
- responseBody.powerOnTime = runTime.ToString();
|
|
|
- }
|
|
|
- }
|
|
|
- catch(Exception e)
|
|
|
- {
|
|
|
- YG.Log.Instance.WriteLogAdd($"三菱连接结果-ex-->> " + e.Message);
|
|
|
- deviceList.Remove(requestBody.serverUrl);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
+ MitCom mitCom = null;
|
|
|
+ //先ping
|
|
|
+ Ping pingSender = new Ping();
|
|
|
+ PingReply reply = pingSender.Send(requestBody.serverUrl);
|
|
|
+ if (reply.Status != IPStatus.Success)
|
|
|
+ {
|
|
|
+ responseBody.result = false;
|
|
|
+ responseBody.msg = "调用失败";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (deviceList == null || (deviceList.Where(m => m.Key == requestBody.serverUrl).Count() == 0))
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ mitCom = new MitCom();
|
|
|
+ mitCom.GetSimConnect("M700M", "1", "10", requestBody.serverUrl);
|
|
|
+ deviceList.Add(requestBody.serverUrl, mitCom);
|
|
|
+ responseBody.deviceState = ON_LINE_STATE;
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ YG.Log.Instance.WriteLogAdd($"三菱连接结果-ex-->> " + e.Message);
|
|
|
+ }
|
|
|
+
|
|
|
+ Thread.Sleep(100);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ mitCom = deviceList.Where(m => m.Key == requestBody.serverUrl).FirstOrDefault().Value;
|
|
|
+ }
|
|
|
+ if (mitCom != null)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ responseBody.deviceState = ON_LINE_STATE;
|
|
|
+ if (fun == ActionTypeEnum.Collect.ToString())
|
|
|
+ {
|
|
|
+ int pdata;
|
|
|
+ string loadstr;
|
|
|
+ double pdspeed, pdspeedFM, pdspeedFS, pdspeedFE, pdspeedFE1;
|
|
|
+
|
|
|
+ mitCom.GetSpindleInfo(2, 1, out pdata, out loadstr);//转速
|
|
|
+ responseBody.actSpindle = pdata.ToString();
|
|
|
+ mitCom.GetSpindleInfo(3, 1, out pdata, out loadstr);//负载
|
|
|
+ responseBody.actFeed = pdata.ToString();
|
|
|
+
|
|
|
+ mitCom.GetFeedSpeed(0, out pdspeed, "GetFeedSpeedFA"); //获取指令进给速度
|
|
|
+ mitCom.GetFeedSpeed(3, out pdspeedFE, "GetFeedSpeedFE");//攻丝(FE);
|
|
|
+ mitCom.GetFeedSpeed(4, out pdspeedFE1, "GetFeedSpeedFE1");//攻丝(FE);
|
|
|
+ responseBody.actFeed = pdspeedFE.ToString();
|
|
|
+
|
|
|
+ responseBody.spindleMagnification = (Convert.ToInt32(pdspeedFE) / pdspeed).ToString();
|
|
|
+ string programNumber;
|
|
|
+ mitCom.GetProgramNumber(out programNumber);
|
|
|
+ responseBody.mainProg = programNumber;
|
|
|
+
|
|
|
+ //string pvValue;
|
|
|
+ //mitCom.GetParaValue(30, 8002, 1, 1, out pvValue);
|
|
|
+ int runTime;
|
|
|
+ mitCom.GetRunTime(out runTime);
|
|
|
+ responseBody.powerOnTime = runTime.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ YG.Log.Instance.WriteLogAdd($"三菱连接结果-ex-->> " + e.Message);
|
|
|
+ deviceList.Remove(requestBody.serverUrl);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return responseBody;
|
|
|
}
|