专利名称:可编程控制器的制作方法
技术领域:
本发明涉及可编程控制器,特别涉及利用了系统总线的单元之间的传输方式的改
良O
背景技术:
在FA(工厂自动化)的网络系统中,负责控制在生产工厂内配设的工业机器人以及其他生产设备的输入设备和输出设备的一个或者多个PLC (可编程逻辑控制器)、和通过 PLC来控制其动作的设备连接到控制系统的网络上。PLC通过连结CPU单元、I/O单元等各种单元而构成。I/O单元中,有连接传感器和开关等输入设备从而将它们的开通/关断信号作为输入信号来获取的输入单元、连接致动器(actuator)和继电器(relay)等输出设备从而对它们送出输出信号的输出单元等。CPU 单元的MPU基于写入到输出单元的存储器中的输出数据,输出单元对输出设备输出输出信号。此外,从输入设备输入的输入信号被存储到输入单元内的存储器,CPU单元的MPU对该存储器进行访问从而取得输入数据。这样,CPU单元的MPU访问各个单元的存储器从而进行数据的读写。但是,伴随处理速度的高速化,MPU访问各个单元的存储器而进行数据的读写变得越来越困难。因此,本发明人想到利用连接到PLC网络线缆的节点之间的通信技术,在构成一个PLC的单元之间进行数据的发送接收。具体地说,CPU单元为主体(master),其他的单元作为从属(slave),通过主-从通信而进行数据的发送接收。此外,在这种通信技术中,采用当对方正常接收了发送帧时从对方返回ACK帧的结构,主体在一定期间内没有被返回ACK 帧时,判断为未能传送而决定重发。由此,能够将作为目标的数据可靠地传送到对方。这种重发技术在专利文献1等中公开。现有技术文献专利文献专利文献1 特开2004-186892号公报
发明内容
发明要解决的课题可是,不能将一般的在网络连接的节点之间进行的重发技术直接利用到PLC的单元之间的数据通信。即,构成PLC的单元之间的数据的发送接收,有想要高速且接连不断地送出数据的要求。但是,一旦送出存储了该数据的发送帧,确认从对方是否返回ACK帧,在没有到达时重发,在发送完成时发送存储了下一数据的发送帧,若这样则等待时间会变长, 失去利用通信技术来高速地发送接收数据的意义。进而,在进行数据通信时需要考虑噪声的影响。为了避免该噪声所导致的通信错误,如上所述那样有重发技术,但由于进行高速通信因而用于发送一个发送帧的时间变得非常短。其结果,如脉冲噪声那样在非常短时间内以单发方式产生的噪声,在使用了一般的网络线缆的通信时,只是一个发送帧内的几个比特消失,但是若进行高速通信,则发送帧整体将消失。此外,在为了进行高速通信而连结前后的发送帧进行了发送时,担心即使是脉冲噪声这样的短的短发噪声也会使前后多个发送帧受损而成为通信错误。因此,具有想要可靠且高速地进行构成PLC的单元之间的通信的课题。用于解决课题的方案为了解决上述课题,本发明的可编程控制器是,(1) 一种可编程控制器,由一个主体单元和多个从属单元连接到系统总线而构成,所述主体单元具有将发往不同的从属单元的发送帧汇总后连续发送多次的功能。本发明的主体单元将发往不同的从属单元的发送帧汇总后连续发送多次。S卩,在第1次的发送处理中,将该汇总的发送帧以规定的顺序进行发送。接着,在第2次的发送处理中,将汇总的发送帧以规定的顺序进行发送。以后,相应于所设定的多次,重复进行发送处理。另外,第1次和第2次中发送的顺序在实施方式中设为相同,但本发明未必要设为相同。但是,设为相同时处理(控制)能够简单地进行,因此较为理想。从属单元是构成PLC 的单元,因此与主体单元非常近,发送帧的传播时间也短。此外,对于各个单元,需要在短时间内顺序发送,必然针对汇总的多个发送帧,也希望尽量缩短发送间隔。进而,根据高速化的要求,发送一个发送帧所需的时间也变短。其结果,即便是脉冲噪声那样在比较短的期间产生的噪声,也有可能使一个发送帧整体或者多个发送帧受到噪声的影响从而导致发生无法正常传送的事态。但是在本发明中,如上所述,由于将汇总的发送帧的发送处理进行多次,因此不会只对同一发送帧进行连续发送,因而假设因噪声而没有能够传送前后连续的多个发送帧,也不会使同一发送帧全部都因噪声而无法传送。因此,能够高速且可靠地将各个发送帧传送到所期望的从属单元。(2)所述从属单元具有在正常接收了所述发送帧时返回所设定的响应的功能,所述主体单元在接收到所述响应的情况下,即使不满所述多次,也可以停止发送相应的发送帧。所设定的响应例如有实施方式的ACK帧的发送、对于发送请求帧的IN帧的发送等。那么,例如,在如靠近主体单元的从属单元那样响应快速返回的情况下,该响应可能会在送出多次的发送帧之前返回。这时,若接收了响应,则该发送帧会准确地到达对方,因此其以后发送是无用的。因此,在接收到响应之后,不进行相应的发送帧的发送,因此能够只发送必要的发送帧,与系统的通信有关的负担减轻。(3)所述主体单元在多次接收到对于同一发送帧的所述响应的情况下,第2次以后则可以丢弃。所返回的响应执行规定的接收处理,并存储到存储器等。若能够有一次接收到对于同一发送帧的响应,则可确认该发送帧能够准确地传递到对方,因此其以后的响应的接收处理为无用,造成存储器的不必要的浪费,并不理想。因此在本发明中,通过丢弃该第2次以后的响应,从而能够抑制执行无用的处理。(4)包括所述一个主体单元和多个从属单元一体化的块体、以及所述多个从属一体化后的延长块体,所述块体和所述延长块体通过延长线缆连接,所述连续发送多次的次数可以设定为,与发往构成所述块体的从属单元的发送帧相比,发往构成所述延长块体的从属单元的发送帧的更多。若有延长线缆,则在其前后噪声的影响不同。即,从主体单元看来,对于比延长线缆更下游侧的从属单元的发送帧,比对于上游侧的从属单元的发送帧更容易受到噪声的影响,无法正常发送的概率高。因此,通过将对于该下游侧的构成延长块体的从属单元的连续发送次数设定得多,从而能够可靠地进行传送。另一方面,在构成与CPU 单元一同连结的块体的从属单元的情况下,以1次或者2次等较少的次数就正常传递的可能性高。因此,即使减少连续发送的多次的次数也能够进行传送,伴随于此,能够抑制发生在正常接收后也继续发送同一帧的无用的处理。(5)所述连续发送多次的次数,对于所述汇总的发送帧可以都设为相同。那么,发送次数的管理/控制能够汇总进行,因此较为理想。(6)此外,所述连续发送多次的次数,也可以在所述汇总的发送帧中不同。通过设为该结构,即对每个从属单元设置适当的发送次数,从而能够更加可靠且不浪费地进行发送处理。发明效果在本发明中,设为连续发送多次发送帧,因此能够可靠且高速地进行构成PLC的单元之间的通信。
图1是表示本发明的可编程控制器的优选的第1实施方式的图。图2是说明连续发送的图。图3是说明连续发送的图。图4是说明第2实施方式的图。图5是说明变形例的图。图6是表示变形例的图。
具体实施例方式图1表示本发明的可编程控制器(以下,“PLC”) 10的第1实施方式。该PLClO连结用于实现各种功能的多个单元而构成。该多个单元至少具有一个CPU单元20。进而,本实施方式的PLClO包括I/O单元30 (输入单元、输出单元、输入输出单元等)、高功能I/O单元40 (高功能输入单元、高功能输出单元、高功能输入输出单元等)、终端单元50。省略图示,但还包括用于对构成PLClO的各个单元进行电源供应的电源单元。当然,构成PLClO的单元不限于上述,根据想要执行的控制对必要的单元进行适当取舍选择从而构成。这些各个单元在外壳的侧面具有连接器15。各个单元通过连结连接器15之间,从而被电连接。即,在连接器15上,连接高速串行通信线的一端,高速串行通信线的另一端连接到单元的内部电路(在本实施方式中为ASIC)。此外,还连接电源线。由此,通过连结邻接的单元的连接器15之间,从而能够进行从电源单元到单元的电源供应,并且能够进行单元之间的数据通信。进而PLClO的单元之间的通信使用ASIC而进行,实现高速化。并且,由本实施方式的高速串行通信线所构成的系统总线由下行用系统总线11和上行用系统总线12的两个系统构成。这样,通过固定流过各个系统总线11、12的帧的方向,从而抑制通信时的帧的冲突的发生概率,能够更加可靠且流畅地进行传递。CPU单元20控制构成FA网络的各个设备的动作,循环地执行“公共处理”、“IN更新”(主体读出从属的数据的处理)、“用户程序的运算执行”、“OUT更新”(主体对从属写入数据的处理)、“周边服务”。CPU单元20成为主体,管理与通过系统总线11、12连接的各个单元(从属)之间的通信。CPU 单元 20 包括 MPU21、EEPR0M22、RAM23、ASIC24、通信电路 25。EEPR0M22 存储 CPU单元用的系统程序、用户程序、IN数据/OUT数据等的IO数据。MPU21是CPU单元用的微处理器单元,通过执行在EEPR0M22中存储的系统程序和用户程序,从而统一控制PLC整体。RAM23是在MPU21动作时作为工作存储器使用的存储器。AISCM具有执行用户程序的一部分的功能。此外,以与本发明的关系而言,ASIC24 具有在与其他单元之间进行主-从通信的功能。g卩,ASICM包括用于与MPU21进行通信的MPU接口部(省略图示)、存储在与从属单元之间发送接收的IO数据等的共享存储器部 Mc、在与从属单元之间管理主-从通信的通信控制器部Md、连接到系统总线11、12且实际进行数据的发送接收的发送控制部Ma以及接收控制部Mb。如上所述,由于将系统总线 11、12的传送方向固定为一个方向,因此发送控制部2 连接到下行用系统总线11,接收控制部24b连接到上行用系统总线12。通信电路25在与连接到现场网络的远程I/O等设备之间进行通信。I/O单元30和高功能I/O单元40是,连接传感器和开关等输入设备从而将它们的接通/关断信号作为输入信号来获取的输入单元或连接致动器和继电器等输出设备从而对它们送出输出信号的输出单元等。这些单元30、40成为从属单元。I/O单元30包括ASIC31、用于与连接到自身的外部设备进行输入信号和输出信号的发送接收的接口(省略图示)等。ASIC31对系统总线11、12菊花链(Daisy chain)连接。从而,ASIC31包括连接到下行用系统总线11的发送控制部31a以及接收控制部31b、 连接到上行用系统总线12的发送控制部31c以及接收控制部31d、通信控制器部31e等。 ASIC31的通信控制器部31e若由接收控制部31b接收到下行用系统总线11上传送的帧,则执行规定的处理,从成对的发送控制部31a发送到下游侧的从属单元。同样地,通信控制器部31e若由接收控制部31d接收到上行用系统总线12上传送的帧,则执行规定的处理,从成对的发送控制部31c发送到上游侧的相邻的单元。当然,由于通过下行用系统总线11送来的帧是发往自身的,因此作为其结果而对CPU单元20返回响应/ACK时,该响应从发送控制部31c发送到上行用系统总线12。高功能I/O单元40除了与上述的I/O单元30同样地包括ASIC41、用于与连接到自身的外部设备进行输入信号和输出信号的发送接收的接口(省略图示)等之外,还包括 MPU44。通过该MPU44执行更复杂的处理,从而高功能I/O单元40循环地执行运算处理、IO 更新、公共处理、周边服务等一连串的处理。即,高功能I/O单元40具有控制连接到自身的输出设备的动作等的功能,还能够称为特殊单元。运算处理也可以是执行预先设定的程序, 也可以是执行用户程序。此外,高功能I/O单元40的ASIC41对系统总线11、12菊花链连接。从而,ASIC41 包括连接到下行用系统总线11的发送控制部41a以及接收控制部41b、连接到上行用系统总线12的发送控制部41c以及接收控制部41d、通信控制器部41e等。此外,由于高功能 I/O单元40包括MPU44,因此ASIC41中具备MPU接口部。进而,在本实施方式中,由于该高功能I/O单元40是离CPU单元20最远的最终的单元,因此在其后面安装终端单元50。并且,高功能I/O单元40的ASIC41的发送控制部41a连接到终端单元50内的终端电阻51。
下面,说明从成为本发明的主要部分的主体的帧发送功能。作为主体的CPU单元 20的ASICM生成并发送各种帧。该发送的帧例如有用于发送OUT数据的OUT帧、对从属请求IN数据的发送请求帧、对从属进行消息数据的发送请求的发送请求帧、伴随应用中产生的中断原因而发送的中断帧等。这些发送帧,例如将MPU21应发送的数据存储到ASICM的共享存储器部2 内的发送表。然后,若成为ASICM的执行定时,则通信控制器部24d读出该数据,并提供给发送控制部Ma,附加报头和纠错码后进行编码,并进行并行/串行变换后发送到下行用系统总线11。此外,在发送帧中,对每个发送请求的各个帧附加唯一的事务(transaction) ID。另一方面,I/O单元30和高功能I/O单元40等的从属单元,若通过接收控制部 31b,41b接收到发送帧,则在串行/并行变换之后,解码而进行帧校验。若被判定为校验正常,则在发往自身的发送帧的情况下,基于通过发送帧发送来的数据而执行规定的处理。S卩,在OUT帧的情况下,从属单元进行基于送来的OUT数据的OUT更新,生成ACK 帧,并从发送控制部31c、41c向主体单元发送。若CPU单元20的ASICM经由接收控制部 24b取得该ACK帧,则识别为已接收了之前发送的OUT帧。此外,在发送帧为请求IN数据的发送请求帧的情况下,从属单元生成存储了最新的IN数据的IN帧,并从发送控制部31c、 41c向主体发回。在发送帧为请求消息数据的发送请求帧的情况下,若存在能够在接收时刻发送的消息,则从属单元生成存储了该消息的消息帧,并从发送控制部31c、41c向主体发回。进而,在发送帧为中断帧的情况下,从属单元的ASIC进行与中断请求相应的处理,并且生成ACK帧,从发送控制部31c、41c向主体单元发送。在该ACK帧中,附加在发送帧上所附加的事务ID。由此,CPU单元20以事务ID作为密钥,能够识别接收到的ACK帧是针对哪个发送请求的ACK帧。此外,由于进行了菊花链连接,因此通过接收控制部24b接收到的发送帧被提供给通信控制器部31e、41e,最终,在发送控制部31a、41a进行并行-串行变换,并被输出到作为传送路径的下行用系统总线11。这里,在本实施方式中,作为主体单元的CPU单元20的ASIC24,将共享存储器部 24c内的发送表中设置的汇总的多个发送请求,不等接收来自从属单元的ACK帧就以规定的顺序重复着连续发送指定次数。即,例如,若设有3个发送请求,重复发送次数为3次,则 ASICM在图2 (a)、图3所示的定时执行发送处理。在图2中,为了便于图示,仅以数字表示各个发送请求的发送帧。此外,各个发送帧以前后靠紧的状态接连不断地发送。由此,确保系统总线上的高速发送,保证构成PLC10的各个单元之间的高速通信。首先,ASICM作为第1次的发送处理,按照发送请求-1、发送请求_2、发送请求_3 的顺序生成并发送各个发送请求的发送帧。然后,ASICM若发送完一组的最后的发送请求-3的发送帧,则转移到第2次的发送处理,按照发送请求-1、发送请求_2、发送请求-3 的顺序生成并发送各个发送请求的发送帧。然后,转移到第3次的发送处理,ASICM从发送请求-1开始顺序发送。然后,ASICM若发送发送请求-3的发送帧,则启动ACK校验时间监视用的定时器。当然,也可以在每次一般进行发送时启动ACK监视定时器。ASIC24若接收到ACK帧,则能够根据其中包含的事务ID来识别是针对哪个发送请求的ACK帧。该接收到的ACK帧被存储到共享存储器部Mc的规定的存储器区域。并且,ASICM在定时器中经过了 ACK校验时间的时刻,判断对于需要ACK的所有发送请求帧的
7ACK帧(或者IN帧等的来自从属单元的响应)是否已被返回,若实现了有关属于发送请求组的所有发送帧的送达确认,则正常完成。当然,根据发送帧的种类,也有只是发送而不要求来自从属单元的响应的发送帧,对于这样的发送帧,以视为有ACK帧或者从监视对象中排除的方式来应对。另一方面,判断为发送帧未能正常传送,CPU单元20的MPU21和/或 ASICM执行规定的处理。当然,在每次一般进行发送时启动ACK监视定时器的情况下,上述的是否正常发送的判断也在其每次进行即可。这样,通过顺序重复多个发送帧,从而即使例如图2(b)所示那样发生脉冲噪声, 发生连续的多个发送帧无法正常传送的事态,通过重复多次发送,也能够可靠地传送全部的发送帧。即,与通过一般的网络线缆连接的节点之间的通信不同,是PLC的系统总线内的数据通信,并且进行比以往高速的通信,因此例如发送一个发送帧所需的时间成为几十 nsec 几百nsec左右,通信速度越快则该时间越短。另一方面,脉冲噪声以百nsec以上的时间发生。因此,一般的网络通信中的脉冲噪声的影响只是缺失一个发送帧内的几个比特而已,但在本实施方式的PLC中,发送帧整体成为错误。由于前后靠紧而连续发送发送帧,因此连续的多个发送帧成为错误。并且,如图2(b)所示,即使在从第1次的发送请求-1 到第2次的发送请求-1为止的4个发送帧成为错误的情况下,关于发送请求-2和发送请求_3,也能够在第2次的发送处理中传送到从属单元,并且,关于发送请求-1,能够在第3 次的发送处理中传送到从属单元。相对于此,即使是多次发送相同的发送帧的情况,在将有关同一发送请求的发送帧连续发送规定次数,然后将有关另一发送请求的发送帧连续发送规定次数的情况下,也存在无法正确传送的顾虑。在将3个发送请求的发送帧分别发送了 3次的情况下,如图2 (a) 所示,首先将有关发送请求-1的发送帧连续发送了 3次之后,转移到对于有关发送请求-2 的发送帧的发送处理。于是,与上述的图2(b)同样地从开头起4个发送帧因噪声而无法发送的情况下,如图2 (c)所示那样从发送请求-2的第2次的发送开始能够正常发送,因此具有无法送出发送请求-1的弊病。此外,在没有噪声且发送处理的全部发送帧被正确送出的情况下,如图2(a)所示,在本实施方式中,从发送请求-1的发送开始到发送发送请求-2为止的最短时间Tl成为相应于1个发送帧的发送时间,该时间与重复发送的次数无关地固定。相对于此,在如图 2(c)所示那样发送多次相同的发送帧的情况下,从发送请求-1的发送开始到发送发送请求-2为止的最短时间T2成为相应于3个发送帧的发送时间。并且,产生以下问题,即重复发送的次数越多则该时间越长。在加长了重复发送的次数以便抗噪时,其差距更加显著地表现出。此外,作为主体单元的CPU单元20在发送帧中,对每个发送请求附加唯一的事务 ID。因此,CPU单元20在第2次以后的连续发送时的有关同一发送请求的发送帧中,附加与初次相同的事务ID。即,有关发送请求-1的发送帧在重复发送3次时,3次都成为相同的事务ID。因此,如图3所示,从属单元(接收侧)有时接收多次相同的事务ID的帧,这时, 从属单元返回以下的响应。即,接收到OUT帧的从属单元的ASIC在其每次返回ACK帧。由此,由于来自同一从属的ACK帧也是七零八落地分散返回而不是连续返回,因此ACK也抗噪。另外,在连续发送了多次同一发送帧的情况下,来自接收到该发送帧的从属的ACK帧也会被连续发送,因此与发送时同样地容易受到噪声的影响。此外,从属单元的ASIC对于通过接收到的OUT帧送来的OUT数据(发送请求), 不是利用它进行OUT更新等,而是直接丢弃。由此,从属单元不用执行无用的更新/改写处理。接收到IN数据用的发送请求帧的从属单元的ASIC,以最新IN数据生成IN帧并将其返回,接收到消息用的发送请求帧的从属单元的ASIC,以在接收时刻能够发送的消息数据来返回消息帧。接收到中断请求帧的从属单元的ASIC,由于根据上一次的中断原因而进行处理,因此不进行中断原因的更新,但为了通知正常接收而返回ACK帧。图4表示本发明的第2实施方式的主要部分的功能。在上述的第1实施方式中, 将属于同一组的发送请求重复发送预先决定的次数。由此,例如即便在第1次的发送处理中所有的发送帧被传递到目的地的从属,也会执行第2次、第3次的发送处理。这时,第2 次、第3次的发送处理本来会成为无用的发送,通信业务拥挤且其他的发送请求的发送会延迟,或各个单元中的处理负担也会增加,因此不理想。进而,为了便于说明,设为发送请求有3个,但如果从属的数目多,构成一个组的发送请求的数目增加,或重复发送的次数增加以便抗噪,则该问题会更加显著地表现出。因此在本实施方式中,在连续发送的执行中获取送达确认,正常完成的从属单元能够确认的情况下,该已经送达确认的正常传送的发送帧,即使发送次数没有达到所设定的规定次数,在这以后也不发送。由此,减少发送帧的无用的发送处理,能够高效地迅速发送。具体地说,在连续发送的执行中接收了 ACK帧的情况下,不发送对应的发送请求的发送帧(跳跃发送处理)。对应的请求帧能够根据ACK帧中存储的事务ID来确定。跳跃处理例如在发送表中与发送请求相关联地设置发送完成标志,在接收了 ACK帧的情况下将该发送完成标志设为ON。通信控制器部24d在确定发送处理对象的发送请求时,从开头起顺序读出发送表,但这时可以通过以下方式来实现,即不用读出发送完成标志为ON的发送请求而将对象转移到下一个发送请求。此外,对发送表中存储的各个发送请求相关联地存储发送剩余次数。初始值为所设定的连续发送次数,在第1实施方式中说明的图2、图3 的例子中,设置“3”。然后,在每当发送一次时减去1,若成为“0”则设为本次的连续发送完成,且设为ACK校验等待的情况下,若途中收到了 ACK帧,则将该剩余次数更新为“0”。由此,在接收到该ACK帧之后,即使对应的发送请求到了发送顺序,也由于剩余次数为“0”而跳跃,能够将其下一个发送请求设为发送对象。尤其,在发送表中记录有多个发送请求,主体单元的附近设置的从属单元在发送帧/ACK帧的通信上所需的时间短,因此在连续发送的执行中送达确认正常完成的可能性变高。若示出具体动作的一例,则如图4。这里,假设不产生噪声等,且所有的发送帧被传递到各自的从属单元。此外,假设“发送请求-1”是发往节点号#1的从属单元的帧,“发送请求-2”是发往节点号#2的从属单元的帧,“发送请求_3”是发往节点号#3的从属单元的帧。此外,从属单元从主体单元侧开始按照升序方式设定了节点号。由此,节点号#1是最接近主体单元的从属单元。在图1的例子中,邻接CPU单元20的I/O单元30成为节点号 #1,下一个I/O单元30成为节点号#2,高功能I/O单元40成为节点号#3。CN 102473005 A说明书8/10 页此外,在本实施方式中,各个单元的ASIC由于进行了菊花链连接,因此发往节点号#2的从属单元的发送帧在一旦被节点号#1的从属单元的ASIC接收到之后,被转发而由节点号#2的从属接收。因此,离主体单元侧(CPU单元20)越远(节点号越大),帧被传播所需的时间就越长。在该前提下,在第1次的发送处理中,对于发送请求-1的发送帧、发送请求-2的发送帧、发送请求-3的发送帧,按照该顺序依次发送。那么,发送请求-1的发送帧被从属 #1正常接收,并返回ACK帧。此外,发送请求-2的发送帧通过从属#1传送而由从属#2正常接收,并返回ACK帧。该ACK帧暂且被从属#1获取,通过转发而到达主体单元。同样地, 发送请求-3的发送帧经由从属#1、从属#2而到达从属#3。然后,若被正常接收,则ACK帧经由上述的相反的路径而到达主体单元。如图示那样,基于第1次的发送处理的来自从属#1的ACK帧,在第2次的发送处理中的发送请求-1的发送帧的发送之前已被主体单元接收(参照(1)),所以对于发送请求-1跳过第2次以后的发送。伴随于此,第2次的发送处理是针对发送请求-2和发送请求-3的发送帧执行。在第2次的发送处理完成之后转移到第3次的发送处理之前,对于在第1次的发送处理中发送的发送请求-2的发送帧的、来自从属#2的ACK帧已被主体单元接收(参照
(2))。从而,在该阶段发送请求-2也从发送对象中被排除,在第3次的发送处理中仅发送发送请求-3的发送帧。此外,在第3次的发送处理结束之后,ACK校验时间期满之前,对于在第1次的发送处理中发送的发送请求-3的发送帧的、来自从属#3的ACK帧已被主体单元接收(参照
(3))。由此,被识别为来自从属#3的送达确认已正常完成,本次的发送处理都已正常送达。 此外,ACK校验时间被设定为,足以返回对于在第3次的发送处理中发送的所有发送帧的 ACK帧的时间。此外,根据图可知,例如在第2次的发送处理中发送了发送请求-2之后接收基于第1次的发送处理的ACK帧,因此在此后,基于该第2次的发送处理的ACK帧会从从属#2 返回。对于发送请求_3,主体单元接收合计3次的ACK帧。因此,主体单元的接收控制部24b在接收到ACK帧之后由于连续发送而再次接收了相同的ACK帧的情况下,接收并丢弃该ACK帧。由此,共享存储器部2 中存储的ACK帧, 针对同一发送帧为一个,因此能够削减存储器区域的无用的消耗以及存储处理。是否为相同的ACK帧是根据业务ID是否相同而判断。在上述的例子中,说明了 ACK帧,在接收到IN帧等的情况下也能够判断为在从属单元侧已正常接收,因此进行与上述同样的发送控制。此外,在上述的实施方式中,发送表中存储的属于同一组的发送请求的发送帧的发送次数设为相同,但也可以适当不同。这时,能够通过以下方式来实现,即对每个发送请求关联地注册作为剩余发送次数中设置的初始值的发送次数,并在每当发送一次时将其剩余发送次数减去1,若成为0则跳过其发送请求,若与所有的发送请求相关联的剩余发送次数成为0,则等待ACK校验时间的期满。此外,也可以设置多个发送表。这时,若按照连续发送次数进行分组,则不需要对每个发送请求设定/管理发送次数,因此控制变得简单。连续发送次数可以根据单元的噪声环境而对每个单元设为不同的设定。例如,如图5所示,在连结多个单元而构成的块体的最后级安装延长单元60,通过由延长线缆14连结该延长单元60之间,从而有时通过多个块构成PLC。这时,由于对延长线缆14以后的从属单元的发送帧在因噪声的影响而成为通信错误的概率高,因此可以将连续次数设为较大的值,在包含CPU单元20的块体上连结的从属单元,由于其与CPU单元20之间不经由延长线缆14,因此噪声的发生也较少,因而可以减小连续次数,削减无用的发送的产生。此外,未必要对所有的从属帧设为2以上的连续次数,例如对于靠近CPU单元20 的从属单元,也可以将连续次数设为1,即仅发送一次,不进行重复发送。进而,此外在上述的各个实施方式中,设为通过连接器连接单元的侧面之间的类型,但本发明不限于此,例如也可以将各个从属单元安装到基础单元上设置的插槽。此外,在上述的各个实施方式中,CPU单元20(主体)与I/O单元30、高功能I/O 单元40 (从属)进行菊花链连接,但本发明未必要采取这样的连接方式,也可以采用其他的各种通信方式。此外,在从上述的主体对从属发送帧时,连续多次发送的技术例如也能够应用于连接到如图6所示的网络的远程I/O终端70等。S卩,若看网络整体,则PLClO成为主体,连接到现场网络80的各个设备成为从属,在PLClO和设备之间,进行网络下的主-从通信而发送接收数据。该设备中,有单独的设备,也有如I/O终端(terminal)(有时也被称为终端 I/O、终端装置等)那样在该I/O终端上进一步连接多个I/O设备的设备。并且,作为该I/ 0终端的一个形式,有如图6所示那样积木型的远程I/O终端70。该远程I/O终端70连结通信单元71、1个或者多个I/O单元72 (分割(slice) I/ 0单元)而构成,这些连结的单元71、72通过内部总线(系统总线)73电连接,能够进行数据的发送接收。I/O单元能够适当增减,因此能够根据系统结构而变更调整。该内部总线 73与上述的实施方式的系统总线同样地,也可以由多个系统构成。此外,远程I/O终端70能够与PLClO同样地,在最后级连结终端(end)单元而结束,此外,能够在最后级连结连接单元的同时,通过连接线缆来连接其他的远程I/O终端。通信单元71经由现场网络80连接到PLClO的CPU单元20的通信电路25。通信单元71具有与连接到现场网络80的PLClO等的装置进行通信的功能、与连结到自身的I/ 0单元72进行通信的功能。I/O单元72的数据暂且被通信单元71收集,且统一与作为主体的PLClO (CPU单元20)进行数据交换。通信单元71与I/O单元72之间,通信单元71成为主体,I/O单元72成为从属, 进行主-从通信。并且,通信单元71与I/O单元72之间经由内部总线73进行通信时,也可以与上述的CPU单元20同样地,安装连续发送多次汇总的发送帧的技术。标号说明10 PLC11下行用系统总线12上行用系统总线14延长线缆20 CPU 单元21 MPU24 ASIC
30I/O 单元31ASIC40高功能I/O单元41ASIC44MPU60延长单元70远程I/O终端71通信单元72I/O 单元
权利要求
1.一种可编程控制器,由一个主体单元和多个从属单元连接到系统总线而构成,其特征在于,所述主体单元具有将发往不同的从属单元的发送帧汇总后连续发送多次的功能。
2.如权利要求1所述的可编程控制器,其特征在于,所述从属单元具有在正常接收了所述发送帧时返回所设定的响应的功能, 所述主体单元在接收到所述响应的情况下,即使不满所述多次,也停止发送相应的发送帧。
3.如权利要求2所述的可编程控制器,其特征在于,所述主体单元在多次接收到对于同一发送帧的所述响应的情况下,第2次以后则丢弃。
4.如权利要求1至3的任一项所述的可编程控制器,其特征在于,包括所述一个主体单元和多个从属单元一体化的块体、以及所述多个从属一体化后的延长块体,所述块体和所述延长块体通过延长线缆连接,所述连续发送多次的次数设定为,与发往构成所述块体的从属单元的发送帧相比,发往构成所述延长块体的从属单元的发送帧的更多。
5.如权利要求1至4的任一项所述的可编程控制器,其特征在于, 所述连续发送多次的次数,对于所述汇总的发送帧都设为相同。
6.如权利要求1至4的任一项所述的可编程控制器,其特征在于, 所述连续发送多次的次数,在所述汇总的发送帧中不同。
全文摘要
一种可编程控制器,通过一个主体单元和多个从属单元菊花链连接到系统总线而构成。主体单元将发往不同的从属单元的发送帧汇总,并将该一连串的发送帧连续发送多次(图中为3次)。由此,能够可靠地发送。
文档编号H04L1/08GK102473005SQ201180003350
公开日2012年5月23日 申请日期2011年3月10日 优先权日2010年3月15日
发明者水谷征尔 申请人:欧姆龙株式会社