第六章 S7-200PLC特殊功能指令要点
第6章S7-200 PLC的功能指令及使用

Network 10 C10 +16 Network 11 C10
QB0
MOV_B EN ENO 7 IN OUT QB0
MOV_B EN ENO OUT
MOV_B EN ENO 3 IN OUT QB0
+18
MOV_B EN ENO OUT QB0
Network 12 C10 +20
MOV_B EN ENO 1 IN OUT QB0
字(整数INT)比较指令(取)
第一种 字比较触点“取”
字比较触点“取”
字(整数INT)比较指令(与)
第二种
字比较触点“与”
字比较触点“与”
字(整数INT)比较指令(或)
第三种 字比较触点“或”
字比较触点“或”
字(整数INT)比较指令(例题2)
例题2:分析程序,画出指定元件的时序
字比较指令例题2图
第一种:实数比较触点“取”
实数比较触点“取”
第二种:实数比较触点“与”
实数比较触点“与”
第三种:实数比较触点“或”
实 数 比 较 触 点 “ 或 ”
传送指令
1. 字节、字、双字、 实数的传送 SIMATIC功能指令助记符中最后的B、W、DW(或D)和R分别表 示操作数为字节(Byte)、字(Word)、双字(Doudle Word)和实数 (Real). 传送指令将输入的数据(IN)传送到输出(OUT),传送过程不改 变源地址中数据的值。
输入 启动开关 I1.0
输出 六盏灯 Q0.0-Q0.5
Network 1 I1.0 SM0.5 CU I1.0 R C10 24 Network 2 C10 +0 1 Network 3 C10 +2 3 Network 4 C10 +4 7 IN IN IN PV
西门子S7-200PLC第6章 PLC模拟量采集及闭环控制系统

模拟执行部件之前,必须将标准化的实数值转换成一个16位的标定整
数值。
• 3. PID回路表
•
用PID运算的参数,每个PID控制回路都 有一个确定起始地址(TBL)的回路表。
PID回路表
• 4. PID回路指令
• PID运算通过PID回路指令来实现。
化处理后写入回路表首单元VD200 ; • 5)执行PID回路运算指令; • 6)对PID回路运算的输出结果单元VD208进行数据转换后送入模拟
量输出。
• 参看教材图6-9 PID回路表及定时0中断初始化子程序实例
• 本章小结: • 作业:
•
谢谢收看!!
该电流通过250 电阻将其转换为1~5V电压,作为A/D转换 器的模拟量输入信号,A/D转换器输出的数字量信号可以直接 输入给计算机进行处理。
• 2 计算机闭环控制系统
被控设备(对象)输出的物理量(即被控参数或称系统输出参 数),经传感器、变送器、 A/D转换后反馈到输入端,与期望 值(即给定值或称系统输入参数)进行比较,当二者产生偏差 时,对该偏差进行决策或PID运算处理,其处理后的信号经D/A 转换器转换为模拟量输出,控制执行器进行调节,从而使输出 参数按输入给定的条件或规律变化。由于系统是闭和的,输出 量的变化经变送器反馈到输入端与输入量进行比较,由于反馈 的输出量与输入量相位相反,所以也称闭环控制负反馈系统。
• (2) 回路输入转换及标准化数据
• 每个PID回路有两个输入量,给定值(SP)和过程变量(PV)。 在PID指令对这些物理量进行运算之前,必须对它们及其它输入量进 行标准化处理,即通过程序将它们转换成标准的浮点型表达形式。
• (3) 回路输出值转换成标定数据
•
PID回路输出的是0.0~1.0之间标准化的实数值,回路输出在驱动
第6章 S7-200 PLC功能指令 梅丽凤

当I0.1闭合时,将VD100中的 双字数据传送到双字单元VD200 中。
(3)实数传送指令MOVR 实数传送指令以32位实数双字作为数据传送单元。
练习:写出STL指令,描述网络所实现的功能。
当I0.1有效时,将常实数3.14传送到双字单元VD200中。
2 . 语句表达格式
语句表式一般也分为两个部分,第一部分为助记符,一般和功 能框中指令标题相同,也可能不同。第二部分为参加运算的数据 地址或数据,也有无数据的功能指令语句。如, MOVB IN,OUT
3.操作数 功能框及语句中用“IN”及“OUT”表示的即为操作数。 操作数又分为源操作数和目标操作数。 目标操作数是指令执行后将改变其内容的操作数。 从梯形图符号来说,功能框左边的操作数通常是源操作数, 功能框右边的操作数为目标操作数,如加指令梯形图符号中 “IN”为源操作数,“OUT”为目标操作数。
数据类型:输入输出均为字节(字或双字),N为 字节型数据。
移位指令说明:
(1)左移位指令:使能输入有效时,将输入IN的无符号数字节、 字或双字中的各位向左移N位(右端补0)后,将结果输出到OUT 所指定的存储单元中,最后一个移出位保存在“溢出”存储器位 SM1.1。 (2)右移位指令:使能输入有效时,将输入IN的无符号数字节、 字或双字中的各位向右移N位(左端补0)后,将结果输出到OUT 所指定的存储单元中,最后一个移出位保存在“溢出”存储器SM1.1。 (3)移位位数N与移位数据长度有关,如果N小于实际数据长度, 则执行N位移位,如N大于实际的数据长度,则执行移位的位数等 于实际数据长度的位数。 (4)如果移位操作使数据变为0,则零存储器位(SM1.0)自动置 位。 (5)移位次数N为字节型数据(1-255)。
S7-200 PLC功能指令

4.4 S7-200 PLC的功能指令PLC的功能指令(Functional Instruction)或称应用指令,是指令系统中满足特殊控制要求的那些指令。
在本节中主要介绍数据处理指令、数据运算指令、转换指令、表功能指令、程序控制类指令、中断指令、高速计数器指令、高速脉冲指令等。
1.指令格式指令的梯形图格式主要以指令盒的形式表示,如图4-49所示:图4-49 指令的梯形图格式指令盒的顶部为该指令的标题,如MOV_B,一般由两部分组成,前面部分为指令的助记符,后面部分为参与运算的数据类型,B表示字节,W表示字,DW表示双字、R表示实数、I表示整数、DI表示双整数。
指令的指令表格式也分为两部分,如字节传送指令的指令表格式为:MOVB IN,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。
第六章 S7-200PLC特殊功能指令

BLKMOV-DW
EN ENO IN N OUT
数据块传送指令把从输入 (IN)指定地址的N个连续 字节、字、双字的内容传送 到从输出(OUT)指定地址 开始的N个连续字节、字、 双字的存储单元中去。
VB20 VB21 VB22 VB23 VB24
数组1 30
31
32
33Βιβλιοθήκη 34VB100 VB101 VB102 VB103 VB104
LD I0.0 //T37产生周期为 AN T37 0.5s的移位脉冲 TON T37, +5
LD T37 //每来一个脉冲 RLB QB0, 1 彩灯循环左移1位
已知:I0.0接外部开关,Q0.0接指示灯,问下面的梯形图 实现什么功能?
(5)移位寄存器指令 移位寄存器指令可用来进行顺序控制、物流及数据流控制。
SM1.1 移位后 1 1010 1011 0011 0110 VW300
例题:用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左
到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮 ,到达最右端后,再从左到右依次点亮。 要求:使用循环移位指令。
LD SM0.1 //首次扫描时 MOVB 1, QB0 //置8位彩灯初态
I0.1
MOV-W
EN ENO
VVDW11000 IN OUT AC0
MSB
VW100
10
LSB
46
MSB AC0
LSB
10 46
MOVW VW100, AC0
若I0.1=1,则将VW100的数据传送到AC0
(2)数据块传送指令
BLKMOV-B
EN ENO IN N OUT
BLKMOV-W
第六章 S7-200PLC特殊功能指令

SWAP
EN IN ENO
VW50 SWAP D6C3
VW50 C3D6
第二节 数学运算指令
1、加法指令
ADD_I ADD_DI ADD_R
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
加法指令可分为整数、双整数、 实数加法指令; 执行操作:IN1+IN2=OUT。
逻辑运算指令执行表
指令 ANDB ORB XORB
操作数
地址
单元长度
运算前
运算后
IN1
IN2(OUT) IN1
VB0
AC0 VB0
1
1 1
00110011
11110000 00110011
00110011
00110000 00110011
IN2(OUT)
IN1 IN2(OUT)
AC1
VB0 AC2
1
使能输入有效时,将整数型输入
数据IN转换成字节类型,并将结果 送到 OUT 输出。输入数据超出字 节范围(0~255)则产生溢出 。
(二)双字整数与整数的转换
使能输入有效时,将双整数型输
入数据IN转换成整数类型,并将结 果送到OUT输出。被转换的输入值 应是有效的双字整数。输入数据超 出整数范围则产生溢出。
LD T37 //每来一个脉冲 RLB QB0, 1 彩灯循环左移1位
已知:I0.0接外部开关,Q0.0接指示灯,问下面的梯形图 实现什么功能?
(5)移位寄存器指令 移位寄存器指令可用来进行顺序控制、物流及数据流控制。
I0.1 正跳变 I0.2
S_BIT指定移位寄存器的 最低位,N指定寄存器的 长度;正数表示正向移动 (低字节→高字节),N 为负数表示反向移动; N 为字节型数据类型,最大 长度为64位。EN端每个 上升沿采样。
PLC S7-200指令

算术运算指令
1.加法指令—对两个有符号数进行相加 操作
ADD-I
EN ENO IN1 IN2 OUT
ADD-DI
EN ENO IN1 IN2 OUT
ADD-R
EN ENO IN1 IN2 OUT
操作数
IN1 IN2
类型 BYTE INT DINT REAL
寻址范围 VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数 VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD和常数 VD,ID,QD,MD,SD,SMD,LD,,AC,*VD,*AC,*LD和常数
I/O分配:
I0.0:停车 I0.1:启动 Q0.1:KM
FR KM
1L Q0.0 Q0.1 Q0.2 Q0.3 1M I0.0 I0.1 I0.2 I0.3
SB1 SB2
I/O分配决定PLC的端子接线图
I/O分配:
I0.0:停车 I0.1:启动 Q0.1:KM
PLC的端子接线方式又决定编 程语言
• ③ A(AND)指令:逻辑与 指令,用于动合触点的串联。
• ④ AN(AND NOT)指令: 逻辑与非指令,用于动断触点的 串联。
• ⑤ O(OR)指令:逻辑或指 令,用于动合触点的并联。
• ⑥ ON(OR NOT):逻辑或 非指令,用于动断触点的并联。
• ⑦ =(OUT)指令:用于线 圈输出。
LD I0.0
A
S7-200系列PLC的功能指令表

一般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。
利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。
这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。
功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。
S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。
功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。
但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册。
表4-20 四则运算指令
表4-21 逻辑运算指令
表4-22 数据传送指令
表4-23 移位与循环移位指令
表4-24 交换和填充指令
表4-25 表操作指令
表4-26 数据转换指令
表4-27 特殊指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MSB
LSB
I0.1
10
MSB
46
LSB
MOV-W EN ENO
VW100 VD10
IN
OUT AC0
AC0
10
46
MOVW VW100, AC0
若I0.1=1,则将VW100的数据传送到AC0
(2)数据块传送指令
BLKMOV-B BLKMOV-W BLKMOV-DW
EN
IN N
ENO OUT
EN IN N
例:移位和循环指令编程
循环前 AC1 1010 0101 0001 1001 SM1.1
SM1.1 移位前 1101 0101 1001 1011 VW300
循环后 AC1 1101 0010 1000 1100
SM1.1 1
SM1.1 移位后 1 1010 1011 0011 0110 VW300
VB104 ?
(3)字节立即传送指令
I2.1 Q1.1
I
I2.3 Q1.2
I
I
立即指令读取输入点时,立即读取物理 输入点的值,不刷新相应映像寄存器。 立即指令访问输出点时,直接输出到物 理输出点,刷新相应输出映像寄存器。
MOV-BIR EN ENO
IN
OUT
MOV-BIW EN ENO IN OUT
3.乘法指令
MUL-I MUL-DI
EN ENO IN1 IN2 OUT
MUL-R
EN ENO IN1 IN2 OUT
MUL
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
乘法指令可分为整数、双整数、实数乘法 指令和整数完全乘法指令。 完整乘法指令:把输入端(IN1、IN2)指定 的两个16bit整数相乘产生一个32bit乘积, 送到输出端(OUT)指定存储单元。 执行操作:IN1*IN2=OUT。 完全整除法指令:把输入端(IN)指定 的两个16位整数相除,产生一个32位结 果,并送到输出端(OUT)指定存储单 元中去。高16位是余数,低16位是商。 执行操作:IN1/IN2=OUT
说明:加1/减1指令用于字节、字、 双字操作。 执行操作:IN±1→OUT. 影响特殊存储器位:SM1.0(零)、 SM1.1(溢出)。
三、逻辑运算指令
WAND_B
EN IN1 IN2 ANDB IN1, OUT ENO OUT
WOR_B
EN IN1 IN2 ORB IN1, OUT ENO OUT
EN IN N
ENO OUT
RLD OUT, N RLW OUT, N RLB OUT, N 说明: (1)把输入端(IN)指定的数据循环右移/左移N位,结果 存入OUT单元; (2)移位时,SM1.1始终存放最后一次被移出的位。 (3)移位次数与移位数据的长度有关,如果移位次数设定值 大于移位数据的位数,则执行循环移位之前,系统先对设定 值取以数据长度为底的模,用小于数据长度的结果作为实际 循环移位的次数。 如字左移时,若移位次数设定为36,则先对36取以16为底 的模,得到小于16的结果4,故指令实际循环移位4次。
第六章 S7-200 PLC特殊功能指令
第一节 传送功能指令
一、传送指令 (1)数据传送指令
MOV_B MOV_W
EN IN
ENO OUT
EN IN
ENO OUT
传送指令把输入(IN)中的数 据传送到输出(OUT)端。
MOV_DW
MOV_R
EN IN
ENO OUT
EN IN
ENO OUT
例:
VW100
SHL_W
EN IN N SLW OUT, N ENO OUT
SHL_DW
EN IN N SLD OUT, N ENO OUT
说明: (1)把输入端(IN)指定的数据右移/左移N位,结果存入 OUT单元; (2)移位时,移出位进入SM1.1,另一端自动补0。SM1.1 始终存放最后一次被移出的位; (3)移位次数最大分别为8、16、32。 (4)如果移位结果是0,零存储器位(SM1.0)置位。
SIN
EN IN ENO OUT
EN IN
COS
ENO OUT
TAN
EN IN
ENO OUT
SIN IN OUT
COS IN OUT
TAN IN OUT
程序实例:(求65°的正切值)
二、加1和减1操作指令
INC_B
EN IN ENO OUT
IN
DEC_B
EN ENO OUT
INCB OUT
DECB OUT
1 1
00001111
00110011 10011001
00111111
00110011 10101010
INVB
IN(OUT)
VB1
1
11001100
00110011
逻辑运算指令举例
第三节 转换功能指令
(一)字节与整数的转换
使能输入有效时,将字节型输入数
据 IN 转换成整数类型,并将结果送 到 OUT 输出。字节型是无符号的, 所以没有符号扩展。
执行操作:LN(IN)=OUT。
IN
LN IN OUT
3、指数指令:EXP
把一个双字长(32位)的实数IN取以e为底的
EXP
EN IN ENO OUT
指数,得到32位的实数结果OUT。 4、正弦、余弦、正切指令
EXP IN OUT
即正弦、余弦、正切指令。将把一个双字长( 32 位)的实数
弧度值 IN 分别取正弦、余弦、正切,各得到 32 位的实数结果 OUT。
移位前 VB10 移位一次后 7 VB10 溢出位 移位二次后 7 VB10
S_BIT 1 0 1 0 溢出位 0 1 0 0 0 1 1 0 1
I0.2 0 1 0 I0.2
SM1.1←←
三、字节交换指令 交换字节指令,把输入端(IN)指定字 的高字节内容与低字节内容相交换,交 换结果仍存在输入端(IN)指定的地址 中。无符号整数型(WORD)。
使能输入有效时,将整数型输入数
据 IN 转换成双整数类型(符号进行 扩展),并将结果送到OUT输出。
(三)双字整数与实数的转换 双字整数转为实数(DTR)指令:将 输入端(IN)指定的32位有符号整数 转换成32位实数。 ROUND取整指令,转换时实数的小 数部分四舍五入。 TRUNC取整指令,实数舍去小数部 分后,转换成32位有符号整数。取整 指令被转换的输入值应是有效的实数, 如果实数值太大,使输出无法表示, 那么溢出位(SM1.1)被置位。
逻辑运算指令执行表
指令 ANDB ORB XORB
操作数
地址
单元长度
运算前
运算后
IN1
IN2(OUT) IN1
VB0
AC0 VB0
1
1 1
00110011
11110000 00110011
00110011
00110000 00110011
IN2(OUT)
IN1 IN2(OUT)
AC1
VB0 AC2
1ห้องสมุดไป่ตู้
ENO
OUT
EN IN N
ENO
OUT
数据块传送指令把从输入 (IN)指定地址的N个连续 字节、字、双字的内容传送 到从输出(OUT)指定地址 开始的N个连续字节、字、 双字的存储单元中去。
VB20 VB21 31 VB22 32 VB23 33 VB24 34
数组1
30
VB100 数组2 30
VB101 VB102 VB103 31 32 33
4.除法指令
DIV-I DIV-DI
EN ENO IN1 IN2 OUT
DIV-R
EN ENO IN1 IN2 OUT
DIV
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
影响特殊存储器位:SM1.0(零)、SM1.1(溢出)、 SM1.2(负)、SM1.3(除数为0)。
完全乘法与完全除法指令
WXOR_B
EN IN1 IN2 XORB IN1, OUT ENO OUT
INV_B
EN IN ENO OUT
INVB OUT
说明:(1)逻辑运算指令的操作数均为无符号操作数。 (2)按操作数长度可分为字节、字和双字逻辑运算,IN1、 IN2、OUT操作数的数据类型为:B、W、DW。 (3)逻辑运算指令影响特殊标志位存储器位:SM1.0(零)。
2、减法指令
SUB-I SUB-DI SUB-R
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
减法指令可分为整数、双整数、 实数减法指令;
执行操作:IN1-IN2=OUT
加法/减法指令影响的特殊存储器位:SM1.0(零);
SM1.1(溢出);SM1.2(负)。
例:将英寸转换为厘米。 1英寸=2.54厘米 步骤:将C10中的整数值英 寸→双整数英寸→实数英寸 →实数厘米→整数厘米
(四)BCD码与整数的转换
(1)BCD码转为整数(BCDI)指令, BCD_I I_BCD 将输入端(IN)指定的BCD码转换成 EN ENO EN ENO 整数,并将结果存放到输出端(OUT) OUT OUT IN IN 指定的存储单元中去。输入数据的范 围是0~9999(BCD码)。 (2)整数转为BCD码(IBCD)指令,将输入端(IN)指定的 整数转换成BCD码,并将结果存放到输出端(OUT)指定的存 储单元中去。输入数据的范围是0~9999。 (3)指令影响的特殊存储器位:SM1.6(非法BCD)
1、平方根指令:SQRT