一种基于段表的plc可运行文件存储解析方法及存储系统的制作方法

文档序号:9750500阅读:408来源:国知局
一种基于段表的plc可运行文件存储解析方法及存储系统的制作方法
【技术领域】
[0001]本发明涉及一种基于段表的PLC可运行文件存储解析方法及存储系统,属于工业控制PLC技术领域。
【背景技术】
[0002]目前,现代工业企业越来越多的应用PLC实现生产过程控制。控制程序需要在上位机中进行编程,并将程序下装到PLC中运行。因此需要一种存储系统及相应的存储方法来存放PLC的可运行文件。
[0003]目前的传统的PLC可运行文件基本可以分为两类:解释型PLC可运行文件和编译型PLC可运行文件。解释型PLC可运行文件的原理是采用解析语句来存储用户的程序,在运行时由解释器解析语句表。这种方式运行速度相对较慢,而且文件内容易被人破解。编译型PLC可运行文件内存储的是下位机能识别的二进制机器码,由于不需要解释器,而且由于不同平台机器码差别很大。因此,目前,上述的传统的技术存在着保密性差、系统不安全的缺点。
[0004]例如,申请号为CN201210249897.2的专利公开了一种基于固态存储介质的存储系统及方法,所述存储系统中包括一种冷热数据的识别方法,该识别方法用以识别逻辑页面所处的状态,所处的状态至少包括冷数据和热数据两种状态;所述识别方法包括:如果逻辑页面被主机host在设定的时间内进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态。
[0005]例如,申请号为CN201410812572.X的专利公开了一种4U高密度存储系统供电设备及方法,包括3+1冗余电源模块、4U机箱空间以及计算节点;其中,所述计算节点的个数为8个,所述计算节点放置在4U机箱空间中,所述3+1冗余电源模块与计算节点电连接;所述3+1冗余电源模块包括PSU电源模块、计算中板本发明4U高密度存储系统供电设备及方法可提高系统整体供电效率。
[0006]例如,申请号为CN201410247820.0的专利公开了一种网络存储系统性能监测方法,该方法模拟实际文件读写并监测此过程中存储系统的CPU、内存、网络使用情况及实际的1读写速度,最终以曲线图的形式呈献给用户。方法中有创建大文件、模拟写文件、模拟读文件及曲线图下载功能,有存储系统CPU使用率、内存使用量、网络使用率、磁盘读写速度曲线图显示。
[0007]综上所述,目前,上述的传统的技术存在着保密性差、系统不安全的缺点。

【发明内容】

[0008]本发明的目的在于提供一种能够克服上述技术问题的基于段表的PLC可运行文件存储解析方法及存储系统。本发明中所用的PLC文件存储类型为编译型PLC可运行文件,本发明在提高运行速度的同时也增加了文件的保密性,使系统更安全。
[0009]本发明的基于段表的PLC可运行文件存储系统包括:基于SPARC(可扩充处理器架构,Scalable Processor ARChitecture)架构的CPU、GP1、PROM、SDRAM、SRAM、DSU、UART、AD、TIMER;所述基于 SPARC架构的 CPU 分别与 PROM、SDRAM、SRAM、D SU、UART、AD、?? MER、12C总线、1553B总线连接。
[0010]所述1553B总线是MIL — STD —1553总线的简称,MIL-STD-1553总线是飞机内部时分制命令/响应式多路复用数据总线。所述1553B总线标准是20世纪70年代由美国公布的一种串行多路数据总线标准。中国于1987年颁布了相应的军标。所述1553B总线是一种集中式的时分串行总线,其主要特点是分布处理、集中控制和实时响应。其可靠性机制包括防错功能、容错功能、错误的检测和定位、错误的隔离、错误的校正、系统监控及系统恢复功能。采用双冗余系统,有两个传输通道,保证了良好的容错性和故障隔离。目前世界上作为军用标准和专门的舰用战术数据总线有许多种,但使用的最多的还是当推美国的MIL — STD —1553B<a553B总线的传输介质有同轴电缆、屏蔽双绞线、光缆,通过变压器藕合或直接藕合方式把终端藕合到总线上去。这种数据总线的传输速率、传输距离、远程终端数,能较好的满足各类中小型舰艇以及潜艇系统通信的要求,故应用十分普及。
[0011 ] 所述PLC为可编程控制器;
[0012]所述GP1为通用I/O端(General-PurposeInput/Output Ports);
[0013]所述PROM为可编程只读存储器(Programmable Red-Only Memory),所述PROM用于存储操作系统和NBP文件;
[0014]所述SDRAM为同步动态随机存储器(SynchronousDynamic Random AccessMemory);
[0015]所述SRAM为静态随机存取存储器(Static Random Access Memory);所述SRAM作为程序运行的内存;
[0016]所述TBffiR为定时器;
[0017]所述UART为异步串行通信口(UniversalAsynchronous Receiver andTransmitter);所述1^1?1'用于上下位机通信;
[0018]所述DSU(DebugSupport Unit)为调试支持单元;
[0019]所述AD为AD转换器。
[0020]本发明的基于段表的PLC可运行文件存储系统在基于段表的PLC可运行文件在上位机生成之后,通过串口或者网口下载到PLC进行解析,解析之后的文件需要保存到FLASH以供下次断电重启之后加载运行。在安全PLC嵌入式实时运行系统SCRS(Safety&SecurityControl Running System)启动之后,SCRS程序会到FLASH相应位置读取基于段表的PLC可运行文件NBP文件到RAM指定位置并进行解析。文件解析之前会在RAM中申请两块区域分别作为数据区和代码区。其中,数据区又分为四部分:I区、Q区、G区和DATA扩展区。I区用于存储传感器扫描的输入信息,Q区用于存储需要输出到执行器的信息,G区用于内部计算,DATA扩展区用于存储外部库信息;代码区用于存储上位机编译好的二进制机器码。
[0021]本发明的基于段表的PLC可运行文件存储解析方法包括以下步骤:
[0022](I)基于段表的PLC可运行文件需要包含程序运行所需的代码信息、外部10配置信息、外部库信息和任务信息,分别用四个段来分别记录代码信息、外部10配置信息、外部库?目息和任务ig息;
[0023](2)为了方便PLC解析文件,用四个段表来记录所述代码信息、外部1配置信息、夕卜部库信息和任务信息的对应段的位置、长度和段个数的信息;
[0024](3)为了实现上下位机通信,用一个文件头来描述整个文件和实现CRC(CyclicRedundancyCheck)即循环冗余校验码校验;
[0025]为了便于解析时确定段信息,用一个字符串表用来描述所述代码信息、外部1配置信息、外部库信息和任务信息的对应段的信息;字符串表放在NBP文件的最后位置,其偏移地址记录在NBP文件头中,所述NBP文件即PLC可执行文件(NCSE binary project file);
[0026](4)文件的解析;在NBP文件解析时,首先进行CRC校验以确定文件的完整性;如果确认文件没问题,则记录文件版本号和工程ID,并解析出所述代码信息、外部1配置信息、外部库信息和任务信息的对应段的个数,在确认所述代码信息、外部1配置信息、外部库信息和任务信息的对应段的个数之后,开始解析对应个数的Sect1n Table,通过解析Sect1n Table来确定对应Sect 1n起始位置和大小并解析。
[0027]对于ProgramSect1n,首先通过解析Program Sect1n Table来确定段ID、名称、段在文件起始位置和段大小的信息,找到Program Sect1n的位置后开始进行解析,将machine code复制到Code区,之后注册初始化函数;至此完成Program Sect1n的解析。所述Task Sect1n、Config Sect1n和External Funct1n Sect1n这三个段的解析过程与Program Sect1n段相似。
[0028]本发明的优点是在不改变PLC结构和不影响使用的前提下,提高了数据传输和存储的安全性,同时不影响文件的解析速度,因此,本发明具有较强的实用价值和现实意义。
【附图说明】
[0029]图1是本发明所述一种基于段表的PLC可运行文件存储系统的结构示意图;
[0030]图2是本发明所述一种基于段表的PLC可运行文件存储系统的PLC地址分配方式示意图;
[0031]图3是本发明所述一种基于段表的PLC可运行文件存储系统的数据区和代码区结构示意图;
[0032]图4是本发明所述一种基于段表的PLC可运行文件存储系统的NBP文件结构示意图;
[0033]图5是本发明所述一种基于段表的PLC可运行文件存储系统的NBP文件解析流程图;
[0034]图6是本发明所述一种基于段表的PLC可运行文件存储系统的Program段解析流程示意图;
[0035]图7是本发明所述一种基于段表的PLC可运行文件存储系统的Task段解析流程示意图;
[0036]图8是本发明所述一种基于段表的PLC可运行文件存储系统的Config段解析流程示意图;
[0037]图9是本发明所述一种基于段表的PLC可运行文件存储系统的ExternalFunct1n段解析流程示意图。
【具体实施方式】
[0038]下面结合附图对本发明的实施方式进行详细描述。如图1所示,本发明的基于段表的PLC可运行文件存储系统包括:基于SPARC(可扩充处理器架构,Scalable Processor八尺01^6(^11代)架构的0?1]、6?10、?1?01、501^1、51^1、051]、1^1?1'^0、11]\^1?、;所述基于5?八1^架构的 CPU 分别与?如1、501^1、51^1、051]、1^1?1'^0、1'1]\^1?、12(:总线、15538总线连接。所述1553B总线是MIL—STD —1553总线的简称,MIL-STD-1553总线是飞机内部时分制命令/响应式多路复用数据总线。所述PLC为可编程控制器;所述GP1为通用I/O端(General-PurposeInput/Output Ports);所述PROM为可编程只读存储器(Programmable Red-Only Memory),所述PROM用于存储操作系统和NBP文件;所述SDRAM为同步动态随机存储器(SynchronousDynamic Random Access Memory);所述SRAM为静态随机存取存储器(Static RandomAccess Memory);所述SRAM作为程序运行的内存;所述TIMER为定时器;所述UART为异步串行通信口(Universal Asynchronous Receiver and Transmitter);所述UART用于上下位机通信;所述DSU为调试支持单元;所述AD为AD转换器。
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1