发明名称 用IEC61131-3功能块实现IEC61499柔性功能块的方法
摘要 本发明公开了一种用IEC61131-3功能块实现IEC61499柔性功能块的方法,属于计算机控制技术领域。其特征是利用IEC61131-3标准的功能块完全可重用、支持变量分配、适合于完成复杂控制策略的特点,组态生成符合功能要求的IEC61499标准的柔性功能块,并下载到可编程控制系统的设备中,通过对IEC61131-3功能块扫描执行实现柔性块定义的功能。本发明的有益效果是通过柔性块技术解决了IEC61499功能块组态无法完成特定运算的问题,扩展了IEC61499功能块的功能,降低了分布控制系统的编程应用难度,对于推动基于IEC61499功能块的分布控制系统的应用具有现实意义。
申请公布号 CN101515167A 申请公布日期 2009.08.26
申请号 CN200910301364.2 申请日期 2009.04.07
申请人 大连理工大学 发明人 仲崇权;杨素英;张立勇;刘洁
分类号 G05B19/05(2006.01)I 主分类号 G05B19/05(2006.01)I
代理机构 大连理工大学专利中心 代理人 梅洪玉
主权项 1.用IEC61131-3功能块实现IEC61499柔性功能块的方法,其特征在于:(一)定义柔性块接口:柔性块接口信息参数包括输入输出参数个数、参数名称、参数类型和参数说明,采用结构体方式将其添加到接口参数列表中保存;(二)柔性块整体结构设计:包括两部分内容:算法存储结构和功能结构;算法存储在设备的域对象中,每个算法对应一个域对象,由域对象索引号标识;柔性块域对象中包含指向该链表的头指针,并指定参数记录当前使用该柔性块算法的柔性块个数;同时,为每个算法创建一个文件来存储其数据,将对应域对象的索引号作为文件名,域对象中保存文件指针;所有柔性块域对象使用双向链表串联起来,并使用全局指针指向该链表的头结点进行管理;柔性块功能结构:依据IEC61499标准封装柔性块的输入输出参数,在柔性块内部参数中设置一个输入输出参数类型代码串及输入输出参数个数,当柔性块实例化时,从相应的柔性块算法数据中获取这些参数值,并根据这些值动态申请两块相应大小的内存存放输入和输出数据,分别由柔性块参数中的输入参数指针和输出参数指针指向;柔性块的实例标识按顺序分配,根据实例标识计算出域对象,获得柔性块处理算法和数据;(三)柔性块算法设计:采用IEC61131-3功能块实现,包括变量通信模型、寻址方式以及算法报文结构;(1)变量通信模型:柔性块采用参数传递和全局变量的方式实现变量通信,根据变量的类型,定义8个全局变量变量域和2个辅助变量域,如表1所示:表1柔性块变量存储域<img file="A2009103013640003C1.GIF" wi="1526" he="1744" />(2)寻址方式:范围前缀为上述的10个变量域名;长度前缀表示变量所占内存字节数,包括W和D;位变量采用格式后增加“.位地址”来实现;立即寻址、直接寻址和利用指针的间接寻址三种变量寻址方式通过操作数结构体中的元素进行区分;(3)算法报文结构:将IEC61131-3功能块编辑的柔性块功能算法编译成一组伪代码,下载至现场设备中,设备创建柔性块域对象对其进行管理;柔性块域下载的报文格式如表3所示:表3柔性块域下载的报文格式(四)柔性块编译,分为以下几个步骤:(1)IEC61131-3功能块操作数的合法性检查;(2)分配临时变量域,用来保存能流操作数及自定义的临时变量;(3)柔性块接口参数编译:接口参数保存在IEC61499柔性块应用实例的工程文件数据中,编译时将用户使用的输入输出参数名编译为操作数变量域和操作数地址;(4)IEC61131-3功能块执行顺序编译;(5)柔性块执行报文:在程序中创建一个类保存编译后的功能块信息,程序为每个功能块创建一个这样的类,根据各功能块编译的结果,填写类中各属性的内容,并以链表的形式管理该类对象,形成柔性块执行报文;(6)柔性块XML描述:在工程XML文件中保存了一个自动生成的柔性块描述节点,编译时根据柔性块输入输出个数拷贝柔性块节点,并根据柔性块接口定义柔性块XML描述段中添加输入输出参数名称、参数类型和参数说明信息,生成柔性块XML描述;(7)插入柔性块至IEC61499工程树;(五)柔性块的执行:柔性块的执行是通过扫描并解析该柔性块算法中的各个IEC61131-3指令,并调用相应的功能块算法及操作数来实现的。
地址 116085辽宁省大连市甘井子区凌工路2号