1.1 自动售货机设计软元件
1.1.1 定时器
定时器是PLC中重要的编程元件,是累计时间增量的内部器件。定时器的工作过程与继电器控制系统的时间继电器基本相同,但它没有瞬动触点,失电时,常闭触点闭合,常开触点打开;定时器得电时,常闭触点打开,常开触点闭合。定时器的当前值、设定值均为10位有符号整数(INT),允许的最大值为32767。定时器指令表见表3-1。
表3-1 定时器指令
语句 | 描述 |
TON Txxx,PT | 接通延时定时器 |
TOF Txxx,PT | 断开延时定时器 |
TONR Txxx,PT | 保持型接通延时定时器 |
BITIM OUT | 起动间隔定时器 |
CITIM IN,OUT | 计算间隔定时器 |
1.1.2 数学运算指令
在梯形图中,整数、双整数与浮点数的加、减、乘、除指令(见表3-2)分别执行下列运算:IN1+IN2=OUT,IN1—IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT。
表3-2 加减乘除指令
梯形图 | 语句表 | 描述 | 梯形图 | 语句表 | 描述 |
ADD_I | +I INT1,OUT | 整数加法 | DIV_DI | /D INT1,OUT | 双整数除法 |
SUB_I | -I INT1,OUT | 整数减法 | ADD_R | +R INT1,OUT | 实数加法 |
MUL_I | *I INT1,OUT | 整数乘法 | SUB_R | -R INT1,OUT | 实数减法 |
DIV_I | /I INT1,OUT | 整数除法 | MUL_R | *R INT1,OUT | 实数乘法 |
ADD_DI | +D INT1,OUT | 双整数加法 | DIV_R | /R INT1,OUT | 实数除法 |
SUB_DI | -D INT1,OUT | 双整数减法 | MUL | MUL INT1,OUT | 整数乘法产生双整数 |
MUL_DI | *D INT1,OUT | 双整数乘法 | DIV | DIV INT1,OUT | 带余数的整数除法 |
在语句表中,整数、双整数与浮点数的加、减、乘、除指令分别执行下列运算:
IN1+ OUT =OUT,OUT—IN1=OUT,IN1* OUT =OUT,OUT /IN2=OUT。
1.2自动售货机的基本功能
自动售货机的各种动作功能和控制要求,给出了完整的自动售货机操作规程(如图3-1),并介绍了自动售货机运行系统中所包括的人工操作步骤。
在实际生活中,我们见到的售货机可以销售一些简单的日用品,如饮料、常用药品和小的生活保健用品等。售货机的基本功能就是对投入的货币进行运算,并根据货币数值判断是否能够购买某种商品,并作出相应的反应。例如:售货机中有2种商品,A商品价格为0.5元,B商品为1元。现投入1个1元硬币,当投入的货币超过A商品的价格时,A商品的选择按钮处应有变化,提示可以购买,B商品也提示。当按下选择A商品的价格时,售货机进行减法运算,从投入的货币总值中减去A商品的价格同时启动相应的电机,提取A号商品到出货口。此时售货机继续进行等待外部命令,如继续交易,则同上,如果此时不再购买而按下退币按钮,售货机则要进行退币操作,退回相应的货币,并在程序中清零,完成此次交易。由此看来,售货机一次交易要涉及加法运算、减法运算以及在退币时的除法运算,这是它的内部功能。还要有货币识别系统和货币的传动来实现完整的售货、退币功能。
自动售货机工作流程图
1.3 自动售货机I/O点的分配
输入/输出单元通常也称I/O单元或I/O模块,是PLC与工业生产现场之间的连接部件。 PLC通过输入接口可以检测被控对象的各种数据,以这些数据作为PLC对被控制对象进行控制的依据;同时PLC又通过输出接口将处理结果送给被控制对象,以实现控制目的。本次智能抢答器I/O点的分配如表3-3所示。
表3-3 自动售货机I/O点的分配表
序号 | 定义点 | 符号 | 功能 |
1 | I0.0 | SB1 | 找零按钮 |
2 | I0.1 | SB2 | 食品五角按钮 |
3 | I0.2 | SB3 | 食品一元按钮 |
4 | I0.3 | SB4 | 饮料一元按钮 |
5 | I0.4 | SB5 | 饮料二元按钮 |
6 | I0.5 | SB6 | 日用二元按钮 |
7 | I0.6 | SB7 | 日用三元按钮 |
8 | I2.0 | SB8 | 投五角硬币 |
9 | I2.1 | SB9 | 投一元硬币 |
10 | I2.5 | SB10 | 找零五角 |
11 | I2.6 | SB11 | 找零一元 |
12 | I3.1 | SB12 | 食品五角行程开关 |
13 | I3.2 | SB13 | 食品一元行程开关 |
14 | I3.3 | SB14 | 饮料一元行程开关 |
15 | I3.4 | SB15 | 饮料二元行程开关 |
16 | I3.5 | SB16 | 日用二元行程开关 |
17 | I3.6 | SB17 | 日用三元行程开关 |
18 | Q3.1 | 食品五角红灯(物品售完) | |
19 | Q3.2 | 食品一元红灯(物品售完) | |
20 | Q3.3 | 饮料一元红灯(物品售完) | |
21 | Q3.4 | 饮料二元红灯(物品售完) | |
22 | Q3.5 | 日用二元红灯(物品售完) | |
23 | Q3.6 | 日用三元红灯(物品售完) | |
24 | Q0.0 | 找零 | |
25 | Q0.1 | 出食品五角 | |
26 | Q0.2 | 出食品一元 | |
27 | Q0.3 | 出饮料一元 | |
28 | Q0.4 | 出饮料二元 | |
29 | Q0.5 | 出日用二元 | |
30 | Q0.6 | 出日用三元 | |
31 | Q2.1 | 食品五角绿灯(可以购买) | |
32 | Q2.2 | 食品一元绿灯(可以购买) | |
33 | Q2.3 | 饮料一元绿灯(可以购买) | |
34 | Q2.4 | 饮料二元绿灯(可以购买) | |
35 | Q2.5 | 日用二元绿灯(可以购买) | |
36 | Q2.6 | 日用三元绿灯(可以购买) |
1.4 顺序功能图(SFC)
1.4.1 什么是顺序功能图(SFC)
1.4.2 所选择的顺序功能图(SFC)
由于顺序功能图(SFC)有五种基本结构:顺序结构、选择性分支结构、并发性分支结构、循环结构、复合结构。本次自动售货机的SFC图,根据控制要求选用——选择性分支结构和并发性分之结构。因为选择性分支结构是一个控制流可以转入多个可能的控制流中的某一个且不允许多路分支同时执行。具体进入哪个分支,取决于控制流前面的转移条件哪一个为真。而并发性分之结构是一个工作步执行完后,需要同时开启若干条分之,并采用双水平线相连且要有一个公共转移条件,这两种顺序功能图结构符合本次自动售货机的控制要求,所以选择这两种结构。
本次自动售货机的SFC图如下图所示:
自动售货机顺序功能图
1.5 梯形图(LAD)
1.5.1 什么是梯形图(LAD)
梯形图是用的最多的PLC图形编程语言。梯形图语言是在传统电器控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电器控制线路图相似,如图3-4所示。继承了传统电器控制逻辑中使用的框架结构、逻辑运算方式和输入输出形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言。
在梯形图中,有两根竖直的直线,被称为母线,现在很多PLC只保留了左边的母线,而把右边的母线略去不写。在梯形图中引入了“能流”的概念。左边的母线就如电源的“正极”,而右边的母线就如电源的“负极”。如果有“能流”从左至右流向线圈,则线圈被激励。如果没有能流,则线圈未被激励,“能流”在任何时刻都不会通过接点自右向左流。
1.5.2 自动售货机设计的梯形图(LAD)
本此设计自动售货机主要销售食品、饮料、日用三大类,而食品有五角和一元,饮料有一元和二元,日用有二元和三元。
本次自动售货机的梯形图如下所示:
1.6 自动售货机的相关说明
上面梯形图中ADD_DI双整数加法当投入五角时加5投入1元是加10,SUB_DI是双整数减法当成功购买物品时就减去物品对应的数;T37—T56表示通电延时定时器,按下物品按钮时T37—T42延时8秒,无操作时T43启动计时20秒,T44与T43配合组成投币2分钟无操作找零,T46—T56两两配合形成闪烁电路。
自动售货机模拟操作面板
本设计统一采用按钮开关模拟物品选择,按钮内有绿灯和红灯分别表示可购买物品和物品销售完;指示灯模拟物品输出及找零如图3所示。
1.7 自动售货机的外部接线图
本次知道售货机的外部接线图如图3-6所示,SB2—SB7为物品选择按钮,当投入货币物品绿灯亮(Q2.1—Q2.6),按下SB2—SB7其中一个,对用的KM线圈得电电机转动出相应的物品(Q0.1—Q0.6),当有物品销售完其行程开关断开,物品红灯亮并同时向总部发送物品销售完的信息;当收买物品总值低于投入总值时,可按找零按钮SB1选择找一元还是五角(SB10、SB11)后KM1得电电机转动找零(Q0.0)。
图3-6 售货机的外部接线图
1.8 自动售货机仿真
程序编写好后无法验证程序的正误,编程能力很难提高,而仿真时解决这一问题的理想方法。
本次自动售货机的仿真,首先配置CPU的型号,为了自动售货机的仿真方便好看,我们选用CPU224,扩展模块我们选用2个8点输入8点输出的EM223 (8 I / 8 Q),如图所示。
接下来将梯形图程序编译导出,在仿真软件中把导出的ASCLL文件导入仿真软件,开启仿真软件就可以仿真。