[发明专利]一种基于SOC的PLC在线调试系统和方法有效
申请号: | 201510227995.X | 申请日: | 2015-05-06 |
公开(公告)号: | CN104898546B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 唐艳丽;施一明;潘再生;童庆;沈天扬;王挺;朱冬冬;王建平 | 申请(专利权)人: | 浙江中控研究院有限公司 |
主分类号: | G05B19/05 | 分类号: | G05B19/05 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 胡晶 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 soc plc 在线 调试 系统 方法 | ||
技术领域
本发明涉及工业自动控制领域,具体地,涉及一种基于SOC的PLC在线调试系统和方法。
背景技术
随着自动控制技术的发展,可编程逻辑控制器(PLC)已经越来越多的应用在各个行业领域中,标准化水平越来越高。目前,已形成了PLC控制器典型结构、编程语言、通信、用户使用导则等系列国际标准(IEC61131)。其中,以编程语言标准(IEC61131-3)最为广泛应用,大部分可编程控制器支持该标准的五种语言,包括IL、ST、LD、FBD和SFC,其中IL、ST为文本语言,LD、FBD、SFC为图形化语言。
在实际应用中,要求在PLC控制系统调试时能模拟各种运行情况,检验程序设计的正确性及完备性。目前实现的PLC调试方案主要分为:离线调试和在线调试。
⑴离线调试
通常情况下,离线调试采用离线模拟仿真,并且离线模拟仿真功能一般只能在PLC后台控制端实现。离线模拟仿真需要在PLC后台控制端创建与该PLC具有类似功能的软件模拟PLC。用户将编写的程序模拟下载到软件模拟PLC,软件模拟PLC按照指令功能模拟执行用户程序,在执行过程中,用户可以及时发现问题和修改用户程序,达到调试的目的。
但离线调试存在如下缺点:
①离线调试需要PLC控制端创建与实际PLC功能完全相同的软件模拟PLC,存在开发难度大、开发周期长和功能不完全一致的问题。
②软件模拟PLC功能和真实的PLC产品功能存在同步问题。真实PLC产品功能升级或修改,软件模拟PLC必须同步更新。如果没有同步更新,在实际仿真过程中就会出现偏差或者错误,误导用户。
③离线调试的用户程序还是需要在实际应用现场进一步的调试和修改。
⑵在线调试
在线调试通常是采用软件断点方式,通过在代码中设置特征值的方式来实现的。当需要在某地址代码处设置软件断点的时候,仿真器会先将此处代码进行备份保护,然后将预先设定好的断点特征值(一般为0x0000等不易与代码混淆的值)写入此地址,覆盖原来的代码数据。当程序运行到此特征值所在的地址时,PLC识别出此处是一个软断点,便会产生中断。当取消断点时,之前受保护的代码信息会被自动恢复。
但此调试方法存在如下缺点:
①软件断点由于需要修改相应地址的值,所以一般只能设在RAM上。而随着系统的代码量越来越大,特别是在SOC系统,扩充大容量的RAM势必会增加产品的成本。
②现在很多系统直接在Flash上运行代码,对于这种在Flash上运行代码的系统,若要设置软断点,则操作相当复杂,且耗时较大,还会折损Flash的寿命。
发明内容
本发明的目的在于针对现有PLC调试系统实现方法的不足,设计一种资源少、易开发、速度快、可靠性高、适合SOC的在线调试系统和方法,实现PLC文本语言和图形化语言的在线调试。
根据本发明提供的一种基于SOC的PLC在线调试方法,包括:
步骤1,上位机系统中的程序编译模块将待测试程序的代码转换成用户程序的代码输出至SOC系统中的存储器,所述用户程序由预设的二进制代码构成;
步骤2,上位机系统的第一调试模块响应外部输入向SOC系统中的嵌入式微处理器IP核发送调试指令或配置指令;
步骤3,所述嵌入式微处理器IP核响应所述配置指令对SOC系统中的PLC控制器IP核进行配置后返回步骤2,或响应所述调试指令在调试模式下控制所述PLC控制器IP核从所述存储器中读取并执行所述用户程序的二进制代码,
执行中遇到断点或完成所述调试指令后所述PLC控制器IP核暂停执行并向所述第一调试模块发送反馈,返回步骤2;
其中,步骤3中所述PLC控制器IP核执行所述用户程序的二进制代码时,同步与断点信息列表中的断点进行地址比对,若当前执行的二进制代码的地址与所述断点信息列表中任一断点地址相同,则暂停执行并通过所述嵌入式微处理器IP核向所述第一调试模块发送反馈。
作为一种实施例,所述步骤1之前还包括:
设置所述断点信息列表,所述第一调试模块输出所述断点信息列表至所述PLC控制器IP核的寄存器组中;
其中,所述断点信息列表中每个断点具有唯一的断点地址。
作为一种实施例,所述配置指令包含增加/删除断点的指令,该指令中包含待增加/删除的断点所对应的断点信息,
所述断点信息包含该断点的断点ID和断点地址;
所述步骤3还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江中控研究院有限公司,未经浙江中控研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510227995.X/2.html,转载请声明来源钻瓜专利网。