1.和输入输出有关的指令
(1)输入输出刷新指令ref ref(p)指令的编号为fnc50。三菱fx系列plc采用集中输入输出的方式。如果需要的输入信息以及希望立即输出结果则必须使用该指令。如图1所示,当x0接通时,x10~x17共8点将被刷新;当x1接通时,则y0~y7、y10~y17、共16点输出将被刷新。
图1 输入输出刷新指令的使用
使用ref指令时应注意:
1)目标操作数为元件编号个位为0的x和y,n应为8的整倍数。
2)指令只要进行16位运算,占5个程序步。
(2)滤波调整指令reff reff(p)指令的编号为fnc51。在fx系列plc中x0~x17使用了数字滤波器,用reff指令可调节其滤波时间,范围为0~60ms(实际上由于输入端有rl滤波,所以最小滤波时间为50μs)。如图2所示,当x0接通时,执行reff指令,滤波时间常数被设定为1ms。
图2 滤波调整指令说明
使用reff指令时应注意:
1)reff为16位运算指令,占7个程序步。
2)当x0~x7用作高速计数输入时或使用fnc56速度检测指令以及中断输入时,输入滤波器的滤波时间自动设置为50ms。
(3)矩阵输入指令mtr mtr指令的编号为fnc52。利用mtr可以构成连续排列的8点输入与n点输出组成的8列n行的输入矩阵。如图3所示,由[s]的输入x0~x7共8点与n点输出y0、y1、y2(n=3)组成一个输入矩阵。plc在运行时执行mtr指令,当y0为on时,读入行的输入数据,存入m30~m37中;y1为on时读入第二行的输入状态,存入m40~m47。其余类推,反复执行。
图3 矩阵输入指令的使用
使用mtr指令时应注意:
1)源操作数[s]是元件编号个位为0的x,目标操作数[d1] 是元件编号个位为0的y,目标操作数[d2] 是元件编号个位为0的y、m和s,n的取值范围是2~8。
2)考虑到输入滤波应答延迟为10ms,对于每一个输出按20ms顺序中断,立即执行。
3)利用本指令通过8点晶体管输出获得64点输入,但读一次64点输入所许时间为20ms×8=160ms,不适应高速输入操作。
4)该指令只有16位运算,占9个程序步。
2.高速计数器指令
(1)高速计数器置位指令hscs dhscs指令的编号为fnc53。它应用于高速计数器的置位,使计数器的当前值达到预置值时,计数器的输出触点立即动作。它采用了中断方式使置位和输出立即执行而与扫描周期无关。如图4所示,[s1.]为设定值(100),当高速计数器c255的当前值由99变100或由101变为100时,y0都将立即置1。
图4 高速计数器指令的使用
(2)高速计速器比较复位指令hscr dhscr指令的编号为fnc54。如图3-63所示,c254的当前值由199变为200或由201变为200时,则用中断的方式使y10立即复位。
使用hscs和hscr时应注意:
1)源操作数[s1.]可取所有数据类型,[s2.]为c235~c255,目标操作数可取y、m和s。
2)只有32位运算,占13个程序步。
(3)高速计速器区间比较指令hsz dhsz指令的编号为fnc55。如图3-63所示,目标操作数为y20、y21和y22。如果c251的当前值k1200时,y22为on。
使用高速计速器区间比较指令时应注意:
1)操作数[s1.] 、[s2.]可取所有数据类型,[s .]为c235~c255,目标操作数[d.]可取y、m、s。
2)指令为32位操作,占17个程序步。
3.速度检测指令
速度检测指令spd的编号为fnc56。它的功能是用来检测给定时间内从编码器输入的脉冲个数,并计算出速度。如图5所示,[d. ]占三个目标元件。当x12为on时,用d1对x0的输入上升沿计数,100ms后计数结果送入d0,d1复位,d1重新开始对x0计数。d2在计数结束后计算剩余时间。
图5 速度检测指令的使用
使用速度检测指令时应注意:
1)[s1.]为x0~x5,[s2.]可取所有的数据类型,[d.]可以是t、c、d、v和z。
2)指令只有16位操作,占7个程序步。
4.脉冲输出指令
三菱plc脉冲输出指令(d)plsy的编号为fnc57。它用来产生数量的脉冲。如图6所示,[s1.]用来脉冲频率(2~20000hz),[s2.]脉冲的个数(16位指令的范围为1~32767, 32位指令则为1~2147483647)。如果脉冲数为0,则产生无穷多个脉冲。[d .]用来脉冲输出元件号。脉冲的占空比为50%,脉冲以中断方式输出。脉冲输出完后,完成标志m8029置1。x10由on变为off时,m8029复位,停止输出脉冲。若x10再次变为on则脉冲从头开始输出。
图6 脉冲输出指令的使用
使用脉冲输出指令时应注意:
1)[s1.]、[s2.]可取所有的数据类型,[d.]为y1和y2。
2)该指令可进行16和32位操作,分别占用7个和13个程序步。
3)本指令在程序中只能使用一次。
5.脉宽调制指令
脉宽调制指令pwm的编号为fnc58。它的功能是用来产生脉冲宽度和周期的脉冲串。如图7所示,[s1.] 用来脉冲的宽度,[s2.]用来脉冲的周期,[d.]用来输出脉冲的元件号(y0或y1),输出的on/off状态由中断方式控制。
图7 脉宽调制指令的使用
使用脉宽调制指令时应注意:
1)操作数的类型与plsy相同;该指令只有16位操作,需7个程序步。
2)[s1.]应小于[s2.]。
6.可调速脉冲输出指令
可调速脉冲输出指令该指令(d)plsr的编号为fnc59。该指令可以对输出脉冲进行加速,也可进行减速调整。源操作数和目标操作数的类型和plsy指令相同,只能用于晶体管plc的y0和y1,可进行16位操作也可进行32位操作,分别占9个和17个程序步。该指令只能用一次。