首页> 中国专利> 一种基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统及其运行方法

一种基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统及其运行方法

摘要

本发明属于工业控制领域,具体涉及一种基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统及其运行方法,所述安全控制运行系统包括:主任务模块、通信模块、加载运行模块、IO管理模块、外部库模块、辅助功能模块、诊断模块、冗余模块、掉电保护模块、Modbus模块;所述主任务模块能分别调用加载运行模块、通信模块、IO管理模块、辅助功能模块、掉电保护模块和冗余模块;所述通信模块能分别调用加载运行模块、IO管理模块、诊断模块和Modbus模块;所述加载运行模块能调用外部库模块;所述运行方法包括主任务初始化、喂狗、写O数据、读I数据、运行*.nbp工程文件、运行周期控制。本发明填补了目前中国国产安全PLC的空白,具有安全性、实用性、通用性。

著录项

  • 公开/公告号CN105549522A

    专利类型发明专利

  • 公开/公告日2016-05-04

    原文格式PDF

  • 申请/专利号CN201510944561.1

  • 发明设计人 丰大军;赵德政;贡春燕;赵乾伟;

    申请日2015-12-16

  • 分类号G05B19/05(20060101);

  • 代理机构11282 北京中海智圣知识产权代理有限公司;

  • 代理人胡静

  • 地址 100085 北京市海淀区清华东路25号

  • 入库时间 2023-12-18 15:54:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-23

    专利权的转移 IPC(主分类):G05B19/05 登记生效日:20190703 变更前: 变更后:

    专利申请权、专利权的转移

  • 2018-05-04

    授权

    授权

  • 2016-06-01

    实质审查的生效 IPC(主分类):G05B19/05 申请日:20151216

    实质审查的生效

  • 2016-05-04

    公开

    公开

说明书

技术领域

本发明属于工业控制领域,具体涉及一种基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统及其运行方法。

背景技术

中国自80年代初引进PLC(ProgrammableLogicController,可编程逻辑控制器),通过技术引进、消化吸收、仿制和国产化,使中国PLC产品近年来有较大的发展,小型PLC的有些品种己批量生产,中型PLC己有产品,大型PLC己开始研制。但是到目前为止,中国国内PLC形成产品化生产的企业约30多家,年产量超过1000台的不到10家,而且目前中国国内用户选用PLC产品仍以国外产品为主,中国国内产品的市场占有率不超过10%,有自主产权的PLC则更少,PLC的核心技术一直把握在欧、美、日本等工业发达国家手里。但中国市场对PLC的需求却以年递增率12%的速度增长。PLC作为目前工业自动化的重要基础设备,被称为“工业自动化三大支柱性产业之一”,在各工业生产领域发挥着愈来愈大的作用,在汽车制造、粮食加工、化学药品、金属冶炼、矿山开发,造纸业等多行业广泛使用。中国的PLC不能只停留在消化性研究的水平上,亟需有自主产权的新型的PLC的出现。

发明内容

本发明的目的是针对目前中国国产安全PLC的空白,提供一种基于SPARC(ScalableProcessorARChitecture,可扩充处理器架构)架构CPU的PLC嵌入式实时安全控制运行系统(SCRS(Safety&SecurityControlRunningSystem))及其运行方法。

本发明解决问题的技术方案是:提供一种基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统,包括:

用于作为所述安全控制运行系统的入口的主任务模块;

用于与上位机进行通信和信息交互的通信模块;

用于从PLC可执行*.nbp工程文件中解析出用户程序并运行所述用户程序的加载运行模块;

用于与现场设备进行IO(Input/Output,输入输出)通信的IO管理模块;

用于兼容IEC61131-3标准的外部库模块;

辅助功能模块;

用于用户逻辑组态程序自诊断的诊断模块;

用于保障所述安全控制运行系统的安全的冗余模块;

用于保障掉电时的数据安全的掉电保护模块;

用于兼容通用的Modbus总线协议的Modbus模块;

所述主任务模块能分别调用加载运行模块、通信模块、IO管理模块、辅助功能模块、掉电保护模块和冗余模块;所述通信模块能分别调用加载运行模块、IO管理模块、诊断模块和Modbus模块;所述加载运行模块能调用外部库模块。

进一步地,所述安全控制运行系统位于下位机的CPU模块中,且通过TCP/IP或RS232接口与所述上位机相连。

进一步地,所述下位机为用于采集和传输原始数据的PLC(ProgrammableLogicController,可编程逻辑控制器),所述PLC由所述CPU模块、耦合器模块、模拟输入量模块、模拟输出量模块、数字输入量模块、数字输出量模块和末端模块组成,所述CPU模块、耦合器模块、模拟输入量模块、模拟输出量模块、数字输入量模块、数字输出量模块和末端模块分别通过同一个EtherCAT现场总线和现场设备相连。

进一步地,所述CPU模块包括基于SPARC架构的CPU,以及分别与所述基于SPARC架构的CPU连接的SDRAM(SynchronousDynamicRandomAccessMemory,同步动态随机存储器)、DPRAM(DoublePortRandomAccessMemory,双口随机存取存储器)、PROM(ProgrammableRead-OnlyMemory,可编程只读存储器)、GPIO(GeneralPurposeInputOutput通用输入输出口或总线扩展器)、TIMER(定时器)、UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发传输器)、DSU(DebugSupportUnit,调试支持单元)、AD(数模转换)单元、EtherNet(以太网)单元、I2C(Inter-IntegratedCircuit,内部集成电路)串行总线。

进一步地,所述CPU模块还包括安全控制操作系统(SCOS(Safety&SecurityControlOperatingSystem)),所述安全控制操作系统包括安全内核、文件系统驱动单元、EtherCAT协议栈、以太网协议栈、运行周期控制时钟、硬件设备驱动单元,所述硬件设备驱动单元和安全内核相连,所述安全内核分别与文件系统驱动单元、EtherCAT协议栈、以太网协议栈、运行周期控制时钟相连。

进一步地,所述上位机中配置有用于PLC逻辑组态、网络组态、编译、登录、下装、监视变量、诊断的SC-ProSys模块,所述SC-ProSys(Security&SafetyControl-ProgramSystem,安全控制编程系统)模块为安全控制编程工具。

进一步地,所述现场设备包括智能仪表、传感器和阀门。

进一步地,所述主任务模块中设有看门狗子模块;所述外部库模块设有符合IEC61131-3标准的外部库接口;所述冗余模块采用基于双机热备的冗余架构,所述双机热备为二取一模式,所述双机热备中主机运算,从机不运算。

进一步地,所述辅助功能模块包括:

用于辅助诊断错误的日志子模块;

用于通过不同的闪烁方式来体现系统状态的状态显示子模块;

用于自动进行异常处理的异常处理子模块;

所述辅助功能模块的各个子模块用于保障PLC基本功能的正常运行。

所述基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统的运行方法,包括如下步骤:

步骤1:主任务初始化:包括安全控制运行系统时钟初始化、通信初始化、状态显示初始化、加载初始化、IO初始化、看门狗超时时间及任务周期初始化;

步骤2:喂狗:主任务每循环一次喂一次看门狗,每次下装时重新配置任务周期;

步骤3:写输出数据(写O数据):从数据区向DPRAM写需要改写的输出数据;

步骤4:写输入数据(读I数据):从DPRAM将所有输入数据读入数据区;

步骤5:运行*.nbp工程文件:根据现行状态是否为运行状态来确定是否执行*.nbp工程文件;

步骤6:安全控制运行系统与SC-ProSys模块通信:

步骤6.1:接收通信帧头:通过CRC(CyclicRedundancyCheck,循环冗余检验)校验判断通信帧头是否正确;

步骤6.2:接收通信帧数据:通过CRC校验判断通信帧数据是否正确,解析出通信服务编码;通信服务编码是自定义协议时为每个通信服务绑定的唯一编码;

步骤6.3:根据服务编码进行不同服务处理:根据编码进入相应分支进行处理,处理包括:加载运行、变量监视与修改、日志查询、诊断、登录、退出、开始、停止;

步骤7:运行周期控制:控制周期运行时间,保证任务执行为一个周期时间,如任务提前结束则需要主任务延时余下的时间。

进一步地,所述上位机运行SC-ProSys模块,所述下位机运行安全控制运行系统。根据自定义的通信协议得到如下的上下位交互关系:

(1)所述上位机的SC-ProSys模块对下位机的安全控制运行系统能进行登录、监视、退出登录、退出监视、开始运行和停止运行服务;

(2)所述上位机的SC-ProSys模块将用于诊断的专家信息发送给下位机的安全控制运行系统,所述安全控制运行系统根据专家信息和日志信息进行比对,进行自诊断;

(3)所述SC-ProSys模块把PLC程序编译成*.nbp工程文件,将*.nbp工程文件下装到下位机,下位机的安全控制运行系统对*.nbp工程文件进行解析、初始化和存储;

(4)所述上位机的SC-ProSys模块发送状态查询命令,所述下位机的安全控制运行系统返回状态信息,也能作为通信心跳信号;

(5)所述SC-ProSys模块准备好写变量表,包括变量表基本信息和改写的值,发送给下位机,安全控制运行系统接收到所述写变量表后对变量进行改写;

(6)所述SC-ProSys模块定义一个监视变量表,传给下位机,下位机的安全控制运行系统收到变量表后,根据变量表进行数据采集;

(7)所述上位机发起读日志服务,下位机将日志返回,上位机存储起来;

(8)所述下位机将采集到的变量执行结果列表传回给上位机,上位机收到结果列表后,SC-ProSys模块进行展示结果。

本发明的有益效果是:

1.提高了PLC的安全性、实用性:所述安全控制运行系统中各模块之间的设计合理高效,冗余模块、掉电保护模块的设计,以及安全控制操作系统的设计显著提高了安全性和实用性;

2.增强了通用性:外部库模块、通信模块、Modbus模块的设计,使本发明所述安全控制运行系统的兼容性增强,通用性强;

3.提高了鲁棒性和稳定性;

4.提高了易用性,本发明设计紧凑,操作方便。

附图说明

图1是本发明所述基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统的结构示意图;

图2是在CPU模块中采用了图1所示安全控制运行系统的下位机的应用结构示意图;

图3是图2所示的CPU模块的结构框图;

图4是图2所示CPU模块的安全控制操作系统的结构框图;

图5是图1所述安全控制运行系统的运行方法示意图;

图6是图1所述安全控制运行系统与上位机的交互示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

如图1所示,一种基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统,包括:

用于作为所述安全控制运行系统的入口的主任务模块;

用于与上位机进行通信和信息交互的通信模块;

用于从PLC可执行*.nbp工程文件中解析出用户程序并运行所述用户程序的加载运行模块;

用于与现场设备进行IO通信的IO管理模块;

用于兼容IEC61131-3标准的外部库模块;

辅助功能模块;

用于用户逻辑组态程序自诊断的诊断模块;

用于保障所述安全控制运行系统的安全的冗余模块;

用于保障掉电时的数据安全的掉电保护模块;

用于兼容通用的Modbus总线协议的Modbus模块;

所述主任务模块能分别调用加载运行模块、通信模块、IO管理模块、辅助功能模块、掉电保护模块和冗余模块;所述通信模块能分别调用加载运行模块、IO管理模块、诊断模块和Modbus模块;所述加载运行模块能调用外部库模块。

如图2所示,所述安全控制运行系统位于下位机的CPU模块中,且通过TCP/IP或RS232接口与所述上位机相连。

所述下位机为用于采集和传输原始数据的PLC,所述PLC由所述CPU模块、耦合器模块、模拟输入量模块、模拟输出量模块、数字输入量模块、数字输出量模块和末端模块组成,所述CPU模块、耦合器模块、模拟输入量模块、模拟输出量模块、数字输入量模块、数字输出量模块和末端模块分别通过同一个EtherCAT现场总线和现场设备相连。

如图3所示,所述CPU模块包括基于SPARC架构的CPU,以及分别与所述基于SPARC架构的CPU连接的SDRAM、DPRAM、PROM、GPIO、TIMER、UART、DSU、AD单元、EtherNet单元、I2C串行总线。

如图4所示,所述CPU模块还包括安全控制操作系统,所述安全控制操作系统包括安全内核、文件系统驱动单元、EtherCAT协议栈、以太网协议栈、运行周期控制时钟、硬件设备驱动,所述硬件设备驱动单元和安全内核相连,所述安全内核分别与文件系统驱动单元、EtherCAT协议栈、以太网协议栈、运行周期控制时钟相连。

所述上位机中配置有用于PLC逻辑组态、网络组态、编译、登录、下装、监视变量、诊断的SC-ProSys模块,所述SC-ProSys模块为安全控制编程工具。

所述现场设备包括智能仪表、传感器和阀门。

所述主任务模块中设有看门狗子模块;所述外部库模块设有符合IEC61131-3标准的外部库接口;所述冗余模块采用基于双机热备的冗余架构,所述双机热备为二取一模式,所述双机热备中主机运算,从机不运算。

所述辅助功能模块包括:

用于辅助诊断错误的日志子模块;

用于通过不同的闪烁方式来体现系统状态的状态显示子模块;

用于自动进行异常处理的异常处理子模块;

所述辅助功能模块的各个子模块用于保障PLC基本功能的正常运行。

如图5所示,所述基于SPARC架构CPU的PLC嵌入式实时安全控制运行系统的运行方法,包括如下步骤:

步骤1:主任务初始化:包括安全控制运行系统时钟初始化、通信初始化、状态显示初始化、加载初始化、IO初始化、看门狗超时时间及任务周期初始化;

步骤2:喂狗:主任务每循环一次喂一次看门狗。每次下装时重新配置任务周期;

步骤3:写O数据:从数据区向DPRAM写需要改写的O数据;

步骤4:读I数据:从DPRAM将所有I数据读入数据区;

步骤5:运行*.nbp工程文件:根据现行状态是否为运行状态来确定是否执行*.nbp工程文件;

步骤6:安全控制运行系统与SC-ProSys模块通信:

步骤6.1:接收通信帧头:通过CRC校验判断通信帧头是否正确;

步骤6.2:接收通信帧数据:通过CRC校验判断通信帧数据是否正确,解析出通信服务编码;通信服务编码是自定义协议时为每个通信服务绑定的唯一编码;

步骤6.3:根据服务编码进行不同服务处理:根据编码进入相应分支进行处理,处理包括:加载运行、变量监视与修改、日志查询、诊断、登录、退出、开始、停止;

步骤7:运行周期控制:控制周期运行时间,保证任务执行为一个周期时间,如任务提前结束则需要主任务延时余下的时间。

如图6所示,所述上位机运行SC-ProSys模块,所述下位机运行安全控制运行系统系统。根据自定义的通信协议得到如下的上下位交互关系:

(1)所述上位机的SC-ProSys模块对下位机的安全控制运行系统能进行登录、监视、退出登录、退出监视、开始运行和停止运行服务;

(2)所述上位机的SC-ProSys模块将用于诊断的专家信息发送给下位机的安全控制运行系统,所述安全控制运行系统根据专家信息和日志信息进行比对,进行自诊断;

(3)所述SC-ProSys模块把PLC程序编译成*.nbp工程文件,将*.nbp工程文件下装到下位机,下位机的安全控制运行系统对*.nbp工程文件进行解析、初始化和存储;

(4)所述上位机的SC-ProSys模块发送状态查询命令,所述下位机的安全控制运行系统返回状态信息,也能作为通信心跳信号;

(5)所述SC-ProSys模块准备好写变量表,包括变量表基本信息和改写的值,发送给下位机,安全控制运行系统接收到所述写变量表后对变量进行改写;

(6)所述SC-ProSys模块定义一个监视变量表,传给下位机,下位机的安全控制运行系统收到变量表后,根据变量表进行数据采集;

(7)所述上位机发起读日志服务,下位机将日志返回,上位机存储起来;

(8)所述下位机将采集到的变量执行结果列表传回给上位机,上位机收到结果列表后,SC-ProSys模块进行展示结果。

本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域技术人员可以想到的任何变形、改进、替换均落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号