S7200 PLC功能指令.docx

上传人:b****4 文档编号:5403910 上传时间:2022-12-16 格式:DOCX 页数:53 大小:261.08KB
下载 相关 举报
S7200 PLC功能指令.docx_第1页
第1页 / 共53页
S7200 PLC功能指令.docx_第2页
第2页 / 共53页
S7200 PLC功能指令.docx_第3页
第3页 / 共53页
S7200 PLC功能指令.docx_第4页
第4页 / 共53页
S7200 PLC功能指令.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

S7200 PLC功能指令.docx

《S7200 PLC功能指令.docx》由会员分享,可在线阅读,更多相关《S7200 PLC功能指令.docx(53页珍藏版)》请在冰豆网上搜索。

S7200 PLC功能指令.docx

S7200PLC功能指令

4.4S7-200PLC的功能指令

PLC的功能指令(FunctionalInstruction)或称应用指令,是指令系统中满足特殊控制要求的那些指令。

在本节中主要介绍数据处理指令、数据运算指令、转换指令、表功能指令、程序控制类指令、中断指令、高速计数器指令、高速脉冲指令等。

1.指令格式

指令的梯形图格式主要以指令盒的形式表示,如图4-49所示:

图4-49指令的梯形图格式

指令盒的顶部为该指令的标题,如MOV_B,一般由两部分组成,前面部分为指令的助记符,后面部分为参与运算的数据类型,B表示字节,W表示字,DW表示双字、R表示实数、I表示整数、DI表示双整数。

指令的指令表格式也分为两部分,如字节传送指令的指令表格式为:

MOVBIN,OUT。

前面部分为指令的助记符,后面部分为指令的操作数,其中“IN”为源操作数,“OUT”为目的操作数。

为了节省篇幅,对每条功能指令的操作数的内容即数据类型做如下约定:

字节型:

VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*LD、*AC和常数。

字型及INT型:

VW、IW、QW、MW、SW、SMW、LW、AC、T、C、*VD、*LD、*AC和常数。

双字型及DINT型:

VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC和常数。

2.指令的执行条作和运行情况

指令梯形图格式中的“EN”端是允许输入端,为指令的执行条件,只要有“能流流入EN端,指令就执行。

要注意的是:

只要条件存在,该指令会在每个扫描周期执行一次,如果希望只执行一次,要在“EN”前加一条跳变指令。

在语句表(STL)程序中没有EN允许输入端,允许执行STL语句的条件是栈顶的值必须是“1”。

4.ENO状态(用于指令的级联)

指令盒的右边设有“ENO”使能输出,若EN端有“能流”且指令被准确无误地执行了,则ENO端会有“能流”输出,传到下一个程序单元,如果指令运行出错,ENO端状态为0。

在语句表程序中用AENO(ANDENO)指令访问,可以产生与指令盒的允许输出端(ENO)相同的效果。

4.4.1数据处理指令

该类指令涉及对数据的非数值运算,包括数据的传送指令、交换指令等。

一、传送指令

(一)单个数据传送指令

1.含义:

是指把输入端(IN)指定的数据传送到输出端(OUT),且每次只传送1个数据,传送过程中数据值保持不变。

2.类型:

按操作数的数据类型可分为字节传送(MOVB)、字传送(MOVW)、双字传送(MOVD)、实数传送(MOVR)指令,指令的梯形图和指令表格式如图4-50所示

图4-50单个数据传送指令的梯形图和指令表格式

3.指令功能。

MOVB:

当允许输入EN有效时,把IN所指的单字节原值传送到OUT所指字节存储单元。

MOVW:

当允许输入EN有效时,把IN所指的单字原值传送到OUT所指字存储单元。

MOVD:

当允许输入EN有效时,把IN所指的单双字原值传送到0UT所指双字存储单元。

MOVR:

当允许输入EN有效时,把IN所指的单32位实数原值传送到0UT所指双字长的存储单元。

(二)数据块传送指令

1.含义:

数据块传送指令把从输入端(IN)指定的N个(最多255个)数据成组传送到从输出端(OUT)指定地址开始的N个连续存储单元中,传送过程中各存储单元的内容不变。

2.类型:

按操作数的数据类型可分为字节块传送(BMB)、字块传送(BMW)、双字块传送(BMD)指令等3种。

指令的梯形图和指令表格式如图4.51所示

图4-51数据块传送指令的梯形图和指令表格式

3.指令功能。

BMB:

当允许输入EN有效时,把从输入IN开始的N个字节型数据传送到从输出OUT开始的N个字节型存储单元。

BMW:

当允许输入EN有效时,把从输入IN开始的N个字型数据传送到从输出OUT开始的N个字型存储单元。

BMD:

当允许输入EN有效时,把从输入IN开始的N个双字型数据传送到从输出OUT开始的N个双字型存储单元。

二、交换字节指令(SWAP)

用来把输入字型数据(IN)的高字节内容与低字节内容互相交换,交换结果仍存放在输入端(IN)指定的地址中。

指令的梯形图和指令表格式如图4-52所示。

图4-52交换字节指令的梯形图和指令表格式

操作数数据类型为无符号整数型(WORD)。

三、传送字节立即读、写指令

传送字节立即读(BIR)指令,当允许输入EN有效时,立即读取输入端(IN)指定字节地址的物理输入点(IB)的值,并传送到输出端(OUT)指定字节地址的存储单元中。

传送字节立即写(BIW)指令,当允许输入EN有效时,立即将由输入端(IN)指定的字节数据写入到输出端(OUT)指定字节地址的物理输出点(QB)。

传送字节立即读、写指令如图4.所示。

其操作数数据类型为字节型(BYTE)。

4.4.2数据运算指令

随着计算机技术的发展,新型PLC具备了越来越强的的数据运算功能,来满足复杂控制对控制器计算能力的要求。

数据运算指令包括算术运算指令和逻辑运算指令两大类。

一、算术运算指令

算术运算指令包括加、减、乘、除运算及常用函数拽令。

其数据类型为整型INT、双整型DINT和实数REAL。

1、加法运算指令

当允许输入端EN有效时,加法运算指令执行加法操作,把两个输入端(IN1、IN2)指定的数据相加,将运算结果送到输出端(OUT)指定的存储器单元中。

加法运算指令是对有符号数进行加法运算,可分为整数(ADD_I)、双整数(ADD_DI)、实数(ADD_R)加法运算指令,指令的梯形图和指令表格式如图4.53所示。

其操作数数据类型依次为有符号整数(INT)、有符号双整数(DINT)、实数(REAL)。

图4-53加法运算指令的梯形图和指令表格式

执行加法运算时,使用梯形图编程和指令表编程时对存储单元的要求是不相同的。

使用梯形图编程时,执行IN1+IN2=OUT,因此IN2和OUT指定的存储单元可以相同也可以不相同;使用指令表编程时,执行IN1+OUT=OUT,因此IN2和OUT要使用相同的存储单元。

2、减法运算指令

当允许输入端EN有效时,减法运算指令执行减法操作,把两个输入端(IN1、IN2)指定的数据相减,将运算结果送到输出端(OUT)指定的存储器单元中。

减法运算指令是对有符号数进行减法运算,可分为整数(ADD_I)、双整数(ADD_DI)、实数(ADD_R)减法运算指令,指令的梯形图和指令表格式如图4.54所示。

其操作数数据类型依次为有符号整数(INT)、有符号双整数(DINT)、实数(REAL)。

图4-54减法运算指令的梯形图和指令表格式

执行减法运算时,使用梯形图编程和指令表编程时对存储单元的要求是不相同的。

使用梯形图编程时,执行IN1-IN2=OUT,因此IN1和OUT指定的存储单元可以相同也可以不相同;使用指令表编程时,执行OUT-IN2=OUT,因此IN1和OUT要使用相同的存储单元。

3、乘法运算指令

当允许输入端EN有效时,乘法运算指令,把两个输入端(IN1,IN2)指定的数相乘,将运算结果送到输出端(OUT)指定的存储单元中。

乘法运算指令是对有符号数进行乘法运算,可分为整数、双整数、实数乘法指令和整数完全乘法指令,指令的梯形图和指令表格式如图4.55所示。

图4-55乘法运算指令的梯形图和指令表格式

整数乘法运算指令是将两个单字长符号整数相乘,产生一个16位整数;双整数乘法运算指令是将两个双字长符号整数相乘,产生一个32位整数;实数乘法运算指令是将两个双字长实数相乘,产生一个32位实数;整数完全乘法运算指令是将两个单字长符号整数相乘,产生一个32位整数;

执行乘法运算时,使用梯形图编程和指令表编程时对存储单元的要求是不相同的。

使用梯形图编程时,执行IN1*IN2=OUT,因此IN2和OUT指定的存储单元可以相同也可以不相同;使用指令表编程时,执行IN1*OUT=OUT,因此IN2和OUT要使用相同的存储单元(整数完全乘法运算指令的IN2与OUT的低16位使用相同的地址单元)。

对标志位的影响

加法、减法、乘法指令影响的特殊存储器位:

SM1.0(零)、SM1.1(溢出)、SM1.2(负)。

4、除法运算指令

当允许输入端EN有效时,除法运算指令,把两个输入端(IN1,IN2)指定的数相除,将运算结果送到输出端(OUT)指定的存储单元中。

除法运算指令是对有符号数进行除法运算,可分为整数、双整数、实数除法指令和整数完全除法指令,指令的梯形图和指令表格式如图4.56所示。

图4-56除法运算指令的梯形图和指令表格式

整数除法运算指令是将两个单字长符号整数相除,产生一个16位商,不保留余数;双整数除法运算指令是将两个双字长符号整数相除,产生一个32位商,不保留余数;实数除法运算指令是将两个双字长实数相除,产生一个32位32位商,不保留余数;整数完全除法运算指令是将两个单字长符号整数相除,产生一个32位的结果;其中高16位是余数,低16位是商。

执行除法运算时,使用梯形图编程和指令表编程对存储单元的要求是不相同的。

使用梯形图编程时,执行IN1/IN2=OUT,因此IN1和OUT指定的存储单元可以相同也可以不相同;使用指令表编程时,执行OUT/IN2=OUT,因此IN1和OUT要使用相同的存储单元(整数完全除法指令运算指令的IN1与OUT的低16位使用相同的地址单元)。

除法运算指令对特殊存储器位的影响:

SM1.0(零)、SM1.1(溢出)、SM1.2(负)、SM1.3(除数为0)。

算术运算指令编程举例如图4-57所示。

4-57算术运算指令编程举例

图4-40中,实数除法指令中IN1(VD400)与OUT(VD500)不是同一地址单元。

在指令表编程时,首先要使用MOV_R指令将IN1(VD400)传送到OUT(VD500),然后再执行除法操作。

事实上,加法、减法、乘法等指令如果遇到上述情况,也要作类似的处理。

5、加1和减1指令

加1和减1指令用于自增、自减操作,当允许输入端EN有效时,把输入端(IN)指定的数相加1或减1,将运算结果送到输出端(OUT)指定的存储单元中。

加1和减1指令操作数长度可以是字节(无符号数)、字或双字(有符号数),所以指令可以分为字节、字、双字加1或减1指令,指令的梯形图和指令表格式如图4.58所示。

图4-58加1和减1指令的梯形图和指令表格式

执行加1(减1)指令时,使用梯形图编程和指令表编程时对存储单元的要求是不相同的。

使用梯形图编程时,执行IN+1=OUT(IN-1=OUT),因此IN和OUT指定的存储单元可以相同也可以不相同;使用指令表编程时,执行out+1=OUT(out-1=OUT),因此IN和OUT要使用相同的存储单元。

字节加1和减1指令影响的特殊存储器位:

SM1.0(零)、SM1.1(溢出),字、双字加1和减1指令影响的特殊存储器位:

SM1.0(零)、SM1.1(溢出)、SM1.2(负)。

6、数学功能指令

数学功能指令包括平方根、自然对数、自然指数、三角函数等常用的函数指令,除平方根函数指令外,其它数学函数需要在CPU2241.0以上版本支持。

数学功能指令的操作数均为实数(REAL)。

指令的梯形图和指令表格式如图4.59所示。

平方根自然对数自然指数正弦余弦正切

图4-59数学功能指令的梯形图和指令表格式

(1)、平方根(SquareRoot)指令

平方根指令(SQRT),把输入端(IN)的32位实数开方,得到32位实数结果,并把结果存放到OUT指定的存储单元中。

(2)、自然对数(NatuaralLogarthm)指令

自然对数指令(LN),把输入端(IN)的32位实数取自然对数,得到32位实数结果,并把结果存放到OUT指定的存储单元中。

(3)、自然指数(NaturalExponential)指令

自然指数指令(EXP),把输入端(IN)的32位实数取以e为底的指数,得到32位实数结果,并把结果存放到OUT指定的存储单元中。

(4)、正弦、余弦、正切指令

正弦、余弦、正切指令,对输入端(IN)指定的32位实数的弧度值取正弦、余弦、正切,得到32位实数结果,并把结果存放到OUT指定的存储单元中。

数学功能指令影响的特殊存储器位:

SM1.0(零)、SM1.1(溢出)、SM1.2(负)。

二、逻辑运算指令

逻辑运算是对无符号数进行逻辑处理,按运算性质的不同,包括逻辑与指令、逻辑或指令、逻辑非指令、逻辑异或指令。

其操作数均可以是字节、字和双字,且均为无符号数。

1、逻辑“与”指令

逻辑“与”指令是指当允许输入端EN有效时,对两个输入端(IN1,IN2)的数据按位“与”,产生一个逻辑运算结果,并把结果存入OUT指定的存储器单元中。

逻辑“与”指令按操作数的数据类型可分为字节(B)“与”、字(W)“与”、双字(DW)“与”指令,指令的梯形图和指令表格式如图4.60所示

字节(B)“与”字(W)“与双字(DW)“与”

图4-60逻辑“与”指令的梯形图和指令表格式

2、逻辑“或”指令

逻辑“或”指令是指当允许输入端EN有效时,对两个输入端(IN1,IN2)的数据按位“或”,产生一个逻辑运算结果,并把结果存入OUT指定的存储器单元中。

逻辑“或”指令按操作数的数据类型可分为字节(B)“或”、字(W)“或”、双字(DW)“或”指令,指令的梯形图和指令表格式如图4.61所示

字节(B)“或”字(W)“或”双字(DW)“或”

图4-61逻辑“或”指令的梯形图和指令表格式

3、逻辑“异或”指令

逻辑“异或”指令是指当允许输入端EN有效时,对两个输入端(IN1,IN2)的数据按位“异或”,产生一个逻辑运算结果,并把结果存入OUT指定的存储器单元中。

逻辑“异或”指令按操作数的数据类型可分为字节(B)“异或”、字(W)“异或”、双字(DW)“异或”指令,指令的梯形图和指令表格式如图4.72所示

字节(B)“异或”字(W)“异或”双字(DW)“异或”

图4-72逻辑“异或”指令的梯形图和指令表格式

4、逻辑“取反”指令

逻辑“取反”指令是指当允许输入端EN有效时,对输入端(IN)的数据按位“取反”,产生一个逻辑运算结果,并把结果存入OUT指定的存储器单元中。

逻辑“取反”指令按操作数的数据类型可分为字节(B)“取反”、字(W)“取反”、双字(DW)“取反”指令,指令的梯形图和指令表格式如图4.73所示

字节(B)“取反”字(W)“取反”双字(DW)“取反”

图4-73逻辑“异或”指令的梯形图和指令表格式

逻辑运算指令影响的特殊存储器位:

SM1.0(零)。

逻辑运算指令编程举例如图4-74所示。

图4-74逻辑运算指令编程举例

4.4.3移位指令

移位指令包括左移位、右移位、循环左移位、循环右移位和移位寄存器指令。

移位和循环移位指令均为无符号数操作。

一、左移位指令SHL(ShiftLelt)

左移位指令,当EN端口执行条件存在时,把输入端(IN)指定的数据左移N位,并把结果存入OUT指定的存储器单元中。

左移位指令,按操作数的数据长度可分为字节、字、双字左移位指令,指令的梯形图和指令表格式如图4.75所示。

字节左移字左移双字左移

图4-75左移位指令的梯形图和指令表格式

二、右移位指令(SRB、SRW、SRD指令)

右移位指令,当EN端口执行条件存在时,把输入端(IN)指定的数据右移N位,并把结果存入OUT指定的存储器单元中。

右移位指令,按操作数的数据长度可分为字节、字、双字右移位指令,指令的梯形图和指令表格式如图4.76所示。

字节右移字右移双字右移

图4-76右移位指令的梯形图和指令表格式

对左移位指令和右移位指令的说明:

(1)操作数为无符号数。

(2)数据存储单元的移出端与SM1.1(溢出)端相连,移出位存入SM1.1存储单元,SM1.1存储单元中为最后一次移出的位值,数据存储单元的另一端自动补0。

(3)移位次数N和移位数据长度有关,如果N小于实际的数据长度,则执行N次移位;如果N大于实示的数据长度,字节、字、双字移位指令的实际最大可移位数分别为8、16、32。

三、循环右移指令

循环右移指令,当EN端口执行条件存在时,把输入端(IN)指定的数据循环右移N位,并把结果存入OUT指定的存储器单元中。

循环右移指令,按操作数的数据长度可分为字节、字、双字循环右移指令,指令的梯形图和指令表格式如图4.78所示。

字节循环右移字循环右移双字循环右移

图4-78循环右移指令的梯形图和指令表格式

四、循环左移指令

循环左移指令,当EN端口执行条件存在时,把输入端(IN)指定的数据循环左移N位,并把结果存入OUT指定的存储器单元中。

循环左移指令,按操作数的数据长度可分为字节、字、双字循环左移指令,指令的梯形图和指令表格式如图4.79所示。

字节循环左移字循环左移双字循环左移

图4-79循环左移指令的梯形图和指令表格式

对循环右移指令和循环左移指令的说明:

(1)操作数为无符号数。

(2)数据存储单元的移出端与另一端相连,因此最后移出的位被移到了另一端;同时又与SM1.1(溢出)端相连,因此移出位也存入到了SM1.1存储单元中,SM1.1存储单元中始终为最后一次移出的位值。

(3)移位次数N和移位数据长度有关,如果N小于实际的数据长度,则执行N次移位;如果N大于实示的数据长度,字节、字、双字移位指令的实际移位次数分别为N除以8、16、32的余数。

左、右移位指令和循环左、右移位指令对标志位的影响:

SM1.0(零)、SM1.1(溢出)。

移位后溢出位(SM1.1)的值等于最后一次移出的位值;如果移位的结果是0,则零存储器位(SM1.0)置位。

左移位指令和循环右移位指令指令应用如图4-80所示

图4-80左移位指令和循环右移位指令指令应用

五、移位寄存器指令(SHRB指令)(P80)

移位寄存器指令是一条可指定移位长度的移位指令,可用来进行顺序控制、步进控制、物流及数据流控制。

其梯形图及语句表格式如图4.81所示:

图4-81移位寄存器指令的梯形图和指令表格式

SHRB指令是指当使能输入有效时,把输入端(DATA)的数值移入移位寄存器,并进行移位。

该移位寄存器是由S_BIT和N决定的,其中,S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度。

移位方向分为正向移位和反向移位,正向移位时N为正数,即输入数据从移位寄存器的最低有效位移入,从最高有效位移出;反向移位时N为负数,即输入数据从移位寄存器的最高有效位移入,从最低有效位移出。

移位寄存器存储单元的移出端与SM1.1(溢出)位相连,最后被移出的位存放在SM1.1位存储单元中,

移位寄存器最高有效位(MSB.b)的计算方法:

由移位寄存器的最低有效位(S_BIT)和移位寄存器的长度(N)来计算移位寄存器的最高有效位(MSB.b)的地址。

计算公式为:

MSB.b=[S_BIT的字节号+(N的绝对值-l+S_BIT的位号)÷8].[被8除所得余数】

例如,如果S_BIT是V33.4,N是14,则MSB.b是V35.1。

具体计算如下:

MSB.b=V33+(14-l+4)÷8=V33+17÷8=V33+2(余数为1)=V33.1

每次使能输入有效时,在每个扫描周期内,移位寄存器移动一位,因此应该用跳变指令

来控制使能端的状态。

数据类型,DATA和S_BIT为BOOL型,N为字节型。

4.4.4数据转换指令

数据转换指令的功能是指对操作数的类型进行转换,方便在不同类型数据之间进行处理或者运算。

包括数据类型转换指令、数据的编码和译码指令以及字符串类型转换指令。

一、数据类型转换指令

在进行数据处理时,不同性质的操作指令对数据类型的要求是不同的,所以在使用时需要进行数据类型转换。

数据类型转换包括BCD码与整数的转换、双字整数与实数的转换、双字六进制数的转换指令(ATH指令、HTA指令)、整数、双字整数、实数转为ASCII码指令

(一)BCD码与整数的转换

1.BCDI指令(BCD码转为整数)

BCDI指令是指当EN端口执行条件存在时,把输入端(IN)指定的BCD码转换成整数,并把结果存入输出端(OUT)指定的存储器单元中。

输入数据的范围是0~9999。

在STL中,IN和OUT使用相同的存储单元,指令的梯形图和指令表格式如图4.所示。

2.IBCD指令(整数转为BCD码)

IBCD指令是指当EN端口执行条件存在时,把输入端(IN)指定的整数转换成BCD码,并把结果存入输出端(OUT)指定的存储器单元中。

输入数据的范围是0~9999。

在STL中,IN和OUT使用相同的存储单元,指令的梯形图和指令表格式如图4.82所示。

图4-82BCD码与整数转换指令的梯形图和指令表格式

BCDI指令和IBCD指令的数据类型为无符号整数,指令影响的特殊存储器位:

SMl.6(非法BCD码)。

(二)双字整数与实数的转换

双字整数与实数转换指令的梯形图和指令表格式如图4.83所示

图4-83双字整数与实数转换指令的梯形图和指令表格式

把输入端(IN)指定的BCD码转换成整数,并把结果存入输出端(OUT)指定的存储器单元中。

1.DTR指令(双字整数转换为实数)

当EN端口执行条件存在时,把输入端(IN)指定的有符号双字整数转换成实数,并把结果存入到输出端(OUT)指定的双字存储单元中。

影响的特殊存储器位:

SMl.1(溢出)

2.ROUND取整指令(实数转换为双字整数)

当EN端口执行条件存在时,将输入端(IN)指定的实数转换成有符号双字整数,结果输出到OUT指定的双字存储单元中。

转换时实数的小数部分四舍五入。

影响的特殊存储器位:

SMl.1(溢出)

3.TRUNC取整指令(实数转换为双字整数)

当EN端口执行条件存在时,将输入端(IN)指定的实数转换成有符号双字整数,结果输出到OUT指定的双字存储单元中。

转换时实数的小数部分舍去。

影响的特殊存储器位:

SMl.1(溢出)

(三)双字整数与整数的转换

双字整数与整数转换指令的梯形图和指令表格式如图4.84所示

图4-84双字整数与整数转换指令图4-85字节与整数的转换

1.DTI指令(双字整数转为整数)

当EN端口执行条件存在时,把输入端(IN)指定的有符号双字整数转换成整数,并把结果存入到输出端(OUT)指定的字存储单元中。

影响的特殊存储器位:

SMl.1(溢出)

2.ITD指令(整数转为双字整数)

当EN端口执行条件存在时,将输入端(IN)指定的整数转换成有双字整数,结果输出到OUT指定的双字存储单元中。

影响的特殊存储器位:

SMl.1(溢出)

(四)字节与整数的转换

字节与整数转换指令的梯形图和指令表格式如图4.85所示

1.BTI指令(字节转换为整数)

当EN端口执行条件存在时,把输入端(IN)指定的字节型数据转换成整数,并把结果存入到输出端(OUT)指定的字存储单元中。

2.IBT指令(整数转换为字节)

当EN端口执行条件存在时,将输入端(IN)指定的无符号整数转换成字节型数据,结果输出到OUT指定的字节存储单元中。

影响的特殊存储器位:

SMl.1(溢出)

转换指令应用举例如图4-86所示

图4-86转换指令应用举例

(五)译码、编码指令

译码、编码指令指令的梯形图和指令表格式如图4.87所示

图4-87译码、编码指令图4-88段码(SEG)指令

1.译码(DECO)指令

当EN端口执行条件存在时,将输入字节(IN)的低

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1