可编程控制器的制作方法

文档序号:6362109阅读:136来源:国知局
专利名称:可编程控制器的制作方法
技术领域
本发明涉及一种用于对工业用装置进行控制的可编程控制器(PLC)。
背景技术
在PLC中,具有能够经由网络而与个人计算机或可编程显示器等上级装置连接的PLC0作为网络的通信方式,例如,可使用以太网(注册商标)。所连接的上级装置使用多种应用(application)对PLC进行访问。在这里,根据应用的种类不同,所需的响应速度不同。例如,构成编程显示器的应用从对PLC的设备值实时进行监视的性质考虑,需要高速响应。另外,每隔I天等较长跨度的周期对生产数据等进行收集的生产管理软件,不需要如进行实时监视的应用那么高速的响应。如上所述,与PLC连接的应用,有的需要高速响应,有的不需要。然而,对于要求进行高速高精度控制的PLC,与上级装置之间的通信所分配的CPU时间是有限的。因此,需要在PLC侧搭载能够优先对于要求高速响应的应用做出响应的机制。作为与上述期望相关的技术,例如在专利文献I中公开了一种能够针对通信装置的物理端口设定传送优先度的技术。专利文献1:日本特开2010 - 109568号公报

发明内容
然而,根据上述现有技术,由于针对物理端口设定优先度,因此,例如在I台计算机上运行的多个应用进行通信的情况下,存在该多个应用全部使用同一优先度的问题。本发明就是鉴于上述情况而提出的,其目的在于得到一种能够优先对于需要高速响应的应用做出响应的可编程控制器。为了解决上述课题并实现目的,本发明是一种可编程控制器,具有对设备值进行存储的输入输出存储区域,该可编程控制器在从所连接的上级装置接收到设备值的请求时,利用所请求的设备值做出响应,该可编程控制器的特征在于,具有:连接部,其针对由所述上级装置执行的各应用建立连接,经由所述建立的各应用的连接进行从所述上级装置接收请求及将响应发送至所述上级装置的动作;通信缓冲器,其针对各连接暂时存储所述连接部接收到的请求;请求处理部,其从所述输入输出存储区域读取由所述上级装置请求的设备值;优先度存储区域,其存储各连接的优先度的设定;以及通信调度部,其从所述通信缓冲器依次获取请求,并将所述获取的请求传送至所述请求处理部,将所述请求处理部读取的与所述传送的请求相对应的设备值作为响应,传送至所述连接部,对于所述优先度存储区域中设定的优先度越高的连接,所述通信调度部以越高的频度从所述通信缓冲器获取请求。发明的效果本发明所涉及的可编程控制器由于以高频度执行与设定为高优先度的连接相关的通信处理,因此,具有能够优先对需要高速响应的应用做出响应的效果。另外,本发明所涉及的可编程控制器具有下述效果,S卩,在存在要求高速响应的应用且存在允许低速响应的应用的情况下,即使服务(Service)处理的执行时间减少,如果将与要求高速响应的应用间的连接设定为高优先度,也能够对要求高速响应的应用高速做出响应。


图1是表示实施方式I的PLC的使用情况的图。图2是对对比例所涉及的PLC中的与上级装置之间的通信处理的特征进行说明的流程图。图3是说明实施方式I的PLC的通信处理的特征的流程图。图4是说明实施方式I的PLC的硬件结构例的图。图5是说明实施方式I的PLC的功能结构的图。图6是表示优先度信息的数据构造的一个例子的图。图7是表示优先度信息的生成画面的一个例子的图。图8是说明实施方式I的PLC的动作的流程图。图9是说明实施方式2的PLC的功能结构的图。图10是说明实施方式2的PLC的动作的流程图。图11是说明实施方式3的PLC的功能结构的图。图12是说明实施方式3的PLC的动作的流程图。图13是说明实施方式3中的通信处理的时间线的图。
具体实施例方式下面,基于附图,对本发明所涉及的PLC的实施方式详细地进行说明。此外,本发明并不限定于本实施方式。实施方式I图1是表示本发明所涉及的实施方式I的PLC的使用情况的图。如图所示,PLCl经由网络集线器2而与多台个人计算机(在此为2台个人计算机3a、3b)经由网络连接。网络的通信方式例如采用以太网(注册商标)。并且,在个人计算机3a上执行应用a和应用b,在个人计算机3b上执行应用C。应用a、b、c向PLCl发出请求,PLCl将响应返回至请求发出源。所谓请求,是指设备值的读取请求,所谓响应,是指从自身具有的输入输出存储区域读取出的受到读取请求的设备值。即,个人计算机3a、3b (应用a、b、c)作为PLCl的上级装置起作用。此外,作为PLCl的上级装置起作用的装置,除了个人计算机以外,还有可编程显示器等。图2是对与实施方式I进行比较的PLC中的与上级装置之间的通信处理的特征进行说明的流程图。所谓通信处理,更详细地说,是指对存储在PLC的通信缓冲器中的、来自上级装置的请求进行读取,并返回响应的动作。此外,将该流程图所示的例子称为对比例。根据对比例,在PLC中,由梯形执行处理、结束处理及服务处理构成的I次扫描(Scan)所涉及的处理,如步骤SI至S3、步骤S4至S6、步骤S7至S9所示循环地执行。在步骤S7至S9的扫描之后,执行步骤SI至S3的扫描。在梯形执行处理(步骤S1、S4、S7)中执行用户程序,在结束处理(步骤S2、S5、S8)中,执行将用户程序的运算结果反映在输入输出存储区域中的处理。在服务处理(步骤S3、S6、S9)中,执行与上级装置的通信处理。分配给服务处理的CPU时间被限定为一定时间。因此,在此,在与上级装置的应用之间建立16个连接(connection)的情况下,在第I次扫描的服务处理(步骤S3)中,执行16个连接中的5个连接(连接N0.1至5)所涉及的通信处理,在第2次扫描的服务处理(步骤S6)中,执行接下来的5个连接(连接N0.6至10)所涉及的通信处理,在第3次的服务处理(步骤S9)中,执行最后6个连接(连接N0.11至16)所涉及的通信处理。如上所述,根据对比例,通过多次扫描而完成一遍全部连接的通信处理。另外,对于各连接,以相同的频度执行通信处理。如前所述,与PLCl连接的各应用所需的通信速度不同。然而,在图2的对比例中,由于对于任意一个应用均以每3个扫描I次的频度进行通信处理,因此,对全部应用都以相同的响应速度进行通信。因此,在本发明的实施方式I中,对应于针对各应用所设定的优先度,而使进行通信处理的频度变化,其结果,能够使响应速度变化。图3是说明本发明的实施方式I的通信处理的特征的流程图。如图所示,根据本发明的实施方式1,与对比例同样地,在各次扫描中执行梯形执行处理、结束处理及服务处理。并且,针对各连接设定3档的优先度。在此,对通过连接N0.1及16连接的应用设定优先度为“高”,对通过连接N0.2及3连接的应用设定优先度为“中”,对通过连接N0.6连接的应用设定优先度为“低”。并且,优先度“高”的连接所涉及的通信处理,由3次扫描中的2次扫描中的服务处理(步骤S13、16)执行,优先度“中”的连接所涉及的通信处理由3次扫描中的I次扫描中的服务处理(步骤S19)执行。并且,优先度“低”的连接所涉及的通信处理,每隔由用户预先设定的时间间隔在服务处理中得到执行(在此,由步骤S19的服务处理执行)。如上所述,在实施方式I中,与在连接装置上运行的应用之间的通信处理,分别以基于预先设定的优先度的频度执行,对于应用而言,优先度设定得越高,越能够高速地返回响应。在图1的例子中,在PLCl中,作为相对于应用a、b、c的通信优先度,分别设定为高、低、中。PLCl与优先度高的应用a之间以最高频度进行通信处理,与优先度中的应用c之间以低于应用a的频度进行通信处理。另外,PLCl与优先度低的应用b之间,以比应用c的通信处理的间隔低的、由用户预先设定的时间间隔(间隔时间)执行通信处理。图4是说明实施方式I的PLCl的硬件结构例的图。如图所示,PLCl具有CPU(Central Processing Unit)11>ROM(Read Only Memory)12>RAM(Random Access Memory)13及通信接口(I/F) 14,具有与通常的计算机相同的结构。CPU11、R0M12、RAM13及通信I/F14分别经由总线连接。ROMl2存储有PLCl的系统程序15及由用户生成的用户程序16。系统程序15作为PLCl的资源管理的一环,执行上述服务处理中的通信处理的优先度管理。用户程序16由CPUll在梯形执行处理中执行。RAM13保留有程序展开区域、工作区域、输入输出存储区域等。CPUll执行系统程序15及用户程序16。具体来说,将系统程序15及用户程序16从ROMl2读取,并在RAMl3中保留的程序展开区域中展开。CPUll通过执行在RAMl3中展开的系统程序15,从而实现后述的功能,在服务处理中执行基于优先度的通信处理。另外,在梯形执行处理中,CPUll执行在RAM13中展开的用户程序16。CPUll通过执行结束处理,从而执行存储在输入输出存储区域中的设备值的输入输出。通信I/F14是PLCl用于与网络连接的连接接口,是网络控制器单元或物理连接器的统称。图5是说明通过执行系统程序15而实现的本发明的实施方式I的PLCl的功能结构的图。如图所示,PLCl具有:连接部21、通信调度部22、系统主要部(请求处理部)23、计时部24、优先度存储区域26及设定时间存储区域27。连接部21、通信调度部22、系统主要部23、计时部24、优先度存储区域26及设定时间存储区域27形成在RAM13内。另外,连接部21具有通信缓冲器25。此外,也可以使得通信I/F14具有存储器或寄存器等存储装置,连接部21将该存储装置作为通信缓冲器25使用。系统主要部23执行包含PLCl的资源管理在内的基本控制。在此,特别地,系统主要部23从RAM13内的输入输出存储区域读取通过由连接部21接收到的请求而请求的设备值。通信缓冲器25是用于与上级装置之间的通信的缓冲存储器。来自上级装置的请求暂时存储在该通信缓冲器25中(进行缓冲)。连接部21使所连接的上级装置的互联网协议(IP)地址及端口号与本PLCl的端口号相关联而建立连接,并且,针对各连接,执行来自上级装置的请求向通信缓冲器25中的缓冲及系统主要部23生成的响应向上级装置的发送。用于建立连接的通信协议能够采用BSD套接字等通常的通信协议,也能够生成并采用专用的通信协议。另外,也能够采用未来开发的任意通信协议。优先度存储区域26设定有定义了各连接的优先度的信息(优先度信息)。优先度信息由用户使用例如编程装置等进行设定。图6是表示存储在优先度存储区域26中的优先度信息的数据构造的一个例子的图。如图所示,优先度信息28具有按照连接使连接的识别编号和优先度相关联的数据构造。图7是表示编程装置中的优先度信息28的生成画面的一个例子的图。如图所示,在生成画面例中,显示有具有如下字段的表格,即,记入协议、本站点(本PLC1)的端口号、通信对象(所连接的上级装置)的IP地址、通信对象的端口号(在上级装置中执行的应用所使用的端口号)及优先度的字段。用户通过在本表中输入所期望的值,从而能够设定最多16个连接和各连接的优先度。在PLCl中,基于输入至该生成画面中的信息而登记优先度信息28,并由连接部21建立连接。设定时间存储区域27用于存储执行优先度“低”的连接所涉及的通信处理的间隔时间的设定。该间隔时间与优先度等同样地,是通过编程装置等设定的。计时部24对经过时间进行计数。在服务处理中,通信调度部22参照优先度存储区域26存储的优先度信息28,或者参照计时部24的计数值而对是否经过了设定时间存储区域27中设定的间隔时间进行确认,选择执行通信处理的连接。并且,从通信缓冲器25获取所述选择的连接所涉及的请求,将获取的请求传送至系统主要部23。另外,通信调度部22对应于从通信缓冲器25传送至系统主要部23的请求,将系统主要部23读取的设备值作为响应而传送至连接部21。
图8是说明本发明的实施方式I的PLCl的动作的流程图。如图所示,如果PLCl开始用户程序16所涉及的动作(RUN),则首先,通信调度部22分别参照优先度信息28而获取全部连接的优先度,参照设定时间存储区域27而获取所设定的间隔时间(步骤S21)。此夕卜,在PLCl的RUN开始后,连接部21在与上级装置之间建立连接,但在此省略该动作的说明。另外,在此,在设定时间存储区域27中作为间隔时间设定为lOsec。从步骤S22至步骤S32的循环处理,是在服务处理中划分为大于或等于I次扫描而执行的。这是因为,在I次扫描中分配给通信处理的CPU时间被限定为用户的期望时间。在步骤S22中,通信调度部22从通信缓冲器25获取I个优先度“高”的连接所涉及的请求(步骤S22),并发送至系统主要部23(步骤S23)。通信调度部22在接收到从系统主要部23发送的与请求相对应的响应后,将接收到的响应传送至连接部21,连接部21将传送来的响应发送至上级装置(步骤S24 )。并且,通信调度部22判定是否执行了优先度“高”的连接所涉及的全部通信处理(步骤S25),在存在未执行的通信处理的情况下(步骤S25为“否”),转入步骤S22。在优先度“高”的连接所涉及的通信处理已全部执行的情况下(步骤S25为“是”),通信调度部22判定优先度“高”的连接所涉及的全部通信处理是否各执行了 2次(步骤S26),在没有全部各执行2次的情况下(步骤S26为“否”),转入步骤S22。在优先度“高”的连接所涉及的全部通信处理各执行了 2次的情况下(步骤S26为“是”),通信调度部22获取优先度“中”的连接所涉及的I个请求(步骤S27)。并且,通信调度部22将获取的请求发送至系统主要部23 (步骤S28)。通信调度部22在接收到从系统主要部23发送的与请求相对应的响应后,将接收到的响应传送至连接部21,连接部21将传送来的响应发送至上级装置(步骤S29 )。并且,通信调度部22判定是否执行了优先度“中”的连接所涉及的全部通信处理(步骤S30),在没有完成执行的情况下(步骤S30为“否”),转入步骤S27。在优先度“中”的连接所涉及的通信处理已全部执行的情况下(步骤S30为“是”),通信调度部22参照计时部24的计数值,判断在最后执行优先度“低”的连接所涉及的通信处理之后,是否经过了 10秒(步骤S31)。在没有经过10秒的情况下(步骤S31为“否”),转入步骤S22。在从最后执行优先度“低”的连接所涉及的通信处理后经过了 10秒的情况下(步骤S31为“是”),通信调度部22获取优先度“低”的连接所涉及的I个请求(步骤S32)。并且,通信调度部22将获取的请求发送至系统主要部23 (步骤S33)。通信调度部22在接收到从系统主要部23发送的与请求相对应的响应后,将接收到的响应传送至连接部21,连接部21将传送来的响应发送至上级装置(步骤S34)。并且,通信调度部22判定是否执行了优先度“低”的连接所涉及的全部通信处理(步骤S35),在没有完成执行的情况下(步骤S35为“否”),转入步骤S32。在执行了优先度“低”的连接所涉及的全部通信处理的情况下(步骤S35为“是”),转入步骤S22。此外,在以上的说明中,对于能够将优先度设定为“高”、“中”、“低”3档的情况进行了说明,但也能够设定除了 3档以外的多档优先度。另外,优先度设定为“低”的连接所涉及的通信处理的频度,是通过间隔时间的设定而规定的,但对于“低”以外的其他优先度所涉及的连接,也能够同样地通过间隔时间的设定而规定频度。另外,也可以是针对全部优先度所涉及的连接,并非通过间隔时间的设定,而是与上述说明的优先度为“高”及“中”的连接同样地,通过通信处理的次数而规定频度。即,例如,优先度为“高”的连接所涉及的通信处理各执行3次,优先度为“中”的连接所涉及的通信处理各执行2次,优先度为“低”的连接所涉及的通信处理各执行I次。如上所述,根据本发明的实施方式1,由于其构成为,具有:连接部21,其经由各应用的连接从上级装置接收请求及向上级装置发送响应;通信缓冲器25,其对应于各连接而暂时存储连接部21接收到的请求;系统主要部(请求处理部)23,其从输入输出存储区域读取由上级装置请求的设备值;优先度存储区域26,其存储各连接的优先度的设定;以及通信调度部22,其从通信缓冲器依次获取请求并传送至请求处理部23,将系统主要部23读取出的设备值作为响应而传送至连接部21,对于优先度存储区域26中设定的优先度越高的连接,通信调度部22以越高的频度从通信缓冲器25获取请求,因此,所设定的优先度越高,连接所涉及的通信处理以越高的频度执行,因此,能够优先对需要高速响应的应用做出响应。另外,由于构成为,还具有:计时部24,其对经过时间进行计数;以及设定时间存储区域27,其存储间隔时间的设定,通信调度部22参照计时部24的计数值,判定是否经过了设定时间存储区域27中设定的间隔时间,在经过了间隔时间时,从通信缓冲器25获取优先度存储区域26中设定为特定优先度的连接所涉及的请求,因此,用户能够对特定的应用以期望的时间间隔执行通信处理。实施方式2在实施方式2中,PLC将与各优先度的连接所涉及的通信请求相对的每单位时间的响应次数作为设备值而记录在输入输出存储区域中,以能够定量掌握各应用的连接所涉及的通信处理状况。用户通过使用可编程显示器等参照该设备值,从而能够对于所关注的应用确认进行的是否是期望优先度下的通信处理。图9是说明实施方式2的PLC的功能结构的图。此外,对与实施方式I相同的结构要素标注相同的标号,省略重复说明。如图9所示,实施方式2的PLC4具有连接部41、通信调度部42、系统主要部(请求处理部)23、计时部24、优先度存储区域26、设定时间存储区域27、输入输出存储区域43。连接部41具有通信缓冲器25及响应次数存储区域44。响应次数存储区域45由存储器或寄存器等存储装置构成,用于存储各连接的响应次数。此外,响应次数存储区域45所配置的位置与通信缓冲器25同样地,并不限定于特定的位置。输入输出存储区域43是在RAM13内保留的,分配有响应次数设备44,该响应次数设备44用于存储与响应次数相关的状态信息。响应次数设备44中与各连接对应地存储状态信息。所谓状态信息,在此设为各连接所涉及的每单位时间的响应次数。响应次数设备44由系统主要部23更新。此外,在输入输出存储区域43中除了响应次数设备44以外,还分配有与用户程序16相关的设备(通过前述的结束处理更新的设备),但在此省略图示。连接部41除了与实施方式I相同的动作以外,还执行响应次数存储区域45的存储值的管理。具体来说,连接部41在每次将响应发送至上级装置时,使响应次数存储区域45中记录的响应对象的连接所涉及的响应次数递增。通信调度部42除了与实施方式I相同的动作以外,还作为状态信息计算部起作用,g卩,基于响应次数存储区域45的存储值对状态信息(此处是每单位时间的响应次数)进行计算,并将该计算出的状态信息存储在响应次数设备44中。在此,由于要在响应次数设备44中存储各连接的状态信息,因此,通信调度部42针对各连接而计算状态信息。图10是说明实施方式2的PLC4的动作的流程图。此外,在此,优先度存储区域26中存储的优先度信息及设定时间存储区域27中存储的间隔时间的设定值,设为与实施方式I相同。即,优先度“高”所涉及的通信处理由3次扫描中的2次扫描的服务处理执行,优先度“中”的连接所涉及的通信处理由3次扫描中的I次扫描的服务处理执行。并且,优先度“低”的连接所涉及的通信处理每隔IOsec执行一次。对于通信调度部42,如果PLC4开始用户程序16所涉及的动作(RUN),则首先,通信调度部42分别参照优先度信息28获取全部连接的优先度,参照设定时间存储区域27获取所设定的时间间隔(步骤S41)。并且,指示连接部41,使其执行响应次数存储区域45的初始化(步骤S42),其中,响应次数存储区域45用于存储与各连接所涉及的通信请求相对应的响应次数。接下来,通信调度部42从通信缓冲器25获取优先度“高”的连接所涉及的一个请求(步骤S43),并将获取的请求发送至系统主要部23 (步骤S44)。然后,通信调度部42将从系统主要部23接收到的请求的响应经由连接部41发送至上级装置(步骤S45)。此时,连接部41将与响应对象的连接所涉及的通信请求相对应的响应次数存储区域45的存储值加I (步骤 S46)。并且,通信调度部42判定是否执行了优先度“高”的连接所涉及的全部通信处理(步骤S47),在存在未执行的通信处理的情况下(步骤S47为“否”),转入步骤S43。在优先度“高”的连接所涉及的通信处理已全部执行的情况下(步骤S47为“是”),通信调度部42判定优先度“高”的连接所涉及的全部通信处理是否各实施了 2次(步骤S48),在没有全部执行2次的情况下(步骤S48为“否”),转入步骤S43。在优先度“高”的连接所涉及的全部通信处理各执行了 2次的情况下(步骤S48为“是”),通信调度部42获取优先度“中”的连接所涉及的I个请求(步骤S49)。并且,通信调度部42将获取的请求发送至系统主要部23 (步骤S50)。通信调度部42在从系统主要部23接收到与所述发送的请求相对应的响应后,将接收到的响应传送至连接部41,连接部41将传送来的响应发送至上级装置(步骤S51)。此时,连接部41将与响应对象的连接所涉及的通信请求相对应的响应次数存储区域45的存储值加I (步骤S52)。并且,通信调度部42判定是否执行了优先度“中”的连接所涉及的全部通信处理(步骤S53),在没有完成执行的情况下(步骤S53为“否”),转入步骤S49。在优先度“中”的连接所涉及的通信处理已全部执行的情况下(步骤S53为“是”),通信调度部42参照计时部24的计数值,判定在最后执行优先度“低”的连接所涉及的通信处理后,是否经过了 10秒(步骤S54)。在优先度“低”的连接所涉及的最后的通信处理后没有经过10秒的情况下(步骤S54为“否”),转入步骤S43。在最后执行优先度“低”的连接所涉及的通信处理后经过了 10秒的情况下(步骤S54为“是”),通信调度部42获取优先度“低”的连接所涉及的I个请求(步骤S55)。并且,通信调度部42将获取的请求发送至系统主要部23 (步骤S56)。通信调度部42在从系统主要部23接收到与所述发送的请求相对应的响应后,将接收到的响应传送至连接部41,连接部41将传送来的响应发送至上级装置(步骤S57)。此时,连接部41将与响应对象的连接所涉及的通信请求相对应的响应次数存储区域45的存储值加I (步骤S58)。并且,通信调度部42判定是否执行了优先度“低”的连接所涉及的全部通信处理(步骤S59),在没有完成执行的情况下(步骤S59为“否”),转入步骤S55。在执行了优先度“低”的连接所涉及的全部通信处理的情况下(步骤S59为“是”),通信调度部42参照计时部24的计数值,计算执行步骤S42的处理后的经过时间,即,最后使针对各连接而记录在响应次数存储区域45中的响应次数初始化后的经过时间(步骤S60)。并且,通信调度部42从连接部41获取与I个连接所涉及的通信请求相对应的响应次数存储区域45的存储值,使获取的与连接所涉及的通信请求相对应的响应次数存储区域45的存储值,除以通过步骤S60的处理而计算出的经过时间,从而计算与该连接所涉及的通信处理相关的每单位时间的响应次数(步骤S61)。并且,通信调度部42将该计算出的每单位时间的响应次数发送至系统主要部23,系统主要部23将接收到的每单位时间的响应次数存储在响应次数设备44中(步骤S62)。然后,通信调度部42判定是否计算出全部连接所涉及的每单位时间的响应次数(步骤S63),在存在没有对每单位时间的响应次数进行计算的连接的情况下(步骤S63为“否”),转入步骤S61。在完成了全部连接所涉及的每单位时间的响应次数的计算的情况下(步骤S63为“是”),转入步骤S42。如上所述,根据本发明的实施方式2,由于构成为,具有对应于各连接而存储响应次数的响应次数存储区域45,通信调度部42基于响应次数存储区域45的存储值,针对各连接计算与响应次数相关的状态信息,并将计算出的各连接的状态信息存储在输入输出存储区域43内的规定设备(响应次数设备44)中,因此,用户通过参照该设备的值,从而能够定量地掌握各应用的连接所涉及的通信处理的状况。此外,在以上的说明中,对于响应次数存储区域45以连接为单位存储与通信请求相对应的响应次数、通信调度部42以连接为单位计算每单位时间的响应次数的情况进行了说明,但也可以不以连接为单位,而以尺度比连接单位大的单位即优先度单位,执行响应次数记录及每单位时间的响应次数计算。即,也可以使得响应次数存储区域45至少对应于各优先度存储响应次数,响应次数设备44至少对应于各优先度存储状态信息,通信调度部42至少对应于各优先度计算状态信息。另外,每单位时间的响应次数的计算定时(timing)并不仅限定于执行优先度“低”的连接所涉及的全部通信处理后的定时。例如,也可以在各连接的通信处理结束后的定时或关于各个优先度完成了全部连接所涉及的通信处理后的定时,计算每单位时间的响应次数。另外,对于响应次数设备44中存储的状态信息为每单位时间的响应次数的情况进行了说明,但只要是能够确认与响应相关的状态的信息,可以采用任何值。例如,能够采用响应次数的累计值。实施方式3在实施方式I及实施方式2中,优先度“低”所涉及的通信处理,在设定时间存储区域27中作为间隔时间设定为lOsec,优先度“低”所涉及的通信处理每隔IOsec进行一次。在此,假定优先度“低”的应用c的超时值设定为9sec。在刚刚进行了优先度“低”的连接所涉及的通信处理而在通信缓冲器25中存储了优先度“低”的应用c的请求的情况下,与应用c的请求相对应的响应的传送,在应用c的请求被存储在通信缓冲器25中后大致IOsec后执行。然而,在执行了该请求时,应用c已经超时,从而响应传送发生错误。为了避免由于超时错误而无法进行优先度“低”的通信处理的通信的情况,根据实施方式3,在优先度“低”的连接所涉及的通信处理中,在响应传送发生了错误的情况下,将设定时间存储区域27的设定时间变更为更小的值。图11是说明本发明的实施方式3的PLC的功能结构的图。此外,对与实施方式I相同的结构要素标注相同的标号,省略重复说明。如图11所示,实施方式3的PLC5具有:连接部21、通信调度部51、系统主要部(请求处理部)23、计时部24、优先度存储区域26及设定时间存储区域27。连接部21具有通信缓冲器25。通信调度部51除了执行与实施方式I相同的动作以外,还作为设定时间重新设定部起作用,即,对于设定为每隔设定时间存储区域27中所设定的间隔时间执行通信处理的优先度(即优先度“低”)的连接,在发生了超时错误的情况下,将设定时间存储区域27中设定的间隔时间重新设定为更小的值。此外,通信调度部51对超时错误的发生进行检测的方法并没有特别限定。在此,作为一个例子,连接部21预先存储发生了超时错误(以下简称为错误)这一情况,通信调度部51通过询问该连接部21而确认是否发生了超时错误。图12是说明本实施方式3的PLC5的动作的流程图。此外,在此,优先度存储区域26中存储的优先度信息及设定时间存储区域27中存储的间隔时间的设定值,设为与实施方式I相同。即,优先度“高”所涉及的通信处理由3次扫描中的2次扫描的服务处理执行,优先度“中”的连接所涉及的通信处理由3次扫描中的I次扫描的服务处理执行。并且,优先度“低”的连接所涉及的通信处理每隔IOsec执行一次。另外,作为一个例子,通信调度部51在因超时而发生了错误时,将间隔时间的设定值更新为缩短4秒的值。如图所示,分别在步骤S71至步骤S84中执行与实施方式I中的步骤S21至步骤S34等同的处理。在步骤S84的处理后,通信调度部51判定是否执行了优先度“低”的连接所涉及的全部通信处理(步骤S85),在没有完成执行的情况下(步骤S85为“否”),转入步骤S82。在执行了优先度“低”的连接所涉及的全部通信处理的情况下(步骤S85为“是”),通信调度部51对于优先度“低”的连接所涉及的通信处理,向连接部21询问是否存在响应传送发生了错误的通信处理(步骤S86)。在与优先度“低”的连接所涉及的通信请求相对应的响应的传送没有发生错误的情况下(步骤S86为“否”),转入步骤S72。对于优先度“低”的连接所涉及的通信处理,在存在响应传送发生了错误的通信处理的情况下(步骤S86为“是”),通信调度部51使设定时间存储区域27存储的间隔时间的值减少4秒(步骤S87 ),转入步骤S71。图13是说明本实施方式3中的通信处理的时间线的图。本图示出对来自优先度设定为“低”的应用c的请求进行处理的情况。纵轴表示时间,横轴表示各优先度的连接所涉及的通信处理状况。空白四边形表示执行了各优先度的连接所涉及的全部处理这一情况。首先,将来自应用c的请求存储在通信缓冲器25中(步骤S91)。在此期间,优先度“高”的连接所涉及的通信处理全部执行2次(步骤S92、S93)。并且,优先度“中”的连接所涉及的通信处理全部执行(步骤S94)。然后,从最后执行优先度“低”的连接所涉及的通信处理至经过10秒为止,执行优先度“高”及优先度“中”的连接所涉及的处理(步骤S95至S107)。在此期间,在应用c发送请求后经过9秒,应用c超时(步骤S106)。并且,在优先度“中”的连接所涉及的全部通信处理执行后,如果检测到从最后执行优先度“低”的连接所涉及的通信处理开始经过了 10秒,则执行优先度“低”的连接所涉及的通信处理(步骤S108)。并且,向应用C传送与请求相对应的响应,但由于应用C已经超时,因此,响应被忽略,发生错误(步骤S109)。通信调度部51如果检测到与应用c的连接所涉及的通信请求相对应的响应传送发生了错误,则使设定时间存储区域27存储的用于执行优先度“低“的连接所涉及的通信请求处理的间隔时间减少4秒。在之后的处理中,用于执行优先度“低”的连接所涉及的通信请求处理的间隔时间变为6秒。具体来说,在优先度”低“的连接所涉及的通信处理(步骤S110)刚刚结束后,再次从应用c发送请求(步骤SI 11)。与此同时,优先度“高”的连接所涉及的通信处理开始,从优先度“低”的连接所涉及的前一个通信处理(此处是指步骤SllO的处理)至经过设定时间存储区域27存储的间隔时间(6秒)为止,执行优先度“高”的连接所涉及的通信处理及优先度“中”的连接所涉及的通信处理(步骤S112至S120)。在执行了优先度“中”的连接所涉及的全部通信处理后,如果检测到从步骤SllO的处理开始经过了 6秒,则执行优先度“低”的连接所涉及的通信处理(步骤S121)。然后,在应用c超时前,S卩,从在步骤Slll的处理中发送请求开始经过9秒之前,接收请求响应(步骤 S122)。如上所述,在与优先度“低”的连接所涉及的通信请求相对应的响应的传送发生错误的情况下,通过由通信调度部51减少优先度“低”的连接所涉及的通信处理的间隔时间,从而能够避免由于超时而导致无法通信。此外,在本实施方式3中,由于对间隔时间的值进行变更,因此,存在通信处理的频度变化而无法进行基于优先度的通信处理的情况。为了防止上述情况,也可以构成为,能够由用户设定是否执行使间隔时间的值缩短的处理。另外,在以上的说明中,将在与优先度“低”的连接所涉及的通信请求相对应的响应的传送发生错误的情况下减少的间隔时间设为4秒,但减少幅度并不限定于4秒。也可以构成为,能够由用户任意设定间隔时间的减少幅度。如上所述,根据本发明的实施方式3,由于其构成为,对于优先度“低”的连接,在发生了超时错误的情况下,由通信调度部51将执行优先度“低”的连接所涉及的通信处理的间隔时间重新设定为比当前设定的值小的值,因此,能够防止连续发生超时错误。即,对于优先度“低”的连接,能够避免由于超时错误导致无法通信。工业实用性如上所述,本发明所涉及的可编程控制器适合应用于对工业用装置进行控制的可编程控制器。标号的说明
1、4、5 PLC2网络集线器3a、3b个人计算机11 CPU12 ROM13 RAM14 通信 I/F15系统程序16用户程序21,41 连接部22、42、51通信调度部23系统主要部24计时部25通信缓冲器26优先度存储区域27设定时间存储区域28优先度信息43输入输出存储区域44响应次数设备45响应次数存储区域
权利要求
1.一种可编程控制器,其具有存储设备值的输入输出存储区域,该可编程控制器在从所连接的上级装置接收到设备值的请求时,利用所请求的设备值做出响应, 该可编程控制器的特征在于,具有: 连接部,其针对由所述上级装置执行的各应用建立连接,经由所述建立的各应用的连接进行从所述上级装置接收请求及将响应发送至所述上级装置的动作; 通信缓冲器,其对应于各连接暂时存储所述连接部接收到的请求; 系统主要部即请求处理部,其从所述输入输出存储区域读取由所述上级装置请求的设备值; 优先度存储区域,其存储各连接的优先度的设定;以及 通信调度部,其从所述通信缓冲器依次获取请求,将所述获取的请求传送至所述请求处理部,并将所述请求处理部读取的与所述传送的请求相对应的设备值作为响应而传送至所述连接部, 对于所述优先度存储区域中设定的优先度越高的连接,所述通信调度部以越高的频度从所述通信缓冲器获取请求。
2.根据权利要求1所述的可编程控制器,其特征在于, 还具有: 计时部,其对经过时间进行计数;以及 设定时间存储区域,其存储间隔时间的设定, 所述通信调度部参照所述计 时部的计数值,判定是否经过了所述设定时间存储区域中设定的间隔时间,在经过了所述间隔时间时,从所述通信缓冲器获取在所述优先度存储区域中设定了特定的优先度的连接所涉及的请求。
3.根据权利要求1所述的可编程控制器,其特征在于, 所述连接部在作为连接对象的上级装置的、由用户指定的端口,和由所述用户指定的本可编程控制器的端口之间,建立各应用的连接。
4.根据权利要求1所述的可编程控制器,其特征在于, 所述输入输出存储区域具有响应次数设备,该响应次数设备用于存储与针对所述上级装置的响应次数相关的至少各优先度的状态信息, 该可编程控制器还具有: 响应次数存储区域,其至少对应于各优先度而存储针对所述上级装置的响应次数;以及 状态信息计算部,其基于所述响应次数存储区域中存储的响应次数,计算出状态信息,并将所述计算出的状态信息存储在所述响应次数设备中。
5.根据权利要求4所述的可编程控制器,其特征在于, 所述状态信息是每单位时间的响应次数。
6.根据权利要求4所述的可编程控制器,其特征在于, 所述响应次数存储区域对应于各连接而存储针对所述上级装置的响应次数, 所述响应次数设备用于存储各连接的状态信息。
7.根据权利要求2所述的可编程控制器,其特征在于, 还具有设定时间重新设定部,在设定了所述特定的优先度的连接发生了超时错误的情况下 ,该设定时间重新设定部将所述设定时间存储区域存储的间隔时间的设定值重新设定为更小的值。
全文摘要
为了能够优先对需要高速响应的应用做出响应,具有连接部(21),其经由各应用的连接从上级装置接收请求及向上级装置发送响应;通信缓冲器(25),其对应于各连接而暂时存储连接部(21)接收到的请求;系统主要部(请求处理部)(23),其从输入输出存储区域读取由上级装置请求的设备值;优先度存储区域(26),其存储各连接的优先度的设定;以及通信调度部(22),其从通信缓冲器(25)依次获取请求并传送至系统主要部(23),将系统主要部(23)读取的设备值作为响应而传送至连接部(21),对于优先度存储区域(26)中设定的优先度越高的连接,通信调度部(22)以越高的频度获取请求。
文档编号G06F15/00GK103180841SQ20118005166
公开日2013年6月26日 申请日期2011年10月17日 优先权日2010年10月27日
发明者石川博一, 高木伴彰 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1