步进顺序思想在基于S7-300系列PLC编程教学中的应用探讨
2017-04-07徐伟
徐 伟
(江汉大学 工程训练中心, 湖北 武汉 430056)
步进顺序思想在基于S7-300系列PLC编程教学中的应用探讨
徐 伟
(江汉大学 工程训练中心, 湖北 武汉 430056)
在PLC编程练习的教学过程中,学生对于一些逻辑关系复杂的问题较难掌握和上手。分析了传统经验设计法存在着设计复杂、可读性差等缺点,针对这些问题叙述了步进顺序设计法的原理,以逻辑关系比较复杂的控制问题为例,具体介绍了步进顺序设计方法的实际应用。以步进顺序思想为基础的编程方法使学生只用掌握S7-300PLC的基本编程语言后,就可对比较复杂的控制问题进行编程。
步进顺序; S7-300系列; PLC编程
1 概述
可编程控制器(简称PLC)是集计算机技术、自动控制技术、通信技术为一体的新型自动控制装置,具有编程及维护方便、体积小、可靠性高、抗干扰能力强等优点[1]。随着制造技术、电子技术的快速发展,PLC应用技术也飞速发展,广泛应用在自动化程度较高的加工设备和生产制造系统中。PLC应用技术已经成为21世纪工业自动化技术的主要支柱之一[2]。
适应PLC日益广泛应用的形势,许多高等学校理工类专业都开设了PLC这门课程。随着高等教育改革的深入,高校将学生实践动手能力的提高作为教学改革的突破口。PLC的编程教学,需要学生为了掌握该技术而大量进行编程练习[3]。PLC技术是一门依靠思维编程的新型课程,不仅沿用和发展了电气控制技术、具有复杂而庞大的编程指令功能和编程方法,而且其功能和控制指令也远远超过电气控制范畴,它不仅可实现逻辑运算,还具有算术运算、数据处理、联网通信等功能,是具有工业控制指令的计算机系统[4]。PLC程序的设计是计算机程序设计与电气控制设计思想结合的产物,难度大、逻辑关系复杂,高端、复杂、烦琐[5],这些都使学生较难上手,也容易混淆。
2 PLC编程的主要方法
PLC程序设计思想是编程人员利用给定的前提条件及工艺要求,为设计出PLC程序而进行的分析、综合、判断、推理等认识活动的过程[6]。PLC程序一般有2种表现形式:一种是梯形图,即LAD模式;另一种是指令模式,即STL 模式[7]。为方便表述,用指令模式进行编程。
2.1 经验设计法
经验设计法是一种传统PLC编程方法。在PLC发展的初期,沿用了设计继电器电路图的方法来设计程序,即根据被控制对象的要求,反复调试和修改PLC程序,不断增加中间元件和触点,最后才能得到一个较为满意的结果。这种方法没有一个普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果不是唯一的,设计所用的时间、程序的质量都与设计者的经验有很大的关系,所以被称为经验设计法,一般用于较为简单的程序设计[8]。
这种程序设计法对于要求比较简单的程序设计是比较奏效的,但对于一些设计要求比较复杂的程序,就需要用大量的中间元件,如常开或者常闭触点来完成自锁、联锁、互锁等功能[9]。一方面,考虑的因素很多且又交织在一起,所以分析非常困难;另一方面由于元件因果关系复杂,修改某一局部程序时,很可能对其他程序产生一些预料之外的后果[10]。由于是设计者根据自己的经验和习惯思路来进行设计,所以要读和分析程序时,就非常困难,需要遵循设计者的设计思路去分析程序。时间长了,设计者自身都有可能遗忘设计思路,这样对于程序的维护和改进都带来困难[11]。
2.2 步进顺序设计法
2.2.1 步进顺序设计法原理
S7-300系列PLC有置位和复位指令,且对同一个线圈置位和复位指令可以分开编程,所以可以用步进顺序的思想实现以转换条件为中心的编程。
如图1所示,要实现Mi对应的转换必须同时满足2个条件,前级步为活动步(Mi-1=1)和转换条件(Xi=1)。所以用Mi-1和Xi的动合触点串联组成电路来表示上述条件[12]。当以上2个条件同时满足,该电路接通时应完成2个操作:一是将后续步变为活动步(用置位S指令将Mi置位);二是将前级步变为不活动步(用复位R指令将Mi-1复位)。这种编程方法的思想很有规律,每一个转换都对应一个S/R的指令块,有多少个转换就有多少个这样的指令块[13]。
图1 步进顺序设计法原理图
2.2.2 编程控制分析
编程控制要求如下:
(1) 按1号按钮,1号灯延时2 s后点亮,再延时3 s后,2号灯点亮;
(2) 在2号灯点亮的条件下,按2号按钮,进行10 s延时;在这10 s内,按3号按钮5次,3号灯点亮;10 s外则操作无效;
(3) 在3号灯点亮的同时,计数器开始按每秒1次计数,且每秒4号灯闪亮一次,计数15次后,4号灯常亮;
(4) 按停止按钮,所有灯熄灭。
这个控制要求的复杂程度比较高,其中不仅时间控制元件、计数控制元件的因果关系很复杂,而且要求中“在规定时间外计数,即使达到规定次数仍然无效”这一控制要求是明显的选择分支运行。所以,如果按照常规方法设计程序,对于学生会有不小的难度。
但对于以上控制要求的梯形图编程,也不难看出控制要求中也存在以下明显特征:
(1) 各控制步骤有明晰的阶段性,即一个动作完成后,在某个触发条件的响应下才能继续下一个运行步骤,并且前一个步骤停止运行[14];
(2) 在某个控制阶段中,各元件端口之间虽然因果关系复杂,但可以包容在同一个程序块中,即使对其中的某些元件进行修改,也不会对其他程序块有大的影响[15];
(3) 程序的选择性分支同样可以用置位和复位指令完成。
以西门子S7-300系统为平台,将I/O口分配,如表1所示。
表1 控制模型I/O口分配表
2.2.3 控制模型指令程序
程序段1:
A ″输入端口0″I0.0 -- 启动按钮 S ″辅助端口0″M0.0
程序段2:
A ″辅助端口0″M0.0 A ″输入端口1″I0.1 -- 1号按钮 L S5T#2S SS ″计时端口0″T0 S ″辅助端口1″M0.1R ″辅助端口0″M0.0
程序段3:
A ″辅助端口1″M0.1 A ″计时端口0″T0 S ″输出端口1″Q0.1 -- 1号灯 L S5T#3S SS ″计时端口1″T1 S ″辅助端口2″M0.2R ″辅助端口1″M0.1
程序段4:
A ″辅助端口2″M0.2 = L 20.0 A L 20.0 BLD 102 R ″计时端口0″T0 A L 20.0 A ″计时端口1″T1 = ″输出端口2″Q0.2 -- 2号灯 S ″辅助端口3″M0.3R ″辅助端口2″M0.2
程序段5:
A ″辅助端口3″M0.3 = L 20.0 A L 20.0 BLD 102 R ″计时端口1″T1 A L 20.0 A ″输入端口2″I0.2 -- 2号按钮 L S5T#10S SS ″计时端口3″T3 L C#5 S ″计数端口0″C0 S ″辅助端口4″M0.4R ″辅助端口3″M0.3
程序段6:
A ″辅助端口4″M0.4 = L 20.0 A L 20.0 A ″输入端口3″I0.3 -- 3号按钮 CD ″计数端口0″C0 A L 20.0 AN ″计数端口0″C0 = ″输出端口3″Q0.3 -- 3号灯 S ″辅助端口5″M0.5R ″辅助端口4″M0.4 L C#15 S ″计数端口1″C1 A L 20.0 A ″计时端口3″T3S ″辅助端口0″M0.0R ″辅助端口4″M0.4 = ″输出端口1″Q0.1 -- 1号灯 = ″输出端口2″Q0.2 -- 2号灯 R ″计时端口3″T3
程序段7:
A ″辅助端口5″M0.5 = L 20.0 A L 20.0 BLD 102 R ″计数端口0″C0 A L 20.0 BLD 102 R ″计时端口3″T3 A L 20.0 AN ″计时端口4″T4 L S5T#500MS SD ″计时端口5″T5 A L 20.0 A ″计时端口5″T5 L S5T#500MS SD ″计时端口4″T4 = ″输出端口4″Q0.4 -- 4号灯 CD ″计数端口1″C1 A L 20.0 AN ″计数端口1″C1 S ″输出端口4″Q0.4 -- 4号灯 A L 20.0 A ″输入端口4″I0.4 -- 停止按钮 S ″辅助端口0″M0.0R ″辅助端口5″M0.5 R ″输出端口1″Q0.1 -- 1号灯 R ″输出端口2″Q0.2 -- 2号灯 R ″输出端口3″Q0.3 -- 3号灯 R ″输出端口4″Q0.4 -- 4号灯 R ″计数端口1″C1
该程序在每一个动作程序段中都通过“A”指令判断转换条件的某元件是否接通,通过“S Mi”和“R Mi-1”的指令,将Mi置位和将Mi-1复位,使得程序往下一步跳转运行,特别是在程序段7中,通过置位M0.0和复位M0.5,使整个程序能实现循环功能,步骤非常清晰。同时,在程序段6中,在时间控制器T3尚未接通,即计时时间没有达到,如果计数控制器C0按要求按动5次,则程序将置位M0.5和复位M0.4,往下一步运行;但如果时间控制器T3接通,计时时间已经达到,计数控制器C0却没有按动5次,则程序将置位M0.0和复位M0.4,这样就能明显地通过2个不同转换条件下的S/R指令块实现程序分支跳转运行。
3 结语
在PLC 编程练习中,以步进顺序思想为基础,利用辅助端口Mi对每一步进行控制置位,使需要大量中间元件来完成自锁、联锁、互锁等功能交织在一起的问题,只需要按照逻辑步骤分成许多小的程序模块来分析就可以了,不仅将复杂问题简单化,而且增强了程序的可读性和理解性,即使对某一程序段进行修改,对其他程序段也不会产生太大的影响[15]。这种以步进顺序的思想为基础的编程方法使学生可以只掌握S7-300基本编程语言,就可对比较复杂的控制问题进行编程,使他们拿到设计任务后,设计起来得心应手,极大增强了学生的学习兴趣,也增强了课堂教学效果。
References)
[1] 王永华.现代电气控制及PLC应用技术[M].北京:北京航空航天大学出版社,2003.
[2] 廖常初.PLC基础及应用[M]. 北京:机械工业出版社.
[3] 史国生.电气控制与可编程控制器技术[M] 北京:化学工业出版社,2003.
[4] 孙振强.可编程控制器原理及应用教程[M].2版.北京:清华大学出版社,2008.
[5] 阮友德.电气控制与PLC实训教程[M]. 北京:人民邮电出版社,2006.
[6] 张润怀.PLC自动控制系统仿真与实践[M].包头:包头钢铁职业技术学院出版社,2014
[7] 靳哲.可编程序控制器原理及应用[M].北京:北京师范大学出版社,2011
[8] 廖常初.S7-200PLC基础教程[M].北京:机械工业出版社,2008
[9] 胡健.西门子 S7-300PLC应用教程[M].北京:机械工业出版社,2007.
[10] 廖常初.S7- 300/400PLC应用技术 [M].北京:机械工业出版社,2011.
[11] 刘刚.PLC教学中编程方法教学探讨[J].黔东南民族高等师范专科学校学报,2006(6):70,76.
[12] 付斌.PLC培训教学中梯形图设计思想的建立与培养[J].武汉工程职业技术学院学报,2013(3):77-80.
[13] 卢学英,徐芳兰.PLC教学内容与实验手段的探索[J].电气电子教学学报,1999 (1):67-69.
[14] 卢学英,张惠群,孙宏伟.非电专业PLC实验中的编程技巧教学[J].电气电子教学学报,2004(2):95-96,105.
[15] 虞宗乔.可编程控制器编程教学心得[J].机械职业教育,1999(4):23-24.
Exploration on application of step sequence idea to teaching of PLC programming based on S7-300 series
Xu Wei
(Engineering Training Center, Jianghan University, Wuhan 430056, China)
This paper introduces the wide application of PLC in the process of teaching PLC programming for some complex logical problems, students learn programming too more difficult to grasp and use. This article analyses that the traditional experience design method of PLC programming has the disadvantages of complex design and poor readability. To solve these problems, this paper describes the principle of step sequence design method. Based on a complex logical example, this paper introduces the practical application of the step sequence design method. It proves that after mastering the basic S7-300PLC programming language, the students can program the complicated control problems by using the method of step sequence PLC programming.
step sequence; S7-300 series; PLC programming
10.16791/j.cnki.sjg.2017.03.047
2016-08-22 修改日期:2016-10-15
徐伟(1977—),男,湖北武汉,硕士,实验师,主要研究方向为机器人、机械创新.
E-mail:370324931@qq.com
G642.0
A
1002-4956(2017)3-0183-04