基于ProfiBusDP总线的转向拉杆自动线系统的设计与实现
该型控制器是基于S120驱动平台的驱动控制系统,结构紧凑并且具有强大的控制功能,最多可以控制16根轴。运动控制和技术功能采用面向对象技术TOs(Technology Objects)实现的。其是通过开发环境配置来建立和实现参数化,在用户程序中通过调用命令来实现。
其通过Drive-CLiQ总线接口与Simanics S120。的其他模块进行数据交换,实现连接轴的运动控制。
4 控制系统的软件设计
整个控制系统的软件设计按照系统硬件设计结构可分为三部分:工程师站监控程序设计、S7-300PLC的程序设计、Simotion运动控制模块的运动控制程序设计。三部分程序通过ProfiBusDP总线实现相互之间数据交换,实现对整个生产线的自动控制。控制系统数据交换如图3所示。
图3控制系统数据交换示意图
4.1 工程师站监控程序设计
人机界面监控程序设计采用Wincc Flexible组态软件,采用SQL-server2005 for Wincc数据库支持整个项目的数据处理和管理任务。在组态软件中,完成人机界面数据和S7—300PLC中的数据地址的链接,在组态建立的HMI和PLC的连接中,实现HMI与PLC的数据传输,完成人机界面监控整个自动线的动作状态和伺服位置信息。监控程序的设计基于简洁,能显示自动线状态,便于整个自动线故障分析和诊断的原则,程序采用图片监控和VBS脚本结合的方式设计。自动线过程监控的四个工序车削工序、扩孔工序、攻丝工序、切槽工序以及其他装置的状态都以动态画面显示。主轴电机的转动,伺服电机的位置状态,各夹具状态,辅助设备电机的起动停止等状态采用VBS脚本语言方式编程实现。动态画面的实现,采用了图片属性中的显示属性,利用VBS脚本程序控制显示图片列表中的索引,实现画面的动态以及快慢显示。整个监控程序的软件结构如图4所示。
图4监控程序的软件结构示意图
显示动态画面的VBS脚本是由定时脉冲上升沿触发执行的。定时脉冲是由S7-300PLC提供的,通过定时调用脚本,计算整个自动线动作部分的状态参数,调用图形列表中不同索引的图片,实现对自动线生产状态的动态,直观显示。
4.2 PLC程序设计
PLC程序是基于西门子的软件开发环境Step7设计完成的。整个PLC程序分为硬件配置,逻辑程序设计两部分组成。配置S7-300PLC为整个网络的主站,地址设定为2,通信速率为1.5 Mbps,运动控制模块,人机界面模块,变频器,工程师站都设定为从站,从站地址按序排列。PLC的逻辑程序设计分为:辅助设备动作逻辑设计、系统通讯数据处理、通讯故障处理三部分。辅助设备动作逻辑按照生产工艺要求实现控制。PLC的数据读取是通过系统函数SFC65和SFC66来实现的,其代码实现如下:
对于在通讯中出现故障时,为了避免PLC进入stop状态,还必须处理通讯故障模块OB82,OB86,OBl22,保证即使网络中出现故障,PLC仍然处于运行状态。
4.3 Simotion运动控制程序设计
整个控制系统中的伺服轴和主轴都是通过simo.tion运动控制模块实现控制的。Simotion D425模块控制16个轴,分别是8个伺服轴和8个变频器驱动的主轴。Simotion运动控制程序是基于西门子的软件开发环境Scout设计完成的。整个程序设计分为:硬件组态、系统驱动识别、轴配置、通讯数据处理以及驱动任务方式分配。与S7-300PLC的程序设计一样,这里也必须做系统的硬件组态。
数据通讯部分调用内部发送函数_xsend,接收函数_xreeeive实现与S7-300PLC的数据交换。接收ProfiBus网络上HMI从站上设定的伺服电机运行位置和速度参数,主轴电机的速度参数以及运动控制命令信息,发送当前伺服电机实际位置和速度,主轴速度,运动模块故障状态信息。实现设备和操作人员之间的数据交互。
运动控制流程序的设计采用运动流程图结合ST文本编程的方式实现的。Simotion D425编程采用任务调用的方式控制轴运动,运动控制程序是被分配各不同类型的任务。用户程序任务(user program tasks)分为启动任务StartupTask,自由运行任务Mo.tionTasks和BackgroundTask,时间中断任务以及同步任务。在本系统中,采用启动任务负责初始化运动控制的各参数,轴运动控制是放置在MotionTasks这级,控制命令的逻辑处理放置在BackgroundTask循环执行任务中。伺服轴运动控制流程如图5所示。
图5伺服轴运动流程图
控制命令的逻辑处理采用ST文本编程,主要处理外部控制面板上发送的控制信号,按照设计调用不同的MotionTasks,实现运动控制。其程序代码如下所示:
在Simotion中,变频器驱动的主轴也是配置成轴,其程序控制基本与伺服轴的控制相似。此外考虑到运动控制中故障处理,还必须给系统中的Fault
转向拉杆自动线系统设计与实现ProfiBusD 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)