首页> 中国专利> 一种PLC扩展系统、PLC系统通信方法及存储介质

一种PLC扩展系统、PLC系统通信方法及存储介质

摘要

本发明实施例提供了一种PLC扩展系统、PLC系统通信方法及存储介质,用于实现PLC系统的扩展,降低电路复杂度,节约硬件成本。本发明实施例中的PLC扩展系统包括:主模块以及至少一个CPLD复杂可编程逻辑器件;其中,所述主模块与所述至少一个CPLD之间采用扩展总线进行级连;所述主模块包括微处理器以及可编程逻辑门阵列器件;所述可编程逻辑门阵列器件,用于加载编程数据并实现所述编程数据对应的逻辑功能;所述微处理器,用于输出编址信号,并控制所述主模块与所述至少一个CPLD进行通信;所述至少一个CPLD基于扩展总线依次接收所述编址信号;接收到编址信号之后,第一级CPLD之后的每个CPLD在上一级CPLD的地址上增加预设数值,以生成自身的地址。

著录项

  • 公开/公告号CN113075904A

    专利类型发明专利

  • 公开/公告日2021-07-06

    原文格式PDF

  • 申请/专利权人 深圳市英威腾电气股份有限公司;

    申请/专利号CN202110303370.2

  • 发明设计人 曾红勇;刘涛;

    申请日2021-03-22

  • 分类号G05B19/05(20060101);

  • 代理机构44285 深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人常忠良

  • 地址 518000 广东省深圳市南山区桃源街道长源社区学苑大道1001号南山智园A7栋501

  • 入库时间 2023-06-19 11:44:10

说明书

技术领域

本发明涉及自动化控制技术领域,尤其涉及一种PLC扩展系统、PLC系统通信方法及存储介质。

背景技术

PLC(Programmable Logic Controller,可编程逻辑控制器)作为工业自动化设备的控制层对整个系统起着至关重要的作用。随着控制对象增多、工艺愈加复杂,单一依靠小型PLC本体来实现如此众多的控制任务则难以实现,所以PLC扩展模块的开发则显得尤为重要。

现有的PLC扩展方案中,需要为每个扩展模块设置硬件译码电路,每个扩展模块通过地址线与硬件译码电路连接,通过至少一个硬件译码电路分配各个扩展模块的地址。因此,现有的PLC扩展方案,需要设置至少一个硬件译码电路,增加了电路复杂度以及硬件成本。

发明内容

本发明实施例提供了一种PLC扩展系统、PLC系统通信方法及存储介质,用于实现PLC系统的扩展,降低电路复杂度,节约硬件成本。

本发明实施例第一方面提供了一种PLC扩展系统,可包括:

主模块以及至少一个CPLD复杂可编程逻辑器件;其中,

所述主模块与所述至少一个CPLD之间采用扩展总线进行级连;

所述主模块包括微处理器以及可编程逻辑门阵列器件;

所述可编程逻辑门阵列器件,用于加载编程数据并实现所述编程数据对应的逻辑功能;

所述微处理器,用于输出编址信号,并控制所述主模块与所述至少一个CPLD进行通信;

所述至少一个CPLD基于扩展总线依次接收所述编址信号;

接收到编址信号之后,第一级CPLD之后的每个CPLD在上一级CPLD的地址上增加预设数值,以生成自身的地址。

可选的,作为一种可能的实施方式,本申请实施例中,所述可编程逻辑门阵列器件为FPGA现场可编程逻辑门阵列。

可选的,作为一种可能的实施方式,本申请实施例中,所述可编程逻辑门阵列器件包括两个级联的CPLD。

本发明实施例第二方面提供了一种PLC系统通信方法,可包括:

输出包含目的地址的通信请求信号,以使得接收到所述通信请求信号的CPLD确定与所述目的地址一致的目标CPLD;

读取所述目标CPLD对所述通信请求信号的应答信号。

可选的,作为一种可能的实施方式,本发明实施例中,输出包含目的地址的通信请求信号,包括:

输出包含目的地址的通信请求信号为I/O端口配置查询信号,以获取目标CPLD的I/O端口配置信息。

可选的,作为一种可能的实施方式,本发明实施例中,输出包含目的地址的通信请求信号,包括:

输出包含目的地址的通信请求信号为数据写入信号,以将数据写入目标CPLD。

可选的,作为一种可能的实施方式,本发明实施例中,读取所述目标CPLD对所述通信请求信号的应答信号,包括:

当检测到所述目标CPLD的第一类端口的状态处于应答状态时,基于扩展总线读取所述目标CPLD的第二类端口的状态值,并根据所述第二类端口的状态值生成应答数据;其中,所述第一类端口为控制信号传输的数据端口,所述第二类端口为通信数据传输的数据端口。

可选的,作为一种可能的实施方式,本发明实施例中,所述第一类端口的数量为一个或多个。

可选的,作为一种可能的实施方式,本发明实施例中,所述第二类端口的数量为一个或多个。

本发明实施例第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。

从以上技术方案可以看出,本发明实施例具有以下优点:

本申请中的PLC扩展系统,每个扩展的CPLD可以基于扩展总线依次接收到编址信号,然后获取上一级CPLD的地址,并在上一级CPLD的地址上增加预设数值,以生成自身的地址。相对于现有技术,本申请无需设置单独的硬件译码电路连接和地址线,降低了电路复杂度,节约了硬件成本。

附图说明

图1为本发明实施例中一种PLC扩展系统的一个实施例示意图;

图2为本发明实施例中一种PLC系统通信方法一个实施例示意图;

图3为本发明实施例中一种PLC扩展系统的一个具体应用实施例示意图。

具体实施方式

本发明实施例提供了一种PLC扩展系统、PLC系统通信方法及存储介质,用于实现PLC系统的扩展,降低电路复杂度,节约硬件成本。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种PLC扩展系统的一个实施例可包括:主模块10以及至少一个CPLD(复杂可编程逻辑器件);其中,

所述主模块10与所述至少一个CPLD之间采用扩展总线进行级连;

所述主模块10包括微处理器101以及可编程逻辑门阵列器件102;

所述可编程逻辑门阵列器件102,用于加载编程数据并实现所述编程数据对应的逻辑功能;

所述微处理器101,用于输出编址信号,并控制所述主模块与各个CPLD进行通信。

PLC扩展系统在上电之后,微处理器可以执行预设的程序输出编址信号。与主模块级联的每个CPLD可以基于扩展总线依次接收该编址信号,并响应该编址信号。具体的,第一级CPLD之后的每个CPLD在接收到编址信号之后,可以获取上一级CPLD的地址,并在上一级CPLD的地址上增加预设数值,以生成自身的地址。其中,第一级CPLD为与微处理器电连接最近的CPLD,其余扩展的CPLD依次与第一级CPLD级联。第一级CPLD的地址可以直接从主模块中接收得到。

本申请中的PLC扩展系统,每个扩展的CPLD可以基于扩展总线依次接收到编址信号,然后获取上一级CPLD的地址,并在上一级CPLD的地址上增加预设数值,以生成自身的地址。相对于现有技术,本申请无需设置单独的硬件译码电路连接和地址线,降低了电路复杂度,节约了硬件成本。

可选的,作为一种可能的实施方式,本申请中的可编程逻辑门阵列器件102可以是FPGA(现场可编程逻辑门阵列),也可以是由两个或两个以上的CPLD级联组成的器件,具体此处不做限定。

请参阅图2,下面将对上述PLC扩展系统中主模块与各个CPLD的通信过程进行描述。本申请中一种PLC系统通信方法的一个实施例可包括:

S201、控制微处理器输出包含目的地址的通信请求信号,以使得接收到通信请求信号的CPLD确定与目的地址一致的目标CPLD;

在图1所示的实施例中的PLC扩展系统中,微处理器可以运行预设的计算机程序,输出包含目的地址的通信请求信号。该通信请求信号可以在扩展总线上进行传递,接收到该通信请求信号的CPLD可以比较自身的地址是否与所述目的地址一致,若一致,则可以确定自身为目标CPLD,并对该通信请求信号进行响应。若不一致,则不响应该通信请求信号,继续向后续级联的CPLD传递该通信请求信号。

可选的,作为一种可能的实施方式,微处理器输出的包含目的地址的通信请求信号可以是I/O端口配置查询信号,以获取目标CPLD的I/O端口配置信息。

可选的,作为一种可能的实施方式,微处理器输出包含目的地址的通信请求信号可以是数据写入信号,以将数据写入目标CPLD。

S202、接收目标CPLD对通信请求信号的应答信号。

目标CPLD接收到通信请求信号之后,可以按照预设的业务处理逻辑处理该通信请求信号生成应答信号,或者从外部读取到应答信号,并通过扩展总线将应答信号传输给微处理器。

可选的,作为一种可能的实施方式,目标CPLD获取到应答信号之后,可以将自身与扩展总线连接的端口的状态设置为应答状态,以指示微处理器进行数据读取;当检测到所述目标CPLD的第一类端口的状态处于应答状态时,基于扩展总线读取所述目标CPLD的第二类端口的状态值,并根据所述第二类端口的状态值生成应答数据。其中,第一类端口为控制信号传输的数据端口和第二类端口为通信数据传输的数据端口。第一类端口和第二类端口的数量为一个或多个,例如,扩展总线为双向8位数据线时,可以设置8位数据端口、5位控制信号端口以及复位信号端口、电源端口,具体的第一类端口和第二类端口的数量可以根据实际需求进行合理的设置,此处不做限定。

本实施例中的扩展模块与主CPU间通讯采用并行双相数据总线与控制信合组合逻辑相配和方式通讯,相较现有通过SPI主从时序通讯架构,访问轮询速率明显加快、数据校验容错增强同时整体硬件电路简单成本降低。因为扩展模块间通讯只涉及到相邻两者间通讯,避免了信号线过长导致阻抗匹配、大功率电缆耦合、辐射等的干扰。

为了便于理解,请参阅图3,下面将结合具体的应用实施例对本申请中的PLC系统通信方法进行描述。

如图3所示PLC扩展系统中,每个扩展模块(CPLD)配两个总线接口,总线接口1与上一扩展模块总线接口2或CPU模块相连,总线接口2与下一扩展模块总线接口1相连,形成逐个级联的总线方式。

本实施例中的总线为8bit双向数据母线,其总线接口包括DATA线上的数据端口AD(0)~AD(7)、控制信号线(S1、S2、S3、S4、ACK)、电源线以及复位信号线(RST)。在控制信号线的作用下,基于该总线可以采集各个扩展模块的输入点的开闭状态,或采集模拟信号值,并送入微处理器(CPU),同时把微处理器中的主程序处理结果(扩展输出点状态及模拟输出)送回后级扩展模块。

本实施例中的CPU与CPLD的通信事务分三种:CPU控制CPLD进行编址操作;CPU查询普通CPLD的I/O点数配置信息;CPU将输出信息写入普通CPLD的输出端口及特殊模拟扩展中,读取普通CPLD的输入端口状态及特殊模拟扩展采样值。下面将分别对三种通信事务予以说明。

一、CPU控制CPLD进行编址操作;

在PLC扩展系统上电后,CPU可以执行模块编址功能。CPU控制RESET、S2、S3三个信号线同时置为高电平,S1置为低电平。第一级CPLD之后的每个CPLD在接收到编址信号之后,可以获取前一CPLD输入的DATA[0:7]信号线数据(上一级CPLD的地址),并在上一级CPLD的地址上增加预设数值(例如,增加1),以生成自身的地址。然后将自身的地址输出到CPLD的扩展总线输出侧端口,后一级的CPLD也作同样的操作,直至所有的CPLD都得到互不相同的地址数据。当S2信号由高变低,每个CPLD将自身的地址数据锁存。在以后的通信中,作为扩展模块的CPLD只对发给与本地址相同的信息进行响应,其余信息不响应。

二、CPU查询普通CPLD的I/O点数配置信息;

1)、只有在完成了CPLD的编址操作后,才可以进行正常的查询配置操作,否则CPLD不会应答。

2)、查询操作时,应保证RST、S2等信号线为低电平,对于普通扩展模块,S1信号线为低电平;对于特殊扩展模块,S1信号线则为高电平。

3)、S3信号由低至高的上升沿表明信息帧的开始,CPLD在每个S4信号的下降沿时,DATA线上的信号作为信息帧数据字节进行判断。信息帧中各个数据字节的含义如下表1所示。1号及2号字节的数据为固定的标志数据,例如分别为AAH和55H,3号字节的数据为地址数据。作为扩展模块的CPLD读取到信息帧之后,需要校验1号及2号字节的数据是否为预设的标志数据,校验通过之后,判断该信息帧中地址数据是否与本地存储的地址数据一致,若一致,才进行后续的处理。

4)、4号字节的数据“CMD”为命令字节,“4H”为普通模块查询配置,(“8H”为普通模块I/O读写),若为非法命令信息,停止接收后续信息帧。

5)、5号字节的数据“CHKSUM”为校验字节,采用异或校验法,查询配置时本字节为“0BFH”;、6号字节的数据“----”表示为收发切换过渡字节,为无效字段;“******”为结束标志字段。

6)、S3信号由高至低的下降沿表明CPU信息帧发送完毕,CPU将数据母线控制权交给CPLD,等待CPLD应答。

7)、在选中的目标CPLD得到控制权的第一个时钟期间为CPLD数据总线方向调整时间,将DATA线的输出口切换为输入口,将原输入口切换为输出口,避免级联CPLD之间数据线端口的短路。

8)、目标CPLD将ACK信号线拉低,表明开始应答,同时将应答的配置信息CONFIG放到数据总线上,并维持数据总线的状态,等待CPU读取DATA数据线上的数据,并根据预设规则解析该CONFIG数据得到目标CPLD的应答数据。

9)、目标CPLD得到控制权的第三个S4上升沿时刻,释放ACK应答线,变为高电平,表明应答完毕,本次查询操作完成。

10)、CPU每次对一片CPLD进行查询操作,依次进行,直至完成对所有芯片的查询。

表1

三、CPU将输出信息写入普通CPLD的输出端口,读取普通CPLD的输入端口状态。

1)、只有在完成了CPLD的编址操作后,才可以进行正常的I/O读写操作,否则CPLD不会响应;

2)、读写I/O端口时,应保证RST、S2等信号线为低电平,对于普通扩展模块,S1信号线为低电平;

3)、S3信号由低至高的上升沿表明信息帧的开始,CPLD在每个S4信号的下降沿时,读取DATA线上的信号作为信息帧,信息帧中各个数据字节的含义如下表1所示。需要校验1号及2号字节的数据是否为预设的标志数据,校验通过之后,判断该信息帧中地址数据是否与本地存储的地址数据一致,若一致,才进行后续的处理。

4)、信息帧的第四个数据“CMD”为命令字节,(对于普通扩展模块,“4H”为查询配置,“8H”为I/O读写),若为非法命令信息,停止接收后续信息帧。

5)、信息帧的第五、六个字节为CPU输出数据段,为写至输出端口的数据,共有16个口状态,由低位至高位依次对应于CPLD的0~15号输出口,若CPLD的输出口数量N不足16个,则取该数据段的前N个数据位,其余的数据位丢弃。

6)、“CHKSUM”为校验字节,为“CMD”与2个字节数据的逐一异或累计值;CPLD接收高该字节后即与累计值比较,判断数据帧的正确性,若错误则停止接收,也不预响应;

7)、S3信号由高至低的下降沿表明CPU信息帧发送完毕,将数据总控制权交给指定地址的目标CPLD,等待其应答;

8)、在目标CPLD得到控制权的第一个S4周期为双向扩展数据线的方向调整缓冲时间;

9)、在目标CPLD得到控制权的第二个S4上升沿,被选中的CPLD将ACK信号线拉低,表明开始应答,同时将应答的输入端口0状态数据data0放到DATA线上并维持,等待主CPU读取;

10)、在C目标PLD得到控制权的第三个S4上升沿时刻,将应答数据输入端口状态data1放到DATA线上并维持,等待主CPU读取;在后续的3个S4上降沿,依次将data2、data3、RCHKSUM数据放于扩展数据母线;其中RCHKSUM=data0 XOR data1 XOR data2 XOR data3。

10)、在目标CPLD得到控制权的第七个S4上升沿,释放ACK应答信号线,表明应答完毕,本次通信完成。

首先,本申请中的PLC扩展系统,每个扩展的CPLD可以基于扩展总线依次接收到编址信号,然后获取上一级CPLD的地址,并在上一级CPLD的地址上增加预设数值,以生成自身的地址。相对于现有技术,本申请无需设置单独的硬件译码电路连接和地址线,降低了电路复杂度,节约了硬件成本。其次,本发明扩展模块与主CPU间通讯采用并行双相数据总线与控制信合组合逻辑相配和方式通讯,相较现有通过SPI主从时序通讯架构,访问轮询速率明显加快、数据校验容错增强同时整体硬件电路简单成本降低。最后,多扩展模块远距离通讯抗干扰能力明显优于SPI方式,因为模块间通讯只涉及到相邻两者间通讯,避免了信号线过长导致阻抗匹配、大功率电缆耦合、辐射等的干扰。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如上述图2所示的PLC系统通信方法实施例中的步骤,例如图2所示的步骤201至202。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号