2007年第11期 计算机系统应用 基于单片机和组态软件的PLC控制系统仿真实现① Realization of Simulation PLC Control System Based on SCM and Configuration Software 罗培 马茜 黄辉先 (湘潭大学信息工程学院湖南湘潭411105) 摘要:以基于PLC的液气联调试验台为背景,针对PLC控制系统存在现场调试难度大、组织投入大量人力物力、 风险大等问题,采用单片机和组态软件开发了用于PLC程序调试的仿真系统。系统由PLC、单片机接口板 和PC机组成,PLC的I/0信号通过单片机接口板与PC机相连,在PC机中,用组态软件模拟试验台测试工 况,实现试验台控制程序的仿真调试。实践表明,该系统减少了现场调试工作量,提高了开发效率。 关键词:PLC控制系统仿真单片机组态软件 1 引言 双PLC仿真…和基于组态软件仿真 引。双PLC仿真 可编程序控制器(Programmable Logic Controller, 功能简单,通用性不强;而基于组态软件仿真,由于 简称PLC)是以微处理机为基础并综合了计算机技术、自 PLC的I/0口悬空,没有与外部连接,在PLC程序中输 动控制技术和通信技术而发展起来的一种新型工业自 入输出继电器必须用中间继电器代替,所以调试完成 动控制装置,它以高可靠性、易操作性、灵活性等优点在 后,程序还必须进行修改,可靠性受到影响。 现代工业控制领域得到了广泛应用,是自动化的三大技 考虑到这两种方式的特点,本文采用单片机和组 术支柱(PLC技术、机器人技术、CAD/CAM)之一。 PLC控制系统的开发周期一般要经过系统功能分 态软件结合的方式,将PLC的I/0口与单片机接口板 析,确定I/0点数,PLC选型,I/0地址分配,编写控制 连接,单片机接口板通过RS232串口与PC机相连,在 程序,现场调试,编制技术文件等过程。其中编写控制 计算机上对整个PLC控制系统的功能进行模拟调试, 程序和现场调试将占用开发周期的大部分时间。程序 在仿真状态中直观地对PLC控制系统程序的错误和缺 编写完成后,要对程序的可行性及控制功能正确与否 陷进行检测和修正,待程序完全正确时,再进行现场实 进行调试和必要的测试。在现场调试阶段,PLC将与 际联机调试,这种方式将大大提高现场调试的效率,降 实际被控对象联调,控制实际被控对象产生动作,以检 低系统调试的费用和风险。 验程序及整个系统运行是否满足预定的控制要求。由 本文以基于PLC的液气联调试验台为背景,采用 于编制的PLC软件可能不是十分完善,所以调试的一 单片机和组态软件开发了试验台控制仿真系统,实现 个主要内容,就是要排除编程中的一些错误及考虑不 周的程序缺陷。现场调试过程中还需要组织大量人力 了试验台PLC控制程序的仿真调试。 物力,为系统的调试提供各种保障,现场调试不成功时 则需要反复修改测试,采用这种传统方法对PLC控制 2系统框架结构 系统进行调试,既繁琐又费时费力且具有一定风险,所 液气联调试验台用于完成某型车辆液气联调试 以将仿真技术用于PLC调试具有广泛的现实意义。 验,检测各液压阀和液压缸的动作顺序、行程大小、工 目前,PLC控制系统的仿真实现方法一般有两种: 作位置,以图表、曲线形式显示被检部件的压力、温度 ①基金项目:湖南省自然科学基金资助项目(o6JJ5112):湖南省教育厅基金资助项目(03C463) Application Case实用案例 65 维普资讯 http://www.cqvip.com
计算机系统应用 2007年第11期 L- 。.●L 和流量等参数。根据试验要求,试验台测控信号有46 路开关量输入、48路开关量输出、4路模拟量输入和4 路模拟量输出。控制器采用FX2n一80MR,扩展了1个 .。.。’ ...................Fx2n一32ER模块、1个FX2n一4AD模块和2个Fx一 i2-r。... ~ -/ 搭建组态平台 2DA模块。由于试验动作复杂,信号繁多,加上被试件 安装拆卸麻烦,现场调试困难,故采用单片机和组态软 1.r 创建仿真界面 1一' 件开发了试验台仿真系统,完成试验台PLC控制程序 一~●板光~●一 ●●电一●. 展 ~ 一邕 -_=●一J~一 控制程序写入PLC 仿真调试。系统框架结构见图1所示。 图1 系统框图 8255输出信号 PLc输入信号 [ 521-4 PLCC0M口 三 2K:一:一 . VCC ——一。==二‘TLP ̄I-4 。 3 1接地 系统由以下几个部分组成:仿真计算机、单片机 接口板和PLC。仿真计算机主要用于仿真计算,接受 PLC传输来的信号和提供给PLC输入信号,为PLC程序 调试提供仿真环境;单片机接口板完成仿真计算机与 PLC的信号接口。 3系统硬件设计 硬件设计就是单片机接口板设计,主要包括单片 机与PLC接口设计和单片机与PC机串口通信设计,下 面主要介绍单片机与PLC接口设计。 66 实用案例Application Case 1-r 调入组态画面运行程序 1.r 定义并初始化变量,界面 图形的位置和颜色 1.r 数据连接、动画连接 ’编制脚本程序 与PLC交换数据及控制命令 刷新控制变量 1.r 判别系统目前状态 1.r 根据接收到的控制信号判断 仿真控件应进行的动作 1.r 执行相应的动作过程 发出控制状态信号 / N \\\ // 警 N 图3 仿真程序流程图 测控信号有46路DI、48路DO、4路AI和4路 AO,所以要对单片机进行I/0口扩展。开关量信号共 有94路,采用6片8255即可;AI信号(对单片机而言 是AO信号)采用4片DAC0832,AO信号(对单片机而 维普资讯 http://www.cqvip.com
2007年第11期 计算机系统应用 言是AI信号)采用1片ADC0809。由于PLC是通过触 点的断开和闭合来实现控制功能,工作电压为DC24V, 5 调试 系统运行后,单片机定时扫描其扩展端口,如果 所以与单片机连接时,要进行接口电平转换,本文采用 12个四光电藕合器TLP521—4来实现96路开关量信 号的电平转换,光电隔离电路图见图2所示,这些芯片 的使用在很多文献中有详细介绍 ,本文在此不再敷 叙o PLC有输出信号,则单片机将这些信号按协议打包发 送给PC机中的组态仿真程序,仿真程序根据这些信号 模拟控制对象的运动,产生运动数据,然后将这些数据 按协议打包发送给单片机,单片机再把这些数据解包 发送给PLC,PLC按照这些输入信号运行,这样 就形成了一个完整的闭环试验过程。由于PLC 的I/O口与外部环境物理连接,所以PLC控制 程序的输入输出继电器不需要用中间继电器代 替,在仿真状态中对PLC控制程序的错误和缺 陷进行检测和修正后,不需要对PLC程序再做 修改,就可以进行现场实际联机调试。 6结论 本系统采用单片机和组态软件实现了PLC 控制系统的仿真测试,在调试液气联调试验台 控制程序时可以非常逼真地观察到系统的工作 图4 编写脚本程序 过程,发现PLC控制程序的错误和缺陷,并对程 序进行修改和测试直到完全正确。系统运行稳 定,效果良好,大大提高了效率,节省了成本,降低了风 4组态仿真程序设计 由于组态软件数据库中的变量能够很方便地与 PLC内部各种继电器的状态关联,并且组态变量与图 形界面也能方便地进行动画连接,所以仿真程序采用 组态软件开发,本系统采用力控3.0组态软件编写。 利用组态软件设计PLC控制系统的虚拟控制对象 是指在计算机上运行事先编写好的组态仿真程序,用 软件来代替硬件(试验台)工作,借助组态界面观察和 检验PLC的控制过程和接过是否正确,并对错误进行 险。系统可移植性强,特别是对大型PLC控制系统的 调试仿真,非常具有参考价值。 参考文献 1蔡启仲,双可编程控制器仿真系统[M],北京:机械 工业出版社.1993.1. 2周永勤、周关兰、颜景斌等,基于组态技术虚拟被控 对象的PLC仿真实验研究[J],哈尔滨理工大学学 报,20o4,9(6):7—9. 修改,其仿真程序流程图见图3所示。 在整个流程中,最重要的是编写脚本程序,力控提 3袁云龙,基于组态软件的PLC控制系统仿真实现 [J],自动化仪表,2006,27(5):57—61. 4魏祥祯,基于组态软件的PLC虚拟控制装置开发 [J],闽西职业技术学院学报,2006,(1):126—128. 5陈宝江,MCS单片机应用系统实用指南[M],北京: 机械工业出版社.1997,7. 供了丰富的脚本函数,对于复杂的控制过程还提供了 策略控制器 ,借助这些工具,可以编写复杂的仿真程 序,模拟试验台的运动过程。图4就是模拟1号缸运 动的脚本程序。 6马国华,监控组态软件及其应用[M],北京:清华大 学出版社,2001,8, Application Case实用案例 67
因篇幅问题不能全部显示,请点此查看更多更全内容