运动控制卡应用开发教程之VB60.docx
《运动控制卡应用开发教程之VB60.docx》由会员分享,可在线阅读,更多相关《运动控制卡应用开发教程之VB60.docx(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、运动控制卡应用开发教程之VB6.0 正运动技术 导语:我们主要从VB6.0的工程新建、函数库引用和PC函数使用方面讲起,最后通过工程实战总线初始化例程讲解,来让大众熟悉它的工程开发。 今天,正运动小助手为大众分析一下应用VB6.0开发一个总线初始化的运动控制应用。 我们主要从VB6.0的工程新建、函数库引用和PC函数使用方面讲起,最后通过工程实战总线初始化例程讲解,来让大众熟悉它的工程开发。 在正式学习之前,我们先解析一下正运动技术的运动控制卡ECI2418和ECI2618。这两款产品分别是4轴,6轴运动控制卡。 ECI2418支持4轴脉冲输入与编码器反应,板载24点输入,16点输出,2AD,
2、2DA,支持手轮接口,其中特定输出口支持高速PWM控制。 ECI2618支持6轴脉冲输入与编码器反应,板载24点输入,16点输出,2AD,2DA,支持手轮接口,其中特定输出口支持高速PWM控制。 ECI2418,ECI2618均使用同一套API函数,均支持C、C+、C#、LabVIEW、Python、Delphi等开发语言,支持VC6.0、VB6.0、Qt、.Net等平台,支持Windows、Linux、WinCE、iMac等操作系统。 以下是VB6.0 开发流程 一 新建EXE工程,加载函数库。 (一)新建工程 翻开Microsoft Visual Basic菜单,在“文件“新建工程,选择新
3、建“标准EXE工程。 新建工程自带一个起始窗口,可以通过菜单“工程“属性更改起始窗口。 (二)加载PC函数库 VB6.0需要对添加的dll文件进展加载,否那么系统找不到函数所引用的函数库源,加载步骤如下。 1.找到厂家提供的光盘资料中的VB6.0资料。 2.将VB6.0压缩包解压,找到其中的dll库文件 3.将dll文件zmotion.dll和zauxdll.dll一起复制放入系统文件夹C:WindowsSystem32中。假设编程系统是64位系统,也要把上述文件复制到C:WindowsSysWOW64中。 4.通过“开场菜单“Windows系统“命令提示符或在“开场菜单搜索“cmd翻开命令提
4、示符窗口,使用如下指令: regsvr32 C: Windows SysWOW64 zmotion.dll regsvr32 C: Windows system32 zmotion.dll regsvr32命令用于注册COM组件,是Windows系统提供的用来向系统注册控件或卸载控件的命令,以命令行方式运行。Zmotion.dll加载后,才可以调用zauxdll的函数。 可以将该条指令复制到记事本上,然后把txt文件另存为bat文件来运行。另外,一些自己下载vb6.0的额外部件可以以用该方法加载,加载后能在菜单“工程“引用,“工程“部件中找到对应文件,本例程使用函数库无需加载部件或者引用。 (
5、三)函数库使用 将zauxdll.bas与工程文件放入同一文件夹,方便管理。 在工程资源管理器中右键添加模块,或在菜单“工程“添加模块功能中将zauxdll.bas添参加工程。 这样就做好使用正运动PC函数库的准备了。 二 查看PC函数手册,解析其用法。 (一)PC函数手册也在光盘资料里面。 详细途径如下: (二)PC编程。 一般先根据控制器连接方式选择对应的连接函数连接控制器,返回控制器句柄。接着用返回的控制器句柄,实现对控制器的控制,大局部函数都有对控制器的指向。通常有: Public g_handle As Long 控制器句柄是连接控制器的重要标志。 (三)通过网口连接控制器,获取句柄
6、。 通过网口 iret = ZAux_OpenEth(“127.0.0.1, g_handle)或串口 iret = ZAux_OpenCom(1, g_handle)连接控制器,获取控制器句柄 g_handle。 (四)下载总线初始化bas文件 下载总线初始化 bas文件到控制器 iret = ZAux_BasDown(g_handle, sFilePath, 1),sFilePath是对应总线初始化的文件地址,利用 CommonDialog对话框操作部件,获取对象文件地址。 总线初始化文件是基于ZDevelop编写的EtherCAT和RTEX初始化程序,通过ZAux_BasDown方式下载
7、到控制器以直接运行。 (五)EtherCAT数据字典读写 EtherCAT数据字典读写 ZAux_BusCmd_SDORead和 ZAux_BusCmd_SDOWrite。 其中对象字典编号、对象字典子编号、数据类型是十进制输入,手册上是十六进制表示,使用时注意转换。 (六)位置环增益与速度环增益调整 松下A6B系列EtherCAT总线驱动器中: 位置环增益对应数据字典为 3100H-00H(第一位置环增益)和 3105H-00H(第二位置环增益); 速度环增益对应数据字典为 3101H-00H(第一速度环增益)和 3106H-00H(第二速度环增益); 自动选择增益参数的标志位为 3002H
8、-00H。 详细请参考光盘资料(P315P318):技术资料ECAT通讯规格篇MINAS_A6B系列EtherCAT通讯/选择类型。 本篇文章使用第一位置环增益和第一速度环增益,通过实时自动增益调谐设置选择是否改变增益参数。 三 工程实战之连续插补运动例程讲解 (一)界面讲解 (二)例程简易流程图 /相关函数 / 建立与控制器的网口通讯 iret = ZAux_OpenEth(m_ipaddress, g_handle) 网口连接控制器 /定时器刷新 ret = ZAux_Direct_GetAxisEnable(g_handle, m_axisnum, i_AxisPara(0) ret =
9、 ZAux_Direct_GetAxisStatus(g_handle, m_axisnum, i_AxisPara(1) /下载初始化bas文件到控制器 iret = ZAux_BasDown(g_handle, sFilePath, 1) 下载到ROM /轴使能 iret = ZAux_Direct_SetAxisEnable(g_handle, m_axisnum, 0) 轴使能关闭 iret = ZAux_Direct_SetAxisEnable(g_handle, m_axisnum, 1) 轴使能翻开 /正转 iret = ZAux_Direct_Single_Vmove(g_ha
10、ndle, m_axisnum, 1) /反转 iret = ZAux_Direct_Single_Vmove(g_handle, m_axisnum, -1) /相对运动 iret = ZAux_Direct_Single_Move(g_handle, m_axisnum, Val(T_Move_s) /绝对运动 iret = ZAux_Direct_Single_MoveAbs(g_handle, m_axisnum, Val(T_Move_s) /停顿 iret = ZAux_Direct_Single_Cancel(g_handle, m_axisnum, 2) /运动增益读写 ire
11、t =ZAux_BusCmd_SDORead(g_handle, 0, T_SdoNode, Val(CLng( H 3100), 0, 3, m_sdo_data2_1) iret =ZAux_BusCmd_SDORead(g_handle, 0, T_SdoNode, Val(CLng( H 3101), 0, 3, m_sdo_data2_2) / IO信号读写 iret = ZAux_Direct_GetIn(g_handle, i , IN_status) iret = ZAux_Direct_GetOp(g_handle, i , OP_status) iret = ZAux_Di
12、rect_SetOp(g_handle, i , OP_status) (三)模块程序 1.初始化变量 Public g_handle As Long 当前使用的卡句柄 Public iret As Long 函数返回值 Public g_basflag As Boolean /BAS文件加载标志位 Public g_InitStatus As Integer /总线初始化完成状态 0-失败 1-成功 -1-初始化未完成 Public Bus_type As Single /BAS文件中变量判断总线类型,也作为BAS文件是否下载成功判断 Public if_home As Boolean Pu
13、blic m_axisnum As Integer 2.控制器连接 Private Sub T_OpenCom_Click() 串口连接 If g_handle 0 Then 断开前面的连接ZAux_Close (g_handle)g_handle= 0 End If iret= ZAux_OpenCom(Val(T_ComId.Text), g_handle) If (g_handle 0) Then Form1.Caption = 已连接 Timer1.Enabled = True T_AxisId_Change Dim ret As Integer iret= ZAux_Direct_G
14、etUserVar(g_handle, BUS_TYPE, Bus_type) 读取BAS文件中的变量判断是否有加载BAS文件 If (iret= 0 And Bus_type -1) Then g_basflag= True/文件已经加载 End If Else Form1.Caption = 未连接 MsgBox 控制器链接失败,请检测IP地址!, vbOKOnly, 警告 End If End Sub Private Sub T_IpAddress_DropDown() 下拉搜索IP Dim Buffer As String * 10240 T_IpAddress.Clear T_IpA
15、ddress.AddItem (127.0.0.1) iret= ZAux_SearchEthlist(Buffer, 10230, 200) 搜索IP地址列表 Dim Ip_List() As String Ip_List= Split(Buffer, ) For i= 0 To UBound(Ip_List) T_IpAddress.AddItem (Ip_List(i) Next End Sub Private Sub T_OpenEth_Click() 以太网连接 Dim m_ipaddress As String m_ipaddress= T_IpAddress.Text If g_
16、handle 0 Then 断开前面的连接 ZAux_Close (g_handle) g_handle= 0 End If iret= ZAux_OpenEth(m_ipaddress, g_handle)网口连接控制器 If (g_handle 0) Then Form1.Caption= 已连接 Timer1.Enabled = True T_AxisId_Change iret = ZAux_Direct_GetUserVar(g_handle, BUS_TYPE, Bus_type) 读取BAS文件中的变量判断是否有加载BAS文件 If (iret= 0 And Bus_type -
17、1) Then g_basflag = True/文件已经加载 End If Else Form1.Caption = 未连接 MsgBox 控制器链接失败,请检测IP地址!, vbOKOnly, 警告 End If End Sub Private Sub T_PciId_DropDown() 下拉搜索PCI Dim m_maxpci As Integer T_PciId.Clear m_maxpci= ZAux_GetMaxPciCards() For i= 0 To m_maxpci - 1 T_PciId.AddItem (i.ToString()Next End Sub Private
18、 Sub T_OpenPci_Click() Dim m_cardid As Integer If g_handle 0 Then 断开前面的连接 ZAux_Close (g_handle) g_handle= 0 End Ifm_cardid= Val(PCIADDRESS.Text) iret= ZAux_OpenPci(m_cardid, g_handle)PCI方式连接 If g_handle 0 Then Form1.Caption= 已连接 Timer1.Enabled = True T_AxisId_ChangeDim ret As Integeriret= ZAux_Direc
19、t_GetUserVar(g_handle, BUS_TYPE, Bus_type) 读取BAS文件中的变量判断是否有加载BAS文件If (iret = 0 And Bus_type -1) Then g_basflag= True/文件已经加载 End IfElse MsgBox 连接失败,请检查PCI, vbOKOnly, 提示 Form1.Caption = 未连接 End If End Sub Private Sub T_Close_Click() 断开链接If (g_handle 0) Then Timer1.Enabled = False ZAux_Close (g_handle)
20、 g_handle= 0 Form1.Caption= 未连接 End If End Sub 3.总线初始化 Private Sub T_DownLoad_Click() 下载文件到控制器 If (g_handle = 0) Then MsgBox 未链接到控制器!, vbOKOnly, 提示 Else WithCommonDialog1 .Filename = Basic1 .InitDir = App.Path .CancelError = True .Filter = 文件(*.bas)|*.bas End With Me.CommonDialog1.ShowOpen sFilePath
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动 控制 应用 开发 教程 VB60
限制150内