(废话,可以不看)事情是这样的,这一段时间有个项目需要使用AE(可以采集主轴加工时的声音,用来判断加工状态)和动平衡。AE和动平衡原来自带一个软件可以用的,但是需要切换界面,这样就不方便一边查看加工参数一边看加工状态。所以决定将厂家提供控件加到我们自己二次开发的软件中去。
1、(半废话,如果不使用AE可以略过)首先数控系统和二次开发的虚拟环境都需要安装AE厂家提供的软件,安装过程比较简单没有特别需要注意的,能选的都选上,软件接口的文档是英文的,目录如下:D:\动平衡软件安装包\Documents\English\Programming_Interface_D60020.pdf
2、找到需要控件的注册ID,有多种方法,这里我选择直接在QT Designer中获取,首先打开QT Designer,并且新建一个窗体,然后添加QAxWidget控件,如图:
3、在控件上右击,选择“设置控件”,在弹窗中选择需要的控件,AE的控件为M6000(该控件是安装AE软件时已经注册好了,如果找不到控件可以试着注册一下需要的控件,详细的方法网上有很多,不再赘述),如图:
4、点击确定,可以在控件属性中找到控件的ID,貌似ID不可以复制,可以手动记录下来,如图:
5、现在需要通过QT提供的工具将我们用的控件转化为QT可以直接调用的,这个方法是我觉得最方便最好用的。首先打开CMD控制台(这个不在赘述,详细请百度),然后在CMD中输入如下代码“W:\hmisl\siemens\sinumerik\hmi\osal\qt\bin\dumpcpp.exe {c098cd58-f8b1-4981-96c4-dd5217d40592}”然后回车,如果你用的是840D sl二次开发的环境,将W盘符替换为你所用的虚拟盘符即可,如果是其他环境请搜索dumpcpp.exe的路径,如图:
6、这时候C:\Documents and Settings\Administrator目录下出现两个文件m6000lib.cpp和m6000lib.h,将这两个复制到项目目录里面,然后添加到项目中去,如图:
7、这个时候,那里需要就在那里引用这个控件就可以了,然后需要将控件显示出来并且调用一些函数,如图:
至此控件已经在窗体中显示出来了,下面是对控件的详细操作,不做详细解释,如图:
在开发环境中由于没有AE硬件支持,所以效果如图:
真机上面的效果如图: