西门子PLC S7-200的SIMATIC指令集简表
西门子PLC S7-200的SIMATIC指令集简表
布 尔 指 令 | |
LD N LDI N LDN N LDNI N | 装载(开始的常开触点) 立即装载 取反后装载(开始的常闭触点) 取反后立即装载 |
A N AI N AN N ANI N | 与(串联的常开触点) 立即与 取反后与(串联的常开触点) 取反后立即与 |
O N OI N ON N ONI N | 或(并联的常开触点) 立即或 取反后或(并联的常开触点) 取反后立即与 |
LDBx N1,N2 | 装载字节比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
ABx N1,N2 | 与字节比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
OBx N1,N2 | 或字节比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
LDWx N1,N2 | 装载字比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
AWx N1,N2 | 与字节比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
OWx N1,N2 | 或字比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
LDDx N1,N2 | 装载双字比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
ADx N1,N2 | 与双字比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
ODx N1,N2 | 或双字比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
LDRx N1,N2 | 装载实数比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
ARx N1,N2 | 与实数比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
ORx N1,N2 | 或实数比较结果N1(x:<,<=,=,>=,>,<>=)N2 |
NOT | 栈顶值取反 |
EU ED | 上升沿检测 下降沿检测 |
= N =I N | 赋值(线圈) 立即赋值 |
S S_BIT,N R S_BIT,N SI S_BIT,N RI S_BIT,N | 置位一个区域 复位一个区域 立即置位一个区域 立即复位一个区域 |
传送、移位、循环和填充指令 | |
MOVB IN,OUT MOVW IN,OUT MOVD IN,OUT MOVR IN,OUT BIR IN,OUT BIW IN,OUT | 字节传送 字传送 双字传送 实数传送 立即读取物理输入字节 立即写物理输出字节 |
BMB IN,OUT,N BMW IN,OUT,N BMD IN,OUT,N | 字节块传送 字块传送 双字块传送 |
SWAP IN | 交换字节 |
SHRB DATA,S_BIT,N | 移位寄存器 |
SRB OUT,N SRW OUT,N SRD OUT,N | 字节右移N位 字右移N位 双字右移N位 |
SLB OUT,N SLW OUT,N SLD OUT,N | 字节左移N位 字左移N位 双字左移N位 |
RRB OUT,N RRW OUT,N RRD OUT,N | 字节右移N位 字右移N位 双字右移N位 |
RLB OUT,N RLW OUT,N RLD OUT,N | 字节左移N位 字左移N位 双字左移N位 |
FILL IN,OUT,N | 用指定的元素填充存储器空间 |
逻辑操作 | |
ALD OLD | 电路块串联 电路块并联 |
LPS LRD LPP LDS | 入栈 读栈 出栈 装载堆栈 |
AENO | 对ENO进行与操作 |
ANDB IN1,OUT ANDW IN1,OUT ANDD IN1,OUT | 字节逻辑与 字逻辑与 双字逻辑与 |
ORB IN1,OUT ORW IN1,OUT ORD IN1,OUT | 字节逻辑或 字逻辑或 双字逻辑或 |
XORB IN1,OUT XORW IN1,OUT XORD IN1,OUT | 字节逻辑异或 字逻辑异或 双字逻辑异或 |
INVB OUT INVW OUT INVD OUT | 字节取反(1的补码) 字取反 双字取反 |
表、查找和转换指令 | |
ATT TABLE,DATA | 把数据加到表中 |
LIFO TABLE,DATA FIFO TABLE,DATA | 从表中取数据,后入先出 从表中取数据,先入先出 |
FND= TBL,PATRN,INDX FND<> TBL,PATRN,INDX FND< TBL,PATRN,INDX FND> TBL,PATRN,INDX | 在表中查找符合比较条件的数据 |
BCDI OUT IBCD OUT | BCD码转换成整数 整数转换成BCD码 |
BTI IN,OUT IBT IN,OUT ITD IN,OUT TDI IN,OUT | 字节转换成整数 整数转换成字节 整数转换成双整数 双整数转换成整数 |
DTR IN,OUT TRUNC IN,OUT ROUND IN,OUT | 双整数转换成实数 实数四舍五入为双整数 实数截位取整为双整数 |
ATH IN,OUT,LEN HTA IN,OUT,LEN ITA IN,OUT,FMT DTA IN,OUT,FMT RTA IN,OUT,FMT | ASCII码→16进制数 16进制数→ASCII码 整数→ASCII码 双整数→ASCII码 实数→ASCII码 |
DECO IN,OUT ENCO IN,OUT | 译码 编码 |
SEG IN,OUT | 7段译码 |
中断指令 | |
CRETI | 从中断程序有条件返回 |
ENI DISI | 允许中断 禁止中断 |
ATCH INT,EVENT DTCH EVENT | 给事件分配中断程序 解除中断事件 |
通信指令 | |
XMT TABLE,PORT RCV TABLE,PORT | 自由端口发送 自由端口接收 |
NETR TABLE,PORT NETW TABLE,PORT | 网络读 网络写 |
GPA ADDR,PORT SPA ADDR,PORT | 获取端口地址 设置端口地址 |
高速计数器指令 | |
HDEF HSC,MODE | 定义高速计数器模式 |
HSC N | 激活高速计数器 |
PLS X | 脉冲输出 |
数学、加1减1指令 | |
+I IN1,OUT +D IN1,OUT +R IN1,OUT | 整数,双整数或实数法 IN1+OUT=OUT |
-I IN1,OUT -D IN1,OUT -R IN1,OUT | 整数,双整数或实数法 OUT-IN1 =OUT |
MUL IN1,OUT *R IN1,OUT *I IN1,OUT *D IN1,OUT | 整数乘整数得双整数 实数、整数或双整数乘法 IN1×OUT=OUT |
MUL IN1,OUT /R IN1,OUT /I IN1,OUT /D IN1,OUT | 整数除整数得双整数 实数、整数或双整数除法 OUT/IN1=OUT |
SQRT IN,OUT | 平方根 |
LN IN,OUT | 自然对数 |
LXP IN,OUT | 自然指数 |
SIN IN,OUT | 正弦 |
COS IN,OUT | 余弦 |
TAN IN,OUT | 正切 |
INCB OUT INCW OUT INCD OUT | 字节加1 字加1 双字加1 |
DECB OUT DECW OUT DECD OUT | 字节减1 字减1 双字减1 |
PID Table,Loop | PID回路 |
定时器和计数器指令 | |
TON Txxx,PT TOF Txxx,PT TONR Txxx,PT | 通电延时定时器 断电延时定时器 保持型通延时定时器 |
CTU Txxx,PV CTD Txxx,PV CTUD Txxx,PV | 加计数器 减计数器 加/减计数器 |
实时时钟指令 | |
TODR T TODW T | 读实时时钟 写实时时钟 |
程序控制指令 | |
END | 程序的条件结束 |
STOP | 切换到STOP模式 |
WDR | 看门狗复位(300 ms) |
JMP N LBL N | 跳到指定的标号 定义一个跳转的标号 |
CALL N(N1,…) CRET | 调用子程序,可以有16个可选参数 从子程序条件返回 |
FOR INDX,INIT,FINAL NEXT | For/Next循环 |
LSCR N SCRT N SCRE | 顺控继电器段的启动 顺控继电器段的转换 顺控断电器段的结束 |
西门子PLC S7-200的SIMATIC指令集简表
布 尔 指 令
LD N
LDI N
LDN N
LDNI N
装载(开始的常开触点)
立即装载
取反后装载(开始的常闭触点)
取反后立即装载
A N
AI N
AN N
ANI N
与(串联的常开触点)
立即与
取反后与(串联的常开触点)
取反后立即与
O N
OI N
ON N
ONI N
或(并联的常开触点)
立即或
取反后或(并联的常开触点)
取反后立即与
LDBx N1,N2
装载字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
ABx N1,N2
与字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
OBx N1,N2
或字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
LDWx N1,N2
装载字比较结果N1(x:<,<=,=,>=,>,<>=)N2
AWx N1,N2
与字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
OWx N1,N2
或字比较结果N1(x:<,<=,=,>=,>,<>=)N2
LDDx N1,N2
装载双字比较结果N1(x:<,<=,=,>=,>,<>=)N2
ADx N1,N2
与双字比较结果N1(x:<,<=,=,>=,>,<>=)N2
ODx N1,N2
或双字比较结果N1(x:<,<=,=,>=,>,<>=)N2
LDRx N1,N2
装载实数比较结果N1(x:<,<=,=,>=,>,<>=)N2
ARx N1,N2
与实数比较结果N1(x:<,<=,=,>=,>,<>=)N2
ORx N1,N2
或实数比较结果N1(x:<,<=,=,>=,>,<>=)N2
NOT
栈顶值取反
EU
ED
上升沿检测
下降沿检测
= N
=I N
赋值(线圈)
立即赋值
S S_BIT,N
R S_BIT,N
SI S_BIT,N
RI S_BIT,N
置位一个区域
复位一个区域
立即置位一个区域
立即复位一个区域
LD N
LDI N
LDN N
LDNI N
装载(开始的常开触点)
立即装载
取反后装载(开始的常闭触点)
取反后立即装载
A N
AI N
AN N
ANI N
与(串联的常开触点)
立即与
取反后与(串联的常开触点)
取反后立即与
O N
OI N
ON N
ONI N
或(并联的常开触点)
立即或
取反后或(并联的常开触点)
取反后立即与
LDBx N1,N2
装载字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
ABx N1,N2
与字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
OBx N1,N2
或字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
LDWx N1,N2
装载字比较结果N1(x:<,<=,=,>=,>,<>=)N2
AWx N1,N2
与字节比较结果N1(x:<,<=,=,>=,>,<>=)N2
OWx N1,N2
或字比较结果N1(x:<,<=,=,>=,>,<>=)N2
LDDx N1,N2
装载双字比较结果N1(x:<,<=,=,>=,>,<>=)N2
ADx N1,N2
与双字比较结果N1(x:<,<=,=,>=,>,<>=)N2
ODx N1,N2
或双字比较结果N1(x:<,<=,=,>=,>,<>=)N2
LDRx N1,N2
装载实数比较结果N1(x:<,<=,=,>=,>,<>=)N2
ARx N1,N2
与实数比较结果N1(x:<,<=,=,>=,>,<>=)N2
ORx N1,N2
或实数比较结果N1(x:<,<=,=,>=,>,<>=)N2
NOT
栈顶值取反
EU
ED
上升沿检测
下降沿检测
= N
=I N
赋值(线圈)
立即赋值
S S_BIT,N
R S_BIT,N
SI S_BIT,N
RI S_BIT,N
置位一个区域
复位一个区域
立即置位一个区域
立即复位一个区域
传送、移位、循环和填充指令
MOVB IN,OUT
MOVW IN,OUT
MOVD IN,OUT
MOVR IN,OUT
BIR IN,OUT
BIW IN,OUT
字节传送
字传送
双字传送
实数传送
立即读取物理输入字节
立即写物理输出字节
BMB IN,OUT,N
BMW IN,OUT,N
BMD IN,OUT,N
字节块传送
字块传送
双字块传送
SWAP IN
交换字节
SHRB DATA,S_BIT,N
移位寄存器
SRB OUT,N
SRW OUT,N
SRD OUT,N
字节右移N位
字右移N位
双字右移N位
SLB OUT,N
SLW OUT,N
SLD OUT,N
字节左移N位
字左移N位
双字左移N位
RRB OUT,N
RRW OUT,N
RRD OUT,N
字节右移N位
字右移N位
双字右移N位
RLB OUT,N
RLW OUT,N
RLD OUT,N
字节左移N位
字左移N位
双字左移N位
FILL IN,OUT,N
用指定的元素填充存储器空间
逻辑操作
ALD
OLD
电路块串联
电路块并联
LPS
LRD
LPP
LDS
入栈
读栈
出栈
装载堆栈
AENO
对ENO进行与操作
ANDB IN1,OUT
ANDW IN1,OUT
ANDD IN1,OUT
字节逻辑与
字逻辑与
双字逻辑与
ORB IN1,OUT
ORW IN1,OUT
ORD IN1,OUT
字节逻辑或
字逻辑或
双字逻辑或
XORB IN1,OUT
XORW IN1,OUT
XORD IN1,OUT
字节逻辑异或
字逻辑异或
双字逻辑异或
INVB OUT
INVW OUT
INVD OUT
字节取反(1的补码)
字取反
双字取反
表、查找和转换指令
ATT TABLE,DATA
把数据加到表中
LIFO TABLE,DATA
FIFO TABLE,DATA
从表中取数据,后入先出
从表中取数据,先入先出
FND= TBL,PATRN,INDX
FND<> TBL,PATRN,INDX
FND< TBL,PATRN,INDX
FND> TBL,PATRN,INDX
在表中查找符合比较条件的数据
BCDI OUT
IBCD OUT
BCD码转换成整数
整数转换成BCD码
BTI IN,OUT
IBT IN,OUT
ITD IN,OUT
TDI IN,OUT
字节转换成整数
整数转换成字节
整数转换成双整数
双整数转换成整数
DTR IN,OUT
TRUNC IN,OUT
ROUND IN,OUT
双整数转换成实数
实数四舍五入为双整数
实数截位取整为双整数
ATH IN,OUT,LEN
HTA IN,OUT,LEN
ITA IN,OUT,FMT
DTA IN,OUT,FMT
RTA IN,OUT,FMT
ASCII码→16进制数
16进制数→ASCII码
整数→ASCII码
双整数→ASCII码
实数→ASCII码
DECO IN,OUT
ENCO IN,OUT
译码
编码
SEG IN,OUT
7段译码
中断指令
CRETI
从中断程序有条件返回
ENI
DISI
允许中断
禁止中断
ATCH INT,EVENT
DTCH EVENT
给事件分配中断程序
解除中断事件
通信指令
XMT TABLE,PORT
RCV TABLE,PORT
自由端口发送
自由端口接收
NETR TABLE,PORT
NETW TABLE,PORT
网络读
网络写
GPA ADDR,PORT
SPA ADDR,PORT
获取端口地址
设置端口地址
高速计数器指令
HDEF HSC,MODE
定义高速计数器模式
HSC N
激活高速计数器
PLS X
脉冲输出
数学、加1减1指令
+I IN1,OUT
+D IN1,OUT
+R IN1,OUT
整数,双整数或实数法
IN1+OUT=OUT
-I IN1,OUT
-D IN1,OUT
-R IN1,OUT
整数,双整数或实数法
OUT-IN1 =OUT
MUL IN1,OUT
*R IN1,OUT
*I IN1,OUT
*D IN1,OUT
整数乘整数得双整数
实数、整数或双整数乘法
IN1×OUT=OUT
MUL IN1,OUT
/R IN1,OUT
/I IN1,OUT
/D IN1,OUT
整数除整数得双整数
实数、整数或双整数除法
OUT/IN1=OUT
SQRT IN,OUT
平方根
LN IN,OUT
自然对数
LXP IN,OUT
自然指数
SIN IN,OUT
正弦
COS IN,OUT
余弦
TAN IN,OUT
正切
INCB OUT
INCW OUT
INCD OUT
字节加1
字加1
双字加1
DECB OUT
DECW OUT
DECD OUT
字节减1
字减1
双字减1
PID Table,Loop
PID回路
定时器和计数器指令
TON Txxx,PT
TOF Txxx,PT
TONR Txxx,PT
通电延时定时器
断电延时定时器
保持型通延时定时器
CTU Txxx,PV
CTD Txxx,PV
CTUD Txxx,PV
加计数器
减计数器
加/减计数器
实时时钟指令
TODR T
TODW T
读实时时钟
写实时时钟
程序控制指令
END
程序的条件结束
STOP
切换到STOP模式
WDR
看门狗复位(300 ms)
JMP N
LBL N
跳到指定的标号
定义一个跳转的标号
CALL N(N1,…)
CRET
调用子程序,可以有16个可选参数
从子程序条件返回
FOR INDX,INIT,FINAL
NEXT
For/Next循环
LSCR N
SCRT N
SCRE
顺控继电器段的启动
顺控继电器段的转换
顺控断电器段的结束
MOVB IN,OUT
MOVW IN,OUT
MOVD IN,OUT
MOVR IN,OUT
BIR IN,OUT
BIW IN,OUT
字节传送
字传送
双字传送
实数传送
立即读取物理输入字节
立即写物理输出字节
BMB IN,OUT,N
BMW IN,OUT,N
BMD IN,OUT,N
字节块传送
字块传送
双字块传送
SWAP IN
交换字节
SHRB DATA,S_BIT,N
移位寄存器
SRB OUT,N
SRW OUT,N
SRD OUT,N
字节右移N位
字右移N位
双字右移N位
SLB OUT,N
SLW OUT,N
SLD OUT,N
字节左移N位
字左移N位
双字左移N位
RRB OUT,N
RRW OUT,N
RRD OUT,N
字节右移N位
字右移N位
双字右移N位
RLB OUT,N
RLW OUT,N
RLD OUT,N
字节左移N位
字左移N位
双字左移N位
FILL IN,OUT,N
用指定的元素填充存储器空间
逻辑操作
ALD
OLD
电路块串联
电路块并联
LPS
LRD
LPP
LDS
入栈
读栈
出栈
装载堆栈
AENO
对ENO进行与操作
ANDB IN1,OUT
ANDW IN1,OUT
ANDD IN1,OUT
字节逻辑与
字逻辑与
双字逻辑与
ORB IN1,OUT
ORW IN1,OUT
ORD IN1,OUT
字节逻辑或
字逻辑或
双字逻辑或
XORB IN1,OUT
XORW IN1,OUT
XORD IN1,OUT
字节逻辑异或
字逻辑异或
双字逻辑异或
INVB OUT
INVW OUT
INVD OUT
字节取反(1的补码)
字取反
双字取反
表、查找和转换指令
ATT TABLE,DATA
把数据加到表中
LIFO TABLE,DATA
FIFO TABLE,DATA
从表中取数据,后入先出
从表中取数据,先入先出
FND= TBL,PATRN,INDX
FND<> TBL,PATRN,INDX
FND< TBL,PATRN,INDX
FND> TBL,PATRN,INDX
在表中查找符合比较条件的数据
BCDI OUT
IBCD OUT
BCD码转换成整数
整数转换成BCD码
BTI IN,OUT
IBT IN,OUT
ITD IN,OUT
TDI IN,OUT
字节转换成整数
整数转换成字节
整数转换成双整数
双整数转换成整数
DTR IN,OUT
TRUNC IN,OUT
ROUND IN,OUT
双整数转换成实数
实数四舍五入为双整数
实数截位取整为双整数
ATH IN,OUT,LEN
HTA IN,OUT,LEN
ITA IN,OUT,FMT
DTA IN,OUT,FMT
RTA IN,OUT,FMT
ASCII码→16进制数
16进制数→ASCII码
整数→ASCII码
双整数→ASCII码
实数→ASCII码
DECO IN,OUT
ENCO IN,OUT
译码
编码
SEG IN,OUT
7段译码
中断指令
CRETI
从中断程序有条件返回
ENI
DISI
允许中断
禁止中断
ATCH INT,EVENT
DTCH EVENT
给事件分配中断程序
解除中断事件
通信指令
XMT TABLE,PORT
RCV TABLE,PORT
自由端口发送
自由端口接收
NETR TABLE,PORT
NETW TABLE,PORT
网络读
网络写
GPA ADDR,PORT
SPA ADDR,PORT
获取端口地址
设置端口地址
高速计数器指令
HDEF HSC,MODE
定义高速计数器模式
HSC N
激活高速计数器
PLS X
脉冲输出
数学、加1减1指令
+I IN1,OUT
+D IN1,OUT
+R IN1,OUT
整数,双整数或实数法
IN1+OUT=OUT
-I IN1,OUT
-D IN1,OUT
-R IN1,OUT
整数,双整数或实数法
OUT-IN1 =OUT
MUL IN1,OUT
*R IN1,OUT
*I IN1,OUT
*D IN1,OUT
整数乘整数得双整数
实数、整数或双整数乘法
IN1×OUT=OUT
MUL IN1,OUT
/R IN1,OUT
/I IN1,OUT
/D IN1,OUT
整数除整数得双整数
实数、整数或双整数除法
OUT/IN1=OUT
SQRT IN,OUT
平方根
LN IN,OUT
自然对数
LXP IN,OUT
自然指数
SIN IN,OUT
正弦
COS IN,OUT
余弦
TAN IN,OUT
正切
INCB OUT
INCW OUT
INCD OUT
字节加1
字加1
双字加1
DECB OUT
DECW OUT
DECD OUT
字节减1
字减1
双字减1
PID Table,Loop
PID回路
定时器和计数器指令
TON Txxx,PT
TOF Txxx,PT
TONR Txxx,PT
通电延时定时器
断电延时定时器
保持型通延时定时器
CTU Txxx,PV
CTD Txxx,PV
CTUD Txxx,PV
加计数器
减计数器
加/减计数器
实时时钟指令
TODR T
TODW T
读实时时钟
写实时时钟
程序控制指令
END
程序的条件结束
STOP
切换到STOP模式
WDR
看门狗复位(300 ms)
JMP N
LBL N
跳到指定的标号
定义一个跳转的标号
CALL N(N1,…)
CRET
调用子程序,可以有16个可选参数
从子程序条件返回
FOR INDX,INIT,FINAL
NEXT
For/Next循环
LSCR N
SCRT N
SCRE
顺控继电器段的启动
顺控继电器段的转换
顺控断电器段的结束
将本文加入收藏夹
新闻详情