四、基本指令-其他指令[MC/NOP/END]
MC指令是和MCR指令成对使用的,执行MC指令后母线会转移到MC触点内,使用MCR指令可将母线返回主线上。
在MC指令和MCR指令之间的输出线圈只有在MC指令被驱动时才会执行各个动作(不需要触发条件的指令除外),当MC指令不执行时,其内部程序的输出线圈都相当于驱动条件为断开状态。
MC指令的结构为MC Nn Mn或MC Nn Yn,与之配对的MCR指令只需要编辑上对应的Nn编号即可。
MC指令内可以再包括MC指令,这种结构叫做嵌套。使用嵌套程序时,级别N的编号应该按照顺序增大,MCR指令则需从最大编号的嵌套级别逐级返回,否则它会忽略较大编号的嵌套程序。嵌套最大可以编写8级。
在GX Developer软件中写入模式下编辑程序时,MC和MCR程序之间母线上的Nn编号不会显示,但用Shift+F2键切换到读取模式后或者在切换到监视状态时就会显示出来。
NOP指令为空操作指令,PLC运行到该指令时会无视它的存在而继续运行。NOP指令会对程序的步数产生影响。但在梯形图中无法直观的看到NOP的存在,切换到语句表状态就能看到。
END指令为表示程序结束的指令,PLC执行到END指令时,不再执行其后面的程序,会开始输入输出状态处理并返回程序开头的第0步。执行END指令时还会刷新看门狗定时器。在GX Developer软件中不用专门输入该指令,程序编辑完用F4转换后END指令会自动添加在程序末尾。
五、编程的注意事项
1- 触点的构成和步
执行相同动作的梯形图通过优化触点构成的方法,可以简化程序和节约步数。基本原则是串联较多的梯形图尽量写在上方,并联触点较多的梯形图尽量写在左方。
2- 双重输出(双线圈)
在顺控程序中输出线圈被多次驱动成为双重输出(双线圈),出现该情况时其触点状态以程序当前逻辑状态为准。两个或多个线圈的状态容易相互干扰,进而影响编程人员对程序执行结果的判断。
对于输出继电器而言,进入输出映像阶段时双线圈以最后的线圈状态为准,所以用GX Developer软件监控时可能会发现条件满足而没有输出的线圈。
3- 16位/32位指令
根据处理数据的大小,应用指令可以分为“16位指令”和“32位指令”。通过在16位指令前面加“D”符号就会将其切换为32位指令,此时指令中的软元件会与紧接其后的软元件号码组合为32位元件。
4- 脉冲执行/连续执行指令
连续执行指令是指在每个扫描周期都执行的指令,脉冲型指令则是在驱动条件满足时只执行一个扫描周期。通过在连续执行指令后面加“P”符号就会将其切换为脉冲执行指令。