PLC基础学习.docx
《PLC基础学习.docx》由会员分享,可在线阅读,更多相关《PLC基础学习.docx(37页珍藏版)》请在冰点文库上搜索。
PLC基础学习
一、FX2n系列PLC的编程器件
a)输入输出继电器(X/Y)
i.输入继电器:
连接外部的各种开关信号,如开关、按钮、脉冲信号
ii.输出继电器:
PLC连接外部负载的接口
b)辅助继电器M
i.通用辅助继电器M0~M499(状态暂存)
ii.断电保持用继电器M500~M1023(M800~M999通信用)
iii.断电保持专用M1024~M3071
iv.特殊用辅助继电器M8000~M8255
1.触点利用型特殊辅助继电器M8000运行监控(运行中,总是接通的)M8002初始化脉冲M8012100ms时钟脉冲
2.线圈驱动型辅助继电器M8033(停止时保持输出)M8034禁止所有输出
M8039恒扫描
c)状态器S
状态器S是构成状态转移图的重要软器件,与步进顺序指令配合使用,在不使用不进顺控指令时,状态器S可以像辅助继电器M一样在程序中使用
i.普通状态器S0~S499
ii.初始状态器S0~S10
iii.回零状态器S10~S19
iv.断电保持用S500~S899
v.信号报警用S900~S999
注意:
S500~S899可以通过修改PLC参数改为非断电保持
S900~S999是断电保持型
d)定时器T
定时器设定值可用常数(k)或数据寄存器(D)中的数值设定
i.100ms型T0~T199
ii.10ms型T200~T245
iii.1ms型T246~T249
iv.100ms积算型T250~T255(断电保持)
e)计数器C
i.16位增型计数器设定值1~32767
普通用途C0~C99
供电保持C100~C199
ii.32位增/减计数器
(由特殊辅助继电器M8200~M8234设定,特殊辅助继电器置1时递减计数置0时递加计数)
普通用途C200~C219
供电保持C220~C234
iii.高速计数器C235~C255
1相C235~C240(对单个X0~X5计数)
1相带启动C241~C245(比1相多一个复位端)
1相2输入(双向)C246~C250(对两个点计数输入点不同而做增或减计数)
2相输入(A-B相输入)C251~C255
M8236~M8245决定C236~C245做递增递减计数
f)数据寄存器
i.普通用途D0~D199
ii.停电保持D200~D511(通信用:
D490~D599主到从站,从到主站D500~D509)
iii.停电保持D512~D7999(滤波用)
iv.特殊用途D8000~D8255
v.变址V0~V7Z0~Z7(用来改变软元件的地址)
V与Z和普通用途数据寄存器一样,是进行数据的读入和写出的16位数据寄存器,进行32运算时,将两者组合使用,Z为地位V为高位
g)指针P/I(M8050~M8059)
分支用/程序跳转P0~P128
输入中断用I00I10I20I30I40I50(对应中断源X0~X5)
I001:
第一个0表示X0(类似1表示X1,以此类推)第二个0固定
1表示由断开向闭合变化,类似0表示由闭合向断开变化
定时中断用I6xxI7xxI8xx
I610:
第一个数为6/7/8时表示为定时中断xx:
多长时间执行一次中断(10~99)
M8058=0:
中断允许M8058=1:
中断禁止
计数器中断用I010I020I030I040I050I060
M8059=0:
中断允许M8059=1:
中断禁止
二、PLC的工作方式
PLC采用循环扫描的工作方式,整个工作过程可分为输入处理、程序处理、输出处理
三、27条基本指令
1LD、LDI、OUT
LD取指令--常开触点
LDI取反指令--常闭触点
OUT线圈驱动指令———Y、M、S、T|、C
SP空格键
程序步号指令目标原件
2接点串联指令AND、ANI
AND--与,用于单个常开接点串联
ANI—与非,用于单个常闭接点串联
3接点并联指令OR、ORI
OR--或
ORI--或非
4取脉冲指令LDP、LDF、ANDP、ORP、ORF
LDP、ANDP、ORP进行上升沿检测
LDF、ANDF、ORF进行下降沿检测
5串联电路块的并联指令ORB
串联电路块:
两个或两个以上的接点串联电路成为串联电路块
当串联电路块和其他电路并联时,分支开始用LD、LDI,分支结束用ORB
6并联电路块的串联指令ANB
并联电路块:
两个或两个以上接点并联的电路称为并联电路块
7多重输出指令MPS、MRD、MPP
MPS进栈指令
MRD读栈指令
MPP出栈指令
MPS、MPP成对使用
8主控及主控复位指令MC、MCR
MCR主控复位指令,用于公共串联触点的清除
MC主控指令,用于公共串联触电的连接
配对使用
MC操作数有两个--主控号--辅助继电器
MCR--主控号
9取反指令INV
不带操作数的独立指令
10置位与复位指令SET、RST
SET使动作保持
RST使动作复位
11微分输出指令PLS、PLF
PLS--上升沿微分输出指令
PLF--下降沿微分输出指令
12NOP、END指令
NOP空操作指令(指令删除)
END程序结束指令
梯形图编程规则
1水平不垂直
2多上穿右
3线圈右边无接点
4不能有双线圈输出
M8013---1钟的时钟脉冲,使灯闪烁
四、步进指令
1状态转移图FSC
状态的含义:
在顺序控制中,我们把每一个工序叫做一个状态,
当一道工序完成做下一道工序时,可以表达为,从一个状态转移到另一个状态
状态器--负载--转移条件
特点:
当转移条件满足时,则会从上一个状态转移到下一个状态,而上一个状态自动复位
2步进指令有两条:
STL和RET
STL是步进开始指令,后面的操作数只能是状态器S;在梯形图中直接与母线相连,表示每一步的开始
RET步进结束指令,后面没有操作数,是指令状态流程结束,用于返回主程序(母线)的指令
程序的分支
1可选择性的分支
在应用步进指令进行编程时,通常会出现多种情况可供选择,这就构成可选择的分支
特点:
在程序执行时,多个分支只进行其中的一个分支
2并行分支
特点:
有多个分支,每个分支都要执行,当所有的分支都执行完毕后,才能执行汇合程序
步进指令的应用
1根据控制要求分配I/O地址,并画出状态流程图
2把状体流程图装换成梯形图
3对梯形图进行运行和调试
初始状态器:
由外部条件或由其他转态器来驱动
起始条件、原点条件
手动/自动选择
五、功能指令
1.功能指令的表示形似
指令名称助记符指令代码操作数(S、D、N)程序步
2.指令的执行形式
脉冲执行型(MOVP)
连续执行型(MOV)
3.位软元件、组合位元件和字元件
只处理ON/OFF状态的元件,称为位元件,如X、Y、M、S
其他处理数字的元件称为字软元件,如T、C、D、V、Z
位元件由Kn加首元件号的组合,可以处理数字数据,组成字元件,称为组合位元件或位元件组合K1
组合位元件的组合规律是以4位为一组组合成单元。
K1~K4为16位运算
K5~K8为32位运算
4.程序流向控制指令
其用来改变程序执行顺序,包括程序的条件跳转、中断、调用子程序、循环。
1)条件跳转指令CJ
----[CJP10]
1当CJ指令的驱动输入为ON时,程序跳转到CJ指定的指针P同一编号的标号处,
当为OF时,则跳转不起作用,程序按从上到下,从左到右的顺序执行
2跳转条件满足时,被跳转CJ命令到标号之间的程序不予执行,
在跳转过程中如果Y、M、S被OUT、SET、RST指令驱动使输入发生变化,则仍保持跳转前的状态
3对于T、C,如果跳转时定时器或计数器正发生动作,则此时立即中断计数器或停止计时,
直到跳转结束后继续进行计数或计时
但正在动作的定时器T192~T199与高速计数器C235~C255,不管有无跳转仍旧继续工作
4功能指令在跳转时不执行,但PLSY、PLSR、PWM指令除外
2)子程序调用CALL----[CALLP11]
与返回指令SRET子程序返回(结束)
主程序结束FEND
最多可以嵌套5级
3)中断指令
中断返回指令IRET
允许中断指令EI
禁止中断指令DI
中断指针I-(输入号0~3,每个输入号只能用一次,对应输入为X0~X3)-0(常置0)-(1为上升沿中断,0为下降沿中断)
定时中断I-(中断号6、7、8,6的级别最高)-(10~99定时中断时间)
4)主程序结束指令FEND
5)警戒时钟指令WDT(刷新警戒时钟,以便程序能继续运行,一个程序的执行200ms,超过后需刷新,如240ms的程序,可120ms;WDT;120ms)
//或修改M8000内部程序M8000--||--[MOV][K300][D8000],就可以延长到300个ms
6)循环开始和循环结束指令
循环开始指令FOR
循环结束指令NEXT
5传送和比较指令
传送比较指令包括数据比较、传送、交换和变换,共十条
1)比较指令CMP[S1][S2][D]
C10和K100比较,比较的结果放在M10,M11、M12
2)区间比较指令ZCP四个操作数
3)传送指令MOV
D1.K4.K2:
把D1从第四位开始拆,拆成两个(第四(千位)第三位(百位)),放到D2的第三(百位)第二位(十位)去
4)移位传送指令SMOV
5)取反指令CML
(灯闪烁)
6)块传送指令BMOV[BMOVD5D10K3]:
D5、D6、D7传送到D10D11D12
7)多点传送指令FMOV[FMOVK0D0K10]:
将K0这个数据传送到以D0为首的10个寄存器当中
8)数据交换指令XCHP:
交换两个数
D10的高八位低八位互换
9)变换指令BCD:
二进制码转换成BCD码
把D0的二进制码转换成BCD码,存放在D5中
10)变换指令BIN:
BCD码转换成二进制码
把K4X0的成BCD码转换二进制码,存放在D10中
RAMP谐波
[RAMPD1D2D3k1000]:
产生一个数据D3他的变化范围是D1,D2,
k1000:
1000个扫描周期(10ms×1000)
六、算数及逻辑运算指令
这部分的指令主要包括四则运算和逻辑运算‘共十条
1)、二进制加法指令ADD[ADDD10D12D14]:
D10、D12相加存放在D14
[DADDD10D12D14]32位加法运算指令(D11D10)+(D13D12)=(D15D14)
[ADDPD10K1D10]:
D10加1,需使用脉冲执行
2)、二进制减法运算指令SUB
3)、二进制乘法运算指令MUL
[MULD0D2D4]:
D0、D2相乘结果存放在D4D5当中(结果可能是32为)
DMUL结果连占4个寄存器
4)、二进制除法指令
[DIVD0D2D4]:
D0、D2相除商存放在D4余数D5当中
DDIV
5)、二进制加1指令INC
[INCPD10](建议采用脉冲执行)D10加1放在D10中
6)、二进制减1指令DEC
7)、逻辑与指令WAND(按位与)
[WANDD10D12D14]
8)、逻辑或指令WOR(按位或)
9)、逻辑异或指令WXOR(按位异或)
10)、求补指令NEG(取反加1)
[NEGPD10]
七、循环和移位指令
这部分指令共有十条
M8012是0.1秒的时钟脉冲
1)循环右移指令ROR
[RORPD0K4]:
把D0里面的数据向右移动四位
2)循环左移指令ROL
3)带进位循环右移指令RCR
[RCRPD0K4]M8022原来是1,把进位标记M8022一起移动
4)带进位循环右移指令RCL
[RCLPD0K4]M8022原来是1,把进位标记M8022一起移动
5)位右移指令SFTR
[SFTRPX000M0K16K4]以M0为首的16个元件往右边移动4位,X0X1X2X3依次替换M12~M15的位置
6)位左移指令SFTL
7)字右移指令WSFR
[WSFRPD0D10K16K4]
D0K4:
表示D0到D3四个源操作数
D10K16:
表示D10~D25十六个目标操作数
D10K16向右移动四位,D0K4填补
8)字左移指令WSFL
[WSFRPD0D10K16K4]
9)先入先出写入指令SFWR
[SFWRPD0D1K10]:
D1、K10表示D1到D10十个寄存器,把D0里面的数依次存到D2到D10里面指针D1自动加1,当D1=9时,进位寄存器M8022接通
10)先入先出读出指令SFRD
[SFRDPD1D20K10]:
D1到D10十个寄存器、D2到D10里面的数据依次读到D20,指针D1自动减1
八、数据处理指令
这部分指令共十条
1)区间复位指令ZRST
[ZRSTM500M599]:
M500到M599置零
2)解码指令DECO
[DECOX0M10K3]:
X0到X2有八种二进制状态转换为十进制后对应M置1(位原件)
3)[DECOD0D1K3]:
D0低三位有效,组合成二进制再装换为十进制,对应D1位置1(字元件)
4)编码指令ENCO
[ENCOM10D10K3]:
K3三位码八个状态,M10为首的八个元件第几个接通,转换成相应的二进制存在D10的低三位(位元件)
[ENCOD0D1K3]:
D0多位置1,则最高位有效,转二进制码存D1中
4)求置ON位的总和指令SUM
[SUMD0D2]:
D0中有多少个1,计数结果保存在D2中
5)置ON位判别指令BON
rw[BOND10M0K15]:
判断D10中的第15位是否等于1,等于1时M0接通(判断正负、奇偶)
6)平均值指令MEAN
[MEANDOD10K3]:
D0D1D2的平均值存放在D10(K最多64)
7)报警器置位指令ANS
[ANST0K10S900]:
当报警条件,K10为1秒钟,T0计时1秒钟后S900接通,再用S900驱动报警指示登(源操作数只能是定时器,目标操作数只能是状态器)
8)报警器复位指令ANR
[ANRP]
M8049、M8048
9)二进制平方根指令SQR
[SQRD10D12]:
把D10进行开方,结果存放在D12中
借位标志M8021
0标记M8020
错误标记M8067
10)浮点数转换指令FLT
[FLTD10D12]:
把D10转换为浮点数,存在D12D13中
九、高速处理指令
这部分的指令共有十条,他们的特点是输入输出信号可以用中断的方式进行处理
1)输入输出刷新指令REF
[REFX0K8]:
X0到X7进行刷新
[REFY000K24]:
Y0到Y7、Y10到Y17、Y20到Y27进行刷新
2)输入滤波时间调整指令REFF(调整X0到X7的滤波时间)
[REFFK1]:
把X0到X7八个输入点滤波时间变为1毫秒(默认10秒)
3)矩阵输入指令MTR
[MTRX20Y20M30K3]:
X20~X27(10的整数,8个位元件),K3接成3行(最大为8,最小为2)8列,对应行输出Y20~Y22,M30~M37、M40~M47、M50~M57相应的开关状态存储
4)高速计数器置位指令HSCS
[DHSCSK100C255Y10]:
高速计数器C255计数到100时,Y10接通。
Y10采用中断输出的,和扫描周期无关
5)高速计数器复位指令HSCR
[DHSCRK150C255Y10]
6)高速计数器区间比较指令HSZ
[DHSZK1000K2000C251Y0]:
计数小于1000,Y0置ON,1000到2000,Y1置ON,大于2000,Y20置ON、(高速计数器:
C235~C255)
7)速度检测指令SPD(检测编码器脉冲个数,计算电机转速)
[D]:
单位时间计到的脉冲个数
n:
编码器转一周所产生的脉冲数
[S2]:
时间
D/n=电机转的圈数
[SPDX0K100D0]:
X0接收脉冲,K100表示100毫秒,D0存放接收脉冲(X0到X5可接收高速脉冲输入)
8)脉冲输出指令:
PLSY
[PLSYK1000D0Y0]:
K1000脉冲的频率是1000,D0脉冲个数,Y0脉冲输出点
(脉冲产生完了M8029自动置1,执行过程中改变频率马上响应,改变个数要断开后再次接通)
9)脉宽调制指令PWM(仅适合晶体管输出PLC)
[PWMD10K50Y0]D10产生脉冲宽度,K50产生脉冲周期,Y0脉冲输出点(只能是Y0、Y1)
10)可调速脉冲输出PLSR
[PLSRK500D0K3600Y0]K500最高频率(输出频率从0变到K500或相反。
0~2000Hz)D0总输出脉冲数K3600加减速时间Y0脉冲输出点(脉冲输出总数:
大于110个)(只能是Y0或Y1)
S1最高频率
S2脉冲个数
S3加减速时间
[D8141,D8140]存放Y0的脉冲总数;[D8143,D8142]存放Y1的脉冲总数;
[D8137,D8136]存放Y0和Y1的的脉冲数之和
十、方便指令共十条
1)状态初始化指令IST
[ISTX20S20S40]:
主要应用于步进指令控制当中
X20用8个连号元件X20到X27
S20S40指在自动操作中实际用到的最小状态号和最大状态号
本指令只能用一次,且放在STL之前编程
M8040禁止转移
M8041转移开始
M8042启动脉冲
M8047STL监控有效
2)查找数据指令SER
[SERD100D0D10K10]:
D100K10指D100到D109,查找的目标(要找的值)存放在D0当中,查找的结果(符合的个数、位置,最小值位置,最大值位置)存放在D10~D14中
3)绝对值式凸轮顺控指令ABSD
[ABSDD300C0M0K4]:
K4四对触点(接通、断开触点)M0到M3,(接通、断开触点)存放在以D300为首的寄存器当中D300到D307,C转动的角度
4)增量式凸轮顺控指令INCD
[INCDD300C0M0K4]:
K4四对触点M0到M3,D300到303控制M0~M3接通的数据增量
5)谐波信号输出指令RAMP
[RAMPD1D2D3K1000]:
D1、D2已知D3变化、K1000扫描周期
[RAMPD1D2D3k1000]:
产生一个数据D3他的变化范围是D1,D2,
k1000:
1000个扫描周期(10ms×1000)
M8026ON保持()、OF重复的命令
6)将扫描周期时间写入D8039数据寄存器,该扫描周期时间稍大于实际值,再令M8039置1,则PLC进入恒扫描周期的运行方式
[MOVK20D8039]
[SETM8039]
7)旋转工作台指令ROTC
[ROTCD200K10K2M0]:
K10:
工作台每转的脉冲数2~32767
K2:
低速旋转区(减速区间)0~32767,工作台在停止之前低速运动的行程(两个脉冲)
D200作为计数寄存器使用,需预先进行清除操作后才开始工作
D201设定要工作机械手的位置号
D202设定待加工工件的位置信号
M0:
连续占用8个位元件
M0--检测开关输出A相信号
M1--检测开关输出B相信号
M2--0点检测信号
M3高速正转
M4低速正转
M5停止
M6低反转
M7高速反转
8)特殊定时器指令STMR
[STMRT10K100M0]:
T10定时器序号(T0~T199),K100延时时间10秒钟,M0四个连号的位元件
9)示教定时器指令TTMR
[TTMRD300K0]:
ON时D300、D301增加,OFF时,D301复位,D300保持,K0:
D300以秒为单位增加,K110秒,K2100秒,接通时间越长,D300的值越大
10)列表数据排列指令SORT
[SORTD100K5K4D200D0]:
D100K5K4--以D100为首的5行4列的列表(20个寄存器)进行排列,结果放在D200到D219的20个寄存器中,D0表示以哪一列为参考
十一、外部I/O设备指令
共十条,主要完成PLC通过一些简单的外部设备进行数据输入和数据显示
1)十键输入指令TKY
[TKYX000D0M10]:
X0到X10十个按键,输入的数据存放在D0当中,用上M10到M20(十一个连号的辅助),16位操作,D0可存放0到9999,32位操作可存放8个9
M10~M19按键只能接通其中一个
M20每一个按键按下去都会接通一下
2)十六键输入指令HKY
[HKYX0Y0D0M0]:
操控16个按键输入Y0,结果存放在D0当中;输入0到9,功能键A到F控制位元件M0到M5(十个数据键,六个功能键)
3)