基于VB6. 0 & ServoWorks SDK的全软型四轴联动数控系统研究与开发
2018-3-30 来源:内蒙古土业大学机械学院 作者:毕俊喜,智伯雄,薛志安
摘要:ServoWorks是一种基于PC解决方案的全软件开放式CNC系统,它所有的功能均由软件实现。通过对Ser-voWorks CNC系统硬件结构和软件结构的分析,依据Soft Servo System公司提供的SDK开发包在VB6. 0上进行软件的一次开发,开发出了全软型四轴联动数控系统,并在实验平台上进行了软件的调试运行试验,实现了预期的目标。
关键词:ServoWorks CNC; SDK; VB6.0
0、前言
在Windows平台上开发数控系统是目前数控系统发展的趋势,可以充分利用PC的软硬件优势以及开放性体系结构,来实现数控系统的模块化、标准化、可移植化和网络化等特点。
为了提高系统的实时性,Soft Servo Syste为Win-dows系统嵌入了IntervalZero公司的RTX实时系统。RTX实时扩展技术使得SoftWorks CNC伺服控制程序可运行在PC上,由PC的CPU执行所有的实时伺服任务和CNC任务,包括:反馈回路、多轴插补、网络通信、文件管理、数据处理等功能。在开发全软数控系统时需要己经通过严格检测其精度和稳定性的硬实时计时器的支持。一般可通过使用RDTSC来计算CPU时钟周期,并将其作为标准检测时钟信号,来检测RTX定时器的精度和稳定性。IntervalZer。公司的RTX实时软件的时钟分辨率可达到0. 1 μs。SoftWorks CNC的多任务实时软件结构完全替代了运动控制卡来完成高实时性的伺服控制任务,有效地消除了硬件带来的可靠性差、成本高等问题。利用该软伺服内核技术,用户可以在Windows系统下开发出有自己特色的CNC产品。
1、SoftWorks CNC系统结构
1. 1 硬件结构
ServoWorks CNC的核心技术是软件运动控制(Soft Motion)和实时以太网总线(EtherCAT)两者结合的零硬件开放式构架,系统无需运动控制卡即可完成任务传输,通过计算机CPU的强大功能,完成全部所需的实时伺服控制和CNC任务。图1为Ser-voWorks配置结构图。

图1 S-120M配置结构图
DX-110A为数控系统接口模块,可作为模拟主轴0~ 10 V接口、5 V脉冲手轮接口和控制面板的16输入/16输出。IX-320是数字输入输出模块,32位输入/32位输出,可外接分线器和继电器模块。工控机和伺服驱动器之间通信EtherCAT。EtherCAT是一种开放总线技术,用标准网卡通信。EtherCAT带宽100M, 30 μs更新1 000个I/0, 100个伺服轴的通讯仅为100 μs,分布时钟(DC)技术使轴的同步偏差小于1 μs。
1. 2 软件系统
ServoWorks CNC软件系统结构中(图2),主机内的软件分为:Win32空间层,实时系统层,以及两者的接口层实时DLL (Dynamic Link Library)动态连接库,其中计算机CPU给实时系统层最高的优先级。

图2 Servoworks CNC软件技术模块图
实时系统层包含3个模块:ServoWorks CNC运动引擎,PLC引擎和G代码编译器。其ServoWorksCNC引擎负责实现伺服控制,例如:插补、位置控制、误差补偿、NC路径的生成和控制等。
PLC引擎是ServoWorks CNC系统中的软PLC的应用平台,它的扫描周期是5 ms,拥有38条指令功能和12条基本命令,能够访问所有的I/0点。 G代码解释器是用来处理ServoWorks CNC系统中的G代码的,可将整个G代码文件全部写入系统中。其处理速度为1 000条指令/s.
2、SoftWorks CNC软件二次开发
Soft Servo System公司为二次开发提供了Ser-voWorks Develop Kid ( SDK)工具,SDK/MDK开发包拥有:应用软件接口模块库(SWAPI /MAPI ) ,SWAPI / MAPI源代码、Simulator、例程源代码、客户定制软件开发服务等。在开发软件系统、培训技术人员和测试软件时,选择模拟运行后,可无需硬件。ServoWorks CNC是通过调用内核API函数中的4个宏定义子函数来实现局部变量、全局变量、变量引用、变量赋值的功能图. SDK方便、简化了系统的二次开发,如使用VB6.0, VC++等编程工具可开发出满足自己工作需要的基于ServoWorks CNC技术的数控系统及相关应用程序。
2. 1 系统主界面
通过使用Soft Servo System (3S)公司提供的ServoWorks Develop Kid ( SDK)软件开发包,在VB6. 0环境中对原有的数据系统进行了二次开发,同时获得了符合要求的操作界面。图3为未开发时的ADXI4软件系统主界面,其为五轴联动数控系统,通过修改代码,减少一轴,软件就成为四轴联动软件。

图3 ADXI4主界面图
图4为开发后的四轴联动数控系统主界面。文中主要研究开发关于四轴联动控制系统,保证系统满足用户的特殊需求并可以正常运行。

图4 四轴数控主界面图
2. 2 初始化通信模块
初始化通讯模块是为了建立用户界面和Ser-voWorks实时模块之间的联系。首先,调用Ser-voWorks APIs for Device Handling Commands中的函数sssOpenDevice()打开ServoWorks运动控制器驱动程序;接着,调用ServoWorks APIs for System Initial-ization and Firmware/Hardware Initialization Commands中的函数sssInstallDrives()装载ServoWorks RTX引擎内核;随后,调用sssOpenDrives()在ServoWorksRTX模块中建立IP C(内部进程通信)通道;最后,调用函sssStartInterrupt()激活ServoWorks控制硬件,启动ServoWorks CNC引擎的通信和对ServoWorks控制硬件做出响应。
退出应用程序时,调用函数sssCloseDevice()关闭运动控制器,调用函数sssRemoveDevice()将引擎从RTSS进程中卸载Cal。初始化完整流程图如图5。

图5 初始化流程图
2. 3 状态显示模块
软件中状态显示模块由两部分组成:坐标信息模块和辅助信息模块。坐标显示模块可实现界面实时显示编程坐标和机床坐标,并可通过监视伺服轴的运动状态来了解加工状况,调整加工方法。
辅助信息模块包括:轴状态显示和I/0状态显示。轴状态显示可实时显示:轴是否回零、轴是否到达限位处、驱动器是否报警等;I/0状态显示实现了对FP-90和DC-120模块的I/0口的实时监视。可通过辅助信息模块达到对机床的实时监控,为实时操作和故障诊断提供了可能,让系统更人性化。
调用函数Power2 (i)产生16进制地址;调用函数SSSSTATUS.FP75_Din/SSSTATUS. FP90_DOUT_ReadBack获得FP -90状态;调用SSSSTATUS. DC 120_Din / SSSTATUS. DC 120_ DOUT_ ReadBack获得DC-120模块的I/0状态。部分程序如下:

3、结束语
研究在纯软件包Servo Works CNC开发包的基础上,进行二次开发得到的四轴联动数控系统,利用开放式数控系统便于进行开发的优点来满足用户各种特殊需要,并在实验平台上实现了四轴机床的基本功能,为Servo Works CNC在实际四轴机床上的应用奠定了一定的理论基础,具有一定使用价值。与传统的数控系统相比,Servo Works CNC实现了控制器的PC化和控制方案的软件化,具有最高的性价比和好的发展前景。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息