CN111474894B - 可变目标plc仿真调试方法、存储介质及功能模块 - Google Patents

可变目标plc仿真调试方法、存储介质及功能模块 Download PDF

Info

Publication number
CN111474894B
CN111474894B CN202010145749.0A CN202010145749A CN111474894B CN 111474894 B CN111474894 B CN 111474894B CN 202010145749 A CN202010145749 A CN 202010145749A CN 111474894 B CN111474894 B CN 111474894B
Authority
CN
China
Prior art keywords
analysis
simulation
command
unit
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010145749.0A
Other languages
English (en)
Other versions
CN111474894A (zh
Inventor
邬惠峰
陈佰平
赵建勇
严义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202010145749.0A priority Critical patent/CN111474894B/zh
Publication of CN111474894A publication Critical patent/CN111474894A/zh
Application granted granted Critical
Publication of CN111474894B publication Critical patent/CN111474894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1184Test ability of input for on, off capability

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于电子支付技术领域,具体涉及可变目标PLC仿真调试方法、存储介质及功能模块,所述方法通过仿真调试单元,仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元的联动实现,具体执行以下步骤:仿真命令输入单元,输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;命令分析单元,对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;具有适用性广、仿真准确度高和智能化程度高的优点。

Description

可变目标PLC仿真调试方法、存储介质及功能模块
技术领域
本发明属于PLC技术领域,具体涉及可变目标PLC仿真调试方法、存储介质及功能模块。
背景技术
PLC是一种主要应用于工业领域的电子系统,汽车、电力等制造行业是PLC的主要应用领域,并广泛应用在科研工程中。在最前沿的研究中,世界上最大规模的国际合作项目,国际热核聚变实验堆(International Thermonuclear Experimental Reactor,ITER)采用PLC 作为主要的控制管理设备。PLC拥有相当的市场规模,经过长期的推广,根据智研咨询集团的研究报告,仅国内PLC拥有近100亿人民币的市场。然而,PLC市场的主要份额被国外厂商所占有,国产PLC集成开发环境的投入与研究长期不足。
PLC集成开发环境由多个子系统组成,调试系统是开发环境的核心子系统之一。PLC主要应用在工业生产的关键环节,应用程序的错误可能造成重大安全事故及财产损失,为此,PLC 应用程序需要具有极高的可靠性。在PLC应用程序研究的生命周期中,开发人员需要进行大量的测试工作,发现并排除程序中的逻辑错误和性能瓶颈,以保证应用的正确性、可用性。优秀的PLC调试系统,是保证PLC应用程序软件质量的重要保证。
发明内容
有鉴于此,本发明的主要目的在于提供可变目标PLC仿真调试方法、存储介质及功能模块,具有适用性广、仿真准确度高和智能化程度高的优点。
为达到上述目的,本发明的技术方案是这样实现的:
可变目标PLC仿真调试方法,所述方法通过仿真调试单元,仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元的联动实现,具体执行以下步骤:仿真命令输入单元,输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;命令分析单元,对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果;学习调整单元,根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
进一步的,所述命令分析单元对输入的仿真命令进行程序语义分析的方法执行以下步骤:分析器训练步骤,包括:获取包括多个训练仿真命令的训练语料,通过所述训练语料训练出分析函数,所述分析函数对输入的仿真命令计算对应的分析值;分析值计算步骤,包括:获取用户输入仿真命令,将所述用户输入仿真命令输入所述分析函数后得出关于所述用户输入仿真命令的分析值作为控制命令分析值;分析执行步骤,包括:从与所述用户输入仿真命令相关的多个代码程序中,选择满足所述控制命令分析值的代码程序作为程序语义分析结果,显示所述程序语义分析结果。
进一步的,所述分析器训练步骤,具体包括:获取包括多个训练仿真命令的训练语料,每个训练仿真命令与一种分析类型关联,对所述训练语料进行训练,得到用于对分析类型进行分类的分析函数,所述分析值用于表示输入分析函数的仿真命令所属的分析类型;所述分析执行步骤,具体包括:根据所述控制命令分析值确定对应的分析类型为用户分析类型,从与所述用户输入仿真命令相关的多个代码程序中,选择所述用户分析类型所对应的代码程序作为程序语义分析结果,显示所述程序语义分析结果;所述分析类型包括第一分析类型和第二分析类型,所述训练语料包括第一训练语料和第二训练语料,所述第一训练语料包括多个预先选定的与第一分析类型关联的第一训练仿真命令,所述第二训练语料包括多个预先选定的与第二分析类型关联的第二训练仿真命令;所述分析器训练步骤中,分别对第一训练语料进行训练得到第一分析函数,对第二训练语料进行训练得到第二分析函数。
进一步的,所述分析值计算步骤中,将用户输入仿真命令根据第一分析函数的仿真命令顺序向量化为第一用户输入向量,将用户输入仿真命令根据第二分析函数的仿真命令顺序向量化为第二用户输入向量,分别计算第一控制命令分析值y1和第二控制命令分析值y2;所述分析执行步骤中,如果y1>y2,且y1和y2的差值的绝对值大于或等于预设第一阈值,则用户分析类型为第一分析类型,如果y1<y2,且y1与y2的差值的绝对值大于或等于预设第二阈值,则用户分析类型为第二分析类型;所述第一分析函数采用
Figure RE-GDA0002486334340000021
进行训练,所述第二分析函数采用
Figure RE-GDA0002486334340000022
进行训练,其中,所述w′i为第一分析函数中第i个仿真命令的权重,所述w″i为第二分析函数中第i个仿真命令的权重,x′i为第一训练仿真命令对应的训练向量值的第i个维度的值,x″i为第二训练仿真命令对应的训练向量值的第i个维度的值,所述W′p为第一分析函数中所有权重之和,所述W″p为第二分析函数中所有权重之和,y′为第一训练分析值,y″为第二训练分析值,n′为第一训练语料不同仿真命令的个数,n″为第二训练语料不同仿真命令的个数,且设定当x′i=0时,
Figure RE-GDA0002486334340000031
当x″i=0时,
Figure RE-GDA0002486334340000032
所述分析值计算步骤中,将用户输入仿真命令根据第一分析函数的仿真命令顺序向量化为第一用户输入向量,将用户输入仿真命令根据第二分析函数的仿真命令顺序向量化为第二用户输入向量,分别计算第一控制命令分析值和第二控制命令分析值,所述第一控制命令分析值y1和所述第二控制命令分析值y2分别为:
Figure RE-GDA0002486334340000033
其中x1i为第一用户输入向量的第i个维度的值,x2i为第二用户输入向量的第i个维度的值。
进一步的,所述反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果的方法执行以下步骤:功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块具有多个,即对应于一个仿真命令,将生成多个对应的可视化可编辑图形化功能模块,用户为生成的图形化功能模块打分,采用如下公式,计算生成的图形化功能模块的精确性,即得到R2得分,得分越高,表示生成的图形化功能模块结果越准确,越符合仿真命令;
Figure RE-GDA0002486334340000034
其中y代表用户对生成的图形功能模块打分结果;
Figure RE-GDA0002486334340000035
代表系统自动为生成的图形化功能模块的打分结果;nsamples代表生成的图形化功能模块的个数。
进一步的,所述学习调整单元,得到的R2值与预设的阈值进行比较,低于设定的阈值,则按照打分,对生成的图形化功能模块进行排序,删除评分最低的图形化功能模块,在下一次生成相同的图形化功能模块时,将不生成评分最低的图形化功能模块;若高于设定的阈值,则不进行处理。
可变目标PLC仿真调试存储介质,其特征在于,所述存储介质为一种非暂时性的计算机可读存储介质,该存储介质存储了计算指令,其包括:包括用于实现仿真调试的仿真调试单元,所述功能模块还包括:仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元;所述仿真命令输入单元,用于输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;所述命令你分析单元,用于对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;所述功能单元生成单元,用于根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;所述反馈评价单元,用于提供给用户对生成的图形化功能模块进行评价,生成评价结果;所述学习调整单元,用于根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
可变目标PLC仿真调试功能模块,包括用于实现仿真调试的仿真调试单元,所述功能模块还包括:仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元;所述仿真命令输入单元,用于输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;所述命令你分析单元,用于对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;所述功能单元生成单元,用于根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;所述反馈评价单元,用于提供给用户对生成的图形化功能模块进行评价,生成评价结果;所述学习调整单元,用于根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
进一步的,所述命令分析单元对输入的仿真命令进行程序语义分析的方法执行以下步骤:分析器训练步骤,包括:获取包括多个训练仿真命令的训练语料,通过所述训练语料训练出分析函数,所述分析函数对输入的仿真命令计算对应的分析值;分析值计算步骤,包括:获取用户输入仿真命令,将所述用户输入仿真命令输入所述分析函数后得出关于所述用户输入仿真命令的分析值作为控制命令分析值;分析执行步骤,包括:从与所述用户输入仿真命令相关的多个代码程序中,选择满足所述控制命令分析值的代码程序作为程序语义分析结果,显示所述程序语义分析结果。
进一步的,所述反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果的方法执行以下步骤:功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块具有多个,即对应于一个仿真命令,将生成多个对应的可视化可编辑图形化功能模块,用户为生成的图形化功能模块打分,采用如下公式,计算生成的图形化功能模块的精确性,即得到R2得分,得分越高,表示生成的图形化功能模块结果越准确,越符合仿真命令;
Figure RE-GDA0002486334340000051
其中y代表用户对生成的图形功能模块打分结果;
Figure RE-GDA0002486334340000052
代表系统自动为生成的图形化功能模块的打分结果;nsamples代表生成的图形化功能模块的个数。
本发明的可变目标PLC仿真调试方法、存储介质及功能模块,具有如下有益效果:本发明通过对输入的仿真命令自动识别,可以实现各种环境各种平台下的调试,同时,直接对仿真命令进行语义识别分析,提升了系统的智能化程度,即便是普通的操作人员在没有经过相关培训的情况下也可以进行仿真。最后,针对仿真结果,还进行反馈评价,随着仿真次数的增加,仿真准确性也将增加,提升了仿真的准确度。
附图说明
图1为本发明的实施例提供的可变目标PLC仿真调试方法的方法流程示意图;
图2为本发明的实施例提供的可变目标PLC仿真调试功能模块的结构示意图;
图3为本发明的实施例提供的可变目标PLC仿真调试方法的仿真准确性随着仿真次数增加的实验曲线与现有技术对应的实验曲线对比实验图。
其中,1-本发明的仿真准确度曲线图,2-现有技术的仿真准确度曲线图。
具体实施方式
下面结合附图及本发明的实施例对本发明的方法作进一步详细的说明。
实施例1
可变目标PLC仿真调试方法,所述方法通过仿真调试单元,仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元的联动实现,具体执行以下步骤:仿真命令输入单元,输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;命令分析单元,对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果;学习调整单元,根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
具体的,用户在调试过程中,首先要完成对PLC实机或仿真设备的连接、绑定,将已经编译的PLC目标文件下至调试设备中。在PLC目标文件的运行过程中,用户将执行若干测试过程,若发现问题则需要获取调试设备的运行数据,分析并找到源码中的错误,对源码进行修改然后重新编译为目标文件,继续调试过程直至排除问题。
具体的,所述数数认仿真的必要参数包括:仿真器件参数、仿真环境参数和实验输入输出参数。所述仿真器件参数包括:仿真所用器件的类型参数、型号参数和器件的运行参数等;所述仿真环境参数包括:仿真运行所需要的温度参数和湿度参数等;输入输出参数包括:输入值和输出值,以及运行过程中的调整参数等参数。
实施例2
在上一实施例的基础上,所述命令分析单元对输入的仿真命令进行程序语义分析的方法执行以下步骤:分析器训练步骤,包括:获取包括多个训练仿真命令的训练语料,通过所述训练语料训练出分析函数,所述分析函数对输入的仿真命令计算对应的分析值;分析值计算步骤,包括:获取用户输入仿真命令,将所述用户输入仿真命令输入所述分析函数后得出关于所述用户输入仿真命令的分析值作为控制命令分析值;分析执行步骤,包括:从与所述用户输入仿真命令相关的多个代码程序中,选择满足所述控制命令分析值的代码程序作为程序语义分析结果,显示所述程序语义分析结果。
具体的,软件调试的基本原理为,通过记录软件的执行过程,重现错误的时刻的设备信息,并将对设备信息进行检查。以最流行的开源调试器GDB为例,其提的功能主要包括:
1)断点管理:断点通过对目标文件中的指令进行修改,使程序执行过程中发生特定的异常,而进入内核异常处理,暂停当前的程序进行。如x86平台下,GDB将根据调试信息将某行源码对应的指令处个性为INT3指令,这是x86的调试指令。调试工具需要提供对目标提供断点的设置、删除等基本操作,这需要同步记录断点的详细信息进行管理;更为高级的功能实现则包括,条件命中断点、统计断点命中次数等。触发断点后,调试器将向开发者提供各种调试信息。
2)寄存器操作:调试工具需要向用户列出用户可见的寄存器的内容值,主要包括数据寄存器、指令寄存器等。这些值是当被调程序暂停的时刻所记录下来的,通常操作系统可以直接支持这一功能,而裸机需要基于专用的电路设计,并提供接口如JTAG。在目标设备允许的情况下,调试器允许用户修改寄存器的值,以更为灵活的实现软件调试。
3)内存操作:同寄存器操作类似,调试工具可以根据用户指令,列出某一段内存的内容,内容通过以数值的形式提供即十六进制值或十进制值;更具体的内容,需要由调试器提供调试信息以完成功能。调试在目标设备允许的情况下允许用户对内容的值进行修改。事实上,断点的操作是基于内存操作的。
堆栈信息:栈信息是函数的调用情况,目前的硬件设备或编程语言会以特定格式将调用前的位置记录在内存中,通过对格式的应用便可以得到当前函数调用前的栈位置。配合调试信息文件则可以显示调用链中每个函数的名称,甚至包括形参的类型、实参的值、源代码对应位置。供栈帧之间的切换是另一重要功能,通过栈的切换可以获得调用函数前的局部变量等信息。器的功能的实现在某种程度下是操作系统功能的接口,调试的业务逻辑是面向操作者的。具体的调试功能基于依赖于底层机制和编译器。
实施例3
在上一实施例的基础上,所述分析器训练步骤,具体包括:获取包括多个训练仿真命令的训练语料,每个训练仿真命令与一种分析类型关联,对所述训练语料进行训练,得到用于对分析类型进行分类的分析函数,所述分析值用于表示输入分析函数的仿真命令所属的分析类型;所述分析执行步骤,具体包括:根据所述控制命令分析值确定对应的分析类型为用户分析类型,从与所述用户输入仿真命令相关的多个代码程序中,选择所述用户分析类型所对应的代码程序作为程序语义分析结果,显示所述程序语义分析结果;所述分析类型包括第一分析类型和第二分析类型,所述训练语料包括第一训练语料和第二训练语料,所述第一训练语料包括多个预先选定的与第一分析类型关联的第一训练仿真命令,所述第二训练语料包括多个预先选定的与第二分析类型关联的第二训练仿真命令;所述分析器训练步骤中,分别对第一训练语料进行训练得到第一分析函数,对第二训练语料进行训练得到第二分析函数。
具体的,本发明通过自动对仿真命令进行语义分析,自动识别仿真命令,可以将自然语言类型或者程序类型的仿真命令进行识别,识别后的仿真命令再自动生成规范的代码自动生成仿真功能模块,提升了仿真的自动化程度,不需要进行编程,降低了学习成本,智能化程度高。实现了仿真过程的封装。
实施例4
在上一实施例的基础上,所述分析值计算步骤中,将用户输入仿真命令根据第一分析函数的仿真命令顺序向量化为第一用户输入向量,将用户输入仿真命令根据第二分析函数的仿真命令顺序向量化为第二用户输入向量,分别计算第一控制命令分析值y1和第二控制命令分析值y2;所述分析执行步骤中,如果y1>y2,且y1和y2的差值的绝对值大于或等于预设第一阈值,则用户分析类型为第一分析类型,如果y1<y2,且y1与y2的差值的绝对值大于或等于预设第二阈值,则用户分析类型为第二分析类型;所述第一分析函数采用
Figure RE-GDA0002486334340000071
Figure RE-GDA0002486334340000081
进行训练,所述第二分析函数采用
Figure RE-GDA0002486334340000082
进行训练,其中,所述w′i为第一分析函数中第i个仿真命令的权重,所述w″i为第二分析函数中第i个仿真命令的权重,x′i为第一训练仿真命令对应的训练向量值的第i个维度的值,x″i为第二训练仿真命令对应的训练向量值的第i个维度的值,所述W′p为第一分析函数中所有权重之和,所述W″p为第二分析函数中所有权重之和,y′为第一训练分析值,y″为第二训练分析值,n′为第一训练语料不同仿真命令的个数,n″为第二训练语料不同仿真命令的个数,且设定当x′i=0时,
Figure RE-GDA0002486334340000083
当x″i=0时,
Figure RE-GDA0002486334340000084
所述分析值计算步骤中,将用户输入仿真命令根据第一分析函数的仿真命令顺序向量化为第一用户输入向量,将用户输入仿真命令根据第二分析函数的仿真命令顺序向量化为第二用户输入向量,分别计算第一控制命令分析值和第二控制命令分析值,所述第一控制命令分析值y1和所述第二控制命令分析值y2分别为:
Figure RE-GDA0002486334340000085
Figure RE-GDA0002486334340000086
其中x1i为第一用户输入向量的第i个维度的值, x2i为第二用户输入向量的第i个维度的值。
具体的,采用上述语义识别方法,相较于传统的仿真系统,其仿真命令可以快速的生成程序代码,不需要进行大量的准备工作,且可以适用于各种各样不同的仿真环境。
实施例5
在上一实施例的基础上,所述反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果的方法执行以下步骤:功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块具有多个,即对应于一个仿真命令,将生成多个对应的可视化可编辑图形化功能模块,用户为生成的图形化功能模块打分,采用如下公式,计算生成的图形化功能模块的精确性,即得到R2得分,得分越高,表示生成的图形化功能模块结果越准确,越符合仿真命令;
Figure RE-GDA0002486334340000087
其中y代表用户对生成的图形功能模块打分结果;
Figure RE-GDA0002486334340000088
代表系统自动为生成的图形化功能模块的打分结果;nsamples代表生成的图形化功能模块的个数。
实施例6
在上一实施例的基础上,所述学习调整单元,得到的R2值与预设的阈值进行比较,低于设定的阈值,则按照打分,对生成的图形化功能模块进行排序,删除评分最低的图形化功能模块,在下一次生成相同的图形化功能模块时,将不生成评分最低的图形化功能模块;若高于设定的阈值,则不进行处理。
实施例7
可变目标PLC仿真调试存储介质,其特征在于,所述存储介质为一种非暂时性的计算机可读存储介质,该存储介质存储了计算指令,其包括:包括用于实现仿真调试的仿真调试单元,所述功能模块还包括:仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元;所述仿真命令输入单元,用于输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;所述命令你分析单元,用于对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;所述功能单元生成单元,用于根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;所述反馈评价单元,用于提供给用户对生成的图形化功能模块进行评价,生成评价结果;所述学习调整单元,用于根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
实施例8
可变目标PLC仿真调试功能模块,包括用于实现仿真调试的仿真调试单元,所述功能模块还包括:仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元;所述仿真命令输入单元,用于输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;所述命令你分析单元,用于对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;所述功能单元生成单元,用于根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;所述反馈评价单元,用于提供给用户对生成的图形化功能模块进行评价,生成评价结果;所述学习调整单元,用于根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
具体的,随着现代仿真技术发展而衍生出来的一种仿真形式,通过增加文本提示、图形、图像、动画表现,使仿真过程更加直观,结果更容易理解,并能验证仿真过程是否正确。
实施例9
在上一实施例的基础上,所述命令分析单元对输入的仿真命令进行程序语义分析的方法执行以下步骤:分析器训练步骤,包括:获取包括多个训练仿真命令的训练语料,通过所述训练语料训练出分析函数,所述分析函数对输入的仿真命令计算对应的分析值;分析值计算步骤,包括:获取用户输入仿真命令,将所述用户输入仿真命令输入所述分析函数后得出关于所述用户输入仿真命令的分析值作为控制命令分析值;分析执行步骤,包括:从与所述用户输入仿真命令相关的多个代码程序中,选择满足所述控制命令分析值的代码程序作为程序语义分析结果,显示所述程序语义分析结果。
实施例10
在上一实施例的基础上,所述反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果的方法执行以下步骤:功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块具有多个,即对应于一个仿真命令,将生成多个对应的可视化可编辑图形化功能模块,用户为生成的图形化功能模块打分,采用如下公式,计算生成的图形化功能模块的精确性,即得到R2得分,得分越高,表示生成的图形化功能模块结果越准确,越符合仿真命令;
Figure RE-GDA0002486334340000101
其中y代表用户对生成的图形功能模块打分结果;
Figure RE-GDA0002486334340000102
代表系统自动为生成的图形化功能模块的打分结果;nsamples代表生成的图形化功能模块的个数。
具体的,通过反馈评价,用户可以在仿真的过程中,不断提升仿真的准确性,保证仿真的准确性超过现有技术。现有技术的仿真系统往往不具备学习功能,同样的错误可能再次发生,而本发明使用反馈评价,杜绝了这种情况的发生。
以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.可变目标PLC仿真调试方法,通过仿真调试单元,仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元的联动实现,具体执行以下步骤:仿真命令输入单元,输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;其特征在于,所述命令分析单元,对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果;学习调整单元,根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据搭建的仿真调试的目标体完成仿真调试。
2.如权利要求1所述的方法,其特征在于,所述命令分析单元对输入的仿真命令进行程序语义分析的方法执行以下步骤:分析器训练步骤,包括:获取包括多个训练仿真命令的训练语料,通过所述训练语料训练出分析函数,所述分析函数对输入的仿真命令计算对应的分析值;分析值计算步骤,包括:获取用户输入仿真命令,将所述用户输入仿真命令输入所述分析函数后得出关于所述用户输入仿真命令的分析值作为控制命令分析值;分析执行步骤,包括:从与所述用户输入仿真命令相关的多个代码程序中,选择满足所述控制命令分析值的代码程序作为程序语义分析结果,显示所述程序语义分析结果。
3.如权利要求2所述的方法,其特征在于,所述分析器训练步骤,具体包括:获取包括多个训练仿真命令的训练语料,每个训练仿真命令与一种分析类型关联,对所述训练语料进行训练,得到用于对分析类型进行分类的分析函数,所述分析值用于表示输入分析函数的仿真命令所属的分析类型;所述分析执行步骤,具体包括:根据所述控制命令分析值确定对应的分析类型为用户分析类型,从与所述用户输入仿真命令相关的多个代码程序中,选择所述用户分析类型所对应的代码程序作为程序语义分析结果,显示所述程序语义分析结果;所述分析类型包括第一分析类型和第二分析类型,所述训练语料包括第一训练语料和第二训练语料,所述第一训练语料包括多个预先选定的与第一分析类型关联的第一训练仿真命令,所述第二训练语料包括多个预先选定的与第二分析类型关联的第二训练仿真命令;所述分析器训练步骤中,分别对第一训练语料进行训练得到第一分析函数,对第二训练语料进行训练得到第二分析函数。
4.如权利要求3所述的方法,其特征在于,所述分析值计算步骤中,将用户输入仿真命令根据第一分析函数的仿真命令顺序向量化为第一用户输入向量,将用户输入仿真命令根据第二分析函数的仿真命令顺序向量化为第二用户输入向量,分别计算第一控制命令分析值y1和第二控制命令分析值y2;所述分析执行步骤中,如果y1>y2,且y1和y2的差值的绝对值大于或等于预设第一阈值,则用户分析类型为第一分析类型,如果y1<y2,且y1与y2的差值的绝对值大于或等于预设第二阈值,则用户分析类型为第二分析类型;所述第一分析函数采用
Figure FDA0003105066610000021
进行训练,所述第二分析函数采用
Figure FDA0003105066610000022
Figure FDA0003105066610000023
进行训练,其中,所述w′i为第一分析函数中第i个仿真命令的权重,所述w″i为第二分析函数中第i个仿真命令的权重,x′i为第一训练仿真命令对应的训练向量值的第i个维度的值,x″i为第二训练仿真命令对应的训练向量值的第i个维度的值,所述W′p为第一分析函数中所有权重之和,所述W″p为第二分析函数中所有权重之和,y′为第一训练分析值,y″为第二训练分析值,n′为第一训练语料不同仿真命令的个数,n″为第二训练语料不同仿真命令的个数,且设定当x′i=0时,
Figure FDA0003105066610000031
当x″i=0时,
Figure FDA0003105066610000032
所述分析值计算步骤中,将用户输入仿真命令根据第一分析函数的仿真命令顺序向量化为第一用户输入向量,将用户输入仿真命令根据第二分析函数的仿真命令顺序向量化为第二用户输入向量,分别计算第一控制命令分析值和第二控制命令分析值,所述第一控制命令分析值y1和所述第二控制命令分析值y2分别为:
Figure FDA0003105066610000033
Figure FDA0003105066610000034
其中x1i为第一用户输入向量的第i个维度的值,x2i为第二用户输入向量的第i个维度的值。
5.如权利要求4所述的方法,其特征在于,所述反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果的方法执行以下步骤:功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块具有多个,即对应于一个仿真命令,将生成多个对应的可视化可编辑图形化功能模块,用户为生成的图形化功能模块打分,采用如下公式,计算生成的图形化功能模块的精确性,即得到R2得分,得分越高,表示生成的图形化功能模块结果越准确,越符合仿真命令;
Figure FDA0003105066610000035
其中y代表用户对生成的图形功能模块打分结果;
Figure FDA0003105066610000036
代表系统自动为生成的图形化功能模块的打分结果;nsamples代表生成的图形化功能模块的个数。
6.如权利要求5所述的方法,其特征在于,所述学习调整单元,得到的R2值与预设的阈值进行比较,低于设定的阈值,则按照打分,对生成的图形化功能模块进行排序,删除评分最低的图形化功能模块,在下一次生成相同的图形化功能模块时,将不生成评分最低的图形化功能模块;若高于设定的阈值,则不进行处理。
7.基于权利要求1至6之一所述方法的可变目标PLC仿真调试存储介质,其特征在于,所述存储介质为一种非暂时性的计算机可读存储介质,该存储介质存储了计算指令,其包括:包括用于实现仿真调试的仿真调试单元,还包括:仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元;所述仿真命令输入单元,用于输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;所述命令分析单元,用于对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;所述功能单元生成单元,用于根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;所述反馈评价单元,用于提供给用户对生成的图形化功能模块进行评价,生成评价结果;所述学习调整单元,用于根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据大家的仿真调试的目标体完成仿真调试。
8.基于权利要求1至6之一所述方法的可变目标PLC仿真调试功能模块,包括用于实现仿真调试的仿真调试单元,其特征在于,所述功能模块还包括:仿真命令输入单元、命令分析单元、功能单元生成单元、反馈评价单元和学习调整单元;所述仿真命令输入单元,用于输入自然类型和/或程序类型的仿真命令,以及输入用于仿真调试的必要参数;所述命令分析单元,用于对输入的仿真命令进行程序语义分析,根据程序语义分析的结果,将输入的仿真命令转换为适用于功能模块的代码程序;所述功能单元生成单元,用于根据生成的代码程序,生成可视化可编辑的图形化功能模块,用户可以在可视化的界面中,操作和编辑所述生成的图形化功能模块,搭建仿真调试的目标体;所述反馈评价单元,用于提供给用户对生成的图形化功能模块进行评价,生成评价结果;所述学习调整单元,用于根据生成的评价结果,发送调整指令至命令分析单元,命令分析单元根据接收到的指令,调整下一次进行命令分析的过程和步骤;仿真调试单元,根据大家的仿真调试的目标体完成仿真调试。
9.如权利要求8所述的功能模块,其特征在于,所述命令分析单元对输入的仿真命令进行程序语义分析的方法执行以下步骤:分析器训练步骤,包括:获取包括多个训练仿真命令的训练语料,通过所述训练语料训练出分析函数,所述分析函数对输入的仿真命令计算对应的分析值;分析值计算步骤,包括:获取用户输入仿真命令,将所述用户输入仿真命令输入所述分析函数后得出关于所述用户输入仿真命令的分析值作为控制命令分析值;分析执行步骤,包括:从与所述用户输入仿真命令相关的多个代码程序中,选择满足所述控制命令分析值的代码程序作为程序语义分析结果,显示所述程序语义分析结果。
10.如权利要求9所述的功能模块,其特征在于,所述反馈评价单元,提供给用户对生成的图形化功能模块进行评价,生成评价结果的方法执行以下步骤:功能单元生成单元,根据生成的代码程序,生成可视化可编辑的图形化功能模块具有多个,即对应于一个仿真命令,将生成多个对应的可视化可编辑图形化功能模块,用户为生成的图形化功能模块打分,采用如下公式,计算生成的图形化功能模块的精确性,即得到R2得分,得分越高,表示生成的图形化功能模块结果越准确,越符合仿真命令;
Figure FDA0003105066610000051
其中y代表用户对生成的图形功能模块打分结果;
Figure FDA0003105066610000052
代表系统自动为生成的图形化功能模块的打分结果;nsamples代表生成的图形化功能模块的个数。
CN202010145749.0A 2020-03-05 2020-03-05 可变目标plc仿真调试方法、存储介质及功能模块 Active CN111474894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010145749.0A CN111474894B (zh) 2020-03-05 2020-03-05 可变目标plc仿真调试方法、存储介质及功能模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010145749.0A CN111474894B (zh) 2020-03-05 2020-03-05 可变目标plc仿真调试方法、存储介质及功能模块

Publications (2)

Publication Number Publication Date
CN111474894A CN111474894A (zh) 2020-07-31
CN111474894B true CN111474894B (zh) 2021-08-24

Family

ID=71748094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010145749.0A Active CN111474894B (zh) 2020-03-05 2020-03-05 可变目标plc仿真调试方法、存储介质及功能模块

Country Status (1)

Country Link
CN (1) CN111474894B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897282B (zh) * 2020-08-03 2022-02-11 南京工程学院 一种基于x86平台的软plc系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01140236A (ja) * 1987-11-26 1989-06-01 Nec Corp プログラムの逆コンパイル方式
CN101566839A (zh) * 2009-06-01 2009-10-28 杭州电子科技大学 一种梯形图内嵌组态算法的实现方法
CN103329097A (zh) * 2011-01-19 2013-09-25 艾尔葛托奇普股份有限公司 工具生成器
CN103988176A (zh) * 2011-12-12 2014-08-13 株式会社日立制作所 软件分析程序和软件分析系统
CN105955745A (zh) * 2016-05-04 2016-09-21 山东中创软件商用中间件股份有限公司 一种流程图仿真调试方法及装置
CN109143953A (zh) * 2018-06-26 2019-01-04 华东师范大学 一种基于中间语言的plc程序验证方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526566B1 (en) * 1997-11-14 2003-02-25 National Instruments Corporation Graphical programming system and method including nodes for programmatically accessing data sources and targets
US7216334B2 (en) * 2002-03-08 2007-05-08 National Instruments Corporation Self-determining behavior node for use in creating a graphical program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01140236A (ja) * 1987-11-26 1989-06-01 Nec Corp プログラムの逆コンパイル方式
CN101566839A (zh) * 2009-06-01 2009-10-28 杭州电子科技大学 一种梯形图内嵌组态算法的实现方法
CN103329097A (zh) * 2011-01-19 2013-09-25 艾尔葛托奇普股份有限公司 工具生成器
CN103988176A (zh) * 2011-12-12 2014-08-13 株式会社日立制作所 软件分析程序和软件分析系统
CN105955745A (zh) * 2016-05-04 2016-09-21 山东中创软件商用中间件股份有限公司 一种流程图仿真调试方法及装置
CN109143953A (zh) * 2018-06-26 2019-01-04 华东师范大学 一种基于中间语言的plc程序验证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PLC梯形图中内嵌C语言编程的实现;黄小强 等;《机电工程》;20120430;第29卷(第4期);第421-424页 *
基于PLC多层架构构建数控语言的方法与实现;董禄 等;《机电工程》;20120731;第29卷(第7期);第856-860页 *
软件化PLC运行环境的研究与开发;程荣亮;《万方数据库》;20120503;第1-70页 *

Also Published As

Publication number Publication date
CN111474894A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN109426615A (zh) 过程间的空指针解引用检测方法、系统、设备以及介质
CN101976187B (zh) 反编译过程中的堆栈跟踪方法、装置及反编译器
CN109145534B (zh) 针对软件虚拟机保护的反混淆系统及方法
CN105302719A (zh) 一种变异测试方法及装置
CN111651765B (zh) 基于生成式对抗网络的程序执行路径生成方法
CN111538668A (zh) 基于强化学习的移动端应用测试方法、装置、设备及介质
CN106844221B (zh) 一种实现虚拟验证系统覆盖率分析的方法
Wong et al. Using an RBF neural network to locate program bugs
CN111474894B (zh) 可变目标plc仿真调试方法、存储介质及功能模块
CN111221520B (zh) 电力系统控制器控制算法生成方法、设备及可读存储介质
CN113591093A (zh) 基于自注意力机制的工业软件漏洞检测方法
EP3715975A1 (en) Method and apparatus for analysing a programmable logic controller program
Tarassow The potential of LLMs for coding with low-resource and domain-specific programming languages
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN102520984A (zh) 目标软件在指定硬件环境中最差时间的计算方法
Thamrin et al. Development of virtual machine for Programmable Logic Controller (PLC) by using STEPS™ programming method
CN115017015B (zh) 一种边缘计算环境下程序异常行为检测方法及系统
Ulrich et al. Operator timing of task level primitives for use in computation-based human reliability analysis
CN113377962B (zh) 一种基于图像识别和自然语言处理的智能过程模拟方法
CN107885504B (zh) 一种异构的多平台系统控制逻辑一致性校验的方法
CN108132799B (zh) 过程间静态程序分析信息提取方法、装置及设备
CN104317706B (zh) 一种基于预运算的程序变异软件错误定位方法
CN112380133A (zh) 一种指令集模拟器利用功能库仿真的方法及装置
CN113656279B (zh) 基于残差网络和度量注意机制的代码气味检测方法
Hoang et al. Quantum Software Analytics: Opportunities and Challenges

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200731

Assignee: HANGZHOU KONGTROLINK INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: HANGZHOU DIANZI University

Contract record no.: X2022330000105

Denomination of invention: Variable target PLC simulation debugging method, storage medium and function module

Granted publication date: 20210824

License type: Common License

Record date: 20220518