可编程逻辑控制器的制作方法

文档序号:16064540发布日期:2018-11-24 12:32阅读:168来源:国知局

本公开涉及一种可编程逻辑控制器(plc),其通过允许多个通信模块检查它们之间的中断信号,然后通过由多个通信模块共享的数据传输电缆在没有冲突的情况下发送数据,能够使控制模块与多个通信模块之间的数据传输电缆的配置最小化。

背景技术

可编程逻辑控制器(plc)主要用于通过数字或模拟输入/输出(i/o)模块执行诸如逻辑操作、排序、定时、计数和算术操作的功能。这样的plc是被配置为使用可编程存储器来控制各种机器或处理器,并且被广泛用于工厂自动化等的各种工业中的设备。

plc通过预设程序顺序地处理来自外部的输入信号,并使用处理结果控制连接到plc的外部设备。

为此,plc被配置为包括控制模块、通信模块、i/o模块、通信线路等,并且plc使用控制模块的微处理器或微控制单元顺序地执行预设程序以使用处理的结果来控制连接的外部设备。

具体地,控制模块使用包括微处理器或微控制器单元(mcu)的中央处理单元(cpu)顺序地执行预先编程在预设操作系统中的程序。此外,控制模块通过至少一个通信模块向外部设备供应控制信号,并接收以存储来自外部设备的操作结果数据。

但是,在传统plc中,在控制模块和多个通信模块之间一对一地连接通信线路(例如,数据传输电缆),使得具有控制模块与多个通信模块之间的线路连接配置复杂的问题。具体而言,为了在控制模块和多个通信模块之间将通信线路彼此连接,存在以下问题:在控制模块中应当配置多个通信端口,并且通信线路应该在其中单独地配置。

因此,传统上已经提出了一种配置,其中控制模块和多个通信模块可以共享通信线路以使用单个通信线路来发送数据。但是,当共享通信线路时,由于多个通信模块根据预定的传输周期和预定的传输顺序交替发送数据,所以存在数据传输延迟直到下一个传输周期的问题。此外,由于即使在当前正在发送数据时也应当停止数据发送,并且应当根据预定的传输顺序来开始下一个传输,所以还存在发生数据传输错误的问题。

提出了一种方法,其中当一个通信模块正在向控制模块发送数据时,另一个通信模块以预定的传输周期检查正在发送数据的一个通信模块,并且当一个通信模块终止数据传输到控制模块时发送数据。但是,该方法存在以下问题:发送大量数据或长时间发送数据的通信模块几乎占用通信线路,因此具有少量数据传输的通信模块通过仅检查预定的传输周期不能发送数据,使得在装置的操作中发生错误。



技术实现要素:

因此,本公开的目的是提供一种可编程逻辑控制器(plc),其通过允许多个通信模块检查它们之间的中断信号然后通过由多个通信模块共享的数据传输电缆在没有冲突的情况下发送数据而使控制模块与多个通信模块之间的数据传输电缆的配置最小化。

此外,本公开的另一个目的是提供一种plc,其中多个通信模块中的每一个监测它们之间的中断信号,并且仅当数据可以被传送时才发送数据,并且当一个通信模块发送数据时,一个通信模块能够通过向另一个通信模块应用中断信号来禁用另一个通信模块的数据传输。

根据本公开的一个方面,提供了一种可编程逻辑控制器(plc),其包括:控制模块,其被配置为根据预设程序执行控制操作;第一通信模块,其被配置为从控制模块向第一外部设备中的至少一个发送控制命令;以及第二通信模块,其被配置为从控制模块向第二外部设备中的至少一个发送控制命令,其中第一通信模块和第二通信模块经由彼此共享的数据传输电缆向控制模块发送外部数据,并且分别检查它们之间的中断信号,以交替地将外部数据发送到控制模块。

根据本公开的实施例的plc,通过检查多个通信模块之间的中断信号,多个通信模块可以通过彼此共享的数据传输电缆在没有冲突的情况下发送数据。因此,控制模块和多个通信模块之间的数据传输电缆的配置可以被最小化,以简化它们之间的接口结构,并且降低plc的制造成本。

此外,仅当可以进行数据传输同时多个通信模块中的每一个监测多个通信模块之间的中断信号时发送数据,并且当发送数据时,一个通信模块向另一个通信模块应用中断信号以禁用另一个通信模块的数据传输。因此,可以防止数据冲突,并且可以使得错误的发生率最小化,以提高plc的可靠性。

附图说明

图1是详细示出根据本公开的实施例的可编程逻辑控制器(plc)的配置框图。

图2是详细示出图1中所示的控制模块和第一和第二通信模块的结构的配置框图。

图3是顺序地描述图2所示的第一和第二通信模块的数据传输操作的输入/输出(i/o)波形图。

图4是用于描述图1和图2所示的用于驱动plc的方法的流程图。

具体实施方式

本公开可以以各种形式进行修改并且可以具有各种实施例,因此,将在附图中示出具体实施例,并且将在以下详细描述中描述其描述。然而,下面将要公开的实施例不应被理解为将本公开限制为具体实施例,并且应该被解释为包括在本公开的精神和技术范围内的修改、等同物或替代物。

为了充分传达本公开的配置和效果,将参考附图描述本公开的优选实施例。然而,本公开不限于以下描述的实施例,而是可以以各种形式来实现,并且可以进行各种修改。然而,本实施例的描述旨在提供本公开的完整公开,并且向本公开所属领域的普通技术人员完全公开本公开的范围。在附图中,为了便于描述,组件的尺寸被放大,并且每个组件的比例可以被放大或缩小。

当组件被描述为在其他组件“上”或与其他组件“接触”时,该组件可以与其他组件直接接触或连接,并且应该被解释为在组件和其他组件之间可以存在其他组件。另一方面,当组件被描述为直接在其他组件“上”或与其他组件“直接接触”时,可以理解在组件与其他组件之间不存在其他组件。描述组件之间的关系的其它表述,例如“之间”和“直接在……之间”可以类似地被解释为如上所述。

术语“第一”、“第二”等可以用于描述各种组件,但是这些组件不应该被这些术语限制。这些术语仅可用于区分一个组件和其他组件的目的。例如,在不脱离本公开的范围的情况下,第一组件可以被称为第二组件,并且类似地,第二组件也可以被称为第一组件。

除非上下文另有明确说明,否则单数形式包括复数形式。在此描述中,术语“包括”、“具有”等用于指定存在在此描述的特征、数字、步骤、操作、组件、元件或其组合,并且它们不排除存在或添加一个或多个其他特征、数字、步骤、操作、组件、元件或其组合。

本发明的上述和其它目的、特征和优点将参照附图进行详细描述,因此,本领域技术人员可以容易地实现本公开的技术精神。而且,在本公开的以下描述中,如果确定已知相关技术的详细描述使本公开的主旨模糊,则将省略其详细描述。在下文中,将参照附图详细描述本公开的优选实施例。

图1是详细示出根据本公开的实施例的可编程逻辑控制器(plc)的配置框图。

图1所示的plc包括:控制模块100,其被配置为根据预设程序执行控制操作;第一通信模块200,其被配置为从控制模块100向第一外部设备201和202中的至少一个发送控制命令;以及第二通信模块300,其被配置为将来自控制模块100的控制命令发送到第二外部设备301和302中的至少一个。

控制模块100设有单个数据接收端口,并且通过连接到单个数据接收端口的数据传输电缆交替地从第一和第二通信模块200和300接收外部数据。

控制模块100包括设有微处理器、微控制器单元(mcu)、微型计算机等中的至少一个的中央处理单元(cpu)。相应地,控制模块100根据基于cpu的实时操作系统的程序执行结果(例如,程序操作过程)来控制第一和第二外部驱动器201、202、301和302中的至少一个外部驱动器的驱动。

具体地,控制模块100通过先前预设并存储的程序操作过程来处理plc的控制操作所需的内部数据。根据内部数据的处理结果,控制模块100将控制信号和控制命令供应给第一通信模块200或第二通信模块300。因此,控制信号或控制命令通过第一或第二通信模块200或300被发送到第一或第二外部驱动器201和202或301和302。

第一通信模块200通过与第二通信模块300共享的数据传输电缆将来自第一外部设备201和202的外部数据发送到控制模块100。此时,第一通信模块200检查与第二通信模块300相互检查中断信号,并根据中断信号交替地将外部数据发送到控制模块100。这里,中断信号是指示通过占用由第一通信模块200和第二通信模块300共享的数据传输电缆来发送的数据的信号。

因此,当从第二通信模块300正在输入中断信号时,第一通信模块200确定第二通信模块300占用数据传输电缆以发送数据以等待,而不将外部数据发送到控制模块100。然后当没有从第二通信模块300输入中断信号同时第一通信模块200监测从第二通信模块300输入的中断信号时,第一通信模块200产生中断信号并向第二通信模块300发送中断信号。因此,在产生中断信号并将其发送到第二通信模块300时,第一通信模块200可以将来自第一外部设备201和202的外部数据发送到控制模块100。

另一方面,第二通信模块300也可以通过与第一通信模块200共享的数据传输电缆将来自第二外部设备301和302的外部数据发送到控制模块100。此时,第二通信模块300与第一通信模块200相互检查中断信号,并根据中断信号交替地将外部数据发送到控制模块100。

具体而言,当从第一通信模块200正在输入中断信号时,第二通信模块300等待而不向控制模块100发送外部数据,并且监测从第一通信模块200输入的中断信号。之后,当没有从第一通信模块200输入中断信号时,第二通信模块300产生中断信号并将其发送到第一通信模块200。因此,在产生中断信号并将其发送到第一通信模块200时,第二通信模块300可以将来自第二外部设备301和302的外部数据发送到控制模块100。

第一外部设备201和202中的至少一个可以包括诸如电动机、涡轮机、发电机等的驱动设备201,并且可以被配置为还包括诸如开关、监视器、小键盘等的输入设备202。

第二外部设备301和302中的至少一个可以包括诸如交流(ac)/直流(dc)转换器、dc/dc转换器、dc/ac转换器、放大器等的转换设备301并且可以被配置为还包括诸如图像显示板、监视器、移动通信终端、计算机等的显示设备302。

图2是详细示出图1中所示的控制模块100以及第一通信模块200和第二通信模块300的结构的配置框图。

参考图2,控制模块100包括电连接到数据传输电缆130并被配置为从第一和第二通信模块200和300接收外部数据的单个数据接收端口(rx)110;和被配置为存储通过单个数据接收端口(rx)110输入的外部数据的cpu120,使用外部数据执行预设程序,并向第一或第二通信模块200或300提供控制命令,从而控制第一或第二外部设备201和202或301和302。

相应地,cpu120从第一和第二通信模块200和300接收外部数据,并且通过预先设置并存储的编程操作处理来处理plc的控制操作所需的内部数据。此外,根据内部数据的处理结果,cpu120产生控制信号或控制命令,并且通过单独的数据传输端口将控制信号或控制命令发送到第一和第二通信模块200和300(未示出)。

第一和第二通信模块200和300分别向第一和第二外部驱动器201、202、301和302提供来自控制模块100的控制信号或控制命令。

为此,第一通信模块200包括第一数据通信端口210、第一中断端口230和第一mcu220。

第一数据通信端口210电连接到数据传输电缆130,并通过数据传输电缆130发送外部数据。

第一中断端口230从第二通信模块300接收中断信号,或者产生中断信号并将中断信号供应给第二通信模块300。中断信号是指示数据通过占用由第一和第二通信模块200和300共享的数据传输电缆130而被发送的信号。因此,当没有从第二通信模块300输入中断信号时,在第一mcu220的控制下第一中断端口230产生中断信号并将中断信号发送到第二通信模块。从而,在产生中断信号并将其发送到第二通信模块300时,第一通信模块200可以将来自第一外部设备201和202的外部数据发送到控制模块100。

第一mcu220通过第一中断端口230监测从第二通信模块300输入的中断信号,或者产生中断信号以将中断信号供应给第二通信模块300。此外,第一mcu220控制外部数据以通过第一数据通信端口210发送到数据传输电缆130。

当由第二通信模块300产生的中断信号被输入到第一中断端口230时,第一mcu220等待而不将外部数据发送到第一数据通信端口210,并且连续监测从第二通信模块输入的中断信号300。

之后,当来自第二通信模块300的中断信号没有被输入到第一中断端口230时,第一mcu220产生中断信号以通过第一中断端口230将中断信号发送到第二通信模块300。因此,在产生中断信号并将其发送到第二通信模块300时,第一mcu220可以将来自第一外部设备201和202的外部数据提供给第一数据通信端口210,由此允许外部数据被发送到控制模块100。

第二通信模块300包括第二数据通信端口310、第二中断端口330和第二mcu320。

第二数据通信端口310电连接到数据传输电缆130,并且发送外部数据以发送通过数据传输电缆130。

第二中断端口330从第一通信模块200接收中断信号,或者产生中断信号以将中断信号供应给第一通信模块200。当中断信号未从第一中断端口230输入时,在第二mcu320的控制下第二中断端口330产生中断信号以将中断信号供应给第一中断端口230。如上所述,在产生中断信号并将其发送到第一中断端口230时,第二mcu320可以将外部数据发送到控制模块100。

第二mcu320通过第二中断端口330监测从第一通信模块200输入的中断信号,或者产生中断信号以将中断信号供应给第一通信模块200,并且控制外部数据通过第二数据通信端口310被发送到数据传输电缆130。

当由第一通信模块200产生的中断信号被输入到第二中断端口330时,第二mcu320等待而不将外部数据发送到第二数据通信端口310,并且监测从第一通信模块200输入的中断信号。

之后,当来自第一通信模块200的中断信号未输入到第二中断端口330时,第二mcu320产生中断信号以通过第二中断端口330将中断信号发送到第一通信模块200。因此,当产生中断信号并将其发送到第一通信模块200时,第二mcu320可以将来自第二外部设备301和302的外部数据提供给第二数据通信端口310,从而允许将外部数据发送到控制器模块100。

图3是顺序描述图2所示的第一和第二通信模块200和300的数据传输操作的输入/输出(i/o)波形图。

参考图3,下面将更详细地描述第一和第二通信模块200和300的数据传输操作。

当在第二通信模块300中以低逻辑电平产生的中断信号被输入到第一中断端口230的输入通道r_输入(r_in)时,第一通信模块200等待而不将外部数据发送到第一数据通信端口210。然后,第一通信模块200连续监测从第二通信模块300输入的中断信号。

之后,当来自第二通信模块300的中断信号在第一通信模块200的输入通道r_in处被禁用为高逻辑电平时,第一通信模块200产生处于低逻辑电平的中断信号以通过第一中断端口230的输出通道r_输出(r_out)将中断信号输出到第二通信模块300(中断传输操作)。

因此,在中断信号以低逻辑电平产生并被发送到第二通信模块300(中断传输操作)时,第一mcu220可以将来自第一外部设备201和202的外部数据提供给第一数据通信端口210,从而允许将外部数据发送到控制模块100(数据传输操作)。

另一方面,当在第一通信模块200中以低逻辑电平产生的中断信号正通过第二中断端口330的输入通道r_in被输入时,第二通信模块300等待而不将外部数据发送到第二数据通信端口310。此外,第二通信模块300监测从第一通信模块200输入的中断信号(在数据传输之前的中断监测操作)。

此后,当来自第一通信模块200的中断信号改变为高逻辑电平而不是以低逻辑电平输入到第二中断端口330的输入通道r_in时,第二通信模块300以低逻辑电平产生中断信号以通过第二中断端口330的输出通道r_out将中断信号发送到第一通信模块200。因此,在中断信号以低逻辑电平产生并被发送到第一通信模块200时,第二mcu320可以将来自第二外部设备301和302的外部数据提供给第二数据通信端口310,从而允许将外部数据发送到控制模块100。

图4是用于描述驱动图1和图2所示的plc的方法的流程图。

参考图4,当第一通信模块200开始被驱动时,第一通信模块200首先设置第一中断端口230的输入通道r_in和输出通道r_out。类似地,当第二通信模块300开始被驱动时,第二通信模块300首先设置第二中断端口330的输入通道r_in和输出通道r_out(s1)。

第一中断端口230和第二中断端口330中的每一个的输入/输出通道设置操作是用于通过将输入通道r_in和输出通道r_out分别设置为能够接收和发送通过其的中断信号来设置握手输入/输出顺序的操作。

握手输入/输出方法是一种数据传输方法,其中被配置为输入和输出数据的多个通信模块中的每一个可以按顺序交替地发送数据。然而,由于数据传输顺序可以根据通信模块之间的数据容量或公平性而任意改变,所以可以以各种方式设置数据传输顺序。因此,本公开被实现为使得第一通信模块200和第二通信模块300在发送数据时产生中断信号,并相互监测中断信号以执行握手输入/输出通信方法。

因此,为了执行握手输入/输出通信,第一通信模块200和第二通信模块300应当监测第一中断端口230和第二中断端口330之间的中断信号,并且根据是否产生中断信号顺序执行输入和输出操作。

在设置输入通道r_in和输出通道r_out之后,当要传送到控制模块100的数据存在时,第一通信模块200和第二通信模块300中的每一个可以监测正被输入到其的中断信号,并当中断信号未被输入时产生中断信号以发送数据。

因此,当存在要发送到控制模块100的数据时,第一通信模块200和第二通信模块300中的每一个首先将被调度要发送到控制模块100的外部数据对准(s2),然后监测正在输入的中断信号。也就是说,当被调度要发送到控制模块100的外部数据存在时一方监测处于等待状态的另一方的中断信号(sendflag==true)(s3),但是另一方首先产生中断信号并占用数据传输电缆130以将数据发送到控制模块100。

具体而言,当存在要发送的数据、存在要传送的数据、经过了最大传输时间、或者状态被设置为在产生中断信号之前的状态(lowleveldetect==true)时,一方被指示检查另一方是否占用握手(sendflag==false)(s4)。在这种情况下,由于一方不能连续监测并等待另一方释放数据传输电缆130的占用的时间,所以一方设置数据传输等待(waitrelease==true)和中断信号等待(lowleveldetect==true)。然后,一方检测另一方的数据传输电缆130的占用释放时间(s5)。

被调度要发送的外部数据在第一或第二通信模块200或300中存在,直到中断信号确定操作(s3至s5),并且当第一和第二通信模块200和300中的一个具有控制权(即,输入通道r_in处于“低逻辑电平”)时,存在用于立即识别另一方终止外部数据的传输的时间并且使用中断信号输入通道r_in从低逻辑电平切换为高逻辑电平并且用于设置控制权的标志。

之后,在监测另一方释放数据传输电缆130的占用时(s6和s7),一方保持数据传输等待(waitrelease==true)和中断信号等待(lowleveldetect==true),直到确定数据传输电缆130是否被占用(s8)。

然而,在监测另一方释放第一数据通信端口210的占用时(s6和s7),当另一方被确定释放数据传输电缆130的占用时,一方产生中断信号以将中断信号发送到另一方的输入通道r_in(s9)。

在握手输入中断处理操作(s9和s10)中,第一或第二通信模块200或300将作为握手输出的中断信号转换并设置为高或低逻辑电平。也就是说,在握手输入中断处理操作(s9和s10)中,第一或第二通信模块200或300监测在第一和第二通信模块200和300之间是否产生中断信号,并且当第一通信模块200或第二通信模块300不占用数据传输电缆130时,可以重复第一或第二通信模块200或300首先占用数据传输电缆130的处理。

用于占用数据传输电缆130的重复处理的握手输入中断处理操作(s6至s10)将被已经参考图3描述的第一和第二通信模块200和300的数据传输操作的描述所替代。

然后,在传输确认和完成操作(s11和s12)中,在外部数据传输完成之后,握手输入中断信号检测高或低逻辑电平的中断信号以允许产生中断。换句话说,直到握手输入中断处理操作终止,重复并保持握手方法。

如上所述,根据本公开的实施例的plc通过相互检查中断信号允许多个通信模块通过彼此共享的数据传输电缆在没有冲突的情况下发送数据,从而具有其中可以使控制模块与多个通信模块之间的数据传输电缆的配置最小化,以简化数据传输电缆的结构并降低制造成本的效果。

此外,当可以进行数据传输同时在多个通信模块中的每一个监测多个通信模块之间的中断信号时发送数据,并且当发送数据时,一个通信模块向另一个通信模块应用中断信号以禁用另一个通信模块的数据传输,使得具有能够防止数据冲突并且可以使错误最小化以提高plc的可靠性的效果。

尽管已经参照本发明的示例性实施例具体示出和描述了本公开,但是本公开不限于示例性实施例,并且应当理解,本领域技术人员可以获得各种变化和修改。相应地,本公开的精神应该仅由所附权利要求来确定,并且所有等同物或等同变化将落入本公开的范围内。

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