一种基于PLC的系统及其组网与通信方法与流程

文档序号:28748503发布日期:2022-02-07 23:54阅读:108来源:国知局
一种基于PLC的系统及其组网与通信方法与流程
一种基于plc的系统及其组网与通信方法
技术领域
1.本技术涉及自动化控制技术领域,并且更具体地,本技术涉及一种基于plc的系统及其组网与通信方法。


背景技术:

2.可编程逻辑控制器(programmable logic controller,plc)是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
3.在实际应用中,plc通常通过总线(例如,半双工总线)来与多个扩展的io模块进行组网。在这种情况中,在总线组网之前通常需要手动设置各个io模块的地址。例如,图1示出了现有技术中plc通过总线来与多个io模块进行组网的结构示意图100。作为示例,图1示出了四个io模块204、206、208和210,这四个io模块的地址例如分别为 1、2、3、4,一般可以使用软件或者拨码开关来设置io模块的地址。然而,手动设置io模块的地址比较费时且容易出错。
4.在总线212组网完成之后,一般由plc的cpu模块202采用轮询的方式发送查询报文,由每个io模块被动应答。然而,由于串口的速率不高,这种方式会浪费大量的时间用于发送查询报文,从而造成整个总线周期较长。


技术实现要素:

5.本发明涉及一种基于plc的系统,包括:处理器模块;数量为n的io模块;总线,所述总线被配置用于将所述处理器模块以及所述io模块根据总线型拓扑结构进行连接;以及第一辅助通讯线和第二辅助通讯线,当所述n为1时,所述第一辅助通讯线被配置用于将所述处理器模块与所述io模块连接;所述第二辅助通讯线被配置用于将所述io模块与所述处理器模块连接;当所述n大于等于2时,所述第一辅助通讯线被配置用于将所述处理器模块与多个io模块中的第一io模块连接,并且将所述第一io模块与所述多个io模块中的剩余n-1个io模块依次连接;所述第二辅助通讯线被配置用于将所述多个io模块中的第n io模块与所述处理器模块连接。
6.如上所述的基于plc的系统,所述总线包括半双工总线。
7.如上所述的基于plc的系统,所述总线包括rs485总线。
8.如上所述的基于plc的系统,所述第一辅助通讯线和所述第二辅助通讯线形成通信闭环。
9.如上所述的基于plc的系统,所述第一辅助通讯线和所述第二辅助通讯线被配置成用于发送单向的辅助通讯信号,所述辅助通讯信号包括脉冲。
10.如上所述的基于plc的系统,所述io模块包括定时器,所述io模块被配置用于当所述定时器设置的定时时间期满时自动释放所述总线。
11.如上所述的基于plc的系统,所述处理器模块包括定时器以对总线周期进行计时,所述处理器模块被配置用于根据计时时间判断所述总线周期是否超时。
12.如上所述的基于plc的系统,所述处理器模块被配置用于:经由所述总线广播地址配置命令;并且经由所述第一辅助通讯线向所连接的io模块发送辅助的地址配置信号;所述io模块配置成用于:经由所述总线接收地址配置命令;并且当经由所述第一辅助通讯线接收到辅助的地址配置信号时,根据经由总线接收的地址配置命令中所包括的地址值来配置自身地址。
13.如上所述的基于plc的系统,所述io模块进一步配置用于在配置完自身地址后,向所述总线发送包括所配置的自身地址值+1的地址配置命令;以及经由所述第一辅助通讯线向连接的下一io模块或者经由所述第二辅助通讯线向所连接的所述处理器模块发送辅助的地址配置信号。
14.如上所述的基于plc的系统,所述处理器模块被进一步配置用于:在经由所述总线接收到所述地址配置命令、并且经由所述第二辅助通讯线接收到所述辅助的地址配置信号后,确定组网完成。
15.如上所述的基于plc的系统,所述处理器模块被配置用于:经由所述总线广播查询命令;并且经由所述第一辅助通讯线向所连接的io模块发送辅助通讯信号;所述io模块被配置成用于,当经由所述总线接收到所述广播查询命令、并且经由所述第一辅助通讯线接收到所述辅助通讯信号时,经由所述总线将相应的数据发送给所述处理器模块;并且经由所述第一辅助通讯线向所连接的下一io模块或经由所述第二辅助通讯线向所连接的所述处理器模块发送所述辅助通讯信号。
16.如上所述的基于plc的系统,所述处理器模块被进一步配置用于:在经由所述总线接收到所述数据、并且经由所述第二辅助通讯线接收到所述辅助通讯信号后,确定查询周期完成。
17.本发明还涉及一种基于plc的组网方法,所述方法包括:由所述plc的处理器模块经由总线向总线上接入的数量为n的io模块广播地址配置命令,其中,当所述n为1时,所述处理器模块与所述io模块通过第一辅助通讯线连接,并且所述io模块进一步通过所述第二辅助通讯线与所述处理器模块连接;当所述n大于等于2时,所述处理器模块与多个io模块中的第一io模块通过第一辅助通讯线连接,所述第一io模块与所述多个io模块中的剩余n-1个io模块通过所述第一辅助通讯线依次连接,并且所述多个io模块中的第n io模块通过第二辅助通讯线与所述处理器模块连接;由所述plc的处理器模块经由所述第一辅助通讯线向所连接的io模块发送辅助的地址配置信号;由所述io模块经由所述总线接收所述地址配置命令;并且当经由所述第一辅助通讯线接收到所述辅助的地址配置信号时,根据经由所述总线接收的所述地址配置命令中所包括的地址值来配置自身地址;向所述总线发送包括所配置的自身地址值+1的地址配置命令;并且经由所述第一辅助通讯线向所连接的下一io模块或者经由所述第二辅助通讯线向所连接的所述处理器模块发送所述辅助的地址配置信号。
18.如上所述的基于plc的组网方法,所述方法进一步包括:由所述处理器模块,在经由所述总线接收到所述地址配置命令、并且经由所述第二辅助通讯线接收到所述辅助的地址配置信号后,确定组网完成。
19.本发明还涉及一种基于plc的通信方法,所述方法包括:由所述plc的处理器模块经由总线向总线上接入的数量为n的io模块广播查询命令,其中,当所述n为1时,所述处理器模块与所述io模块通过第一辅助通讯线连接,并且所述io模块进一步通过所述第二辅助通讯线与所述处理器模块连接;当所述n大于等于2时,所述处理器模块与多个io模块中的第一io模块通过第一辅助通讯线连接,所述第一io模块与所述多个io模块中的剩余n-1个io模块通过所述第一辅助通讯线依次连接,并且所述多个io模块中的第n io模块通过第二辅助通讯线与所述处理器模块连接;由所述处理器模块经由所述第一辅助通讯线向所连接的io模块发送辅助通讯信号;由io模块经由所述总线接收所述查询命令;并且当经由所述第一辅助通讯线接收到所述辅助的地址配置信号时,经由所述总线将相应的数据发送给所述处理器模块,并经由所述第一辅助通讯线向所连接的下一io模块或者经由所述第二辅助通讯线向所连接的所述处理器模块发送辅助通讯信号。
20.如上所述的基于plc的通信方法,所述方法进一步包括:由所述处理器模块,在经由所述总线接收到所述数据、并且经由所述第二辅助通讯线接收到所述辅助通讯信号后,确定查询周期完成。
附图说明
21.为了进一步阐明本发明的各实施例,将参考附图来呈现本发明的各实施例的更具体的描述。应当理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对本发明所要求保护范围的限制。
22.图1示出了现有技术中plc通过总线来与多个io模块进行组网的结构示意图100。
23.图2示出了根据本发明的实施例的plc通过总线以及辅助通讯线来与多个io模块进行组网的基于plc的系统的结构示意图200。
24.图3示出了根据本发明的实施例的使用基于plc的系统进行组网的方法的流程图。
25.图4示出了根据本发明的实施例的使用基于plc的系统进行通信的方法的流程图。
具体实施方式
26.下面的详细描述参照附图进行。附图以例示方式示出可实践所要求保护的主题的特定实施例。应当理解,以下具体实施例出于阐释的目的旨在对典型示例作出具体描述,但不应被理解成对本发明的限制;本领域技术人员在充分理解本发明精神主旨的前提下,可对所公开实施例作出适当的修改和调整,而不背离本发明所要求保护的主题的精神和范围。
27.在以下的详细描述中,阐述了众多具体细节以便提供对各个所描述的实施例的透彻理解。然而,对本领域的普通技术人员将显而易见的是,无需这些具体细节就可实践所描述的各种实施例。除非另外定义,否则在本文中所使用的技术和科学术语应具有与本公开所属领域的普通技术人员所通常理解的相同含义。
28.本技术的说明书和权利要求书中的术语“第一”、“第二”等并不意味着任何顺序、数量或重要性,而是仅用于区分不同的组件或特征。实施例是示例性的实现或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”、“各种实施例”或“其他实施例”的引用意味着结合实施例描述的特定特征、构造或特性包括在本技术的至少一些实施例中,但不必是全
部实施例。“实施例”、“一个实施例”、或“一些实施例”的各种出现并不一定都指代相同的实施例。来自一个实施例的元素或方面可与另一实施例的元素或方面组合。
29.在本文中,术语“连接”或“耦合”被定义为两个主体之间的连接,不过不一定是直接的连接,也可包括通过其他中间节点或设备而实现的间接连接关系。
30.本文中所使用的术语“包括”、“具有”、“包含”、以及“含有”是开放式的连接动词。因此,一种方法或装置“包括”、“具有”、“包含”或“含有”一个或一个以上步骤或组件指的是:该方法或装置具有那些一个或一个以上步骤或组件,但并不是仅仅具有那些一个或一个以上步骤或组件,也可包括其他的本文中未提及的一个或一个以上步骤或组件。
31.下面结合附图对本发明作进一步的说明。
32.图2示出了根据本发明的实施例的plc通过总线以及辅助通讯线来与多个io模块进行组网的基于plc的系统的示意图200。plc可以包括cpu模块202。为了描述方便,本文档以如图2所示的四个io模块204、206、208和210为例进行说明。然而,可以理解的是,本发明的实施例可以包括其他任何数量的io模块。例如,本发明的实施例可以包括仅一个io模块,本发明的实施例也可以包括两个或两个以上的io模块。总线212被配置用于将cpu模块202以及多个io模块204、206、208和210根据总线型拓扑结构进行连接。在一个实施例中,总线可以包括半双工总线。在一个优选的实施例中,总线包括rs485总线。此外,根据本技术的基于plc的系统的组网和通讯结构及方法还可以用于其他总线,例如can总线。
33.根据本发明的实施例的基于plc的系统200可以包括一对附加的辅助通讯线,第一辅助通讯线214和第二辅助通讯线216。第一辅助通讯线214被配置用于将cpu模块202与四个io模块204、206、208和210中的第一io模块204连接,并且将第一io模块204与剩余3个io模块206、208和210依次连接。即,第一辅助通讯线214可以包括多条线2142、2144、2146、2148,第一线2142被配置用于将cpu模块202与第一io模块204连接,以用于cpu模块202向第一io模块204传输信号;第二线2144被配置用于将第一io模块204与第二io模块206连接,以用于第一io模块204向第二io模块206传输信号;第三线2146被配置用于将第二io模块206与第三io模块208连接,以用于第二io模块206向第三io模块208传输信号;第四线2148被配置用于将第三io模块208与第四io模块210连接,以用于第三io模块208向第四io模块210传输信号。
34.根据本发明的实施例的基于plc的系统200还可以包括第二辅助通讯线216。第二辅助通讯线216被配置用于将第四io模块210与cpu模块202连接,以用于第四io模块210向cpu模块202传输信号。
35.在系统200仅包括一个io模块的情况下,第一辅助通讯线214可以被配置用于将cpu模块202与这一io模块连接,以用于cpu模块202向该io模块传输信号。第二辅助通讯线216可以被配置用于将该io模块与cpu模块202连接,以用于该io模块向cpu模块202传输信号。
36.在本发明的实施例中,由第一辅助通讯线214和第二辅助通讯线216传输的信号可以包括辅助通讯信号。第一辅助通讯线214和第二辅助通讯线216可以被配置成用于发送单向的辅助通讯信号。第一辅助通讯线214和第二辅助通讯线216可以形成通信闭环。在一个优选的实施例中,该辅助通讯信号包括脉冲信号。通过使用第一辅助通讯线214和第二辅助通讯线216,可以完成io模块地址的自动分配,同时减少大量的查询报文传输,从而减少总
线通讯周期,提升了系统的通信效率,如以下更详细描述的。
37.图3示出了根据本发明的实施例的使用基于plc的系统进行组网的方法的流程图300。在步骤302,cpu模块202可以例如通过总线212广播地址配置命令。该地址配置命令通知所有io模块下面进入模块地址的状态,io模块的内部状态机应该进入地址配置状态。
38.在步骤304,cpu模块202可以例如通过总线212发送地址为1的报文。该报文指示当前要分配的模块的地址值,例如,地址值为1。可以根据需要设置报文的其他字段信息以及彼此的相对位置,本发明对此不作限制。
39.在步骤306,cpu模块202可以通过第一辅助通讯线214中的第一线2142发送辅助的地址配置信号。如上所述,通过第一辅助通讯线214发送的辅助通讯信号(例如,这里的辅助的地址配置信号)可以是脉冲。
40.在步骤308,第一io模块204可以在经由总线接收到来自cpu的地址配置命令(包括接收到即将配置地址值为1的报文)、并且经由第一辅助通讯线214中的第一线2142接收到辅助的地址配置信号时,根据经由总线212接收的地址配置命令中所包括的地址值(例如,1)来配置自身地址,例如,将自身的地址值配置为1。如上所述,辅助的地址配置信号可以是脉冲。因此,第一io模块204可以通过检测脉冲的上升沿(例如,高电平,可以具有值1)来检测到辅助的地址配置信号。
41.在步骤310,第一io模块204可以向总线212发送包括所配置的自身地址值+1的地址配置命令。例如,第一io模块204可以向总线212发送包括地址值为2的地址配置命令。该地址配置命令通知总线212上的其他模块(包括cpu模块和其他io模块)即将配置地址为2的io模块。
42.在步骤312,第一io模块204可以通过第一辅助通讯线214中的第二线2144向所连接的第二io模块206发送辅助的地址配置信号。
43.在步骤314处,第二io模块206可以在经由总线212接收到第一io模块发出的地址配置命令(例如包括地址值2)、并且经由第一辅助通讯线214的第二线2144接收到辅助的地址配置信号时,根据经由总线212接收的地址配置命令中所包括的地址值(例如,2)来配置自身地址,例如,将自身的地址值配置为2。如上所述,辅助的地址配置信号可以是脉冲。因此,第二io模块206可以通过检测脉冲的上升沿(例如,高电平,可以具有值1)来检测到辅助的地址配置信号。
44.在步骤316和318,第二io模块206可以执行与第一io模块类似的操作。即,在步骤316,第二io模块206可以向总线212发送包括所配置的自身地址值+1的地址配置命令。例如,第二io模块206可以向总线212发送包括地址值为3的地址配置命令。该地址配置命令通知总线212上的其他模块(包括cpu模块和其他io模块)即将配置地址为3的io模块。在步骤318,第二io模块206可以通过第一辅助通讯线214的第三线2146向所连接的第三io模块208发送辅助的地址配置信号。
45.在步骤320处,第三io模块208可以执行与第一io模块204以及第二io模块206类似的操作,在此不再赘述。
46.在步骤322处,第四io模块210可以执行与第一io模块204、第二io模块206以及第三io模块208类似的操作。与之前的io模块不同之处在于,在发送辅助的地址配置信号时,第四io模块210通过第二辅助通讯线216向所连接的cpu模块202发送辅助的地址配置信号。
47.在步骤324处,cpu模块202可以在经由总线212接收到由第四io模块210发送的地址配置命令(包括地址值5)、并且经由第二辅助通讯线216接收到由第四io模块210发送的辅助的地址配置信号后,确定组网完成。
48.因此,根据本发明的基于plc的系统及组网方法可以完成多个io模块地址的自动分配。
49.进一步地,在组网完成后,cpu模块202可以确认总线212上一共有多少个io模块(地址值5减去1)。此外,cpu模块202可以通过指定地址的通讯报文来确认相应io的类型或地址。
50.图4示出了根据本发明的实施例的使用基于plc的系统进行通信的方法的流程图400。作为一个非限制性实施例,可以在组网完成后进行图4所示的通信流程400。
51.在步骤402,可以由cpu模块202经由总线212向总线212上接入的四个io模块204、206、208和210广播查询命令。查询命令可以包括采集总线212上所有io模块的数据的命令。
52.在步骤404,由cpu模块202经由第一辅助通讯线214向所连接的第一io模块204发送辅助通讯信号。类似地,辅助通讯信号可以具有上述的脉冲形式。
53.在步骤406处,第一io模块204可以通过总线212接收到了广播查询命令,并且通过第一辅助通讯线214接收到了辅助通讯信号,从而做出响应,即,第一io模块204可以经由总线212将相应的数据发送给cpu模块202。作为一个示例而非限制,数据可以包括io免考的状态数据。
54.在步骤408,第一io模块204可以通过第一辅助通讯线214向所连接的第二io模块206发送辅助通讯信号。
55.类似地,在步骤410和412,由第二io模块206和第三io模块210中的每一个分别在经由第一辅助通讯线214接收到辅助通讯时,通过总线212将相应的数据发送给cpu模块202,并且通过第一辅助通讯线214向所连接的下一io模块发送辅助通讯信号。
56.在步骤414,在第四io模块210在经由第一辅助通讯线214接收到辅助通讯信号时,第四io模块210可以经由总线212将相应的数据发送给cpu模块202,并经由第二辅助通讯线216向所连接cpu模块发送辅助通讯信号。
57.在步骤416,cpu 212在经由总线212接收到由第四io模块210发送的数据、并且经由第二辅助通讯线216接收到由第四io模块210发送的辅助通讯信号后,确定查询周期完成。
58.因此,如上所述的本发明的基于plc的系统及通信方法避免了cpu通过总线向每个io模块都单独发送查询命令,从而可以减少通过总线的大量查询报文传输,避免了浪费总线通讯带宽,并减少总线通讯时间、提高总线通讯效率。
59.在本发明进一步的实施例中,每个io模块还可以包括定时器(未示出)。每个io模块可以被配置用于当定时器设置的定时时间期满时自动释放总线,从而避免出现某个io模块长期占有总线的情况。此外,cpu模块 202也可以包括定时器,以用于对总线周期进行计时。cpu模块202可以被配置用于根据计时时间判断总线周期是否超时,以此监控总线周期。
60.可以理解的是,虽然以上方法300和400以步骤的形式示出,但是本发明不旨在限制这些步骤的先后顺序,也不旨在说明方法300和400需要这些操作步骤中的每一个。例如,如上所述,一些步骤中一个或多个可以同时执行,或者以其他的顺序先后执行。此外,可以
省略方法300和400中的某些步骤,而不背离本发明构思。
61.虽然上文以“cpu模块”为例描述了本发明的实现方式,但是本领域技术人员可以理解,“cpu模块”应作广义理解,其可被理解为能够实施上文所述的功能或操作的各种具有计算能力的处理器模块。
62.因此,在不背离本发明的精神和主旨的情况下,本领域技术人员可对以上具体描述的实施例作出适当修改和调整。因此,旨在使所要求保护的主题不仅限于所公开的特定示例,这些要求保护的主题也可包括落在所附权利要求书及其等效物范围内的所有实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1