一种子程序调用的方法、装置及PLC控制系统制造方法及图纸

技术编号:7095656 阅读:350 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了子程序调用的方法,包括:获取子程序的调用位置信息;定位预设的与所述调用位置信息对应的存储数据的存储空间;根据所述存储空间存储的数据调用运行所述子程序,并在所述存储空间中保持所述子程序运行后的数据。相应地,本发明专利技术实施例还公开了子程序调用的装置以及PLC控制系统。实施本发明专利技术实施例,可有效解决现有技术中通过共享子程序进行多路控制时传统实现方案编程复杂、调试时间长以及维护难度高的问题,本发明专利技术实施例不使用指针和全局变量即可实现共享子程序进行多路控制,简化了编程调试,大大降低了用户的编程调试能力要求,缩短了编程调试周期,并加快了开发的进度。

【技术实现步骤摘要】

本专利技术涉及电子领域,尤其涉及一种子程序调用的方法、装置及PLC控制系统
技术介绍
在传统的可编程逻辑控制器(PLC,Programmable Logic Controller)数据存储空间中,从数据保持和生命周期上分有两类变量程序运行过程一直保持数据并且全局可见的全局变量和仅过程调用中有效并且局部可见的局部变量。全局变量用于保持全局数据和过程调用中的共享数据,局部变量用于保存过程调用的局部数据,在调用完毕后局部变量的数据存储空间立即释放,并不负责维持数据。通过运行程序进行过程控制的时候,例如,PLC在进行过程控制的时候,经常需要周期性地调用某子程序(即调用某过程)进行过程控制,这些子程序往往需要保持上一周期或者以前周期运行后的结果数据,作为下一周期运算的基础数据。然而,当需要进行多路控制的时候,例如PLC控制多路电机进行运作,各路的子程序(算法)相同,可以通过共享该子程序进行多路控制,但是由于各路的控制不同步,即输入/输出的数据和中间计算的数据完全不同,所以相同的子程序并不共享数据。那么,若使用全局变量,各路数据将被子程序所共享,若使用局部变量,那么无法使各路在各自不同的周期保持数据。现有技术中, 为了在多路控制中的每一路实现共享子程序但是不共享数据,且在某一路的不同调用周期共享数据,通常需要在过程中使用指针类型变量才可以做到,将运行子程序的过程中的变量定义为指针类型,调用子程序前将全局变量指针作为参数传入,不同的调用位置传递不同的全局变量指针。这样做可以实现共享子程序但不共享数据进行多路控制的需求。但是由于用到了指针,而且需要统筹全局变量的使用,加大了编程调试和维护的复杂性,对用户的编程调试能力要求也大大提高,编程调试周期也会相应变长。包含大量指针变量的PLC系统运行速度也相对较慢。
技术实现思路
为了解决上述技术问题,提供一种子程序调用的方法、装置及PLC控制系统,可有效解决现有技术中针对进行多路控制的需求,传统实现方案编程复杂、调试时间长以及维护难度高的问题。本专利技术实施例提出的一种子程序调用的方法,包括获取子程序的调用位置信息;定位预设的与所述调用位置信息对应的存储数据的存储空间;根据所述存储空间存储的数据调用运行所述子程序,并在所述存储空间中保持所述子程序运行后的数据。其中,所述定位预设的与所述调用位置信息对应的存储数据的存储空间的步骤之前还包括设置存储数据的存储空间,所述数据为所述子程序调用运行所需的数据。其中,所述定位预设的与所述调用位置信息对应的存储数据的存储空间的步骤包括根据所述调用位置信息查找预设的映射信息,所述映射信息包括调用运行所述子程序的调用位置信息与所述存储空间的映射关系;若查找出所述调用位置信息映射的存储空间,则定位到所述存储空间;若没有查找出所述调用位置信息映射的存储空间,则为所述调用位置信息分配存储空间并定位到所述存储空间。其中,为所述调用位置信息分配存储空间并定位到所述存储空间的步骤之后还包括在所述映射信息中记录所述调用位置信息与所述分配的存储空间的映射关系。其中,根据所述调用位置信息查找预设的映射信息的步骤之前还包括根据设置的存储数据的存储空间,初始化映射信息,所述映射信息包括调用运行所述子程序的调用位置信息与所述存储空间的映射关系。其中,所述子程序为可编程逻辑控制器PLC过程控制子程序。相应地,本专利技术实施例公开了一种子程序调用装置,包括位置获取模块,用于获取子程序的调用位置信息;定位模块,用于定位预设的与所述调用位置信息对应的存储数据的存储空间;调用运行模块,用于根据所述定位模块定位的存储空间存储的数据调用运行所述子程序,并在所述存储空间中保持所述子程序运行后的数据。其中,所述子程序调用装置还包括存储空间设置模块,用于设置存储数据的存储空间,所述数据为所述子程序调用运行所需的数据。其中,所述定位模块包括映射信息查找单元,用于根据所述调用位置信息查找预设的映射信息,所述映射信息包括调用运行所述子程序的调用位置信息与所述存储空间的映射关系;存储空间定位单元,用于若所述映射信息查找单元查找出所述调用位置信息映射的存储空间,则定位到所述存储空间;若所述映射信息查找单元没有查找出所述调用位置信息映射的存储空间,则为所述调用位置信息分配存储空间并定位到所述存储空间。其中,所述子程序调用装置还包括映射关系记录模块,用于当所述存储空间定位单元为所述调用位置信息分配存储空间并定位到所述存储空间后,在所述映射信息中记录所述调用位置信息与所述分配的存储空间的映射关系。其中,所述子程序调用装置还包括映射信息初始化模块,用于根据所述存储空间设置模块设置的存储数据的存储空间,初始化映射信息,所述映射信息包括调用运行所述子程序的调用位置信息与所述存储空间的映射关系。相应地,本专利技术实施例公开了一种PLC控制系统,包括上述的子程序调用装置,所述子程序为可编程逻辑控制器PLC过程控制子程序。实施本专利技术实施例,具有如下有益效果通过根据子程序的调用位置信息定位对应的存储数据的存储空间,根据所述存储空间存储的数据调用运行所述子程序,并在所述存储空间中保持所述子程序运行后的数据,可有效解决现有技术中通过共享子程序进行多路控制时传统实现方案编程复杂、调试时间长以及维护难度高的问题,本专利技术实施例不使用指针和全局变量即可实现共享子程序进行多路控制,简化了编程调试,大大降低了用户的编程调试能力要求,缩短了编程调试周期,并加快了开发的进度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术子程序调用的第一实施例的方法流程图;图2是本专利技术子程序调用的第二实施例的方法流程图;图3是本专利技术映射表的第一实施例的结构示意图;图4是本专利技术映射表的第二实施例的结构示意图;图5是本专利技术子程序调用装置的第一实施例的结构示意图;图6是本专利技术子程序调用装置的第二实施例的结构示意图;图7是本专利技术实施例的定位模块的结构示意图;图8是本专利技术子程序调用装置的第三实施例的结构示意图;图9是本专利技术子程序调用装置的第四实施例的结构示意图;图10是本专利技术实施例的PLC控制系统的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1示出的本专利技术子程序调用的第一实施例的方法流程图,包括步骤SlOl 获取子程序的调用位置信息;具体地,系统预先编写至少一个子程序(即可以预先编写多个不同的子程序),然后在整个程序的运行过程中该子程序被周期性地调用运行,那么系统在调用运行该子程序之前,获取该子程序的调用位置信息,该调用位置信息包括但不限于调用该子程序的指令在整个运行的程序中的行数信息等。步骤S102 定位预设的与所述调用位置信息对应的存储数据的存储空间;具体地,系统预先编写设置存储数据的存储空本文档来自技高网
...

【技术保护点】
1.一种子程序调用的方法,其特征在于,包括:获取子程序的调用位置信息;定位预设的与所述调用位置信息对应的存储数据的存储空间;根据所述存储空间存储的数据调用运行所述子程序,并在所述存储空间中保持所述子程序运行后的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:张小军
申请(专利权)人:深圳市合信自动化技术有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1