开篇:润墨网以专业的文秘视角,为您筛选了一篇基于PLC表指令实现随机呼叫生产线的控制范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:在成套生产线控制中,有许多控制任务均为呼叫控制,这类控制任务多属随机控制,其难点在于呼叫信号是实时无规律的出现。本文以工程项目为案例,详细介绍了如何使用西门子S7-200 plc的表指令,设计随机呼叫控制软件的方法和步骤。
关键词:随机;表指令;表格式;先入先出
中图分类号:TP23文献标识码:A
1概述
在成套生产线控制中,有许多控制任务均为随机问题,例如,珠海南工业区数控教学模型机厂成套生产线的设计,就是典型的随机呼叫控制系统设计,该生产线控制要求如下:
1.系统上电时,料车处于起始位置接受工站的呼叫信号。
2.各个工站的呼叫信号随机出现,料车在诸多的随机呼叫信号中,能寻找出最先呼叫的工站,并自动移到该呼叫的工站停。当该工站装配完毕,发出完毕信号后,料车能自动判断在呼叫信号中次先呼叫的工站,并自动移动到次先呼叫的工站,如此类推,最后自动移动到最晚呼叫的工站。
3.每个工站操作台上安装呼叫按钮和工作完毕按钮,按下呼叫按钮,料车能记忆呼叫信号,并移动到本站停,按下工作完毕按钮,料车将自动移向记忆的下一工站。
由于随机呼叫控制的难点在于呼叫信号是实时无规律的出现。采用PLC控制时,其难点在于软件的设计,要将无规律的呼叫信号,通过软件处理成有规律的呼叫信号,才能准确无误的实现对随机呼叫生产过程的控制。作者使用西门子S7-200 PLC的表指令,成功完成了该生产线的随机呼叫控制设计。
2表格指令
西门子S7-200 PLC表格操作指令主要有三条:填表(ATT)指令、先入先出(FIFO)指令、后入先出(LIFO)指令,见LAD指令图1、图2、图3、所示。
2.1填表指令
见图1,向表格(TBL)中加入字值(DATA)。
EN端:置数脉冲(上沿脉冲);DATA端:要填入的数据所在的字号;TBL端:表格的第1个字地址;ENO端:错误条件设置。
2.1.1表格的格式
2.1.2填表指令使用要点
2.1.2.1填入表中的数据排列顺序:1234 4321
2.1.2.2数据填入的行号= 起步计数值+1
2.1.2.3对表格的第1个字地址赋表格数据行长度值, 对表格的第2个字地址赋起步计数值。
2.1.2.4源数据装入到源数据字中的方法:数据块中填写或使用第1次脉冲和MOV指令传送。
2.2先入先出指令
见图2,每次执行指令时,表格中的行计数减1。
EN端:使能(上沿脉冲); TBL端:表格中的首地址; DATA端:要移出的数据存放的内存位置(字型);ENO端:错误条件设置。
设置ENO = 0的错误条件;SM1.5 空表;如果从空表中移除,SM1.5被设为1。必须最先设定最大表行数,否则表格无效。所有的表格读取和表格写入指令必须用脉冲上沿指令。
2.3后入先出指令
见图3,将表格中的最新(或最后)一个数据移至输出内存地址。
EN端:使能(上沿脉冲); TBL端:表格中的首地址; DATA端:要移出的数据存放的内存位置(字型);ENO端:错误条件设置。
设置ENO = 0的错误条件;SM1.5 空表;如果从空表中移除,SM1.5被设为1。必须最先设定最大表行数,否则表格无效。所有的表格读取和表格写入指令必须用脉冲上沿指令。
3控制设计
3.1硬件设计方案
生产线由八段组成,八段连接成环形安装,每段六个工位。每段设计如下
每工位设置一个无触点开关,提供工位的位置信号。每工位设置工位按钮盒,布置呼叫和工作完毕按钮共两个,指示灯若干个。
使用1台CPU226作为主站,7台CPU224作从站,通过Wincc组态,连成网络如下图所示。
3.2随机呼叫软件设计
清零程序:
因起步计数值为零,故从起步计数开始包括3行数据行再多几行一起清零,并对FIFO指令的取出数据存放字VW20清零。
LD SM0.1
FILL +0, VW12, 7//起步计数 VW12
MOVW +0, VW20//取出的数VW20
原位程序:
LD I0.6//原位开关
OSM0.1
OM2.0
=M2.0 //车在原位的信号
送工站号到源数据字中的程序:
LD M2.0
LPS
AI0.0//站1呼叫按钮
EU
MOVW +1, VW100
LRD
AI0.2 //站2呼叫按钮
EU
MOVW +2, VW100
LPP
AI0.4 //站3呼叫按钮
EU
MOVW +3, VW100 //工站的呼叫信号发出将工站号送入源数据字VW100中存放
填表程序:
LD I0.0//站1呼叫按钮
EU
LD I0.2//站2呼叫按钮
EU
OLD
LD I0.4//站3呼叫按钮
EU
OLD
ATTVW100, VW10//呼叫信号发出将源数据存放字中的工站号填进表中
工作完毕程序:
LD SM0.0
LPS
AI1.1//站1位置开关
AI0.1//站1完毕按钮
EU
=M3.3//站1完信号
LRD
AI1.2//站2位置开关
AI0.3 //站2完毕按钮
EU
=M3.4//站2完信号
LPP
AI1.3//站3位置开关
AI0.5//站3完毕按钮
EU
=M3.5//站3完信号
站1取数程序:站1呼叫第1次取数和站1完毕再次取数的程序:
LD I0.0//站1呼叫按钮
EU
OM1.3
AN M3.3//站1完信号
=M1.3//站1完取数
TONT37, +20//站1呼叫取数
站2取数程序: 站2呼叫第1次取数和站2完毕再次取数的程序:
LD I0.2//站2呼叫按钮
EU
OM1.4
AN M3.4//站2完信号
=M1.4 //站2完取数
TONT38, +20 //站2呼叫取数
站3取数程序: 站3呼叫第1次取数和站3完毕再次取数
LD I0.4 //站3呼叫按钮
EU
OM1.5//站3完取数
AN M3.5//站3完信号
=M1.5
TONT39, +20//站3呼叫取数
取数程序: 按钮呼叫时取1次数,工作完毕再取1次数。
LD T37//站1呼叫取数
OT38//站2呼叫取数
OT39//站3呼叫取数
EU
LD M1.3//站1完取数
ED
LD M1.4//站2完取数
ED
OLD
LD M1.5//站3完取数
ED
OLD
OLD
FIFO VW10, VW20//表首址VW10,取出的数VW20。
取出的数与工位号1比较,发出电机启动信号的程序:
LDW= VW20, +1//取出的数VW20
EU
M4.1
AN I1.1//站1位置开关
=M4.1 //站1起动电机
取出的数与工位号2比较,发出电机启动信号的程序:
LDW= VW20, +2 //取出的数VW20
EU
OM4.2
AN I1.2//站2位置开关
=M4.2//站2起动电机
取出的数与工位号3比较,发出电机启动信号的程序:
LDW= VW20, +3//取出的数VW20
EU
OM4.3
AN I1.3//站3位置开关
=M4.3//站3起动电机
电机正转控制程序:
LD M4.1//站1起动电机
OM4.2//站2起动电机
AN Q0.7//电机反转
=Q0.0//电机正转
电机反转控制程序:
LD M4.3//站3起动电机
OI1.5//手动调整2
AN Q0.0//电机正转
=Q0.7//电机反转
4结束语
对于随即呼叫生产线的控制,通常难点就在于信号无规律的出现,当使用可编程控制器控制时,用常规指令编程,不仅难度大、程序长,而且调试时间长。西门子S7-200 PLC提供的填表指令,实质就是对堆栈进行的操作,数据可进行先入后出或后入先出的操作。在随即呼叫生产线的控制中,使用该指令将无规律的呼叫信号,整理成有记忆有规律的信号,经生产线投入使用以来,证明运行完全可靠,准确的实施了预期的控制任务,满足了生产要求。