目录:
一、绪论
1、型号命名方式以及FX2N系列
2、PLC基本工作原理
3、软件系统
4、编程语言
5、PLC程序流程基础
6、写指令的原则
二、27条基本指令
1、LD、LDI、OUT与触点比较指令
2、触点串联指令AND、ANI
3、接点并联指令OR、ORI
4、取脉冲指令LDP、LDF、ANDP、ANDF、ORP、ORF
5、串联电路块的并联连接指令ORB
6、并联电路块的串联连接指令ANB
7、多重输出指令MPS、MRD、MPP
8、主控及主控复位指令MC、MCR
9、取反指令INV
10、置位与复位指令SET、RST
11、微分输出指令PLS、PLF
12、NOP、END指令
三、PLC梯形图编程规则
1、水平不垂直
2、多上串右
3、线圈右边无接点
4、不能有双线圈输出
5、喷泉控制例题
四、步进指令与状态转移图
1、状态转移(SFC)图
2、步进指令概述STL、RET
3、步进编程应用注意
4、步进指令的应用★
五、编程软件的使用
六、功能指令
1、功能指令的一些概念
2、程序流向控制指令(10条)
3、传送与比较指令(10条)
一、绪论
1、型号命名方式以及FX2N系列

2、PLC基本工作原理
1)编程元件的概述
2)FX2N系列PLC编程元件★
功能:
输入继电器:指连接外部的各种开关信号,比如开关、按钮、脉冲信号。
输出继电器:指PLC连接外部负载的接口。
特点:
地址编号采用8进制,不同型号PLC其输入输出点数不同。编程中,输入继电器X只有常开触点和常闭触点,且可用无限次。输出继电器Y既有线圈也有触点,触点有常开和常闭,可用无限次。
(2)辅助继电器M
通用辅助继电器M0~M499。
功能:作为辅助运算工具,用作状态暂存、中间过渡等。
特点:有线圈、有触点(常开、常闭,触点可用无限次)。不能直接驱动负载。系统断电时,所有的状态自动复位。
断电保持用辅助继电器M500~M1023、M1024~M3071,基本用法和功能同一般辅助继电器相同。
不同点:PLC在运行中若发生停电,输出继电器和通用辅助继电器全部呈断开状态。上电后,PLC恢复运行,断电保持用辅助继电器能保持断电前的状态。
在不少控制系统中,要求系统能保持断电瞬间的状态,这种场合就适用断电保持型继电器。断电保持是靠PLC的内装电池支持。
M500~M1023可通过设定PLC的参数来改变通用型和断电保持型的比例,而M1024~M3071不能进行改变。当采用并联通信时,M800~M999作为通信被占用。
PLC内有很多特殊用途的辅助继电器,每个特殊辅助继电器的功能都不同,使用时要注意其特殊功,没有定义的辅助继电器不能用。
特殊用辅助继电器M8000~M8255,这类特殊辅助继电器又分为两类,详见“三菱FX2N-PLC功能指令应用详解”之P529。
(3)定时器T
它是一个身兼位元件和字元件双重身份的软元件,其常开、常闭触点是位元件,而其时间设定值是一个字元件。
定时器在程序中主要使用其二种控制功能 :定时控制功能;当前值比较控制功能。
基本定时器:
积算定时器:
又名断电保持型定时器,在驱动条件不在立或停电引起计时停止时,其能保持计时当前值,等到驱动条件成立或复电后,计时会在原来基础上继续。复位只能用RST指令进行强制复位。
定时器延时断开,X2断开,Y0延时断开:
通电延时接通,断电延时断开控制:
(4)状态继电器S
构成状态转移图的重要软器件,它与后述的步进顺序指令配合使用。状态器的常开和常闭触点在PLC内可以自由使用,且使用的次数不限。在不使用步进顺控指令时,状态继电器S可象辅助继电器M一样在程序中使用。
(5)数据寄存器D
所有的数据寄存器均为16位存储器,若程序中仅处理8位数据,那么寄存器的低8位用作处理的数据存储,而高8位则全部为0。
数据寄存器的存储特点是“一旦写入、长期保持、存新除旧、断电归0”。
数据寄存器是功能指令中重要软元件,功能指令通过利用数据寄存器进行各种数据类型的处理与控制。
特殊数据寄存器编号为D8000~D8255,共有256个,这些特殊寄存器用来存放一些特定的数据。按照其使用功能可分为两种:一种是只能读取其内容,不能改写其内容,一种是可以进行读写的特殊寄存器。特殊数据寄存器D,详见“三菱FX2N-PLC功能指令应用详解”之P515。
文件寄存器:实际上是一类专用数据寄存器,用于存储大量的PLC应用程序需要用到的数据,如采集数据、统计计算数据、产品标准数据、数表、多组控制数等。
(6)变址寄存器V、Z
(7)位软元件、组合位元件与字元件
只有处理ON/OFF状态的元件,称为位软元件,如X、Y、M、S等,其他处理数字数据的元件,例如T、C、D、V、Z等,称为字软元件。位元件由Kn加首元件号的组合,也可以处理数字数据,组成字元件,称为组合位元件或位元件组合。
组合位元件规定:
编程符号:Kn+组件起始地址,其中n表示组数,起始地址为组件最低编址
位组规定:一组有4位位元件,表示4位二进制数
在使用时统一规定为位元件状态ON为1,OFF为0
(8)指针P、I
当程序发生转移时,需一个要转移去的程序入口地址,这个入口地址是用指针来表示的。
指针按其用处分为分支指针P与中断指针I两种。
3、软件系统
1)系统程序
PLC赖以工作的基础,采用汇编或C语言编写,在PLC出厂时就已固化于ROM型系统程序存储器中,不需用户干预。
2)用户程序
又称为应用程序,是用户为完成某一特定任务而利用PLC的编程语言而编制的程序。用户程序通过编程器输入到PLC的用户存储器中,再通过运行PLC来完成这一特定的任务。
4、编程语言
1)指令表编程
手编只能用这种方式。
2)梯形图编程
3)SFC顺序功能图编程
5、PLC程序流程基础
1)扫描方式
采用循环扫描的工作方式,整个工作过程可分为输入处理、程序处理、输出处理三个阶段,分阶段执行。
扫描周期=扫描处理时间+程序处理时间+输出处理时间。
2)子程序调用
3)中断
6、写指令的原则
从上到下,从左到右(从条件到结果)。
二、27条基本指令
1、LD、LDI、OUT与触点比较指令
1)功能介绍
LD取指令,表示每一行程序中第一个与母线相连的常开触点。
LDI取反指令,与LD的用法相同,中是LDI是对常闭触点。
OUT线圈驱动指令,对输出继电器(Y)、辅助继电器(M)、状态继电器器(S)、定时器(T)、计数器(C)的线圈驱动,对输入继电器(X)不能使用。
2)触点比较指令
在梯形图中,功能指令是作为线圈处理的。但有一种功能指令例外,它是当作触点来处理的,这就是触点比较指令。
功能:在梯形图中,起始触点比较指令等同于1个与主母线相接常开触点。
功能:在梯形图中,串接触点比较指令等同于1个串联的常开触点。
功能:在梯形图中,并接触点比较指令等同于1个被并联的常开触点。
这里以T0作为PLC内部计时器,此时应注意计时器的类型:T0~T199表示100mS通用定时器,T200~T245表示10mS通用定时器,可以在输入信号后端输入“OUT T0 K10”,K10表示10*100mS = 1000mS,即1秒。
※1:非保持区域。通过参数设定可以改变为保持区域。
※2:电池保持区域。通过参数设定可以改变为非电池保持区域。
※3:电池保持固定区域。区域特性不可以改变。
若输入“OUT T200 K10”,K10表示10*10mS = 100mS,即0.1秒。
应用举例:
(1)3个彩灯,每隔1秒顺序点亮1个彩灯,3个彩灯全亮后,又重新开始。
(2)D0~D9十个数,找出其中最大值并存于D100。
2、触点串联指令AND、ANI
AND与指令,ANI与非指令
3、接点并联指令OR、ORI
OR或指令,ORI或非指令
4、取脉冲指令LDP、LDF、ANDP、ANDF、ORP、ORF
LDP、ANDP、ORP指令是进行上升沿检测的触点指令,仅在指定的位元件上升沿(OFF->ON变化)时,接通一个扫描周期;
ANDF、ORP、ORF指令是进行下升沿检测的触点指令,仅在指定的位元件下降沿(ON->OFF变化)时,接通一个扫描周期。
5、串联电路块的并联连接指令ORB
两个或两个以上的接点串联的电路称为串联电路块;当串联电路块和其它电路并联时,分支开始用LD、LDI,分支结束用ORB。
6、并联电路块的串联连接指令ANB
两个或两个以上接点并联的电路称为并联电路块。并联电路块和其他接点串联连接时,使用ANB。电路块的起点用LD、LDI指令,并联结束后,使用ANB指令与前面串联。
7、多重输出指令MPS、MRD、MPP
程序出现分支:MPS进栈指令,MRD读栈指令(读取最上段存储专用),MPP出栈指令。
8、主控及主控复位指令MC、MCR
MC主控指令,用于公共串联触点的连接;MCR主控复位指令,用于公共串联触点的清除。MC与MCR需要配对使用。
使用主控指令应注意的事项:
当主控指令为OFF时:
保持当前状态:积算定时器、计数器、用置位/复位指令驱动的软元件。
变为OFF的软元件:非积算定时器,用OUT指令驱动的软元件。
在没有嵌套结构时,通用N0编程。N0的使用次数没有限制。有嵌套结构时,嵌套级N的地址号增大,即N0->N1->N2……N7。在将指令返回时,采用MCR指令,并从大的嵌套级开始消除。
9、取反指令INV
在将执行INV指令之前的运算结果反转的指令,是不带操作数的独立指令。
10、置位与复位指令SET、RST
SET为置位指令,使动作保持,只能对位软元件操作,比如Y、M、S;RST复位指令,使操作保持复位,可以对位或字软元件操作。ZRST区间复位指令后面详述。
注意:
SET指令若有驱动条件,即使不成立时,仍然保持;OUT指令驱动条件不成立时,相应位OFF。
11、微分输出指令PLS、PLF
需要短脉冲时使用。
RLS上升沿微分输出。当输入条件为ON时(上升沿),相应的输出位元件Y或M接通一个扫描周期。
PLF下降沿微分输出。当输入条件为OFF时(下降沿),相应的输出位元件Y或M接通一个扫描周期。
12、NOP、END指令
NOP空操作指令,相当于将X1短路,即删除AND指令;END程序结束指令,END后的指令不起作用。
三、PLC梯形图编程规则
1、水平不垂直
2、多上串右
3、线圈右边无接点
4、不能有双线圈输出
Y3是双线圈输出,当出现双线圈输出时,前面的输出不起作用,只有最后的一条输出才起作用。避免双线圈的方法是把触点并联。
5、喷泉控制例题
有A、B、C三组喷头,要求启动后A组先喷5S,之后B、C同时喷,5S后B停止,再过5S,C停止而A、B同时喷,再过2S,C也喷;A、B、C同时喷5S后全部停止,再过3S重复前面过程;当按下停止按钮后,马上停止。时序图如下。编出PLC控制程序。
分析:这是一个关于时序循环的问题,这一类的问题很多,其编程有一定的规律,掌握这个规律,编程就会很容易。
1)根据时序图中各负载发生的变化,定下要用定时的编号和各定时器要延时的时间(见图)。
2)由于各定时器是按先后循环接通的,所以要用前一个定时器的触点接通后一个定时器的线圈,再用最后一个定时器的触点去断开最前一个定时器的线圈,这样就完成了定时器的循环计时。
3)写驱动负载的程序,根据图中各负载上升沿和下降沿的变化,上升沿是负载要接通,用相应的常开触点,下降沿表示负载断开,用相应的常闭触点。在一个周期中负载有多次接通时,用各路触点并联。
4)其程序和I/O地址分配如下:X0 启动按键,X1 停止按钮,Y0 A组喷头,Y1 B组喷头,Y2 C组喷头。
四、步进指令与状态转移图
学习的目标:
①学习2条步进指令STL(步进开始)与RET(步进结束);
②掌握流程图、梯形图与指令表之间的互相转换;
③应用步进指令进行编程,步进指令是专为顺序控制(顺控)而设计的指令。
1、状态转移(SFC)图
含义:顺序控制中,把每一个工序叫做一个状态,当一道工序完成做下一道工序时,可以表达为:从一个状态转移到另一个状态。
如有四个广告灯,每个灯亮1S,循环进行,则状态转移图如右图所示。
特点:当转换条件满足时,则会从上一个状态转移到下一个状态,而上一个状态自动复位 。
举例说明:
有一送料小车,初始位置在A点,按下启动按钮,在A点装料,装料时间5S,装完料后驶向B点卸料时间7S,卸完后又返回A点装料,装完后驶向C点卸料,按此规律分别给B、C两点送料,循环进行。当按下停止按钮时,一定要送完一个周期后停在A点。写出状态转移图。
2、步进指令概述STL、RET
1)步进指令有两条:STL和RET
STL是步进开始指令,后面的操作数只能是状态器S;在梯形图中直接与母线相连,表示每一步的开始。RET步进结束指令,后面没有操作数,指状态流程结束,用于返回主程序(母线)的指令。
2)程序的分支
(1)可选择的分支
在应用步进指令进行编程时,通常会出现多种情况可供选择,这就构成一个可选择的分支。
特点:在程序执行时,多个分支只进行其中的一个分支。三菱PLC最多有8个分支。
选择性分支中把状态图转化成梯形图:

(2)并行分支
特点:有多个分支,每个分支都要执行,当所有的分支都执行完毕后,才能执行汇合程序。
注意:转换方向指令的区别

3、步进编程应用注意
输出驱动的序列:
暂时停止与紧急停止的处理:
具体参看“三菱FX2N-PLC功能指令应用详解”之4.2.3节。
4、步进指令的应用★
解决顺序控制之类的问题时,可以采用步进指令。用步进指令编程时,可以分如下几步进行:
(1)根据控制要求分配I/O地址,并画出状态流程图;
(2)把状态流程图转换成梯形图;
(3)对梯形图进行运行调试。
建立SFC流程图:
首先选择梯形图块,编写梯形图块程序。
上步完毕后,“打开SFC块列表”,以增加SFC块。
更改工程类型,这里在“梯形图”与“SFC语言”之间自动转换。
应用举例:
(1)两种液体混合装置,如下图所示:YV1、YV2电磁阀控制流入液体A、B,YV3电磁阀控制流出液体C。H、M、L为高、中、低液体感应器,M为搅拌电机。控制要求如下:
(1)初始状态要求容器内是空的,各电磁阀关闭,电机M停转;按下启动,YV1打开,流入液体A,流至M时,YV1关闭;YV2打开,流入液体B,液体流至H时,YV2关闭;此时,搅拌电机M开始搅拌20S;然后YV3打开,流出混合液体C;当液体减至L时,开始计时,20S后电磁阀YV3关闭,容器内液体全部流出。完成一个周期,下一个周期自动开始运行。
(2)当按下停机按钮时,一直要到一个周期完成才能停止,中途不能停止。
(3)各工序能单独手动控制,写出PLC的控制程序。
分析控制要求并分配I/O地址:
写状态转移图:
通过SFC图手动转换为梯形图:
(2)左右送球工程STL指令
工程的程序见我的百度网盘“左右送球工程STL指令”或者移步“左右送球工程STL指令(选择分支)”。
五、编程软件的使用
六、功能指令
1、功能指令的一些概念
1)功能指令的表示形式
2)功能指令的表示形式
指令执行形式有:脉冲执行型、连续执行型。
3)注意
软仿真时将PLC型号设置为最高,比如FX3U,避免找不到指令。
2、程序流向控制指令
程序流控制指令是用来改变程序的执行顺序,包括程序的条件跳转、中断、调用子程序、循环等。
1)条件跳转指令CJ
指令格式:
指令说明:
(1)当CJ指令的驱动输入X0为ON时,程序跳转到CJ指令指定的指针P同一编号的标号处。若X0为OFF时,则跳转不起作用,程序按从上到下,从左到右的顺序执行。
(2)当X0为ON时,被跳转CJ指令到标号之间的程序不予执行。在跳转过程中若Y、M、S被OUT、SET、RST指令驱动使输出发生变化,则仍保持跳转前的状态。例如,通过X1驱动输出Y10后发生跳转,在跳转过程中即使X0变为ON,但输出Y10仍有效。
(3)对于T、C,若跳转时定时器或计数器正发生动作,则此时立即中断计数或停止计时,直到跳转结束后继续进行计时或计数。但是,正在动作的定时器T192~T199与高速计数器C235~C255,不管有无跳转仍旧继续工作。
(4)功能指令在跳转时不执行,但PLSY、PLSR、PWM指令除外。
应用举例:
(1)手动/自动切换
(2)执行程序的初始化

跳转区域的状态变化:
2)子程序调用与返回指令CALL、SRET
指令格式,如图所示:
执行流程:
一个标号可供多个子程序调用,子程序可以在主程序中调用,也可以在中断服务程序中调用,还可以在其他子程序中调用。
应用举例:
(1)使用CALLP指令执行程序初始化,比CJ更为方便。
子程序的编制:
(1)子程序相当于一个个独立的功能块,可以进行程序移植
(2)全局软元件与局部软元件,比如西门子,就不需考虑(3)
(3)三菱FX PLC的软元件冲突
避免的方法就是制作下一个表,再避开冲突,在主程序中不再使用。
3)中断指令IRET、EI、DI

注:任何时候只能有1个中断服务程序,编号优先,越小中断优先级越高。其中断源有3个,分别是外部输入中断、内部定时器中断和高速计数器中断。
使用注意:
可参看“三菱FX2N-PLC功能指令应用详解”之6.4.1。
(1)外部中断
应用举例:
(1)中断急停告警显示程序
(2)定时器中断
内部定时器中断适用于扫描时间较长而又需及时处理数据的场合,如处部开关输入的刷新,模拟量输入的定时采样,模拟量输出的定时刷新等。
(3)高速计数器中断
此指令是一种软件中断,必须与高速计数器指令DHSCS一起使用,当高速计数器的当前值与设定值相符时,执行指令中的指定的中断服务程序。
可以用于高速的定位控制、速度测量等。
4)主程序指令FEND
指令格式:
注:程序遇到FEND指令返回到第0步,不能出现在FOR…NEXT指令中,也不能出现在子程序中。
5)警戒时钟指令WDT
指令应用原理:
PLC扫描周期不能超过200mS,下图就是把一个240mS的程序转换为两个120mS的程序。
PLC恒扫描方法:
将K300送入D8000,此时扫描时间延长到300mS。
6)循环开始与循环结束指令FOR、NEXT
指令格式:
应用举例:
从1加到100求和。
3、传送与比较指令
包括数据比较、传送、交换和变换;其有10条,指令代码从FNC10~FNC19。这部分指令属于基本应用指令,使用非常普及。
1)比较指令CMP、DECMP
指令格式:
指令说明:
(1)一旦指定终址D后,3个连续位元件D、D+1、D+2已被指令占用,不能再作他用;
(2)指令执行后即使驱动条件X10断开,D、D+1、D+2均会保持当前状态;
(3)若需要在指令不执行清除比较结果,用RST指令或ZRST指令对终址进行复位。
应用举例:
三个数分别存于D0、D10、D20中,找出其中最大数。
浮点数比较指令说明:
(1)浮点数运算为32位运算,故浮点数比较指令在使用时,必须为DECMP;
(2)源址S1、S2和S均可指定常数K、H,指令会自动将K、H转换为浮点数再进行比较;
(3)但指定源址为字元件D时,如D中为整数,则必须先把D转换成浮点数,才能进行比较操作。
2)区间比较指令ZCP、DEZCP
指令说明:
(1)若发生S1>S2,则PLC自动将S2作为S1处理;
(2)其他同CMP指令。
应用举例:
浮点数比较指令说明:同DECMP。
3)传送指令MOV
指令格式:
4)数位传送指令SMOV
指令格式:
8421BCD码执行模式:M8168=OFF源址S与终址D中所存放的数必须小于K9999。若大于K9999,会出现非BCC码数,则指令会出现超出BCD码范围错误。
16进制执行模式:M8168=ON,源址S与终址D中所存放的数没有要求。其执行为16进制数位移位传送功能。
举例说明:
将两组拨码开关的数字合成,如下图所示。两组拨码开关分别接在X0~X3和X20~X27,现在要将它合成一个三位数为765,程序如下:
人有两条路要走,一条是必须走的,一条是想走的,你必须把必须走的路走漂亮,才可以走想走的路。觉得不错,动动发财的小手点个赞哦!