Prechádzať zdrojové kódy

fix:增加偏移量的写入

wang.sq@aliyun.com 3 mesiacov pred
rodič
commit
262258a06e
2 zmenil súbory, kde vykonal 41 pridanie a 4 odobranie
  1. 37 3
      HEIDENHAIN/Form1.cs
  2. 4 1
      HEIDENHAIN/body/RequestBody.cs

+ 37 - 3
HEIDENHAIN/Form1.cs

@@ -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);
             }
+
+
+
         }
 
     }

+ 4 - 1
HEIDENHAIN/body/RequestBody.cs

@@ -23,6 +23,8 @@ namespace IMCS.HeidenHain
         { get; set; }
         public string CutterData
         { get; set; }
+        public string DeviationValue
+        { get; set; }
     }
 
     /// <summary>
@@ -40,6 +42,7 @@ namespace IMCS.HeidenHain
         DeleteNc,
         ToolList,
         ReadAndWriteTool,
-        ReadProbeData
+        ReadProbeData,
+        WriteDeviationValue
     }
  }