PLC系统的通讯控制方法及装置
技术领域
本发明涉及自动控制领域,具体而言,涉及一种PLC系统的通讯控制方法及装置。
背景技术
在工业自动化领域,安全PLC系统通常都要最为从站和别的厂商的控制系统交互数据,而Modbus(一种用于工业现场的总线协议)作为一种开放和免费的协议,简单易懂并且易于实现,因此受到很多自动化厂家的青睐,此协议可以作为不同厂家的控制系统间的标准接口协议。
现有的PLC系统的通讯过程的冗余拓扑方法如图1所示,具体地址,两个主站上各有一个通讯接口,两个从站模块上各有一个通讯接口,主站A上的通讯接口和从站A上的通讯接口连接,主站B上的通讯接口和从站B上的通讯接口连接,通讯时主站通过comA和comB其中的一个接口和对应的从站通讯,当主站或者从站发现通讯出现故障,则会切换到另外一个接口并和另外一个从站模块通讯。但是,上述方法的可靠性较低,若PLC系统中单个从站模块上的通讯接口发生故障,就会导致整个从站模块不可用,进而需要更换模块,成本高昂且使用不便,此外,上述方法中的从站的冗余切换对主站也不透明。综上,现有技术中的PLC系统的通讯控制方法存在可靠性较差的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种PLC系统的通讯控制方法及装置,以至少解决现有技术中的PLC系统的通讯控制方法可靠性较差的技术问题。
根据本发明实施例的一个方面,提供了一种PLC系统的通讯控制方法,该方法包括:当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,判断上述多个从站中是否存在上述第一端口未发生故障的从站;若确定上述多个从站中存在上述第一端口未发生故障的从站,则控制上述第一端口未发生故障的从站通过上述第一端口向上述主站发送应答报文,其中,上述第一端口与上述第一预设串行总线连接;若确定上述多个从站中不存在上述第一端口未发生故障的从站,则当上述多个从站通过各自的第二端口接收到上述主站通过第二预设串行总线发送的上述请求报文时,判断上述多个从站中是否存在上述第二端口未发生故障的从站;若确定上述多个从站中存在上述第二端口未发生故障的从站,则控制上述第二端口未发生故障的从站通过上述第二端口向上述主站发送上述应答报文,其中,上述第二端口与上述第二预设串行总线连接。
进一步地,上述判断上述多个从站中是否存在上述第一端口未发生故障的从站包括:判断上述主站在预设时间段内是否接收到上述多个从站中的至少一个从站通过上述第一端口发送的上述应答报文;若判断出上述主站在预设时间段内接收到上述多个从站中的至少一个从站通过上述第一端口发送的上述应答报文,则确定上述多个从站中存在上述第一端口未发生故障的从站;若判断出上述主站在预设时间段内未接收到上述多个从站中的至少一个从站通过上述第一端口发送的上述应答报文,则确定上述多个从站中不存在上述第一端口未发生故障的从站。
进一步地,上述多个从站中的每个从站的第一端口的物理地址均相同,上述多个从站中的每个从站的第二端口的物理地址均相同。
进一步地,上述主站包括第一预设主站和第二预设主站,上述第一预设主站通过上述第一预设串行总线与上述多个从站连接,上述第二预设主站通过上述第二预设串行总线与上述多个从站连接。
进一步地,上述多个从站均设置在可编程逻辑控制PLC系统中。
根据本发明实施例的另一方面,还提供了一种PLC系统的通讯控制装置,该装置包括:第一判断单元,用于当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,判断上述多个从站中是否存在上述第一端口未发生故障的从站;第一控制单元,用于若确定上述多个从站中存在上述第一端口未发生故障的从站,则控制上述第一端口未发生故障的从站通过上述第一端口向上述主站发送应答报文,其中,上述第一端口与上述第一预设串行总线连接;第二判断单元,用于若确定上述多个从站中不存在上述第一端口未发生故障的从站,则当上述多个从站通过各自的第二端口接收到上述主站通过第二预设串行总线发送的上述请求报文时,判断上述多个从站中是否存在上述第二端口未发生故障的从站;第二控制单元,用于若确定上述多个从站中存在上述第二端口未发生故障的从站,则控制上述第二端口未发生故障的从站通过上述第二端口向上述主站发送上述应答报文,其中,上述第二端口与上述第二预设串行总线连接。
进一步地,上述第一判断单元包括:判断子单元,用于判断上述主站在预设时间段内是否接收到上述多个从站中的至少一个从站通过上述第一端口发送的上述应答报文;第一确定子单元,用于若判断出上述主站在预设时间段内接收到上述多个从站中的至少一个从站通过上述第一端口发送的上述应答报文,则确定上述多个从站中存在上述第一端口未发生故障的从站;第二确定子单元,用于若判断出上述主站在预设时间段内未接收到上述多个从站中的至少一个从站通过上述第一端口发送的上述应答报文,则确定上述多个从站中不存在上述第一端口未发生故障的从站。
进一步地,上述多个从站中的每个从站的第一端口的物理地址均相同,上述多个从站中的每个从站的第二端口的物理地址均相同。
进一步地,上述主站包括第一预设主站和第二预设主站,上述第一预设主站通过上述第一预设串行总线与上述多个从站连接,上述第二预设主站通过上述第二预设串行总线与上述多个从站连接。
进一步地,上述多个从站均设置在可编程逻辑控制PLC系统中。
在本发明实施例中,当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,采用判断多个从站中是否存在第一端口未发生故障的从站的方式,进而若确定多个从站中存在第一端口未发生故障的从站,通过控制第一端口未发生故障的从站通过第一端口向主站发送应答报文,以及若确定多个从站中不存在第一端口未发生故障的从站,则当多个从站通过各自的第二端口接收到主站通过第二预设串行总线发送的请求报文时,通过判断多个从站中是否存在第二端口未发生故障的从站,达到了若确定多个从站中存在第二端口未发生故障的从站,则控制第二端口未发生故障的从站通过第二端口向主站发送应答报文的目的,从而实现了提升PLC系统通讯过程的稳定性、可靠性和使用便捷性、降低通讯故障的发生率、节省成本的技术效果,进而解决了现有技术中的PLC系统的通讯控制方法可靠性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种PLC系统的通讯控制方法的结构示意图;
图2(a)是根据本发明实施例的一种可选的PLC系统的通讯控制方法的流程示意图;
图2(b)是根据本发明实施例的一种可选的PLC系统的通讯控制方法的结构示意图;
图3是根据本发明实施例的另一种可选的PLC系统的通讯控制方法的流程示意图;
图4是根据本发明实施例的另一种可选的PLC系统的通讯控制方法的结构示意图;
图5是根据本发明实施例的又一种可选的PLC系统的通讯控制方法的结构示意图;
图6是根据本发明实施例的一种可选的PLC系统的通讯控制装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种PLC系统的通讯控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2(a)是根据本发明实施例的一种PLC系统的通讯控制方法,如图2(a)所示,该方法包括如下步骤:
步骤S202,当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,判断多个从站中是否存在第一端口未发生故障的从站;
步骤S204,若确定多个从站中存在第一端口未发生故障的从站,则控制第一端口未发生故障的从站通过第一端口向主站发送应答报文,其中,第一端口与第一预设串行总线连接;
步骤S206,若确定多个从站中不存在第一端口未发生故障的从站,则当多个从站通过各自的第二端口接收到主站通过第二预设串行总线发送的请求报文时,判断多个从站中是否存在第二端口未发生故障的从站;
步骤S208,若确定多个从站中存在第二端口未发生故障的从站,则控制第二端口未发生故障的从站通过第二端口向主站发送应答报文,其中,第二端口与第二预设串行总线连接。
在本发明实施例中,当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,采用判断多个从站中是否存在第一端口未发生故障的从站的方式,进而若确定多个从站中存在第一端口未发生故障的从站,通过控制第一端口未发生故障的从站通过第一端口向主站发送应答报文,以及若确定多个从站中不存在第一端口未发生故障的从站,则当多个从站通过各自的第二端口接收到主站通过第二预设串行总线发送的请求报文时,通过判断多个从站中是否存在第二端口未发生故障的从站,达到了若确定多个从站中存在第二端口未发生故障的从站,则控制第二端口未发生故障的从站通过第二端口向主站发送应答报文的目的,从而实现了提升PLC系统通讯过程的稳定性、可靠性和使用便捷性、降低通讯故障的发生率、节省成本的技术效果,进而解决了现有技术中的PLC系统的通讯控制方法可靠性较差的技术问题。
可选地,图2(b)是根据本发明实施例的一种可选的PLC系统的通讯控制方法的结构示意图,如图2(b)所示,对主站来说,从站A和从站B没有物理地址上的区别,物理地址被映射到通讯接口上。每个从站提供两个通讯接口,从站A拥有接口C1和D1,从站B拥有接口C2和D2,接口C1和接口C2通过第一预设串行总线连接到主站A上,接口D1和接口D2通过第二预设串行总线连接到主站B上,C1和C2具有相同的物理地址addr1,D1和D2具有相同的物理地址addr2。
可选地,图2(b)中的安全PLC系统中的从站A和从站B为主备冗余关系,主备切换由从站模块互相之间的监控实现,不需要主站的干涉。此外,模块切换和链路切换并行,分别发生在Modbus从站和Modbus主站上,相互之间没有依赖关系。其中,冗余关系基于冗余技术,又称储备技术,有时也称容灾备份技术,它是利用系统的并联模型来提高系统可靠性的一种手段。
可选地,主站可以通过第一预设串行总线寻址addr1与从站通讯,从站A的通讯接口C1和从站B的通讯接口C2都会收到主站的请求报文,由于从站A和从站B各自的主备状态已知,例如从站A为主机,从站B为备机,则从站A使用通讯接口C1通过串行总线A向主控发送自己的应答报文,从站B的C2接口只接收而不发送报文。当从站A发现C1口故障时,便会告知从站B,同时发生从站的主备机切换,从站A降为从机,从站B升为主机,并通过C2口向主站A发送应答报文,这个切换对主站是透明的。其中,寻址就是主站根据指令中给出的地址信息来寻找物理地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。
可选地,上述主站和从站可以基于Modbus协议建立通讯连接。具体地,Modbus是一种用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。
可选地,主站(master station)指在基本方式链路控制中,在接到一个请求后,保证将数据传送到一个或多个从站去的数据站,在某给定时刻,一条数据链路上只能有一个主站。从站(slave station)指在基本方式链路控制中,一种由主站选择用以接收数据的数据站。
可选地,图3是根据本发明实施例的另一种可选的PLC系统的通讯控制方法的流程示意图,如图3所示,步骤S202,判断多个从站中是否存在第一端口未发生故障的从站包括:
步骤S302,判断主站在预设时间段内是否接收到多个从站中的至少一个从站通过第一端口发送的应答报文;
步骤S304,若判断出主站在预设时间段内接收到多个从站中的至少一个从站通过第一端口发送的应答报文,则确定多个从站中存在第一端口未发生故障的从站;
步骤S306,若判断出主站在预设时间段内未接收到多个从站中的至少一个从站通过第一端口发送的应答报文,则确定多个从站中不存在第一端口未发生故障的从站。
可选地,主站在串行总线A上通过寻址addr1与从站通讯,如果在固定时间内没有收到应答报文,则说明从站A的C1接口和从站B的C2接口故障,此时会切换至在串行总线B上通过寻址addr2与从站通讯,从站A的D1接口和从站B的D2接口都收到通讯请求,从站A和从站B根据当前的主备状态,从站A和从站B中应答优先级较高的接口向主站回复应答,从站A和从站B中应答优先级较低的接口只接收不应答。
可选地,多个从站中的每个从站的第一端口的物理地址均相同,多个从站中的每个从站的第二端口的物理地址均相同。
可选地,主站包括第一预设主站和第二预设主站,第一预设主站通过第一预设串行总线与多个从站连接,第二预设主站通过第二预设串行总线与多个从站连接。具体地,串行总线(Universal Serial Bus,简称USB)是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。
可选地,多个从站均设置在可编程逻辑控制PLC系统中。具体地,PLC(Programmable Logic Controller,可编程逻辑控制器)控制系统是专为工业生产设计的一种数字运算操作的电子装置,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。PLC系统是工业控制的核心部分。
可选地,图4是根据本发明实施例的另一种可选的PLC系统的通讯控制方法的结构示意图,如图4所示,PLC系统中的Modbus从站A和Modbus从站B共提供两个通讯接口,两个通讯接口地址同为addr。主站通过寻址addr与PLC系统通讯,A和B根据自己主备机状态,比如A为主机,B为从机,则A通过通讯接口C1发送报文给主站,B不发送数据;如果C1故障,则发生主备切换,A降为从机,B升为主机,B通过C2口向主站发送报文。
可选地,图5是根据本发明实施例的另一种可选的PLC系统的通讯控制方法的结构示意图,如图5所示,安全PLC系统中的Modbus从站模块A提供两个接口C1和D1,地址分别为addr1和addr2,从站根据主站通过地址addr1在第一预设串行总线还是通过addr2在第二预设串行总线访问,选择C1接口还是D1接口回复应答。
在本发明实施例中,当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,采用判断多个从站中是否存在第一端口未发生故障的从站的方式,进而若确定多个从站中存在第一端口未发生故障的从站,通过控制第一端口未发生故障的从站通过第一端口向主站发送应答报文,以及若确定多个从站中不存在第一端口未发生故障的从站,则当多个从站通过各自的第二端口接收到主站通过第二预设串行总线发送的请求报文时,通过判断多个从站中是否存在第二端口未发生故障的从站,达到了若确定多个从站中存在第二端口未发生故障的从站,则控制第二端口未发生故障的从站通过第二端口向主站发送应答报文的目的,从而实现了提升PLC系统通讯过程的稳定性、可靠性和使用便捷性、降低通讯故障的发生率、节省成本的技术效果,进而解决了现有技术中的PLC系统的通讯控制方法可靠性较差的技术问题。
实施例2
根据本发明实施例,还提供了一种PLC系统的通讯控制装置的实施例,如图6所示,该PLC系统的通讯控制装置包括:
第一判断单元601,用于当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,判断多个从站中是否存在第一端口未发生故障的从站;第一控制单元603,用于若确定多个从站中存在第一端口未发生故障的从站,则控制第一端口未发生故障的从站通过第一端口向主站发送应答报文,其中,第一端口与第一预设串行总线连接;第二判断单元605,用于若确定多个从站中不存在第一端口未发生故障的从站,则当多个从站通过各自的第二端口接收到主站通过第二预设串行总线发送的请求报文时,判断多个从站中是否存在第二端口未发生故障的从站;第二控制单元607,用于若确定多个从站中存在第二端口未发生故障的从站,则控制第二端口未发生故障的从站通过第二端口向主站发送应答报文,其中,第二端口与第二预设串行总线连接。
可选地,第一判断单元601包括:判断子单元,用于判断主站在预设时间段内是否接收到多个从站中的至少一个从站通过第一端口发送的应答报文;第一确定子单元,用于若判断出主站在预设时间段内接收到多个从站中的至少一个从站通过第一端口发送的应答报文,则确定多个从站中存在第一端口未发生故障的从站;第二确定子单元,用于若判断出主站在预设时间段内未接收到多个从站中的至少一个从站通过第一端口发送的应答报文,则确定多个从站中不存在第一端口未发生故障的从站。
可选地,多个从站中的每个从站的第一端口的物理地址均相同,多个从站中的每个从站的第二端口的物理地址均相同。
可选地,主站包括第一预设主站和第二预设主站,第一预设主站通过第一预设串行总线与多个从站连接,第二预设主站通过第二预设串行总线与多个从站连接。
可选地,多个从站均设置在可编程逻辑控制PLC系统中。
在本发明实施例中,当多个从站通过各自的第一端口接收到主站通过第一预设串行总线发送的请求报文时,采用判断多个从站中是否存在第一端口未发生故障的从站的方式,进而若确定多个从站中存在第一端口未发生故障的从站,通过控制第一端口未发生故障的从站通过第一端口向主站发送应答报文,以及若确定多个从站中不存在第一端口未发生故障的从站,则当多个从站通过各自的第二端口接收到主站通过第二预设串行总线发送的请求报文时,通过判断多个从站中是否存在第二端口未发生故障的从站,达到了若确定多个从站中存在第二端口未发生故障的从站,则控制第二端口未发生故障的从站通过第二端口向主站发送应答报文的目的,从而实现了提升PLC系统通讯过程的稳定性、可靠性和使用便捷性、降低通讯故障的发生率、节省成本的技术效果,进而解决了现有技术中的PLC系统的通讯控制方法可靠性较差的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。