应用软件开发方法
DMC-E
系列总线运动控制卡的应用软件可以在
Visual Basic
、
Visual C++
、
C#
等高级语言
环境下开发。应用软件开发之前,需保证
DMC-E
系列总线运动控制卡连接好从站,通过控制
卡
Motion
的
EtherCAT
总线配置界面扫描从站、设置总线通信周期,并下载总线配置文件。
操作过程详见
5.2.1
节。
如果您对
VB
、
VC
、
C#
语言都不熟悉,建议您花两天时间阅读一本
VB
语言的培训教材,
并且通过练习掌握该语言的基本技巧,如:编写简单的程序、创建窗体和调用函数。
如果您曾用
VB
或
VC
等程序语言开发过运动控制软件,并具有丰富的经验,则可直接阅
读第
8
章
“
总线操作函数说明
”
及第
9
章
“
基本功能函数说明
”
。
6.1
基于
WINDOWS
平台的应用软件结构
使用雷赛运动控制卡的自动化设备运动控制系统构架如图
6.1
所示:

图
6.1 基于雷赛运动控制卡的自动化设备运动控制系统构架
从图
6.1
中可看出,运动控制系统的工作原理可以简单描述为:
1
)操作员通过操作界面(包括显示屏和键盘)将指令信息传递给设备应用软件;
2
)设备应用软件将操作者的信息以及应用软件中已有的运动流程、运动轨迹等数据转化
为运动参数,并根据这些参数调用
DLL
库中运动函数;
3
)运动函数通过雷赛运动控制卡驱动程序向运动控制卡发出控制指令;
4
)运动控制卡根据控制指令发出相应的指令脉冲给驱动器及电机、读写通用输入输出口、
读取编码器数据。
用户根据设备的工艺流程、运动轨迹和友好的人机界面等要求开发设备应用软件。雷赛公
司已提供支持
DMC-E
系列总线运动控制卡的硬件驱动程序和
DLL
运动函数库,包括控制卡
初始化、单轴及多轴控制、数字量输入
/
输出控制等多种函数。这些函数可以方便地完成与运
动控制相关的功能,用户不需要更多了解硬件电路的细节以及运动控制和插补算法的细节,就
能使用
VB
、
VC
等程序语言开发出自己的运动控制系统应用软件。
用户编写的设备应用软件的典型流程如图
6.2
所示。
图
6.2 设备应用软件的典型流程
6.2
采用
VB 6.0
开发应用软件的方法
下面以
Visual Basic6.0
环境下编写一个点位运动的应用软件为例,讲解用
VB
开发应用软
件的一般方法。
1
)
Motion
软件中,扫描驱动器,并将轴使能。在磁盘上新建一个目录,如
E: est1
2
)打开
Visual Basic 6.0
,新建一个
“
标注
EXE”
工程,在对话框上添加按钮
“
启动
”
和
“
停止
”
,
并将其名称分别修改为
“CB_Start”
和
“CB_Stop”
,如图
6.3
所示。
图
6.3 修改对话框(VB
)
3
)工程保存在
E: est1
目录下。
4
)在资料光盘相应目录下找到
LTDMC.bas
、
LTDMC.dll
和
PVT.dll
文件,拷贝到
test1
目
录下。
5
)菜单中选择
“
工程
”->“
添加模块
”->“
现存
”
,找到
test1
目录下的
LTDMC.bas
文件,添加
到工程中,如图
6.4
所示。
图
6.4 添加头文件
6
)双击窗口控件,在
Form_Load
事件中添加代码
dmc_board_init
。选择
UnLoad
事件,在
Form_Unload
事件中添加代码
dmc_board_close
双击
“
启动
”
按钮,在
CB_Start_Click
事件中添
加代码如下:
dmc_set_profile_unit 0,0,500,5000, 0.01,0.01,500
dmc_pmove_unit 0,0,200000,0
雷赛控制
EtherCAT
总线卡用户使用手册
V2.0
双击
“
停止
”
按钮,在
CB_Stop_Click()
事件中添加代码如下:
dmc_stop 0,0,0
7
)程序编写完成。运行程序,显示界面如图
6.5
所示。按下
“
启动
”
按钮,第
0
轴就会输
出长度为
200000
的脉冲;运动中可以按下
“
停止
”
按钮,便会减速停止脉冲输出。
图
6.5 程序运行界面(VB
)
6.3
采用
VC 6.0
开发应用软件的方法
下面以
Visual C++ 6.0
环境下编写一个点位运动的应用软件为例,讲解用
VC
开发应用软
件的一般方法。
1
)打开
Visual C++ 6.0
。
2
)新建一个工程。
3
)选择
MFC APPWizard(exe)
。
4
)选择工程保存路径,如:
E:
。
5
)输入工程名
,
如:
test1
。如图
6.6
。
图
6.6 创建新工程
6
)在应用程序类型中选择
“
基于对话
”
,按
“
完成
”
键,建立工程。
7
)给对话框进行简单的修改,增加按钮
“
启动
”
、
“
停止
”
和
“
使能
”
;并分别命名为
“IDC_BUTTON_Start”
、
“IDC_BUTTON_Stop”
和
“IDC_BUTTON_enable”
,如图
6.7
所示。
图
6.7 修改对话框
8
)在相应的目录下找到
LTDMC.h
、
LTDMC.lib
、
LTDMC.dll
和
PVT.dll
文件,拷贝到
E: es1
目录。
9
)在菜单中选择
“
工程
”->“
添加工程
”->“
文件
”
,选中
LTDMC.lib
文件加入到工程中。
10
)打开
test1.cpp
文件,在程序开始部分添加相应语句:
#include “LTDMC.h”
,如图
6.8
所示。
11
)在
CTest1Dlg::OnInitDialog()
函数中添加代码:
dmc_board_init();
如图
6.9
。
图
6.8 程序增加头文件
图
6.9 程序增加初始化函数
图
6.10 程序增加 OnCancel
函数
12
)如图
6.10
所示,在
Ctest1Dlg
中添加一个成员函数
OnCancel,
在
OnCancel
函数中添加
代码如下:
dmc_board_close();
CDialog::OnCancel();
13
)双击
“
启动
”
按钮在按钮点击事件中输入代码如下:
dmc_set_profile_unit(0,0,500,5000, 0.01,0.01,500);
dmc_pmove_unit(0,0,200000,0);
双击
“
停止
”
按钮在按钮点击事件中输入代码:
dmc_stop(0,0,0);
双击
“
使能
”
按钮在按钮点击事件中输入代码:
nmc_set_axis_enable(0,0);
14
)编译程序后,运行程序,显示图
6.11
所示的界面。按下
“
使能
”
,再按下
“
启动
”
按钮,
第
0
轴就会输出长度为
200000
的脉冲;运动中可以按下
“
停止
”
按钮便会减速停止脉冲输出。
图
6.11
程序运行界面
6.4
采用
C
#开发应用软件的方法
下面以
C
#环境下编写一个点位运动的应用软件为例,讲解用
C
#开发应用软件的一般方
法。
1
)在磁盘上新建一个目录,如
E:Test
2
)打开
C
#,新建一个
“Windows
应用窗体程序
”
,并将名称修改为
“test1”
,如图
6.12
所
示。在对话框上添加按钮
“
启动
”
和
“
停止
”
,并将其名称分别修改为
“Start”
和
“Stop”
,如图
6.13
所示。
图
6.12 新建 Windous
窗体应用程序
图
6.13 修改对话框
3
)点击
“
全部保存
”
,将应用程序保存在
E:Test
目录下。
4
)在资料光盘相应目录下找到
LTDMC.dll
、
PVT.dll
和
LTDMC.cs
文件,将
LTDMC.dll
、
PVT.dll
文件拷贝至
E:Test est1 est1indebug
目录下,
LTDMC.cs
文件拷贝至
E:Test est1 est1
目录下。
5
)菜单中选择
“
项目
”->“
添加现有项
”
,找到
test1
目录下的
LTDMC.cs
文件,添加到应用
程序中,如图
6.14
所示。

图
6.14 添加头文件
6
)在代码文件开头处添加控制卡的命名空间:
using csLTDMC;
如图
6.15
所示。
图
6.15 添加控制卡的命名空间
7
)设定控制卡卡号为
3
,如图
6.16
所示,双击窗口控件,在
Form1_Load
事件中添加代
码
LTDMC.dmc_board_init();
双击属性窗口中
FormClosed
,在
Form1_FormClosed
事件中添加
代码
LTDMC.dmc_board_close();
双击
“
启动
”
按钮,在
Start_Click
事件中添加代码如下:
LTDMC.nmc_set_axis_enable(3, 0);
LTDMC.dmc_set_profile_unit(3, 0, 500, 5000, 0.01, 0.01, 500);
LTDMC.dmc_pmove_unit(3, 0, 200000, 0);
双击
“
停止
”
按钮,在
Stop_Click
事件中添加代码如下:
LTDMC.dmc_stop (3,0,0);
图
6.16 程序中调用运动控制卡库函数
7
)程序编写完成。运行程序,显示界面如图
6.17
所示。按下
“
启动
”
按钮,第
0
轴就会走
长度为
200000
的距离;运动中可以按下
“
停止
”
按钮,便会减速停止脉冲输出。
图
6.17 程序运行界
全职写分享不易,如果您觉得我的文章对您有帮助的话;强烈建议您打赏一元,我买瓶水喝;您的支持将是我坚持继续创作的无限动力,谢谢!



















暂无评论内容