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

梯形逻辑自动转换到网络中的基于SMT的模型检查器的方法与流程

2023-02-19 09:54:06 来源:中国专利 TAG:

技术特征:
1.一种用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于,包括:基于在所述网络中交换的多个数据包,将所述网络的拓扑定义(10)为一富集的网络拓扑;从与所述网络中的一plc相关的所述数据包中提取(20)一程序,并识别所述plc的多个输入、多个输出、多个变量和一梯形图;将所述多个输入、所述多个输出、所述多个变量和所述梯形图转换(30)成一预定义的形式模型;其中所述预定义的形式模型是一类似电路的基于smt的模型检查器;以及其中所述转换(30)包括:根据所述类似电路的基于smt的模型检查器的数据类型的预定义的模型集合转换所述程序的数据类型的集合;将所述plc的所述多个输入转换为相同类型的所述类似电路的基于smt的模型检查器的多个模型输入;将所述plc的所述多个输出转换为相同类型的所述类似电路的基于smt的模型检查器的多个模型输出锁存器;将所述plc的所述多个变量转换为相同类型的所述类似电路的基于smt的模型检查器的多个模型变量锁存器;将所述梯形图的多个比较器和多个算术运算符转换成所述类似电路的基于smt的模型检查器的多个预定义的模型函数;根据与所述数据类型的预定义的模型集合、所述多个模型输入、所述多个模型输出锁存器、所述多个模型变量锁存器和所述多个预定义的模型函数相关的多个预定义的模型递归过程转换所述梯形图的多个触点和多个线圈,其中所述多个触点是能够阻止或允许连接中的电流流动的多个开关,且所述多个触点的每一个是由一布尔输入或变量来控制,并且其中所述多个线圈是对多个布尔变量的赋值。2.根据权利要求1所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述数据类型的预定义的模型集合包括数据类型1比特布尔、8比特有符号整数、16比特有符号整数、32比特有符号整数、64比特有符号整数、8比特无符号整数、16比特无符号整数、32比特无符号整数、64比特无符号整数、32比特单精度浮点和64比特双精度浮点。3.根据权利要求2所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述程序是一罗克韦尔l5x文件格式,其中所述程序的所述数据类型的集合包括数据类型1比特布尔、8比特有符号整数、16比特有符号整数、32比特有符号整数、64比特有符号整数、8比特无符号整数、16比特无符号整数、32比特无符号整数、64比特无符号整数、32比特单精度浮点、64比特双精度浮点和8比特有符号整数的可变大小数组,以及其中通过移除所述8比特有符号整数的可变大小数组的数据类型,将所述数据类型的预定义的模型集合与所述对应的数据类型的集合相匹配。4.根据权利要求3所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检
查器的方法,其特征在于:所述程序的所述数据类型的集合具有用于所述1比特布尔的标记bool、用于所述8比特有符号整数的标记sint、用于所述16比特有符号整数的标记int、用于所述32比特有符号整数的标记dint、用于所述64比特有符号整数的标记lint、用于所述8比特无符号整数的标记usint、用于所述16比特无符号整数的标记uint、用于所述32比特无符号整数的标记udint、用于所述64比特无符号整数的标记ulint、用于所述32比特单精度浮点的标记real和用于所述64比特双精度浮点的标记lreal,以及其中所述数据类型的预定义的模型集合与所述对应的数据类型的集合相匹配,所述对应的数据类型的集合具有用于所述1比特布尔的标记布尔、用于所述8比特有符号整数的标记int8、用于所述16比特有符号整数的标记int16、用于所述32比特有符号整数的标记int32、用于所述64比特有符号整数的标记int64、用于所述8比特无符号整数的标记usint8、用于所述16比特无符号整数的标记usint16、用于所述32比特无符号整数的标记usint32、用于所述64比特无符号整数的标记usint64、用于所述32比特单精度浮点的标记float32和用于所述64比特双精度浮点的标记float64。5.根据权利要求1-4中的一项所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述多个预定义的模型函数包括函数加法、减法、乘法、除法、模数、取反、绝对值、极限、等于、小于、大于、小于或等于以及大于或等于。6.根据权利要求5所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述程序是一罗克韦尔l5x文件格式,其中所述程序的所述多个比较器和所述多个算术运算符具有用于所述加法的标记add(a,b,c)、用于所述减法的标记sub(a,b,c)、用于所述乘法的标记mul(a,b,c)、用于所述除法的标记div(a,b,c)、用于所述模数的标记mod(a,b,c)、用于所述取反的标记neg(a,b)、用于所述绝对值的标记abs(a,b)、用于所述极限的标记lim(-10,a,10)、用于所述等于的标记equ(a,b)、用于所述小于的标记les(a,b)、用于所述大于的标记grt(a,b)、用于所述小于或等于的标记leq(a,b)和用于所述大于或等于的标记geq(a,b),以及其中在用于所述加法的构造c=ctx.mk_add(a,b)、用于所述减法的构造c=ctx.mk_sub(a,b)、用于所述乘法的构造c=ctx.mk_mul(a,b)、用于所述除法的构造c=ctx.mk_div(a,b)、用于所述模数的构造c=ctx.mk_mod(a,b)、用于所述取反的构造b=ctx.mk_minus(a)、用于所述绝对值的构造b=ctx.mk_ite(ctx.mk_lt(a,ctx.mknumber(“0”,it)),ctx.mk_minus(a),a)、用于所述极限的构造ctx.mk_and(ctx.mk_geq(a,ctx.mknumber(
“‑
10”,it)),ctx.mk_leq(a,ctx.mknumber(“10”,it)))、用于所述等于的构造ctx.mk_eq(a,b)、用于所述小于的构造ctx.mk_lt(a,b)、用于所述大于的构造ctx.mk_gt(a,b)、用于所述小于或等于的构造ctx.mk_leq(a,b)和用于所述大于或等于的构造ctx.mk_geq(a,b)之后,所述多个预定义的模型函数与所述对应的多个比较器和多个算术运算符相匹配。7.根据权利要求1-6中的一项所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述多个预定义的模型递归过程包括允许转换多个触点的一第一触点转换过程和一第二触点转换过程以及允许转换多个线圈的一第一线圈转换过程、一第二线圈转换过程和一第三线圈转换过程,其中所述第一触点转换过程返回所述模型输入或当前存储的所述模型输出锁存器或模型变量锁存器,并且所述第二触点转换过程返回所述模型输入的取反或当前存储的所述
模型输出锁存器或模型变量锁存器的取反,以及其中所述第一线圈转换过程分配从左连接接收到的值,如果所述左连接为真,则所述第二线圈转换过程将锁存值设置为真,反之保留先前的值,并且如果所述左连接为假,则所述第三线圈转换过程将锁存值设置为假,反之保留先前的值。8.根据权利要求7所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述程序是一罗克韦尔l5x文件格式,其中所述程序的所述多个触点包括:用于检查所述开关是否被关闭的标记xic(x),仅当左边的值为1且x为1时才传播1;以及用于检查所述开关是否开启的标记xio(x),仅当左边的值为1且x为0时才传播1,其中所述第一触点转换过程与所述标记xic(x)在以下构造中匹配:过程translatexic(元素)如果元素“未输入”:元素=var2current[元素]返回元素,其中所述第二触点转换过程与所述标记xio(x)在以下构造中匹配:过程translatexio(元素)如果元素“未输入”:元素=var2current[元素]返回ctx.mk_not(元素),以及其中所述程序的所述多个线圈包括:能量输出的标记ote(y),如果左边的值为1,则将1分配给y,反之为0;锁存输出的标记otl(y),如果左边的值为1,则将1分配给y,反之保持不变;以及解锁输出的标记otu(y),如果左边的值为1,则将0分配给y,反之保持不变,其中所述第一线圈转换过程与所述标记ote(y)在以下构造中匹配:过程translateote(元素)var2current[元素]=element2precondition[元素]返回var2current[元素]其中所述第二线圈转换过程与所述标记otl(y)在以下构造中匹配:过程translateotl(元素)var2current[元素]=ctx.mk_or(var2current[元素],element2precondition[元素])返回var2current[元素],以及其中所述第三线圈转换过程与所述标记otu(y)在以下构造中匹配:过程translateotu(元素)var2current[元素]=ctx.mk_and(ctx.mk_not(element2precondition[元素]),var2current[元素])返回var2current[元素]。9.根据权利要求1-8中的一项所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述类似电路的基于smt的模型检查器定义了具有
一全局时钟的一电路,所述全局时钟将执行划分为多个离散的时间步长。10.根据权利要求9所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述类似电路的基于smt的模型检查器包括:多个模型输入,作为任何受支持类型的多个基本信号,在每个时间步长得到一新值;多个模型输出锁存器和多个模型变量锁存器,作为能够保持一受支持类型的值的多个基本存储元件;多个布尔闸;多个预定义的模型函数,作为多个比较器和多个算术运算符;多个常数,作为任何受支持类型的多个信号值,在所述多个时间步长的每一个上不会改变值。11.根据权利要求10所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述多个模型输出锁存器和所述多个模型变量锁存器存储一初始值和它们持有的下一状态函数,当所述电路在第一时间步长被启动时。12.根据权利要求11所述的用于将梯形逻辑自动转换到一网络中的一基于smt的模型检查器的方法,其特征在于:所述多个模型输出锁存器和所述多个模型变量锁存器在每个随后的时间步长由所述下一状态函数表示的值更新为一新值。

技术总结
本发明涉及一种用于将梯形逻辑自动转换到一网络中的一基于SMT的模型检查器的方法,其包括:基于在所述网络中交换的多个数据包,将所述网络的拓扑定义(10)为一富集的网络拓扑;从与所述网络中的一PLC相关的所述数据包中提取(20)一程序,并识别所述PLC的多个输入、多个输出、多个变量和一梯形图;将所述多个输入、所述多个输出、所述多个变量和所述梯形图转换(30)成一预定义的形式模型,其中所述预定义的形式模型是一类似电路的基于SMT的模型检查器。查器。查器。


技术研发人员:罗伯特
受保护的技术使用者:诺佐米网络公司
技术研发日:2022.08.12
技术公布日:2023/2/17
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献