最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

三菱PLC编程指令

IT圈 admin 98浏览 0评论

2024年10月3日发(作者:僧雅寒)

三菱PLC编程

第一部分 软元件的功能与代号

一、输入继电器(X)

输入继电器与输入端相连,它是专门用来接受PLC外部开关信号的元件。PLC通过输

入接口将外部输入信号状态(接通时为“1”,断开时为“0”)读入并存储在输入映象寄存器中。

如图3-2所示为输入继电器X1的等效电路。

输入继电器必须由外部信号驱动,不克不及用程序驱动,所以在程序中不成能出现其

线圈。由于输入继电器(X)为输入映象寄存器中的状态,所以其触点的使用次数不限。

FX系列PLC的输入继电器以八进制进行编号,FX2N输入继电器的编号范围为

X000~X267(184点)。注意,基本单元输入继电器的编号是固定的,扩展单元和扩展模块

是按与基本单元最靠近开始,顺序进行编号。例如:基本单元FX2N-64M的输入继电器编

号为X000~X037(32点),如果接有扩展单元或扩展模块,则扩展的输入继电器从X040开

始编号。

二、输出继电器(Y)

输出继电器是用来将PLC内部信号输出

传送给外部负载(用户输出设备)。输出继电

器线圈是由PLC内部程序的指令驱动,其线

圈状态传送给输出单元,再由输出单元对应的

硬触点来驱动外部负载。如图3-3所示为输出

继电器Y0的等效电路。图3-3 输出继电器

的等效电路

每个输出继电器在输出单元中都对应有维一一个常开硬触点,但在程序中供编程的输出继

电器,不管是常开还是常闭触点,都可以无数次使用。

FX系列PLC的输出继电器也是八进制编号其中FX2N编号范围为Y000~Y267(184点)。

与输入继电器一样,基本单元的输出继电器编号是固定的,扩展单元和扩展模块的编号也是

按与基本单元最靠近开始,顺序进行编号。

在实际使用中,输入、输出继电器的数量,要看具体系统的配置情况。

三、通用辅助继电器(M0~M499)

FX2N系列共有500点通用辅助继电器。通用辅助继电器在PLC运行时,如果电源突

然断电,则全部线圈均OFF。当电源再次接通时,除了因外部输入信号而变成ON的以外,

其余的仍将坚持OFF状态,它们没有断电呵护功能。通用辅助继电器常在逻辑运算中作为

辅助运算、状态暂存、移位等。

根据需要可通过程序设定,将M0~M499变成断电坚持辅助继电器。

四、断电坚持辅助继电器(M500~M3071)

FX2N系列有M500~M3071共2572个断电

坚持辅助继电器。它与普通辅助继电器分歧的是

具有断电呵护功能,即能记忆电源中断瞬时的状

态,并在重新通电后再现其状态。它之所以能在

电源断电时坚持其原有的状态,是因为电源中断

时用PLC中的锂电池坚持它们映像寄存器中的内

容。其中M500~M1023可由软件将其设定为通用

辅助继电器。

下面通过小车往复运动控制来说明断电坚持

辅助继电器的应用,如图3-4所示。图3-4断电坚

持辅助继电器的作用

小车的正反向运动中,用M600、M601

控制输出继电器驱动小车运动。X1、X0为限位输

入信号。运行的过程是X0=

ON→M600=ON→Y0=ON→小车右行→停电→小

车中途停止→上电(M600=ON→Y0=ON)再右行

→X1=ON→M600=OFF、M601=ON→Y1=ON(左

行)。可见由于M600和M601具有断电坚持,所

以在小车中途因停电停止后,一旦电源恢复,M600或M601仍记忆原来的状态,将由它们

控制相应输出继电器,小车继续原方向运动。若不必断电呵护辅助继电器当小车中途断电后,

再次得电小车也不克不及运动。

五、特殊辅助继电器

PLC内有大量的特殊辅助继电器,它们都有各自的特殊功能。FX2N系列中有256个特

殊辅助继电器,可分成触点型和线圈型两大类

(1)触点型 其线圈由PLC自动驱动,用户只可使用其触点。例如:

M8000:运行监视器(在PLC运行中接通),M8001与M8000相反逻辑。

M8002:初始脉冲(仅在运行开始时

瞬间接通),M8003与M8002相反逻辑。

M8011、M8012、M8013和M8014分

别是发生10ms、100ms 、1s和1min时钟

脉冲的特殊辅助继电器。

M8000、M8002、M8012的波形图如

图2所示。 图2 M8000、M8002、M8012

波形图

(2)线圈型 由用户程序驱动线圈后PLC执行特定的动作。例如:

M8033:若使其线圈得电,则PLC停止时坚持输出映

象存储器和数据寄存器内容。

M8034:若使其线圈得电,则将PLC的输出全部禁止。

M8039:若使其线圈得电,则PLC按D8039中指定的

扫描时间工作。

六、状态器(S)

状态器用来纪录系统运行中的状态。是编制顺序控制

程序的重要编程元件,它与后述的步进顺控指令STL配合

应用。

如图3-6所示,我们用机械手动作简单介绍状态器S的作用。当启动信号X0有效时,

机械手下降,到下降限位X1开始夹紧工件,加紧到位信号X2为ON时,机械手上升到上

限X3则停止。整个过程可分为三步,每一步都用一个状态器S20、S21、S22记录。每个状

态器都有各自的置位和复位信号(如S21由X1置位,X2复位),并有各自要做的操纵(驱

动Y0、Y1、Y2)。从启动开始由上至下随着状态动作的转移,下一状态动作则上面状态自

动返回原状。这样使每一步的工作互不干扰,不必考虑分歧步之间元件的互锁,使设计清晰

简洁。

状态器有五种类型:初始状态器S0~S9共10点;回零状态器S10~S19共10点;通

用状态器S20~S499共480点;具有状态断电坚持的状态器有S500~S899,共400点;供

报警用的状态器(可用作外部故障诊断输出)S900~S999共100点。

在使用用状态器时应注意:

1)状态器与辅助继电器一样有无数的常开和常闭触点;

2)状态器不与步进顺控指令STL配合使用时,可作为辅助继电器M使用;

3)FX2N系列PLC可通过程序设定将S0~S499设置为有断电坚持功能的状态

器。

七、定时器(T)

PLC中的定时器(T)相当于继电器控制系统中的通电型时间继电器。它可以提供无限

对常开常闭延时触点。定时器中有一个设定值寄存器(一个字长),一个当前值寄存器(一

个字长)和一个用来存储其输出触点的映象寄存器(一个二进制位),这三个量使用同一地

址编号。但使用场合纷歧样,意义也分歧。

FX2N系列中定时器时可分为通用定时器、积算定时器二种。它们是通过对一定周期的

时钟脉冲的进行累计而实现定时的,时钟脉冲有周期为1ms、10ms、100ms三种,当所计数

达到设定值时触点动作。设定值可用常数K或数据寄存器D的内容来设置。

1.通用定时器

通用定时器的特点是不具备断电的坚持功能,即当输入电路断开或停电时定时器复位。

通用定时器有100ms和10ms通用定时器两种。

(1)100ms通用定时器(T0~T199) 共200点,其中T192~T199为子程序和中断

服务程序专用定时器。这类定时器是对100ms时钟累积计数,设定值为1~32767,所以其

定时范围为0.1~3276.7s。

(2)10ms通用定时器(T200~

T245) 共46点。这类定时器是对

10ms时钟累积计数,设定值为1~

32767,所以其定时范围为0.01~

327.67s。

下面举例说明通用定时器的工作

原理。如图1所示,当输入X0接通时,

定时器T200从0开始对10ms时钟脉

冲进行累积计数,当计数值与设定值

K123相等时,定时器的常开接通Y0,

经过的时间为123×0.01s=1.23s。当X0

断开后定时器复位,计数值变成0,其

常开触点断开,Y0也随之OFF。若外

部电源断电,定时器也将复位。图

1 通用定时器工作原理

2.积算定时器

积算定时器具有计数累积的功能。在定时过程中如果断电或定时器线圈OFF,积算定

时器将坚持当前的计数值(当前值),通电或定时器线圈ON后继续累积,即其当前值具有

坚持功能,只有将积算定时器复位,当前值

才变成0。

(1)1ms积算定时器(T246~

T249) 共4点,是对1ms时钟脉冲进行累

积计数的,定时的时间范围为0.001~

32.767s。

(2)100ms积算定时器(T250~T255)

共6点,是对100ms时钟脉冲进行累积计数

的定时的时间范围为0.1~3276.7s。

以下举例说明积算定时器的工作原理。如图2所示,当X0接通时,T253当前值计数

数器开始累积100ms的时钟脉冲的个数。当X0经t0后断开,而T253尚未计数到设定值

K345,其计数的当前值保存。当X0再次接通,T253从保存的当前值开始继续累积,经过

t1时间,当前值达到K345时,定时器的触点动作。累积的时间为t0+t1=0.1×345=34.5s。当

复位输入X1接通时,定时器才复位,当前值变成0,触点也跟随复位。图2 积算定时器工

作原理

八、辅助继电器(M)

辅助继电器是PLC中数量最多的一种继电器,一般的辅助继电器与继电器控制系统中

的中间继电器相似。

辅助继电器不克不及直接驱动外部负载,负载只能由输出继电器的外部触点驱动。辅

助继电器的常开与常闭触点在PLC内部编程时可无限次使用。

辅助继电器采取M与十进制数共同组成编号(只有输入输出继电器才用八进制

数)。

九、数据寄存器(D)

PLC在进行输入输出处理、模拟量控制、位置控制时,需要许多数据寄存器存储数据

和参数。数据寄存器为16位,最高位为符号位。可用两个数据寄存器来存储32位数据,最

高位仍为符号位。数据寄存器有以下几种类型:

1.通用数据寄存器(D0~D199)

共200点。当M8033为ON时,D0~D199有断电呵护功能;当M8033为OFF时则它

们无断电呵护,这种情况PLC由RUN →STOP或停电时,数据全部清零。

2.断电坚持数据寄存器(D200~D7999)

共7800点,其中D200~D511(共12点)有断电坚持功能,可以利用外部设备的参数

设定改变通用数据寄存器与有断电坚持功能数据寄存器的分配;D490~D509供通信用;

D512~D7999的断电坚持功能不克不及用软件改变,但可用指令清除它们的内容。根据参

数设定可以将D1000以上做为文件寄存器。

3.特殊数据寄存器(D8000~D8255)

共256点。特殊数据寄存器的作用是用来监控PLC的运行状态。如扫描时间、电池电

压等。未加定义的特殊数据寄存器,用户不克不及使用。具体可拜见用户手册。

4.变址寄存器(V/Z)

FX2N系列PLC有V0~V7和Z0~Z7共16个变址寄存器,它们都是16位的寄存器。

变址寄存器V/Z实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器

变,用于改变元件的编号(变址),例如V0=5,则执行D20V0时,被执行的编号为D25

(D20+5)。变址寄存器可以象其它数据寄存器一样进行读写,需要进行32位操纵时,可将

V、Z串联使用(Z为低位,V为高位)。

十、计数器(C)

FX2N系列计数器分为内部计数器和

高速计数器两类。

1.内部计数器

内部计数器是在执行扫描操纵时对内

部信号(如X、Y、M、S、T等)进行计数。

内部输入信号的接通和断开时间应比PLC

的扫描周期稍长。

(1)16位增计数器(C0~C199) 共

200点,其中C0~C99为通用型,C100~

C199共100点为断电坚持型(断电坚持型

即断电后能坚持当前值待通电后继续计

数)。这类计数器为递加计数,应用前先对

其设置一设定值,当输入信号(上升沿)个数累加到设定值时,计数器动作,其常开触点闭

合、常闭触点断开。计数器的设定值为1~32767(16位二进制),设定值除了用常数K设

定外,还可间接通过指定数据寄存器设定。

下面举例说明通用型16位增计数器的工作原理。如图1所示,X10为复位信号,当

X10为ON时C0复位。X11是计数输入,每当X11接通一次计数器当前值增加1(注意X10

断开,计数器不会复位)。当计数器计数当前值为设定值10时,计数器C0的输出触点动作,

Y0被接通。此后既使输入X11再接通,计数器的当前值也坚持不变。当复位输入X10接通

时,执行RST复位指令,计数器复位,输出触点也复位,Y0被断开。图3-9通用型16位

增计数器

(2)32位增/减计数器(C200~C234) 共有35点32位加/减计数器,其中C200~

C219(共20点)为通用型,C220~C234(共15点)为断电坚持型。这类计数器与16位增

计数器除位数分歧外,还在于它能通过控制实现加/减双向计数。设定值范围均为

-214783648~-+214783647(32位)。

C200~C234是增计数还是减计数,分别由特殊辅助继电器M8200~M8234设定。对

应的特殊辅助继电器被置为ON时为减计数,置为OFF时为增计数。

计数器的设定值与16位计数器一样,可直接用常数K或间接用数据寄存器D的内容

作为设定值。在间接设定时,要用编号紧连在一起的两个数据计数器。

如图2所示,X10用来控制M8200,X10闭合时为

减计数方式。X12为计数输入,C200的设定值为5(可

正、可负)。设C200置为增计数方式(M8200为OFF),

当X12计数输入累加由4→5时,计数器的输出触点动

作。当前值大于5时计数器仍为ON状态。只有当前值

由5→4时,计数器才变成OFF。只要当前值小于4,则

输出则坚持为OFF状态。复位输入X11接通时,计数

器的当前值为0,输出触点也随之复位。图2 32位增/

减计数器

2.高速计数器(C235~C255)

高速计数器与内部计数器相比除允许输入频率高之外,应用也更为灵活,高速计数器

均有断电坚持功能,通过参数设定也可酿成非断电坚持。FX2N有C235~C255共21点高

速计数器。适合用来做为高速计数器输入的PLC输入端口有X0~X7。X0~X7不克不及重

复使用,即某一个输入端已被某个高速计数器占用,它就不克不及再用于其它高速计数器,

也不克不及用做它用。各高速计数器对应的输入端如表1所示。

高速计数器可分为四类:

(1)单相单计数输入高速计数器(C235~C245) 其触点动作与32位增/减计数器相

同,可进行增或减计数(取决于M8235~M8245的状态)。

如图3a所示为无启动/复位端单相单计数输入高速计数器的应用。当X10断开,M8235

为OFF,此时C235为增计数方式(反之为减计数)。由X12选中C235,从表1中可知其

输入信号来自于X0,C235对X0信号增计数,当前值达到1234时,C235常开接通,Y0

得电。X11为复位信号,当X11接通时,C235复位。

如图3 b所示为带启动/复位端单相单计数输入高速计数器的应用。由表3 4可知,X1

和X6分别为复位输入端和启动输入端。利用X10通过M8244可设定其增/减计数方式。当

X12为接通,且X6也接通时,则开始计数,计数的输入信号来自于X0,C244的设定值由

D0和D1指定。除了可用X1立即复位外,也可用梯形图中的X11复位。

图3 单相单计数输入高速计数器

a)无启动/复位端 b) 带启动/复位端

表1 高速计数器简表

输入

X0

X1

X2

X3

X4

计数器

C23

5

C23

6

U/

D

U/

D

U/

D

U/

D

U/

D

U/D

X5

XX

6

7

C23

7

C23

8

C23

9

C24

0

C24

1

C24

2

C24

3

C24

4

U/

D

R

U/

D

R

U/

D

R

U/

D

R

UID 2 帖子 383 精华 HYPERLINK

"/?au

thorid=2" 12 积分 576 经验

533 金币 43 贡献 0 阅读权

限 200 性别 男 在线时间 327 小时 注

TOP

册时间 2007-4-14 最后登录

2007-12-31 HYPERLINK

"/?action=vie

wpro&uid=2" t "_blank" 检查详细资料

十一、常数(K、H)

K是暗示十进制整数的符号,主要用来指定定时器或计数器的设定值及应用功能指令

操纵数中的数值;H是暗示十六进制数,主要用来暗示应用功能指令的操纵数值。 例如20

用十进制暗示为K20,用十六进制则暗示为H14。

十二、PLC指针(P、I)

在FX系列中,指针用来指示分支指令的跳转目标和中断程序的入口标号。分为分支用

指针、输入中断指针及定时中断指针和记数中断指针。

1.分支用指针(P0~P127)

FX2N有P0~P127共128点分支用指针。分支指针用来指示跳转指令(CJ)的跳转目

标或子程序调用指令(CALL)调用子程序的入口地址。

如图3-14所示,当X1常开接通时,执行跳转指令

CJ P0,PLC跳到标号为P0处之后的程序去执行。

2.中断指针(I0□□~I8□□)

中断指针是用来指示某一中断程序的入口位置。执行中断后遇到IRET(中断返回)指

令,则返回主程序。中断用指针有以下三种类型:

(1)输入中断用指针(I00□~I50□) 共6点,它是用来指示由特定输入端的输入信

号而发生中断的中断服务程序的入口位置,这类中断不受PLC扫描周期的影响,可以及时

处理外界信息。输入中断用指针的编号格式如下:

例如:I101为当输入X1从OFF→ON变更时,执行以I101为标号后面的中断程序,

并根据IRET指令返回。

(2)定时器中断用指针(I6□□~I8□□) 共3点,是用来指示周期定时中断的中断服

务程序的入口位置,这类中断的作用是PLC以指定的周期定时执行中断服务程序,定时循

环处理某些任务。处理的时间也不受PLC扫描周期的限制。□□暗示定时范围,可在10~99ms

中选取。

(3)计数器中断用指针(I010~I060) 共6点,它们用在PLC内置的高速计

数器中。根据高速计数器的计数当前值与计数设定值之关系确定是否执行中断服务程序。它

经常使用于利用高速计数器优先处理计数结果的场合。

十三、FX系列中几种经常使用型号PLC的编程元件及编号

分歧厂家、分歧系列的PLC,其内部软继电器(编程元件)的功能和编号也不相同,

因此用户在编制程序时,必须熟悉所选用PLC的每条指令涉及编程元件的功能和编号。

FX系列中几种经常使用型号PLC的编程元件及编号如表所示。FX系列PLC编程元件

的编号由字母和数字组成,其中输入继电器和输出继电器用八进制数字编号,其它均采取十

进制数字编号。为了能全面了解FX系列PLC的内部软继电器,下表以FX2N为布景进行

介绍的。

表二 FX系列PLC的内部软继电器及编号

PLC型号

FX0S

编程元件种类

FX1S

FX0N

FX1N

(FX2NC)

FX2N

输入继电器X

(按8进制编号)

输出继电器Y

(按8进制编号)

辅助

继电器

M

状态

寄存器

S

普通用

坚持用

特殊用

初始状态

返回原点

普通用

坚持用

信号报警

100ms

10ms

定时器

T

1ms

1ms累积

100ms累积

16位增计

数(普通)

16位增计

数(坚持)

32位可逆

计数(普

通)

32位可逆

计数(坚

持)

高速计数

16位普通

X0~X17

X0~X17

X0~X43

(可扩展)

Y0~Y27

(可扩展)

M0~

M383

M384~

M511

S0~S9

-

X0~X43

(可扩展)

Y0~Y27

(可扩展)

X0~X77

(可扩展)

Y0~Y77

(可扩展)

(不成扩展)

(不成扩

展)

Y0~Y15

(不成扩展)

M0~M495

M496~

M511

S0~S9

-

Y0~Y15

(不成扩

展)

M0~

M383

M384~

M511

S0~S9

-

M0~M383

M384~

M1535

S0~S9

-

M0~M499

M500~

M3071

S0~S9

S10~S19

S20~S499

S500~S899

S900~S999

T0~T199

T200~T245

-

T246~T249

T250~T255

M8000~M8255(具体见使用手册)

S10~S63

S10~S127

S10~S127

S10~S999

-

-

T0~T49

T24~T49

-

-

-

S0~S127

-

T0~T62

T32~T62

T63

-

S0~S127

-

T0~T62

T32~T62

T63

-

-

S0~S999

-

T0~T199

T200~

T245

-

T246~

T249

T250~

T255

C0~C15

计数器

C

C0~C13

C0~C15

C0~C15

C16~C31

C0~C99

C14、C15

C16~C31

C16~C199

C100~C199

C200~

C219

C220~

C234

-

-

-

C200~C219

-

-

-

C220~C234

C235~C255(具体见使用手册)

D0~D29

D0~D127

D0~D127

D0~D127

D0~D199

数据

寄存器

D

16位坚持

16位特殊

16位变址

嵌套用

跳转用

输入中断

定时器中

计数器中

D30、D31

D8000~

D8069

V

Z

D128~

D255

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P63

I00*~

I50*

-

-

D128~

D255

D8000~

D8255

V

Z

N0~N7

P0~P63

I00*~

I30*

-

-

D128~

D7999

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

-

-

D200~D7999

D8000~

D8195

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

I6**~I8**

I010~I060

指针

N、P、

I

N0~N7

P0~P63

I00*~I30*

-

-

常数

K、H

特殊软元件

一 PC状态

M8000

M8001

M8002

M8003

M8004

16位

32位

K:-32,768~32,767 H:0000~FFFFH

K:-2,147,483,648~2,147,483,647 H:00000000~FFFFFFFF

RUN监控(a触点)

RUN监控(b触点)

初始脉冲(a触点)

初始脉冲(b触点)

发生出错

M8005电池电压下降

M8006

M8007

M8008

M8009

D8001

D8002

D8003

D8004

D8005

D8006

D8007

D8008

电池电压下降锁存

电源瞬停检测

停电检测

DC24V关断

PLC型号及系统版本

存储器容量

存储器类型

出错M地址号

电池电压

电池电压下降检出电平

瞬停次数

停电检测时间

D8009

二时钟

DC24V关断的单元编号

M8011

M8012

M8013

M8014

M8015

M8016

M8017

M8018

M8019

D8010

D8011

D8012

D8013

D8014

D8015

D8016

D8017

D8018

D8019

三标记

M8020

M8021

M8022

M8023

M8024

M8025

M8026

M8027

M8028

震荡周期10ms

震荡周期100ms

震荡周期1s

震荡周期1分钟

计时停止及预置

时间读出时显示停止

±30秒的修正

检测RTC卡盒是否拔出

实时时钟(RTC)出错

当前扫描时间

最小扫描时间

最大扫描时间

星期(0:星期日~6:星期六)

零(加减运算结果为0时置位)

借位

进位

小数点运算标记

HSC方式

RAMP方式

PR方式

FROM./TO指令

执行中允许中断标记

M8029

D8028

指令执行完成

Z寄存器内容

D8029 V寄存器内容

四 PLC方式

M8030

M8031

M8032

M8033

M8034

M8035

M8036

M8037

M8038

M8039

D8039

电池LED灯灭指令

全清非坚持存储器

全清坚持存储器

停止时存储器坚持

禁止所有输出

强制RUN方式

强制RUN信号

强制STOP信号

RAM文件寄存器全清零

恒定扫描方式

恒定扫描时间

第二部分三菱PLC-FX系列经常使用编程指令

FX系列PLC有基本逻辑指令20或27条、步进指令2条、功能指令100多条(分歧系

列有所分歧)。FX2N的共有27条基本逻辑指令,其中包含了有些子系列PLC的20条基本

逻辑指令。

一、

基本逻辑指令

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

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

辑行都用此指令。

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

辑行都用此指令。

(3)LDP(取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在指定

位元件的上升沿(由OFF→ON)时接通一个扫描周期。

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

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

取指令与输出指令的使用如图3-15所示。

图3-15取指令与输出指令的使用

取指令与输出指令的使用说明:

1)LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现

块逻辑运算;

2)LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通。图3-15中,当M1

有一个下降沿时,则Y3只有一个扫描周期为ON。

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)图3-16中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)

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

指令的使用如图3-18所示。

ORB指令的使用说明:

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

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

有限制;

3)ORB指令也可以连续使用,但这种程序写法不推荐使用,LD或LDI指令的使用次

数不得超出8次,也就是ORB只能连续使用8次以下。

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

指令的使用说明如图3-19所示。

ANB指令的使用说明:

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

2)多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。

也可连续使用ANB,但与ORB一样,使用次数在8次以下。

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

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

(2)RST(复位指令)使被操纵的目标元件复位并坚持清零状态。

SET、RST指令的使用如图3-20

所示。当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.主控指令(MC/MCR)

(1)MC(主控指令)用于公共串联触点的连接。执行MC后,左母线移到MC触点

的后面。

(2)MCR(主控复位指令)它是MC指令的复位指令,即利用MCR指令恢复原左母

线的位置。

在编程时常会出现这样

的情况,多个线圈同时受一个

或一组触点控制,如果在每个

线圈的控制电路中都串入同

样的触点,将占用很多存储单

元,使用主控指令就可以解决

这一问题。MC、MCR指令的

使用如图3-22所示,利用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)主控触点在梯形图中与一般触点垂直(如图3-22中的M100)。主控触点是与左母

线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LD或LDI

指令。

3)MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/

置位指令驱动的元件坚持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的

元件将复位,如图3-22中当X0断开,Y0和Y1即变成OFF。

4)在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数最多为8级,编号按

N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号

大的嵌套级开始复位。

7.堆栈指令(MPS/MRD/MPP)

堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便当。在FX

系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。

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

次移到栈的下一段。

(2)MRD(读栈指令)

将栈存储器的第一段数据(最

后进栈的数据)读出且该数据

继续保管在栈存储器的第一

段,栈内的数据不发生移动。

(3)MPP(出栈指令)

将栈存储器的第一段数据(最

后进栈的数据)读出且该数据

从栈中消失,同时将栈中其它

数据依次上移。

堆栈指令的使用如图

3-23所示,图a为一层栈,进

栈后的信息可无限使用,最后

一次使用MPP指令弹出信号;

图b为二层栈,它用了二个栈

单元。图3-23堆栈指令的使用

a) 一层栈 b) 二层栈

堆栈指令的使用说明:

1)堆栈指令没有目标元件;

2)MPS和MPP必须配对使用;

3)由于栈存储单元只有11个,所以栈的条理最多11层。

8.逻辑反、空操纵与结束指令(INV/NOP/END)

(1)INV(反指令)执行该指令后将原来的运算结果取反。反指令的使用如图1所示,

如果X0断开,则Y0为ON,否则Y0

为OFF。使用时应注意INV不克不及

象指令表的LD、LDI、LDP、LDF那

样与母线连接,也不克不及象指令表

中的OR、ORI、ORP、ORF指令那样

单独使用。图3-24反指令的使用

(2)NOP(空操纵指令)不执行操纵,但占一个程序步。执行NOP时其实不做任何

事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清

除用户存储器操纵后,用户存储器的内容全部变成空操纵指令。

(3)END(结束指令)暗示程序结束。若程序的最后不写END指令,则PLC不管实

际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描

到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中拔出若

干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至

调试结束。

二 、步进指令(STL/RET)

1.用途

步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序

控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。

FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。

STL和RET指令只有与状态器S配合才干具有步进功能。如STL S200暗示状态常开

触点,称为STL触点,它在梯形图中的符号为,它没有常闭触点。我们用每个状态器S

记录一个工步,例STL S200有效(为ON),则进入S200暗示的一步(类似于本步的总开

关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号

为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET

后将重回母线,退出步进状态。

2.状态转移图

一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有分歧的动作。

当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状

态执行。我们经常使用状态

转移图(功能表图)描述这

种顺序控制过程。如图3-25

所示,用状态器S记录每个

状态,X为转换条件。如当

X1为ON时,则系由S20

状态转为S21状态

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

图1中S20步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转

换条件,转换的目标为S21步。

3.步进指令的使用说明

1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动

步;

2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线;

3)STL触点可直接驱动或通过此外触点驱动Y、M、S、T等元件的线圈;

4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺

控程序在分歧的步可多次驱动同一线圈);

5) STL触点驱动的电路块中不克不及使用MC和MCR指令,但可以用CJ指令;

6)在中断程序和子程序内,不克不及使用STL指令。

三 、功能指令

(一)功能指令表

一 程序流程—功能00~09 三 算术和逻辑运算指令—功能20~29

00 CJ 条件转移 20 ADD 加法

01 CALL 调用子程序 21 SUB 减法

02 SRET 从子程序返回22 MUL 乘法

03 IRET 中断返回 23 DIV 除法

04 EI 开中断 24 INC 加一

05 DI 关中断25 DEC 减一

06 FEND 主程序结束 26 WAND 字与

07 WDT 监视定时器 27 WOR 字或

08 FOR 循环开始28 WXOR 字异或

09 NEXT 循环结束 29 NEG 求补

二 传送和比较指令—功能10~19 四 循环与移位—功能30~39

10 CMP 比较 30 ROR 循环右移

11 ZCP 区间比较 31 ROL 循环左移

12 MOV 传送32 RCR 带进位循环右移

13 SMOV 移位传送33 RCL 带进位循环左移

14 CML 求补运算 34 SFTR 位右移

15 BMOV 数据块传送 35 SFTL 位左移

16 FMOV 多点传送36 WSFR 字右移

17 XCH 数据交换 37 WSFL 字左移

18 BCD 求BCD码 38 SFWR FIFO写

19 BIN 求二进制码 39 SFRD FIFO读

五 数据处理—功能40~49 七 方便指令—功能60~69

40 ZRST 区间复位 60 IST 状态初始化

41 DECO 解码 61 SER 寻找

42 ENCO 编码62 ABSD 绝对值凸轮顺控

43 SUM ON位总数 63 INCD 增量凸轮顺控

44 BON 检查位状态64 TTMR 示教定时器

45 MEAN 求平均值65 STMR 专用定时器—可定义

46 ANS 标记置位66 ALT 交替输出

47 ANR 标记复位 67 RAMP 斜坡输出

48 SQR 平方根68 ROTC 旋转台控制

49 FLT 整数转换成浮点数 69 SORT 排序

六 高速处理—功能50~59 八 外部I/O设备—功能70~79

50 REF 刷新 70 TKY 十键输入

51 REFF 刷新与滤波处理 71 HKY 十六键输入

52 MTR 矩阵输入 72 DSW 拨码开关输入

53 HSCS 高速记数器置位73 SEGD 七段码译码

54 HSCR 高速记数器复位74 SEGL 带锁存的七段码显示

55 HSZ 高速记数器区间比较速度检测 75 ARWS 方向开关

56 SPD 脉冲输出Speed detect76 ASC ASCII变换

57 PLSY 脉宽调制 Pulse Y 77 PR 打印

58 PWM 脉冲调制Pulse widthmodulation78 FROM 读特殊功能模块

59 PLSR 带加减速脉冲输出79 TO 写特殊功能模块

九 外围设备SER—功能80~89120 EADD 浮点数加法

80 RS RS通讯 121 ESUB 浮点数减法

81 PRUN 8进制位传送 122 EMUL 浮点数乘法

82 ASCI 十六进制至ASCII转换123 EDIV 浮点数除法

83 HEX ASCII至十六进制转换 127 ESOR 浮点数开方

84 CCD 校验码 129 INT 浮点数->整数

85 VRRD 电位器读入130 SIN 浮点数SIN运算

86 VRSC 电位器刻度131 COS 浮点数COS运算

88 PID PID控制132 TAN 浮点数TAN运算

十 F2外部模块—功能90~99147 SWAP 上下字节交换

90 MNET F-16N, Mini网十二 定位—功能155~159

91 ANRD F2-6A, 模拟量输入 155 ABS

92 ANWR F2-6A, 模拟量输出 156 ZRN

93 RMST F2-32RM, 启动RM157 PLS

94 RMWR F2-32RM, 写RM 158 DRVI

95 RMRD F2-32RM, 读RM 十三 时钟运算—功能160~169

96 RMMN F2-32RM, 监控RM 160 TCMP

97 BLK F2-30GM, 指定块161 TZCP

98 MCDE F2-30GM, 机器码 162 TADD

十一 浮点数—功能110~132 163 TSUB

110 ECMP 浮点数比较 166 TRD

111 EZCP 浮点数区间比较167 TWR

118 EBCD 浮点数2进制->10进制169 HOUR

119 EBIN 浮点数10进制->1进

十四 外围设备—功能170~177 十五 接点比较—功能224~246

170 GRY M 224 LD= (S1)=(S2)

171 GBIN 225 LD> (S1)>(S2)

176 RD3A 226 LD< (S1)<(S2)

177 WR3A228 LD<> (S1)<>(S2)

(二)功能指令有关知识

1.位元件与字元件

象X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而象T、C、D等处理数值的

软元件则称为字元件,一个字元件由16位二进制数组成。

位元件可以通过组合使用,4个位元件为一个单元,通用暗示方法是由Kn加起始的软

元件号组成,n为单元数。例如K2 M0暗示M0~M7组成两个位元件组(K2暗示2个单元),

它是一个8位数据,M0为最低位。如果将16位数据传送到缺乏16位的位元件组合(n<4)

时,只传送低位数据,多出的高位数据不传送,32位数据传送也一样。在作16位数操纵时,

介入操纵的位元件缺乏16位时,高位的缺乏部分均作0处理,这意味着只能处理正数(符

号位为0),在作32位数处理时也一样。被组合的元件首位元件可以任意选择,但为防止混

乱,建议采取编号以0结尾的元件,如S10,X0,X20等。

2.数据格式

在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都

使用二进制数。二进制补码的最高位为符号位,正数的符号位为0,负数的符号位为1。FX

系列PLC可实现二进制码与BCD码的相互转换。

为更精确地进行运算,可采取浮点数运算。在FX系列PLC中提供了二进制浮点运算

和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采

取编号连续的一对数据寄存器暗示,例D11和D10组成的32位寄存器中,D10的16位加

上D11的低7位共23位为浮点数的尾数,而D11中除最高位的前8位是阶位,最高位是尾

数的符号位(0为正,1是负)。10进制的浮点数也用一对数据寄存器暗示,编号小数据寄

存器为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,暗示数为

10进制浮点数=〔尾数D0〕×10〔指数D1〕

其中:D0,D1的最高位是正负符号位。

3.数据长度

功能指令可处理16位数据或32位数据。处理32位数据的指令是在助记符前加“D”标

记,无此标记即为处理16位数据的指令。注意32位计数器(C200~C255)的一个软元件

为32位,不成作为处理16位数据指令的操纵数使用。如图3-27所示,若MOV指令前面

带“D”,则当X1接通时,执行D11D10→D13D12(32位)。在使用32位数据时建议使用首

编号为偶数的操纵数,不容易出错。

4.暗示格式

功能指令暗示格式与基本指令分歧。功能指令用编号FNC00~FNC294暗示,并给出对

应的助记符(大多用英文名称或缩写暗示)。例如FNC45的助记符是MEAN(平均),若使

用简易编程器时键入FNC45,若采取智能编程器或在计算机上编程时也可键入助记符

MEAN。

有的功能指令没有操纵数,而大多数功能指令有1至4个操纵数。如图3-26所示为一

个计算平均值指令,它有三个操纵数,[S]暗示源操纵数,[D]暗示目标操纵数,如果使用变

址功能,则可暗示为[S·]和[D·]。当源或目标不止一个时,用[S1·]、[S2·]、[D1·]、[D2·]暗示。

用n和m暗示其它操纵数,它们经常使用来暗示常数K和H,或作为源和目标操纵数的弥

补说明,当这样的操纵数多时可用n1、n2和m1、m2等来暗示。

图3-26功能指令暗示格式

图中源操纵数为D0、D1、D2,目标操纵数为D4Z0(Z0为变址寄存器),K3暗示有3

个数,当X0接通时,执行的操纵为[(D0)+(D1)+(D2)]÷3→(D4Z0),如果Z0的内

容为20,则运算结果送入D24中。

功能指令的指令段通常占1个程序步,16位操纵数占2步,32位操纵数占4步。

5.执行方式

功能指令有连续执行和脉冲执行两种类型。如图3-27所示,指令助记符MOV后面有“P”

暗示脉冲执行,即该指令仅在X1接通(由OFF到ON)时执行(将D10中的数据送到D12

中)一次;如果没有“P”则暗示连续执行,即该在X1接通(ON)的每一个扫描周期指令都

要被执行。

图3-27功能指令的执行方式与数据长度的暗示

(三)功能指令使用示例

00 条件跳转指令CJ(P)编号为FNC00

条件跳转指令CJ(P)的编号为FNC00,

操纵数为指针标号P0~P127,其中P63为END

所在步序,不需标识表记标帜。指针标号允许用

变址寄存器修改。CJ和CJP都占3个程序步,

指针标号占1步。

如图3-28所示,当X20接通时,则由CJ P9指令跳到标号为P9的指令处开始执行,

跳过了程序的一部分,减少了扫描周期。如果X20断开,跳转不会执行,则程序按原顺序

执行。

图3-28跳转指令的使用

使用跳转指令时应注意:

1)CJP指令暗示为脉冲执行方式;

2)在一个程序中一个标号只能出现一次,否则将出错;

3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍坚持跳

转前的状态,因为跳转期间根本没有执行这段程序。

4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,

到跳转条件不满足后又继续工作。但对于正在工作的定时器T192~T199和高速计数器

C235~C255不管有无跳转仍连续工作。

5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,

但对它们的复位仍然有效。

01、02 子程序调用与子程序返回指令 CALL、SRET

子程序调用指令CALL的编号为FNC01。操纵数为P0~P127,此指令占用3个程序步。

子程序返回指令SRET的编号为FNC02。无操纵数,占用1个程序步。

如图3-29所示,如果X0接通,则转到标号P10处去执行子程序。当执行SRET指令

时,返回到CALL指令的下一步执行。

图3-29子程序调用与返回指令的使用

使用子程序调用与返回指令时应注意:

1)转移标号不克不及重复,也不成与跳转

指令的标号重复;

2)子程序可以嵌套调用,最多可5级嵌套。

03、04、05 与中断有关的指令IRET、EI、DI

与中断有关的三条功能指令是:中断返回指令IRET,编号为FNCO3;中断允许指令

EI,编号为FNCO4;中断禁止DI,编号为FNC05。它们均无操纵数,占用1个程序步。

PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间,

如有中断源发生中断,CPU将暂停主程序执行转而执行中断服务程序。当遇到IRET时返回

断点继续执行主程序。如图3-30所示,允许中

断范围中若中断源X0有一个下降沿,则转入

I000为标号的中断服务程序,但X0可否引起中

断还受M8050控制,当X20有效时则M8050

控制X0无法中断。

图3-30 中断指令的使用

使用中断相关指令时应注意:

1)中断的优先级排队如下,如果多个中断

依次发生,则以发生先后为序,即发生越早级别

越高,如果多个中断源同时发出信号,则中断指

针号越小优先级越高;

2)当M8050~M8058为ON时,禁止执行相应I0□□~I8□□的中断,M8059为ON时

则禁止所有计数器中断;

3)无需中断禁止时,可只用EI指令,不必用DI指令;

4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌

套,否则禁止其它中断。

06 主程序结束指令FEND

主程序结束指令FEND的编号为FNC06,无操纵数,占用1个程序步。FEND暗示主

程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回启

始步。

使用FEND指令时应注意:

1)子程序和中断服务程序应放在FEND之后;

2)子程序和中断服务程序必须写在FEND和END之间,否则出错。

07 监视定时器指令WDT

监视定时器指令WDT(P)编号为FNC07,没有操纵数,占有1个程序步。WDT指令

的功能是对PLC的监视定时器进行刷新。

FX系列PLC的监视定时器缺省值为200ms(可用D8000来设定),正常情况下PLC扫描

周期小于此定时时间。如果由于有外界干扰或程序自己的原因使扫描周期大于监视定时器的

设定值,使PLC的CPU出错灯亮并停止工作,可通过在适当位置加WDT指令复位监视定

时器,以使程序能继续执行到END。

如图3-31所示,利用一个WDT

指令将一个240ms的程序一分为二,

使它们都小于200ms,则不再会出现

报警停机。

使用WDT指令时应注意:

1)如果在后续的FOR-NEXT循环中,执行时间可能超出监控定时器的定时时间,可

将WDT拔出循环程序中。

2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能

连续反复跳步使它们之间的程序反复执行,使执行时间超出监控时间,可在CJ指令与对应

标号之间拔出WDT指令。

08、09 循环指令FOR NEXT

循环指令共有两条:循环区起点指令FOR,编号为FNC08,占3个程序步;循环结束指

令NEXT,编号为FNC09,占用1个程序步,无操纵数。

在程序运行时,位于FOR~NEXT间的程序反复执行n次(由操纵数决定)后再继续

执行后续程序。循环的次数n=1~32767。如果N=-32767~0之间,则当作n=1处理。

如图3-32所示为一个二重嵌套循环,外层执行5次。如果D0Z中的数为6,则外层A

每执行一次则内层B将执行6次。

图3-32循环指令的使用

使用循环指令时应注意:

1)FOR和NEXT必须成对使用;

2)FX2N系列PLC可循环嵌套5层;

3)在循环中可利用CJ指令在循环没结束时跳

出循环体;

4)FOR应放在NEXT之前,NEXT应在FEND

和END之前,否则均会出错。

四、传送和比较指令—功能10~19

10、11比较指令CMP区间比较ZCP

比较指令包含CMP(比较)和ZCP(区间比较)二条。

(1)

比较指令CMP (D)CMP(P)指令的编号为FNC10,是将源操纵数[S1.]和源操

纵数[S2.]的数据进行比较,比较结果用目标元件[D.]的状态来暗示。如图1

所示,当X1为接通时,把常数100与C20的当前值进行比较,比较的结果

送入M0~M2中。

X1为OFF时不执

行,M0~M2的状

态也坚持不变。

比较指令的使用和区间比较指令

的使用见右图

(2)区间比较指令

ZCP (D)ZCP(P)指令的编号为

FNC11,指令执行时源操纵数[S.]

与[S1.]和[S2.]的内容进行比较,并

比较结果送到目标操纵数[D.]中。

如图2所示,当X0为ON时,把

C30当前值与K100和K120相比

较,将结果送M3、M4、M5中。

X0为OFF,则ZCP不执行,M3、M4、M5不变。

使用比较指令CMP/ZCP时应注意:

1)[S1.]、[S2.]可取任意数据格式,目标操纵数[D.]可取Y、M和S。

2)使用ZCP时,[S2.]的数值不克不及小于[S1.]

3) 所有的源数据都被看成二进制值处理;

12-16 传送类指令MOV SMOV CMOV BMOV FMOV

(1)传送指令MOV (D)MOV(P)指令的编号为FNC12,该指令的功能是将源数据传送

到指定的目标。如图3-35所示,当X0为ON时,则将[S.]中的数据K100传送到目标操纵

元件[D.]即D10中。在指令执行时,常数K100

会自动转换成二进制数。当X0为OFF时,则

指令不执行,数据坚持不变。

使用应用MOV指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可以是KnY、KnM、KnS、T、C、D、V、

Z。

2)16位运算时占5个程序步,32位运算时则占9个程序步。

(2)移位传送指令SMOV SMOV(P)指令的编号为FNC13。该指令的功能是将源数据

(二进制)自动转换成4位BCD码,再进行移位传送,传送后的目标操纵数元件的BCD

码自动转换成二进制数。如图3-36所示,当X0为ON时,将D1中右起第4位(m1=4)开

始的2位(m2=2) BCD码移到目标操纵数D2的右起第3位(n=3)和第2位。然后D2中的BCD

码会自动转换为二进制数,而D2中的第1位和第4位BCD码不变。

使用移位传送指令时应该注意:

1)源操纵数可取所有数据类型,目标操纵数可为KnY、KnM、KnS、T、C、D、V、

Z。

2)SMOV指令只有16位运算,占11个程序步。

(3)取反传送指令CML (D)CML(P)

指令的编号为FNC14。它是将源操纵数元件

的数据逐位取反并传送到指定目标。如图

3-37所示,当X0为ON时,执行CML,将

D0的低4位取反向后传送到Y3~Y0中。

使用取反传送指令CML时应注意:

1)源操纵数可取所有数据类型,目标操纵数可为KnY、KnM、KnS、T、C、D、V、

Z.,若源数据为常数K,则该数据会自动转换为二进制数。

2)16位运算占5个程序步,32位运算占9个程序步。

(4)块传送指令BMOV BMOV(P)指令的ALCE编号为FNC15,是将源操纵数指定

元件开始的n个数据组成数据块传送到指定的目标。如图3-38所示,传送顺序既可从高元

件号开始,也可从低元件号开始,传送顺序自动决定。若用到需要指定位数的位元件,则源

操纵数和目标操纵数的指定位数应相同。

使用块传送指令时应注意:

1)源操纵数可取KnX、 KnY、KnM、KnS、T、C、D和文件寄存器,目标操纵数可

取. KnT、KnM、KnS、T、C和D;

2)只有16位操纵,占7个程序步;

3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。

(5)多点传送指令FMOV (D)FMOV(P)指令的编号为FNC16。它的功能是将源操纵

数中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。如图

3-39所示,当X0为ON时,把K0传送

到D0~D9中。

使用多点传送指令FMOV时应注

意:

1)源操纵数可取所有的数据类型,目标操纵数可取KnX、KnM、KnS、T、C、和D,

n小等于512;

2)16位操纵占7的程序步,32位操纵则占13个程序步;

3)如果元件号超出允许范围,数据仅送到允许范围的元件中。

17 数据交换指令XCH

数据交换指令(D)XCH(P)的编号为FNC17,它

是将数据在指定的目标元件之间交换。如图3-40

所示,当X0为ON时,将D1和D19中的数据相

互交换。

图3-40数据交换指令的使用

使用数据交换指令应该注意:

1)操纵数的元件可取KnY、KnM、KnS、T、C、D、V和Z.。

2)交换指令一般采取脉冲执行方式,否则在每一次扫描周期都要交换一次。

3)16位运算时占5个程序步,32位运算时占9个程序步。

18、19 数据变换指令BCD BIN

(1)BCD变换指令BCD (D)BCD(P)指令的ALCE编号为FNC18。它是将源元件中的

二进制数转换成BCD码送到目标元件中,如图3-41所示。

如果指令进行16位操纵时,执行结果超出0~9999范围将会出错;当指令进行32位

操纵时,执行结果超出0~99999999范围也将出错。PLC中内部的运算为二进制运算,可

用BCD指令将二进制数变换为BCD码输出到七段显

示器。

(2)BIN变换指令BIN (D)BIN(P)指令的编号

为FNC19。它是将源元件中的BCD数据转换成二进

制数据送到目标元件中,如图3-41所示。常数K不克

不及作为本指令的操纵元件,因为在任何处理之前它

们都会被转换成二进制数。

使用BCD/BIN指令时应注意:

1)源操纵数可取KnK、KnY、KnM、KnS、T、C、D、V和Z,目标操纵数可取KnY、

KnM、KnS、T、C、D、V和Z;

2)16位运算占5个程序步,32位运算占9个程序步。

算术和逻辑运算指令—功能20~29

20加法指令ADD(D)ADD(P)

加法指令ADD (D)ADD(P)指令的编号为FNC20。它

是将指定的源元件中的二进制数相加结果送到指定

的目标元件中去。如图1所示,当X0为ON时,执行(D10)+(D12)→(D14)。图3-42

加法指令的使用

21 减法指令SUB (D)SUB(P)

减法指令SUB (D)SUB(P)指令的编号为FNC21。它是将[S1.]指定元件中的内容以二进

制形式减去[S2.]指定元件的内容,其结果存入由[D.]指定的元件中。图2减法指令的使用当

X0为ON时,如图3-43所示

执行(D10)—(D12)→(D14)。

使用加法和减法指令时应该注意:

1)操纵数可取所有数据类型,目标操纵数可取KnY、KnM、KnS、T、C、D、V和Z.。

2)16位运算占7个程序步,32位运算占13个程序步。

3)数据为有符号二进制数,最高位为符号位(0为正,1为负)。

4)加法指令有三个标记:零标记(M8020)、借位标记(M8021)和进位标记(M8022)。

当运算结果超出32767(16位运算)或2147483647(32位运算)则进位标记置1;当运算

结果小于-32767(16位运算)或-2147483647(32位运算),借位标记就会置1。

22乘法指令MUL(D)MUL(P)

乘法指令MUL (D)MUL(P))指

令的编号为FNC22。数据均为有符

号数。如图3-44所示,当X0为ON

时,将二进制16位数[S1.]、[S2.]相

乘,结果送[D.]中。D为32位,即

(D0)×(D2)→(D5,D4)(16

位乘法);当X1为ON时,(D1,

D0)×(D3,D2)→(D7,D6,D5,D4)(32位乘法)

23除法指令DIV (D) DIV

(P)

除法指令DIV (D) DIV (P)

指令的编号为为FNC23。其功能

是将[S1.]指定为被除数,[S2.]指定为除数,将除得的结果送到[D.]指定的目标元件中,余数

送到[D.]的下一个元件中。如图3-45所示,当X0为ON时(D0)÷(D2)→(D4)商,(D5)

余数(16位除法);当X1为ON时(D1,D0)÷(D3,D2)→(D5,D4)商,(D7,D6)

余数(32位除法)。

使用乘法和除法指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可取KnY、KnM、KnS、T、C、D、V和

Z.,要注意Z只有16位乘法时能用,32位不成用。

2)16位运算占7程序步,32位运算为13程序步。

3)32位乘法运算中,如用位元件作目标,则只能得到乘积的低32位,高32位将丢失,

这种情况下应先将数据移入字元件再运算;除法运算中将位元件指定为[D.],则无法得到余

数,除数为0时发生运算错误。

4)积、商和余数的最高位为符号位。

24、25加1和减1指令(D)INC(P) 、(D)DEC(P)

加1指令(D) INC (P)的编号为FNC24;减1指令 (D) DEC (P)的编号为FNC25。INC

和DEC指令分别是当条件满足则将指定元件的内容加1或减1。如图3-46所示,当X0为

ON时,(D10)+1→(D10);当X1为ON时,(D11)

+1→(D11)。若指令是连续指令,则每个扫描周期均作

一次加1或减1运算。图3-46加1和减1指令的使用

使用加1和减1指令时应注意:

1)指令的操纵数可为KnY、KnM、KnS、T、C、

D、V、Z;。

2)当进行16位操纵时为3个程序步,32位操纵时为5个程序步。

3)在INC运算时,如数据为16位,则由+32767再加1变成-32768,但标记不置位;

同样,32位运算由+2147483647再加1就变成-2147483648时,标记也不置位。

4)在DEC运算时,16位运算-32768减1变成+32767,且标记不置位;32位运算由

-2147483648减1变成=2147483647,标记也不置位。

26-29 逻辑运算类指令WAND、WOR、WXOR和NEG

26逻辑与指令WAND (D)WAND(P)

逻辑与指令WAND (D)WAND(P)指令的编号为FNC26。是将两个源操纵数按位进行与操

纵,结果送指定元件。

27逻辑或指令WOR (D)WOR(P)

逻辑或指令WOR (D)WOR(P)指令的编号为FNC27。它是对二个源操纵数按位进行或运

算,结果送指定元件。如图4-48所示,当X1有效时,(D10)∨(D12)→(D14)

28逻辑异或指令WXOR (D) WXOR (P)

逻辑异或指令WXOR (D) WXOR (P)指令的编号为FNC28。它是对源操纵数位进行逻

辑异或运算。

29求补指令NEG (D) NEG (P)

求补指令NEG (D) NEG (P)指令的编号为FNC29。其功能是将[D.]指定的元件内容的

各位先取反再加1,将其结果再存入原来的元件中。

WAND、WOR、WXOR和NEG指令的使用如图3-47所示。

使用逻辑运算指令时应该注意:

1)WAND、WOR和WXOR指令的[S1.]和[S2.]均可取所有的数据类型,而目标操纵数

可取KnY、KnM、KnS、T、C、D、V和Z。

2)NEG指令只有目标操纵数,其可取KnY、KnM、KnS、T、C、D、V和Z。

3)WAND、WOR、WXOR指令16位运算占7个程序步,32位为13个程序步,而

NEG分别占3步和5步。

循环与移位—功能30~39

30、31右、左循环移位指令(D)ROR(P)和(D)ROL(P)

右、左循环移位指令(D)ROR(P)和(D)ROL(P)编号分别为FNC30和FNC31。执行这两

条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进

位标记M8022中,如图1所示。

32.33带进位的循环移位指令RCR(P)

和(D) RCL(P)

带进位的循环右、左移位指令(D) RCR(P)

和(D) RCL(P)编号分别为FNC32和FNC33。

执行这两条指令时,各位数据连同进位

(M8022)向右(或向左)循环移动n位,

如图2所示。

使用ROR/ROL/RCR/RCL指令时应该注意:

1)目标操纵数可取KnY,KnM,KnS,T,

C,D,V和Z,目标元件中指定位元件的组合

只有在K4(16位)和K8(32位指令)时有效。

2)16位指令占5个程序步,32位指令占

9个程序步。

3)用连续指令执行时,循环移位操纵每个

周期执行一次。

34.35位右移和位左移指令SFTR(P)和SFTL(P)

位右、左移指令

SFTR(P)和SFTL(P)的编号

分别为FNC34和FNC35。

它们使位元件中的状态成组

地向右(或向左)移动。n1

指定位元件的长度,n2指定

移位位数,n1和n2的关系

及范围因机型分歧而有差别,一般为n2≤n1≤1024。位右移指令使用如图3-50 所示。

使用位右移和位左移指令时应注意:

1)源操纵数可取X、Y、M、S,目标操纵数可取Y、M、S。

2)只有16位操纵,占9个程序步。

36.37字右移和字左移指令WSFR(P)和WSFL(P)

字右移和字左移指令WSFR(P)和WSFL(P)指令编号分别为FNC36和FNC37。字右移

和字左移指令以字为单位,其工作的过程与位移位相似,是将n1个字右移或左移n2个字。

使用字右移和字左移指令时应注意:

1)源操纵数可取KnX、KnY、KnM、KnS、T、C和D,目标操纵数可取KnY、KnM、

KnS、T、C和D。

2)字移位指令只有16位操纵,占用9个程序步.

3)n1和n2的关系为n2≤n1≤512。

38.39先入先出写入和读出指令SFWR(P)和SFRD(P)

先入先出写入指令和先入先出写入读出指令SFWR(P)和SFRD(P)的编号分别为FNC38

和FNC39。

先入先出写入指令SFWR的使用如图4所示, 当X0由OFF变成ON时,SFWR执行,

D0中的数据写入D2,而D1酿成指针,其值为1(D1必须先清0);当X0再次由OFF变

成ON时,D0中的数据写入D3,D1变成2,依次类推,D0中的数据依次写入数据寄存器。

D0中的数据从右边的D2顺序存入,源数

据写入的次数放在D1中,当D1中的数

达到n-1后不再执行上述操纵,同时进位

标记M8022置1。

先入先出读出指令SFRD,当X0由

OFF变成ON时,D2中的数据送到D20,

同时指针D1的值减1,D3~D9的数

据向右移一个字,数据总是从D2读

出,指针D1为0时,不再执行上述操纵且M8020置1。

使用SFWR和SFRD指令时应注意:

1)目标操纵数可取KnY、KnM、KnS、T、C和D,源操数可取所有的数据类型。

2)指令只有16位运算,占7个程序步。

数据处理指令(FNC40~FNC49)

40.区间复位指令ZRST(P)

区间复位指令ZRST(P)的编号为FNC40。它是将

指定范围内的同类元件成批复位。如图3-53所示,当

M8002由OFF→ON时,位元件M500~M599成批复位,字元件C235~C255也成批复位。

使用区间复位指令时应注意:

1)[D1.]和[D2.]可取Y、M、S、T、C、D,且应为同类元件,同时[D1]的元件号应小

于[D2]指定的元件号,若[D1]的元件号大于[D2]元件号,则只有[D1]指定元件被复位。

2)ZRST指令只有16位处理,占5个程序步,但[D1.][D2.]也可以指定32位计数器。

41、42.译码指令DECO DECO(P)和编

码指令ENCO ENCO(P)

(1)译码指令DECO DECO(P) 指令的

编号为FNC41。如图3-54所示,n=3 则暗示

[S.]源操纵数为3位,即为X0、X1、X2。其

状态为二进制数,当值为011时相当于十进制

3,则由目标操纵数M7~M0组成的8位二进

制数的第三位M3被置1,其余各位为0。如

果为000则M0被置1。

译码指令可通过[D.]中的数值来控制

元件的ON/OFF。

使用译码指令时应注意:

1)位源操纵数可取X、T、M和S,位目标操纵数可取Y、M和S,字源操纵数可取K,

H,T,C,D,V和Z,字目标操纵数可取T,C和D。

2)若[D.]指定的目标元件是字元件T、C、D,则n≦4;若是位元件Y、M、S,则n=1~

8。译码指令为16位指令,占7个程序步。

(2)编码指令ENCO ENCO(P)指令的编号为FNC42。如图3-55所示,当X1有效时

执行编码指令,将[S.]中最高位的1(M3)所在位数(4)放入目标元件D10中,即把011

放入D10的低3位。图3-55 编码指令的使用

使用编码指令时应注意:

1)源操纵数是字元件时,可以是T、C、D、V和Z;源操纵数是位元件,可以是X、

Y、M和S。目标元件可取T、C、D、V和Z。编码指令为16位指令,占7个程序步。

2)操纵数为字元件时应使用

n≦4,为位元件时则n=1~8,n=0时不作处理。

3)若指定源操纵数中有多个1,则只有最高位的1有效。

43.44 ON位数统计指令SUM(D)SUM(P)和ON位判别指令BON (D)BON(P)

(1)ON位数统计指令

SUM (D)SUM(P)指令的编号为

FNC43。该指令是用来统计指定元件中

1的个数。如图3-56所示,当X0有效

时执行SUM指令,将源操纵数D0中1

的个数送入目标操纵数[D2中,若D0

中没有1,则零标记M8020将置1。

图3-56 ON位数统计和ON位判别指令的使用

使用SUM指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可取KnY,KnM,KnS,T,C,D,V和

Z。

2)16位运算时占5个程序步,32位运算则占9个程序步。

(2)ON位判别指令BON (D)BON(P)指令的编号为FNC44。它的功能是检测指定元

件中的指定位是否为1。如图3-56所示,当X1为有效时,执行BON指令,由K4决定检

测的是源操纵数D10的第4位,当检测结果为1时,则目标操纵数M0=1,否则M0=0。

使用BON指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可取Y、M和S。

2)进行16位运算,占7程序步,n=0~15;32位运算时则占13个程序步,n=0~31。

45.平均值指令MEAN

平均值指令(D)MEAN(P)的编号为FNC45。其作用是将n个源数据的平均值送到指定目标

(余数省略),若程序中指定的n值超出1~64的范围将会出错。

46.47报警器置位指令ANS(P)与复位指令ANR(P)

报警器置位指令ANS(P)和报警器复位指令ANR(P)的编号分别为FNC46 和FNC47。

如图3-57所示,若X0和X1同时为ON时超出1S,则S900置1;当X0或X1变成OFF,

虽定时器复位,但S900仍坚持1不变;若在1S内X0或X1再次变成OFF则定时器复位。

当X2接通时,则将S900~S999之间被置1的报警器复位。若有多于1个的报警器被置1,

则元件号最低的那个报警器被复位。

图3-57 报警器置位与复位指令的

使用

使用报警器置位与复位指令时

应注意:

1)ANS指令的源操纵数为

T0~T199,目标操纵数为S900~

S999,n=1~32767’; ANR指令无操纵数。

2)ANS为16位运算指令,占7的程序步;ANR指令为16位运算指令,占1个程序

步。

3)ANR指令如果用连续执行,则会按扫描周期依次逐个将报警器复位。

48.二进制平方根指令(D)SQR(P)

二进制平方根指令(D)SQR(P)的编号为FNC48。如图3-58所示,当X0有效时,则将

存放在D45中的数开平方,结果存放在D123中(结果只取整数)。

图3-58 二进制平方根指令的使用

使用SQR指令时应注意:

1)源操纵数可取K、H、D,数据需大于0,目标操纵数为D。

2)16位运算占5个程序步,32位运算占9个程序步。

49二进制整数→二进制浮点数转换指令(D)FLT(P)

二进制整数→二进制浮点数转换指令(D)FLT(P)的编号为FNC49。如图3-59所示,当

X1有效时,将存入D10中的数据转换成浮点数并存

入D12中。

图3-59 二进制整数→二进制浮点数转换指令的使用

使用FLT指令时应注意:

1)源和目标操纵数均为D。

2)16位操纵占5个程序步,32位占9个程序步。

高速处理指令(FNC50~FNC59)

50输入输出刷新指令REF

REF(P)指令的编号为FNC50。FX系列PLC

采取集中输入输出的方式。如果需要最新的输入

信息以及希望立即输出结果则必须使用该指令。

如图3-60所示,当X0接通时,X10~X17共8点

将被刷新;当X1接通时,则Y0~Y7、Y10~Y17、

共16点输出将被刷新。

图3-60 输入输出刷新指令的使用

使用REF指令时应注意:

1)目标操纵数为元件编号个位为0的X和Y,n应为8的整倍数。

2)指令只要进行16位运算,占5个程序步。

51滤波调整指令REFF

REFF(P)指令的编号为FNC51。在FX系列PLC中X0~X17使用了数字滤波器,用

REFF指令可调节其滤波时间,范围为0~60ms(实际

上由于输入端有RL滤波,所以最小滤波时间为50μs)。

如图3-61所示,当X0接通时,执行REFF指令,滤

波时间常数被设定为1ms。

图3-61滤波调整指令说明

使用REFF指令时应注意:

1)REFF为16位运算指令,占7个程序步。

2)当X0~X7用作高速计数输入时或使用FNC56速度检测指令以及中断输入时,输

入滤波器的滤波时间自动设置为50ms。

52矩阵输入指令MTR

MTR指令的编号为FNC52。利用MTR可以构成连续排列的8点输入与n点输出组

成的8列n行的输入矩阵。如图3-62所示,由[S]指定的输入X0~X7共8点与n点输出Y0、

Y1、Y2(n=3)组成一个输入矩阵。PLC在运行时执行MTR指令,当Y0为ON时,读入

第一行的输入数据,存入M30~M37中;Y1为ON时读入第二行的输入状态,存入M40~

M47。其余类推,反复执行。

图3-62 矩阵输入指令的使用

使用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个程序步。

53高速计数器指令HSCS DHSCS

(1)高速计数器置位指令HSCS DHSCS指令的编号为FNC53。它应用于高速计数器的

置位,使计数器的当前值达到预置值时,计数器的输出触点立即动作。它采取了中断方式使

置位和输出立即执行而与扫描周期无关。如图3-63所示,[S1.]为设定值(100),当高速计

数器C255的当前值由99变100或由101

变成100时,Y0都将立即置1。图3-63 高

速计数器指令的使用

54高速计速器比较复位指令

HSCR DHSCR指令

高速计速器比较复位指令

HSCR DHSCR指令的编号为FNC54。如

图3-63所示,C254的当前值由199变成200或由201变成200时,则用中断的方式使Y10

立即复位。

使用HSCS和HSCR时应注意:

1)源操纵数[S1.]可取所有数据类型,[S2.]为C235~C255,目标操纵数可取Y、M和

S。

2)只有32位运算,占13个程序步。

55高速计速器区间比较指令HSZ DHSZ

HSZ DHSZ指令的编号为FNC55。如图3-63所示,目标操纵数为Y20、Y21和Y22。如

果C251的当前值

C251的当前值>K1200时,Y22为ON。

使用高速计速器区间比较指令时应注意:

1)操纵数[S1.] 、[S2.]可取所有数据类型,[S .]为C235~C255,目标操纵数[D.]可取Y、

M、S。

2)指令为32位操纵,占17个程序步。

56.速度检测指令SPD

速度检测指令SPD的编号为FNC56。

它的功能是用来检测给定时间内从编码器

输入的脉冲个数,并计算出速度。如图4-64

所示,[D. ]占三个目标元件。当X12为ON

时,用D1对X0的输入上升沿计数,100ms

后计数结果送入D0,D1复位,D1重新开

始对X0计数。D2在计数结束后计算剩余时

间。

图4-64 速度检测指令的使用

使用速度检测指令时应注意:

1)[S1.]为X0~X5,[S2.]可取所有的

数据类型,[D.]可以是T、C、D、V和Z。

2)指令只有16位操纵,占7个程序步。

57脉冲输出指令(D)PLSY

脉冲输出指令(D)PLSY的编号为FNC57。它用来

发生指定数量的脉冲。如图3-65所示,[S1.]用来指定

脉冲频率(2~20000Hz),[S2.]指定脉冲的个数(16

位指令的范围为1~32767, 32位指令则为1~

2147483647)。如果指定脉冲数为0,则发生无穷多个脉冲。[D .]用来指定脉冲输出元件号。

脉冲的占空比为50%,脉冲以中断方式输出。指定脉冲输出完后,完成标记M8029置1。

X10由ON变成OFF时,M8029复位,停止输出脉冲。若X10再次变成ON则脉冲从头开

始输出。

使用脉冲输出指令时应注意:

1)[S1.]、[S2.]可取所有的数据类型,[D.]为Y1和Y2。

2)该指令可进行16和32位操纵,分别占用7个和13个程序步。

3)本指令在程序中只能使用一次。

58.脉宽调制指令PWM

脉宽调制指令PWM的编号为FNC58。它的功能是用来发生指定脉冲宽度和周期的脉

冲串。如图3-66所示,[S1.] 用来指定脉冲的宽度,[S2.]用来指定脉冲的周期,[D.]用来指

定输出脉冲的元件号(Y0或Y1),输出的ON/OFF

状态由中断方式控制。

图3-66 脉宽调制指令的使用

使用脉宽调制指令时应注意:

1)操纵数的类型与PLSY相同;该指令只

有16位操纵,需7个程序步。

2)[S1.]应小于[S2.]。

59可调速脉冲输出指令(D)PLSR

可调速脉冲输出指令该指令(D)PLSR的编号为FNC59。该指令可以对输出脉冲进行加

速,也可进行减速调整。源操纵数和目标操纵数的类型和PLSY指令相同,只能用于晶体管

PLC的Y0和Y1,可进行16位操纵也可进行32位操纵,分别占9个和17个程序步。该指

令只能用一次。

60~69方便指令(FNC60~FNC69)

FX系列共有10条方便指令:初始化指令IST(FNC60)、数据搜索指令S(FNC61)、绝

对值式凸轮顺控指令ABSD(FNC62)、增量式凸轮顺控指令INCD(FNC63)、示教定时指

令TIMR(FNC64)、特殊定时器指令STMR(FNC65)、交替输出指令ALT(FNC66)、斜

坡信号指令RAMP(FNC67)、旋转工作台控制指令ROTC(FNC68)和数据排序指令SORT

(FNC69)。以下仅对其中部分指令加以介绍。

60-63凸轮顺控指令 凸轮顺控指令有绝对值式凸轮顺控指令ABSD(FNC62)和增量

式凸轮顺控指令INCD(FNC63)两条。

绝对值式凸轮顺控指令ABSD是用来发生一组对应于计数值在3600范围内变更的输出

波形,输出点的个数由n决定,如图3-67a所示。图中n为4,标明[D.]由M0~M3共4点

输出。预先通过MOV指令将对应的数据写入D300~D307中,开通点数据写入偶数元件,

关断点数据放入奇数元件,如表3-15所示。当执行条件X0由OFF变ON时,M0~M3将

得到如图3-67b所示的波形,通过改变D300~D307的数据可改变波形。若X0为OFF,则

各输出点状态不变。这一指令只能使用一次。

图3-67 绝绝对值式凸轮顺控指令的使用

a) 绝绝对值式凸轮顺控指令 b) 输出波形

表3-15 旋转台旋转周期M0~M3状态

开通点

D300=40

D302=100

D304=160

D306=240

关断点

D301=140

D303=200

D305=60

D307=280

输出

M0

M1

M2

M3

增量式凸轮顺控指令INCD也是用来发生一组对应于计数值变更的输出波形。如图

3-68所示,n=4,说明有4个输出,分别为M0~M3,它们的ON/OFF状态受凸轮提供的脉

冲个数控制。使M0~M3为ON状态的脉冲个数分别存放在D300~D303中(用MOV指令

写入)。图中波形是D300~D303分别为20、30、10和40时的输出。当计数器C0的当前

值依次达到D300~D303的设定值时将自动复位。C1用来计复位的次数,M0~M3根据C1

的值依次动作。由n指定的最后一段完成后,标记M8029置1,以后周期性重复。若X0为

OFF,则C0、C1均复位,同时M0~M3变成OFF,当X0再接通后重新开始工作。

图3-68 增量式凸轮顺控指令

的使用

凸轮顺控指令源操纵数

[S1.]可取KnX、KnY、KnM、

KnS、T、C和D,[S2.]为C,目

标操纵数可取Y、M和S。为16

位操纵指令,占9个程序步。

64、65定时器指令 定时

器指令有示教定时器指令

TTMR(FNC64)和特殊定时器

指令STMR(FNC65)两条。

使用示教定时器指令

TTMR,可用一个按钮来调整定

时器的设定时间。如图3-69所

示,当X10为ON时,执行TTMR

指令,X10按下的时间由M301记录,该时间乘以10n后存入D300。如果按钮按下时间为

t存入D300的值为10n×t 。X10为OFF时,D301复位,D300坚持不变。TTMR为16位

指令,占5个程序步。特殊定时器指令STMR是用来发生延时断开定时器、单脉冲定时器

和闪动定时器。如图3-70所示,m=1~32767,用来指定定时器的设定值;[S.]源操纵数取

T0~T199(100ms定时器)。T10的设定值为100ms×100=10s,M0是延时断开定时器,M1

为单脉冲定时器,M2,M3为闪动而设。

66交替输出指令 交替输出指令ALT(P)

的编号为FNC66,

用于实现由一个按钮控制负载的启动和停

止。如图3- 71所示,当X0由OFF到ON

时,Y0的状态将改变一次。若用连续的

ALT指令则每个扫描周期Y0均改变一次

状态。 [D.]可取Y、M和S。ALT为16

为运算指令,占3个程序步。

外部I/0设备指令(FNC70~FNC79)

外部I/0设备指令是FX系列与外设传递信息的指令,共有10条。分别是10键输入指令

TKY(FNC70)、16键输入指令HKY(FNC71)、数字开关输入指令DSW(FNC72)、七段

译码指令SEGD(FNC73)、带锁存的七段显示指令SEGL(FNC74)、方向开关指令ARWS

(FNC75)、ASCII码转换指令ASC(FNC76)、ASCII打印指令PR(FNC77)、特殊功能模

块读指令FROM(FNC78)和特殊功能模块写指令T0(FNC79)。

70、71、72数据输入指令 数据输入指令有10键输入指令TKY(FNC70)、16键输入

指令HKY(FNC71)和数字开关输入指令DSW(FNC72)。

10键输入指令(D)TKY的使用如图3-72所示。源操纵数[S.]用X0为首元件,10个

键X0~X11分别为对应数字0~9。X30接通时执行TKY指令,如果以X2(2)、X9(8)、

X3(3)、X0(0)的顺序按键,则[D1.]中存入数据为2830,实现了将按键酿成十进制的数

字量。当送入的数大于9999,则高位溢出并丢失。使用32位指令DTKY时,D1和D2组

合使用,高位大于99999999则高位溢出。

当按下X2后,M12置1并坚持至另一键被按下,其它键也一样。M10~M19动作对

应于X0~X11。任一键按下,键信号置1直到该键放开。当两个或更多的键被按下时,则

首先按下的键有效。X30变成OFF时,D0中的数据坚持不变,但M10~M20全部为OFF。

此指令的源操纵数可取X、Y、

M、和S,目标操纵数[D.]可取

KnY、KnM、KnS、T、C、D、

V和Z,[D2.]可取Y、M、S。

16位运算占7个程序步,32

运算时占13个程序步。该指

令在程序中只能使用一次。

16键输入指令(D)HKY

的作用是通过对键盘上的数

字键和功能键输入的内容实

现输入的复合运算。如图3-73

所示,[S.]指定4个输入元件,

[D1.]指定4个扫描输出点,

[D2.]为键输入的存储元件。

[D3.]指示读出元件。十六键中

0~9为数字键,A~F为功能

键,HKY指令输入的数字范

围为0~9999,以二进制的方

式存放在D0中,如果大于9999则溢出。DHKY指令可在D0和D1中存放最大为99999999

的数据。功能键A~F与M0~M5对应,按下A键,M0置1并坚持。按下D键M0置0,

M3置1并坚持。其余类推。如果同时按下多个键则先按下的有效

该指令源操纵数为X,目标操纵数[D1.]为Y。[D2]可以取T、C、D、V和Z,[D3.]可

取Y、M和S。16位运算时占9个程序步,32位运算时为占17个程序步。扫描全部16键

需8个扫描周期。HKY指令在程序中只能使用一次。

数字开关指令DSW的功能是读入1组或2组4位数字开关的设置值。如图3-74所示,

源操纵数[S]为X,用来指定输入点。[D1]为目标操纵数为Y,用来指定选通点。[D2]指定数

据存储单元,

它可取T、C、

D、V和Z。[n]

指定数字开关

组数。该指令

只有16位运

算,占9个程

序步,可使用

两次。图中,

n=1指有1组

BCD码数字

开关。输入开

关为X10~

X13,按

Y10~Y13的

顺序选通读

入。数据以二

进制数的形式

存放在D0中。

若n=2,则有

2组开关,第2组开关接到X14~X17上,仍由Y10~Y13顺序选通读入,数据以二进制的

形式存放在D1中,第2组数据只有在n=2时才有效。当X1坚持为ON时,Y10~Y13依

次为ON。一个周期完成后标记位M8029置1。

73、74数字译码输出指令 数字译码输出指令有七段译码指令SEGD(FNC73)和带

锁存的七段显示指令SEGL(FNC74)两条。

七段译码指令SEGD(P) 如图3-75所示,将[S.]指定元件的低4位所确定的十六进制数

(0~F)经译码后存于[D.]指定的元件中,以驱动七段显示器,[D.]的高8位坚持不变。如

果要显示0,则应在D0中放

入数据为3FH。

图3-75 七段译码指令的使

带锁存的7段显示指令SEGL的作用是用12个扫描周期的时间来控制一组或两组带锁

存的七段译码显

示。

(3)方向开

关指令 方向开

关指令ARWS

(FNC75)是用于

方向开关的输入

和显示。如图3-76

所示,该指令有四

个参数,源操纵数

[S]可选X、Y、M、S。图3-76 方向开关指令的使用图中选择X10开始的4个按钮,位左

移键和右移键用来指定输入的位,增加键和减少键用来设定指定位的数值。X0接通时指定

的是最高位,按一次右移键或左移键可移动一位。指定位的数据可由增加键和减少键来修改,

其值可显示在7段显示器上。目标操纵数[D1]为输入的数据,由7段显示器监视其中的值(操

纵数可用T、C、D、V、和Z),[D2]只能用Y做操纵数,n=0~3其确定的方法与SEGL指

令相同。ARWS指令只能使

用一次,而且必须用晶体管

输出型的PLC。

(4)ASEII码转换指

令 ASCII码转换指令ASC

(FNC76)的功能是将字符

变换成ASCII码,图 3-77 ASEII码转换指令说明

并存放在指定的元件中。如图3-77所示,当X3有效时,则将FX2A酿成ASCII码并

送入D300和D301中。源操纵数是8个字节以下的字母或数字,目标操纵数为T,C,D。

它只有16位运算,占11个程序步。

特殊功能模块读指令FROM(FNC78)和特殊功能模块写指令T0(FNC79)将在后面

介绍。

外围设备(SER)指令(FNC80~FNC89)

外围设备(SER)指令包含串行通信指令RS(FNC80)、八进制数据传送指令PRUN

(FNC81)、HEX→ASCII转换指令ASCI(FNC82)、ASCII→HEX转换指令HEX(FNC83)、

校验码指令CCD(FNC84)、模拟量输入指令VRRD(FNC85)、模拟量开关设定指令VRSC

(FNC86)和PID运算指令PID(FNC88)8条指令。

81八进制数据传送指令(D)PRUN(P)(FNC81)

八进制数据传送指令 八进制数据传送指令(D)PRUN(P)(FNC81)是用于八进制数的

传送。如图3-78所示,当X10为ON时,将X0~X17内容送至M0~M7和M10~M17(因

为X为八进制,故M9和M8的内容不变)。当X11为ON时,则将M0~M7送Y0~Y7,

M10~M17送Y10~Y17。源操纵数可取KnX、KnM,目标操纵数取KnY、KnM,n=1~8,

16位和32位运算分别占5个和9个程序步。

图 3-78 八进制数据传送指令的使用

82、83 16进制数与ASCII码转换指令 有HEX→ASCII转换指令ASCI(FNC82)、

ASCII→HEX转换指令HEX(FNC83)两条指令

HEX→ASCII转换指令ASCI(P)的功能是将源操纵数[S.]中的内容(十六进制数)转换

成ASCII码放入目标操纵数[D.]中。如图3- 79所示,n暗示要转换的字符数(n=1~256)。

M8161控制采取16位模式还是8位模式。16位模式时每4个HEX占用1个数据寄存器,

转换后每两个ASCII码占用一个数据

寄存器;8位模式时,转换结果传送到[D.]低8位,其高8位为0。PLC运行时M8000为

ON,M8161为OFF,此时为16位模式。当X0为ON则执行ASCI。如果放在D100中的4

个字符为OABCH则执行后将其转换为ASCII码送入D200和D201中,D200高位放A的

ASCII码41H,低位放0的ASCII码30H,D201则放BC的ASCII码,C放在高位。该指

令的源操纵数可取所有数据类型,目标操纵数可取KnY、KnM、KnS、T、C和D。只有16

位运算,占用7个程序步。ASCII→HEX指令HEX(P)的功能与ASCI指令相反,是将ASCII

码暗示的信息转换成16进制的信息。 图 3-79 HEX→ASCII码转换指令的使用

如图3-80所示,将源操纵数D200~

D203中放的ASCII码转换成16进制放入目

标操纵数D100和D101中。只有16位运算,

占7个程序步。源操纵数为K、H、KnX、

KnY、KnM、KnS、T、C和D,目标操纵数

为 KnY、KnM、KnS、T、C、D、V和Z。

图3-80 ASCII→HEX指令的使用

84校验码指令CCD(P)(FNC84)

校验码指令的功能是对一组数据寄存器中的16进制数进行总校验和奇偶校验。如图

3-81所示,是将源操纵数[S.]指定的D100~D102共6个字节的8位二进制数求和并“异或”,

结果分别放在目标操纵数D0和D1中。通信过程中可将数据和、“异或”结果随同发送,对

方接收到信息后,先将传送的数据求和并“异或”,再与收到的和及“异或”结果比较,以此判

断传送信号的正确与否。源操纵数可取

KnX、 KnY、KnM、KnS、T、C和D,目

标操纵数可取KnM、KnS、T、C和D,n

可用K、H或D,n=1~256。为16位运算

指令,占7个程序步。 以上PRUN、ASCI、

HEX、CCD常应用于串行通信中,配合RS

指令。

85模拟量输入指令VRRD(P)(FNC85)

模拟量输入指令VRRD(P)(FNC85)是用来对FX2N-8AV-BD模拟量功能扩展板中的

电位器数值进行读操纵。如图3-82所示,当X0为ON时,读出FX2N-8AV-BD中0号模拟

量的值(由K0决定),将其送入D0作为T0的设定值。源操纵数可取K、H,它用来指定

模拟量口的编号,取值范围为0~7;目标操

纵数可取KnY、KnM、KnS、T、C、D、V

和Z。该指令只有16位运算,占5个程序步。

86模拟量开关指设定令VRSC(P)(FNC86)

模拟量开关设定指令的3-82 模拟量输入指令的使用

作用是将FX-8AV中电位器读出的数四舍五入整量化后以0~10之间的整数值存放在目标操

纵数中。它的源操纵数[S.]可取K和H,用来指定模拟量口的编号,取值范围为0~7;目标

操纵数[D.]的类型与VRRD指令相同。该指令为16位运算,占9个程序步。

88

PID控制指令

浮点运算指令FNC110~

FNC139

浮点数运算指令包含浮点

数的比较、四则运算、开方运算和三角函数等功能。它们分布在指令编号为FNC110~

FNC119、FNC120~FNC129、

FNC130~FNC139之中。

110 二进制浮点数比较指

令ECMP(FNC110)

二进制浮点数比较指令

ECMP(FNC110) DECMP(P)

指令的使用如图3-83所示,将

两个源操纵数进行比较,比较结

果反映在目标操纵数中。如果操

纵数为常数则自动转换成二进制浮点值处理。该指令源操纵数可取K、H和D,目标操纵数

可用Y、M和S。为32位运算指令,占17个程序步。

111 二进制浮点数区间比较指令EZCP(FNC111)EZCP(P)

二进制浮点数区间比较指令EZCP(FNC111) EZCP(P)指令的功能是将源操纵数的内

容与用二进制浮点值指定的上下二点

的范围比较,对应的结果用ON/OFF

反映在目标操纵数上,如图3-84所示。

该指令为32位运算指令,占17个程

序步。源操纵数可以是K,H和D;

目标操纵数为Y、M和S。[S1.]应小于[S2.],操纵数为常数时将被自动转换成二进制浮点值

处理。图3-84 二进制浮点数区间比较指令的使用

120、121、122、123二进制浮点数的四则运算指令有加法指令EADD (FNC120)、减

法指令ESUB(FNC121)乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四条指

令。

二进制浮点数的四则运算指令 浮点数的四则运算指令有加法指令EADD (FNC120)、

减法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四

条指令。四则运算指令的使用说明如图3-85所示,它们都是将两个源操纵数中的浮点数进

行运算后送入目标操纵数。当除数为0时出现运算错误,不执行指令。此类指令只有32位

运算,占13个程序步。运算结果影响标记位M8020(零标记)、M8021(借位标记)、M8022

(进位标记)。源操纵数可取K、H和D,目标操纵数为D。如有常数介入运算则自动转化

为浮点数。

二进制的浮点

运算还有开平

方、三角函数

运算等指令,

在此纷歧一说

明。

157、158

微分指令

(PLS/PLF)

PLS(上

升沿微分指令)在输入信号上升沿发生

一个扫描周期的脉冲输出。

PLF(下降沿微分指令)在输入信号下

降沿发生一个扫描周期的脉冲输出。

微分指令的使用如图3-21所示,利用

微分指令检测到信号的边沿,通过置位和复

位命令控制Y0的状态。

PLS、PLF指令的使用说明:

1)PLS、PLF指令的目标元件为Y和M;

2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件ON,如图3-21所

示,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利

用输入信号的下降沿驱动,其它与PLS相同

时钟运算指令(FNC160~FNC169)

共有七条时钟运算类指令,指令的编号分布在FNC160~FNC169之间。时钟运算类指令

是对时钟数据进行运算和比较,对PLC内置实时时钟进行时间校准和时钟数据格式化操纵。

160 时钟数据比较指令TCMP(FNC160) TCMP(P)

时钟数据比较指令TCMP(FNC160) TCMP(P)它的功能是用来比较指定时刻与时钟

数据的大小。如图3- 86所示,将源操纵数[S1.]、[S2.]、[S3.]中的时间与[S.]起始的3点时间

数据比较,根据它们的比较结果决定目标操纵数[D.]中起始的3点单元中取ON或OFF的状

态。该指令只有16位运算,占11个程序步。它的源操纵数可取T、C和D,目标操纵数可

以是Y、M和S。

图3-86 时钟数据比较指令的使用

162 时钟数据加法运算指令TADD(FNC162) TADD(P)

时钟数据加法运算指令TADD(FNC162) TADD(P)指令的功能是将两个源操纵数的

内容相加结果送入目标操纵数。源操纵数和目标操纵数均可取T,C和D。TADD为16位

运算,占7个程序步。如图3-87所示,将[S1.]指定的D10~D12和D20~D22中所放的时、

分、秒相加,把结果送入[D.]指定的D30~

D32中。当运算结果超出24小时时,进位

标记位变成ON,将进行加法运算的结果减去24小时后作为结果进行保管。

166 时钟数据读取指令TRD(FNC166) TRD(P)

时钟数据读取指令TRD(FNC166) TRD(P)指令为16位运算,占7个程序步。[D.]

可取T,C和D。它的功能是读出内置的实时时钟的数据放入由[D.]开始的7个字内。如图

3-87所示,当X1为ON时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序存

放在特殊辅助寄存器D8013~8019之中)传送到D10~

D16之中。

格雷码转换及模拟量模块专用指令

170、171 格雷码转换和逆转换指令GRY (FNC170)

和GBIN (FNC171)

格雷码转换和逆转换指令有2条:GRY (FNC170)和GBIN (FNC171),经常使用于处

理光电码盘编码盘的数据。(D)GRN(P)指令的功能是将二进制数转换为格雷码,(D)GBIN(P)

指令则是GRY的逆变换。如图3-89所示,GRY指令

是将源操纵数[S.]中的二进制数酿成格雷码放入目标

操纵数[D.]中,而GBIN指令与其相反。它们的源操纵

数可取任意数据格式,目标操纵数为KnY、KnM、KnS、

T、C、D、V和Z。、16位操纵时占5个程序步,32

位操纵时占9个程序步。 图 3-89 格雷码转换和逆转

换指令的使用

176、177模拟量模块读写指令RD3A(FNC176)和WR3A(FNC177)

模拟量模块读写指令有2条:

RD3A(FNC176)和WR3A(FNC177),

其功能是对FXON-3A模拟量模块输入

值读取和对模块写入数字值。如图3-90

所示,[m1.]为特殊模块号K0~K7,[m2.]

为模拟量输入通道K1或K2,[D.]为保

管读取的数据,[S.]为指定写入模拟量模

块的数字值。指令均为16位操纵,占7个程序步。

触点比较指令(FNC224~FNC246)

224-229LD触点比较指令

LD触点比较指令的助记符、代码、功能如表3-17所示。

表3-17 LD触点比较指令

功能指令代码

FNC224

FNC225

FNC226

FNC228

FNC229

FNC230

助记符

(D)LD=

(D)LD>

(D)LD<

(D)LD<>

(D)LD≤

(D)LD≥

导通条件

[S1.]=[S2.]

[S1 ]>[S2.]

[S1.]< [S2.]

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

非导通条件

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

[S1.]=[S2.]

[S1.]>[S2.]

[S1.]<[S2.]

如图3-91所示为LD=指令的使用,

当计数器C10的当前值为200时驱动

Y10。其它LD触点比较指令不在此一一

说明。

图3-91 LD=指令的使用

232-238AND触点比较指令

AND触点比较指令的的助记符、代码、功能如表3-18所示。

表3-18 AND触点比较指令

功能指令代码

FNC232

FNC233

FNC234

FNC236

FNC237

FNC238

助记符

(D)AND=

(D)AND>

(D)AND<

(D)AND<>

(D)AND≤

(D)AND≥

导通条件

[S1.]=[S2.]

[S1 ]>[S2.]

[S1.]< [S2.]

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

非导通条件

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

[S1.]=[S2.]

[S1.]>[S2.]

[S1.]<[S2.]

如图3-92所示为AND=指令的使用,当

X0为ON且计数器C10的当前值为200时,

驱动Y10。

图3-92 AND=指令的使用

240-246 OR触点比较指令

该类指令的的助记符、代码、功能列于下表3-19中。

表3-19 OR触点比较指令

功能指令代码

FNC240

FNC241

FNC242

FNC244

FNC245

FNC246

助记符

(D)OR=

(D)OR>

(D)OR<

(D)OR<>

(D)OR≤

(D)OR≥

导通条件

[S1.]=[S2.]

[S1 ]>[S2.]

[S1.]< [S2.]

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

非导通条件

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

[S1.]=[S2.]

[S1.]>[S2.]

[S1.]<[S2.]

OR=指令的使用如图3-93所示,当

X1处于ON或计数器的当前值为200时,

驱动Y0。

图3-93 OR=指令的使用

触点比较指令源操纵数可取任意数据格

式。16位运算占5个程序步,32位运算占9个程序步。

第三部分、三菱FX系列PLC简介

1.型号说明

FX系列PLC是由三菱公司近年来推出的高性能小型可编程控制器,以逐步替代三菱公司

原F、F1、F2系列PLC产品。其中FX2是1991年推出的产品,FX0是在FX2之后推出的

超小型PLC,近几年来又连续推出了将众多功能凝集在超小型机壳内的FX0S、FX1S、FX0N、

FX1N、FX2N、FX2NC等系列PLC,具有较高的性能价格比,应用广泛。它们采取整体式

和模块式相结合的叠装式结构。

FX系列PLC型号的含义如下:

中系列

名称:如0、2、0S、1S、ON、1N、2N、2NC等

单元类型:M──基本单元;E──输入输出混合扩展单元 ; Ex──扩展输入模块 ; EY──

扩展输出模块;

输出方式:R──继电器输出、 S──晶闸管输出、 T──晶体管输出;

特殊品种:D──DC电源,DC输出;A1──AC电源,AC(AC100~120V)输入或AC输出

模块;H──大电流输出扩展模块;V──立式端子排的扩展模块;C──接插口输入输出方式;

F──输入滤波时间常数为1ms的扩展模块。如果特殊品种一项无符号,为AC电源、DC输

入、横式端子排、尺度输出。

例如FX2N-32MT-D暗示FX2N系列,32个I/O点基本单位,晶体管输出,使用直

流电源,24V直流输出型。

二、各单元模块的连接

FX系列PLC吸取了整体式和模块式PLC的优点,各单元间采取叠装式连接,即PLC

的基本单元、扩展单元和扩展模块深度及高度均相同,连接时不必基板,仅用扁平电缆连接,

构成一个整齐的长方体。使用FRON/TO指令的特殊功能模块,如模拟量输入和输出模块、

高速计数模块等,可直接连接到FX系列的基本单元,或连到其它扩展单元、扩展模块的右

边。根据它们与基本单元的距离,对每个模块按0~7的顺序编号,最多可连接8个特殊功

能模块

模拟量输入输出模块——三菱FX系列的特殊功能模块

(1)模拟量输入输出模块FX0N-3A 该模块具有2路模拟量输入(0~10V直流或4~

20mA直流)通道和1路模拟量输出通道。其输入通道数字分辨率为8位,A/D的转换时间

为100µs,在模拟与数字信号之间采取光电隔离,适用于FX1N、FX2N、FX2NC子系列,

占用8个I/O点。

(2)模拟量输入模块FX2N-2AD 该模块为2路电压输入(0~10V DC,0~5V DC)

或电流输入(4~20mA DC),12位高精度分辨率,转换的速度为2.5ms/通道。这个模块占

用8个I/O点,适用于FX1N、FX2N、FX2NC子系列。

(3)模拟量输入模块FX2N-4AD 该模块有4个输入通道,其分辨率为12位。可选择

电流或电压输入,选择通过用户接线来实现。可选为模拟值范围为±10VDC(分辨率位5mV)

或4~20mA、-20~20mA(分辨率位20µA)。转换的速度最高位6ms/通道。FX2N-4AD占

用8个I/O点。

(4)模拟量输出模块FX2N-2DA 该模块用于将12位的数字量转换成2点模拟输出。

输出的形式可为电压,也可为电流。其选择取决于接线分歧。电压输出时,两个模拟输出通

道输出信号为0~10V DC,0~5V DC;电流输出时为4~20mA DC。分辨率为2.5mV(0~

10V DC)和4µA(4~20mA)。数字到模拟的转换特性可进行调整。转换速度为4ms/通道。

本模块需占用8个I/O点。适用于FX1N、FX2N、FX2N子系列。

(5)模拟量输出模块FX2N-4DA 该模块有4个输出通道。提供了12位高精度分辨

率的数字输入。转换速度为2.1ms/4通道,使用的通道数变更不会改变转换速度。其他的性

能与FX2N-2DA相似。

(6)模拟量输入模块FX2N-4AD-PT 该模块与PT100型温度传感器匹配,将来自四

个箔温度传感器(PT100,3线,100Ω)的输入信号放大,并将数据转换成12位可读数据,

存储在主机单元中。摄氏度和华氏度数据都可读取。它内部有温度变送器和模拟量输入电路,

可以矫正传感器的非线性。读分辨率为0.2℃~0.3℃。转换速度为15ms/每通道。所有的数

据传送和参数设置都可以通过FX2N-4AD-PT的软件组态完成,由FX2N的TO/FROM应用

指令来实现。FX2N-4AD-PT占用8个I/O点,可用于FX1N、FX2N、FX2NC子系统,为温

控系统提供了方便。

(7)模拟量输入模块FX2N-4AD-TC 该模块与热电耦型温度传感器匹配,将来自四

个热电耦传感器的输入信号放大,并将数据转换成12位的可读数据,存储在主单元中,摄

氏和华氏数据均可读取,读分辨率在类型为K时为0.2℃;类型为J时为0.3℃,可与K型

(-100~1200℃)和J型(-100~600℃)热电耦配套使用,4个通道分别使用K型或J型,

转换速度为240ms/通道。所有的数据传输和参数设置都可以通过FX2N-4AD-TC的软件组

态完成,占用8个I/O点。

三、FX系列编程器

编程器是PLC的一个重要外围设备,用它将用户程序写入PLC用户程序存储器。它一

方面对PLC进行编程,另一方面又能对PLC的工作状态进行监控。随着PLC技术的发展,

编程语言的多样化,编程器的功能也不竭增加。

(1)简易编程器 FX型PLC的简易编程器也较多,最经常使用的是FX-10P-E和

FX-20P-E手持型简易编程器。他们具有体积小、重量轻、价格廉价、功能强的特点。有在

线编程和离线编程两种方式。显示采取液晶显示屏,分别显示2行和4行字符,配有ROM

写入器接口、存储器卡盒接口。编程器可用指令表的形式读出、写入、拔出和删除指令,进

行用户程序的输入和编辑。可监视位编程元件的ON/OFF状态和字编程元件中的数据。如计

数器、定时器的当前值及设定值、内部数据寄存器的值以及PLC内部的其他信息。。

FX-20P-E简易编程器(Handy Programming Panel,简称HPP)适用于FX系列PLC,

也可以通过转换器FX-20P-E-FKIT用于F系列PLC。

FX-20P-E编程器有联机(Online)和脱机(Offline)两种操纵方式。

(1)联机方式 编程器对PLC的用户程序存储器进行直接操纵、存取的方法。在写入

程序时,若PLC内未装EEPROM存储器,程序写入PLC内部RAM,若PLC内装有EEPROM

存储器,程序写入该存储器。

(2)脱机方式 脱机方式是对HPP内部存储器的存取方式。编制的程序先写入HPP

内部的RAM,再成批地传送到PLC的存储器中,也可以在HPP和ROM写入器之间进行程

序传送。

(2)PC机+编程开发软件 FX系列还有一些编程开发软件,如GX开发器。它可以用

于生成涵盖所有三菱PLC设备软件包,使用该软件可以为FX、A等系列PLC生成程序。

他在Windows操纵平台上运行,便于操纵和维护,可以用梯形图,语句表等进行编程,程

序兼容性强。FX-PCS/WIN-E-C编程软件包也是一个专门用来开发FX系列PLC程序的软件

包。可用梯形图、指令表和顺序功能图来写入和编辑程序,并能进行各种编程方式的互换。

它运用于Windows操纵系统,这对于调试操纵和维护操纵来说可以提高工作效率,并具有

较强的兼容性。

四、其他外部设备

在一个PLC控制系统中,人机界面也非常重要。还有一些辅助设备,如:打印机、EPROM

写入器外存模块等

窗体底端

五、PC与FX的硬件连接 三菱PLC FX系统通信

1.硬件连接

一台PC机可与一台或最多16台FX系列PLC通信,PC与PLC之间不克不及直接连

接。如图7-13a、b为点对点结构的连接,图a中是通过FX-232AW单元进行RS-232C/RS-422

转换与PLC编程口连接,图b中通过在PLC内部装置的通信功能扩展板FX-232-BD与PC

连接;如图7-13c所示为多点结构的连接,FX-485-BD为装置在PLC内部的通信功能扩展

板,FX-485PC-IF为RS-232C和RS-485的转换接口。除此之外当然还可以通过其它通信模

块进行连接,不再一一赘述。下面以PC与PLC之间点对点通信为例。

图7-13 PC与FX的硬件连接图

1、开环控制的通用变频器三相异步电动机变频调速系统控制框图如图1所

示。

图1 开环异步机变频调速 VVVF-通用变频器 IM-异步电动机

该控制方案结构简单,可靠性高。但是,由于是开环控制方式,其调速精度

和动态响应特性其实不是十分理想。尤其是在低速区域电压调整比较困难,不成

能得到较大的调速范围和较高的调速精度。异步电动机存在转差率,转速随负荷

力矩变更而变动,即使目前有些变频器具有转差抵偿功能及转矩提升功能,也难

以达到0.5%的精度,所以采取这种V/F控制的通用变频器异步机开环变频调速

适用于一般要求不高的场合,例如风机、水泵等机械。

2、带速度传感器矢量控制变频器的异步电机闭环变频调速系统控制框图如

图2所示。

图2 异步电机闭环控制变频调速 PG-速度脉冲发生器

矢量控制异步电机闭环变频调速是一种理想的控制方式。 它有许多优点:

(1)可以从零转速起进行速度控制,即甚低速亦能运行,因此调速范围很

宽广,可达100:1或1000:1;

(2)可以对转矩实行精确控制;

(3)系统的动态响应速度甚快;

(4)电动机的加速度特性很好等优点。

然而,带速度传感器矢量控制变频器的异步机闭环变频调速技术性能虽好,

但是究竟它需要在异步电动机轴上装置速度传感器,严格地讲,已经降低了异步

电动机结构坚固、可靠性高的特点。况且,在某些情况下,由于电动机自己或环

境的因素无法装置速度传感器。再则,多了反馈电路和环节,也增加了出故障的

机率。

因此,如若非采取不成的情况下,对于调速范围、转速精度和动态品质要

求不是特别高的条件场合,往往采取无速度传感器矢量变频器开环控制异步机变

频调速系统

通常,在控制系统中有一定容量的储能元件,因此系统中常会有一定的惯性

和时间上的滞后,负载的变更以及电源系统的干扰都会给控制带来影响,造成系

统参数的变更,从而使控制性能改变。采取PID调节,可对系统偏差进行比例调

节,引入积分环节,对偏差进行积分,提高了系统控制精度和抗外界干扰能力。

引入微分环节,用于克服系统的惯性滞后,从而提高系统的稳定性。这就大大提

高了控制系统的性能和品质。

PID调节有四个参数需要选择,这四个参数分别是采样周期T、调节器的比

例系数kp、调节器的积分时间常数Ti、调节器的微分时间常数Td。这些参数随

分歧的控制对象的要求而定。选择合适的参数使整个系统稳定速度最快,超调量

最小。图2是PID控制程序流程图,采样时间是用PLC定时器来控制,须选用

运算速度较快且具有算术运算等功能的PLC。为提高其抗干扰性能,还可填加数

字滤滤处理程序。

三菱PLC FX1N系列PLC

简单介绍

FX1N系列是功能很强大的微PLC,可扩展到多达128 I/O点,而且能增加特

殊功能模块或扩展板。通信和数据链接功能选项使得FX1N在体积、通信和特殊

功能模块等重要的应用方面非常完美。

定位和脉冲输出功能

一个PLC单元能同时输出2点100KHz脉冲,PLC配备有7条特殊的定位指

令,包含零返回、绝对位置读出、绝对或相对驱动以及特殊脉冲输出控制。其它

功能内置式24V直流电源,24V、400mA直流电源可用于外围设备,如传感器或

其它元件。时钟功能和小时表功能,在所有的FX1NPLC中都有实时时钟尺度。时

间设置和比较指令易于操纵。小时表功能对过程跟踪和机器维护提供了有价值的

信息。持续扫描功能, 为应用所需求的持续扫描时间定义操纵周期。输入滤波器

调节功能可以用输入滤波器平整输入信号(在基本单元中x000到x017)。元件

注解记录功能元件注解可以记录在程序寄存器中。在线程序编辑在线改变程序不

会损失工作时间或停止生产运转RUN/STOP 开关面板上运行/停止开关易于操纵。

远程维护远处的编程软件可以通过调制解调器通信来监测、上载或卸载程序和数

据密码呵护使用一个八位数字密码呵护您的程序

2024年10月3日发(作者:僧雅寒)

三菱PLC编程

第一部分 软元件的功能与代号

一、输入继电器(X)

输入继电器与输入端相连,它是专门用来接受PLC外部开关信号的元件。PLC通过输

入接口将外部输入信号状态(接通时为“1”,断开时为“0”)读入并存储在输入映象寄存器中。

如图3-2所示为输入继电器X1的等效电路。

输入继电器必须由外部信号驱动,不克不及用程序驱动,所以在程序中不成能出现其

线圈。由于输入继电器(X)为输入映象寄存器中的状态,所以其触点的使用次数不限。

FX系列PLC的输入继电器以八进制进行编号,FX2N输入继电器的编号范围为

X000~X267(184点)。注意,基本单元输入继电器的编号是固定的,扩展单元和扩展模块

是按与基本单元最靠近开始,顺序进行编号。例如:基本单元FX2N-64M的输入继电器编

号为X000~X037(32点),如果接有扩展单元或扩展模块,则扩展的输入继电器从X040开

始编号。

二、输出继电器(Y)

输出继电器是用来将PLC内部信号输出

传送给外部负载(用户输出设备)。输出继电

器线圈是由PLC内部程序的指令驱动,其线

圈状态传送给输出单元,再由输出单元对应的

硬触点来驱动外部负载。如图3-3所示为输出

继电器Y0的等效电路。图3-3 输出继电器

的等效电路

每个输出继电器在输出单元中都对应有维一一个常开硬触点,但在程序中供编程的输出继

电器,不管是常开还是常闭触点,都可以无数次使用。

FX系列PLC的输出继电器也是八进制编号其中FX2N编号范围为Y000~Y267(184点)。

与输入继电器一样,基本单元的输出继电器编号是固定的,扩展单元和扩展模块的编号也是

按与基本单元最靠近开始,顺序进行编号。

在实际使用中,输入、输出继电器的数量,要看具体系统的配置情况。

三、通用辅助继电器(M0~M499)

FX2N系列共有500点通用辅助继电器。通用辅助继电器在PLC运行时,如果电源突

然断电,则全部线圈均OFF。当电源再次接通时,除了因外部输入信号而变成ON的以外,

其余的仍将坚持OFF状态,它们没有断电呵护功能。通用辅助继电器常在逻辑运算中作为

辅助运算、状态暂存、移位等。

根据需要可通过程序设定,将M0~M499变成断电坚持辅助继电器。

四、断电坚持辅助继电器(M500~M3071)

FX2N系列有M500~M3071共2572个断电

坚持辅助继电器。它与普通辅助继电器分歧的是

具有断电呵护功能,即能记忆电源中断瞬时的状

态,并在重新通电后再现其状态。它之所以能在

电源断电时坚持其原有的状态,是因为电源中断

时用PLC中的锂电池坚持它们映像寄存器中的内

容。其中M500~M1023可由软件将其设定为通用

辅助继电器。

下面通过小车往复运动控制来说明断电坚持

辅助继电器的应用,如图3-4所示。图3-4断电坚

持辅助继电器的作用

小车的正反向运动中,用M600、M601

控制输出继电器驱动小车运动。X1、X0为限位输

入信号。运行的过程是X0=

ON→M600=ON→Y0=ON→小车右行→停电→小

车中途停止→上电(M600=ON→Y0=ON)再右行

→X1=ON→M600=OFF、M601=ON→Y1=ON(左

行)。可见由于M600和M601具有断电坚持,所

以在小车中途因停电停止后,一旦电源恢复,M600或M601仍记忆原来的状态,将由它们

控制相应输出继电器,小车继续原方向运动。若不必断电呵护辅助继电器当小车中途断电后,

再次得电小车也不克不及运动。

五、特殊辅助继电器

PLC内有大量的特殊辅助继电器,它们都有各自的特殊功能。FX2N系列中有256个特

殊辅助继电器,可分成触点型和线圈型两大类

(1)触点型 其线圈由PLC自动驱动,用户只可使用其触点。例如:

M8000:运行监视器(在PLC运行中接通),M8001与M8000相反逻辑。

M8002:初始脉冲(仅在运行开始时

瞬间接通),M8003与M8002相反逻辑。

M8011、M8012、M8013和M8014分

别是发生10ms、100ms 、1s和1min时钟

脉冲的特殊辅助继电器。

M8000、M8002、M8012的波形图如

图2所示。 图2 M8000、M8002、M8012

波形图

(2)线圈型 由用户程序驱动线圈后PLC执行特定的动作。例如:

M8033:若使其线圈得电,则PLC停止时坚持输出映

象存储器和数据寄存器内容。

M8034:若使其线圈得电,则将PLC的输出全部禁止。

M8039:若使其线圈得电,则PLC按D8039中指定的

扫描时间工作。

六、状态器(S)

状态器用来纪录系统运行中的状态。是编制顺序控制

程序的重要编程元件,它与后述的步进顺控指令STL配合

应用。

如图3-6所示,我们用机械手动作简单介绍状态器S的作用。当启动信号X0有效时,

机械手下降,到下降限位X1开始夹紧工件,加紧到位信号X2为ON时,机械手上升到上

限X3则停止。整个过程可分为三步,每一步都用一个状态器S20、S21、S22记录。每个状

态器都有各自的置位和复位信号(如S21由X1置位,X2复位),并有各自要做的操纵(驱

动Y0、Y1、Y2)。从启动开始由上至下随着状态动作的转移,下一状态动作则上面状态自

动返回原状。这样使每一步的工作互不干扰,不必考虑分歧步之间元件的互锁,使设计清晰

简洁。

状态器有五种类型:初始状态器S0~S9共10点;回零状态器S10~S19共10点;通

用状态器S20~S499共480点;具有状态断电坚持的状态器有S500~S899,共400点;供

报警用的状态器(可用作外部故障诊断输出)S900~S999共100点。

在使用用状态器时应注意:

1)状态器与辅助继电器一样有无数的常开和常闭触点;

2)状态器不与步进顺控指令STL配合使用时,可作为辅助继电器M使用;

3)FX2N系列PLC可通过程序设定将S0~S499设置为有断电坚持功能的状态

器。

七、定时器(T)

PLC中的定时器(T)相当于继电器控制系统中的通电型时间继电器。它可以提供无限

对常开常闭延时触点。定时器中有一个设定值寄存器(一个字长),一个当前值寄存器(一

个字长)和一个用来存储其输出触点的映象寄存器(一个二进制位),这三个量使用同一地

址编号。但使用场合纷歧样,意义也分歧。

FX2N系列中定时器时可分为通用定时器、积算定时器二种。它们是通过对一定周期的

时钟脉冲的进行累计而实现定时的,时钟脉冲有周期为1ms、10ms、100ms三种,当所计数

达到设定值时触点动作。设定值可用常数K或数据寄存器D的内容来设置。

1.通用定时器

通用定时器的特点是不具备断电的坚持功能,即当输入电路断开或停电时定时器复位。

通用定时器有100ms和10ms通用定时器两种。

(1)100ms通用定时器(T0~T199) 共200点,其中T192~T199为子程序和中断

服务程序专用定时器。这类定时器是对100ms时钟累积计数,设定值为1~32767,所以其

定时范围为0.1~3276.7s。

(2)10ms通用定时器(T200~

T245) 共46点。这类定时器是对

10ms时钟累积计数,设定值为1~

32767,所以其定时范围为0.01~

327.67s。

下面举例说明通用定时器的工作

原理。如图1所示,当输入X0接通时,

定时器T200从0开始对10ms时钟脉

冲进行累积计数,当计数值与设定值

K123相等时,定时器的常开接通Y0,

经过的时间为123×0.01s=1.23s。当X0

断开后定时器复位,计数值变成0,其

常开触点断开,Y0也随之OFF。若外

部电源断电,定时器也将复位。图

1 通用定时器工作原理

2.积算定时器

积算定时器具有计数累积的功能。在定时过程中如果断电或定时器线圈OFF,积算定

时器将坚持当前的计数值(当前值),通电或定时器线圈ON后继续累积,即其当前值具有

坚持功能,只有将积算定时器复位,当前值

才变成0。

(1)1ms积算定时器(T246~

T249) 共4点,是对1ms时钟脉冲进行累

积计数的,定时的时间范围为0.001~

32.767s。

(2)100ms积算定时器(T250~T255)

共6点,是对100ms时钟脉冲进行累积计数

的定时的时间范围为0.1~3276.7s。

以下举例说明积算定时器的工作原理。如图2所示,当X0接通时,T253当前值计数

数器开始累积100ms的时钟脉冲的个数。当X0经t0后断开,而T253尚未计数到设定值

K345,其计数的当前值保存。当X0再次接通,T253从保存的当前值开始继续累积,经过

t1时间,当前值达到K345时,定时器的触点动作。累积的时间为t0+t1=0.1×345=34.5s。当

复位输入X1接通时,定时器才复位,当前值变成0,触点也跟随复位。图2 积算定时器工

作原理

八、辅助继电器(M)

辅助继电器是PLC中数量最多的一种继电器,一般的辅助继电器与继电器控制系统中

的中间继电器相似。

辅助继电器不克不及直接驱动外部负载,负载只能由输出继电器的外部触点驱动。辅

助继电器的常开与常闭触点在PLC内部编程时可无限次使用。

辅助继电器采取M与十进制数共同组成编号(只有输入输出继电器才用八进制

数)。

九、数据寄存器(D)

PLC在进行输入输出处理、模拟量控制、位置控制时,需要许多数据寄存器存储数据

和参数。数据寄存器为16位,最高位为符号位。可用两个数据寄存器来存储32位数据,最

高位仍为符号位。数据寄存器有以下几种类型:

1.通用数据寄存器(D0~D199)

共200点。当M8033为ON时,D0~D199有断电呵护功能;当M8033为OFF时则它

们无断电呵护,这种情况PLC由RUN →STOP或停电时,数据全部清零。

2.断电坚持数据寄存器(D200~D7999)

共7800点,其中D200~D511(共12点)有断电坚持功能,可以利用外部设备的参数

设定改变通用数据寄存器与有断电坚持功能数据寄存器的分配;D490~D509供通信用;

D512~D7999的断电坚持功能不克不及用软件改变,但可用指令清除它们的内容。根据参

数设定可以将D1000以上做为文件寄存器。

3.特殊数据寄存器(D8000~D8255)

共256点。特殊数据寄存器的作用是用来监控PLC的运行状态。如扫描时间、电池电

压等。未加定义的特殊数据寄存器,用户不克不及使用。具体可拜见用户手册。

4.变址寄存器(V/Z)

FX2N系列PLC有V0~V7和Z0~Z7共16个变址寄存器,它们都是16位的寄存器。

变址寄存器V/Z实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器

变,用于改变元件的编号(变址),例如V0=5,则执行D20V0时,被执行的编号为D25

(D20+5)。变址寄存器可以象其它数据寄存器一样进行读写,需要进行32位操纵时,可将

V、Z串联使用(Z为低位,V为高位)。

十、计数器(C)

FX2N系列计数器分为内部计数器和

高速计数器两类。

1.内部计数器

内部计数器是在执行扫描操纵时对内

部信号(如X、Y、M、S、T等)进行计数。

内部输入信号的接通和断开时间应比PLC

的扫描周期稍长。

(1)16位增计数器(C0~C199) 共

200点,其中C0~C99为通用型,C100~

C199共100点为断电坚持型(断电坚持型

即断电后能坚持当前值待通电后继续计

数)。这类计数器为递加计数,应用前先对

其设置一设定值,当输入信号(上升沿)个数累加到设定值时,计数器动作,其常开触点闭

合、常闭触点断开。计数器的设定值为1~32767(16位二进制),设定值除了用常数K设

定外,还可间接通过指定数据寄存器设定。

下面举例说明通用型16位增计数器的工作原理。如图1所示,X10为复位信号,当

X10为ON时C0复位。X11是计数输入,每当X11接通一次计数器当前值增加1(注意X10

断开,计数器不会复位)。当计数器计数当前值为设定值10时,计数器C0的输出触点动作,

Y0被接通。此后既使输入X11再接通,计数器的当前值也坚持不变。当复位输入X10接通

时,执行RST复位指令,计数器复位,输出触点也复位,Y0被断开。图3-9通用型16位

增计数器

(2)32位增/减计数器(C200~C234) 共有35点32位加/减计数器,其中C200~

C219(共20点)为通用型,C220~C234(共15点)为断电坚持型。这类计数器与16位增

计数器除位数分歧外,还在于它能通过控制实现加/减双向计数。设定值范围均为

-214783648~-+214783647(32位)。

C200~C234是增计数还是减计数,分别由特殊辅助继电器M8200~M8234设定。对

应的特殊辅助继电器被置为ON时为减计数,置为OFF时为增计数。

计数器的设定值与16位计数器一样,可直接用常数K或间接用数据寄存器D的内容

作为设定值。在间接设定时,要用编号紧连在一起的两个数据计数器。

如图2所示,X10用来控制M8200,X10闭合时为

减计数方式。X12为计数输入,C200的设定值为5(可

正、可负)。设C200置为增计数方式(M8200为OFF),

当X12计数输入累加由4→5时,计数器的输出触点动

作。当前值大于5时计数器仍为ON状态。只有当前值

由5→4时,计数器才变成OFF。只要当前值小于4,则

输出则坚持为OFF状态。复位输入X11接通时,计数

器的当前值为0,输出触点也随之复位。图2 32位增/

减计数器

2.高速计数器(C235~C255)

高速计数器与内部计数器相比除允许输入频率高之外,应用也更为灵活,高速计数器

均有断电坚持功能,通过参数设定也可酿成非断电坚持。FX2N有C235~C255共21点高

速计数器。适合用来做为高速计数器输入的PLC输入端口有X0~X7。X0~X7不克不及重

复使用,即某一个输入端已被某个高速计数器占用,它就不克不及再用于其它高速计数器,

也不克不及用做它用。各高速计数器对应的输入端如表1所示。

高速计数器可分为四类:

(1)单相单计数输入高速计数器(C235~C245) 其触点动作与32位增/减计数器相

同,可进行增或减计数(取决于M8235~M8245的状态)。

如图3a所示为无启动/复位端单相单计数输入高速计数器的应用。当X10断开,M8235

为OFF,此时C235为增计数方式(反之为减计数)。由X12选中C235,从表1中可知其

输入信号来自于X0,C235对X0信号增计数,当前值达到1234时,C235常开接通,Y0

得电。X11为复位信号,当X11接通时,C235复位。

如图3 b所示为带启动/复位端单相单计数输入高速计数器的应用。由表3 4可知,X1

和X6分别为复位输入端和启动输入端。利用X10通过M8244可设定其增/减计数方式。当

X12为接通,且X6也接通时,则开始计数,计数的输入信号来自于X0,C244的设定值由

D0和D1指定。除了可用X1立即复位外,也可用梯形图中的X11复位。

图3 单相单计数输入高速计数器

a)无启动/复位端 b) 带启动/复位端

表1 高速计数器简表

输入

X0

X1

X2

X3

X4

计数器

C23

5

C23

6

U/

D

U/

D

U/

D

U/

D

U/

D

U/D

X5

XX

6

7

C23

7

C23

8

C23

9

C24

0

C24

1

C24

2

C24

3

C24

4

U/

D

R

U/

D

R

U/

D

R

U/

D

R

UID 2 帖子 383 精华 HYPERLINK

"/?au

thorid=2" 12 积分 576 经验

533 金币 43 贡献 0 阅读权

限 200 性别 男 在线时间 327 小时 注

TOP

册时间 2007-4-14 最后登录

2007-12-31 HYPERLINK

"/?action=vie

wpro&uid=2" t "_blank" 检查详细资料

十一、常数(K、H)

K是暗示十进制整数的符号,主要用来指定定时器或计数器的设定值及应用功能指令

操纵数中的数值;H是暗示十六进制数,主要用来暗示应用功能指令的操纵数值。 例如20

用十进制暗示为K20,用十六进制则暗示为H14。

十二、PLC指针(P、I)

在FX系列中,指针用来指示分支指令的跳转目标和中断程序的入口标号。分为分支用

指针、输入中断指针及定时中断指针和记数中断指针。

1.分支用指针(P0~P127)

FX2N有P0~P127共128点分支用指针。分支指针用来指示跳转指令(CJ)的跳转目

标或子程序调用指令(CALL)调用子程序的入口地址。

如图3-14所示,当X1常开接通时,执行跳转指令

CJ P0,PLC跳到标号为P0处之后的程序去执行。

2.中断指针(I0□□~I8□□)

中断指针是用来指示某一中断程序的入口位置。执行中断后遇到IRET(中断返回)指

令,则返回主程序。中断用指针有以下三种类型:

(1)输入中断用指针(I00□~I50□) 共6点,它是用来指示由特定输入端的输入信

号而发生中断的中断服务程序的入口位置,这类中断不受PLC扫描周期的影响,可以及时

处理外界信息。输入中断用指针的编号格式如下:

例如:I101为当输入X1从OFF→ON变更时,执行以I101为标号后面的中断程序,

并根据IRET指令返回。

(2)定时器中断用指针(I6□□~I8□□) 共3点,是用来指示周期定时中断的中断服

务程序的入口位置,这类中断的作用是PLC以指定的周期定时执行中断服务程序,定时循

环处理某些任务。处理的时间也不受PLC扫描周期的限制。□□暗示定时范围,可在10~99ms

中选取。

(3)计数器中断用指针(I010~I060) 共6点,它们用在PLC内置的高速计

数器中。根据高速计数器的计数当前值与计数设定值之关系确定是否执行中断服务程序。它

经常使用于利用高速计数器优先处理计数结果的场合。

十三、FX系列中几种经常使用型号PLC的编程元件及编号

分歧厂家、分歧系列的PLC,其内部软继电器(编程元件)的功能和编号也不相同,

因此用户在编制程序时,必须熟悉所选用PLC的每条指令涉及编程元件的功能和编号。

FX系列中几种经常使用型号PLC的编程元件及编号如表所示。FX系列PLC编程元件

的编号由字母和数字组成,其中输入继电器和输出继电器用八进制数字编号,其它均采取十

进制数字编号。为了能全面了解FX系列PLC的内部软继电器,下表以FX2N为布景进行

介绍的。

表二 FX系列PLC的内部软继电器及编号

PLC型号

FX0S

编程元件种类

FX1S

FX0N

FX1N

(FX2NC)

FX2N

输入继电器X

(按8进制编号)

输出继电器Y

(按8进制编号)

辅助

继电器

M

状态

寄存器

S

普通用

坚持用

特殊用

初始状态

返回原点

普通用

坚持用

信号报警

100ms

10ms

定时器

T

1ms

1ms累积

100ms累积

16位增计

数(普通)

16位增计

数(坚持)

32位可逆

计数(普

通)

32位可逆

计数(坚

持)

高速计数

16位普通

X0~X17

X0~X17

X0~X43

(可扩展)

Y0~Y27

(可扩展)

M0~

M383

M384~

M511

S0~S9

-

X0~X43

(可扩展)

Y0~Y27

(可扩展)

X0~X77

(可扩展)

Y0~Y77

(可扩展)

(不成扩展)

(不成扩

展)

Y0~Y15

(不成扩展)

M0~M495

M496~

M511

S0~S9

-

Y0~Y15

(不成扩

展)

M0~

M383

M384~

M511

S0~S9

-

M0~M383

M384~

M1535

S0~S9

-

M0~M499

M500~

M3071

S0~S9

S10~S19

S20~S499

S500~S899

S900~S999

T0~T199

T200~T245

-

T246~T249

T250~T255

M8000~M8255(具体见使用手册)

S10~S63

S10~S127

S10~S127

S10~S999

-

-

T0~T49

T24~T49

-

-

-

S0~S127

-

T0~T62

T32~T62

T63

-

S0~S127

-

T0~T62

T32~T62

T63

-

-

S0~S999

-

T0~T199

T200~

T245

-

T246~

T249

T250~

T255

C0~C15

计数器

C

C0~C13

C0~C15

C0~C15

C16~C31

C0~C99

C14、C15

C16~C31

C16~C199

C100~C199

C200~

C219

C220~

C234

-

-

-

C200~C219

-

-

-

C220~C234

C235~C255(具体见使用手册)

D0~D29

D0~D127

D0~D127

D0~D127

D0~D199

数据

寄存器

D

16位坚持

16位特殊

16位变址

嵌套用

跳转用

输入中断

定时器中

计数器中

D30、D31

D8000~

D8069

V

Z

D128~

D255

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P63

I00*~

I50*

-

-

D128~

D255

D8000~

D8255

V

Z

N0~N7

P0~P63

I00*~

I30*

-

-

D128~

D7999

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

-

-

D200~D7999

D8000~

D8195

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

I6**~I8**

I010~I060

指针

N、P、

I

N0~N7

P0~P63

I00*~I30*

-

-

常数

K、H

特殊软元件

一 PC状态

M8000

M8001

M8002

M8003

M8004

16位

32位

K:-32,768~32,767 H:0000~FFFFH

K:-2,147,483,648~2,147,483,647 H:00000000~FFFFFFFF

RUN监控(a触点)

RUN监控(b触点)

初始脉冲(a触点)

初始脉冲(b触点)

发生出错

M8005电池电压下降

M8006

M8007

M8008

M8009

D8001

D8002

D8003

D8004

D8005

D8006

D8007

D8008

电池电压下降锁存

电源瞬停检测

停电检测

DC24V关断

PLC型号及系统版本

存储器容量

存储器类型

出错M地址号

电池电压

电池电压下降检出电平

瞬停次数

停电检测时间

D8009

二时钟

DC24V关断的单元编号

M8011

M8012

M8013

M8014

M8015

M8016

M8017

M8018

M8019

D8010

D8011

D8012

D8013

D8014

D8015

D8016

D8017

D8018

D8019

三标记

M8020

M8021

M8022

M8023

M8024

M8025

M8026

M8027

M8028

震荡周期10ms

震荡周期100ms

震荡周期1s

震荡周期1分钟

计时停止及预置

时间读出时显示停止

±30秒的修正

检测RTC卡盒是否拔出

实时时钟(RTC)出错

当前扫描时间

最小扫描时间

最大扫描时间

星期(0:星期日~6:星期六)

零(加减运算结果为0时置位)

借位

进位

小数点运算标记

HSC方式

RAMP方式

PR方式

FROM./TO指令

执行中允许中断标记

M8029

D8028

指令执行完成

Z寄存器内容

D8029 V寄存器内容

四 PLC方式

M8030

M8031

M8032

M8033

M8034

M8035

M8036

M8037

M8038

M8039

D8039

电池LED灯灭指令

全清非坚持存储器

全清坚持存储器

停止时存储器坚持

禁止所有输出

强制RUN方式

强制RUN信号

强制STOP信号

RAM文件寄存器全清零

恒定扫描方式

恒定扫描时间

第二部分三菱PLC-FX系列经常使用编程指令

FX系列PLC有基本逻辑指令20或27条、步进指令2条、功能指令100多条(分歧系

列有所分歧)。FX2N的共有27条基本逻辑指令,其中包含了有些子系列PLC的20条基本

逻辑指令。

一、

基本逻辑指令

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

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

辑行都用此指令。

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

辑行都用此指令。

(3)LDP(取上升沿指令) 与左母线连接的常开触点的上升沿检测指令,仅在指定

位元件的上升沿(由OFF→ON)时接通一个扫描周期。

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

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

取指令与输出指令的使用如图3-15所示。

图3-15取指令与输出指令的使用

取指令与输出指令的使用说明:

1)LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现

块逻辑运算;

2)LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通。图3-15中,当M1

有一个下降沿时,则Y3只有一个扫描周期为ON。

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)图3-16中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)

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

指令的使用如图3-18所示。

ORB指令的使用说明:

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

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

有限制;

3)ORB指令也可以连续使用,但这种程序写法不推荐使用,LD或LDI指令的使用次

数不得超出8次,也就是ORB只能连续使用8次以下。

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

指令的使用说明如图3-19所示。

ANB指令的使用说明:

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

2)多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。

也可连续使用ANB,但与ORB一样,使用次数在8次以下。

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

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

(2)RST(复位指令)使被操纵的目标元件复位并坚持清零状态。

SET、RST指令的使用如图3-20

所示。当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.主控指令(MC/MCR)

(1)MC(主控指令)用于公共串联触点的连接。执行MC后,左母线移到MC触点

的后面。

(2)MCR(主控复位指令)它是MC指令的复位指令,即利用MCR指令恢复原左母

线的位置。

在编程时常会出现这样

的情况,多个线圈同时受一个

或一组触点控制,如果在每个

线圈的控制电路中都串入同

样的触点,将占用很多存储单

元,使用主控指令就可以解决

这一问题。MC、MCR指令的

使用如图3-22所示,利用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)主控触点在梯形图中与一般触点垂直(如图3-22中的M100)。主控触点是与左母

线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LD或LDI

指令。

3)MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/

置位指令驱动的元件坚持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的

元件将复位,如图3-22中当X0断开,Y0和Y1即变成OFF。

4)在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数最多为8级,编号按

N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号

大的嵌套级开始复位。

7.堆栈指令(MPS/MRD/MPP)

堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便当。在FX

系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。

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

次移到栈的下一段。

(2)MRD(读栈指令)

将栈存储器的第一段数据(最

后进栈的数据)读出且该数据

继续保管在栈存储器的第一

段,栈内的数据不发生移动。

(3)MPP(出栈指令)

将栈存储器的第一段数据(最

后进栈的数据)读出且该数据

从栈中消失,同时将栈中其它

数据依次上移。

堆栈指令的使用如图

3-23所示,图a为一层栈,进

栈后的信息可无限使用,最后

一次使用MPP指令弹出信号;

图b为二层栈,它用了二个栈

单元。图3-23堆栈指令的使用

a) 一层栈 b) 二层栈

堆栈指令的使用说明:

1)堆栈指令没有目标元件;

2)MPS和MPP必须配对使用;

3)由于栈存储单元只有11个,所以栈的条理最多11层。

8.逻辑反、空操纵与结束指令(INV/NOP/END)

(1)INV(反指令)执行该指令后将原来的运算结果取反。反指令的使用如图1所示,

如果X0断开,则Y0为ON,否则Y0

为OFF。使用时应注意INV不克不及

象指令表的LD、LDI、LDP、LDF那

样与母线连接,也不克不及象指令表

中的OR、ORI、ORP、ORF指令那样

单独使用。图3-24反指令的使用

(2)NOP(空操纵指令)不执行操纵,但占一个程序步。执行NOP时其实不做任何

事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清

除用户存储器操纵后,用户存储器的内容全部变成空操纵指令。

(3)END(结束指令)暗示程序结束。若程序的最后不写END指令,则PLC不管实

际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描

到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中拔出若

干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至

调试结束。

二 、步进指令(STL/RET)

1.用途

步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序

控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。

FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。

STL和RET指令只有与状态器S配合才干具有步进功能。如STL S200暗示状态常开

触点,称为STL触点,它在梯形图中的符号为,它没有常闭触点。我们用每个状态器S

记录一个工步,例STL S200有效(为ON),则进入S200暗示的一步(类似于本步的总开

关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号

为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET

后将重回母线,退出步进状态。

2.状态转移图

一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有分歧的动作。

当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状

态执行。我们经常使用状态

转移图(功能表图)描述这

种顺序控制过程。如图3-25

所示,用状态器S记录每个

状态,X为转换条件。如当

X1为ON时,则系由S20

状态转为S21状态

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

图1中S20步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转

换条件,转换的目标为S21步。

3.步进指令的使用说明

1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动

步;

2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线;

3)STL触点可直接驱动或通过此外触点驱动Y、M、S、T等元件的线圈;

4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺

控程序在分歧的步可多次驱动同一线圈);

5) STL触点驱动的电路块中不克不及使用MC和MCR指令,但可以用CJ指令;

6)在中断程序和子程序内,不克不及使用STL指令。

三 、功能指令

(一)功能指令表

一 程序流程—功能00~09 三 算术和逻辑运算指令—功能20~29

00 CJ 条件转移 20 ADD 加法

01 CALL 调用子程序 21 SUB 减法

02 SRET 从子程序返回22 MUL 乘法

03 IRET 中断返回 23 DIV 除法

04 EI 开中断 24 INC 加一

05 DI 关中断25 DEC 减一

06 FEND 主程序结束 26 WAND 字与

07 WDT 监视定时器 27 WOR 字或

08 FOR 循环开始28 WXOR 字异或

09 NEXT 循环结束 29 NEG 求补

二 传送和比较指令—功能10~19 四 循环与移位—功能30~39

10 CMP 比较 30 ROR 循环右移

11 ZCP 区间比较 31 ROL 循环左移

12 MOV 传送32 RCR 带进位循环右移

13 SMOV 移位传送33 RCL 带进位循环左移

14 CML 求补运算 34 SFTR 位右移

15 BMOV 数据块传送 35 SFTL 位左移

16 FMOV 多点传送36 WSFR 字右移

17 XCH 数据交换 37 WSFL 字左移

18 BCD 求BCD码 38 SFWR FIFO写

19 BIN 求二进制码 39 SFRD FIFO读

五 数据处理—功能40~49 七 方便指令—功能60~69

40 ZRST 区间复位 60 IST 状态初始化

41 DECO 解码 61 SER 寻找

42 ENCO 编码62 ABSD 绝对值凸轮顺控

43 SUM ON位总数 63 INCD 增量凸轮顺控

44 BON 检查位状态64 TTMR 示教定时器

45 MEAN 求平均值65 STMR 专用定时器—可定义

46 ANS 标记置位66 ALT 交替输出

47 ANR 标记复位 67 RAMP 斜坡输出

48 SQR 平方根68 ROTC 旋转台控制

49 FLT 整数转换成浮点数 69 SORT 排序

六 高速处理—功能50~59 八 外部I/O设备—功能70~79

50 REF 刷新 70 TKY 十键输入

51 REFF 刷新与滤波处理 71 HKY 十六键输入

52 MTR 矩阵输入 72 DSW 拨码开关输入

53 HSCS 高速记数器置位73 SEGD 七段码译码

54 HSCR 高速记数器复位74 SEGL 带锁存的七段码显示

55 HSZ 高速记数器区间比较速度检测 75 ARWS 方向开关

56 SPD 脉冲输出Speed detect76 ASC ASCII变换

57 PLSY 脉宽调制 Pulse Y 77 PR 打印

58 PWM 脉冲调制Pulse widthmodulation78 FROM 读特殊功能模块

59 PLSR 带加减速脉冲输出79 TO 写特殊功能模块

九 外围设备SER—功能80~89120 EADD 浮点数加法

80 RS RS通讯 121 ESUB 浮点数减法

81 PRUN 8进制位传送 122 EMUL 浮点数乘法

82 ASCI 十六进制至ASCII转换123 EDIV 浮点数除法

83 HEX ASCII至十六进制转换 127 ESOR 浮点数开方

84 CCD 校验码 129 INT 浮点数->整数

85 VRRD 电位器读入130 SIN 浮点数SIN运算

86 VRSC 电位器刻度131 COS 浮点数COS运算

88 PID PID控制132 TAN 浮点数TAN运算

十 F2外部模块—功能90~99147 SWAP 上下字节交换

90 MNET F-16N, Mini网十二 定位—功能155~159

91 ANRD F2-6A, 模拟量输入 155 ABS

92 ANWR F2-6A, 模拟量输出 156 ZRN

93 RMST F2-32RM, 启动RM157 PLS

94 RMWR F2-32RM, 写RM 158 DRVI

95 RMRD F2-32RM, 读RM 十三 时钟运算—功能160~169

96 RMMN F2-32RM, 监控RM 160 TCMP

97 BLK F2-30GM, 指定块161 TZCP

98 MCDE F2-30GM, 机器码 162 TADD

十一 浮点数—功能110~132 163 TSUB

110 ECMP 浮点数比较 166 TRD

111 EZCP 浮点数区间比较167 TWR

118 EBCD 浮点数2进制->10进制169 HOUR

119 EBIN 浮点数10进制->1进

十四 外围设备—功能170~177 十五 接点比较—功能224~246

170 GRY M 224 LD= (S1)=(S2)

171 GBIN 225 LD> (S1)>(S2)

176 RD3A 226 LD< (S1)<(S2)

177 WR3A228 LD<> (S1)<>(S2)

(二)功能指令有关知识

1.位元件与字元件

象X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而象T、C、D等处理数值的

软元件则称为字元件,一个字元件由16位二进制数组成。

位元件可以通过组合使用,4个位元件为一个单元,通用暗示方法是由Kn加起始的软

元件号组成,n为单元数。例如K2 M0暗示M0~M7组成两个位元件组(K2暗示2个单元),

它是一个8位数据,M0为最低位。如果将16位数据传送到缺乏16位的位元件组合(n<4)

时,只传送低位数据,多出的高位数据不传送,32位数据传送也一样。在作16位数操纵时,

介入操纵的位元件缺乏16位时,高位的缺乏部分均作0处理,这意味着只能处理正数(符

号位为0),在作32位数处理时也一样。被组合的元件首位元件可以任意选择,但为防止混

乱,建议采取编号以0结尾的元件,如S10,X0,X20等。

2.数据格式

在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都

使用二进制数。二进制补码的最高位为符号位,正数的符号位为0,负数的符号位为1。FX

系列PLC可实现二进制码与BCD码的相互转换。

为更精确地进行运算,可采取浮点数运算。在FX系列PLC中提供了二进制浮点运算

和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采

取编号连续的一对数据寄存器暗示,例D11和D10组成的32位寄存器中,D10的16位加

上D11的低7位共23位为浮点数的尾数,而D11中除最高位的前8位是阶位,最高位是尾

数的符号位(0为正,1是负)。10进制的浮点数也用一对数据寄存器暗示,编号小数据寄

存器为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,暗示数为

10进制浮点数=〔尾数D0〕×10〔指数D1〕

其中:D0,D1的最高位是正负符号位。

3.数据长度

功能指令可处理16位数据或32位数据。处理32位数据的指令是在助记符前加“D”标

记,无此标记即为处理16位数据的指令。注意32位计数器(C200~C255)的一个软元件

为32位,不成作为处理16位数据指令的操纵数使用。如图3-27所示,若MOV指令前面

带“D”,则当X1接通时,执行D11D10→D13D12(32位)。在使用32位数据时建议使用首

编号为偶数的操纵数,不容易出错。

4.暗示格式

功能指令暗示格式与基本指令分歧。功能指令用编号FNC00~FNC294暗示,并给出对

应的助记符(大多用英文名称或缩写暗示)。例如FNC45的助记符是MEAN(平均),若使

用简易编程器时键入FNC45,若采取智能编程器或在计算机上编程时也可键入助记符

MEAN。

有的功能指令没有操纵数,而大多数功能指令有1至4个操纵数。如图3-26所示为一

个计算平均值指令,它有三个操纵数,[S]暗示源操纵数,[D]暗示目标操纵数,如果使用变

址功能,则可暗示为[S·]和[D·]。当源或目标不止一个时,用[S1·]、[S2·]、[D1·]、[D2·]暗示。

用n和m暗示其它操纵数,它们经常使用来暗示常数K和H,或作为源和目标操纵数的弥

补说明,当这样的操纵数多时可用n1、n2和m1、m2等来暗示。

图3-26功能指令暗示格式

图中源操纵数为D0、D1、D2,目标操纵数为D4Z0(Z0为变址寄存器),K3暗示有3

个数,当X0接通时,执行的操纵为[(D0)+(D1)+(D2)]÷3→(D4Z0),如果Z0的内

容为20,则运算结果送入D24中。

功能指令的指令段通常占1个程序步,16位操纵数占2步,32位操纵数占4步。

5.执行方式

功能指令有连续执行和脉冲执行两种类型。如图3-27所示,指令助记符MOV后面有“P”

暗示脉冲执行,即该指令仅在X1接通(由OFF到ON)时执行(将D10中的数据送到D12

中)一次;如果没有“P”则暗示连续执行,即该在X1接通(ON)的每一个扫描周期指令都

要被执行。

图3-27功能指令的执行方式与数据长度的暗示

(三)功能指令使用示例

00 条件跳转指令CJ(P)编号为FNC00

条件跳转指令CJ(P)的编号为FNC00,

操纵数为指针标号P0~P127,其中P63为END

所在步序,不需标识表记标帜。指针标号允许用

变址寄存器修改。CJ和CJP都占3个程序步,

指针标号占1步。

如图3-28所示,当X20接通时,则由CJ P9指令跳到标号为P9的指令处开始执行,

跳过了程序的一部分,减少了扫描周期。如果X20断开,跳转不会执行,则程序按原顺序

执行。

图3-28跳转指令的使用

使用跳转指令时应注意:

1)CJP指令暗示为脉冲执行方式;

2)在一个程序中一个标号只能出现一次,否则将出错;

3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍坚持跳

转前的状态,因为跳转期间根本没有执行这段程序。

4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,

到跳转条件不满足后又继续工作。但对于正在工作的定时器T192~T199和高速计数器

C235~C255不管有无跳转仍连续工作。

5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,

但对它们的复位仍然有效。

01、02 子程序调用与子程序返回指令 CALL、SRET

子程序调用指令CALL的编号为FNC01。操纵数为P0~P127,此指令占用3个程序步。

子程序返回指令SRET的编号为FNC02。无操纵数,占用1个程序步。

如图3-29所示,如果X0接通,则转到标号P10处去执行子程序。当执行SRET指令

时,返回到CALL指令的下一步执行。

图3-29子程序调用与返回指令的使用

使用子程序调用与返回指令时应注意:

1)转移标号不克不及重复,也不成与跳转

指令的标号重复;

2)子程序可以嵌套调用,最多可5级嵌套。

03、04、05 与中断有关的指令IRET、EI、DI

与中断有关的三条功能指令是:中断返回指令IRET,编号为FNCO3;中断允许指令

EI,编号为FNCO4;中断禁止DI,编号为FNC05。它们均无操纵数,占用1个程序步。

PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间,

如有中断源发生中断,CPU将暂停主程序执行转而执行中断服务程序。当遇到IRET时返回

断点继续执行主程序。如图3-30所示,允许中

断范围中若中断源X0有一个下降沿,则转入

I000为标号的中断服务程序,但X0可否引起中

断还受M8050控制,当X20有效时则M8050

控制X0无法中断。

图3-30 中断指令的使用

使用中断相关指令时应注意:

1)中断的优先级排队如下,如果多个中断

依次发生,则以发生先后为序,即发生越早级别

越高,如果多个中断源同时发出信号,则中断指

针号越小优先级越高;

2)当M8050~M8058为ON时,禁止执行相应I0□□~I8□□的中断,M8059为ON时

则禁止所有计数器中断;

3)无需中断禁止时,可只用EI指令,不必用DI指令;

4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌

套,否则禁止其它中断。

06 主程序结束指令FEND

主程序结束指令FEND的编号为FNC06,无操纵数,占用1个程序步。FEND暗示主

程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回启

始步。

使用FEND指令时应注意:

1)子程序和中断服务程序应放在FEND之后;

2)子程序和中断服务程序必须写在FEND和END之间,否则出错。

07 监视定时器指令WDT

监视定时器指令WDT(P)编号为FNC07,没有操纵数,占有1个程序步。WDT指令

的功能是对PLC的监视定时器进行刷新。

FX系列PLC的监视定时器缺省值为200ms(可用D8000来设定),正常情况下PLC扫描

周期小于此定时时间。如果由于有外界干扰或程序自己的原因使扫描周期大于监视定时器的

设定值,使PLC的CPU出错灯亮并停止工作,可通过在适当位置加WDT指令复位监视定

时器,以使程序能继续执行到END。

如图3-31所示,利用一个WDT

指令将一个240ms的程序一分为二,

使它们都小于200ms,则不再会出现

报警停机。

使用WDT指令时应注意:

1)如果在后续的FOR-NEXT循环中,执行时间可能超出监控定时器的定时时间,可

将WDT拔出循环程序中。

2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能

连续反复跳步使它们之间的程序反复执行,使执行时间超出监控时间,可在CJ指令与对应

标号之间拔出WDT指令。

08、09 循环指令FOR NEXT

循环指令共有两条:循环区起点指令FOR,编号为FNC08,占3个程序步;循环结束指

令NEXT,编号为FNC09,占用1个程序步,无操纵数。

在程序运行时,位于FOR~NEXT间的程序反复执行n次(由操纵数决定)后再继续

执行后续程序。循环的次数n=1~32767。如果N=-32767~0之间,则当作n=1处理。

如图3-32所示为一个二重嵌套循环,外层执行5次。如果D0Z中的数为6,则外层A

每执行一次则内层B将执行6次。

图3-32循环指令的使用

使用循环指令时应注意:

1)FOR和NEXT必须成对使用;

2)FX2N系列PLC可循环嵌套5层;

3)在循环中可利用CJ指令在循环没结束时跳

出循环体;

4)FOR应放在NEXT之前,NEXT应在FEND

和END之前,否则均会出错。

四、传送和比较指令—功能10~19

10、11比较指令CMP区间比较ZCP

比较指令包含CMP(比较)和ZCP(区间比较)二条。

(1)

比较指令CMP (D)CMP(P)指令的编号为FNC10,是将源操纵数[S1.]和源操

纵数[S2.]的数据进行比较,比较结果用目标元件[D.]的状态来暗示。如图1

所示,当X1为接通时,把常数100与C20的当前值进行比较,比较的结果

送入M0~M2中。

X1为OFF时不执

行,M0~M2的状

态也坚持不变。

比较指令的使用和区间比较指令

的使用见右图

(2)区间比较指令

ZCP (D)ZCP(P)指令的编号为

FNC11,指令执行时源操纵数[S.]

与[S1.]和[S2.]的内容进行比较,并

比较结果送到目标操纵数[D.]中。

如图2所示,当X0为ON时,把

C30当前值与K100和K120相比

较,将结果送M3、M4、M5中。

X0为OFF,则ZCP不执行,M3、M4、M5不变。

使用比较指令CMP/ZCP时应注意:

1)[S1.]、[S2.]可取任意数据格式,目标操纵数[D.]可取Y、M和S。

2)使用ZCP时,[S2.]的数值不克不及小于[S1.]

3) 所有的源数据都被看成二进制值处理;

12-16 传送类指令MOV SMOV CMOV BMOV FMOV

(1)传送指令MOV (D)MOV(P)指令的编号为FNC12,该指令的功能是将源数据传送

到指定的目标。如图3-35所示,当X0为ON时,则将[S.]中的数据K100传送到目标操纵

元件[D.]即D10中。在指令执行时,常数K100

会自动转换成二进制数。当X0为OFF时,则

指令不执行,数据坚持不变。

使用应用MOV指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可以是KnY、KnM、KnS、T、C、D、V、

Z。

2)16位运算时占5个程序步,32位运算时则占9个程序步。

(2)移位传送指令SMOV SMOV(P)指令的编号为FNC13。该指令的功能是将源数据

(二进制)自动转换成4位BCD码,再进行移位传送,传送后的目标操纵数元件的BCD

码自动转换成二进制数。如图3-36所示,当X0为ON时,将D1中右起第4位(m1=4)开

始的2位(m2=2) BCD码移到目标操纵数D2的右起第3位(n=3)和第2位。然后D2中的BCD

码会自动转换为二进制数,而D2中的第1位和第4位BCD码不变。

使用移位传送指令时应该注意:

1)源操纵数可取所有数据类型,目标操纵数可为KnY、KnM、KnS、T、C、D、V、

Z。

2)SMOV指令只有16位运算,占11个程序步。

(3)取反传送指令CML (D)CML(P)

指令的编号为FNC14。它是将源操纵数元件

的数据逐位取反并传送到指定目标。如图

3-37所示,当X0为ON时,执行CML,将

D0的低4位取反向后传送到Y3~Y0中。

使用取反传送指令CML时应注意:

1)源操纵数可取所有数据类型,目标操纵数可为KnY、KnM、KnS、T、C、D、V、

Z.,若源数据为常数K,则该数据会自动转换为二进制数。

2)16位运算占5个程序步,32位运算占9个程序步。

(4)块传送指令BMOV BMOV(P)指令的ALCE编号为FNC15,是将源操纵数指定

元件开始的n个数据组成数据块传送到指定的目标。如图3-38所示,传送顺序既可从高元

件号开始,也可从低元件号开始,传送顺序自动决定。若用到需要指定位数的位元件,则源

操纵数和目标操纵数的指定位数应相同。

使用块传送指令时应注意:

1)源操纵数可取KnX、 KnY、KnM、KnS、T、C、D和文件寄存器,目标操纵数可

取. KnT、KnM、KnS、T、C和D;

2)只有16位操纵,占7个程序步;

3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。

(5)多点传送指令FMOV (D)FMOV(P)指令的编号为FNC16。它的功能是将源操纵

数中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。如图

3-39所示,当X0为ON时,把K0传送

到D0~D9中。

使用多点传送指令FMOV时应注

意:

1)源操纵数可取所有的数据类型,目标操纵数可取KnX、KnM、KnS、T、C、和D,

n小等于512;

2)16位操纵占7的程序步,32位操纵则占13个程序步;

3)如果元件号超出允许范围,数据仅送到允许范围的元件中。

17 数据交换指令XCH

数据交换指令(D)XCH(P)的编号为FNC17,它

是将数据在指定的目标元件之间交换。如图3-40

所示,当X0为ON时,将D1和D19中的数据相

互交换。

图3-40数据交换指令的使用

使用数据交换指令应该注意:

1)操纵数的元件可取KnY、KnM、KnS、T、C、D、V和Z.。

2)交换指令一般采取脉冲执行方式,否则在每一次扫描周期都要交换一次。

3)16位运算时占5个程序步,32位运算时占9个程序步。

18、19 数据变换指令BCD BIN

(1)BCD变换指令BCD (D)BCD(P)指令的ALCE编号为FNC18。它是将源元件中的

二进制数转换成BCD码送到目标元件中,如图3-41所示。

如果指令进行16位操纵时,执行结果超出0~9999范围将会出错;当指令进行32位

操纵时,执行结果超出0~99999999范围也将出错。PLC中内部的运算为二进制运算,可

用BCD指令将二进制数变换为BCD码输出到七段显

示器。

(2)BIN变换指令BIN (D)BIN(P)指令的编号

为FNC19。它是将源元件中的BCD数据转换成二进

制数据送到目标元件中,如图3-41所示。常数K不克

不及作为本指令的操纵元件,因为在任何处理之前它

们都会被转换成二进制数。

使用BCD/BIN指令时应注意:

1)源操纵数可取KnK、KnY、KnM、KnS、T、C、D、V和Z,目标操纵数可取KnY、

KnM、KnS、T、C、D、V和Z;

2)16位运算占5个程序步,32位运算占9个程序步。

算术和逻辑运算指令—功能20~29

20加法指令ADD(D)ADD(P)

加法指令ADD (D)ADD(P)指令的编号为FNC20。它

是将指定的源元件中的二进制数相加结果送到指定

的目标元件中去。如图1所示,当X0为ON时,执行(D10)+(D12)→(D14)。图3-42

加法指令的使用

21 减法指令SUB (D)SUB(P)

减法指令SUB (D)SUB(P)指令的编号为FNC21。它是将[S1.]指定元件中的内容以二进

制形式减去[S2.]指定元件的内容,其结果存入由[D.]指定的元件中。图2减法指令的使用当

X0为ON时,如图3-43所示

执行(D10)—(D12)→(D14)。

使用加法和减法指令时应该注意:

1)操纵数可取所有数据类型,目标操纵数可取KnY、KnM、KnS、T、C、D、V和Z.。

2)16位运算占7个程序步,32位运算占13个程序步。

3)数据为有符号二进制数,最高位为符号位(0为正,1为负)。

4)加法指令有三个标记:零标记(M8020)、借位标记(M8021)和进位标记(M8022)。

当运算结果超出32767(16位运算)或2147483647(32位运算)则进位标记置1;当运算

结果小于-32767(16位运算)或-2147483647(32位运算),借位标记就会置1。

22乘法指令MUL(D)MUL(P)

乘法指令MUL (D)MUL(P))指

令的编号为FNC22。数据均为有符

号数。如图3-44所示,当X0为ON

时,将二进制16位数[S1.]、[S2.]相

乘,结果送[D.]中。D为32位,即

(D0)×(D2)→(D5,D4)(16

位乘法);当X1为ON时,(D1,

D0)×(D3,D2)→(D7,D6,D5,D4)(32位乘法)

23除法指令DIV (D) DIV

(P)

除法指令DIV (D) DIV (P)

指令的编号为为FNC23。其功能

是将[S1.]指定为被除数,[S2.]指定为除数,将除得的结果送到[D.]指定的目标元件中,余数

送到[D.]的下一个元件中。如图3-45所示,当X0为ON时(D0)÷(D2)→(D4)商,(D5)

余数(16位除法);当X1为ON时(D1,D0)÷(D3,D2)→(D5,D4)商,(D7,D6)

余数(32位除法)。

使用乘法和除法指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可取KnY、KnM、KnS、T、C、D、V和

Z.,要注意Z只有16位乘法时能用,32位不成用。

2)16位运算占7程序步,32位运算为13程序步。

3)32位乘法运算中,如用位元件作目标,则只能得到乘积的低32位,高32位将丢失,

这种情况下应先将数据移入字元件再运算;除法运算中将位元件指定为[D.],则无法得到余

数,除数为0时发生运算错误。

4)积、商和余数的最高位为符号位。

24、25加1和减1指令(D)INC(P) 、(D)DEC(P)

加1指令(D) INC (P)的编号为FNC24;减1指令 (D) DEC (P)的编号为FNC25。INC

和DEC指令分别是当条件满足则将指定元件的内容加1或减1。如图3-46所示,当X0为

ON时,(D10)+1→(D10);当X1为ON时,(D11)

+1→(D11)。若指令是连续指令,则每个扫描周期均作

一次加1或减1运算。图3-46加1和减1指令的使用

使用加1和减1指令时应注意:

1)指令的操纵数可为KnY、KnM、KnS、T、C、

D、V、Z;。

2)当进行16位操纵时为3个程序步,32位操纵时为5个程序步。

3)在INC运算时,如数据为16位,则由+32767再加1变成-32768,但标记不置位;

同样,32位运算由+2147483647再加1就变成-2147483648时,标记也不置位。

4)在DEC运算时,16位运算-32768减1变成+32767,且标记不置位;32位运算由

-2147483648减1变成=2147483647,标记也不置位。

26-29 逻辑运算类指令WAND、WOR、WXOR和NEG

26逻辑与指令WAND (D)WAND(P)

逻辑与指令WAND (D)WAND(P)指令的编号为FNC26。是将两个源操纵数按位进行与操

纵,结果送指定元件。

27逻辑或指令WOR (D)WOR(P)

逻辑或指令WOR (D)WOR(P)指令的编号为FNC27。它是对二个源操纵数按位进行或运

算,结果送指定元件。如图4-48所示,当X1有效时,(D10)∨(D12)→(D14)

28逻辑异或指令WXOR (D) WXOR (P)

逻辑异或指令WXOR (D) WXOR (P)指令的编号为FNC28。它是对源操纵数位进行逻

辑异或运算。

29求补指令NEG (D) NEG (P)

求补指令NEG (D) NEG (P)指令的编号为FNC29。其功能是将[D.]指定的元件内容的

各位先取反再加1,将其结果再存入原来的元件中。

WAND、WOR、WXOR和NEG指令的使用如图3-47所示。

使用逻辑运算指令时应该注意:

1)WAND、WOR和WXOR指令的[S1.]和[S2.]均可取所有的数据类型,而目标操纵数

可取KnY、KnM、KnS、T、C、D、V和Z。

2)NEG指令只有目标操纵数,其可取KnY、KnM、KnS、T、C、D、V和Z。

3)WAND、WOR、WXOR指令16位运算占7个程序步,32位为13个程序步,而

NEG分别占3步和5步。

循环与移位—功能30~39

30、31右、左循环移位指令(D)ROR(P)和(D)ROL(P)

右、左循环移位指令(D)ROR(P)和(D)ROL(P)编号分别为FNC30和FNC31。执行这两

条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进

位标记M8022中,如图1所示。

32.33带进位的循环移位指令RCR(P)

和(D) RCL(P)

带进位的循环右、左移位指令(D) RCR(P)

和(D) RCL(P)编号分别为FNC32和FNC33。

执行这两条指令时,各位数据连同进位

(M8022)向右(或向左)循环移动n位,

如图2所示。

使用ROR/ROL/RCR/RCL指令时应该注意:

1)目标操纵数可取KnY,KnM,KnS,T,

C,D,V和Z,目标元件中指定位元件的组合

只有在K4(16位)和K8(32位指令)时有效。

2)16位指令占5个程序步,32位指令占

9个程序步。

3)用连续指令执行时,循环移位操纵每个

周期执行一次。

34.35位右移和位左移指令SFTR(P)和SFTL(P)

位右、左移指令

SFTR(P)和SFTL(P)的编号

分别为FNC34和FNC35。

它们使位元件中的状态成组

地向右(或向左)移动。n1

指定位元件的长度,n2指定

移位位数,n1和n2的关系

及范围因机型分歧而有差别,一般为n2≤n1≤1024。位右移指令使用如图3-50 所示。

使用位右移和位左移指令时应注意:

1)源操纵数可取X、Y、M、S,目标操纵数可取Y、M、S。

2)只有16位操纵,占9个程序步。

36.37字右移和字左移指令WSFR(P)和WSFL(P)

字右移和字左移指令WSFR(P)和WSFL(P)指令编号分别为FNC36和FNC37。字右移

和字左移指令以字为单位,其工作的过程与位移位相似,是将n1个字右移或左移n2个字。

使用字右移和字左移指令时应注意:

1)源操纵数可取KnX、KnY、KnM、KnS、T、C和D,目标操纵数可取KnY、KnM、

KnS、T、C和D。

2)字移位指令只有16位操纵,占用9个程序步.

3)n1和n2的关系为n2≤n1≤512。

38.39先入先出写入和读出指令SFWR(P)和SFRD(P)

先入先出写入指令和先入先出写入读出指令SFWR(P)和SFRD(P)的编号分别为FNC38

和FNC39。

先入先出写入指令SFWR的使用如图4所示, 当X0由OFF变成ON时,SFWR执行,

D0中的数据写入D2,而D1酿成指针,其值为1(D1必须先清0);当X0再次由OFF变

成ON时,D0中的数据写入D3,D1变成2,依次类推,D0中的数据依次写入数据寄存器。

D0中的数据从右边的D2顺序存入,源数

据写入的次数放在D1中,当D1中的数

达到n-1后不再执行上述操纵,同时进位

标记M8022置1。

先入先出读出指令SFRD,当X0由

OFF变成ON时,D2中的数据送到D20,

同时指针D1的值减1,D3~D9的数

据向右移一个字,数据总是从D2读

出,指针D1为0时,不再执行上述操纵且M8020置1。

使用SFWR和SFRD指令时应注意:

1)目标操纵数可取KnY、KnM、KnS、T、C和D,源操数可取所有的数据类型。

2)指令只有16位运算,占7个程序步。

数据处理指令(FNC40~FNC49)

40.区间复位指令ZRST(P)

区间复位指令ZRST(P)的编号为FNC40。它是将

指定范围内的同类元件成批复位。如图3-53所示,当

M8002由OFF→ON时,位元件M500~M599成批复位,字元件C235~C255也成批复位。

使用区间复位指令时应注意:

1)[D1.]和[D2.]可取Y、M、S、T、C、D,且应为同类元件,同时[D1]的元件号应小

于[D2]指定的元件号,若[D1]的元件号大于[D2]元件号,则只有[D1]指定元件被复位。

2)ZRST指令只有16位处理,占5个程序步,但[D1.][D2.]也可以指定32位计数器。

41、42.译码指令DECO DECO(P)和编

码指令ENCO ENCO(P)

(1)译码指令DECO DECO(P) 指令的

编号为FNC41。如图3-54所示,n=3 则暗示

[S.]源操纵数为3位,即为X0、X1、X2。其

状态为二进制数,当值为011时相当于十进制

3,则由目标操纵数M7~M0组成的8位二进

制数的第三位M3被置1,其余各位为0。如

果为000则M0被置1。

译码指令可通过[D.]中的数值来控制

元件的ON/OFF。

使用译码指令时应注意:

1)位源操纵数可取X、T、M和S,位目标操纵数可取Y、M和S,字源操纵数可取K,

H,T,C,D,V和Z,字目标操纵数可取T,C和D。

2)若[D.]指定的目标元件是字元件T、C、D,则n≦4;若是位元件Y、M、S,则n=1~

8。译码指令为16位指令,占7个程序步。

(2)编码指令ENCO ENCO(P)指令的编号为FNC42。如图3-55所示,当X1有效时

执行编码指令,将[S.]中最高位的1(M3)所在位数(4)放入目标元件D10中,即把011

放入D10的低3位。图3-55 编码指令的使用

使用编码指令时应注意:

1)源操纵数是字元件时,可以是T、C、D、V和Z;源操纵数是位元件,可以是X、

Y、M和S。目标元件可取T、C、D、V和Z。编码指令为16位指令,占7个程序步。

2)操纵数为字元件时应使用

n≦4,为位元件时则n=1~8,n=0时不作处理。

3)若指定源操纵数中有多个1,则只有最高位的1有效。

43.44 ON位数统计指令SUM(D)SUM(P)和ON位判别指令BON (D)BON(P)

(1)ON位数统计指令

SUM (D)SUM(P)指令的编号为

FNC43。该指令是用来统计指定元件中

1的个数。如图3-56所示,当X0有效

时执行SUM指令,将源操纵数D0中1

的个数送入目标操纵数[D2中,若D0

中没有1,则零标记M8020将置1。

图3-56 ON位数统计和ON位判别指令的使用

使用SUM指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可取KnY,KnM,KnS,T,C,D,V和

Z。

2)16位运算时占5个程序步,32位运算则占9个程序步。

(2)ON位判别指令BON (D)BON(P)指令的编号为FNC44。它的功能是检测指定元

件中的指定位是否为1。如图3-56所示,当X1为有效时,执行BON指令,由K4决定检

测的是源操纵数D10的第4位,当检测结果为1时,则目标操纵数M0=1,否则M0=0。

使用BON指令时应注意:

1)源操纵数可取所有数据类型,目标操纵数可取Y、M和S。

2)进行16位运算,占7程序步,n=0~15;32位运算时则占13个程序步,n=0~31。

45.平均值指令MEAN

平均值指令(D)MEAN(P)的编号为FNC45。其作用是将n个源数据的平均值送到指定目标

(余数省略),若程序中指定的n值超出1~64的范围将会出错。

46.47报警器置位指令ANS(P)与复位指令ANR(P)

报警器置位指令ANS(P)和报警器复位指令ANR(P)的编号分别为FNC46 和FNC47。

如图3-57所示,若X0和X1同时为ON时超出1S,则S900置1;当X0或X1变成OFF,

虽定时器复位,但S900仍坚持1不变;若在1S内X0或X1再次变成OFF则定时器复位。

当X2接通时,则将S900~S999之间被置1的报警器复位。若有多于1个的报警器被置1,

则元件号最低的那个报警器被复位。

图3-57 报警器置位与复位指令的

使用

使用报警器置位与复位指令时

应注意:

1)ANS指令的源操纵数为

T0~T199,目标操纵数为S900~

S999,n=1~32767’; ANR指令无操纵数。

2)ANS为16位运算指令,占7的程序步;ANR指令为16位运算指令,占1个程序

步。

3)ANR指令如果用连续执行,则会按扫描周期依次逐个将报警器复位。

48.二进制平方根指令(D)SQR(P)

二进制平方根指令(D)SQR(P)的编号为FNC48。如图3-58所示,当X0有效时,则将

存放在D45中的数开平方,结果存放在D123中(结果只取整数)。

图3-58 二进制平方根指令的使用

使用SQR指令时应注意:

1)源操纵数可取K、H、D,数据需大于0,目标操纵数为D。

2)16位运算占5个程序步,32位运算占9个程序步。

49二进制整数→二进制浮点数转换指令(D)FLT(P)

二进制整数→二进制浮点数转换指令(D)FLT(P)的编号为FNC49。如图3-59所示,当

X1有效时,将存入D10中的数据转换成浮点数并存

入D12中。

图3-59 二进制整数→二进制浮点数转换指令的使用

使用FLT指令时应注意:

1)源和目标操纵数均为D。

2)16位操纵占5个程序步,32位占9个程序步。

高速处理指令(FNC50~FNC59)

50输入输出刷新指令REF

REF(P)指令的编号为FNC50。FX系列PLC

采取集中输入输出的方式。如果需要最新的输入

信息以及希望立即输出结果则必须使用该指令。

如图3-60所示,当X0接通时,X10~X17共8点

将被刷新;当X1接通时,则Y0~Y7、Y10~Y17、

共16点输出将被刷新。

图3-60 输入输出刷新指令的使用

使用REF指令时应注意:

1)目标操纵数为元件编号个位为0的X和Y,n应为8的整倍数。

2)指令只要进行16位运算,占5个程序步。

51滤波调整指令REFF

REFF(P)指令的编号为FNC51。在FX系列PLC中X0~X17使用了数字滤波器,用

REFF指令可调节其滤波时间,范围为0~60ms(实际

上由于输入端有RL滤波,所以最小滤波时间为50μs)。

如图3-61所示,当X0接通时,执行REFF指令,滤

波时间常数被设定为1ms。

图3-61滤波调整指令说明

使用REFF指令时应注意:

1)REFF为16位运算指令,占7个程序步。

2)当X0~X7用作高速计数输入时或使用FNC56速度检测指令以及中断输入时,输

入滤波器的滤波时间自动设置为50ms。

52矩阵输入指令MTR

MTR指令的编号为FNC52。利用MTR可以构成连续排列的8点输入与n点输出组

成的8列n行的输入矩阵。如图3-62所示,由[S]指定的输入X0~X7共8点与n点输出Y0、

Y1、Y2(n=3)组成一个输入矩阵。PLC在运行时执行MTR指令,当Y0为ON时,读入

第一行的输入数据,存入M30~M37中;Y1为ON时读入第二行的输入状态,存入M40~

M47。其余类推,反复执行。

图3-62 矩阵输入指令的使用

使用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个程序步。

53高速计数器指令HSCS DHSCS

(1)高速计数器置位指令HSCS DHSCS指令的编号为FNC53。它应用于高速计数器的

置位,使计数器的当前值达到预置值时,计数器的输出触点立即动作。它采取了中断方式使

置位和输出立即执行而与扫描周期无关。如图3-63所示,[S1.]为设定值(100),当高速计

数器C255的当前值由99变100或由101

变成100时,Y0都将立即置1。图3-63 高

速计数器指令的使用

54高速计速器比较复位指令

HSCR DHSCR指令

高速计速器比较复位指令

HSCR DHSCR指令的编号为FNC54。如

图3-63所示,C254的当前值由199变成200或由201变成200时,则用中断的方式使Y10

立即复位。

使用HSCS和HSCR时应注意:

1)源操纵数[S1.]可取所有数据类型,[S2.]为C235~C255,目标操纵数可取Y、M和

S。

2)只有32位运算,占13个程序步。

55高速计速器区间比较指令HSZ DHSZ

HSZ DHSZ指令的编号为FNC55。如图3-63所示,目标操纵数为Y20、Y21和Y22。如

果C251的当前值

C251的当前值>K1200时,Y22为ON。

使用高速计速器区间比较指令时应注意:

1)操纵数[S1.] 、[S2.]可取所有数据类型,[S .]为C235~C255,目标操纵数[D.]可取Y、

M、S。

2)指令为32位操纵,占17个程序步。

56.速度检测指令SPD

速度检测指令SPD的编号为FNC56。

它的功能是用来检测给定时间内从编码器

输入的脉冲个数,并计算出速度。如图4-64

所示,[D. ]占三个目标元件。当X12为ON

时,用D1对X0的输入上升沿计数,100ms

后计数结果送入D0,D1复位,D1重新开

始对X0计数。D2在计数结束后计算剩余时

间。

图4-64 速度检测指令的使用

使用速度检测指令时应注意:

1)[S1.]为X0~X5,[S2.]可取所有的

数据类型,[D.]可以是T、C、D、V和Z。

2)指令只有16位操纵,占7个程序步。

57脉冲输出指令(D)PLSY

脉冲输出指令(D)PLSY的编号为FNC57。它用来

发生指定数量的脉冲。如图3-65所示,[S1.]用来指定

脉冲频率(2~20000Hz),[S2.]指定脉冲的个数(16

位指令的范围为1~32767, 32位指令则为1~

2147483647)。如果指定脉冲数为0,则发生无穷多个脉冲。[D .]用来指定脉冲输出元件号。

脉冲的占空比为50%,脉冲以中断方式输出。指定脉冲输出完后,完成标记M8029置1。

X10由ON变成OFF时,M8029复位,停止输出脉冲。若X10再次变成ON则脉冲从头开

始输出。

使用脉冲输出指令时应注意:

1)[S1.]、[S2.]可取所有的数据类型,[D.]为Y1和Y2。

2)该指令可进行16和32位操纵,分别占用7个和13个程序步。

3)本指令在程序中只能使用一次。

58.脉宽调制指令PWM

脉宽调制指令PWM的编号为FNC58。它的功能是用来发生指定脉冲宽度和周期的脉

冲串。如图3-66所示,[S1.] 用来指定脉冲的宽度,[S2.]用来指定脉冲的周期,[D.]用来指

定输出脉冲的元件号(Y0或Y1),输出的ON/OFF

状态由中断方式控制。

图3-66 脉宽调制指令的使用

使用脉宽调制指令时应注意:

1)操纵数的类型与PLSY相同;该指令只

有16位操纵,需7个程序步。

2)[S1.]应小于[S2.]。

59可调速脉冲输出指令(D)PLSR

可调速脉冲输出指令该指令(D)PLSR的编号为FNC59。该指令可以对输出脉冲进行加

速,也可进行减速调整。源操纵数和目标操纵数的类型和PLSY指令相同,只能用于晶体管

PLC的Y0和Y1,可进行16位操纵也可进行32位操纵,分别占9个和17个程序步。该指

令只能用一次。

60~69方便指令(FNC60~FNC69)

FX系列共有10条方便指令:初始化指令IST(FNC60)、数据搜索指令S(FNC61)、绝

对值式凸轮顺控指令ABSD(FNC62)、增量式凸轮顺控指令INCD(FNC63)、示教定时指

令TIMR(FNC64)、特殊定时器指令STMR(FNC65)、交替输出指令ALT(FNC66)、斜

坡信号指令RAMP(FNC67)、旋转工作台控制指令ROTC(FNC68)和数据排序指令SORT

(FNC69)。以下仅对其中部分指令加以介绍。

60-63凸轮顺控指令 凸轮顺控指令有绝对值式凸轮顺控指令ABSD(FNC62)和增量

式凸轮顺控指令INCD(FNC63)两条。

绝对值式凸轮顺控指令ABSD是用来发生一组对应于计数值在3600范围内变更的输出

波形,输出点的个数由n决定,如图3-67a所示。图中n为4,标明[D.]由M0~M3共4点

输出。预先通过MOV指令将对应的数据写入D300~D307中,开通点数据写入偶数元件,

关断点数据放入奇数元件,如表3-15所示。当执行条件X0由OFF变ON时,M0~M3将

得到如图3-67b所示的波形,通过改变D300~D307的数据可改变波形。若X0为OFF,则

各输出点状态不变。这一指令只能使用一次。

图3-67 绝绝对值式凸轮顺控指令的使用

a) 绝绝对值式凸轮顺控指令 b) 输出波形

表3-15 旋转台旋转周期M0~M3状态

开通点

D300=40

D302=100

D304=160

D306=240

关断点

D301=140

D303=200

D305=60

D307=280

输出

M0

M1

M2

M3

增量式凸轮顺控指令INCD也是用来发生一组对应于计数值变更的输出波形。如图

3-68所示,n=4,说明有4个输出,分别为M0~M3,它们的ON/OFF状态受凸轮提供的脉

冲个数控制。使M0~M3为ON状态的脉冲个数分别存放在D300~D303中(用MOV指令

写入)。图中波形是D300~D303分别为20、30、10和40时的输出。当计数器C0的当前

值依次达到D300~D303的设定值时将自动复位。C1用来计复位的次数,M0~M3根据C1

的值依次动作。由n指定的最后一段完成后,标记M8029置1,以后周期性重复。若X0为

OFF,则C0、C1均复位,同时M0~M3变成OFF,当X0再接通后重新开始工作。

图3-68 增量式凸轮顺控指令

的使用

凸轮顺控指令源操纵数

[S1.]可取KnX、KnY、KnM、

KnS、T、C和D,[S2.]为C,目

标操纵数可取Y、M和S。为16

位操纵指令,占9个程序步。

64、65定时器指令 定时

器指令有示教定时器指令

TTMR(FNC64)和特殊定时器

指令STMR(FNC65)两条。

使用示教定时器指令

TTMR,可用一个按钮来调整定

时器的设定时间。如图3-69所

示,当X10为ON时,执行TTMR

指令,X10按下的时间由M301记录,该时间乘以10n后存入D300。如果按钮按下时间为

t存入D300的值为10n×t 。X10为OFF时,D301复位,D300坚持不变。TTMR为16位

指令,占5个程序步。特殊定时器指令STMR是用来发生延时断开定时器、单脉冲定时器

和闪动定时器。如图3-70所示,m=1~32767,用来指定定时器的设定值;[S.]源操纵数取

T0~T199(100ms定时器)。T10的设定值为100ms×100=10s,M0是延时断开定时器,M1

为单脉冲定时器,M2,M3为闪动而设。

66交替输出指令 交替输出指令ALT(P)

的编号为FNC66,

用于实现由一个按钮控制负载的启动和停

止。如图3- 71所示,当X0由OFF到ON

时,Y0的状态将改变一次。若用连续的

ALT指令则每个扫描周期Y0均改变一次

状态。 [D.]可取Y、M和S。ALT为16

为运算指令,占3个程序步。

外部I/0设备指令(FNC70~FNC79)

外部I/0设备指令是FX系列与外设传递信息的指令,共有10条。分别是10键输入指令

TKY(FNC70)、16键输入指令HKY(FNC71)、数字开关输入指令DSW(FNC72)、七段

译码指令SEGD(FNC73)、带锁存的七段显示指令SEGL(FNC74)、方向开关指令ARWS

(FNC75)、ASCII码转换指令ASC(FNC76)、ASCII打印指令PR(FNC77)、特殊功能模

块读指令FROM(FNC78)和特殊功能模块写指令T0(FNC79)。

70、71、72数据输入指令 数据输入指令有10键输入指令TKY(FNC70)、16键输入

指令HKY(FNC71)和数字开关输入指令DSW(FNC72)。

10键输入指令(D)TKY的使用如图3-72所示。源操纵数[S.]用X0为首元件,10个

键X0~X11分别为对应数字0~9。X30接通时执行TKY指令,如果以X2(2)、X9(8)、

X3(3)、X0(0)的顺序按键,则[D1.]中存入数据为2830,实现了将按键酿成十进制的数

字量。当送入的数大于9999,则高位溢出并丢失。使用32位指令DTKY时,D1和D2组

合使用,高位大于99999999则高位溢出。

当按下X2后,M12置1并坚持至另一键被按下,其它键也一样。M10~M19动作对

应于X0~X11。任一键按下,键信号置1直到该键放开。当两个或更多的键被按下时,则

首先按下的键有效。X30变成OFF时,D0中的数据坚持不变,但M10~M20全部为OFF。

此指令的源操纵数可取X、Y、

M、和S,目标操纵数[D.]可取

KnY、KnM、KnS、T、C、D、

V和Z,[D2.]可取Y、M、S。

16位运算占7个程序步,32

运算时占13个程序步。该指

令在程序中只能使用一次。

16键输入指令(D)HKY

的作用是通过对键盘上的数

字键和功能键输入的内容实

现输入的复合运算。如图3-73

所示,[S.]指定4个输入元件,

[D1.]指定4个扫描输出点,

[D2.]为键输入的存储元件。

[D3.]指示读出元件。十六键中

0~9为数字键,A~F为功能

键,HKY指令输入的数字范

围为0~9999,以二进制的方

式存放在D0中,如果大于9999则溢出。DHKY指令可在D0和D1中存放最大为99999999

的数据。功能键A~F与M0~M5对应,按下A键,M0置1并坚持。按下D键M0置0,

M3置1并坚持。其余类推。如果同时按下多个键则先按下的有效

该指令源操纵数为X,目标操纵数[D1.]为Y。[D2]可以取T、C、D、V和Z,[D3.]可

取Y、M和S。16位运算时占9个程序步,32位运算时为占17个程序步。扫描全部16键

需8个扫描周期。HKY指令在程序中只能使用一次。

数字开关指令DSW的功能是读入1组或2组4位数字开关的设置值。如图3-74所示,

源操纵数[S]为X,用来指定输入点。[D1]为目标操纵数为Y,用来指定选通点。[D2]指定数

据存储单元,

它可取T、C、

D、V和Z。[n]

指定数字开关

组数。该指令

只有16位运

算,占9个程

序步,可使用

两次。图中,

n=1指有1组

BCD码数字

开关。输入开

关为X10~

X13,按

Y10~Y13的

顺序选通读

入。数据以二

进制数的形式

存放在D0中。

若n=2,则有

2组开关,第2组开关接到X14~X17上,仍由Y10~Y13顺序选通读入,数据以二进制的

形式存放在D1中,第2组数据只有在n=2时才有效。当X1坚持为ON时,Y10~Y13依

次为ON。一个周期完成后标记位M8029置1。

73、74数字译码输出指令 数字译码输出指令有七段译码指令SEGD(FNC73)和带

锁存的七段显示指令SEGL(FNC74)两条。

七段译码指令SEGD(P) 如图3-75所示,将[S.]指定元件的低4位所确定的十六进制数

(0~F)经译码后存于[D.]指定的元件中,以驱动七段显示器,[D.]的高8位坚持不变。如

果要显示0,则应在D0中放

入数据为3FH。

图3-75 七段译码指令的使

带锁存的7段显示指令SEGL的作用是用12个扫描周期的时间来控制一组或两组带锁

存的七段译码显

示。

(3)方向开

关指令 方向开

关指令ARWS

(FNC75)是用于

方向开关的输入

和显示。如图3-76

所示,该指令有四

个参数,源操纵数

[S]可选X、Y、M、S。图3-76 方向开关指令的使用图中选择X10开始的4个按钮,位左

移键和右移键用来指定输入的位,增加键和减少键用来设定指定位的数值。X0接通时指定

的是最高位,按一次右移键或左移键可移动一位。指定位的数据可由增加键和减少键来修改,

其值可显示在7段显示器上。目标操纵数[D1]为输入的数据,由7段显示器监视其中的值(操

纵数可用T、C、D、V、和Z),[D2]只能用Y做操纵数,n=0~3其确定的方法与SEGL指

令相同。ARWS指令只能使

用一次,而且必须用晶体管

输出型的PLC。

(4)ASEII码转换指

令 ASCII码转换指令ASC

(FNC76)的功能是将字符

变换成ASCII码,图 3-77 ASEII码转换指令说明

并存放在指定的元件中。如图3-77所示,当X3有效时,则将FX2A酿成ASCII码并

送入D300和D301中。源操纵数是8个字节以下的字母或数字,目标操纵数为T,C,D。

它只有16位运算,占11个程序步。

特殊功能模块读指令FROM(FNC78)和特殊功能模块写指令T0(FNC79)将在后面

介绍。

外围设备(SER)指令(FNC80~FNC89)

外围设备(SER)指令包含串行通信指令RS(FNC80)、八进制数据传送指令PRUN

(FNC81)、HEX→ASCII转换指令ASCI(FNC82)、ASCII→HEX转换指令HEX(FNC83)、

校验码指令CCD(FNC84)、模拟量输入指令VRRD(FNC85)、模拟量开关设定指令VRSC

(FNC86)和PID运算指令PID(FNC88)8条指令。

81八进制数据传送指令(D)PRUN(P)(FNC81)

八进制数据传送指令 八进制数据传送指令(D)PRUN(P)(FNC81)是用于八进制数的

传送。如图3-78所示,当X10为ON时,将X0~X17内容送至M0~M7和M10~M17(因

为X为八进制,故M9和M8的内容不变)。当X11为ON时,则将M0~M7送Y0~Y7,

M10~M17送Y10~Y17。源操纵数可取KnX、KnM,目标操纵数取KnY、KnM,n=1~8,

16位和32位运算分别占5个和9个程序步。

图 3-78 八进制数据传送指令的使用

82、83 16进制数与ASCII码转换指令 有HEX→ASCII转换指令ASCI(FNC82)、

ASCII→HEX转换指令HEX(FNC83)两条指令

HEX→ASCII转换指令ASCI(P)的功能是将源操纵数[S.]中的内容(十六进制数)转换

成ASCII码放入目标操纵数[D.]中。如图3- 79所示,n暗示要转换的字符数(n=1~256)。

M8161控制采取16位模式还是8位模式。16位模式时每4个HEX占用1个数据寄存器,

转换后每两个ASCII码占用一个数据

寄存器;8位模式时,转换结果传送到[D.]低8位,其高8位为0。PLC运行时M8000为

ON,M8161为OFF,此时为16位模式。当X0为ON则执行ASCI。如果放在D100中的4

个字符为OABCH则执行后将其转换为ASCII码送入D200和D201中,D200高位放A的

ASCII码41H,低位放0的ASCII码30H,D201则放BC的ASCII码,C放在高位。该指

令的源操纵数可取所有数据类型,目标操纵数可取KnY、KnM、KnS、T、C和D。只有16

位运算,占用7个程序步。ASCII→HEX指令HEX(P)的功能与ASCI指令相反,是将ASCII

码暗示的信息转换成16进制的信息。 图 3-79 HEX→ASCII码转换指令的使用

如图3-80所示,将源操纵数D200~

D203中放的ASCII码转换成16进制放入目

标操纵数D100和D101中。只有16位运算,

占7个程序步。源操纵数为K、H、KnX、

KnY、KnM、KnS、T、C和D,目标操纵数

为 KnY、KnM、KnS、T、C、D、V和Z。

图3-80 ASCII→HEX指令的使用

84校验码指令CCD(P)(FNC84)

校验码指令的功能是对一组数据寄存器中的16进制数进行总校验和奇偶校验。如图

3-81所示,是将源操纵数[S.]指定的D100~D102共6个字节的8位二进制数求和并“异或”,

结果分别放在目标操纵数D0和D1中。通信过程中可将数据和、“异或”结果随同发送,对

方接收到信息后,先将传送的数据求和并“异或”,再与收到的和及“异或”结果比较,以此判

断传送信号的正确与否。源操纵数可取

KnX、 KnY、KnM、KnS、T、C和D,目

标操纵数可取KnM、KnS、T、C和D,n

可用K、H或D,n=1~256。为16位运算

指令,占7个程序步。 以上PRUN、ASCI、

HEX、CCD常应用于串行通信中,配合RS

指令。

85模拟量输入指令VRRD(P)(FNC85)

模拟量输入指令VRRD(P)(FNC85)是用来对FX2N-8AV-BD模拟量功能扩展板中的

电位器数值进行读操纵。如图3-82所示,当X0为ON时,读出FX2N-8AV-BD中0号模拟

量的值(由K0决定),将其送入D0作为T0的设定值。源操纵数可取K、H,它用来指定

模拟量口的编号,取值范围为0~7;目标操

纵数可取KnY、KnM、KnS、T、C、D、V

和Z。该指令只有16位运算,占5个程序步。

86模拟量开关指设定令VRSC(P)(FNC86)

模拟量开关设定指令的3-82 模拟量输入指令的使用

作用是将FX-8AV中电位器读出的数四舍五入整量化后以0~10之间的整数值存放在目标操

纵数中。它的源操纵数[S.]可取K和H,用来指定模拟量口的编号,取值范围为0~7;目标

操纵数[D.]的类型与VRRD指令相同。该指令为16位运算,占9个程序步。

88

PID控制指令

浮点运算指令FNC110~

FNC139

浮点数运算指令包含浮点

数的比较、四则运算、开方运算和三角函数等功能。它们分布在指令编号为FNC110~

FNC119、FNC120~FNC129、

FNC130~FNC139之中。

110 二进制浮点数比较指

令ECMP(FNC110)

二进制浮点数比较指令

ECMP(FNC110) DECMP(P)

指令的使用如图3-83所示,将

两个源操纵数进行比较,比较结

果反映在目标操纵数中。如果操

纵数为常数则自动转换成二进制浮点值处理。该指令源操纵数可取K、H和D,目标操纵数

可用Y、M和S。为32位运算指令,占17个程序步。

111 二进制浮点数区间比较指令EZCP(FNC111)EZCP(P)

二进制浮点数区间比较指令EZCP(FNC111) EZCP(P)指令的功能是将源操纵数的内

容与用二进制浮点值指定的上下二点

的范围比较,对应的结果用ON/OFF

反映在目标操纵数上,如图3-84所示。

该指令为32位运算指令,占17个程

序步。源操纵数可以是K,H和D;

目标操纵数为Y、M和S。[S1.]应小于[S2.],操纵数为常数时将被自动转换成二进制浮点值

处理。图3-84 二进制浮点数区间比较指令的使用

120、121、122、123二进制浮点数的四则运算指令有加法指令EADD (FNC120)、减

法指令ESUB(FNC121)乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四条指

令。

二进制浮点数的四则运算指令 浮点数的四则运算指令有加法指令EADD (FNC120)、

减法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四

条指令。四则运算指令的使用说明如图3-85所示,它们都是将两个源操纵数中的浮点数进

行运算后送入目标操纵数。当除数为0时出现运算错误,不执行指令。此类指令只有32位

运算,占13个程序步。运算结果影响标记位M8020(零标记)、M8021(借位标记)、M8022

(进位标记)。源操纵数可取K、H和D,目标操纵数为D。如有常数介入运算则自动转化

为浮点数。

二进制的浮点

运算还有开平

方、三角函数

运算等指令,

在此纷歧一说

明。

157、158

微分指令

(PLS/PLF)

PLS(上

升沿微分指令)在输入信号上升沿发生

一个扫描周期的脉冲输出。

PLF(下降沿微分指令)在输入信号下

降沿发生一个扫描周期的脉冲输出。

微分指令的使用如图3-21所示,利用

微分指令检测到信号的边沿,通过置位和复

位命令控制Y0的状态。

PLS、PLF指令的使用说明:

1)PLS、PLF指令的目标元件为Y和M;

2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件ON,如图3-21所

示,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利

用输入信号的下降沿驱动,其它与PLS相同

时钟运算指令(FNC160~FNC169)

共有七条时钟运算类指令,指令的编号分布在FNC160~FNC169之间。时钟运算类指令

是对时钟数据进行运算和比较,对PLC内置实时时钟进行时间校准和时钟数据格式化操纵。

160 时钟数据比较指令TCMP(FNC160) TCMP(P)

时钟数据比较指令TCMP(FNC160) TCMP(P)它的功能是用来比较指定时刻与时钟

数据的大小。如图3- 86所示,将源操纵数[S1.]、[S2.]、[S3.]中的时间与[S.]起始的3点时间

数据比较,根据它们的比较结果决定目标操纵数[D.]中起始的3点单元中取ON或OFF的状

态。该指令只有16位运算,占11个程序步。它的源操纵数可取T、C和D,目标操纵数可

以是Y、M和S。

图3-86 时钟数据比较指令的使用

162 时钟数据加法运算指令TADD(FNC162) TADD(P)

时钟数据加法运算指令TADD(FNC162) TADD(P)指令的功能是将两个源操纵数的

内容相加结果送入目标操纵数。源操纵数和目标操纵数均可取T,C和D。TADD为16位

运算,占7个程序步。如图3-87所示,将[S1.]指定的D10~D12和D20~D22中所放的时、

分、秒相加,把结果送入[D.]指定的D30~

D32中。当运算结果超出24小时时,进位

标记位变成ON,将进行加法运算的结果减去24小时后作为结果进行保管。

166 时钟数据读取指令TRD(FNC166) TRD(P)

时钟数据读取指令TRD(FNC166) TRD(P)指令为16位运算,占7个程序步。[D.]

可取T,C和D。它的功能是读出内置的实时时钟的数据放入由[D.]开始的7个字内。如图

3-87所示,当X1为ON时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序存

放在特殊辅助寄存器D8013~8019之中)传送到D10~

D16之中。

格雷码转换及模拟量模块专用指令

170、171 格雷码转换和逆转换指令GRY (FNC170)

和GBIN (FNC171)

格雷码转换和逆转换指令有2条:GRY (FNC170)和GBIN (FNC171),经常使用于处

理光电码盘编码盘的数据。(D)GRN(P)指令的功能是将二进制数转换为格雷码,(D)GBIN(P)

指令则是GRY的逆变换。如图3-89所示,GRY指令

是将源操纵数[S.]中的二进制数酿成格雷码放入目标

操纵数[D.]中,而GBIN指令与其相反。它们的源操纵

数可取任意数据格式,目标操纵数为KnY、KnM、KnS、

T、C、D、V和Z。、16位操纵时占5个程序步,32

位操纵时占9个程序步。 图 3-89 格雷码转换和逆转

换指令的使用

176、177模拟量模块读写指令RD3A(FNC176)和WR3A(FNC177)

模拟量模块读写指令有2条:

RD3A(FNC176)和WR3A(FNC177),

其功能是对FXON-3A模拟量模块输入

值读取和对模块写入数字值。如图3-90

所示,[m1.]为特殊模块号K0~K7,[m2.]

为模拟量输入通道K1或K2,[D.]为保

管读取的数据,[S.]为指定写入模拟量模

块的数字值。指令均为16位操纵,占7个程序步。

触点比较指令(FNC224~FNC246)

224-229LD触点比较指令

LD触点比较指令的助记符、代码、功能如表3-17所示。

表3-17 LD触点比较指令

功能指令代码

FNC224

FNC225

FNC226

FNC228

FNC229

FNC230

助记符

(D)LD=

(D)LD>

(D)LD<

(D)LD<>

(D)LD≤

(D)LD≥

导通条件

[S1.]=[S2.]

[S1 ]>[S2.]

[S1.]< [S2.]

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

非导通条件

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

[S1.]=[S2.]

[S1.]>[S2.]

[S1.]<[S2.]

如图3-91所示为LD=指令的使用,

当计数器C10的当前值为200时驱动

Y10。其它LD触点比较指令不在此一一

说明。

图3-91 LD=指令的使用

232-238AND触点比较指令

AND触点比较指令的的助记符、代码、功能如表3-18所示。

表3-18 AND触点比较指令

功能指令代码

FNC232

FNC233

FNC234

FNC236

FNC237

FNC238

助记符

(D)AND=

(D)AND>

(D)AND<

(D)AND<>

(D)AND≤

(D)AND≥

导通条件

[S1.]=[S2.]

[S1 ]>[S2.]

[S1.]< [S2.]

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

非导通条件

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

[S1.]=[S2.]

[S1.]>[S2.]

[S1.]<[S2.]

如图3-92所示为AND=指令的使用,当

X0为ON且计数器C10的当前值为200时,

驱动Y10。

图3-92 AND=指令的使用

240-246 OR触点比较指令

该类指令的的助记符、代码、功能列于下表3-19中。

表3-19 OR触点比较指令

功能指令代码

FNC240

FNC241

FNC242

FNC244

FNC245

FNC246

助记符

(D)OR=

(D)OR>

(D)OR<

(D)OR<>

(D)OR≤

(D)OR≥

导通条件

[S1.]=[S2.]

[S1 ]>[S2.]

[S1.]< [S2.]

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

非导通条件

[S1.]≠[S2.]

[S1.]≤[S2.]

[S1.]≥[S2.]

[S1.]=[S2.]

[S1.]>[S2.]

[S1.]<[S2.]

OR=指令的使用如图3-93所示,当

X1处于ON或计数器的当前值为200时,

驱动Y0。

图3-93 OR=指令的使用

触点比较指令源操纵数可取任意数据格

式。16位运算占5个程序步,32位运算占9个程序步。

第三部分、三菱FX系列PLC简介

1.型号说明

FX系列PLC是由三菱公司近年来推出的高性能小型可编程控制器,以逐步替代三菱公司

原F、F1、F2系列PLC产品。其中FX2是1991年推出的产品,FX0是在FX2之后推出的

超小型PLC,近几年来又连续推出了将众多功能凝集在超小型机壳内的FX0S、FX1S、FX0N、

FX1N、FX2N、FX2NC等系列PLC,具有较高的性能价格比,应用广泛。它们采取整体式

和模块式相结合的叠装式结构。

FX系列PLC型号的含义如下:

中系列

名称:如0、2、0S、1S、ON、1N、2N、2NC等

单元类型:M──基本单元;E──输入输出混合扩展单元 ; Ex──扩展输入模块 ; EY──

扩展输出模块;

输出方式:R──继电器输出、 S──晶闸管输出、 T──晶体管输出;

特殊品种:D──DC电源,DC输出;A1──AC电源,AC(AC100~120V)输入或AC输出

模块;H──大电流输出扩展模块;V──立式端子排的扩展模块;C──接插口输入输出方式;

F──输入滤波时间常数为1ms的扩展模块。如果特殊品种一项无符号,为AC电源、DC输

入、横式端子排、尺度输出。

例如FX2N-32MT-D暗示FX2N系列,32个I/O点基本单位,晶体管输出,使用直

流电源,24V直流输出型。

二、各单元模块的连接

FX系列PLC吸取了整体式和模块式PLC的优点,各单元间采取叠装式连接,即PLC

的基本单元、扩展单元和扩展模块深度及高度均相同,连接时不必基板,仅用扁平电缆连接,

构成一个整齐的长方体。使用FRON/TO指令的特殊功能模块,如模拟量输入和输出模块、

高速计数模块等,可直接连接到FX系列的基本单元,或连到其它扩展单元、扩展模块的右

边。根据它们与基本单元的距离,对每个模块按0~7的顺序编号,最多可连接8个特殊功

能模块

模拟量输入输出模块——三菱FX系列的特殊功能模块

(1)模拟量输入输出模块FX0N-3A 该模块具有2路模拟量输入(0~10V直流或4~

20mA直流)通道和1路模拟量输出通道。其输入通道数字分辨率为8位,A/D的转换时间

为100µs,在模拟与数字信号之间采取光电隔离,适用于FX1N、FX2N、FX2NC子系列,

占用8个I/O点。

(2)模拟量输入模块FX2N-2AD 该模块为2路电压输入(0~10V DC,0~5V DC)

或电流输入(4~20mA DC),12位高精度分辨率,转换的速度为2.5ms/通道。这个模块占

用8个I/O点,适用于FX1N、FX2N、FX2NC子系列。

(3)模拟量输入模块FX2N-4AD 该模块有4个输入通道,其分辨率为12位。可选择

电流或电压输入,选择通过用户接线来实现。可选为模拟值范围为±10VDC(分辨率位5mV)

或4~20mA、-20~20mA(分辨率位20µA)。转换的速度最高位6ms/通道。FX2N-4AD占

用8个I/O点。

(4)模拟量输出模块FX2N-2DA 该模块用于将12位的数字量转换成2点模拟输出。

输出的形式可为电压,也可为电流。其选择取决于接线分歧。电压输出时,两个模拟输出通

道输出信号为0~10V DC,0~5V DC;电流输出时为4~20mA DC。分辨率为2.5mV(0~

10V DC)和4µA(4~20mA)。数字到模拟的转换特性可进行调整。转换速度为4ms/通道。

本模块需占用8个I/O点。适用于FX1N、FX2N、FX2N子系列。

(5)模拟量输出模块FX2N-4DA 该模块有4个输出通道。提供了12位高精度分辨

率的数字输入。转换速度为2.1ms/4通道,使用的通道数变更不会改变转换速度。其他的性

能与FX2N-2DA相似。

(6)模拟量输入模块FX2N-4AD-PT 该模块与PT100型温度传感器匹配,将来自四

个箔温度传感器(PT100,3线,100Ω)的输入信号放大,并将数据转换成12位可读数据,

存储在主机单元中。摄氏度和华氏度数据都可读取。它内部有温度变送器和模拟量输入电路,

可以矫正传感器的非线性。读分辨率为0.2℃~0.3℃。转换速度为15ms/每通道。所有的数

据传送和参数设置都可以通过FX2N-4AD-PT的软件组态完成,由FX2N的TO/FROM应用

指令来实现。FX2N-4AD-PT占用8个I/O点,可用于FX1N、FX2N、FX2NC子系统,为温

控系统提供了方便。

(7)模拟量输入模块FX2N-4AD-TC 该模块与热电耦型温度传感器匹配,将来自四

个热电耦传感器的输入信号放大,并将数据转换成12位的可读数据,存储在主单元中,摄

氏和华氏数据均可读取,读分辨率在类型为K时为0.2℃;类型为J时为0.3℃,可与K型

(-100~1200℃)和J型(-100~600℃)热电耦配套使用,4个通道分别使用K型或J型,

转换速度为240ms/通道。所有的数据传输和参数设置都可以通过FX2N-4AD-TC的软件组

态完成,占用8个I/O点。

三、FX系列编程器

编程器是PLC的一个重要外围设备,用它将用户程序写入PLC用户程序存储器。它一

方面对PLC进行编程,另一方面又能对PLC的工作状态进行监控。随着PLC技术的发展,

编程语言的多样化,编程器的功能也不竭增加。

(1)简易编程器 FX型PLC的简易编程器也较多,最经常使用的是FX-10P-E和

FX-20P-E手持型简易编程器。他们具有体积小、重量轻、价格廉价、功能强的特点。有在

线编程和离线编程两种方式。显示采取液晶显示屏,分别显示2行和4行字符,配有ROM

写入器接口、存储器卡盒接口。编程器可用指令表的形式读出、写入、拔出和删除指令,进

行用户程序的输入和编辑。可监视位编程元件的ON/OFF状态和字编程元件中的数据。如计

数器、定时器的当前值及设定值、内部数据寄存器的值以及PLC内部的其他信息。。

FX-20P-E简易编程器(Handy Programming Panel,简称HPP)适用于FX系列PLC,

也可以通过转换器FX-20P-E-FKIT用于F系列PLC。

FX-20P-E编程器有联机(Online)和脱机(Offline)两种操纵方式。

(1)联机方式 编程器对PLC的用户程序存储器进行直接操纵、存取的方法。在写入

程序时,若PLC内未装EEPROM存储器,程序写入PLC内部RAM,若PLC内装有EEPROM

存储器,程序写入该存储器。

(2)脱机方式 脱机方式是对HPP内部存储器的存取方式。编制的程序先写入HPP

内部的RAM,再成批地传送到PLC的存储器中,也可以在HPP和ROM写入器之间进行程

序传送。

(2)PC机+编程开发软件 FX系列还有一些编程开发软件,如GX开发器。它可以用

于生成涵盖所有三菱PLC设备软件包,使用该软件可以为FX、A等系列PLC生成程序。

他在Windows操纵平台上运行,便于操纵和维护,可以用梯形图,语句表等进行编程,程

序兼容性强。FX-PCS/WIN-E-C编程软件包也是一个专门用来开发FX系列PLC程序的软件

包。可用梯形图、指令表和顺序功能图来写入和编辑程序,并能进行各种编程方式的互换。

它运用于Windows操纵系统,这对于调试操纵和维护操纵来说可以提高工作效率,并具有

较强的兼容性。

四、其他外部设备

在一个PLC控制系统中,人机界面也非常重要。还有一些辅助设备,如:打印机、EPROM

写入器外存模块等

窗体底端

五、PC与FX的硬件连接 三菱PLC FX系统通信

1.硬件连接

一台PC机可与一台或最多16台FX系列PLC通信,PC与PLC之间不克不及直接连

接。如图7-13a、b为点对点结构的连接,图a中是通过FX-232AW单元进行RS-232C/RS-422

转换与PLC编程口连接,图b中通过在PLC内部装置的通信功能扩展板FX-232-BD与PC

连接;如图7-13c所示为多点结构的连接,FX-485-BD为装置在PLC内部的通信功能扩展

板,FX-485PC-IF为RS-232C和RS-485的转换接口。除此之外当然还可以通过其它通信模

块进行连接,不再一一赘述。下面以PC与PLC之间点对点通信为例。

图7-13 PC与FX的硬件连接图

1、开环控制的通用变频器三相异步电动机变频调速系统控制框图如图1所

示。

图1 开环异步机变频调速 VVVF-通用变频器 IM-异步电动机

该控制方案结构简单,可靠性高。但是,由于是开环控制方式,其调速精度

和动态响应特性其实不是十分理想。尤其是在低速区域电压调整比较困难,不成

能得到较大的调速范围和较高的调速精度。异步电动机存在转差率,转速随负荷

力矩变更而变动,即使目前有些变频器具有转差抵偿功能及转矩提升功能,也难

以达到0.5%的精度,所以采取这种V/F控制的通用变频器异步机开环变频调速

适用于一般要求不高的场合,例如风机、水泵等机械。

2、带速度传感器矢量控制变频器的异步电机闭环变频调速系统控制框图如

图2所示。

图2 异步电机闭环控制变频调速 PG-速度脉冲发生器

矢量控制异步电机闭环变频调速是一种理想的控制方式。 它有许多优点:

(1)可以从零转速起进行速度控制,即甚低速亦能运行,因此调速范围很

宽广,可达100:1或1000:1;

(2)可以对转矩实行精确控制;

(3)系统的动态响应速度甚快;

(4)电动机的加速度特性很好等优点。

然而,带速度传感器矢量控制变频器的异步机闭环变频调速技术性能虽好,

但是究竟它需要在异步电动机轴上装置速度传感器,严格地讲,已经降低了异步

电动机结构坚固、可靠性高的特点。况且,在某些情况下,由于电动机自己或环

境的因素无法装置速度传感器。再则,多了反馈电路和环节,也增加了出故障的

机率。

因此,如若非采取不成的情况下,对于调速范围、转速精度和动态品质要

求不是特别高的条件场合,往往采取无速度传感器矢量变频器开环控制异步机变

频调速系统

通常,在控制系统中有一定容量的储能元件,因此系统中常会有一定的惯性

和时间上的滞后,负载的变更以及电源系统的干扰都会给控制带来影响,造成系

统参数的变更,从而使控制性能改变。采取PID调节,可对系统偏差进行比例调

节,引入积分环节,对偏差进行积分,提高了系统控制精度和抗外界干扰能力。

引入微分环节,用于克服系统的惯性滞后,从而提高系统的稳定性。这就大大提

高了控制系统的性能和品质。

PID调节有四个参数需要选择,这四个参数分别是采样周期T、调节器的比

例系数kp、调节器的积分时间常数Ti、调节器的微分时间常数Td。这些参数随

分歧的控制对象的要求而定。选择合适的参数使整个系统稳定速度最快,超调量

最小。图2是PID控制程序流程图,采样时间是用PLC定时器来控制,须选用

运算速度较快且具有算术运算等功能的PLC。为提高其抗干扰性能,还可填加数

字滤滤处理程序。

三菱PLC FX1N系列PLC

简单介绍

FX1N系列是功能很强大的微PLC,可扩展到多达128 I/O点,而且能增加特

殊功能模块或扩展板。通信和数据链接功能选项使得FX1N在体积、通信和特殊

功能模块等重要的应用方面非常完美。

定位和脉冲输出功能

一个PLC单元能同时输出2点100KHz脉冲,PLC配备有7条特殊的定位指

令,包含零返回、绝对位置读出、绝对或相对驱动以及特殊脉冲输出控制。其它

功能内置式24V直流电源,24V、400mA直流电源可用于外围设备,如传感器或

其它元件。时钟功能和小时表功能,在所有的FX1NPLC中都有实时时钟尺度。时

间设置和比较指令易于操纵。小时表功能对过程跟踪和机器维护提供了有价值的

信息。持续扫描功能, 为应用所需求的持续扫描时间定义操纵周期。输入滤波器

调节功能可以用输入滤波器平整输入信号(在基本单元中x000到x017)。元件

注解记录功能元件注解可以记录在程序寄存器中。在线程序编辑在线改变程序不

会损失工作时间或停止生产运转RUN/STOP 开关面板上运行/停止开关易于操纵。

远程维护远处的编程软件可以通过调制解调器通信来监测、上载或卸载程序和数

据密码呵护使用一个八位数字密码呵护您的程序

发布评论

评论列表 (0)

  1. 暂无评论