购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

任务3.1

位逻辑指令应用

【任务目标】

●会设计简单的PLC控制程序。

●会用PLCSIM软件进行仿真调试。

●会进行硬件接线和系统调试。

●掌握S7-300 PLC的指令和功能。

●掌握程序设计的方法和步骤。

●掌握程序调试的方法。

【任务描述】

位逻辑指令是编程中最常用的指令形式,位逻辑指令使用两个数字1和0,对于触点和线圈而言,1表示已激活或已励磁,0表示未激活或未励磁。在本任务中通过四路抢答器控制、电动机正反转控制、风机运行状态监控、地下停车场车辆入出控制等程序的编写和调试,掌握S7-300 PLC位逻辑指令的应用。

【知识准备】

1.S7-300 PLC的数据类型与存储区

(1)数制

S7-300 PLC中常用的数制为二进制、十六进制和BCD码。

二进制数能够表示两种不同的状态,有0和1两个不同的数字符号。在S7-300 PLC中,二进制数常用2#表示,例如2#10010010用来表示一个8位二进制数。在使用中,l状态和0状态也可以用TRUE和FALSE表示。

4位二进制数可以用1位十六进制数表示,使得计数更加简洁。十六进制数由0~9和A~F十六个符号组成。在S7-300 PLC中,十六进制数用B#16#、W#16#或DW#16#后面加十六进制数的形式表示,前面的字母B表示字节,例如B#16#7F;字母W表示字,例如W#16#35A8;字母DW表示双字,例如DW#16#25D9B60E。

BCD码是用4位二进制数表示一位十进制数,BCD码用0000、0001、0010、0011、0100、0101、0110、0111、1000、1001分别表示十进制数的0、1、2、3、4、5、6、7、8、9。

BCD码其实是十六进制数,但是各位间的运算关系是逢十进一,十进制数可以方便地转化为BCD码,例如十进制数296对应的BCD码为W#16#296或者2#0000001010010110。

在PLC中,输入输出十进制变量一般会使用到BCD码,比如,从键盘输入一个十进制数,十进制数首先转换成BCD码,如果要将一个变量输出到显示器上,那么首先要将二进制转换成BCD码,再转换成7段码来显示。

(2)数据类型

用户程序中的所有数据必须被数据类型识别。S7-300 PLC有三种数据类型:

●基本数据类型;

●复杂数据类型(用户可以通过组合基本数据类型创建);

●参数类型(用来定义传送到FB或FC的参数)。

基本数据类型语句表、梯形图和功能块图指令使用特定长度的数据对象。例如位逻辑指令使用位;装载和传递指令(STL)以及移动指令(LAD和FBD)使用字节、字和双字。

(3)存储区

在学习指令之前,要先了解有关PLC的存储区概念。不同品牌的PLC,梯形图指令大同小异,但是,存储区的名字及地址的表示方法却差异很大。如图3-1所示是S7-300/400PLC存储地址示意图。

图3-1 S7-300/400 PLC存储地址示意图

图3-2是存储区域输入/输出映像区,西门子S7-300/400 PLC的存储区域如下。

1)输入映像区(I或PI):开关量输入DI模块映射到I区,模拟量输入AI模块映射到PI区;这是只读区。

2)输出映像区(Q或PQ):Q区写入与之对应的开关量输出DO模块,PQ区写入与之对应的模拟量输出AO模块;Q区可读/写,PQ区只写但不可读。

3)位存储区(M):又叫做中间继电器,可读/写。

4)DB块:用户定义的数据块,必须先定义后使用,可读/写。

图3-2 输入/输出映像区

5)T区:定时器名。

6)C区:计数器名。

7)L区:这是局部数据区,上面提到的存储区都是全局数据区。所谓全局数据区,就是所有的程序(OB块、FC、FB)都可以访问,而且访问到的是同一个变量;局部数据区则不然,每个独立的OB块、FC、FB块都有一个独立的L区,例如:OB1和FC1中都有L0.0,但它们却不是同一个变量。

8)DB:数据块地址寄存器,DBX、DBB、DBW、DBD分别表示数据块的位、字节、字、双字。

在STEP 7的梯形图指令中,不同类型的常数的格式都有严格的规定。如byte、word和dword类型的常数,在输入时要以“16#”作为前缀,后面跟十六进制的数据;dint类型的数据在输入时要以“L#”作为前缀,后面跟十进制的数据;real类型的数据,在输入时,后面一定要带小数部分,如没有小数部分,则加上“.0”;计时器的时间常数则以“S5T#”为前缀,后面加上a H_bbM_ccS_dddMS(表示:几小时_几分_几秒_几毫秒),“S5T#2.5S”表示2.5秒。

STEP 7中的变量,从是否使用符号的角度,可以分为符号名变量和地址名变量。地址名变量是以存储区域名为前缀,后面紧跟代表二进制长度的B、W、D(分别代表字节、字和双字),然后是起始字节的地址;位的地址名变量是存储区域名,加上位所在的字节地址,加“.”,加上位的序号。例如:IB0、IW0、ID0、I0.0;QB0、QW0、QD0、Q0.0;MB0、MW0、MD0、M0.0;LB0、LW0、LD0、L0.0;DB1.DBX0.0、DB1.DBB0、DB1.DBW0、DB1.DBD0。

定时器变量名则以T加上一个0~max之间的数字来表示,如T0、T1等;计数器变量名则以C加上一个0~max之间的数字来表示,如C0、C1等(注:max代表某型号的CPU所具有的最大数)。建议尽量少用地址名变量,而多使用符号名变量。符号名变量是可以通过符号编辑器(symbol editor)来建立,也可以直接在使用了地址名变量后,用鼠标右键单击它,在弹出菜单中,选择“编辑符号”来建立符号。在STEP 7中,不仅可以为地址名变量建立符号名变量,还可以为组织块、功能块、功能、数据块建立符号名变量,并使用符号名来编写程序。一旦建立了符号名变量,在编写程序的过程中,系统会自动提示,以便正确输入变量。

L区的变量是局域变量;在程序进入该块,到该块结束的过程中,局域变量是稳定的,当程序再次进入该块时,该局域变量的内容是不可知的,系统可能覆盖了它。除此之外,其他存储区域的变量为全局变量,组织块、功能块、功能均可访问它们,系统不会改变它们的内容。

2.位逻辑指令

STEP 7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。其中STL(语句表)、LAD(梯形图)及FBD(功能块图)是PLC编程的三种基本语言。

由于以上三种语言在STEP 7中可以相互转换,在介绍位逻辑指令时主要使用LAD语言。在STEP 7的程序编辑器(STL/LAD/FBD)中,当切换到梯形图状况时,在编辑器左侧的指令区可展开位逻辑指令,如图3-3所示。

位逻辑指令处理的对象为二进制位信号。位逻辑指令扫描信号状态“1”和“0”,并根据布尔逻辑对它们进行组合,所产生的结果(“l”或“0”)称为逻辑运算结果,存储在状态字RLO中。位逻辑指令包括触点与线圈指令、基本逻辑指令、置位和复位指令及跳变沿检测指令等。

(1)触点指令

触点指令说明见表3-1。

图3-3 位逻辑指令展开图

表3-1 触点指令说明表

(2)线圈指令

线圈指令说明表见表3-2。

(3)触发器指令

触发器指令说明表见表3-3。

表3-2 线圈指令说明表

表3-3 触发器指令说明表

(续)

3.梯形图与语句表的转换

在前面对位逻辑指令的介绍都是使用梯形图(LAD)指令,在STEP 7中,可以通过设置将梯形图转换为语句表(STL)或功能块图(FBD),如图3-4所示。

语句表中用字母A(And)表示逻辑“与”操作指令,用于常开触点的串联,AN用于常闭触点的串联;用字母O表示逻辑“或”的操作指令,用于常开触点的并联,ON用于常闭触点的并联。如图3-5a、b、c、d所示。

图3-4 梯形图与语句表的转换

图3-5 梯形图程序和转换的语句表程序

【任务实施】 VVfdHdBgiIaVoimg63lMa4mwX9Jl/kgdJDjJaAHnl/nkBvDVUPvXDpbfnKHAelef

点击中间区域
呼出菜单
上一章
目录
下一章
×