本发明专利技术涉及一种控制算法跨平台转换系统,用于将源平台的控制算法转换为在目标平台执行的算法,包括:解析器,用于将源控制算法转换为扩展语法分析树,所述扩展语法分析树是由扩展语法结点组成的树型数据结构,每一所述扩展语法结点对应源控制算法中的一条语法规则,每一所述扩展语法结点包括属性列表、格式规则列表、动作序列,所述格式规则列表包括目标文件的格式规则;转换器,用于根据格式规则列表中的格式规则将所述扩展语法分析树转换为目标文件。本发明专利技术还提供了一种对应的方法。本发明专利技术通过在扩展语法分析树中增加属性列表、规则列表和动作序列,实现了控制算法的自动的支持多目标文件生成的跨平台转换。
【技术实现步骤摘要】
本专利技术涉及控制算法仿真领域,更具体地说,涉及一种。
技术介绍
核电站在运行时,都需通过控制系统进行控制。上述控制系统中包含有各种控制逻辑,这些控制逻辑通常都是采用IEC61131-3国际标准中规定的算法描述语言或厂商自行定义的描述语言进行描述。下文仅以IEC61131-3标准语言为例进行说明。IEC61131-3国际标准为工业自动化控制系统的软件设计提供了标准化编程语言。 该标准改善了工业控制系统编程软件的开发效率,使各厂家的自动化控制系统的程序之间的移植成为可能,降低了用户的使用难度和工程成本。IEC61131-3控制算法都封装在相应的POU (Program Organization Unit程序组织单元)中。POU算法包括函数、功能块和程序三种类型。如图I所示,每个POU包含一个变量声明部分和一个逻辑代码主体,其中逻辑代码米用IEC编程语目的任意一种算法描述语目编写。在仿真过程中,需要将POU控制逻辑从其平台上(源平台)转换到自己的平台上 (目标平台)。通过图I可见,POU控制逻辑以不同的算法描述语言封装,而且这些算法描述语言语法相差很大;其次一个POU控制逻辑可能需要翻译成目标平台上的一个或者多个文件,而且这些文件的格式各不相同。最后,目标平台可能各不相同。这些因素给自动转换带来了一个巨大难题。此外,由于许多仿真平台并不直接支持IEC61131-3算法的仿真,从而使得人们在进行电站仿真的时候需要人工解读这些语言,并将这些语言描述的算法转换成仿真平台上的算法。现在一般算法的移植过程都是采用人工的方式。这种方法存在两个方面的问题 一般情况下,需要生成多种文件,各种文件的格式各不相同,从而使得整个移植过程十分复杂而且容易出错;此外,由于DCS持续升级,其控制算法也处理不断更新中。这样会使得以前的转换算法无法重复使用,整个转换工作又需要重新进行,浪费了大量的人力和时间。
技术实现思路
本专利技术要解决的技术问题在于,针对现有控制算法移植依赖人工的缺陷,提供一种。本专利技术解决其技术问题所采用的技术方案是提供一种控制算法跨平台转换系统,用于将源平台的控制算法转换为在目标平台执行的算法,包括解析器,用于将源控制算法转换为扩展语法分析树,所述扩展语法分析树包括扩展语法结点,每一所述扩展语法结点对应源控制算法中的一条语法规则,每一所述扩展语法结点包括属性列表、格式规则列表、动作序列,所述格式规则列表包括目标文件的格式规则;转换器,用于根据格式规则列表中的格式规则将所述扩展语法分析树转换为目标文件。在本专利技术所述的控制算法跨平台转换系统中,所述解析器包括词法分析器,用于将输入的控制算法文本解析成记号流,每一词法分析器与一种算法描述语目对应;语法分析器,用于解析词法分析器输出的记号流并创建扩展语法分析树,同时为扩展语法分析树的扩展语法结点生成属性列表、格式规则列表、动作序列,每一语法分析器与一种算法描述语言对应。在本专利技术所述的控制算法跨平台转换系统中,所述属性列表包括一组属性,每一属性包括属性名和属性值,其中属性值为字符串、对象或列表;所述格式规则列表中的格式规则包括格式名和格式值,其中格式名与语法规则名相关联,格式值为一个包含有占位符的字符串,占位符使用转义的方式引用属性名或属性列表。本专利技术还提供一种控制算法跨平台转换方法,用于将源平台的控制算法转换为在目标平台执行的算法,包括以下步骤(a)将源控制算法转换为扩展语法分析树,所述扩展语法分析树包括扩展语法结点,每一所述扩展语法结点对应源控制算法中的一条语法规则,每一所述扩展语法结点包括属性列表、格式规则列表、动作序列,所述格式规则列表包括目标文件的格式规则;(b)根据格式规则列表中的格式规则将所述扩展语法分析树转换为目标文件。5、根据权利要求4所述的控制算法跨平台转换方法,其特征在于,所述步骤(a)包括(al)通过词法分析器将输入的控制算法文本解析成记号流,每一词法分析器与一种算法描述语目对应;(a2)通过语法分析器解析词法分析器输出的记号流并创建扩展语法分析树,同时为扩展语法分析树的扩展语法结点生成属性列表、格式规则列表、动作序列,每一语法分析器与一种算法描述语言对应。在本专利技术所述的控制算法跨平台转换方法中,所述步骤(a2)中在创建格式规则列表时包括根据语法规则名查找格式文本文件中所有的与该语法规则相应的格式规则, 并将其加入格式规则列表中,所述格式文本文件与目标平台算法对应。在本专利技术所述的控制算法跨平台转换方法中,所述属性列表包括一组属性,每一属性包括属性名和属性值,其中属性值为字符串、对象或列表。在本专利技术所述的控制算法跨平台转换方法中,所述格式规则列表中的格式规则包括格式名和格式值,其中格式名与语法规则名相关联,格式值为一个包含有占位符的字符串,占位符使用转义的方式引用属性名或属性列表。在本专利技术所述的控制算法跨平台转换方法中,所述占位符包括以下四种定义形式转义符-属性名X :取属性名为属性名X的属性值;转义符-属性名X:取属性名为属性名X的第i个属性的属性值;转义符_属性名X.字段名取属性名为属性名X的第i个属性的属性值中特定字段的字段值;转义符_属性名X_格式名当属性值为扩展语法节点时取属性名为属性名X的第i个属性的属性值中特定格式规则的格式值,并指定子语法规则对象和相应的格式名,返回该对象中与此格式对应的转换值。在本专利技术所述的控制算法跨平台转换方法中,所述步骤(b)包括(bl)分析格式规则中的内容并将其存储在列表L中,设置结果字符串R为空;(b2)如果列表L为空,则进入(b5),否则读列表L中的第一个元素I。(b3)按读取的内容进行处理如果元素I为格式文本,则直接将文本内容添加到结果字符串R的末尾;如果元素I为条件循环控制标签,则根据条件内容获取属性值并添加到结果字符串R的末尾。或根据循环条件循环获取属性值并添加到结果字符串R的末尾; 如果元素I为占位符,且占位符的格式为转义符-属性名X,则直接读取属性列表中的属性值并将其添加到结果字符串R的末尾;如果元素I为占位符,且占位符的格式为转义符-属性名X,则直接读取属性列表中的属性值X,并将X中第i个属性值添加到R的末尾;如果元素I为占位符,且占位符的格式为转义符_属性名X.字段名,则直接读取属性列表中的属性值X,并将X中第i个属性值的字段值添加到结果字符串R的末尾;如果元素I为占位符,且占位符的格式为转义符_属性名X_格式名M,则直接读取属性列表中的属性值X,并读取X中第i个属性值K,K为扩展语法结点结点,递归调用本步骤,并将输入的根结点设置成K,而格式规则设置成M,将递归调用的结果添加到结果字符串R的末尾;(b4)从列表中删除第一个元素I,返回(b2);(b5)返回结果字符串R。本专利技术的,通过扩展语法分析树中增加属性列表和规则列表,实现了控制算法的自动的跨平台转换。本专利技术能够自动生成目标平台相关文件,避免人工转换的麻烦。并且,本专利技术可通过输入不同的格式规则生成不同的文件格式, 自动生成多种文件格式,自动完成算法模块的升级。附图说明图I是现有POU文档的结构示意图。图2是本专利技术控制算法跨平台转换系统实施例的示意图。图3是扩展语法分析树中扩展语法结点的示意图。图4是词法分析过程示意图。图5是图4中记号流处本文档来自技高网...
【技术保护点】
一种控制算法跨平台转换系统,用于将源平台的控制算法转换为在目标平台执行的算法,其特征在于,包括:解析器,用于将源控制算法转换为扩展语法分析树,所述扩展语法分析树包括扩展语法结点,每一所述扩展语法结点对应源控制算法中的一条语法规则,每一所述扩展语法结点包括属性列表、格式规则列表、动作序列,所述格式规则列表包括目标文件的格式规则;转换器,用于根据格式规则列表中的格式规则将所述扩展语法分析树转换为目标文件。
【技术特征摘要】
【专利技术属性】
技术研发人员:钟俊,章旋,曹建亭,
申请(专利权)人:中广核北京仿真技术有限公司,中国广东核电集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。