一种模块化PLC扩展通信系统及通信方法与流程

文档序号:12863749阅读:772来源:国知局
一种模块化PLC扩展通信系统及通信方法与流程

本发明涉及plc通信领域,尤其涉及一种模块化plc扩展通信系统,还涉及一种基于所述模块化plc扩展通信系统的通信方法。



背景技术:

可编程逻辑控制器plc最初主要是为了生产自动化设备的逻辑控制而开发,而随着it技术和电子信息技术的发展,以及自动化生产控制的网络化智能化等需求,plc控制器已经成为具备复杂控制能力的开放式网络体系平台。模块化结构的plc利用其开放式且扩展的模式可兼容不同控制系统的控制需求,从而成为plc逻辑控制器发展的趋势,特别是在工厂自动化,机器人和数控机床等领域。

集中式plc利用cpu直接控制io点的方式可以实现高速的io信号刷新速率,而模块式plc利用cpu通信扩展外置模块的方式实现io信号的刷新,其外置模块的通信刷新周期直接影响了plc控制的扫描周期,从而影响了plc控制性能。而现有模块扩展之间的通信方式大多数采用spi、串口或者多路选通并口等通信方式,极大地遏制了模块扩展节点的数量,增加了plc系统的扫描周期,从而遏制了模块化plc控制的性能。因此,研究一种应用在模块化plc系统的扩展通信协议对于增加模块化plc系统控制点数、提升控制系统的性能具有重要的意义。



技术实现要素:

为解决现有技术中模块化plc点数扩展的限制、刷新周期长、通信不稳定等的问题,本发明提供一种模块化plc扩展通信系统,还提供了一种基于所述模块化plc扩展通信系统的通信方法。

本发明的系统包括cpu模块、1个以上接口通信模块和若干个扩展模块,其中,所述cpu模块与接口通信模块相连,所述扩展模块通过并行通信总线与接口通信模块和/或cpu模块相连,所述cpu模块、接口通信模块和扩展模块均设有物理层、数据链路层和应用层,其中,物理层:用于接口通信模块和/或cpu模块与扩展模块之间的物理连接;数据链路层:用于定义数据帧结构,并对数据包进行解析和发送;应用层:用于实现接口通信模块和/或cpu模块与扩展模块间的有效数据交互。

本发明作进一步改进,所述扩展模块包括虚拟的链路切换开关,用于实现扩展模块工作模式的切换。

本发明作进一步改进,所述接口通信模块为远程接口通信模块,通过外置的用于通信的扩展模块实现cpu模块的远程通信功能。

本发明作进一步改进,所述并行通信总线包括地址线、数据线、片选线、读使能线、写使能线和中断控制线,所述并行总线在扩展模块间的物理连接上相互隔离。

本发明作进一步改进,所述扩展模块的类型包括数字输入模块、数字输出模块、模拟输入模块、模拟输出模块、脉冲计数模块、脉冲发送模块和协议网关模块。

本发明作进一步改进,所述数据链路层的数据帧结构包括地址区、命令区和数据区,其中,所述地址区、命令区和数据区末尾设有校验位。

本发明作进一步改进,所述地址区包含8位,前7位为编址包括广播地址和单播地址,最后1位为前7位的校验位,所述命令区包括cpu模块和/或接口通信模块至扩展模块的命令、扩展模块至cpu模块和/或接口通信模块的响应命令。

本发明还提供了一种基于所述模块化plc扩展通信系统的通信方法,包括如下步骤:

s1:系统上电或复位;

s2:cpu模块自动进入配置模式,扫描并初始化扩展模块;

s3:配置模式完成时,判断cpu模块和/或接口通信模块与初始化的扩展模块配置及组态是否一致,如果是,进入通信模式,如果否,返回执行步骤s2;

s4:cpu模块、接口通信模块和扩展模块之间开始相互通信。

本发明作进一步改进,步骤s2中,扩展模块的初始化过程包括如下步骤:

s21:cpu模块和/或接口通信模块与扩展模块1进行点对点通信;

s22:cpu模块和/或接口通信模块识别并写入扩展模块1通信地址;

s23:扩展模块1接收cpu模块和/或接口通信模块发送的数据并转发给扩展模块2;

s24:cpu模块和/或接口通信模块与扩展模块2进行点对点通信;

s25:依次类推,完成所有扩展模块的初始化。

本发明作进一步改进,在步骤s4的通信模式下,扩展模块的链路转发闭合,cpu模块和/或接口通信模块直接与对应的扩展模块通信。避免了后端扩展模块由于前端扩展模块储存转发损失的效率,从而最大程度增加了通信带宽。

与现有技术相比,本发明的有益效果是:采用级联式的并口总线扩展方式,可以实现扩展模块的方便快捷接入方式;利用扩展模块配置模式和通信模式的开关切换实现了扩展模块接入种类和数量的自动识别,最小化了接线接口成本;数据链路层采用了字节内的位校验方式,提高了扩展模块的稳定性,减少了扩展模块刷新周期。

附图说明

图1为本发明结构示意图;

图2是本发明的cpu模块/接口通信模块与扩展模块连接示意图;

图3是本发明的通信网络结构模型示意图;

图4是本发明的扩展模块类型示意图;

图5是本发明的扩展模块动态处理切换链路示意图;

图6是本发明的数据帧结构示意图;

图7是本发明的数据帧数据区结构示意图;

图8是本发明通信方法流程图;

图9是本发明的扩展模块通信状态切换示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步详细说明。

如图1所示,本发明的系统包括cpu模块、1个以上接口通信模块和与cpu模块相连的若干个扩展模块,其中,所述cpu模块与接口通信模块相连,所述扩展模块通过并行通信总线与接口通信模块和/或cpu模块相连。本发明中cpu模块作为模块化plc扩展通信系统的逻辑核心控制部分,完成整个系统的逻辑控制功能,通过plc系统扩展通信协议与扩展模块相连接,来实现模块式plc点数扩展的功能需求。

cpu模块还可以通过接口通信模块远程扩展plc的输入输出点数,接口通信模块可以采用串口和网口等通信方式与cpu模块相连。接口通信模块可以实现与cpu模块的串行数据交互,可将远程的输入输出数据采集到cpu模块。同样的,接口通信模块通过plc系统扩展通信协议与扩展模块相连接,保持了本发明通信系统中扩展模块的一致性和重用性。

本例的接口通信模块可以为远程接口通信模块,通过外置的用于通信的扩展模块实现cpu模块的远程通信功能。cpu通过远程与接口通信模块相连实现远程数据的交换,从而实现现场级别信号至cpu模块的采集与发送,达到系统的逻辑控制功能。接口通信模块通过串行通信的方式与cpu模块通信,通过外置扩展通信模块来完成cpu模块的远程输入输出功能,实现plc系统的远程数据交互功能。扩展模块无差别的通过扩展通信协议进行互联,实现现场级信号的输入输出功能。

如图2所示,cpu模块/接口通信模块通过并行通信总线与扩展模块1相连,扩展模块1再通过并行总线与扩展模块2相连,依次可以连接至扩展模块n。并行总线包括地址信号、数据信号和控制信号,并行总线在扩展模块间具有相同的定义,在物理连接上互相隔离,通过扩展模块内部的切换方式来实现拓扑的自动识别和高效的通信方式。另外,所有扩展模块都采用相同的电源供电,以便实现快速的模块方式接入。

如图3所示,本例的cpu模块、接口通信模块和扩展模块均设有物理层、数据链路层和应用层,实现三层扩展通信协议,其中,物理层:用于接口通信模块和/或cpu模块与扩展模块之间的物理连接,数据直接通过并口相互传递;数据链路层:用于定义接收的数据的数据帧结构,并对数据包进行解析和发送;应用层:用于实现接口通信模块和/或cpu模块与扩展模块间的有效数据交互,本例根据不同模块的实际功能将有效数据与数据包进行交换,实现cpu模块/接口通信模块与扩展模块之间的有效数据交互。

本例中cpu模块/接口通信模块通过并行总线与扩展模块1连接,扩展模块1通过同样的并行总线与扩展模块2连接,依次类推连接至扩展模块n,最终形成线性拓扑结构,从而构成通信的物理层。本例的并行总线包括地址线、数据线、片选线、读使能线、写使能线和中断控制线。

如图4所示,本例的扩展模块类型有数字输入模块、数字输出模块、模拟输入模块、模拟输出模块、脉冲计数模块、脉冲发送模块和协议网关模块等功能模块,采用本发明设计的扩展通信协议可以实现扩展模块之间无顺序限制要求,能够实现快速插拔式模块扩展功能。在兼容同一种协议扩展的基础之上实现了不同的应用功能。

如图5所示,所述扩展模块包括虚拟的链路切换开关,用于实现扩展模块工作模式的切换,所述扩展模块的工作模式包括配置模式和通信模式。具体地,当处于配置模式下,cpu模块/接口通信模块与扩展模块直连,内部虚拟的链路切换开关处于断路状态,此时cpu模块/接口通信模块与此时的扩展模块进行点对点通信,cpu模块/接口通信模块进行扩展模块种类的识别以及为通信模式配置地址;当配置模式完成时,内部虚拟的链路切换开关闭合,扩展模块接收数据但不进行反馈数据,直至cpu模块/接口通信模块发送切换至通信模式命令;进入通信模式后,扩展模块根据在配置模式下配置的地址进行通信,所有的扩展模块都挂在cpu模块/接口通信模块通信的总线上,增加了通信的有效效率,缩短了数据刷新的周期。

同时,本例的cpu模块和接口通信模块的工作模式同样具有配置模式和通信模式,当cpu模块/接口通信模块处于上电或者复位状态时,自动进入配置模式下扫描扩展模块,扫描完成后与pc端编程的组态设置的扩展模块种类进行对比,来确实用户的接线是否与软件的设置一致,若配置一致则进入通信模式,反之则进入配置模式继续确认是否组态与接线一致。

如图6所示,所述数据链路层的数据帧结构包括地址区、命令区和数据区,其中,所述地址区、命令区和数据区末尾设有校验位。

所述cpu模块/接口通信模块通过并口通信与扩展模块之间进行通信,本发明在充分优化数据链路层,最大化通信带宽的基础之上,设计了基于单个字节校验的通信,具体包括在地址和命令的控制和反馈信息的基础之上,采用前7位作为有效信息扩展,第8位作为前7位的比特校验,数据区采用字节校验的方式进行传输。

具体地,所述地址区包含8位,采用7位编址,最后1位为前7位的校验位,广播地址为0000000,单播地址从0000001至1111111。命令区包含cpu模块/接口通信模块至扩展模块的命令及扩展模块至cpu模块/接口通信模块的响应命令,其具体定义如图6所示。为了最小化数据帧,在确保稳定性的前提下,设计数据帧如图7所示,最后一位作为校验位,同时,在读写数据时充分利用第4位到第2位作为数据区的长度,便于后续数据的通信。数据区在读写数据时在已知数据长度的情况下最简化数据区结构,仅在帧尾保留最简单的帧校验。

采用了字节内的位校验方式,提高了扩展模块的稳定性,减少了扩展模块刷新周期。

如图8所示,本例的通信方法包括如下步骤:

s1:系统上电或复位;

s2:cpu模块自动进入配置模式,扫描并初始化扩展模块;

s3:配置模式完成时,判断cpu模块和/或接口通信模块与初始化的扩展模块配置及组态是否一致,如果是,进入通信模式,如果否,返回执行步骤s2;

s4:cpu模块、接口通信模块和扩展模块之间开始相互通信。

其中,步骤s2中,本例的通信方法,在方便灵活接入扩展模块的基础之上,设计了可自动识别的、简单低成本的接线实现方法。扩展模块的初始化过程包括如下步骤:

s21:cpu模块和/或接口通信模块与扩展模块1进行点对点通信;

s22:cpu模块和/或接口通信模块识别并写入扩展模块1通信地址;

s23:扩展模块1接收cpu模块和/或接口通信模块发送的数据并转发给扩展模块2;

s24:cpu模块和/或接口通信模块与扩展模块2进行点对点通信,然后cpu模块和/或接口通信模块识别并写入扩展模块2信地址;

s25:扩展模块2接收cpu模块和/或接口通信模块发送的数据并转发给扩展模块3;依次类推,用最小的接线成本实现所有扩展模块n的初始化。

在步骤s4的通信模式下,扩展模块的链路转发闭合,cpu模块和/或接口通信模块直接与对应的扩展模块通信。避免了后端扩展模块由于前端扩展模块储存转发损失的效率,从而最大程度增加了通信带宽。

如图9所示,本例的扩展模块的通信状态的在上电或者复位状态默认进入配置状态,协议总线检查实际模块连线是否与组态配置一致,若不一致则一直处于配置状态;若一致则进入通信状态,进行正常通信。在正常通信状态下,若由于模块无法识别或者识别错误等出错检测后进入配置状态,重新与组态对比一致后才能进入正常的通信状态。

综上所述,本发明相对于现有的plc系统扩展来说,具有方便灵活、接口成本低、接入模块数量多、刷新周期短等优势,对于模块化plc系统具有直接的应用价值。

本发明的有益效果是:

(1)本发明采用级联式的并口总线扩展方式,可以实现扩展模块的方便快捷接入方式;

(2)本发明利用扩展模块的配置模式和通信模式的链路切换开关切换,实现了扩展模块接入种类和数量的自动识别,最小化了接线接口成本;

(3)本发明在数据链路层采用了字节内的位校验方式,提高了扩展模块的稳定性,减少了扩展模块刷新周期。

以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1