西门子PLC S7-200的SIMATIC指令集简表
发表时间:2018-09-08
|
布 尔 指 令 |
|
|
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 |
顺控继电器段的启动 顺控继电器段的转换 顺控断电器段的结束 |

