西门子模块6SL3330-7TE36-1AA3详细说明
PLC功能指令实际上就是功能各异的PLC子程序块。FX2N系列PLC的功能指令有程序流程、传送比较、四则逻辑运算、旋转移位、数据处理、高速处理、方便指令、外部设备处理、浮点数、时钟运算、接点比较等若干类。本节仅介绍FX2N系列PLC常用的功能指令。
一、功能指令形式1.功能指令格式
功能指令用编号FNC00~FNC246表示,并给出对应的语句名称,每条功能指令都有一个指令表。例如FNC45是一条数据处理平均值功能的指令,助记符为***N,使用简易编程器时输入FNC45,而采用智能编程器或计算机编程时也可输入助记符***N。图1是一条取平均值功能指令的梯形图。
图1 ***N示例梯形图
图中***N是功能指令的语句名称,也可使用FNC45(但不直观);D0是源操作数的首元件;D4Z是指定计算结果存放的数据寄存器的地址;K3是指定取值的个数为3。显然该功能指令的含义是D4Z =(D0+D1+D2)/3,即将(D0+D1+D2)/3的运算结果赋值给D4Z。
功能指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。
2. 功能指令执行方式
功能指令有连续执行和脉冲执行两种类型。图2中第1支路的MOV是连续执行型指令,即当X001接通时,各运算周期都执行一次,而第2支路的MOV(P)是脉冲执行型型指令,(P)就表示当X000由OFF转换为ON时,仅执行一次指令。
图2 功能指令执行方式示例
3.可处理数据长度
功能指令可处理16位数据,也可处理32位数据,见图3示例梯形图。第1梯级中,当X000接通,则移位MOV功能指令处理的数据为16位,即将D10 的内容传送至D12;而在第2梯级中,(D)MOV功能指令处理的数据为32位,将D21D20(由D21、D20构成的32位数据)的内容传送到 D23D22(由D23、D22组成的32位数据存储单元)。
图3 功能指令处理数据长度示例
1.条件跳转指令
当执行条件跳转指令CJ指令时,跳过CJ指令和指针标号之间的程序,见图4。当X30接通时,跳转到P20处执行该行及以后程序,如果X30不接通,则跳转不执行,程序按原顺序执行。指令可用的有效指针范围为P0~P127。
图4 CJ指令应用示例
执行跳转指令CJ后,对于不被执行的指令,即使输入零件状态发生改变,输出元件的状态也维持不变。
2.子程序调用指令
图5 CALL指令示例
子程序调用CALL指令的操作数为P0~P127,占用3个程序步。需与子程序返回指令SRET(无操作数)配合使用,见图5。
若X0接通,则转到标号P10处去执行子程序。当执行到子程序结束SRET指令时,返回到CALL指令的下一步执行。使用子程序调用与返回指令时应注意转移标号不能重复,也不可与跳转指令的标号重复。子程序调用可以嵌套调用,*多可达5级嵌套。
FEND是主程序结束指令,无操作数,占用1个程序步。表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回起始步。
1.CMP指令
图6 CMP指令示例
比较CMP指令有3个操作数,其中是将2个源操作数相比较,将比较结果送到目标操作数中,见图6示例。当X0接通时,比较K100和C10当前值的大小,分三种情况分别接通M0、M1、M2中一个辅助继电器,另二个辅助继电器则不接通。若X0不接通,则CMP指令也不执行。
2.ZCP指令
区间比较ZCP指令是将1个源数据与2个源源数据相比较,比较结果将影响目标存储器的数据状态,见图7。当X0接通时,根据C30与K100、K120之间的比较结果,分别对M3、M4、M5进行赋值。
图7 ZCP指令示例
四、FX2N顺控指令 FX2N系列PLC有900个状态元件可用于顺序功能图中,其中S0~S9为初始状态器,存储顺序功能图中的起始状态数据,S10~S19为回零状态继电器,S20~S899是普通状态器。
FX2N系列PLC顺控指令有步进触头STL指令和步进返回RET指令。其中STL指令用于步进触头的驱动,而RST指令则用于步进程序结束返回。
1. 单序列顺控指令应用
图8是运料小车的顺控功能图。该小车的一个工作周期由5步组成,分别对应S0、S20~S23,其中步S0为初始步。
图9是运料小车单序列顺控梯形图,第1支路中当初始化脉冲M8002的常开触头闭合时,由SET指令将初始步S0置为活动步。第2支路中当SO的STL 触头和X3的常开触头同时接通时,由SET指令将S20置为活动步。进入第3支路后,当Y1闭合,则置Y0输出为ON并保持,若限位开关X1按下,由步 S20转换至步S21的条件满足,由SET指令将S21置为活动步。直至第6支路中当S23被置为活动步,同时行程开关X2按下时,顺控状态将从S23转换到S0,此处须用OUT指令输出SO状态步,以实现了循环操作。在一系列STL指令之后需用RET指令结束步进顺控指令,使其重返左母线。
图8 单序列顺控梯形图
图9 运料小车单序列顺控功能图
梯形图对应的语句指令程序为:
LD M8002
SET S0 //激活状态步S0
//状态步S0的活动过程
STL SO
LD X3
SET S20
//状态步S20的活动过程
STL S20
LDI Y1
OUT Y0
LD X1
SET S21
//状态步S21的活动过程
STL S21
LDI Y0
OUT Y1
LD X2
SET S22
//状态步S22的活动过程
STL S22
LDI Y1
OUT Y0
LD X0
SET S23
//状态步S23的活动过程
STL S23
LDI Y0
OUT Y1
LD X2
OUT S0 //用OUT指令返回初始状态步S0
RET //结束步进顺控指令
END
图10是选择序列顺控功能图。该顺序功能图有三个分支流程顺序,S20为分支状态,根据不同的条件X00、X10、X20选择执行其中的一个分支流程。当X00为ON时执行第一分支流程,X10为ON时执行第二分支流程,X20为ON时执行第三分支流程。但X00、X10、X20中任二个或三个不能同时为ON。
图10 选择序列顺控功能图
图11是该选择序列顺控梯形图。梯形图中先对分支状态S20执行驱动处理OUT Y00,然后再按S21、S31、S41的顺序进行转移处理。而汇合状态为S50,汇合前先进行Y22、Y32、Y42的输出处理,然后再分别从第一分支的S22、第二分支的S32、第三分支的S42向汇合状态S50转移。
图11 选择序列顺控梯形图
梯形图对应的语句指令程序为:
STL S20
OUT Y00 //驱动处理
LD X00
SET S21 //转移到第一分支状态
LD X10
SET S31 //转移到第二分支状态
LD X20
SET S41 //转移到第三分支状态
//第一分支汇合前的输出处理
STL S21
OUT Y01
LD X01
SET S22
STL S22
OUT Y02
//第二分支汇合前的输出处理
STL S31
OUT Y11
LD X11
SET S32
STL S32
OUT Y12
//第三分支汇合前的输出处理
STL S41
OUT Y21
LD X21
SET S42
STL S42
OUT Y22
//第一分支向S50转移
STL S22
LD X02
SET S50
//第二分支向S50转移
STL S32
LD X12
SET S50
//第三分支向S50转移
STL S42
LD X22
SET S50
图12是并行序列顺控功能图。图中当X00接通时,状态S20同时转移,使S21、S31、S41同时为ON。只有在S22、S32、S42三个状态全部运行结束,且X02接通,才能使S50为ON,并使S22、S32、S42同时复位为OFF。
图13是并行序列顺控梯形图。图中先对分支状态S20进行驱动处理,即OUT Y00,然后按分支顺序进行状态转移。若分支状态S20为ON,且并行处理条件X00也为ON,则S21、S31、S41同时动作,三条分支同时开始运动。
图12 并行序列顺控功能图
图13 并行序列顺控梯形图
S50为汇合状态,汇合前先进行汇合前的状态驱动处理,即按分支顺序对S21、S22、S31、S32、S41、S42进行输出处理。三个分支流程全部执行完成后,且X02为ON,则执行从S22、S32、S42到S50的转移,使S50为ON。S22、S32、S42同时复位。
该梯形图对应的语句指令程序为:
STL S20
OUT Y00
LD X00 //并行转移条件
//转移处理
SET S21 //向第一分支转移
SET S31 //向第二分支转移
SET S41 //向第三分支转移
//第一分支输出程序
STL S21
OUT Y01
LD X01
SET S22
STL S22
OUT Y02
//第二分支输出程序
STL S31
OUT Y11
LD X11
SET S32
STL S32
OUT Y12
//第三分支输出程序
STL S41
OUT Y21
LD X21
SET S42
STL S42
OUT Y22
//按顺序进行各分支向汇合状态S50转移
STL S22
STL S32
STL S42
LD X02
SET S50
撰写CJ指令、CALL指令、单序列、选择序列、并行序列顺控等指令作用的说明书