lxb 1 year ago
parent
commit
cdbd3f26cd

BIN
deviceHttpServer/bin/Debug/HttpServer.exe


BIN
deviceHttpServer/bin/Debug/HttpServer.pdb


+ 4 - 1
deviceHttpServer/body/ResponseBody.cs

@@ -31,12 +31,15 @@ namespace ResponseServer.HttpServer
         public string mainProg //主程序号
         { get; set; }
 
-        public string actFeed  //主轴进给
+        public string actFeed  //主轴进给速度
         { get; set; }
 
         public string spindleMagnification   //主轴倍率
         { get; set; }
 
+        public string feedRateOvr   //进给倍率
+        { get; set; }
+
         public string actSpindle   //主轴转速
         { get; set; }
 

+ 10 - 1
deviceHttpServer/fanuc/ConDevice2.cs

@@ -135,7 +135,16 @@ namespace HttpServer
             
             
         }
-
+        public string GetFeedrate()
+        {
+            Focas1.IODBPMC0 iodbpmco = new Focas1.IODBPMC0();
+            int ret = Focas1.pmc_rdpmcrng(h, 0, 1, 12, 13, 10, iodbpmco);
+            if (ret == 0)
+            {
+                return (255 - iodbpmco.cdata[0]).ToString();
+            }
+            else { return "0"; }
+        }
         public string spindleMagnification()
         {
             //主轴倍率           

+ 2 - 1
deviceHttpServer/fanuc/FanucServer.cs

@@ -32,10 +32,11 @@ namespace Fanuc_HttpServer.fanuc
                 if (CIF2.h > 0)
                 {
                     responseBody.mainProg = CIF2.MainProg();
-                    responseBody.actFeed = CIF2.FeedSpeed();
+                    responseBody.actFeed = (255 - Convert.ToInt32(CIF2.FeedSpeed())).ToString();
                     responseBody.actSpindle = CIF2.ActSpindle();
                     responseBody.spindleMagnification = CIF2.spindleMagnification();
                     responseBody.powerOnTime = CIF2.PowerOnTime();
+                    responseBody.feedRateOvr = CIF2.GetFeedrate();
                     responseBody.deviceState = ON_LINE_STATE;
                     CIF2.freehand();
                 }

+ 1 - 1
deviceHttpServer/mazak/MazakDll.cs

@@ -1736,7 +1736,7 @@ public class MaCls
 
 	// Token: 0x060001E3 RID: 483
 	[DllImport("NTIFDLL.dll")]
-	public static extern int MazSetToolData(ushort param0, ushort param1, ushort param2, ref MAZ_TDALL param3, ref MAZ_TD_ERRORALL param4);
+	public static extern int MazSetToolData(ushort param0, ushort param1, ushort param2,  ref MAZ_TDALL param3, ref MAZ_TD_ERRORALL param4);
 
 	// Token: 0x060001E4 RID: 484
 	[DllImport("NTIFDLL.dll")]

+ 61 - 9
deviceHttpServer/mazak/MazakServer.cs

@@ -68,7 +68,7 @@ namespace HttpServer.mazak
             {
                 ushort toolno = 0;
                 MAZ_TDALL toollist = default(MAZ_TDALL);
-                ret = MaCls.MazGetToolData(h, 0, toolno, ref toollist);
+                ret = MaCls.MazGetToolData(h, 0, requestBody.toolNo, ref toollist);
                 if (ret == 0)
                 {
                     responseBody.toolsData = JsonConvert.SerializeObject(toollist);
@@ -111,21 +111,73 @@ namespace HttpServer.mazak
             }
             else if (fun == ActionTypeEnum.SetTool.ToString())
             {
-                MAZ_TDALL toolData = default(MAZ_TDALL);
+                MAZ_TDALL toollist = default(MAZ_TDALL);
+                ret = MaCls.MazGetToolData(h, 0, requestBody.toolNo, ref toollist);
+
+                MAZ_TDALL toolData = new MAZ_TDALL();
+                MAZ_TD[] tool1 = new MAZ_TD[22];
+                int count = 0;
+                foreach (MAZ_TD aZ_TDALL in toollist.tool)
+                {
+                    MAZ_TD td11 = new MAZ_TD();
+                    td11 = aZ_TDALL;
+                    if (aZ_TDALL.td_common.ushort_0 == 2)
+                    {
+                       
+                        td11.td_common.pkno = 0; //刀位号
+                        td11.td_common.byte_1 = 1; //刀具ID编号对应key
+                        td11.td_common.lengthA = 2950000; //刀具长度
+                        td11.td_common.name = 15; //刀具名称对应key
+                        td11.td_common.int_0 = 20; //公称径
+                        td11.td_common.diameter = 12300; // 刀具径刀尖角
+                        td11.td_common.string_0 = "高速钢"; //材料,机床里要有
+                        td11.td_common.lifetime = 600; //刀具寿命
+                        td11.td_common.lifenumber = 7; //刀具次数
+                        td11.td_common.usetime = 480; //刀具使用时间
+                        td11.td_common.usenumber = 6; //刀具使用次数
+                        td11.td_common.int_1 = 2; // 组号
+                        td11.td_common.compno = 1; //补偿编号
+                        td11.td_common.wearcompX = 1000;
+                        td11.td_common.wearcompY = -1000;
+                        td11.td_common.wearcompZ = 2000;
+                        td11.td_common.maxwearX = 10000;
+                        td11.td_common.maxwearY = 20000;
+                        td11.td_common.maxwearZ = 30000;
+                        td11.td_various.td_general.td_general.angle = 1600;
+                        td11.td_various.td_general.td_general.easycompX = 6541000;
+                        td11.td_various.td_general.td_general.easycompY = 2310;
+                        td11.td_various.td_general.td_general.easycompZ = 2320;
+                        td11.td_various.td_general.td_general.conscompX = 2330;
+                        td11.td_various.td_general.td_general.conscompY = 2340;
+                        td11.td_various.td_general.td_general.conscompZ = -3120;
+                        // td11.td_common.lengthB = 2;
+
+                        //td11.td_common.dummy5 = "1";
+                        //td11.td_common.compno = 2;
+                    }
+                    tool1[count] = td11;
+                    count++;
+                }
+                toollist.tool = tool1;
+
+                MAZ_TD td1 = new MAZ_TD();
                 
-                MAZ_TD td1 = default(MAZ_TD);
                 td1.td_common.ushort_0 = requestBody.toolNo;
                 td1.td_common.name = 33;
-                td1.td_common.lengthA = 10000+ requestBody.toolNo;
-                td1.td_common.lengthB = 20000+ requestBody.toolNo;
-                //toolData.tool[0] = td1;
+                td1.td_common.pkno = 21;
+                td1.td_common.int_0 = 1;
+                // td1.td_common.lengthA = 10000+ requestBody.toolNo;
+                //td1.td_common.lengthB = 20000+ requestBody.toolNo;
+                MAZ_TD[] tool = new MAZ_TD[20];
+                tool[0] = td1;
+                //toolData.tool = tool;
                 //MAZ_TD td2 = default(MAZ_TD);
                 //td2.td_common.ushort_0 = 2;
                 //td2.td_common.name = 22;
-                //toolData.tool[1] = td2;
+                //toolData.tool = td2;en  
 
-                MAZ_TD_ERRORALL errorData = default(MAZ_TD_ERRORALL);
-                ret = MaCls.MazSetToolData(h, 0, requestBody.toolNo,ref toolData, ref errorData);
+                MAZ_TD_ERRORALL errorData = default( MAZ_TD_ERRORALL);
+                ret = MaCls.MazSetToolData(h, 0, requestBody.toolNo, ref toollist, ref errorData);
                 if (ret == 0)
                 {
                     YG.Log.Instance.WriteLogAdd($"mazak-删除刀具-->> 成功");

+ 6 - 5
deviceHttpServer/mitsubishi/MitsubishiServer.cs

@@ -64,18 +64,19 @@ namespace HttpServer.mitsubishi
                             int pdata;
                             string loadstr;
                             double pdspeed, pdspeedFM, pdspeedFS, pdspeedFE, pdspeedFE1;
-
-                            mitCom.GetSpindleInfo(2, 1, out pdata, out loadstr);//转速 
+                            
+                            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.GetSpindleInfo(3, 1, out pdata, out loadstr);//主轴负载
+                            //mitCom.GetSpindleInfo(4, 1, out pdata, out loadstr);//转速 
+                            responseBody.spindleMagnification = 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();
+                            responseBody.feedRateOvr= (Convert.ToInt32(pdspeedFE) / pdspeed).ToString();
                             string programNumber;
                             mitCom.GetProgramNumber(out programNumber);
                             responseBody.mainProg = programNumber;

BIN
deviceHttpServer/obj/Debug/HttpServer.exe


BIN
deviceHttpServer/obj/Debug/HttpServer.pdb


+ 12 - 11
deviceHttpServer/opcua/OpcUaServer.cs

@@ -74,11 +74,11 @@ namespace Fanuc_HttpServer.opcuaserver
                     {
                         
                         List<string> addresses = new List<string>();
-                        //addresses.Add("ns=2;s=/Channel/GeometricAxis/feedRateOvr"); //进给倍率
+                        addresses.Add("ns=2;s=/Channel/GeometricAxis/feedRateOvr"); //进给倍率
                         addresses.Add("ns=2;s=/Channel/State/acFZ"); //进给速度
                         addresses.Add("ns=2;s=/Channel/Spindle/speedOvr");//主轴倍率
                         addresses.Add("ns=2;s=/Channel/Spindle/actSpeed");//主轴实际速度
-                        addresses.Add("ns=2;s=/Channel/Spindle/driveLoad");//主轴负载
+                        //addresses.Add("ns=2;s=/Channel/Spindle/driveLoad");//主轴负载
                         addresses.Add("ns=2;s=/Channel/ProgramInfo/selectedWorkPProg");//主程序
                         addresses.Add("ns=2;s=/Nck/ChannelDiagnose/poweronTime");
                         List<string> values = opcServer.ReadValues(addresses);
@@ -86,27 +86,28 @@ namespace Fanuc_HttpServer.opcuaserver
                         for (int i = 0; i < values.Count; i++)
                         {
                             if (i == 0)
-                            {
-                                runDatasInfo.feedRate = values[i];
+                            { 
+                                responseBody.feedRateOvr = values[i];
                                 responseBody.actFeed = values[i];
                             }
                             else if (i == 1)
                             {
-                                runDatasInfo.spindleMagnification = values[i];
-                                responseBody.spindleMagnification = values[i];
+                                responseBody.actFeed = values[i];
+                                
                             }
                             else if (i == 2)
-                            {
-                                runDatasInfo.spindleSpeed = values[i];
-                                responseBody.actSpindle = values[i];
+                            { 
+                                responseBody.spindleMagnification = values[i]; 
+                                
                             }
                             else if (i == 3)
                             {
-                                runDatasInfo.spindleLoad = values[i];
+                                responseBody.actSpindle = values[i];
+                                
 
                             }
                             else if (i == 4)
-                            {
+                            { 
                                 responseBody.mainProg = values[i];
 
                             }