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

三菱PLC编程指令e

IT圈 admin 24浏览 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,所以其定时范围

为~。

〔2〕10ms通用定时器

〔T200~T245〕 共46点。这

类定时器是对10ms时钟累积计

数,设定值为1~32767,所以其

定时范围为~。

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

工作原理。如图1所示,当输入

X0接通时,定时器T200从0开始

对10ms时钟脉冲进行累积计数,

当计数值与设定值K123相等时,

定时器的常开接通Y0,经过的时

间为123×。当X0断开后定时器

复位,计数值变为0,其常开触点

断开,Y0也随之OFF。假设外部

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

图1 通用定时器工作原理

2.积算定时器

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

积算定时器将保持当前的计数值〔当前值〕,通电或定时器线圈ON后继续累积,

即其当前值具有保持功能,只有将积算定时器复位,当前值才变为0。

〔1〕1ms积算定时器〔T246~T249〕 共4点,是对1ms时钟脉冲进行累

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

〔2〕100ms积算定时器〔T250~

T255〕共6点,是对100ms时钟脉冲进

行累积计数的定时的时间范围为~。

以下举例说明积算定时器的工作

原理。如图2所示,当X0接通时,T253

当前值计数数器开始累积100ms的时

钟脉冲的个数。当X0经t0后断开,而

T253尚未计数到设定值K345,其计数

的当前值保存。当X0再次接通,T253

从保存的当前值开始继续累积,经过

t1时间,当前值到达K345时,定时器

的触点动作。累积的时间为。当复位输

入X1接通时,定时器才复位,当前值

变为0,触点也跟随复位。

图2 积算定时器工作原理

八、辅助继电器〔M〕

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

制系统中的中间继电器相似。

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

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

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

用八进制数〕。

九、数据存放器〔D〕

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

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

来存储32位数据,最高位仍为符号位。数据存放器有以下几种类型:

1.通用数据存放器〔D0~D199〕

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

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

〔D200~D7999〕

共7800点,其中D200~D511〔共12点〕有断电保持功能,可以利用外部

设备的参数设定改变通用数据存放器与有断电保持功能数据存放器的分配;

D490~D509供通信用;D512~D7999的断电保持功能不能用软件改变,但可用指

令去除它们的内容。根据参数设定可以将D1000以上做为文件存放器。

3.特殊数据存放器〔D8000~D8255〕

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

电池电压等。未加定义的特殊数据存放器,用户不能使用。具体可参见用户手

册。

〔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

计数器

C235

C236

单相

C237

C238

单计

C239

数输

C240

C241

C242

C243

C244

U/D

U/D

U/D

U/D

R

R

U/D

U/D

U/D

R

U/D

U/D

R

U/D

X1 X2 X3 X4 X5 X6

TOP

X7

十一、常数〔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

编程元件种类

输入继电器X

(按8进制编号)

X0~X17

(不可扩展)

Y0~Y15

(不可扩展)

M0~M495

M496~M511

X0~X17 X0~X43

(可扩展)

Y0~Y27

(可扩展)

M0~M383

M384~

M511

X0~X43

(可扩展)

Y0~Y27

(可扩展)

M0~M383

M384~

M1535

FX2N

FX1S

FX0N FX1N

〔FX2NC〕

X0~X77

(可扩展)

Y0~Y77

(可扩展)

M0~M499

M500~

M3071

(不可

扩展)

Y0~Y15

(不可扩展)

M0~M383

M384~

M511

输出继电器Y

(按8进制编号)

辅助

继电器

M

状态

存放器

S

定时器

T

16位增计数

〔普通〕

16位增计数

〔保持〕

32位可逆计

数〔普通〕

32位可逆计

数〔保持〕

100ms

10ms

1ms

1ms累积

100ms累积

特殊用

初始状态用

返回原点用

普通用

保持用

信号报警用

普通用

保持用

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

S0~S9

-

S10~S63

-

-

S0~S9

-

S10~S127

S0~S127

-

S0~S9

-

S10~S127

S0~S127

-

S0~S9

-

S10~S999

S0~S999

-

S0~S9

S10~S19

S20~S499

S500~S899

S900~S999

T0~T49

T24~T49

-

-

-

T0~T62

T32~T62

T63

-

T0~T62

T32~T62

T63

-

-

T0~T199

T200~T245

-

T246~T249

T250~T255

T0~T199

T200~T245

-

T246~T249

T250~T255

C0~C13

C14、C15

-

-

C0~C15

C16~C31

-

-

C0~C15

C16~C31

-

-

C0~C15

C16~C199

C200~C219

C220~C234

C0~C99

C100~C199

C200~C219

C220~C234

计数器

C

数据

高速计数器 C235~C255(具体见使用手册)

16位普通用

16位保持用

16位特殊用

D0~D29

D30、D31

D8000~

D8069

V

Z

D0~D127

D128~

D255

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P63

I00*~I50*

-

-

D0~D127

D128~

D255

D8000~

D8255

V

Z

N0~N7

P0~P63

I00*~I30*

-

-

D0~D127

D128~

D7999

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

-

-

D0~D199

D200~D7999

D8000~

D8195

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

I6**~I8**

I010~I060

存放器

D

16位变址用

指针

N、P、I

常数

K、H

嵌套用

跳转用

输入中断用

定时器中断

计数器中断

16位

32位

N0~N7

P0~P63

I00*~I30*

-

-

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

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

特殊软元件

一 PC状态

M8000

M8001

M8002

M8003

M8004

M8005

M8006

M8007

M8008

M8009

D8001

D8002

D8003

D8004

D8005

RUN监控(a触点)

RUN监控(b触点)

初始脉冲(a触点)

初始脉冲(b触点)

发生出错

电池电压下降

电池电压下降锁存

电源瞬停检测

停电检测

DC24V关断

PLC型号及系统版本

存储器容量

存储器类型

出错M地址号

电池电压

D8006

D8007

D8008

D8009

二 时钟

M8011

M8012

M8013

M8014

M8015

M8016

M8017

M8018

M8019

D8010

D8011

D8012

D8013

D8014

D8015

D8016

D8017

D8018

D8019

三 标志

M8020

M8021

M8022

M8023

M8024

电池电压下降检出电平

瞬停次数

停电检测时间

DC24V关断的单元编号

震荡周期10ms

震荡周期100ms

震荡周期1s

震荡周期1分钟

计时停止及预置

时间读出时显示停止

±30秒的修正

检测RTC卡盒是否插入

实时时钟(RTC)出错

当前扫描时间

最小扫描时间

最大扫描时间

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

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

借位

进位

小数点运算标志

M8025

M8026

M8027

M8028

HSC方式

RAMP方式

PR方式

FROM./TO指令

执行中允许中断标志

M8029

D8028

D8029

指令执行完成

Z存放器内容

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码

19 BIN 求二进制码

五 数据处理—功能40~49

40 ZRST 区间复位

41 DECO 解码

42 ENCO 编码

43 SUM ON位总数

44 BON 检查位状态

45 MEAN 求平均值

46 ANS 标志置位

47 ANR 标志复位

48 SQR 平方根

49 FLT 整数转换成浮点数

六 高速处理—功能50~59

50 REF 刷新

51 REFF 刷新与滤波处理

52 MTR 矩阵输入

53 HSCS 高速记数器置位

54 HSCR 高速记数器复位

38 SFWR FIFO写

39 SFRD FIFO读

七 方便指令—功能60~69

60 IST 状态初始化

61 SER 寻找

62 ABSD 绝对值凸轮顺控

63 INCD 增量凸轮顺控

64 TTMR 示教定时器

65 STMR 专用定时器—可定义

66 ALT 交替输出

67 RAMP 斜坡输出

68 ROTC 旋转台控制

69 SORT 排序

八 外部I/O设备—功能70~79

70 TKY 十键输入

71 HKY 十六键输入

72 DSW 拨码开关输入

73 SEGD 七段码译码

74 SEGL 带锁存的七段码显示

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

56 SPD 脉冲输出Speed detect 76 ASC ASCII变换

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

58 PWM 脉冲调制Pulse width modulation 78 FROM 读特殊功能模块

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

九 外围设备SER—功能80~89

80 RS RS通讯

81 PRUN 8进制位传送

82 ASCI 十六进制至ASCII转换

83 HEX ASCII至十六进制转换

84 CCD 校验码

85 VRRD 电位器读入

86 VRSC 电位器刻度

88 PID PID控制

十 F2外部模块—功能90~99

90 MNET F-16N, Mini网

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

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

93 RMST F2-32RM, 启动RM

94 RMWR F2-32RM, 写RM

95 RMRD F2-32RM, 读RM

96 RMMN F2-32RM, 监控RM

97 BLK F2-30GM, 指定块

98 MCDE F2-30GM, 机器码

120 EADD 浮点数加法

121 ESUB 浮点数减法

122 EMUL 浮点数乘法

123 EDIV 浮点数除法

127 ESOR 浮点数开方

129 INT 浮点数->整数

130 SIN 浮点数SIN运算

131 COS 浮点数COS运算

132 TAN 浮点数TAN运算

147 SWAP 上下字节交换

十二 定位—功能155~159

155 ABS

156 ZRN

157 PLS

158 DRVI

十三 时钟运算—功能160~169

160 TCMP

161 TZCP

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 WR3A 228 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的当前值

时,Y21为ON;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是用来产生一组对应于计数值在360范围内变

化的输出波形,输出点的个数由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,那么各输出点状态不变。这一指令只

能使用一次。

0

图3-67 绝绝对值式凸轮顺控指令的使用

a) 绝绝对值式凸轮顺控指令 b) 输出波

表3-15 旋转台旋转周期M0~M3状态

开通点

D300=40

D302=100

关断点

D301=140

D303=200

输出

M0

M1

D304=160

D306=240

D305=60

D307=280

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记录,该

时间乘以10

n

后存入D300。如果按钮按下时间为t存入D300的值为10

n

×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-229 LD触点比拟指令

LD触点比拟指令的助记符、代码、功能如表3-17所示。

表3-17 LD触点比拟指令

功能指令代码

FNC224

助记符

(D)LD=

导通条件

[S1.]=[S2.]

非导通条件

[S1.]≠

[S2.]

FNC225

FNC226

FNC228

FNC229

FNC230

(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.]

如图3-91所示为LD=指令

的使用,当计数器C10的当前值为

200时驱动Y10。其它LD触点比拟

指令不在此一一说明。

图3-91 LD=指令的使用

232-238 AND触点比拟指令

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。分辨率为〔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Ω℃~℃。转换速度为15ms/每通

道。所有的数据传送和参数设置都可以通过FX2N-4AD-PT的软件组态完成,由

FX2N的TO/FROM应用指令来实现。FX2N-4AD-PT占用8个I/O点,可用于FX1N、

FX2N、FX2NC子系统,为温控系统提供了方便。

〔7〕模拟量输入模块FX2N-4AD-TC 该模块与热电耦型温度传感器匹配,

将来自四个热电耦传感器的输入信号放大,并将数据转换成12位的可读数据,

存储在主单元中,摄氏和华氏数据均可读取,读分辨率在类型为K时为℃;类型

为J时为℃,可与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,所以其定时范围

为~。

〔2〕10ms通用定时器

〔T200~T245〕 共46点。这

类定时器是对10ms时钟累积计

数,设定值为1~32767,所以其

定时范围为~。

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

工作原理。如图1所示,当输入

X0接通时,定时器T200从0开始

对10ms时钟脉冲进行累积计数,

当计数值与设定值K123相等时,

定时器的常开接通Y0,经过的时

间为123×。当X0断开后定时器

复位,计数值变为0,其常开触点

断开,Y0也随之OFF。假设外部

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

图1 通用定时器工作原理

2.积算定时器

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

积算定时器将保持当前的计数值〔当前值〕,通电或定时器线圈ON后继续累积,

即其当前值具有保持功能,只有将积算定时器复位,当前值才变为0。

〔1〕1ms积算定时器〔T246~T249〕 共4点,是对1ms时钟脉冲进行累

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

〔2〕100ms积算定时器〔T250~

T255〕共6点,是对100ms时钟脉冲进

行累积计数的定时的时间范围为~。

以下举例说明积算定时器的工作

原理。如图2所示,当X0接通时,T253

当前值计数数器开始累积100ms的时

钟脉冲的个数。当X0经t0后断开,而

T253尚未计数到设定值K345,其计数

的当前值保存。当X0再次接通,T253

从保存的当前值开始继续累积,经过

t1时间,当前值到达K345时,定时器

的触点动作。累积的时间为。当复位输

入X1接通时,定时器才复位,当前值

变为0,触点也跟随复位。

图2 积算定时器工作原理

八、辅助继电器〔M〕

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

制系统中的中间继电器相似。

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

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

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

用八进制数〕。

九、数据存放器〔D〕

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

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

来存储32位数据,最高位仍为符号位。数据存放器有以下几种类型:

1.通用数据存放器〔D0~D199〕

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

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

〔D200~D7999〕

共7800点,其中D200~D511〔共12点〕有断电保持功能,可以利用外部

设备的参数设定改变通用数据存放器与有断电保持功能数据存放器的分配;

D490~D509供通信用;D512~D7999的断电保持功能不能用软件改变,但可用指

令去除它们的内容。根据参数设定可以将D1000以上做为文件存放器。

3.特殊数据存放器〔D8000~D8255〕

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

电池电压等。未加定义的特殊数据存放器,用户不能使用。具体可参见用户手

册。

〔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

计数器

C235

C236

单相

C237

C238

单计

C239

数输

C240

C241

C242

C243

C244

U/D

U/D

U/D

U/D

R

R

U/D

U/D

U/D

R

U/D

U/D

R

U/D

X1 X2 X3 X4 X5 X6

TOP

X7

十一、常数〔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

编程元件种类

输入继电器X

(按8进制编号)

X0~X17

(不可扩展)

Y0~Y15

(不可扩展)

M0~M495

M496~M511

X0~X17 X0~X43

(可扩展)

Y0~Y27

(可扩展)

M0~M383

M384~

M511

X0~X43

(可扩展)

Y0~Y27

(可扩展)

M0~M383

M384~

M1535

FX2N

FX1S

FX0N FX1N

〔FX2NC〕

X0~X77

(可扩展)

Y0~Y77

(可扩展)

M0~M499

M500~

M3071

(不可

扩展)

Y0~Y15

(不可扩展)

M0~M383

M384~

M511

输出继电器Y

(按8进制编号)

辅助

继电器

M

状态

存放器

S

定时器

T

16位增计数

〔普通〕

16位增计数

〔保持〕

32位可逆计

数〔普通〕

32位可逆计

数〔保持〕

100ms

10ms

1ms

1ms累积

100ms累积

特殊用

初始状态用

返回原点用

普通用

保持用

信号报警用

普通用

保持用

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

S0~S9

-

S10~S63

-

-

S0~S9

-

S10~S127

S0~S127

-

S0~S9

-

S10~S127

S0~S127

-

S0~S9

-

S10~S999

S0~S999

-

S0~S9

S10~S19

S20~S499

S500~S899

S900~S999

T0~T49

T24~T49

-

-

-

T0~T62

T32~T62

T63

-

T0~T62

T32~T62

T63

-

-

T0~T199

T200~T245

-

T246~T249

T250~T255

T0~T199

T200~T245

-

T246~T249

T250~T255

C0~C13

C14、C15

-

-

C0~C15

C16~C31

-

-

C0~C15

C16~C31

-

-

C0~C15

C16~C199

C200~C219

C220~C234

C0~C99

C100~C199

C200~C219

C220~C234

计数器

C

数据

高速计数器 C235~C255(具体见使用手册)

16位普通用

16位保持用

16位特殊用

D0~D29

D30、D31

D8000~

D8069

V

Z

D0~D127

D128~

D255

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P63

I00*~I50*

-

-

D0~D127

D128~

D255

D8000~

D8255

V

Z

N0~N7

P0~P63

I00*~I30*

-

-

D0~D127

D128~

D7999

D8000~

D8255

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

-

-

D0~D199

D200~D7999

D8000~

D8195

V0~V7

Z0~Z7

N0~N7

P0~P127

I00*~I50*

I6**~I8**

I010~I060

存放器

D

16位变址用

指针

N、P、I

常数

K、H

嵌套用

跳转用

输入中断用

定时器中断

计数器中断

16位

32位

N0~N7

P0~P63

I00*~I30*

-

-

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

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

特殊软元件

一 PC状态

M8000

M8001

M8002

M8003

M8004

M8005

M8006

M8007

M8008

M8009

D8001

D8002

D8003

D8004

D8005

RUN监控(a触点)

RUN监控(b触点)

初始脉冲(a触点)

初始脉冲(b触点)

发生出错

电池电压下降

电池电压下降锁存

电源瞬停检测

停电检测

DC24V关断

PLC型号及系统版本

存储器容量

存储器类型

出错M地址号

电池电压

D8006

D8007

D8008

D8009

二 时钟

M8011

M8012

M8013

M8014

M8015

M8016

M8017

M8018

M8019

D8010

D8011

D8012

D8013

D8014

D8015

D8016

D8017

D8018

D8019

三 标志

M8020

M8021

M8022

M8023

M8024

电池电压下降检出电平

瞬停次数

停电检测时间

DC24V关断的单元编号

震荡周期10ms

震荡周期100ms

震荡周期1s

震荡周期1分钟

计时停止及预置

时间读出时显示停止

±30秒的修正

检测RTC卡盒是否插入

实时时钟(RTC)出错

当前扫描时间

最小扫描时间

最大扫描时间

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

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

借位

进位

小数点运算标志

M8025

M8026

M8027

M8028

HSC方式

RAMP方式

PR方式

FROM./TO指令

执行中允许中断标志

M8029

D8028

D8029

指令执行完成

Z存放器内容

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码

19 BIN 求二进制码

五 数据处理—功能40~49

40 ZRST 区间复位

41 DECO 解码

42 ENCO 编码

43 SUM ON位总数

44 BON 检查位状态

45 MEAN 求平均值

46 ANS 标志置位

47 ANR 标志复位

48 SQR 平方根

49 FLT 整数转换成浮点数

六 高速处理—功能50~59

50 REF 刷新

51 REFF 刷新与滤波处理

52 MTR 矩阵输入

53 HSCS 高速记数器置位

54 HSCR 高速记数器复位

38 SFWR FIFO写

39 SFRD FIFO读

七 方便指令—功能60~69

60 IST 状态初始化

61 SER 寻找

62 ABSD 绝对值凸轮顺控

63 INCD 增量凸轮顺控

64 TTMR 示教定时器

65 STMR 专用定时器—可定义

66 ALT 交替输出

67 RAMP 斜坡输出

68 ROTC 旋转台控制

69 SORT 排序

八 外部I/O设备—功能70~79

70 TKY 十键输入

71 HKY 十六键输入

72 DSW 拨码开关输入

73 SEGD 七段码译码

74 SEGL 带锁存的七段码显示

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

56 SPD 脉冲输出Speed detect 76 ASC ASCII变换

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

58 PWM 脉冲调制Pulse width modulation 78 FROM 读特殊功能模块

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

九 外围设备SER—功能80~89

80 RS RS通讯

81 PRUN 8进制位传送

82 ASCI 十六进制至ASCII转换

83 HEX ASCII至十六进制转换

84 CCD 校验码

85 VRRD 电位器读入

86 VRSC 电位器刻度

88 PID PID控制

十 F2外部模块—功能90~99

90 MNET F-16N, Mini网

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

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

93 RMST F2-32RM, 启动RM

94 RMWR F2-32RM, 写RM

95 RMRD F2-32RM, 读RM

96 RMMN F2-32RM, 监控RM

97 BLK F2-30GM, 指定块

98 MCDE F2-30GM, 机器码

120 EADD 浮点数加法

121 ESUB 浮点数减法

122 EMUL 浮点数乘法

123 EDIV 浮点数除法

127 ESOR 浮点数开方

129 INT 浮点数->整数

130 SIN 浮点数SIN运算

131 COS 浮点数COS运算

132 TAN 浮点数TAN运算

147 SWAP 上下字节交换

十二 定位—功能155~159

155 ABS

156 ZRN

157 PLS

158 DRVI

十三 时钟运算—功能160~169

160 TCMP

161 TZCP

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 WR3A 228 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的当前值

时,Y21为ON;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是用来产生一组对应于计数值在360范围内变

化的输出波形,输出点的个数由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,那么各输出点状态不变。这一指令只

能使用一次。

0

图3-67 绝绝对值式凸轮顺控指令的使用

a) 绝绝对值式凸轮顺控指令 b) 输出波

表3-15 旋转台旋转周期M0~M3状态

开通点

D300=40

D302=100

关断点

D301=140

D303=200

输出

M0

M1

D304=160

D306=240

D305=60

D307=280

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记录,该

时间乘以10

n

后存入D300。如果按钮按下时间为t存入D300的值为10

n

×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-229 LD触点比拟指令

LD触点比拟指令的助记符、代码、功能如表3-17所示。

表3-17 LD触点比拟指令

功能指令代码

FNC224

助记符

(D)LD=

导通条件

[S1.]=[S2.]

非导通条件

[S1.]≠

[S2.]

FNC225

FNC226

FNC228

FNC229

FNC230

(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.]

如图3-91所示为LD=指令

的使用,当计数器C10的当前值为

200时驱动Y10。其它LD触点比拟

指令不在此一一说明。

图3-91 LD=指令的使用

232-238 AND触点比拟指令

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。分辨率为〔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Ω℃~℃。转换速度为15ms/每通

道。所有的数据传送和参数设置都可以通过FX2N-4AD-PT的软件组态完成,由

FX2N的TO/FROM应用指令来实现。FX2N-4AD-PT占用8个I/O点,可用于FX1N、

FX2N、FX2NC子系统,为温控系统提供了方便。

〔7〕模拟量输入模块FX2N-4AD-TC 该模块与热电耦型温度传感器匹配,

将来自四个热电耦传感器的输入信号放大,并将数据转换成12位的可读数据,

存储在主单元中,摄氏和华氏数据均可读取,读分辨率在类型为K时为℃;类型

为J时为℃,可与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. 暂无评论