PLC学习笔记

PLC编程之SFC

1.   基本概念

a.    扫描周期

PLC程序是按顺序执行的。顺序执行完整个程序的时间为一个扫描周期。

b.   块

如图所示例子:

块可以理解为程序段,模块化让程序显得更清晰。块的执行顺序按前面的序号顺序来。也就是在一个扫描周期里,写在前面的先执行,写在后面的后执行。

块类型有梯形图块和SFC块两种。

c.    步

SFC程序使用S来表示状态激活与否。这个状态可以理解为状态机中的状态。这每个状态就是一步。

S0~S9用来初始状态用。S10之后,一般用。

在一步里,只需要写上当前步在指定条件下的输出就可以了。在输出用的是OUT而不是SET,在这步在激活态转移到非激活态时,输出会关闭。但是只执行这一次,即是脉冲型的。之后扫描执行时非激活状态是跳过执行的。直到变成激活态时,才被扫描执行。也就是说在不同状态[不可能同时处在激活态]里用OUT同一个线圈,是不违反双线圈规则的。

d.   转移

和状态机的转移是类似的。只是只需要写上转移条件。即满足什么条件,当前步转为非激活态,下一步变为激活态,不需要在梯形图里写SET S?或RST S?之类的指令。这个是隐性的,在SFC图里指定的。

e.    选择分支和并行分支

选择分支在每个分支开头都有转移条件,并行分支只有一个转移条件。

选择分支的每个转移条件通常是不同的,也就是说,每次经过这个“分叉口”时,只选择“一条路走”。

也可以有两个或多个转移条件相同,同时“走多条路”,但这样会使程序变得繁杂难懂,容易出错。

并行分支只有一个转移条件,当满足时会“同时进行”。称之并行就是这个意思。

选择分支和并行分支的会合和分叉处类似,如下图:

需要注意的是,并行分支会合点只有一个转移条件,是所有分支都进行到最后状态时,条件满足才转移。先到的,即使条件满足也不会转移。比如在装配过程中,几个零件在不同支路同时加工,最后在一起组装,当然需要所有零件都加工完成才能组装。

f.      定时器

定时器的用法和梯形图里是基本一样的。一个定时器在同一时刻只能有一个状态在使用。即在相邻步和可能同时处在激活态的步[比如并行分支里不同分支里的步]是不能使用一个定时器的。这也是说,相邻步会在一个扫描周期里同时处于激活态。有些线圈输出绝对不能同时为输出状态时,需要另加条件限制。

g.    计数器

计数器是脉冲型的。是在条件从不成立到成立转变时才计数。从成立到不成立时计数值不变。需要清零请使用指令RST Cn

 

2.   进阶篇

a.    IST方便指令

LD M8000

IST M0 S20 S40

M0是IST指令的输入,可以是Mx,Xx,Sx

一但指定,比如M0,那么M0,M1――M7这八个就不能作其它用途。它们的意义已经指定:

M0 --- M4 每次只能接通一个,且必须接通一个。M5为回原点启动,M6为自动程序启动,M7为停止。

接通M0,代表手动程序,这是程序会跳到S0去,你在S0下面做手动的顺控程序即可;

接通M1,代表回原点程序,这时程序会跳到S1去,你在S1下面做回原点程序即可;

接通M2M3 M4时,程序会跳到S2去,在S2下面你要做自动程序。

M2接通时,程序跳到S2中,代表单步,即当顺控转移条件达到时,并不转移,必须在顺控程序到后后,再按下M6,才跳到下一步顺控程序。因每一步都需要按一下,所以称为单步。

M3接通时,程序跳到S2去,按下M6后,运行一个单周,再按下M6后,再运行一个单周。

M4接通时,程序跳到S2去,按下M6后,程序一直循环的运行下去。

M7接通时,程序停止。

IST指令不仅指定了输入的含义,也定义了部分S的意义。S0是手动,S1是复位[原点回归],S2是自动。

S10~S19只能是复位用。S20开始才是自动用的。

仅靠前面所说的,还不能让程序正确运行。还需要在程序中使用几个特殊辅助继电器。

M8041 转移开始

M8042 启动脉冲

M8043 原点回归结束

M8044 原点条件

在S1原点回归程序里若没有让M8043置1,那么跳转到S2自动态,状态是不转移的。但如果是先跳到S1手动,再跳到S1自动,则又以了。这是一个问题在使用中需要注意。

在自动态S2转移条件里,需要加一个M8041进去,否则单循环是停不下来的,就和无限循环一样了。

实际在单循环中完成一个循环会把M8041清零。按下M6会使M8041置1。

 b。位置控制指令

1、FNC156(ZRN)原点回归

在执行FNC158(DRVI)的相对位置控制和FNC159(DRVA)的绝对位置控制时,PLC利用自身产生的正反转脉冲进行当前值的增减,并将其保存至当前值寄存器(Y000:[D8141,D8140],Y001:[D8143,D8142])。

由此,机械的位置始终保持着,因此上电时和初始运行时,必须执行原点回归,将机械动作的原点位置数据事先写入。

[D]ZRN S1 S2 S3 D

S1.: 原点回归速度:指定原点回归开始时的速度。对于16位指令范围为10~32767(Hz);对于32位指令范围为10~100000(Hz)。

S2.: 爬行速度:指定近点信号变为ON后的低速部分的速度。范围为10~32767(Hz)。

S3.: 近点信号:指定近点信号输入。(接点输入),注意,当指定输入继电器(X)以外的元件时,由于会受到PLC扫描周期的,会引起原点位置的偏移增大。

D. : 脉冲输出起始地址,只能指定Y000或Y001。

原点回归动作顺序如下:

⑴ 驱动指令后,以原点回归速度S1. 开始移动。当在原点回归过程中,指令驱动接点变为OFF状态时,将不减速而停止,且在脉冲输出中监控(Y000:M8147,Y001:M8148)处于ON时,将不接受指令的再次驱动。

⑵当近点信号(DOG)由OFF变为ON时,减速至爬行速度S2.。

⑶当近点信号(DOG)由ON变为OFF时,在停止脉冲输出的同时,向当前值寄存器(Y000:[D8141,D8140],Y001:[D8143,D8142])中写入0。

另外,M8140ON 时,同时输出清零信号。

随后,当执行完成标志(M8029)动作的同时,脉冲输出监控(Y000:M8147,Y001:M8148)变为OFF。

在使用原点回归指令时尚须注意:

·原点回归动作应从近点信号的前端开始进行。

·原点回归过程中,当前值寄存器(Y000:[D8141,D8140],Y001:[D8143,D8142])的数值将向减少方向动作。

·编程时注意指令的驱动时间。

2. FNC158(DRVI)相对位置控制

这一指令是以相对驱动方式执行单速位置控制的指令。

[D]DRVI S1 S2 D1 D2

S1. : 输出脉冲数(相对指定)

对于16位指令范围为-32767~32767;

对于32位指令范围为-999999~999999。

S2. : 输出脉冲频率

对于16位指令范围为1~32767(Hz),-1~32768(Hz);

对于32位指令范围为1~1000000(Hz),-1~-1000000(Hz)。

D1.: 脉冲输出起始地址,只能指定Y000或Y001。

D2.: 旋转方向信号输出起始地址,

指令在执行过程中,即使改变操作数内容,也无法在当前运行中表现出来。只在下一次指令执行时才有效。

若在指令执行过程中,指令驱动的结点变为OFF时,将减速停止。此时执行完成标志M8029不动作。

指令驱动的结点变为OFF后,在脉冲输出中标志(Y000[M8147]Y001[M8148])处于ON时,将不接受指令的再次驱动。

实际能够输出的输出脉冲频率的最低频率数,根据下式决定:

输出脉冲最低频率 = SQRT(最高速度[D8147,D8146]Hz / (2 * (加减速时间[D8148]ms / 1000) ) )

脉冲输出规格

   使用定位控制指令的PLC必须是晶体管输出型,用Y000,Y001作为高速响应输出,并满足下面要求:

使用电压范围:DC 5~24V;使用电流范围:10~100 mA

输出频率:100kHz 以下。

与定位控制指令有关的元件地址

 

元件地址

数据长度

初始值

内容

D8140

 

低位

32位

0

Y000输出的当前值数据寄存器。用PLSV、DRVI、DRVA指令时,对应旋转方向增减当前值。

注意,若同时使用PLSY,PLSR指令,当前值的数值为脉冲输出数的累加值。

D8141

高位

D8142

 

低位

32位

0

Y000输出的当前值数据寄存器。用PLSV、DRVI、DRVA指令时,对应旋转方向增减当前值。

注意,若同时使用PLSY,PLSR指令,当前值的数值为脉冲输出数的累加值。

D8143

高位

D8145

 

16位

0

执行ZRN、DRVI、DRVA指令时的基底速度。设定范围为:最高速度(D8147,D8146)的1/10以下,若选用超出时,自动取最高速的1/10运行。

D8146

低位

32位

10000

执行ZRN、DRVI、DRVA指令时的最高速度。

设定范围:10~10000Hz

D8147

高位

D8148

 

16位

100

执行ZRN、DRVI、DRVA指令时,从基底速度到最高速度的加减速时间。

 

元件地址

属性

内容

M8145

可驱动

Y000 脉冲输出停止指令(立即停止)

M8146

可驱动

Y001 脉冲输出停止指令(立即停止)

M8147

读取专用标志

Y000 脉冲输出中监控(BUSY/READY)

M8148

读取专用标志

Y001 脉冲输出中监控(BUSY/READY)


  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值