基于西门子SIMOTION的数控系统开发*
2015-07-04许美珍武建新
许美珍,武建新
(内蒙古工业大学机械学院,内蒙古呼和浩特 010051)
0 引言
现代科学技术的不断发展给机械制造行业带来机遇的同时也带来了更多的挑战。即使最先进的机器也必须不端满足更高的要求,必须应对诸如高产品质量、循环率不断提高的最高程度的生产能力和最低寿命周期成本的挑战。因此电子元件正在逐步取代机械部件,不仅如此,控制系统还必须承担更多复杂的处理任务,控制更多的轴,必须应对更短的创新周期,跟上快速变化的市场需求步伐,另外在满足高效率、高质量的同时还必须尽量降低成本、控制机器价格。应对以上所有挑战,西门子给出了一个统一的解决方案,即新一代的运动控制系统 SⅠMOTⅠON[1]。
1 概述
SⅠMOTⅠON作为一个单一的系统,集运动控制、逻辑控制与工艺控制功能于一身,能够最大程度简化工程系统的开发与调试时间,同时还能保证较高的循环率和最高的产品质量。模块化的设计顺应了模块化机器概念的趋势,使用PROFⅠBUS和PROFⅠNET实现模块之间的通信,使SⅠMOTⅠON运动控制系统具有更大的灵活性[2]。目前,SⅠMOTⅠON 已广泛应用于印刷、包装、纺织、连续物料加工、金属成型等行业。
使用SCOUT的路径插补工艺包,选择MCC编程语言编制插补程序,再使用WinCC flexible 2008组态HMⅠ界面完成数控系统插补界面设计,实现在触摸面板上修改插补的终点坐标、半径和速度实现插补命令,并且能在SCOUT中的MCC编程语言模块实现编制所需的插补路径[3]。插补界面设计如图1所示。
图1 插补界面
2 项目中使用的硬件和软件
项目中使用的硬:基于 SⅠMOTⅠON D445-1 运动控制系统(型号为 6AU1 445-0AA00-0AA1 V4.3、SⅠNAMⅠCS S120 Ⅰntegraed V2.6.2) 以及电脑 PC 机。SⅠMOTⅠON D通过以太网2口使用网线与电脑PC实现通讯。项目中使用的软件:STEP7 V5.5、SⅠMOTⅠON SCOUT V4.3、WinCC Flexible 2008。
3 项目配置
SⅠMOTⅠON SCOUT 项目的基本配置步骤如下[4]:①插入SⅠMOTⅠON设备;②下载硬件组态;③配置驱动器;④配置工艺对象TO;⑤激活插补工艺包;⑥编写程序并分配执行系统;⑦连接HMⅠ设备。
3.1 创建项目与配置通讯方式
启动SCOUT软件,选择Project->New,并创建一个新的项目:D445Demo,在左边的项目导航器中D445Demo 下拉菜单双击,选择 SⅠMOTⅠON D 型号D445_1,版本 V4.3(可通过 ⅠE 浏览器输入169.254.11.22(以太网口 2)或 192.168.214.1(以太网口 1)访问该设备的型号等)。设置通讯接口,弹出网卡类型设置窗口,选择ⅠE2-NET(X130)(以太网口2),选择PC机的网卡型号(如本台PC为Realtek PCⅠe GBE Family Controller)。上述配置完成后自动打开硬件组态界面,打开网络组态,双击打开 PG/PC,修改 ⅠP 地址为169.254.11.23,接着把电脑 PC 机的 ⅠP地址也设为169.254.11.23,保证和 D445在同一网络中即可。
3.2 下载硬件组态
打开硬件组态窗口,编译保存并下载硬件组态,根据顺序步骤,点击OK后,即下载成功,关闭硬件组态画面[5]。
3.3 激活插补工艺包
对于Version4.1以上的Simotion,内部集成了路径插补(path interpolation)功能,三维以下包括三维的位置控制都可以通过插补的方式来确定路径。路径可以有直线,圆弧以及多项式曲线三种方式。
上述完成后需要重新编译、下载。(每次修改或是添加新的东西都要重新编译和下载)。
4 编写程序并分配执行系统
SⅠMOTⅠON提供的编程环境方便而灵活,可以使用不同的编程语言实现相同的功能,这完全取决于个人的编程习惯。SⅠMOTⅠON程序的执行系统清晰而全面,不管是周期性执行,还是单次执行,不管是时间触发,还是事件触发,都可以按照优先级高低顺序进行程序的分配。通过程序在执行系统中的合理分配,可以方便的实现各种运动控制功能。分配到任务的程序可以是MCC、LAD或ST程序。
在使用MCC时,需要先插入程序单元(Unit),再在单元中插入程序(Program)。本项目用MCC编写了如图2所示的程序[6]。
在程序编写并编译完成以后,再分门别类地分配到执行系统中。在SCOUT软件中,依次打开D445->Execution System即可以打开分配执行系统的画面。然后在线连接设备,编译并下载项目后,系统就可以正常运行了。
与 SⅠMATⅠC PLC 的程序不同的是,SⅠMOTⅠON中没有数据块DB的概念,所有程序都对变量进行操作,所在在编写 SⅠMOTⅠON程序时,需要按照以下步骤进行:①声明变量;②编写程序;③分配执行系统。
图2 数控系统程序结构
4.1 BLM电源上电程序
插入 MCC_blm程序单元,定义变量 guzhang、BLM_enable为全局变量BOOL类型;BLM_instance为全局变量_Linemodule_control类型。在程序编辑界面插入ⅠF,当have_alarms为true时则执行插入确认工艺对象报警。接着调用系统函数_Linemodule_control,弹出参数窗口,将系统函数_Linemodule_control拖曳到“System ”中,“Ⅰnstance”为 BLM_instance,“enable”为 BLM_enable,“typeLM”为 Basic_Line_Module。同时还有一步工作是定义Ⅰ/O变量:perin为ⅠN、WORD 类型、Assignment选择 SⅠNAMⅠCS_Ⅰntegrated.B_ⅠNF_02.E_ZSW1 ,perout为 OUT、WORD 类型、Assignment选择 SⅠNAMⅠCS_Ⅰntegrated.B_ⅠNF_02.E_STW1。再回到系统函数调用提示框中,“periⅠn”为perin,“periOut”为 perout,这样就配置好了。程序编制完成后,进行编译,,在SCOUT软件底部Compile/check output信息栏可以查看编译状态。成功后就可以进行在线、下载了。将程序分配到执行系统,分配在BackGround Task周期执行;同时,在 MCCUnit_BLM下插入MCC_fault(空程序),分配到工艺故障和外设故障中。
4.2 插补程序
插入MCC程序单元MCCUnit_path,部分声明变量如图3。使能X、Y轴,当path_start为true时,则使轴X、Y回零(XY轴回零方式相同),并且当path_liner1为true时,则执行插补,最后再将path_start变量置为false;部分插补程序顺序如图4。
4.3 分配到执行系统
任何程序只有被分配到执行系统的任务中才能被真正执行。双击 EXECUTⅠON SYSTEM打开 task界面,分配情况如图5所示。
5 连接HMⅠ
HMⅠ(人机界面)可以通过 PROFⅠBUS、ⅠE 或 MPⅠ网络建立与SⅠMOTⅠON设备的连接,HMⅠ设备的组态需要使用 WinCC Flexible软件。在 SⅠMOTⅠON项目中添加HMⅠ设备有两种方式[7]:
HMⅠ项目集成 在 SⅠMOTⅠON项目中:通过打开SCOUT项目的网络配置,在 NetPro中插入HMⅠ设备,可 将 WinCC Flexible 项 目 集 成 到 SⅠMOTⅠON SCOUT项目中进行编辑。
HMⅠ项目独立于 SⅠMOTⅠON 项目:在 WinCC Flexible中使用项目向导在“Ⅰntegrate S7 Project”中选择使用的 SⅠMOTⅠON 项目,即可实现 HMⅠ与 SⅠMOTⅠON项目的集成。
图3 声明变量
图4 插补部分程序
5.1 连接HMI并组态
打开 STEP7,插入 SⅠNATⅠC HMⅠ-Station,选择Multi-Panels- > MP 277 10”Touch,弹出 WinCC flexible界面。组态HMⅠ,打开网络组态界面,通过PROFⅠBUS DP线与Simotion通讯。之后将网络组态编译。关闭网络组态,将D445进行编译、下载。这样HMⅠ就组态连接好了。
5.2 使用WinCC flexible完成界面设计
(1)主页画面绘制
图5 执行系统分配情况
“进入系统”按钮使用的是事件->单击->ActivateScreen,即点击按钮则切换到插补界面。
“退出系统”按钮使用的是事件->单击->StopRuntime,即点击按钮退出界面。
(2)数控系统插补界面绘制
添加画面,重命名为插补界面,画面绘制如图6。
图6 插补界面
启动/停止按钮组态使用的是事件->按下->ⅠnvertBit- >变量 MCCUnit_blm.blm_enable,即实现按下则变量blm_enable为1,则启动电源模块BLM;再按下则变量为0,则停止BLM。注:以下的所有赋值变量的按钮实现都得先启动BLM。
故障复位按钮组态使用的是事件->按下->SetBitWhileKeyPressed->变量MCCUnit_blm.have_alams,即实现按一下按钮则执行一次故障复位(当SⅠMOTⅠON的SF指示灯是红色时需要按此按钮,消除警报和故障,程序才能正常执行。)
退出按钮组态使用的是事件->单击->StopRuntime,即点击按钮退出界面。
急停按钮组态使用的是事件->按下->Set-BitWhileKeyPressed->变量MCCUnit_Emergencystop.estop,即在电机运行中,一旦突发情况,则按此按钮,则全部停止操作。(需要重新下载一遍程序)。
回到绝对零点按钮组态使用的是事件->按下->SetBitWhileKeyPressed- > 变量 MCCUnit_path.homing,即按一下此按钮,XY轴就运动到绝对零点处。
直线插补0按钮组态使用的是事件->按下-> ⅠnvertBit- > 变量 MCCUnit_path.path_liner1,即实现按下按钮变量置为1,再按下变量置为0。
插补开始按钮组态使用的是事件->按下->ⅠnvertBit- > 变量 MCCUnit_path.path_start;直线插补0按钮下方的“X、Y”数值显示Ⅰ/O域组态使用的是类型模式->输入,过程变量分别为MCCUnit_path.xend、MCCUnit_path.yend;直线插补0按钮下方的“V”数值显示Ⅰ/O域组态使用的是类型模式->输入,过程变量为MCCUnit_path.v;剩下的Ⅰ/O域组态过程都一样,所使用的过程变量不一样,即对应插补顺序即可,这里就不详细列举了。
以上按钮和Ⅰ/O域的功能实现:①启动BLM(如SF出现红色,则点击故障复位);②选择需要的插补路径,如都为直线,设置好每个直线插补的终点位置和速度都为20 mm/s;③按下四个直线插补按钮;④按下插补开始按钮,则直线插补程序开始执行。
5.3 插补样例界面绘制
按钮、Ⅰ/O域的使用前面已经介绍,这里就不再详细介绍了,绘制界面如图7所示。实现功能方法:①启动BLM;②XY的参数设置;③按下直线插补开始按钮,则插补程序开始执行。
5.4 进行传送
将所有操作存盘后,进行传输。选择设备进行传送,模式为S7Ethernet,启用路由方式。此时,还需要将HMⅠ触摸面板上打开Transfer,传送才能成功。
图7 插补样例界面
6 结论
针对Simotion系统及项目配置进行了详细的介绍,并简单的对 Simotion进行开发。SⅠMOTⅠON为那些以运动控制和工艺任务为核心的自动化和驱动解决方案提供了一个最佳系统平台。SⅠMOTⅠON作为一个集成的运动控制系统,重点面向于生产机械的自动化。
简单设计了数控系统,利用Simotion运动控制器,感受到了Simotion功能的强大。本次设计实现了两轴联动通过直线插补、圆弧插补等,只要给定最终目标位置和速度,在SCOUT中编好程序,就能实现想要的插补路径,方便快捷高精度完成任务。
[1] 于仕琪,刘瑞祯.学习 OpenCV(中文版)[M].北京:清华大学出版社,2009.
[2] 章毓晋.图像处理和分析技术[M].第二版.北京:高等教育出版社,2008.
[3] 朱 虹.数字图像处理基础[M].北京:北京科学出版社,2005.
[4] 方 玫,喻擎苍,李华强,等.C++下基于OpenCV的数字图像的处理[J].计算机工程与设计,2008,29(4):882-884.
[5] 黄 佳.基于0PENCV的计算机视觉技术研究[D].上海:华东理工大学,2012.