一种与plc扩展模块通信的系统及实现方法

文档序号:6305971阅读:320来源:国知局
一种与plc扩展模块通信的系统及实现方法
【专利摘要】本发明公开了一种与PLC扩展模块通信的系统,包括主CPU及与主CPU连接的FPGA,FPGA包括双口RAM、CPU软核处理器及协议信号逻辑处理模块,其中:CPU软核处理器分别连接双口RAM和协议信号逻辑处理模块;主CPU将需要输出给对应的PLC扩展模块的数据存储到双口RAM;CPU软核处理器从双口RAM中读取所述数据,并运行对应的PLC扩展模块通信协议以产生第一命令;协议信号逻辑处理模块根据第一命令生成第一控制信号并将第一控制信号和所述数据发送给PLC扩展模块。实施本发明的有益效果是,通过采用主CPU结合FPGA的架构,可以释放主CPU的资源,节省软件执行时间,降低PLC的扫描周期。
【专利说明】一种与PLC扩展模块通信的系统及实现方法

【技术领域】
[0001] 本发明涉及可编程逻辑控制器,更具体地说,涉及一种与PLC扩展模块通信的系 统及实现方法。

【背景技术】
[0002] PLC (Programmable Logic Controller,可编程逻辑控制器)广泛应用于各种自动 化控制领域,在PLC系统中,PLC扩展模块和PLC主模块通常一起配合使用,PLC扩展模块应 用扩展数字量输入输出、模拟量输入输出、温度控制等一些PLC主模块不能满足的功能。
[0003] PLC主模块与PLC扩展模块之间通信协议的处理方式决定了 PLC的处理性能。在 现有的PLC系统中,主要通过定义PLC扩展模块的读写协议:在CPU编写代码实现与扩展模 块通信的协议,通过CPU的I/O 口输出控制信号,实现扩展模块的通信。但上述通信方式中, 在PLC的每个扫描周期都需要执行通信协议与PLC扩展模块进行数据交互,如果PLC系统 中的PLC扩展模块数量较多,或者需要交互的数据量较大,就会占用PLC系统中较多的CPU 资源和软件执行时间,从而影响PLC的扫描周期。


【发明内容】

[0004] 本发明要解决的技术问题在于,针对现有技术的上述PLC系统中通过CPU编写代 码实现PLC扩展模块通信协议、并通过CPU的I/O 口输出控制信号导致占用较多的PLC资 源和软件执行时间的缺陷,提供一种与PLC扩展模块通信的系统及实现方法。
[0005] 本发明解决其技术问题所采用的技术方案是:构造一种与PLC扩展模块通信的系 统,其特征在于,包括主CPU及与所述主CPU连接的FPGA,所述FPGA包括双口 RAM、CPU软 核处理器及协议信号逻辑处理模块,其中:所述CPU软核处理器分别连接所述双口 RAM和所 述协议信号逻辑处理模块;所述主CPU将需要输出给对应的PLC扩展模块的数据存储到双 口 RAM ;所述CPU软核处理器从所述双口 RAM中读取需输出给PLC扩展模块的数据,并运行 对应的PLC扩展模块通信协议以产生第一命令;所述协议信号逻辑处理模块根据所述第一 命令生成第一控制信号并将所述第一控制信号和需输出给PLC扩展模块的数据发送给所 述PLC扩展模块。
[0006] 在上述与PLC扩展模块通信的系统中,所述CPU软核处理器在需从对应的PLC扩 展模块读取数据时,运行对应的PLC扩展模块通信协议以产生第二命令,所述协议信号逻 辑处理模块根据所述第二命令生成第二控制信号并将所述第二控制信号发送给PLC扩展 模块,所述PLC扩展模块根据接收到的所述第二控制信号返回数据给所述协议信号逻辑处 理模块,所述协议信号逻辑处理模块将所述PLC扩展模块返回的数据发送给所述CPU软核 处理器,通过所述CPU软核处理器将接收到的PLC扩展模块返回的数据写入所述双口 RAM, 所述主CPU从所述双口 RAM读取PLC扩展模块返回的数据。
[0007] 在上述与PLC扩展模块通信的系统中,所述FPGA还包括总线接口模块,所述CPU 软核处理器通过所述总线接口模块分别连接所述双口 RAM和所述协议信号逻辑处理模块。
[0008] 在上述与PLC扩展模块通信的系统中,所述主CPU包括与所述双口 RAM连接的数 据读写模块,所述数据读写模块用于将需要输出给对应的PLC扩展模块的数据存储到所述 双口 RAM,并从所述双口 RAM中读取PLC扩展模块返回的数据。
[0009] 还提供一种与PLC扩展模块通信的实现方法,所述方法包括以下步骤:
[0010] SI :PLC主模块中的主CPU在需输出数据给对应的PLC扩展模块时,将需要输出给 PLC扩展模块的数据存储到FPGA双口 RAM ;
[0011] S2 :集成到PLC主模块的FPGA从所述双口 RAM读取需输出给所述PLC扩展模块的 数据,并运行对应的PLC扩展模块通信协议以产生第一命令;
[0012] S3 :所述FPGA根据第一命令生成第一控制信号并将所述第一控制信号和需输出 给所述PLC扩展模块的数据发送给所述PLC扩展模块。
[0013] 在上述与PLC扩展模块通信的实现方法中,所述方法包括:
[0014] S1' :所述FPGA在需从对应的PLC扩展模块读取数据时运行对应的PLC扩展模块 通信协议,生成第二控制信号并将所述第二控制信号发送给所述PLC扩展模块;
[0015] S2' :所述PLC扩展模块根据接收到的所述第二控制信号返回数据给所述FPGA并 存储到所述双口 RAM ;
[0016] S3' :所述主CPU从所述双口 RAM读取所述PLC扩展模块返回的数据。
[0017] 在上述与PLC扩展模块通信的实现方法中,所述步骤S1'具体包括:
[0018] S1' -1 :CPU软核处理器运行对应的PLC扩展模块通信协议以产生第二命令,并将 所述第二命令发送给协议信号逻辑处理模块;
[0019] S1' -2 :所述协议信号逻辑处理模块根据所述第二命令生成第二控制信号将所述 第二控制信号发送给所述PLC扩展模块。
[0020] 在上述与PLC扩展模块通信的实现方法中,所述步骤S2'具体包括:
[0021] S2' -1 :所述PLC扩展模块根据接收到的所述第二控制信号返回数据给所述协议 信号逻辑处理模块;
[0022] S2' -2 :所述协议信号逻辑处理模块将所述PLC扩展模块返回的数据发送给所述 CPU软核处理器;
[0023] S2' -3 :所述CPU软核处理器将接收到的所述PLC扩展模块返回的数据存储到所 述双口 RAM。
[0024] 实施本发明的与PLC扩展模块通信的系统及实现方法,具有以下有益效果:通过 采用主CPU结合FPGA的架构,主CPU中执行系统程序,在FPGA中建立CPU软核处理器实现 PLC扩展模块通信协议处理,从而可以释放主CPU的资源,节省软件执行时间,降低PLC的扫 描周期。

【专利附图】

【附图说明】
[0025] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0026] 图1是本发明一种与PLC扩展模块通信的系统实施例的结构示意图。

【具体实施方式】
[0027] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明 本发明的【具体实施方式】。
[0028] 如图1所示,是本发明一种与PLC扩展模块通信的系统实施例的结构示意图,用于 实现PLC主模块与至少一个PLC扩展模块间的通信,PLC扩展模块可以是数字量输入输出扩 展模块、模拟量输入输出扩展模块及温度控制等专用功能扩展模块等。在PLC系统中包括 PLC主模块1及至少一个PLC扩展模块,本发明与PLC扩展模块通信的系统在PLC主模块1 中实现,具体包括主CPU11及与主CPU11连接的FPGA12,该FPGA12又包括双口 RAM12UCPU 软核处理器122、总线接口模块123及协议信号逻辑处理模块124。其中,CPU软核处理器 121分别通过总线接口模块123连接双口 RAM121和协议信号逻辑处理模块124。
[0029] 上述主CPU11包括数据读写模块111,用于将需要输出给对应PLC扩展模块的数据 或读取对应PLC扩展模块返回的数据。具体地,主CPU11在需输出数据给对应的PLC扩展 模块时,通过其数据读写模块111将需要输出给该PLC扩展模块的数据存储到双口 RAM121, CPU软核处理器122通过内部总线从双口 RAM121中读取需输出给该PLC扩展模块的数据, 并运行对应的PLC扩展模块通信协议以产生第一命令,将第一命令和需输出给该PLC扩 展模块的数据通过内部总线发送给协议信号逻辑处理模块124,该协议信号逻辑处理模块 124根据从CPU软核处理器122接收的第一命令生成第一控制信号并将该第一控制信号和 需输出给该PLC扩展模块的数据发送给该PLC扩展模块。其中:在该系统中,不同的PLC扩 展模块的通信协议都是一样的,存储在CPU软核处理器中。在上述过程中,CPU软核处理器 122执行PLC扩展模块协议后生成的第一命令主要包括寻址命令(对某个PLC扩展模块的 某段地址进行操作)及写数据命令等,协议信号逻辑处理模块124根据该第一命令生成第 一控制信号,该第一控制信号也代表了对某个PLC扩展模块的某段地址写入数据,最终将 需发送给对应的PLC扩展模块的数据写入该PLC扩展模块。
[0030] 当FPGA12需从对应的PLC扩展模块读取数据时,CPU软核处理器122运行PLC扩 展模块通信协议以产生第二命令,将第二命令通过内部总线发送给协议信号逻辑处理模块 124,该协议信号逻辑处理模块124根据接收到的第二命令生成第二控制信号并将该第二 控制信号发送给该PLC扩展模块,PLC扩展模块根据接收到的该第二控制信号返回数据给 协议信号逻辑处理模块124,协议信号逻辑处理模块124再通过内部总线将PLC扩展模块返 回的数据发送给CPU软核处理器122,通过CPU软核处理器122将接收到的PLC扩展模块 返回的数据写入双口 RAM121,主CPU中的数据读写模块111再从双口 RAM121中读取该PLC 扩展模块返回的数据。在上述过程中,需要从对应的PLC扩展模块读取数据,则CPU软核处 理器122执行PLC扩展模块协议以产生第二命令,该第二命令主要包括寻址命令(对某个 PLC扩展模块的某段地址进行操作)及读数据命令,在通协议信号逻辑处理模块124接收 到该第二命令后根据该第二命令生成第二控制信号,该第二控制信号代表了对某个PLC扩 展模块的某段地址的数据进行读取,该PLC扩展模块根据该第二控制信号返回数据给协议 信号逻辑处理模块124, CPU软核处理器122再通过内部总线接收由协议信号逻辑处理模块 124发送的该PLC扩展模块返回的数据并写入双口 RAM121,之后主CPU11中的数据读写模 块111从双口 RAM121读取该PLC扩展模块返回的数据。
[0031] 上述FPGA12内部的CPU软核处理器122需要通过内部总线与双口 RAM121和协议 信号逻辑处理模块124交互数据,因此建立上述总线接口模块123,通过地址来区分CPU软 核处理器122需要交互的是双口 RAM数据还是协议信号逻辑处理模块数据。此外,在主CPU 与FPGA之间,通过FPGA12中的双口 RAM,实现主CPU与FPGA之间通过内存映射方式进行数 据交互。
[0032] 本发明还提供了一种与PLC扩展模块通信的实现方法,基于上述的与PLC扩展模 块通信的系统,该系统在PLC主模块中实现,包括主CPU及与主CPU连接的FPGA,主CPU包括 数据读写模块;FPGA包括双口 RAM、CPU软核处理器、总线接口模块及协议信号逻辑处理模 块,其中:CPU软核处理器通过总线接口模块分别连接双口 RAM和协议信号逻辑处理模块。
[0033] 该方法包括以下步骤:
[0034] S1 :主CPU在需输出数据给对应的PLC扩展模块时,其数据读写模块将需要输出给 PLC扩展模块的数据存储到FPGA双口 RAM。
[0035] S2 :集成到PLC主模块的FPGA从其双口 RAM读取需输出给PLC扩展模块的数据, 并运行对应的PLC扩展模块通信协议以产生第一命令。具体地,先通过CPU软核处理器从 双口 RAM读取需输出给该PLC扩展模块的数据,运行PLC扩展模块通信协议以产生第一命 令,将第一命令和需输出给PLC扩展模块的数据通过内部总线发送给协议信号逻辑处理模 块;在该步骤中,第一命令主要包括寻址命令(对某个PLC扩展模块的某段地址进行操作) 及写数据命令等。
[0036] S3 :FPGA根据第一命令生成第一控制信号并将第一控制信号和需输出给PLC扩展 模块的数据发送给该PLC扩展模块。具体地,通过协议信号逻辑处理模块根据从CPU软核 处理器接收的第一命令生成第一控制信号并将第一控制信号和需输出给该PLC扩展模块 的数据发送给该PLC扩展模块;在该步骤中,第一控制信号也代表了对某个PLC扩展模块的 某段地址写入数据,最终实现将需发送给PLC扩展模块的数据写入该PLC扩展模块。
[0037] 上述方法还包括以下步骤:
[0038] SI' :FPGA在需从对应的PLC扩展模块读取数据时,运行对应的PLC扩展模块通信 协议,生成第二控制信号并将第二控制信号发送给PLC扩展模块。具体地,先通过FPGA中 的CPU软核处理器运行PLC扩展模块通信协议以产生第二命令,并将第二命令通过内部总 线发送给协议信号逻辑处理模块;在该步骤中,第二命令主要包括寻址命令(对某个PLC扩 展模块的某段地址进行操作)及读数据命令。之后协议信号逻辑处理模块根据从CPU软核 处理器接收的第二命令生成第二控制信号将将第二控制信号发送给该PLC扩展模块;在该 步骤中,第二控制信号代表了对某个PLC扩展模块的某段地址的数据进行读取;
[0039] S2' :PLC扩展模块根据接收到的第二控制信号返回数据给FPGA并存储到其双口 RAM。具体地,该PLC扩展模块先根据接收到的第二控制信号返回数据给协议信号逻辑处理 模块,协议信号逻辑处理模块再将该PLC扩展模块返回的数据发送给CPU软核处理器,之后 CPU软核处理器将接收到的该PLC扩展模块返回的数据存储到双口 RAM。
[0040] S3' :主CPU中的数据读写模块从双口 RAM读取PLC扩展模块返回的数据。
[0041] 因此,本发明通过在PLC主模块中采用主CPU结合FPGA的架构,主CPU只需将需输 出给对应PLC扩展模块的数据存储到双口 RAM以及从双口 RAM读取对应PLC扩展模块返回 的数据即执行PLC系统程序,且通过在FPGA中建立CPU软核处理器以实现PLC扩展模块的 通信协议处理,通过内部总线与协议信号逻辑处理模块交互,由协议信号逻辑处理模块实 现控制信号与数据的输入输出处理,实现CPU软核处理器与PLC扩展模块的数据交互。通 过采用这种方式,可以释放PLC主模块中主CPU的资源,节省软件执行时间,降低PLC的扫 描周期。
[0042] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体 实施方式,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员 在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多 形式,这些均属于本发明的保护之内。
【权利要求】
1. 一种与PLC扩展模块通信的系统,其特征在于,包括主CPU及与所述主CPU连接的 FPGA,所述FPGA包括双口 RAM、CPU软核处理器及协议信号逻辑处理模块,其中:所述CPU软 核处理器分别连接所述双口 RAM和所述协议信号逻辑处理模块;所述主CPU将需要输出给 对应的PLC扩展模块的数据存储到双口 RAM ;所述CPU软核处理器从所述双口 RAM中读取 需输出给PLC扩展模块的数据,并运行对应的PLC扩展模块通信协议以产生第一命令;所述 协议信号逻辑处理模块根据所述第一命令生成第一控制信号并将所述第一控制信号和需 输出给PLC扩展模块的数据发送给所述PLC扩展模块。
2. 根据权利要求1所述的与PLC扩展模块通信的系统,其特征在于,所述CPU软核处理 器在需从对应的PLC扩展模块读取数据时,运行对应的PLC扩展模块通信协议以产生第二 命令,所述协议信号逻辑处理模块根据所述第二命令生成第二控制信号并将所述第二控制 信号发送给PLC扩展模块,所述PLC扩展模块根据接收到的所述第二控制信号返回数据给 所述协议信号逻辑处理模块,所述协议信号逻辑处理模块将所述PLC扩展模块返回的数据 发送给所述CPU软核处理器,通过所述CPU软核处理器将接收到的PLC扩展模块返回的数 据写入所述双口 RAM,所述主CPU从所述双口 RAM读取PLC扩展模块返回的数据。
3. 根据权利要求2所述的与PLC扩展模块通信的系统,其特征在于,所述FPGA还包括 总线接口模块,所述CPU软核处理器通过所述总线接口模块分别连接所述双口 RAM和所述 协议信号逻辑处理模块。
4. 根据权利要求2所述的与PLC扩展模块通信的系统,其特征在于,所述主CPU包括与 所述双口 RAM连接的数据读写模块,所述数据读写模块用于将需要输出给对应的PLC扩展 模块的数据存储到所述双口 RAM,并从所述双口 RAM中读取PLC扩展模块返回的数据。
5. -种与PLC扩展模块通信的实现方法,其特征在于,所述方法包括以下步骤: 51 :PLC主模块中的主CPU在需输出数据给对应的PLC扩展模块时,将需要输出给PLC 扩展模块的数据存储到FPGA双口 RAM ; 52 :集成到PLC主模块的FPGA从所述双口 RAM读取需输出给所述PLC扩展模块的数 据,并运行对应的PLC扩展模块通信协议以产生第一命令; 53 :所述FPGA根据第一命令生成第一控制信号并将所述第一控制信号和需输出给所 述PLC扩展模块的数据发送给所述PLC扩展模块。
6. 根据权利要求5所述的与PLC扩展模块通信的实现方法,其特征在于,所述方法包 括: S1' :所述FPGA在需从对应的PLC扩展模块读取数据时运行对应的PLC扩展模块通信 协议,生成第二控制信号并将所述第二控制信号发送给所述PLC扩展模块; S2' :所述PLC扩展模块根据接收到的所述第二控制信号返回数据给所述FPGA并存储 到所述双口 RAM; S3' :所述主CPU从所述双口 RAM读取所述PLC扩展模块返回的数据。
7. 根据权利要求6所述的与PLC扩展模块通信的实现方法,其特征在于,所述步骤S1' 具体包括: SI' -1 :CPU软核处理器运行对应的PLC扩展模块通信协议以产生第二命令,并将所述 第二命令发送给协议信号逻辑处理模块; S1' _2 :所述协议信号逻辑处理模块根据所述第二命令生成第二控制信号并将所述第 二控制信号发送给所述PLC扩展模块。
8.根据权利要求6所述的与PLC扩展模块通信的实现方法,其特征在于,所述步骤S2' 具体包括: S2' -1 :所述PLC扩展模块根据接收到的所述第二控制信号返回数据给所述协议信号 逻辑处理模块; S2 ' -2 :所述协议信号逻辑处理模块将所述PLC扩展模块返回的数据发送给所述CPU软 核处理器; S2' -3 :所述CPU软核处理器将接收到的所述PLC扩展模块返回的数据存储到所述双 □ RAM。
【文档编号】G05B19/05GK104090519SQ201410295101
【公开日】2014年10月8日 申请日期:2014年6月25日 优先权日:2014年6月25日
【发明者】郭福坤 申请人:深圳市汇川控制技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1