一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动生成料场皮带流程控制程序的方法与流程

2021-10-09 01:39:00 来源:中国专利 TAG:料场 流程 方法 控制程序 皮带


1.本发明涉及领域为plc控制领域。本发明提出一种自动生成料场皮带流程控制程序的方法。通过该方法实现对料场皮带机流程plc程序的自动化编程。


背景技术:

2.plc有五种标准化编程语言:顺序功能图(sfc)、梯形图(ld)、功能模块图(fbd)三种图形化语言和语句表(il)、结构文本(st)两种文本语言。
3.结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数plc制造商采用的结构化文本编程语言与basic语言、pascal语言或c语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。
4.在料场皮带流程控制系统中,存在大量的皮带机设备,每个皮带机设备之间存在前后顺序管理;皮带机设备之间还存在翻板路由,通过翻板打到不同的位置,选择不同的皮带机,进而走不同的皮带流程路径。这就要控制系统定义大量的变量,每个变量需要设置初始化关系,调试中一个设备的改动往往导致变量之间的定义出现改动,要在多达数万个st语句中修改并且不出错,工作量惊人,而且效率较低。


技术实现要素:

5.为克服上述缺陷,本发明在于设计了一种自动生成料场皮带流程控制程序的方法。
6.为达到上述目的,本发明自动生成料场皮带流程控制程序的方法,包括:
7.1)根据需要生成的st语句来编写编写引擎;
8.2)引擎依次读取每个设备定义规则、设备关系定义规则和流程定义规则,得到翻板与皮带机关系;
9.3)引擎按照预定规则进行处理以生成st文本。
10.其中,所述的设备定义规则包括设备名字和设备的唯一序号组成,
11.其中,所述的设备关系定义规则描述的是翻板对应皮带机的动态关系,
12.其中,所述的流程定义规则用来规定某条流程从头到尾所经过的皮带机和翻板设备,以及他们的顺序。
13.其中,引擎采用java语言编写的。
14.本发明中,引擎通过约定的代码的编写规则和含义来生成的st语句,保证了只要开发一遍引擎程序,后面只要调整规则,就可以不停的生产st语句,修改方便,初始化简单,省时省力。
附图说明
15.图1为系统结构图
16.图2为翻板对应皮带机的动态关系图
17.图3为流程图
具体实施方式
18.结构化文本编程语言中st语句是基于文本的语言,本发明通过另外一种高级语言如java通过预先定义好的规则,来自动生成st语句文本,再把st语句文本导入plc系统,自动完成基于st语句的plc编程。由于都是通过规则来生成的st语句,保证了只要开发一遍java程序,后面只要调整规则,就可以不停的生产st语句,修改方便,初始化简单,省时省力,把以前手动要输入的几万条语句,现在1秒钟内就可以生成了。
19.如图1所示,本发明主要有如下几部分组成:
20.1.st语句自动生成引擎:由高级语言编写的,按照规则来自动生成st语句的模块。高级语言不仅限于java等。引擎可以有多种功能,比如初始化流程,初始化设备,给翻板顺序赋值等。
21.2.设备定义规则:设备定义规则包括设备名字和设备的唯一序号组成,设备和设备序号之间用空格分隔开。比如:201皮带机464;z1皮带机421;z2皮带机460;201翻板463
22.3.设备关系定义规则:主要描述的是翻板对应皮带机的动态关系,翻板就像拨号开关一样,如图2,b31翻板对应两个皮带机,如果拨到上面,在程序里就是1,对应z1皮带机(421);如果拨到下面,在程序里就是2,对应z2皮带机(460)。设备关系定义规则就是规定了这样的一组关系数据。
23.4.流程定义规则:主要用来规定某条流程从头到尾所经过的皮带机和翻板设备,以及他们的顺序。如图3所示,一条流程规则有流程号、起点、终点、流程所经过的设备组成。其中设备就包含设备名和设备序号。
24.5.st语句文本:生成能够直接让plc运行的st语句文本。如下所示,具体格式每个项目和plc都不一样,由各自定义。
25.下面的例子表示对第221号流程中间的464号设备(201皮带机)进行初始化。"mx_flow".flow[221].flow[464]:=1;
[0026]
下面的例子表示当201翻板463在1的状态时候,选择的是z1皮带机421;当201翻板463在2状态的时候,选择的是z2皮带机460.
[0027]
mx_mar_k.device_infeed[421]:=(mx_pos_k.device_pos[463]=1)and mx_mar_k.device_outfeed[463];
[0028]
mx_mar_k.device_infeed[460]:=(mx_pos_k.device_pos[463]=2)and mx_mar_k.device_outfeed[463];
[0029]
只要约定了代码的编写规则和含义,引擎a就可以根据设备定义规则b、设备关系定义规则c、流程定义规则d来自动生成st语句。
[0030]
实施例1
[0031]
一个主要的流程初始化st语句生成如下所示:
[0032]
a)编写引擎a,引擎a需要根据生成的st语句来编写。编写完成后就可以多次循环
使用。引擎a的编写本实施方法采用java语言,但是不限于这个。
[0033]
b)流程初始化plc里默认定义如下:"mx_flow".flow[221].flow[464]:=1;其中方阔号里面的数字是自动根据规则生成的,其他文字都是默认定死的。每个初始化语句都一样。流程初始化的含义是遍历所有流程以及每个流程里面的设备,对每个流程号里的每个设备都进行赋值1的操作。
[0034]
c)那么引擎a去读流程定义规则d,去掉起点和终点后,读取每个设备,由于设备和设备号用空格分开,这样就很容易读取到设备号,再加上前面的流程号,就完成了一次初始化赋值。
[0035]
d)然后循环这个流程的所有设备进行初始化赋值。最后遍历完成所有的流程,完成所有流程设备的初始化赋值。
[0036]
实施例2
[0037]
一个主要的翻板初始化st语句生成如下所示
[0038]
a)编写引擎a,引擎a需要根据生成的st语句来编写。编写完成后就可以多次循环使用。引擎a的编写本实施方法采用java语言,但是不限于这个。
[0039]
b)读取设备关系定义规则c,得到201翻板有两个对应的皮带机关系,z1皮带机和z2皮带机。
[0040]
c)读取设备定义规则b,得到201翻板、z1皮带机、z2皮带机各自的设备序号
[0041]
d)与定义st文本中的可变部分和不可变部分。其中下面方括号中的是可变的,其他为不可变部分。
[0042]
mx_mar_k.device_infeed[421]:=(mx_pos_k.device_pos[463]=1)and mx_mar_k.device_outfeed[463];
[0043]
mx_mar_k.device_infeed[460]:=(mx_pos_k.device_pos[463]=2)and mx_mar_k.device_outfeed[463];
[0044]
e)按照定于进行处理,生成st文本。
[0045]
f)依次对设备关系定义规则进行查询,并循环生成st文本。最后导入到plc里面去。
[0046]
本专利在上面举了2个例子,但是本领域技术人员应当知道其不仅限于这个例子。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜