西门子S7-200PLC指令系统手册及应用
西门子S7-200 SMART系统手册说明书

SIMATICS7S7-200 SMART 系统手册Siemens AGDivision Digital Factory Postfach 48 4890026 NÜRNBERG A5E03822234-AFⓅ 02/2019 本公司保留更改的权利Copyright © Siemens AG 2019. 保留所有权利法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。
人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。
警告提示根据危险等级由高到低如下表示。
危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。
警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。
小心表示如果不采取相应的小心措施,可能导致轻微的人身伤害。
注意表示如果不采取相应的小心措施,可能导致财产损失。
当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。
如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。
合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。
其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。
由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。
按规定使用 Siemens 产品请注意下列说明:警告 Siemens产品只允许用于目录和相关技术文件中规定的使用情况。
如果要使用其他公司的产品和组件,必须得到 Siemens推荐和允许。
正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。
必须保证允许的环境条件。
必须注意相关文件中的提示。
商标所有带有标记符号 ® 的都是 Siemens AG的注册商标。
本印刷品中的其他符号可能是一些其他商标。
若第三方出于自身目的使用这些商标,将侵害其所有者的权利。
S7-200 PLC功能指令及应用

4
ቤተ መጻሕፍቲ ባይዱ
转换指令
转换指令是指对操作数的类型进行转换,包括数据的类型转换、码的 类型转换以及数据与码直接的类型转换。
1. 数据类型转换指令
2. 编码与译码指令 3. 段码指令 4. ASCII码转换指令 5. 字符串转换指令
1
数据类型转换指令
可编程序控制器中的主要数据类型包括字节、整数、双整数和实数。 主要的码制BCD码、ASCII码、十进制数和十六进制数等等。 不同性质的指令对操作数的类型要求不同。 在指令使用之前需要将操作数转化成相应的类型,这样才能保证指令的正确执行。 (1)字节与整数 字节到整数 指令格式:LAD及STL指令格式如图6-18a所示 功能描述:将字节型输入数据IN转换成整数类型,并将结果送到OUT输出。 字节型是无符号的,所以没有符号扩展位。 数据类型:输入为字节,输出为INT。 整数到字节 指令格式:LAD及STL指令格式如图6-18b所示 功能描述:将整数输入数据IN转换成字节类型,并将结果送到OUT输出。 输入数据超出字节范围(0~255)时产生溢出。 数据类型:输入为INT,输出为字节。
VM104
VM106 VM108 VM110 VM112
1203
4467 9086 3592 222
数据0
数据1 数据2 数据3 将VM200中的数据填入表中
VM114
****
无效数据
2
表取数指令
从表中取出一个字型数据可有两种方式:先进先出式和后进先出式。 一个数据从表中取出之后,表的实际填表数EC值减小1.两种方式的指令在梯形图中有 2个数据端。 (1):先进先出式 FIFO 指令格式:LAD及STL指令格式如图6-17b所示
值为当前的英寸计数值,1英寸=2.54厘米.(VD4)=2.54。
西门子s7200-PLC-基本指令

梯形图
操作数
无 无
NOT
NOP N
改变能流输入的状态
空操作
无
N=0~255
正负跳变指令、取反指令、空操作指令的几点规定
1. 正跳变指令(EU)检测到每一次正跳变(触点的输入信号 由0到1),或负跳变指令(ED)检测到每一次负跳变(触点的 输入信号由1到0),让能流接通一个扫描周期。对于正跳变指令 ,一旦发现有正跳变发生(由0到1),该栈顶值被置为1,否则 置0。对于负跳变指令,一旦发现有负跳变发生(由1到0),该 栈顶值被置为1,否则置0。 2. 取反指令(NOT)将它左边电路的逻辑运算结果取反,运算 结果为1,则变为0,为0则变为1。 3. 空操作指令(NOP)不影响程序的执行。
新值同时写到物理输出点和对 应的输出映像寄存器中 bit: Q N的取值范围为 :1~128
RI bit,N
=I bit
说明: “I”表示立即,当指令执行时,新值会同时被写到物理输出点和对 应的输出过程映象寄存器。这一点不同于非立即指令,只把新值写入 过程映像寄存器。
② 立即触点指令 语句表 LDI bit AI bit 功能 常开立即触点与左侧母线相连接 常开立即触点与其他程序段相串联 梯形图 操作数
特殊存储区的简单应用
案例1.
当报警信号I0.0接通时,报警指示灯Q0.1闪烁
例3扩展
特殊存储区,具有闪烁功 能
案例2.
在自动控制系统中,按下启动按钮I0.1,启动指示灯Q0.0输出,为了防止操 作员误动作,因此停止时需两个按钮I0.3及I0.2都按下,系统才能停止,启动 灯灭。
案例3.
水位低报警信号I0.1,故障指示灯Q0.1在有检测到故障时保持闪烁 直到按下复位按钮I0.2,指示灯灭。
西门子S LC指令系统手册

SIMATIC 指令集:西门子公司为S7-200 PLC 设计的编程语言,不支持系统完全数据类 型检查,可以用梯形图(LAD)、功能块图 (FBD)和语句表(STL)编程语言,且指令 执行时间较短。 (一)梯形图(LAD)编程语言
LAD 是与电气控制电路图相呼应的一种图 形语言,其信号流向清楚、简单、直观、易 懂,很适合电气工程人员使用;常作为第一用 户语言。
VB(0-5119)
储器 作中的中间结果或 (2)V[数据长度][起始字 VW(0-5118)
(V)
其他数据,即全局 节地址]
有效
例:VB20 VW100 VD2
VD(0-5116)
(1)L[字节地址].[位地
局部存 存放局部变量,是 址] 例: L0.0
储器 局部有效的,即只 (2) L[数据长度][起始
(1) I[字节地址].[位地 I(0.0-15.7)
输入映 存放输入点的状
址] 例:I0.1
IB(0-15)
像寄存 态,每一个输入端 (2) I[数据长度][起始字 IW(0-14)
器(I) 子与I的相应位相
节地址]
对应
例:IB4 IW6 ID10
ID(0-12)
存放CPU执行程序 (1)Q[字节地址].[位地址] Q(0.0-15.7)
系统区:存放有关PLC配置结构的参数, 存储器为:EEPROM;
数据区:是S7-200 CPU 提供的存储器的特定区 域,将数据存储区作了进一步的分区,并为每个存储 区域赋予了不同的功能,形成专用的存储单元。 包括:I、Q、V、M、S、SM、L、T、C、AI、AQ、 AC、HC;存储器为:EEPROM和RAM。 (一)数据区存储器的地址表示格式 1. 位地址格式 由存储器区域标识符、字节地址及位号构成 例如:V5.4
第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
6.S7-200 PLC的功能指令及使用

②字加1指令 梯形图:
语句表:INCW OUT 功能:当EN=1时,将单字长的有符号输入数IN加1, 结果为单字长有符号整数存入OUT 。
③双字加1指令 梯形图:
语句表:INCD OUT 功能:当EN=1时,将双字长的有符号输入数IN加1, 结果为双字长有符号整数存入OUT 。
(6)减1指令
①字节减1指令 梯形图:
SUB_I EN ENO SUB_DI EN ENO
VW300 VW400
IN1 OUT IN2 -I IN2, OUT
VW300
VD300 VD400
IN1 OUT IN2 -D IN2, OUT
V
减法指令可分为整数、双整数、实数减法,对应的
操作数分别是有符号整数、有符号双整数、实数。
① 整数减法指令
②字节传送立即写指令 梯形图:
语句表:BIW IN, OUT 功能:当EN=1时,将IN中的字节型数据传送到OUT指 定字节地址的物理输出点(QB),同时刷新相应的 输出映像寄存器。运算结果立即输出到负载。
读取输入IB1的物理值,将结果写到输出VB100
将VB100的值写入QB1的物理输出点
6.1.2 数学运算指令
语句表:*I IN1, OUT
②双整数乘法指令
梯形图:
语句表:*D IN1, OUT 功能:当EN=1时,将两个双字长的有符号整数IN1和I N2相乘,结果为双字长的有符号整数存入OUT 。
③实数乘法指令
梯形图:
语句表:*R IN1, OUT 功能:当EN=1时,将两个32位实数IN1和IN2相乘,结 果为32位实数存入OUT 。
四则运算举例 :
I0.0 ADD_I EN ENO AC1 IN1 AC0 IN2 EN AC1 VW102 IN1 IN2 EN VW202 VW120 IN1 IN2 DIV_R EN ENO VD300 VD130 IN1 IN2 OUT VD400 DIV ENO OUT VD200 MUL ENO OUT VD100 MUL AC1,VD100 OUT AC0 LD +I I0.0 AC1,AC0
西门子S7-200基本指令(修正版)

第4章 基本指令
4.1 位操作类指令 4.2 运算指令 4.3 其他数据处理指令 4.4 表功能指令 4.5 转换指令
第4作及运算指令, 与时也涉及与位操作亲密有关旳定时器和计数 器指令等。
l 运算指令,涉及常用旳算术运算和逻辑运算 指令。
第4章 基本指令
1. 栈装载与指令
ALD,栈装载与指令(与块)。在梯形图中用于将并联 电路块进行串联连接。 在语句表中指令ALD执行情况如表4.8所示。
第4章 基本指令
2. 栈装载或指令
OLD,栈装载或指令(或块)。在梯形图中用于 将串联电路块进行并联连接。 在语句表中指令OLD执行情况如表4.9所示。
第4章 基本指令
可编程序控制器中旳 堆栈与计算机中旳堆 栈构造相同,堆栈是 一组能够存储和取出 数据旳临时存储单元。 堆栈旳存取特点是 “ 后 进 先 出 ” , S7200可编程序控制器旳 主机逻辑堆栈构造如 表4.3所示。
第4章 基本指令
1. 原则触点指令
(1)LD:装入常开触点(LoaD) (2)LDN:装入常闭触点(LoaD Not) (3)A:与常开触点(And) (4)AN:与常闭触点(And Not)。 (5)O:或常闭触点(Or) (6)ON:或常闭触点(Or Not) (7)NOT:触点取非(输出反相) (8)= :输出指令
输出刷新
扫描周期 n 扫描周期 n+1 扫描周期 n+2
扫描周期 n+3
输入扫描
输入扫描
输入扫描
输入扫描
输入扫描
I0.0
Q0.0 Q0.1 Q0.2 Q0.3
图4.10 时序图
返回本节
第4章 基本指令
复杂逻辑指令
西门子S7-200PLC指令系统手册

(二)输出指令 梯形图(LAD)中,“()”表示线圈,“能 流”到线圈端,则线圈被激励,其Q寄存器的相 应位为1,反之为0; 语句表(STL)中,输出指令为“=”,把栈 顶值复制到操作数地址指定的存储器位(bit), 堆栈各级栈值不变。 (三)置位和复位指令-把从操作数(bit)指定 的地址开始的N个点都被置位或复位,其中N=1 -255
3. 修改指针:用自增或自减指令修改指针,则可 连续存取存储单元中的数据
五、用户程序的结构 用户程序可分为三个区:主程序、子程序和 中断程序; 主程序(OB1):是用户程序的主体,CPU 在每一个扫描周期都要执行一次主程序指令; 子程序:可选部分,只有主程序调用时才执 行; 中断程序:可选部分,只有当发生中断事件 时,才执行中断程序,可在扫描周期的任意点执 行。
(二)直接寻址-指令中直接给出操作数的地址 的寻址方式 例: 位寻址 AND Q5.5
字节寻址 ORB VB33 , LB21 字寻址 双字寻址 MOVW MOVD AC0 , AQW200 AC1 , VD200
(三)间接寻址-指令中给出了存放操作数地 址的存储单元的地址的寻址方式 1. 建立指针
S7-200 PLC 的SIMATIC指令集不支持完全 数据类型检查; 使用局部变量时,执行简单数据类型检查; 使用全局变量时,指令操作数为地址而不是 可选的数据类型时,执行无数据类型检查。 (二)数据长度和数值范围 数据长度:用字节型(B)、字型(W)、 双字型(D)分别表示8位、16位、32位数据; 不同的数据长度对应的数据范围如表5-4所示
在语句表(STL)中,没有EN允许输入端, 但允许执行指令的条件是栈顶的值必须为1。 功能框的ENO端是允许输出端,即允许功能 框的布尔量输出,用于指令的级联 ; 语句表(STL)中,用AENO(ANDENO)指 令产生允许输出。 (四)条件输入、无条件输入 条件输入:在梯形图(LAD)、功能块图 (FBD)中,与“能流”有关的功能框或线圈不直 接与左母线连接;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据区:是S7-200 CPU 提供的存储器的特定区 域,将数据存储区作了进一步的分区,并为每个存储 区域赋予了不同的功能,形成专用的存储单元。 包括:I、Q、V、M、S、SM、L、T、C、AI、AQ、 AC、HC;存储器为:EEPROM和RAM。 (一)数据区存储器的地址表示格式 1. 位地址格式 由存储器区域标识符、字节地址及位号构成 例如:V5.4
VB(0-5119)
储器 作中的中间结果或 (2)V[数据长度][起始字 VW(0-5118)
(V)
其他数据,即全局 节地址]
有效
例:VB20 VW100 VD2
VD(0-5116)
(1)L[字节地址].[位地
局部存 存放局部变量,是 址] 例: L0.0
储器 局部有效的,即只 (2) L[数据长度][起始
(L) 能在某一程序分区 字节地址]
中使用
例: LB3 LW44 LD55
L(0.0-63.7) LB(0-63) LW(0-62) LD(0-60)
用于顺序控制(或 (1)S[字节地址].[位地
顺序控 步进控制);顺序 址] 例: S1.2
制继电 控制继电器指令 器存储 (SCR)是基于顺 器(S) 序功能图(SFC)
的“电路”,不允许“短路”、“开路”,也不允许 “能流”反向流动;
功能图(FBD)中,输入总在框图的左边, 输出总在框图的右边。
(三)允许输入端、允许输出端 功能框的EN端是允许输入端,只有EN端存
在“能流”时,才执行该功能框图的相应功能;
在语句表(STL)中,没有EN允许输入端, 但允许执行指令的条件是栈顶的值必须为1。
传递参数或返回参 数
例:AC0
AC(0-3)
存储器 功能
HC用来累计高速 高速计 脉冲信号,HC的 数器 当前寄存器为32 (HC) 位,则读取高速计
数器当前值应以双 字(32位)来寻址
地址格式
有效地址范 围
HC[高速计数器号]
例:HC1
HC(0-5)
四、寻址方式 S7-200 PLC 的寻址方式有:立即寻址、直
(1) I[字节地址].[位地 I(0.0-15.7)
输入映 存放输入点的状
址] 例:I0.1
IB(0-15)
像寄存 态,每一个输入端 (2) I[数据长度][起始字 IW(0-14)
器(I) 子与I的相应位相
节地址]
对应
例:IB4 IW6 ID10
ID(0-12)
存放CPU执行程序 (1)Q[字节地址].[位地址] Q(0.0-15.7)
时,才执行中断程序,可在扫描周期的任意点执 行。
(六)编程的一般规约 (一)网络
在梯形图(LAD)中,程序被分成称为网络 的一些程序段,而每一个网络由一个或多个梯级 组成;
功能块图(FBD)中,使用网络概念给程序 分段;
语句表(STL)中,使用“NETWORK”关键 词对程序分段。
(二)梯形图(LAD)/功能块图(FBD) 梯形图(LAD)中,一个梯级是一个完整
接寻址、间接寻址 (一)立即寻址
指令中直接给出操作数,即操作数紧跟在操 作码后面,在取出指令的同时也取出了操作数;
立即寻址常用来提供常数,设置初始值等; 指令中常数表示形式:十进制、十六进制、 ASCII码或浮点数
(二)直接寻址-指令中直接给出操作数的地址 的寻址方式 例: 位寻址 AND Q5.5
功能框的ENO端是允许输出端,即允许功能 框的布尔量输出,用于指令的级联 ;
语句表(STL)中,用AENO(ANDENO)指 令产生允许输出。
(四)条件输入、无条件输入 条件输入:在梯形图(LAD)、功能块图
(FBD)中,与“能流”有关的功能框或线圈不直 接与左母线连接;
无条件输入:在梯形图(LAD)、功能块图 (FBD)中,与“能流”源自关的线圈或功能框直接 与左母线连接。
例如:LBL、NEXT、SCR、SCRE等
(五)无允许输出端的指令 无允许输出端(ENO)的指令方框,不能用
于级联,例如:CALL SBR_N(N1,…)子程序调 用指令和LBL、SCR等。
第二节 S7-200 PLC 的基本指令及编程方法 一、基本逻辑指令
基本逻辑指令以位逻辑操作为主,操作数的 有效区域为:I、Q、M、SM、T、C、V、S、 L,且数据类型是BOOL (一)标准触点指令 梯形图(LAD)中
(二)功能块图(FBD) FBD 类似于普通逻辑功能图,一般用一种
功能方框表示一种特定的功能,框内的符号表 示该方框图的功能。 (三)语句表(STL)
STL是用助记符来表达PLC的各种控制功 能,类似于计算机的汇编语言。 二、数据类型 (一)基本数据类型及数据类型检查
1. 基本数据类型 1位布尔型(BOOL)、8位字节型
三、逻辑堆栈指令-只用于语句表(STL)中 其中栈装载与(ALD)、栈装载或(OLD)
指令用于两个或两个以上的触点组的串联或并 联编程,指令无操作数,属于压入/弹出堆栈的 操作指令;
逻辑推入栈(LPS)、逻辑读栈(LRD)、 逻辑弹出栈(LPP),用于一个触点(或一个触 点组)同时控制两个或两个以上线圈的编程。
数、减计数、增减 计数
T[定时器号] 例:T24
C[计数器号] 例:C3
T(0-255) C(0-255)
存储器 功能
地址格式
有效地址范围
模拟量 外部输入的模拟信 AIW[起始字节地址]
输入映 号通过模拟输入模 例: AIW4
像寄存 器
(AI)
块转换成1个字长 的数字量存放在模 拟量输入映像寄存
注:AI的地址必须用偶 数字节地址来表示
使用局部变量时,执行简单数据类型检查; 使用全局变量时,指令操作数为地址而不是 可选的数据类型时,执行无数据类型检查。 (二)数据长度和数值范围 数据长度:用字节型(B)、字型(W)、 双字型(D)分别表示8位、16位、32位数据; 不同的数据长度对应的数据范围如表5-4所示
注意:操作数的数据类型应该和指令标识 符相匹配。 三、存储器区域 PLC的存储器分为:程序区、系统区、数据区 程序区:存放用户程序, 存储器为: EEPROM
STL中,常开立即触点编程由LDI、AI、OI指 令描述,常闭立即触点由LDNI、ANI、ONI指 令描述。
(二)立即输出指令-操作数地址指定的物理输出 点的位(bit)值等于“能流”; 在STL中,堆栈操作时,栈顶值被同时复制 到物理输出点和相应的Q寄存器中,而不受扫描 过程的影响;
(三)立即置位和立即复位(N位)指令
字节寻址 ORB VB33 , LB21 字寻址 MOVW AC0 , AQW200 双字寻址 MOVD AC1 , VD200 (三)间接寻址-指令中给出了存放操作数地 址的存储单元的地址的寻址方式 1. 建立指针
指针中存放存储器的某个地址,则以指针中 内容值为地址就可进行间接寻址;
注:只能使用V、L、AC1、AC2、AC3作为 指针,AC0不能用作间接寻址的指针 例: MOVD &VB200 , AC1 2. 使用指针来存取数据 使用指针可存取字节、字、双字型的数据 例: MOVW *AC1 , AC0
3. 修改指针:用自增或自减指令修改指针,则可 连续存取存储单元中的数据
五、用户程序的结构 用户程序可分为三个区:主程序、子程序和
中断程序; 主程序(OB1):是用户程序的主体,CPU
在每一个扫描周期都要执行一次主程序指令; 子程序:可选部分,只有主程序调用时才执
行; 中断程序:可选部分,只有当发生中断事件
语句表(STL)中,输出指令为“=”,把栈 顶值复制到操作数地址指定的存储器位(bit), 堆栈各级栈值不变。
(三)置位和复位指令-把从操作数(bit)指定 的地址开始的N个点都被置位或复位,其中N=1 -255
在LAD和FBD中,只要“能流”到,就执行 置位并保持或复位并保持,置位后即使“能流” 断,仍保持置位,复位后即使“能流”断,仍保持 复位;
AIW(0-62)
器(AI)中
模拟量 CPU运算的相关结 AQW[起始字节地址]
输出映 果是驱动外部模拟 例:AQW4
像寄存 器
量控制的设备时, 则此结果存放在模
注:AQ的地址必须用 偶数字节地址来表示
(AQ) 拟量输出映像寄存
器(AQ)中
AQW(0-62)
累加器 暂时存放计算中间
(AC)
值,也可向子程序 AC[累加器号]
输出映 运行的结果,且输
例:Q1.1
QB(0-15)
像寄存 出模块每一个的端 器(Q)子与Q的相应位相
对应
(2)Q [数据长度][起始字 节地址]
例:QB5 QW8 QD2
QW(0-14) QD(0-12)
也称为内部线圈, (1)M[字节地址].[位地 M(0.0-31.7)
内部标 模拟继电器控制系 址] 例:M26.7
在STL中,当栈顶值为“1” 时,才执行置位指令 S bit , N 或复位指令 R bit ,N;
置位后即使栈顶值为“0”,仍保持置位,执行 复位指令后即使栈顶值为“0”,仍保持复位。
二、立即I/O指令 (一)立即触点指令
执行该指令时,直接读取物理输入点的值, I寄存器的内容不更新,指令操作数仅限于输入 物理点的值;
功能块图(FBD)中
语句表(STL)中 LD(load)指令,表示一个逻辑梯级编程的开 始; A(And)指令:表示触点的串联编程; O(Or)指令:表示触点的并联编程; LDN、AN、ON指令则是分别表示对常闭触点的
(二)输出指令 梯形图(LAD)中,“()”表示线圈,“能
流”到线圈端,则线圈被激励,其Q寄存器的相 应位为1,反之为0;