西门子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 |
顺控继电器段的启动 顺控继电器段的转换 顺控断电器段的结束 |