|
@@ -18,6 +18,7 @@ using HEIDENHAIN.body;
|
|
|
using System.Net.NetworkInformation;
|
|
|
using System.Diagnostics.PerformanceData;
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
+using System.Reflection;
|
|
|
|
|
|
namespace HEIDENHAIN
|
|
|
{
|
|
@@ -356,7 +357,9 @@ namespace HEIDENHAIN
|
|
|
//获取海德汉的刀具寿命信息
|
|
|
responseBody.toolsInfo = JsonConvert.SerializeObject(toolsList.Distinct().ToList());
|
|
|
|
|
|
- } else if (hdhBody.Type == ActionTypeEnum.ReadAndWriteTool.ToString()) {
|
|
|
+ }
|
|
|
+ else if (hdhBody.Type == ActionTypeEnum.ReadAndWriteTool.ToString())
|
|
|
+ {
|
|
|
|
|
|
//机外对刀仪数据
|
|
|
JObject jsonObject = JObject.Parse(hdhBody.CutterData);
|
|
@@ -428,7 +431,35 @@ namespace HEIDENHAIN
|
|
|
|
|
|
responseBody.msg = "数据设置成功";
|
|
|
responseBody.result = true;
|
|
|
- } else if (hdhBody.Type == ActionTypeEnum.ReadProbeData.ToString())
|
|
|
+ }
|
|
|
+ else if (hdhBody.Type == ActionTypeEnum.WriteDeviationValue.ToString())
|
|
|
+ { // 给机床写偏差值
|
|
|
+ JObject jsonObject = JObject.Parse(hdhBody.DeviationValue);
|
|
|
+
|
|
|
+
|
|
|
+ JHDataAccess dataAccess1 = Machine.GetInterface(HeidenhainDNCLib.DNC_INTERFACE_OBJECT.DNC_INTERFACE_JHDATAACCESS);
|
|
|
+ dataAccess1.SetAccessMode(DNC_ACCESS_MODE.DNC_ACCESS_MODE_TABLEDATAACCESS, "");
|
|
|
+
|
|
|
+ //*偏差值表数据修改*//*
|
|
|
+ //偏差值表查询语句
|
|
|
+ string ToolColumnNamesAccessor1 = @"\TABLE\HAN121601\NR\'1'";
|
|
|
+ //偏差值表数据
|
|
|
+ IJHDataEntry2 ToolTable = dataAccess1.GetDataEntry2(ToolColumnNamesAccessor1, DNC_DATA_UNIT_SELECT.DNC_DATA_UNIT_SELECT_METRIC, false);
|
|
|
+ // 获取字段列表
|
|
|
+ IJHDataEntry2List ToolLines = ToolTable.GetChildList();
|
|
|
+
|
|
|
+ //设置偏差值
|
|
|
+ ToolLines[1].SetPropertyValue(DNC_DATAENTRY_PROPKIND.DNC_DATAENTRY_PROPKIND_DATA, jsonObject.GetValue("exactXaxisOffset"), false);
|
|
|
+ ToolLines[2].SetPropertyValue(DNC_DATAENTRY_PROPKIND.DNC_DATAENTRY_PROPKIND_DATA, jsonObject.GetValue("exactYaxisOffset"), false);
|
|
|
+ ToolLines[3].SetPropertyValue(DNC_DATAENTRY_PROPKIND.DNC_DATAENTRY_PROPKIND_DATA, jsonObject.GetValue("exactZaxisOffset"), false);
|
|
|
+ ToolLines[4].SetPropertyValue(DNC_DATAENTRY_PROPKIND.DNC_DATAENTRY_PROPKIND_DATA, jsonObject.GetValue("exactAaxisOffset"), false);
|
|
|
+ ToolLines[5].SetPropertyValue(DNC_DATAENTRY_PROPKIND.DNC_DATAENTRY_PROPKIND_DATA, jsonObject.GetValue("exactBaxisOffset"), false);
|
|
|
+ ToolLines[6].SetPropertyValue(DNC_DATAENTRY_PROPKIND.DNC_DATAENTRY_PROPKIND_DATA, jsonObject.GetValue("exactCaxisOffset"), false);
|
|
|
+
|
|
|
+ responseBody.msg = "数据设置成功";
|
|
|
+ responseBody.result = true;
|
|
|
+ }
|
|
|
+ else if (hdhBody.Type == ActionTypeEnum.ReadProbeData.ToString())
|
|
|
{
|
|
|
IJHDataEntry2 ToolLine = null;
|
|
|
IJHDataEntry2List ToolCells = null;
|
|
@@ -476,7 +507,7 @@ namespace HEIDENHAIN
|
|
|
catch (Exception opcex)
|
|
|
{
|
|
|
YG.Log.Instance.WriteLogAdd($"海德汉响应异常--->>" + opcex.Message);
|
|
|
- AddList(DateTime.Now.ToString(), "POST", request.Url.ToString(), opcex.Message);
|
|
|
+ AddList(DateTime.Now.ToString(), "POST", request.Url.ToString(), "响应异常:" + opcex.Message);
|
|
|
responseBody.result = false;
|
|
|
responseBody.msg = opcex.Message;
|
|
|
//发生异常,清空数组,重新连接
|
|
@@ -665,6 +696,9 @@ namespace HEIDENHAIN
|
|
|
byte[] res = Encoding.UTF8.GetBytes("OK");
|
|
|
response.OutputStream.Write(res, 0, res.Length);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|