三菱FX系列PLC-编程2

六、功能指令

3、传送与比较指令(10条)

5)按位取反指令CML

 
指令格式:
举例说明:
有8个霓虹灯,接在Y0~Y7上,要求这8个灯每隔1S间隔交替闪烁,程序如下。

6)块传送指令及多点传送指令BMOV

 
指令格式:
 
 
两种传送方式:
关于文件寄存器
BMOV指令另一应用是对PLC的文件寄存器进行读/写操作。

7)多点传送指令FMOV

 
指令格式:
1个内容复制到多个寄存器,1对多,很少使用。

8)数据交换指令XCH、SWAP

 
指令格式:
若在执行前D10=50、D11=100;
则该指令执行后D10=100、D11=50。 扩展功能:
 
​上下字节交换指令SWAP:
将字元件S的高8位和低8位交换,此指令与XCH指令的扩展功能一样,但该指令不需要将特殊继电器M8160置ON。故一般需要字元件上下字节交换都是使用SWAP指令。

9)BCD变换指令(休眠)

 
​指令格式:
 
若D0=25,
在三菱FX系列内部做四则运行都是采用二进制的形式。

10)BIN码变换指令

将BCD码转换为二进制码。
​举例说明:
PLC外接数字开关。
 
使用格雷码的编码器叫做绝对值编码器,应用GRY、GBIN指令(休眠)进行转换;三菱伺服电机所带编码器为增量式编码器,通过ABS指令获取绝对位置。

4、算术及逻辑运算指令(11条)

在FX2N的PLC除二进制算术运算指令外,还具有浮点运算的专用指令。

1)二进制加法指令ADD

 
指令格式:
 
 

2)二进制减法指令SUB

 
 
 

3)二进制乘法指令MUL

 
 

4)二进制除法指令DIV

 
指令格式:
 

5)二进制加1指令INC

 
指令格式:

6)二进制减1指令DEC

 
​指令格式:
 
指令应用:
INC、DEC指令常和变址寻址配合应用在累加、累减及循环、检索等程序中得到较多应用。 应用举例:
(1)数据累加求和,可用于求平均
(2)将计数器C0~C9当前值转换成BCD码向K4Y0输出显示。

7)逻辑与指令WAND

 
​指令格式:
 
​以“位”为单位作“与”运算。

8)逻辑或指令WOR

 
指令格式:
 
以“位”为单位作“或”运算。

9)逻辑异或指令WXOR

 
指令格式:
 
以“位”为单位作“异或”运算。
 

10)逻辑求补指令NEG

 
​指令格式:
 
按位取反再加1。
应用举例:
 
分析:把两位数字开关接在PLC的X0~X7,然后用BIN指令把数字开关输入的BCD码转化BIN码参与四则运算。

11)浮点数加减乘除指令EADD、ESUB、EMUL、EDIV

5、循环和移位指令(10条)

1)循环右移指令ROR

 
​指令格式:
 
指令说明:
向右移动4位

2)循环左移指令ROL

与上类似

3)带进位循环右移指令RCR

 
​指令格式:
 
指令说明:

4)带进位循环左移指令RCL

与上类似
指令说明:
向左移动4位
上面4条指令目标操作数是字元件,下面指令目标操作数是位元件。
位元件组合:把n个编址相连的位元件组合在一起就组成了位元件组合。而组合位元件则是位元件组合的1个特殊情况。
位移指令就是对位元件组合中的位元件的值进行移动的指令。

5)位右移指令SFTR

 
指令格式:
 
当驱动条件成立时,将以D为首址的位元件组合向右移动n2位,其高位由n2位的位元件组合S移入,移出的n2个低位被舍弃。而位元件组合S保持原值不变。
 
应用举例:

6)位左移指令SFTL

与上类似
指令格式:
 
举例说明:
有十个彩灯,接在PLC的Y0~Y11,要求每隔1S依次由Y0->Y11轮流点亮一个,循环进行,写出PLC控制程序。
 

7)字右移指令WSFR

字元件组合:把n个编址相连的字元件(主要指数据寄存器D)组合在一起就组成了字元件组合。而组合字元件则是字元件组合的1个特殊情况。
位移指令就是对字元件组合中的字元件的值进行移动的指令。
 
指令格式:
 

8)字左移指令WSFL

与上类似
指令格式:
 
举例说明:
把1~100的数字存到D1~D100的数据寄存器中,存储完毕后,Y0的指示灯亮,写出控制程序。若使用MOV要100条。

9)先入先出(FIFO)读出指令SFRD

PLC中采用线性表队列结构,数据存入是按照排队的先后依次进入数据区,读出方式:先入先出。
执行时,将最前面的数读出,同时,后面所有的数据均向前移动1位,最后1位数据也向前移动1位,但其本身数据仍然保持不变,指针自动减1。
 
 
指令格式:
 
 
​当驱动条件成立时,在长度为n的数据库中向以D+1开始的数据寄存器中依次写入S中所存储的当前值。每写入1个数据到数据库中,指针自动加1。
​ 指令说明:
(1)使用脉冲执行型指令SFWRP;
(2)S.与D.均采用数据寄存器D时,其编号不能重复;
(3)指针D的内容不能超过数值(n-1),如超过则指令不执行,且M8022=ON;
(4)如需保存数据区的数值,使用停电保持型数据寄存器(D512~D7999)。 应用举例:
利用SFWRP指令编制在D1~D100内依次存入1~100的数字。存储完毕显示。

10)先入先出(FIFO)写入指令SFWR

 
指令格式:
 

6、数据处理指令(11条)

1)区间复位指令ZRST

 
指令格式:
 
软元件复位方式:RST M0,MOV K0 D100,FMOV K0 D100 K100,以及本指令。

2)解码指令DECO

 
指令格式:
[位操作]
 
[字操作]

3)编码指令ENCO

 
指令格式:
 
 
​ 应用举例:
(1)电梯楼层显示可用编码指令,假定有10层。当电梯从1楼运行到10楼,分别把M0~M9置1,则要求数字显示是从1~10。其中D101为电梯当前所处的层数。
(2)6工位料车控制
 
 
采用ENCO指令编程:
 
采用MOV与CMP指令编程:
程序流程图
对应梯形图

4)求置ON位的总和指令SUM

 
指令格式:

5)置ON位判别指令BON

 
指令格式:

6)平均值指令MEAN

 
指令格式:
三菱模拟量模块FX2N-2AD没有输入量平均值处理,常用MEAN指令处理输入量进行平均值处理。

7)报警器置位指令ANS

 
指令格式:
 
 

8)报警器复位指令ANR

 
应用举例:
 
找到一个复位一个报警:

9)二进制平方根指令SQR、浮点数转换ESQR

 
指令格式:
指令说明:
(1)若对负数开方,M8067=ON;
(2)当舍去小数时,借位标志M8021=ON;当计算结果为0,M8020=ON。

10)整数与小数的转换FLT、INT

(1)整数转换为小数FLT
 
 
指令说明:
将数据寄存器D的整数转换为小数,参与小数运算。常数K、H可直接参与小数去处。
将小数常数转换为浮点数的方法:先乘以1个10的倍数变成整数,再通过指令FLT转成浮点数,此浮点数除以10的倍数复原为小数的浮点数。
 
应用举例:
(2)小数转换为整数INT
 

11)十进制浮点数转换指令DEBCD、DEBIN

 
 
 

7、高速处理指令(11条)

位置控制是指当控制器发出控制指令后,使运动件按指定速度,完成指定方向上的指定位移。位置控制是运动量控制的一种,又称定位控制、点位控制。 普通电机速度定位控制: 开关停止定位+制动+刹车,双速开关停止定位+制动+刹车,脉冲计数停止定位+制动+刹车。 其共同点是当发出位置到达信号后,从电机断电到电机停止运转这段时间均为自由滑行时间,此时间难于精确控制。 伺服控制方式: 在定位控制中,只有当伺服电机和步进电机被引入到定位控制系统作为扫行器后,定位控制(包括其他运动量控制)的速度和精度才得到了很大的提高。
 
 
位置控制三要素:
(1)位置移动速度(脉冲频率);
(2)位置移动距离(脉冲数量);
(3)位置移动方向(方向输出或双向脉冲) 这部分指令共有10条,代码是FNC50~FNC59。特点是输入输出信号可以用中断的方式进行处理。
 

1)输入输出刷新指令REF

 
指令格式:
由于扫描周期的影响,不能马上响应输入输出,相应的X、Y刷新后不受扫描周期影响。

2)输入滤波时间调整指令REFF

 
指令格式:

3)矩阵输入指令MTR

 
指令格式:
 
类似于单片机的多端口复用。
注意:这里的开关ON的时间不能小于20*3=60mS。

4)高速计数置位指令HSCS

 
指令格式:

5)高速计数复位指令HSCR

 
指令格式:

6)高速计数区间比较指令HSZ

 
指令格式:
 
举例说明:
 

7)速度检测指令SPD

 
指令格式:
 
 
举例说明:
用旋转编码器测量电机 的转速,编码器每转输出360个脉冲,写出PLC的控制程序。
采用SPD指令测得100mS所得到的脉冲数为D0,然后带到公式中进行计算;再对公式中的常数进行约分计算。设编码器输出的脉冲输入到PLC的X0点,D10为电机转速。

8)脉冲输出指令PLSY

 
指令格式:
 
 
 
绝对位置当前值数据寄存器:
当前值以原点参考点的绝对地址值,其数值表示工件当前位置。
PLC断开时,当前值寄存器的当前值就会被清除而变0。
指令驱动后,采用中断方式输出脉冲串,若在过程中指令驱动条件断开,输出马上停止,再次驱动后,又从最初开始输出。

9)脉宽调制指令PWM

 
指令格式:
 
 
当驱动条件成立时,从输出口D输出一周期为S2、脉宽为S1的脉冲串。
 
指令说明:
(1)PWM指令的输出脉冲频率比较低,其最小脉冲周期为2mS,则其输出频率最高为500Hz。应用上为了得到较宽的调制范围和精度,一般设置周期都远大于2mS。
(2)脉宽S1必须小于周期S2,若S1大于S2会出错。
(3)脉冲串输出采用中断方式进行,不受扫描周期影响。驱动条件一旦断开,输出立即中断,PLC必须采用晶体管输出型。
(4)PWM指令在程序中只能使用一次,PWM、PLSY、PLSR一个口上只能用一种指令。 PWM指令多用在模拟量控制中,如把PID控制指令的输出作为PWM指令的脉宽,然后用PWM指令的输出调制脉冲去控制一个执行器而完成控制任务。通常情况下,PWM指令输出的调制脉冲是通过外接电子电路或器件(固态继电器),才能控制执行器。

10)可调脉冲输出指令PLSR

 
指令格式:
 
 
应用举例:
PLC通过步进驱动器控制步进电机转动,PLC发出脉冲信号(Y0)和方向信号(Y10),假定步进电机转一周需要PLC发出1000个脉冲,且要求在1S左右转动一周,现在要求步进电机正转5周,停5S,再反转5周,停5S,如此循环运行,写出PLC控制程序。
 
 
 
 

11)可变速脉冲输出指令PLSV

 
​当驱动条件成立时,从输出口D1输出频率为S的脉冲串。电机转向信号同D2口输出,如S为正值,则D2=ON,电机正转;如S为负值,则D2=OFF,电机反转。D2不需要编程,没有脉冲输出。
 
(1)脉冲输出过程中,若将S变为K0则马上停止。同样,若驱动条件在脉冲输出过程中断开,也会马上停止。
(2)虽然PLSV指令为可随时改变脉冲的频率,但在脉冲输出过程中,最好不要改变输出脉冲的方向(即由正频率变为负频率或相反)。若要变更方向,可先将输出频率设为K0,并设定电机充分停止时间,再输出不同方向的频率值。
(3)PLSV指令的缺点是在开如、频率变化与停止时均没有加减速动作。这就影响了指令的使用。因此,常把PLSV指令与斜坡指令RAMP配合使用,利用斜坡指令RAMP的递增、递减速功能来实现PLSV指令的加、减速。

12)原点回归指令ZRN

在定位控制中,一般都要确定一个位置为原点,而定位运动控制,每次都是以原点位置为运动位置的参考点。 机械原点指设备出厂时所指定的工件加工起始位置;电气原点则是当前值CP=0的工件加工起始位置。
 
 
驱动条件成立时,机械以原点回归速度S1从当前位置B向原点A移动,在碰到近点信号S3由OFF变ON时就开始减速到爬行速度S2,并以爬行速度继续向原点移动,当近点信号由ON变OFF时,就立即停止脉冲输出D。结束原点回归动作工作过程,停止位置为原点A。
 
 
 
 
 
速度与位置参数:
在定位控制中涉及到很多速度与位置参数,如最高速度、运行速度、原点回归速度、爬行速度、相对位移、绝对位移、当前位置等。这些参数,有些在指令中直接给出,有些必须写入到相应的特殊数据寄存器中。
原点回归速度:原点回归时,开始时以原点回归速度回归,原占回归速度较高。
爬行速度:当原点回归碰到近点信号后,减速至爬行速度回归。一般爬行速度大大低于原点回归速度。因而在快到原点时,由于机械惯性较小,故能较准确的停止在原点。
爬行速度取值要适当取小一些,机械惯性越大,爬行速度应越小,但需要大于等于基底速度。
近点信号:其通断时间非常重要,它接通时间不能太短,太短的话就不能以原点回归速度降到爬行速度。同样会导致停止位置的偏移。
回归方向与指令局限性:

13)相对位置控制定位DRVI

相对位移:指移位后位置座标与当前位置座标的位移量。
 
绝对位移:指移位后位置与原点的位移量(绝对位置值)。
 
位置控制三要素:位置移动方向(电机转动方向);位置移速度(电机转速);位置移动距离(相对或绝对)。
 
驱动条件成立时,输出口D1发出定位脉冲,电机以转速S2转动S1个脉冲数。转向由S1的正、负确定。S1为正,D2=ON,电机正转;S1为负,D2=OFF,电机反转。D2由S1确定,无需编程确定。
 
 
​最高速度(脉冲频率最高值):电机运行时最高速度,实际运行速度必须小于该值。
最高速度存于寄存器D8147(高位)、D8146(低位)中,其设定范围10~100KHz,出厂值100KHz。
运行速度:指令对运行速度的限制:最低速度≤运行速度<最高速度
最低输出频率 = 最高速度÷[2×(加减速时间mS)÷1000],由式可知,最低输出频率仅与最高频率和加减速时间有关。如最高频率为50KHz,加减速时间100mS,则可计算出最低输出频率500Hz。
 
在实际应用中,若S2设定小于500Hz(S2=300Hz),则电机按最低输出频率500Hz运行。
电机在加速初期和减速最终部分的实际输出频率也不能低于最低输出频率。
基底速度:电机运行的起动速度,也即当电机从位置A向位置B移动时,产不是从0开始加速,而是从基底速度开始加速到运行速度。基底速度存于寄存器D8145,出厂值为0。
基底速度是针对步进电机运行所设的速度参数,对伺服电机来说,基底速度可设为0。 加减速时间:指电机从当前位置加速到最高转速或从最高速度到当前位置的时间。当输出脉冲频率小于最高速度时,实际加减速时间要小一些。
 
 
指令说明:
指令驱动后,若驱动条件OFF,则将减速停止,但完成标志位M8029并不动作。
若在指令执行中改变指令的操作内容,这种改变不能更改当前的运行,只能在下一次执行时才生效。
电机的方向信号(D2)都是指令自动完成的,不需要在程序中另行考虑。
指令在执行过程中,输出的脉冲数以增量的方式存入当前值寄存器。正转时当前值增加,反转减少,所以相对位置控制指令又叫增量式驱动指令。
特殊辅助继电器、特殊数据寄存器见ZRN指令。

14)绝对位置控制指令DRVA

 
其它同“相对位置控制定位DRVI”,不同点如下。
DRVI指令是通过输出脉冲数量的正、负来决定电机的转向,而DVIA指令电机的转向则是通过与当前值比较后确定的。
DRVI指令中所指定的脉冲数量就是PLC输出的数量,而DRVA指令中所指定的数量不是PLC实际发出的脉冲的数量,其实际输出脉冲数是与指令驱动前当前值机运算的结果。
DRVI指令暂停后再驱动不能继续原来的运行,而DRVA指令暂停后再驱动可以继续原来的运行(位移相对于原点)。

15)绝对位置数据读取指令ABS

ABS指伺服定位控制中的运动所在的绝对位置数据,ABS数据读取就是当PLC发生断电时,运动停在当前位置,这样在再次通电后,希望把运动当前绝对位置数据重新送回PLC的当前值存储器中。
(1)绝对式编码器位置数据直接读取:记下编码器的运转圈数(对零脉冲信号计数)与当前的编码值,就可以知道其绝对位置数据 。
(2)增量式编码器位置数据读取:记下编码器的圈数与相对于零脉冲的增量脉冲数,这种方式又称作伪绝对编码器数据读取。
 
驱动条件成立时,将在伺服驱动器中保存的绝对位置数据通过输入、输出控制信号以通信方式传送到PLC的存储地址D中。 ABS数据的读取是在伺服驱动器与PLC之间进行的,而通信方式的读取是通过一系列ON/OFF控制的信号的时序完成的,ABS指令必须对上述读取过程提出一定的外部设备连接与ABS指令应用要求。
详细了解见“三菱FX2N-PLC功能指令应用详解”之P412。

8、方便指令(10条)

1)状态初始化指令IST

 
指令格式:
 
​使用说明:
(1)该指令主要是应用于步进指令控制当中,且有多种控制方式时采用。使用这条指令,可以使控制程序大大简化。
如在机械手的控制中,有5种控制方式:手动、回原点、单步运行、单周期运行、自动控制。但程序只写手动、回原点、自动控制三种控制方式的程序即可。
 
 
(3)[D1]、[D2]是指在自动操作中实际用到的最小状态号和最大状态号。如前所述D1 = S20,D2 = S27。
(5)本指令在程序中只能用1次,且放在步进顺控指令STL之前编程。
(6)若选择开关在回原点完成辅助继电器M8043未置1之前改变运行方式,则所有输出变为OFF。即先回原点,再改变运行方式。

2)查找数据指令SER

 
指令格式:
 
 
 
​应用举例:
中位值平均滤波程序:连续采集n个数据,去掉1个最大值、最小值,计算剩下的(n-2)个数据的平均值。
 

​3)绝对值式凸轮顺控指令ABSD

 
​指令格式:
 
凸轮工作原理:
 

4)增量式凸轮顺控指令INCD

 
指令格式:
 
​指令说明:
预先用传送指令将下列数据[S1]中,如:D300=20,D301=30,D302=10,D303=40。
 
应用举例:
使用INCD指令编写前述喷泉控制程序。分为6个阶段动作,用M0~M5表示,每个阶段时间用MOV传到相应的数据寄存器中。
调试前X0=ON。
 
 

5)示教定时器指令TIMR

 
指令格式:
 
指令说明:
如按钮X10接通的时间为t0时,根据n的值,实际的D300的值如下表:
当X10 = OFF时,D301复位,D300不变。

6)特殊定时器指令STMR

 
指令格式:

​7)斜波信号输出指令RAMP

 
指令格式:
 
​对于特殊辅助继电器M8026,若M8026 = ON则是保持工作方式。若M8026 = OFF,则是连续工作方式。如下图:
 
​关于恒扫描坝基:
将扫描周期时间写入D8039数据寄存器,该扫描周期时间稍大于实际值,再令M8039置1,则PLC进入恒扫描周期的运行方式。

​8)旋转工作台指令ROTC

 
指令格式:
 
 
​X10 = ON,0点检测信号(M2)为ON时,计数寄存器D200的内容清零,需预先进行清除操作后开始工作。
各操作数含义:
 
 
旋转检测信号为100脉冲/转,工作台10分割,则指令中m1 = 100。工件号、调用窗口号都应是10的倍数,即为0、10、20…90。低速区间,1.5倍,m2 = 15。
举例说明:
 
 
 
 
 

​9)列表数据排列指令SORT

 
​指令格式:
 
 
 
 

10)交替输出指令ALT

 
驱动条件成立时,D中指定的位元件执行ON/OFF反转1次,其主要用于两种状态的切换。
应用举例:
(1)分频
添加图片注释,不超过 140 字(可选)
(2)电机控制
 
 

9、外部IO设备指令

1)十键输入指令TKY(休眠)

 
​指令格式:
 
 

​2)十六键输入指令HKY(休眠)

 
指令格式:
 
​指令说明:
 

六、功能指令

10、外部IO设备指令

3)数字开关指令DSW(休眠)

用BIN接数字开关占用的点数较多,DSW更有优势。
指令格式:
 
 
 
 

4)七段译码指令SEGD(休眠)

 
​指令格式:
 
​指令说明:

5)带锁存的七段显示指令SEGL(休眠)

 
指令格式:
 
使用说明:
 

​6)方向开关指令ARWS(休眠)

 
指令格式:
 

7)模拟量输入指令VRRD

 
 
 
指令格式:

8)模拟量开关设定指令VRSC

 
指令格式:
 
应用举例:
 
波段开关
 

9)PID运算指令

 
​指令格式:
 
指令说明:
 
 
 
 
 
 
 
 
 
 

10)特殊功能模块读写指令FROM、TO

 
 
 
 
 
指令说明:
(1)M8028 = OFF,执行FROM、TO指令时,不响应中断,等到完毕后再响应;M8028 = ON,马上响应中断,再执行FROM、TO;指令不能出现在中断服务程序中。
(2)运算时间延长的处理。

11)串行数据传送指令RS

​12)HEX->ASCII码变换、ASCII->HEX码变换、校验指令指令ASCI、HEX、CCD

 
 
将存储在以S为首址的寄存器的16进制字符,转换成相应ASCII码存放在以D为首址的寄存器中,n为转换的16进制字符个数。
 
ASCII指令执行时,对所转换的数据的处理有两种处理模式,由特殊继电器M8161的状态决定。
M8161 = ON,8位数据处理模式;M8161 = OFF,16位数据处理模式。
8位数据处理模式:指令对转换成相应的ASCII码仅向寄存器D的低8位传送,D的高8位为0,1个S是4个16进制数符,转换后ASCII码必须有4个D来存放。
 
​16位数据处理模式:指令对转换成相应的ASCII码仅向寄存器D的高8位,低8位传达,1个S是4个16进制,转换后ASCII码必须有2个D来存放。
指令应用:
在许多通信协议中,它的数据传输要求是以ASCII码进行传输,如ModBus协议ASCII通信方式。
把HEX数转换成ASCII码,有两种方法:人工查表转换,利用ASCII指令设计程序自动转换。
 
将存储在以S为首址的寄存器的ASCII码转换成相应16进制字符,存放在以D为首址的寄存器中,n为转换的16进制字符个数。
 
​CCD指令是针对求和校验和异或校验设计的,三菱变频器专用通信协议采用的求和校验码。
 
将以S为首址的寄存器的n个数据进行求和校验,求和校验码存(D),异或校验码存(D+1)。
 

星光不问赶路人,岁月不负有心人。觉得不错,动动发财的小手点个赞哦!也可以去公众号获取更多资料,全网同号。
posted @ 2025-09-17 11:14  爱上电路设计  阅读(44)  评论(0)    收藏  举报