[西门子] 终于全了!吃透三菱、西门子全系列指令,都在这里!

[复制链接]
查看204 | 回复0 | 2024-7-13 08:40:36 | 显示全部楼层 |阅读模式
>俗话说,不积跬步无以至千里,不固地基无以成高楼。那么,想学好三菱、西门子系列的PLC,需要掌握哪些常用指令呢?作为一名PLC工程师,这些指令你都掌握了吗?
三菱PLC指令详解





1
取指令与输出指令(LD/LDI/LDP/LDF/OUT)

1)LD(取指令) 一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑行都用此指令;


2)LDI(取反指令) 一个常闭触点与左母线连接指令,每一个以常闭触点开始的逻辑行都用此指令;


3)LDP(取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在指定位元件的上升沿(由OFF→ON)时接通一个扫描周期;


4)LDF(取下降沿指令) 与左母线连接的常闭触点的下降沿检测指令;


5)OUT(输出指令) 对线圈进行驱动的指令,也称为输出指令。


指令取与输出指令的使用说明:
1)LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现块逻辑运算;


2)LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通;


3)LD、LDI、LDP、LDF指令的目标元件为X 、Y 、M 、T、C、S;


4)OUT指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在OUT指令之后应设置常数K或数据寄存器;


5)OUT指令目标元件为Y、M、T、C和S,但不能用于X;





2
触点串联指令(AND/ANI/ANDP/ANDF)

1)AND(与指令) 一个常开触点串联连接指令,完成逻辑“与”运算;


2)ANI(与反指令) 一个常闭触点串联连接指令,完成逻辑“与非”运算;


3)ANDP 上升沿检测串联连接指令;


4)ANDF 下降沿检测串联连接指令;


触点串联指令的使用说明:
1)AND、ANI、ANDP、ANDF都指是单个触点串联连接的指令,串联次数没有限制,可反复使用。


2)AND、ANI、ANDP、ANDF的目标元元件为X、Y、M、T、C和S。


3)OUT M101指令之后通过T1的触点去驱动Y4称为连续输出。


3
触点并联指令(OR/ORI/ORP/ORF)

1)OR(或指令) 用于单个常开触点的并联,实现逻辑“或”运算;


2)ORI(或非指令) 用于单个常闭触点的并联,实现逻辑“或非”运算;


3)ORP 上升沿检测并联连接指令;


4)ORF 下降沿检测并联连接指令;


触点并联指令的使用说明:
1)OR、ORI、ORP、ORF指令都是指单个触点的并联,并联触点的左端接到LD、LDI、LDP或LPF处,右端与前一条指令对应触点的右端相连,触点并联指令连续使用的次数不限;


2)OR、ORI、ORP、ORF指令的目标元件为X、Y、M、T、C、S;


4
块操作指令(ORB / ANB)

ORB(块或指令)
1)用于两个或两个以上的触点串联连接的电路之间的并联;


ORB指令的使用说明:
1)几个串联电路块并联连接时,每个串联电路块开始时应该用LD或LDI指令;


2)有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制;


3)ORB指令也可以连续使用,但这种程序写法不推荐使用,LD或LDI指令的使用次数不得超过8次,也就是ORB只能连续使用8次以下;


ANB(块与指令)
1)用于两个或两个以上触点并联连接的电路之间的串联;


ANB指令的使用说明:
1)并联电路块串联连接时,并联电路块的开始均用LD或LDI指令;


2)多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下;





5
置位与复位指令(SET/RST)

1)SET(置位指令) 它的作用是使被操作的目标元件置位并保持;


2)RST(复位指令) 使被操作的目标元件复位并保持清零状态。SET、RST指令的使用,当X0常开接通时,Y0变为ON状态并一直保持该状态,即使X0断开Y0的ON状态仍维持不变;只有当X1的常开闭合时,Y0才变为OFF状态并保持,即使X1常开断开,Y0也仍为OFF状态;


SET 、RST指令的使用说明:
1)SET指令的目标元件为Y、M、S,RST指令的目标元件为Y、M、S、T、C、D、V 、Z。RST指令常被用来对D、Z、V的内容清零,还用来复位积算定时器和计数器;


2)对于同一目标元件,SET、RST可多次使用,顺序也可随意,但最后执行者有效;

6
微分指令(PLS/PLF)

1)PLS(上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出;


2)PLF(下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出,


利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态;


PLS、PLF指令的使用说明:
1)PLS、PLF指令的目标元件为Y和M;


2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件ON,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利用输入信号的下降沿驱动,其它与PLS相同;


7
主控指令(MC/MCR)

1)MC(主控指令) 用于公共串联触点的连接。执行MC后,左母线移到MC触点的后面;
2)MCR(主控复位指令) 它是MC指令的复位指令,即利用MCR指令恢复原左母线的位置;


在编程时常会出现这样的情况,多个线圈同时受一个或一组触点控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,使用主控指令就可以解决这一问题。


MC、MCR指令,利用MC N0 M100实现左母线右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等级,在无嵌套结构中N0的使用次数无限制;利用MCR N0恢复到原左母线状态。如果X0断开则会跳过MC、MCR之间的指令向下执行。


MC、MCR指令的使用说明:
1)MC、MCR指令的目标元件为Y和M,但不能用特殊辅助继电器。MC占3个程序步,MCR占2个程序步;


2)主控触点在梯形图中与一般触点垂直。主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LD或LDI指令;


3)MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的元件将复位,22中当X0断开,Y0和Y1即变为OFF;


4)在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数最多为8级,编号按N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位;


8
堆栈指令(MPS/MRD/MPP)

堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。



1)MPS(进栈指令) 将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段;


2)MRD(读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动;


3)MPP(出栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移;


堆栈指令的使用说明:
1)堆栈指令没有目标元件;
2)MPS和MPP必须配对使用;
3)由于栈存储单元只有11个,所以栈的层次最多11层;
9
逻辑反、空操作与结束指令(INV/NOP/END)

1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0为ON,否则Y0为OFF。https://www.diangon.com/使用时应注意INV不能象指令表的LD、LDI、LDP、LDF那样与母线连接,也不能象指令表中的OR、ORI、ORP、ORF指令那样单独使用;


2)NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令;


3)END(结束指令) 表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。


在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束;


10
FX系列PLC的步进指令

1)步进指令(STL/RET)步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。


FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)
STL和RET指令只有与状态器S配合才能具有步进功能。如STL S200表示状态常开触点,称为STL触点,它在梯形图中的符号为-|| ||- ,它没有常闭触点。


我们用每个状态器S记录一个工步,例STL S200有效(为ON),则进入S200表示的一步(类似于本步的总开关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。


一旦结束本步信号为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。


1)状态转移图
一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。


我们常用状态转移图(功能表图)描述这种顺序控制过程。用状态器S记录每个状态,X为转换条件。如当X1为ON时,则系统由S20状态转为S21状态。


状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。


步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转换条件,转换的目标为S21步。



西门子PLC指令详解
指令( 英文全称意思 ):指令含义


1、LD ( Load 装载 ):动合触点

2、LDN ( Load Not 不装载 ):动断触点

3、A ( And 与 动合):用于动合触点串联

4、AN ( And Not 与 动断 ):用于动断触点串联

5、O ( Or 或 动合 ) :用于动合触点并联

6、ON ( Or Not 或 动断 ):用于动断触点并联

7、= ( Out 输出 ):用于线圈输出

8、OLD ( Or Lode):块或

9、ALD ( And Lode):块与

10、LPS ( Logic Push ):逻辑入栈

11、LRD ( Logic Read ):逻辑读栈

12、LPP ( Logic Pop ):逻辑出栈

13、NOT ( not 并非 ):非

14、NOP ( No Operation Performed ):无操作

15、AENO ( And ENO ):指令盒输出端ENO相与

16、S ( Set 放置 ):置1

17、R ( Reset 重置,清零 ):清零

18、P ( Positive):上升沿


19、N ( Negative):下降沿


20、TON ( On_Delay Timer ):接通延时定时器


21、TONR ( Retentive On_Delay Timer ):有记忆接通延时定时器

22、TOF ( Off_ Delay Timer ):断开延时定时器

23、CTU ( Count Up ):增计数器

24、CTD ( Count Down ):减计数器

25、CTDU ( Count Up/ Count Down ):增减计数器
26、ADD ( add 加 ) :加注意  
//ADD_I (_ I 表示整数)
ADD_DI( DI表示双字节整数)
ADD-R (R 表示实数)
它们都是加运算只是数的大小不同。
27、SUB ( Subtract 减去,减少):减

28、MUL ( Multiply ):乘

29、DIV ( Divide ):除

30、SQRT ( Square root ):求平方根

31、LN ( Napierian Logarithm 自然对数 ):求自然对数

32、EXP ( Exponential 指数的 ):求指数

33、INC_B ( Increment 增加 ):增1
//其中_B代表数据类型 还有W(字节)、DW双字后面几个都是这样的。
34、DEC_B ( Decrement 减少 ):减1

35、WAND_B ( Word and 与命令 ):逻辑与 

36、WOR_B ( Word or 或命令):逻辑或

37、WXOR_B ( Word exclusive or 异或命令):逻辑异或

38、INV_B ( Inverse 相反 ):取反

39、MOV _B ( Move 移动 ):数据传送

40、BLKMOV_B ( Block Move 块移动):数据块传送

41、SWAP ( Swap 交换 ):字节交换

42、FILL ( Fill 填充 ):字填充

43、ROL_B ( Rotate Left 循环 向左):循环左移位

44、ROR_B ( Rotate Right 循环 向右):循环右移位

45、SHL_B ( Shift Left 移动向左):左移动

46、SHR_B ( Shift Right 移动向右 ):右移动

47、SHRB ( Shift buffer 移动缓存):寄存器移位

48、STOP ( Stop 停止 ):暂停

49、END /MEND ( End /Mend ):条件/无条件结束

50、WDR ( Watch dog reset ):看门狗复位

51、JMP ( Jump 跳):跳转https://www.diangon.com/wenku/plc/

52、LBL ( Label 位置 ):跳转标号

53、FOR ( For 循环 ):循环

54、NEXT ( Next 再下去):循环结束

55、SBR ( Subprogram Regulating子程序控制 ):子程序调用

56、SBR_T ( Subprogram Regulating Take ):带参数子程序调用

57、SCR ( Sequence Control 顺序控制 ):步开始

58、SCRT ( Sequence Control Transfer 顺序控制转移 ):步转移

59、SCRE ( Sequence Control End 顺序控制结束 ) :步结束

60、AD_T_TBL ( Add data to table 添加数据到表格中):填数据表

61、FIFO ( First in First out 先进先出 ):先进先出

62、LIFO ( Last in First out 后进先出 ):后进先出

63、TBL_FIND ( Table Find 表格查找 ) :表查找

64、BCD_I ( Binary Coded Decimal _I 二进制编码的十进制 ):BCD 码转整数

65、I_BCD ( I_ Binary Coded DecimaL ):整数转BCD码

66、B_I ( Bit to int ):字节转整数

67、I_B ( int to bit ):整数转字节

68、DI_I ( Double  int to int ):双整数转整数

69、I_DI ( int to double int ):整数转双整数

70、ROUND ( Round 取整 ):实数转双整数

71、TRUNC ( Trunc 截取 ):转换32位实数整数部分(舍去小数取整)

72、DI_I (double int to int ):双整数转实数

73、ENCO ( Encode 编码):编码

74、DECO ( Decode 译码):译码

75、SEG ( Segment decoder分断译码器 ):七段显示译码器

76、ATH ( ASCII码 turn hex ):ASCII码转16进制

77、HTA ( Hexadecimal to ascii):16进制转ASCII码

78、ITA ( // int to ascii):整数转ASCII码

79、DTA ( // double int to ascii ):双整转ASCII码

80、RTA ( // real to ascii): 实数转ASCII码

81、ATCH (//attach ):中断连接

82、DTCH ( Depatch ):中断分离

83、HDEF ( High speed counter definition ):高速计数器定义

84、HSC ( High Speed Counter 高速计数器 ):启动高速计数器

85、PLS ( Pulse 脉冲 ):脉冲输出

86、READ_ RTC ( Read real time clock 读实时时钟 ):读实时时钟

87、SET_RTC ( Set real time clock ):写实时时钟

88、XMT ( Transmitter ):自由发送

89、RCV ( Receive 接收 ):自由接收

90、NETR ( Net read 网络读 ):网络读

91、NETW ( Net write 网络写 ):网络写

92、GET_ADDR ( Get address 获取地址 ):获取口地址

93、SET_ADDR ( Set address 设置地址 ):设定口地址

94、PID ( Proportional Integral Differential 比例、积分、微分 ):比例积分微分调节器。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则