S7-200西门子PLC基础教程第6章-PLC课件_第1页
S7-200西门子PLC基础教程第6章-PLC课件_第2页
S7-200西门子PLC基础教程第6章-PLC课件_第3页
S7-200西门子PLC基础教程第6章-PLC课件_第4页
S7-200西门子PLC基础教程第6章-PLC课件_第5页
已阅读5页,还剩217页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章

PLC的应用指令第6章

数据传送指令及应用6.1

数据比较指令6.2

数据移位与循环指令6.3

数据表功能指令6.4

译码、编码、段码指令6.5数据传送指令及应用6.1数据比较指6.1数据传送指令及应用

数据传送指令有字节、字、双字和实数的单个传送指令,还有以字节、字、双字为单位的数据块的成组传送指令,其用来完成各存储器单元之间的数据传送。6.1数据传送指令及应用

数据传送指令有字节、字、双字

6.1.1字节、字、双字和实数的单个传送指令 单个传送指令一次完成一个字节、字、双字的传送。 6.1.1字节、字、双字和实数的单个传送指令

1.指令格式 指令的格式如表6-1所示。 1.指令格式

传送指令的操作功能:当使能输入端EN有效时,把一个输入IN单字节无符号数、单字长或双字长符号数送到OUT指定的存储器单元输出。 传送指令的操作功能:当使能输入端EN有效时,把一个输入I

数据类型分别为字节、字、双字和实数。 操作数的寻址范围要与指令助记符中的数据长度一致。其中字节传送时不能寻址专用的字和双字存储器,如T、C及HC等,OUT寻址不能寻址常数。 数据类型分别为字节、字、双字和实数。

2.传送指令的应用 当使能输入有效(I0.0为ON)时,将变量存储器VW10中内容送到VW20中。梯形图及传送结果如图6-1所示。 2.传送指令的应用

图6-1传送指令的应用图6-1传送指令的应用

6.1.2字节、字、双字的块传送指令 数据块传送指令一次可完成N个数据的成组传送。指令类型有字节、字、双字3种。 6.1.2字节、字、双字的块传送指令

1.指令的格式 指令的格式如表6-2所示。 1.指令的格式

①字节的数据块传送指令,当使能输入端有效时,把从输入IN字节开始的N个字节数据传送到以输出字节OUT开始的N个字节的存储区中。 ①字节的数据块传送指令,当使能输入端有效时,把从输入I

②字的数据块传送指令,当使能输入端有效时,把从输入IN字节开始的N个字的数据传送到以输出字OUT开始的N个字的存储区中。 ②字的数据块传送指令,当使能输入端有效时,把从输入IN

③双字的数据块传送指令,当使能输入端有效时,把从输入IN双字开始的N个双字的数据传送到以输出双字OUT开始的N个双字的存储区中。 ③双字的数据块传送指令,当使能输入端有效时,把从输入

传送指令的数据类型,IN,OUT操作数据类型为B、W、DW;N(BYTE)的数据范围0~255。 传送指令的数据类型,IN,OUT操作数据类型为B、W、D

2.块传送指令的应用 当使能输入有效(I0.1为ON)时,将VW0开始的连续3个字传送到VW10~VW12中。梯形图及传送结果如图6-2所示。 2.块传送指令的应用

图6-2块传送指令的应用图6-2块传送指令的应用

6.1.3字节交换/填充指令 字节交换/填充指令格式见表6-3。 6.1.3字节交换/填充指令

1.字节交换指令 字节交换(SWAP)指令用来实现输入字的高字节与低字节的交换。 1.字节交换指令

当使能输入有效时,用来实现输入字的高字节与低字节的交换。 字节交换指令的应用举例如图6-3所示。 当使能输入有效时,用来实现输入字的高字节与低字节的交换。

图6-3字节交换指令的应用举例图6-3字节交换指令的应用举例

2.字节填充指令 字节填充(FILL)指令用于存储器区域的填充。 当使能输入有效时,用字输入数据IN填充从OUT指定单元开始的N个字存储单元。 填充指令的应用举例如图6-4所示。 2.字节填充指令

图6-4填充指令的应用举例图6-4填充指令的应用举例

当使能输入有效(I0.1为ON)时,将从VW200开始的10个字存储单元清零。 当使能输入有效(I0.1为ON)时,将从VW200开始的

NETWORK1LD I0.1 //使能输入FILL +0,VW200,10 //10个字填充0

执行的结果是从VW200开始的20个字节的存储单元清零。NETWORK1

6.1.4传送指令的应用举例

1.初始化程序的设计 存储器初始化程序是用于PLC开机运行时对某些存储器清0或设置的一种操作。常采用传送指令来编程。若开机运行时将VB20清0,将VW20设置为200,则对应的梯形图程序如图6-5所示。 6.1.4传送指令的应用举例

图6-5存储器的清0与设置图6-5存储器的清0与设置

2.多台电动机同时起动、停止的梯形图程序 设4台电动机分别由Q0.1、Q0.2、Q0.3和Q0.4控制,I0.1为起动按钮,I0.2为停止按钮。用传送指令设计的梯形图程序如图6-6所示。 2.多台电动机同时起动、停止的梯形图程序

图6-6多台电动机同时起动、停止控制梯形图

图6-6多台电动机同时起动、停止控制梯形图

3.预选时间的选择控制 某工厂生产的2种型号工件所需加热的时间为40

s、60

s。使用2个开关来控制定时器的设定值,每一开关对应于一设定值;用起动按钮和接触器控制加热炉的通断。PLCI/O地址分配如表6-4所示。 3.预选时间的选择控制

根据控制要求设计的梯形图程序如图6-7所示。 根据控制要求设计的梯形图程序如图6-7所示。

图6-7预选时间的选择控制梯形图程图6-7预选时间的选择控制梯形图程6.2数据比较指令 6.2.1数据比较指令 数据比较指令用来比较两个数IN1与IN2的大小,如图6-8所示。在梯形图中,满足比较关系给出的条件时,触点接通。“<>”表示不等于,触点中间的B、I、D、R、S分别表示字节、字、双字、实数(浮点数)和字符串比较。6.2数据比较指令 6.2.1数据比较指令

图6-8数据比较指令图6-8数据比较指令

比较指令的格式如表6-5所示。 比较指令的格式如表6-5所示。

表中给出了梯形图字节相等比较的符号,比较指令的其他比较关系和操作数类型说明如下。 比较运算符:=、<=、>=、>、<、<>。 表中给出了梯形图字节相等比较的符号,比较指令的其他比较关

字节比较指令用来比较两个无符号数字节IN1与IN2的大小;整数比较指令用来比较两个字IN1与IN2的大小,最高位为符号位。 字节比较指令用来比较两个无符号数字节IN1与IN2的大小

例如16#7FFF>16#8000(后者为负数);双字整数比较指令用来比较两个双字IN1与IN2的大小,双字整数比较是有符号的,16#7FFFFFFF>16#80000000(后者为负数);实数比较指令用来比较两个实数IN1与IN2的大小,实数比较是有符号的。字符串比较指令比较两个字符串的ASCII码字符是否相等。 例如16#7FFF>16#8000(后者为负数);双字整

6.2.2数据比较指令的应用

1.自复位接通延时定时器 用接通延时定时器和比较指令可组成占空比可调的脉冲发生器。 6.2.2数据比较指令的应用

用M0.1和10

ms定时器T33组成了一个脉冲发生器,使T33的当前值按图6-9所示波形变化。比较指令用来产生脉冲宽度可调的方波,Q0.1为0的时间取决于比较指令(LDW>=T33,50)中的第2个操作数的值。 用M0.1和10

ms定时器T33组成了一个脉冲发生器,

图6-9自复位接通延时定时器图6-9自复位接通延时定时器

2.3台电动机的分时起动控制 当按下起动按钮I0.1时,3台电动机每隔5

s分别依次起动;按下停止按钮I0.2时,3台电动机Q0.1、Q0.2和Q0.3同时停止。对应梯形图程序如图6-10所示。 2.3台电动机的分时起动控制

图6-103台电动机分时起动的梯形图程序图6-103台电动机分时起动的梯形图程序6.3数据移位与循环指令

移位指令分为左移位、右移位和循环左移位、右移位及移位寄存器指令。6.3数据移位与循环指令 移位指令分为左移位、右移位和循

6.3.1数据左移位和右移位指令 移位指令格式如表6-6所示。 6.3.1数据左移位和右移位指令

移位指令将IN中的数的各位向右或向左移动N位后,送给OUT。移位指令对移出的位自动补0。 移位指令将IN中的数的各位向右或向左移动N位后,送给OU

如果移位的位数N大于允许值(字节操作为8,字操作为16,双字操作为32),应对N进行取模操作。所有的循环和移位指令中的N均为字节型数据。 如果移位的位数N大于允许值(字节操作为8,字操作为16

如果移位次数大于0,“溢出”存储器位SM1.1保存最后一次被移出的位的值。如果移出结果为0,零标志位SM1.0被置1。 如果移位次数大于0,“溢出”存储器位SM1.1保存最后一

1.左移位(SHL)指令 当使能输入有效时,将输入的字节、字或双字IN左移N位后(右端补0),将结果输出到OUT所指定的存储器单元中,最后一次移出位保存在SM1.1中。 1.左移位(SHL)指令

2.右移位(SHR)指令 当使能输入有效时,将输入的字节、字或双字IN右移N位后(左端补0),将结果输出到OUT所指定的存储器单元中,最后一次移出位保存在SM1.1中。 2.右移位(SHR)指令

6.3.2循环左移位和循环右移位指令 循环移位指令将IN中的各位向左或向右循环移动N位后,送给OUT。循环移位是环形的,即被移出来的位将返回到另一端空出来的位置。指令的格式如表6-7所示。 6.3.2循环左移位和循环右移位指令

1.循环左移位(ROL)指令 当使能输入有效时,将输入的字节、字或双字IN数据循环左移N位后,将结果输出到OUT所指定的存储器单元中,并将最后一次移出位保存在SM1.1中。 1.循环左移位(ROL)指令

2.循环右移位(ROR)指令 当使能输入有效时,将输入的字节、字或双字IN数据循环右移N位后,将结果输出到OUT所指定的存储器单元中,并将最后一次移出位保存在SM1.1中。 2.循环右移位(ROR)指令

如果移动的位数N大于允许值(字节操作为8,字操作为16,双字操作为32),执行循环移位之前先对N进行取模操作。例如对于字移位,将N除以16后取余数,从而得到一个有效的移位次数。 如果移动的位数N大于允许值(字节操作为8,字操作为16,

取模操作的结果对于字节操作是0~7,对于字操作是0~15,对于双字操作是0~31。如果取模操作的结果为0,不进行循环移位操作。 取模操作的结果对于字节操作是0~7,对于字操作是0~15

3.移位指令的应用 当I0.0输入有效时,将VB10左移4位送到VB10,将VB0循环右移3位送到VB0,如图6-11所示。 3.移位指令的应用

图6-11移位与循环移位指令的应用图6-11移位与循环移位指令的应用

6.3.3移位寄存器指令 移位寄存器指令是一个移位长度可指定的移位指令。 6.3.3移位寄存器指令

1.移位寄存器指令的格式 移位寄存器指令格式及功能如表6-8所示。 1.移位寄存器指令的格式

梯形图中DATA为数据输入,指令执行时将该位的值移入移位寄存器。S-BIT为移位寄存器的最低位地址,字节型变量N指定移位寄存器的长度和移位方向,正向移位时N为正,反向移位时N为负。SHRB指令移出的位被传送到溢出位(SM1.1)。 梯形图中DATA为数据输入,指令执行时将该位的值移入移位

N为正时,在使能输入EN的上升沿时,寄存器中的各位由低位向高位移一位,DATA输入的二进制数从最低位移入,最高位被移到溢出位。N为负时,从最高位移入,最低位移出。DATA和S-BIT为BOOL变量。 N为正时,在使能输入EN的上升沿时,寄存器中的各位由低位

移位寄存器提供了一种排列和控制产品流或者数据的简单方法。 移位寄存器提供了一种排列和控制产品流或者数据的简单方法。

2.移位寄存器指令的应用 移位寄存器指令的应用如图6-12所示。 2.移位寄存器指令的应用

图6-12移位寄存器指令的应用图6-12移位寄存器指令的应用

6.3.4数据移位指令的应用 当按下起动按钮I0.1,8只彩灯从Q0.0开始每隔1

s依次向左循环点亮,直至按下停止按钮I0.2后熄灭。 6.3.4数据移位指令的应用

根据控制要求设计的梯形图如图6-13所示,8只彩灯为Q0.0~Q0.7。 根据控制要求设计的梯形图如图6-13所示,8只彩灯为Q0

图6-138只彩灯依次向左循环点亮梯形图图6-138只彩灯依次向左循环点亮梯形图

6.4数据表功能指令

表功能指令用来建立和存取字类型的数据表。6.4数据表功能指令

表功能指令用来建立和存取字类型的

数据表由3部分组成:表地址,由表的首地址指明;表定义,由表地址和第2个字地址所对应的单元分别存放的两个表参数来定义最大填表数和实际填表数;存储数据,从第3个字节地址开始存放数据,一个表最多能存储100个数据。 表功能指令如表6-9所示。 数据表由3部分组成:表地址,由表的首地址指明;表定义,由

6.4.1填表指令 填表指令(AddToTable,ATT)向表(TBL)中增加一个字的数据(DATA),表内的第1个数是表的最大长度(TL),第2个数是表内实际的项数(EC)。 6.4.1填表指令

新数据被放入表内上一次填入的数的后面。每向表内填入一个新的数据,EC自动加1。除了TL和EC外,表最多可以装入100个数据。TBL为WORD型,DATA为INT型。 新数据被放入表内上一次填入的数的后面。每向表内填入一个新

填表指令的应用举例,表的起始地址为VW200,最大填表数为5,已填入2个数据。现将VW100中的数据1

250填入表中,对应的梯形图程序如图6-14所示。

LDI0.0 EU ATTVW100,VW200 填表指令的应用举例,表的起始地址为VW200,最大填表数

图6-14填表指令的应用图6-14填表指令的应用

使ENO=0的错误条件:SM4.3(运行时间),0006(间接地址),0091(操作数超限)。该指令影响SM1.4,填入表的数据过多时,SM1.4将被置1。 使ENO=0的错误条件:SM4.3(运行时间),000

6.4.2查表指令 查表(TableFind)指令从指针INDX所指的地址开始查表TBL,搜索与数据PTN的关系满足CMD定义的条件的数据。 6.4.2查表指令

命令参数CMD=1~4,分别代表“=”、“<>”、“<”和“>”。若发现了一个符合条件的数据,则INDX指向该数据。要查找下一个符合条件的数据,再次启动查表指令之前,应先将INDX加1。如果没有找到,INDX的数值等于EC。一个表最多有100个填表数据,数据的编号为0~99。 命令参数CMD=1~4,分别代表“=”、“<>”、“<”

TBL和INDX为WORD型,PTN为INT型,CMD为字节型。 查表指令的应用如图6-15所示。 TBL和INDX为WORD型,PTN为INT型,CMD为

图6-15查表指令的应用图6-15查表指令的应用

当触点I0.1接通时,从EC地址为VW202的表中查找等于(CMD=1)16#2130的数。为了从头开始查找,AC1的初值为0。 当触点I0.1接通时,从EC地址为VW202的表中查找等

查表指令执行后,AC1=2,找到了满足条件的数据2。查表中剩余的数据之前,AC1(INDX)应加1。第2次执行后,AC1=4,找到了满足条件的数据4。 查表指令执行后,AC1=2,找到了满足条件的数据2。查表

将AC1(INDX)再次加1。第3次执行后,AC1等于表中填入的项数6(EC),表示表已查完,没有找到符合条件的数据。再次查表之前,应将INDX清0。 将AC1(INDX)再次加1。第3次执行后,AC1等于表

LDI0.1 EU FIND-VW200,16#2130,AC1 LDI0.1

6.4.3先入先出指令 先入先出(FirstInFirstOut,FIFO)指令从表中移走最先放进的第1个数据(数据0),并将它送入DATA指定的地址,表中剩下的各项依次向上移动一个位置。 6.4.3先入先出指令

每次执行此指令,表中的项数EC减1。TBL为INT型,DATA为WORD型。先入先出指令的应用如图6-16所示。

LDI0.1 EU FIFOVW200,VW400 每次执行此指令,表中的项数EC减1。TBL为INT型,D

图6-16先入先出指令的应用图6-16先入先出指令的应用

使ENO=0的错误条件:SM1.5(空表),SM4.3(运行时间),0006(间接地址),0091(操作数超出范围)。如果试图从空表中移走数据,特殊存储器位SM1.5将被置为1。 使ENO=0的错误条件:SM1.5(空表),SM4.3(

6.4.4后入先出指令 后入先出(LastInFirstOut,LIFO)指令从表中移走最后放进的数据,并将它送入DATA指定的位置,剩下的各项依次向上移动一个位置。 6.4.4后入先出指令

每次执行此指令,表中的项数减1。TBL为INT型,DATA为WORD型。后入先出指令的应用如图6-17所示。 每次执行此指令,表中的项数减1。TBL为INT型,DAT

图6-17后入先出指令的应用图6-17后入先出指令的应用

该指令使ENO=0的错误条件和受影响的特殊存储器位同FIFO指令。

LDI0.2 EU LIFOVW100,VW200 该指令使ENO=0的错误条件和受影响的特殊存储器位同FI6.5译码、编码、段码指令

译码、编码、段码指令格式见表6-10所示。6.5译码、编码、段码指令

译码、编码、段码指令格式见

6.5.1译码指令 当使能输入有效时,根据输入字节的低4位表示的位号,将输出字相应位置1,其他位置0。 6.5.1译码指令

设AC0中存有的数据为16#08,则执行译码(DECO)指令将使MW0中的第8位数据位置1,而其他数据位置0,对应的梯形图程序如图6-18所示。 设AC0中存有的数据为16#08,则执行译码(DECO)

图6-18译码指令的应用图6-18译码指令的应用

6.5.2编码指令 编码(Encode,ENCO)指令将输入字的最低有效位(其值为1)的位数写入输出字节的最低位。设AC1中的错误信息为2#0000001000000000(第9位为1),编码指令“ENCOAC2,VB40”将错误信息转换为VB40中的错误代码9。 6.5.2编码指令

图6-19编码指令的应用图6-19编码指令的应用

6.5.3段译码指令 段(Segment)译码指令SEG根据输入字节的低4位确定的十六进制数(16#0~16#F)产生点亮7段显示器各段的代码,并送到输出字节。 6.5.3段译码指令

图6-20中7段显示器的D0~D6段分别对应于输出字节的最低位(第0位)~第6位,某段应亮时输出字节中对应的位为1,反之为0。若显示数字“1”时,仅D1和D2为1,其余位为0,输出值为6,或二进制数2#00000110。 图6-20中7段显示器的D0~D6段分别对应于输出字节的

图6-20段译码指令的应用图6-20段译码指令的应用

第6章

PLC的应用指令第6章

数据传送指令及应用6.1

数据比较指令6.2

数据移位与循环指令6.3

数据表功能指令6.4

译码、编码、段码指令6.5数据传送指令及应用6.1数据比较指6.1数据传送指令及应用

数据传送指令有字节、字、双字和实数的单个传送指令,还有以字节、字、双字为单位的数据块的成组传送指令,其用来完成各存储器单元之间的数据传送。6.1数据传送指令及应用

数据传送指令有字节、字、双字

6.1.1字节、字、双字和实数的单个传送指令 单个传送指令一次完成一个字节、字、双字的传送。 6.1.1字节、字、双字和实数的单个传送指令

1.指令格式 指令的格式如表6-1所示。 1.指令格式

传送指令的操作功能:当使能输入端EN有效时,把一个输入IN单字节无符号数、单字长或双字长符号数送到OUT指定的存储器单元输出。 传送指令的操作功能:当使能输入端EN有效时,把一个输入I

数据类型分别为字节、字、双字和实数。 操作数的寻址范围要与指令助记符中的数据长度一致。其中字节传送时不能寻址专用的字和双字存储器,如T、C及HC等,OUT寻址不能寻址常数。 数据类型分别为字节、字、双字和实数。

2.传送指令的应用 当使能输入有效(I0.0为ON)时,将变量存储器VW10中内容送到VW20中。梯形图及传送结果如图6-1所示。 2.传送指令的应用

图6-1传送指令的应用图6-1传送指令的应用

6.1.2字节、字、双字的块传送指令 数据块传送指令一次可完成N个数据的成组传送。指令类型有字节、字、双字3种。 6.1.2字节、字、双字的块传送指令

1.指令的格式 指令的格式如表6-2所示。 1.指令的格式

①字节的数据块传送指令,当使能输入端有效时,把从输入IN字节开始的N个字节数据传送到以输出字节OUT开始的N个字节的存储区中。 ①字节的数据块传送指令,当使能输入端有效时,把从输入I

②字的数据块传送指令,当使能输入端有效时,把从输入IN字节开始的N个字的数据传送到以输出字OUT开始的N个字的存储区中。 ②字的数据块传送指令,当使能输入端有效时,把从输入IN

③双字的数据块传送指令,当使能输入端有效时,把从输入IN双字开始的N个双字的数据传送到以输出双字OUT开始的N个双字的存储区中。 ③双字的数据块传送指令,当使能输入端有效时,把从输入

传送指令的数据类型,IN,OUT操作数据类型为B、W、DW;N(BYTE)的数据范围0~255。 传送指令的数据类型,IN,OUT操作数据类型为B、W、D

2.块传送指令的应用 当使能输入有效(I0.1为ON)时,将VW0开始的连续3个字传送到VW10~VW12中。梯形图及传送结果如图6-2所示。 2.块传送指令的应用

图6-2块传送指令的应用图6-2块传送指令的应用

6.1.3字节交换/填充指令 字节交换/填充指令格式见表6-3。 6.1.3字节交换/填充指令

1.字节交换指令 字节交换(SWAP)指令用来实现输入字的高字节与低字节的交换。 1.字节交换指令

当使能输入有效时,用来实现输入字的高字节与低字节的交换。 字节交换指令的应用举例如图6-3所示。 当使能输入有效时,用来实现输入字的高字节与低字节的交换。

图6-3字节交换指令的应用举例图6-3字节交换指令的应用举例

2.字节填充指令 字节填充(FILL)指令用于存储器区域的填充。 当使能输入有效时,用字输入数据IN填充从OUT指定单元开始的N个字存储单元。 填充指令的应用举例如图6-4所示。 2.字节填充指令

图6-4填充指令的应用举例图6-4填充指令的应用举例

当使能输入有效(I0.1为ON)时,将从VW200开始的10个字存储单元清零。 当使能输入有效(I0.1为ON)时,将从VW200开始的

NETWORK1LD I0.1 //使能输入FILL +0,VW200,10 //10个字填充0

执行的结果是从VW200开始的20个字节的存储单元清零。NETWORK1

6.1.4传送指令的应用举例

1.初始化程序的设计 存储器初始化程序是用于PLC开机运行时对某些存储器清0或设置的一种操作。常采用传送指令来编程。若开机运行时将VB20清0,将VW20设置为200,则对应的梯形图程序如图6-5所示。 6.1.4传送指令的应用举例

图6-5存储器的清0与设置图6-5存储器的清0与设置

2.多台电动机同时起动、停止的梯形图程序 设4台电动机分别由Q0.1、Q0.2、Q0.3和Q0.4控制,I0.1为起动按钮,I0.2为停止按钮。用传送指令设计的梯形图程序如图6-6所示。 2.多台电动机同时起动、停止的梯形图程序

图6-6多台电动机同时起动、停止控制梯形图

图6-6多台电动机同时起动、停止控制梯形图

3.预选时间的选择控制 某工厂生产的2种型号工件所需加热的时间为40

s、60

s。使用2个开关来控制定时器的设定值,每一开关对应于一设定值;用起动按钮和接触器控制加热炉的通断。PLCI/O地址分配如表6-4所示。 3.预选时间的选择控制

根据控制要求设计的梯形图程序如图6-7所示。 根据控制要求设计的梯形图程序如图6-7所示。

图6-7预选时间的选择控制梯形图程图6-7预选时间的选择控制梯形图程6.2数据比较指令 6.2.1数据比较指令 数据比较指令用来比较两个数IN1与IN2的大小,如图6-8所示。在梯形图中,满足比较关系给出的条件时,触点接通。“<>”表示不等于,触点中间的B、I、D、R、S分别表示字节、字、双字、实数(浮点数)和字符串比较。6.2数据比较指令 6.2.1数据比较指令

图6-8数据比较指令图6-8数据比较指令

比较指令的格式如表6-5所示。 比较指令的格式如表6-5所示。

表中给出了梯形图字节相等比较的符号,比较指令的其他比较关系和操作数类型说明如下。 比较运算符:=、<=、>=、>、<、<>。 表中给出了梯形图字节相等比较的符号,比较指令的其他比较关

字节比较指令用来比较两个无符号数字节IN1与IN2的大小;整数比较指令用来比较两个字IN1与IN2的大小,最高位为符号位。 字节比较指令用来比较两个无符号数字节IN1与IN2的大小

例如16#7FFF>16#8000(后者为负数);双字整数比较指令用来比较两个双字IN1与IN2的大小,双字整数比较是有符号的,16#7FFFFFFF>16#80000000(后者为负数);实数比较指令用来比较两个实数IN1与IN2的大小,实数比较是有符号的。字符串比较指令比较两个字符串的ASCII码字符是否相等。 例如16#7FFF>16#8000(后者为负数);双字整

6.2.2数据比较指令的应用

1.自复位接通延时定时器 用接通延时定时器和比较指令可组成占空比可调的脉冲发生器。 6.2.2数据比较指令的应用

用M0.1和10

ms定时器T33组成了一个脉冲发生器,使T33的当前值按图6-9所示波形变化。比较指令用来产生脉冲宽度可调的方波,Q0.1为0的时间取决于比较指令(LDW>=T33,50)中的第2个操作数的值。 用M0.1和10

ms定时器T33组成了一个脉冲发生器,

图6-9自复位接通延时定时器图6-9自复位接通延时定时器

2.3台电动机的分时起动控制 当按下起动按钮I0.1时,3台电动机每隔5

s分别依次起动;按下停止按钮I0.2时,3台电动机Q0.1、Q0.2和Q0.3同时停止。对应梯形图程序如图6-10所示。 2.3台电动机的分时起动控制

图6-103台电动机分时起动的梯形图程序图6-103台电动机分时起动的梯形图程序6.3数据移位与循环指令

移位指令分为左移位、右移位和循环左移位、右移位及移位寄存器指令。6.3数据移位与循环指令 移位指令分为左移位、右移位和循

6.3.1数据左移位和右移位指令 移位指令格式如表6-6所示。 6.3.1数据左移位和右移位指令

移位指令将IN中的数的各位向右或向左移动N位后,送给OUT。移位指令对移出的位自动补0。 移位指令将IN中的数的各位向右或向左移动N位后,送给OU

如果移位的位数N大于允许值(字节操作为8,字操作为16,双字操作为32),应对N进行取模操作。所有的循环和移位指令中的N均为字节型数据。 如果移位的位数N大于允许值(字节操作为8,字操作为16

如果移位次数大于0,“溢出”存储器位SM1.1保存最后一次被移出的位的值。如果移出结果为0,零标志位SM1.0被置1。 如果移位次数大于0,“溢出”存储器位SM1.1保存最后一

1.左移位(SHL)指令 当使能输入有效时,将输入的字节、字或双字IN左移N位后(右端补0),将结果输出到OUT所指定的存储器单元中,最后一次移出位保存在SM1.1中。 1.左移位(SHL)指令

2.右移位(SHR)指令 当使能输入有效时,将输入的字节、字或双字IN右移N位后(左端补0),将结果输出到OUT所指定的存储器单元中,最后一次移出位保存在SM1.1中。 2.右移位(SHR)指令

6.3.2循环左移位和循环右移位指令 循环移位指令将IN中的各位向左或向右循环移动N位后,送给OUT。循环移位是环形的,即被移出来的位将返回到另一端空出来的位置。指令的格式如表6-7所示。 6.3.2循环左移位和循环右移位指令

1.循环左移位(ROL)指令 当使能输入有效时,将输入的字节、字或双字IN数据循环左移N位后,将结果输出到OUT所指定的存储器单元中,并将最后一次移出位保存在SM1.1中。 1.循环左移位(ROL)指令

2.循环右移位(ROR)指令 当使能输入有效时,将输入的字节、字或双字IN数据循环右移N位后,将结果输出到OUT所指定的存储器单元中,并将最后一次移出位保存在SM1.1中。 2.循环右移位(ROR)指令

如果移动的位数N大于允许值(字节操作为8,字操作为16,双字操作为32),执行循环移位之前先对N进行取模操作。例如对于字移位,将N除以16后取余数,从而得到一个有效的移位次数。 如果移动的位数N大于允许值(字节操作为8,字操作为16,

取模操作的结果对于字节操作是0~7,对于字操作是0~15,对于双字操作是0~31。如果取模操作的结果为0,不进行循环移位操作。 取模操作的结果对于字节操作是0~7,对于字操作是0~15

3.移位指令的应用 当I0.0输入有效时,将VB10左移4位送到VB10,将VB0循环右移3位送到VB0,如图6-11所示。 3.移位指令的应用

图6-11移位与循环移位指令的应用图6-11移位与循环移位指令的应用

6.3.3移位寄存器指令 移位寄存器指令是一个移位长度可指定的移位指令。 6.3.3移位寄存器指令

1.移位寄存器指令的格式 移位寄存器指令格式及功能如表6-8所示。 1.移位寄存器指令的格式

梯形图中DATA为数据输入,指令执行时将该位的值移入移位寄存器。S-BIT为移位寄存器的最低位地址,字节型变量N指定移位寄存器的长度和移位方向,正向移位时N为正,反向移位时N为负。SHRB指令移出的位被传送到溢出位(SM1.1)。 梯形图中DATA为数据输入,指令执行时将该位的值移入移位

N为正时,在使能输入EN的上升沿时,寄存器中的各位由低位向高位移一位,DATA输入的二进制数从最低位移入,最高位被移到溢出位。N为负时,从最高位移入,最低位移出。DATA和S-BIT为BOOL变量。 N为正时,在使能输入EN的上升沿时,寄存器中的各位由低位

移位寄存器提供了一种排列和控制产品流或者数据的简单方法。 移位寄存器提供了一种排列和控制产品流或者数据的简单方法。

2.移位寄存器指令的应用 移位寄存器指令的应用如图6-12所示。 2.移位寄存器指令的应用

图6-12移位寄存器指令的应用图6-12移位寄存器指令的应用

6.3.4数据移位指令的应用 当按下起动按钮I0.1,8只彩灯从Q0.0开始每隔1

s依次向左循环点亮,直至按下停止按钮I0.2后熄灭。 6.3.4数据移位指令的应用

根据控制要求设计的梯形图如图6-13所示,8只彩灯为Q0.0~Q0.7。 根据控制要求设计的梯形图如图6-13所示,8只彩灯为Q0

图6-138只彩灯依次向左循环点亮梯形图图6-138只彩灯依次向左循环点亮梯形图

6.4数据表功能指令

表功能指令用来建立和存取字类型的数据表。6.4数据表功能指令

表功能指令用来建立和存取字类型的

数据表由3部分组成:表地址,由表的首地址指明;表定义,由表地址和第2个字地址所对应的单元分别存放的两个表参数来定义最大填表数和实际填表数;存储数据,从第3个字节地址开始存放数据,一个表最多能存储100个数据。 表功能指令如表6-9所示。 数据表由3部分组成:表地址,由表的首地址指明;表定义,由

6.4.1填表指令 填表指令(AddToTable,ATT)向表(TBL)中增加一个字的数据(DATA),表内的第1个数是表的最大长度(TL),第2个数是表内实际的项数(EC)。 6.4.1填表指令

新数据被放入表内上一次填入的数的后面。每向表内填入一个新的数据,EC自动加1。除了TL和EC外,表最多可以装入100个数据。TBL为WORD型,DATA为INT型。 新数据被放入表内上一次填入的数的后面。每向表内填入一个新

填表指令的应用举例,表的起始地址为VW200,最大填表数为5,已填入2个数据。现将VW100中的数据1

250填入表中,对应的梯形图程序如图6-14所示。

LDI0.0 EU ATTVW100,VW200 填表指令的应用举例,表的起始地址为VW200,最大填表数

图6-14填表指令的应用图6-14填表指令的应用

使ENO=0的错误条件:SM4.3(运行时间),0006(间接地址),0091(操作数超限)。该指令影响SM1.4,填入表的数据过多时,SM1.4将被置1。 使ENO=0的错误条件:SM4.3(运行时间),000

6.4.2查表指令 查表(TableFind)指令从指针INDX所指的地址开始查表TBL,搜索与数据PTN的关系满足CMD定义的条件的数据。 6.4.2查表指令

命令参数CMD=1~4,分别代表“=”、“<>”、“<”和“>”。若发现了一个符合条件的数据,则INDX指向该数据。要查找下一个符合条件的数据,再次启动查表指令之前,应先将INDX加1。如果没有找到,INDX的数值等于EC。一个表最多有100个填表数据,数据的编号为0~99。 命令参数CMD=1~4,分别代表“=”、“<>”、“<”

TBL和INDX为WORD型,PTN为INT型,CMD为字节型。 查表指令的应用如图6-15所示。 TBL和INDX为WORD型,PTN为INT型,CMD为

图6-15查表指令的应用图6-15查表指令的应用

当触点I0.1接通时,从EC地址为VW202的表中查找等于(CMD=1)16#2130的数。为了从头开始查找,AC1的初值为0。 当触点I0.1接通时,从EC地址为VW202的表中查找等

查表指令执行后,AC1=2,找到了满足条件的数据2。查表中剩余的数据之前,AC1(INDX)应加1。第2次执行后,AC1=4,找到了满

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论