通信接口和网络系统及可编程控制器的制作方法

文档序号:6328342阅读:206来源:国知局
专利名称:通信接口和网络系统及可编程控制器的制作方法
技术领域
本发明涉及通信接口和网络系统及可编程控制器。
背景技术
FA(factory automation工厂自动化)中使用的PLC(programmablecontroller可编程控制器)输入开关或传感器等的输入设备的开起/关闭信息,按照由LADDER语言(Language Access to Distributed Data With Errorrecovery具有错误恢复功能的分布数据访问语言)写的顺序(sequence)程序(用户程序)执行逻辑运算。而且,PLC根据得到的运算结果,对于阀(valve)、致动器等的输出设备,通过输出开起/关闭信息的信号而执行控制。
而且,PLC系统由执行用户程序的CPU单元、连接输入/输出设备并处理开起/关闭信号的I/O单元、与外部计算机或外部控制器等外部设备连接从而进行网络通信的通信单元、控制模拟信号并进行温度或位置决定的控制等的特殊功能单元等各单元联合构成。而且,各单元被总线连接,以CPU为中心通过各单元和总线通信进行数据交换。
而且,作为CPU单元的处理,首先进行初始处理,之后循环地重复执行以下各周边处理I/O更新(refresh)处理,在I/O单元或特殊功能单元之间交换输入/输出信息(I/O数据);程序执行处理,通过按照用户程序执行而对输入数据进行逻辑运算;以及主要由通信单元经由网络与外部设备交换数据,或对于从外部设备接收的命令返回响应的处理。
但是,上述输入设备或输出设备有直接连接到PLC上的,也有经由网络连接的。作为直接连接的方式有经由通用串行线路连接到构成PLC的规定的单元的方式。该情况下,这些输入设备或输出设备构成对应于通用串行线路的通信的外部通用设备。而且,这样,在和通过PLC(CPU单元)执行的用户程序经由通用串行线路连接的外部通用设备进行通信时,例如,如专利文献1中公开的发明那样,有安装通信接口(专用单元、专用交换器(board))从而构成PLC的方式,所述通信接口包括预先存储与外部通用设备的通信顺序并根据来自用户程序的简单的执行指示命令与外部通用设备进行通信的动作模式(协议宏(protocol macro)执行模式)。通过利用该发明,用户程序生成者不必生成用于以规定的通信协议和外部通用设备进行通信的用户程序,程序生成的负担减轻。
另一方面,作为对于构成PLC的规定的单元设定数据,或监视单元中存储的数据的装置,在PLC上连接计算机或可编程显示器。在产生从该计算机或可编程显示器等周边设备监视外部通用设备的状态,或对于外部通用设备设定规定的数据的必要时,在现有的系统中,该周边设备不能直接对外部通用设备进行访问,所以经由PLC进行数据的读写。
换言之,例如,在PLC(CPU单元)的I/O存储器的规定存储区域预先存储外部通用设备的状态或外部通用设备具有的数据,周边设备通过读取存储在该存储器区域中的信息,可以掌握外部通用设备的状态等。而且,反过来周边设备通过将设定在外部通用设备中的参数等写入上述I/O存储器的规定存储区域中,通过PLC和外部通用设备之间的通信,可以将该写入的参数等设定在外部通用设备中。
专利文献1(日本)特开平9-44212如上所述,现有的系统中,从周边设备不能直接访问外部通用设备,但例如,通过设置将从周边设备向外部通用设备发送的命令通过PLC中继变换从而对外部通用设备发送命令的功能(网关功能),不必经由PLC的用户程序,可以实质上直接访问外部通用设备。
即,周边设备发送将信头部的发送目的地设为PLC,在数据部中存储指定实际的发送目的地的外部通用设备的地址和实际的数据的命令。于是,接收了该命令的PLC解析数据部,从而识别为连接到自身的发送给外部通用设备的命令,所以将接收的命令中继变换从而生成新的发送给外部通用设备的命令并发送。
接收了该命令的外部通用设备在进行了基于接收的命令的规定处理之后,向作为命令的发送源的PLC(外部通用设备自身不能识别为来自周边设备的命令)返回响应。于是,由于已知对应该响应的命令时将来自周边设备的命令进行中继变换的命令,接收到该响应的PLC将接收到的响应传送到原来的命令发送源的周边设备。由此,对于周边设备,可以识别与外部通用设备之间进行命令/响应通信的情况。
另一方面,PLC和外部通用设备之间也进行经由上述的通信接口进行的命令/响应通信。而且,PLC接受响应后,识别为对于在接受该响应前一个发行的命令的响应。因此,例如图1所示,从PLC发送命令(1)后,在接收对于该命令(1)的响应(1)’之前,将来自周边设备的命令进行中继变换时,接受了该中继变换了的命令(2)之后接受的响应(1)’尽管是对于原来PLC自身发送的命令(1)的响应,也误识别为对于前一个发送的命令(2)的响应,而成为误动作的原因。
因此,为了避免命令和响应混在一起,有必要构成在协议宏执行中不进行中继变换的结构。即,该PLC在协议宏执行模式中和外部通用设备通信中,为了避免伴随协议宏执行向外部通用设备发送的命令的响应,和将从连接到PLC的计算机或可编程显示器等周边设备向外部通用设备发送的命令进行中继变换从而发送的命令的响应混在一起,而构成在协议宏执行中不进行中继变换的结构。其结果,协议宏执行中,产生无法从PLC或可编程显示器等周边设备读取外部通用设备的设定数据或历史数据的问题。

发明内容
本发明的目的在于提供一种通信接口和网络系统及可编程控制器,可以使用从周边设备经由通信接口访问外部通用设备的网关功能,而不停止协议宏工作中的PLC和外部通用设备之间的命令/响应通信。
本发明的通信接口构成可编程控制器的一部分,是根据控制连接在该可编程控制器上的控制设备的用户程序的执行指示,与经由规定的通信线路连接的外部通用设备进行命令/响应通信的通信结构。而且,包括中继部件,将经由所述可编程控制器从周边设备接收的发送给所述外部通用设备的通信命令中继变换为适合于利用所述通信线路从而进行的通信,并发送到所述外部通用设备,同时将来自对于该命令的所述外部通用设备的响应中继变换为对所述周边设备的响应从而传递给可编程控制器,根据所述用户程序的执行指示,在与所述外部通用设备执行通信中从所述周边设备接收发送给所述外部通用设备的命令时,判断是否进行来自所述外部通用设备的响应的接收等待,在不进行接收等待时,所述中继部件不进行与所述外部通用设备的通信,在进行接收等待时,在接收该接收等待响应后,所述中继部件进行与所述外部通用设备的通信。
在实施方式中,该通信接口对应于协议执行部15。而且,外部通用设备具有例如输入设备或输出设备等。而且,周边设备相当于连接到PLC、同时经由连接的PLC访问外部通用设备,进行数据的设定或收集等的计算机或可编程显示器等。
进而,规定的通信线路为通用的串行线路,例如,相当于RS-232C、RS-422或RS-485等。
而且,该通信接口可以作为内部交换器实现,内部交换器被可装卸地安装在构成PLC的通信单元或CPU单元等各种单元上。当然,不限于内部交换器类型,也可以作为构成PLC的单元实现。
而且,在本发明的网络系统中包括可编程控制器,安装了由上述的结构构成的通信接口;周边设备,连接到该可编程控制器;以及外部通用设备,连接到所述通信接口。而且,所述通信接口在中继所述周边设备发送的发送给所述外部通用设备的通信命令时,判断是否进行来自所述外部通用设备的响应的接收等待,在进行接收等待时临时停止中继,以不进行响应接收等待为条件,所述中继部件与所述外部通用设备进行通信。
进而,本发明的可编程控制器中包括上述通信接口而构成,所述通信接口与以下设备进行命令/响应通信执行对控制设备的进行控制的用户程序的执行部件,以及根据所述执行部件对所述用户程序的执行指示,经由规定的通信线路连接的外部通用设备。
进而,本发明的通信接口构成可编程控制器的一部分,是根据预先存储的程序,与经由规定的通信线路连接的外部通用设备进行命令/响应通信的通信接口。而且,包括中继部件,将经由所述可编程控制器从周边设备接收的发送给所述外部通用设备的通信命令进行中继变换,以便适合利用所述通信线路进行的通信,并通过所述外部通用设备发送命令,同时将来自对于该命令的所述外部通用设备的响应中继变换为对所述周边设备的响应,从而传递给可编程控制器,根据所述预先存储的程序,在与所述外部通用设备通信进行通信中从所述周边设备接收发送给所述外部通用设备的命令时,判断是否进行来自所述外部通用设备的响应的接收等待,在不进行接收等待时,所述中继部件进行与所述外部通用设备的通信,在进行接收等待时,在接收该接收等待的响应后,由所述中继部件进行与所述外部通用设备的通信。这里,预先存储的程序是指用户为了与外部通用设备进行通信而生成的程序,被存储在通信接口的规定存储器中。另外,该预先存储的程序是与控制连接到可编程控制器的控制设备的用户程序(顺序程序)不同的程序。
按照本发明,在PLC(通信接口)和外部通用设备之间进行命令/响应等的数据通信。而且,通信接口包括中继部件的网关功能,所以通信接口从周边设备得到发送给外部通用设备的通信命令时,可以适当变换通信协议等,对于外部通用设备发送来自周边设备的命令,并将来自外部通用设备的响应返回到周边设备。
而且,从周边设备取得发送给外部通用设备的通信命令时,例如,在通信接口和外部通用设备之间已经发送命令并进行响应的接收等待的状态时,临时停止上述得到的通信命令的发送,并在不进行接收等待后,将来自周边设备通信命令经由中继设备发送到外部通用设备,接收对于该命令的响应。
其结果,在通信接口接收了响应时,保证该响应为对于前一个发送的命令的响应。因此,通信接口(可编程控制器)可以识别对应于响应的命令的发送源(自身/周边设备),所以可以对命令的发送源返回响应而没有误动作。换言之,即使在协议宏等的通信接口和外部通用设备之间的通信动作中,也可以使用直接从周边设备访问的网关功能。
本发明中,可以使用从周边设备经由通信接口访问外部通用设备的网关功能,而不停止协议宏动作中等的PLC和外部通用设备之间的命令/响应通信。


图1是说明现有的问题的图。
图2是表示应用本发明的网络系统的一例的图。
图3是主要表示本发明的通信接口的一实施方式的协议执行部的内部结构的功能方框图。
图4是说明本发明的网络系统、通信接口(协议执行部)的一实施方式的动作原理的图。
图5是说明功能的流程图。
图6是说明功能的流程图。
具体实施例方式
图2表示应用本发明的系统结构的一例。如图2所示,对于PLC10连接外部通用设备20,同时在PLC上还连接作为用于直接访问该外部通用设备20的周边设备的一个的计算机21。PLC10通过连接多个单元而构成,在图示的例子中,示意地表示作为通信接口的协议执行部15经由PLC接口部12连接到PLC本体11的状态。
实际上,PLC本体11由循环执行用户程序的CPU单元、或电源单元、或通信单元及其它各种单元构成。而且,对于该PLC本体11,经由规定的线路22连接用作监视工具或设定工具等的计算机21。该线路22可以是以太网(注册商标)及其它各种网络线路,也可以是直接连接到PLC本体(CPU单元)11的通信端口的专用电缆线路或者通用的串行线路。
外部通用设备20具有倒相器、伺服器、温度调整器等输出设备,或传感器、开关等输入设备,经由通用串行线路24连接到协议执行部15的通信端口P。在本例中,协议执行部15包括两个通信端口P。
在图示的例子中,协议执行部15绘制为独立的单元,但本发明不限于这样的单元,也可以通过可装卸地安装在CPU单元等其它的单元中的内部交换器实现。而且,作为该协议执行部15的内部结构,如图3所示。
即,包括系统程序存储器15a,存储进行该协议执行部15的基本动作的系统程序;协议数据存储用非易失性存储器15b,存储用户为了与外部通用设备20进行通信而生成的程序(协议宏)等;MPU15c,读取这些存储器15a、15b中存储的程序从而执行;任务RAM15d,在通过该MPU15c执行中作为任务存储器使用;以及通信线路部15e,用于和外部通用设备20通信。该通信线路部15e的外侧成为通信端口P。而且,上述各处理部15a~15e经由总线15f被连接。
协议数据存储用非易失性存储器15b中存储的协议宏,是用户编程从而使用工具等下载而保存的程序,例如,根据用户程序的执行指示,在和外部通用设备20之间进行命令/响应通信的程序。该协议宏与现有的协议宏相同。
而且,协议执行部15具备中继变换功能(网关功能中继部件)从作为周边设备的一个的计算机21接收发送给外部通用设备20的命令时,将地址变换为设为外部通用设备20的通用串行线路的协议,从而发送命令,从外部通用设备20接收对于该命令的响应时,将该响应送回到计算机21。实现该网关功能的应用程序被存储到系统程序存储器15a中,用过MPU15c执行。
而且,在本实施方式中,接收从计算机(周边设备)21对于外部通用设备20的命令时,首先分析协议执行部15与外部通用设备20间执行的协议宏,在下一步为接收以外时,临时停止协议宏的执行,进行将发送给外部通用设备20的命令从计算机21发送到外部通用设备20的处理。
换言之,如图4所示,伴随协议宏的执行从PLC10(协议执行部15)对外部通用设备20发送命令(10)后,在从接收响应(10)’前接收从作为周边设备的计算机21对于外部通用设备20的命令(11)时,下一步为对于先发送命令(10)的响应(10)’的接收等待状态,所以原样执行宏,临时停止来自周围设备的命令(11)的中继(发送)(t)。而且,通过接收响应(10),宏的下一步成为发送命令(12)(接收以外)时,临时停止该宏,将来自计算机21的命令(11)向外部通用设备20发送。而且,接收对于该命令(11)的响应(11)’时,进行适当的变换处理并将该响应(11)’送回到作为周边设备的计算机21。而且,由此,临时停止的宏被解除临时停止,根据协议宏来发送命令(12)。
如果这样构成,则响应必需对应前一个发送的命令,所以即使在协议宏的动作中,也可以使用从计算机21等周边设备直接对外部通用设备20访问的网关功能。从而,由协议宏收集控制所必需的数据,在维护时或启动时等事件的情况下,可以从上一级计算机或可编程显示器等周边设备对外部通用设备20发送命令,所以必须由协议宏收集外部通用设备的设定或历史的信息。
接着,说明用于执行上述处理的各设备的具体的处理功能。如图5(a)所示,计算机21等周边设备进行命令的发送(ST1)和对于该命令的响应的接收处理(ST2)。在步骤1中发送的命令有对于PLC10的命令,也有对于外部通用设备20的命令。本发明中,涉及对外部通用设备发送命令的情况,所以,以下限定于该情况进行说明。
如图5(b)所示,在PLC本体(CPU单元)11中判断是否是用户程序的执行模式(RUN)(ST11),如果是执行模式,则执行用户程序(ST12)。在该用户程序执行后,或者在不是执行模式时,原样进行I/O更新(ST13),接着执行周边服务处理(ST14)。在该周边服务处理时进行周边设备20执行的命令发送(ST1)、响应接收(ST2)。即,从周边设备传送来的命令在周边服务时进行接收处理,对于该命令的响应在这一次或下一次以后执行周边服务时被返回。而且,接收的命令为发送给外部通用设备的命令时,经由PLC接口部12,对协议执行部15成对地传送发送给外部通用设备的数据和使用该通信的协议的指定数据。
而且,如果接受经由PLC接口部12从协议执行部15传送来的响应,则在该响应的地址为周边设备时,对对应于该周边服务处理时的周边设备发送响应。由周边设备的响应接收处理(ST2)接收处理该响应。而且,PLC本体重复执行从上述的步骤10到13的各处理。
协议执行部15具有执行图6(a)所示的流程图的功能。即,首先接收命令(ST21)后,判断当前网关功能(中继变换)是否处于许可中(ST22)。实际上通过观看网关许可标记的接通/关断可以进行该判断。而且,该标记,可以通过操作例如协议执行部15中设置的设定开关而机械地设定,也可以从工具或PLC本体11侧根据命令等设定。而且,在没有许可网关功能时,不能进行从周边设备向外部通用设备的命令的中继,所以发送通知该情况的响应(ST32)。
另一方面,步骤22的分支判断中为“是”,即在许可网关功能中时,开始监视定时器(ST23)。该监视定时器用于来自外部通用设备的命令的到时(time-out)计测。
接着,判断协议宏功能是否在动作中(ST24)。而且,在动作中时,分析宏执行动作(由多个步骤构成)中的下一步,等待下一步成为非接收时,该分支判断成为“是”并进至步骤27。
而且,变换为与外部通用设备20连接的通用串行线路对应的指定协议,向指定的外部通用设备20发送命令(ST28)。以后,判断发送是否正常进行(ST29),如果可以正常地发送,则等待响应的接收(S30)。而且,将上述的分支判断中的判断结果(正常/异常)作为响应返回(ST32)。
另一方面,如图6(b)所示,外部通用设备20接收来自协议执行部1 5的命令(ST40)后,生成响应(ST41),并发送生成的响应(ST42)。该功能与以往相同。
而且,通过与图6(b)所示的程序不同的处理执行上述处理期间,协议执行部监视的响应监视定时器(伴随步骤23的执行开始计时)到时时,马上生成发送给发送消息的计算机21或者可编程显示器等周边设备的错误响应,并将生成的错误响应发送到周边设备。而且,响应监视定时器到时后,即使协议执行部从外部通用设备接收响应,也废弃接收数据。
另外,协议宏停止中,从周边设备向外部通用设备发送命令后,根据协议执行部接收的命令自动识别应转发的协议,如果在网关处理中,则马上将从周边设备发送的命令变换为指定的协议,并发送到外部通用设备。
而且,协议数据存储用非易失性存储器15b中存储的协议宏,可以根据控制连接到PLC10的控制设备的用户程序的执行指示被执行,也可以在PLC10的电源接通时的初始处理中规定的协议宏被自动地执行。
权利要求
1.一种通信接口,构成可编程控制器的一部分,根据对连接到该可编程控制器的控制设备进行控制的用户程序的执行指示,与经由规定通信线路连接的外部通用设备进行命令/响应通信,其特征在于所述通信接口包括中继部件,对经由所述可编程控制器从周边设备接受的发送给所述外部通用设备的通信命令进行中继变换,以便适合利用所述通信线路进行的通信,并将命令发送到所述外部通用设备,同时将对于该命令的来自所述外部通用设备的响应中继变换为对所述周边设备的响应,从而传送到可编程控制器,在从所述周边设备接收了发送给所述外部通用设备的命令时,判断是否等待接收来自所述通用设备的响应,在不等待接收时,通过所述中继设备与所述外部通用设备进行通信,而在等待接收时,不通过所述中继设备进行通信,在不等待接收时,通过所述中继设备与所述外部通用设备进行通信。
2.如权利要求1所述的通信接口,其特征在于所述通信接口为在构成可编程控制器的单元内部安装的内部交换器。
3.一种网络系统,包括可编程控制器,安装了权利要求1或权利要求2中记载的通信接口;周边设备,连接到该可编程控制器;以及外部通用设备,连接到所述通信接口,其特征在于所述通信接口在中继所述周边设备发送的所述外部通用设备的通信命令时,判断是否等待接收来自所述外部通用设备的响应,在等待接收时,临时停止中继,所示中继设备以不等待接收响应为条件与所述外部通用设备进行通信。
4.一种可编程控制器,其特征在于,包括执行部件,执行对控制设备进行控制的用户程序;以及权利要求1或2中记载的通信接口,根据所述执行部件的所述用户程序的执行指示,与经由规定的通信线路连接的外部通用设备进行命令/响应通信。
5.一种通信接口,构成可编程控制器的一部分,根据预先存储的程序,与经由规定的通信线路连接的外部通用设备进行命令/响应通信,其特征在于所述通信接口包括中继部件,对经由所述可编程控制器从周边设备接收的发送给所述外部通用设备的通信命令进行中继变换,以便适合利用所述通信线路进行的通信,并将命令发送到所述外部通用设备,同时将对于该命令的来自所述外部通用设备的响应中继变换为对所述周边设备的响应,从而传送到可编程控制器,在从所述周边设备接收了发送给所述外部通用设备的命令时,判断是否等待接收来自所述通用设备的响应,在不等待接收时,通过所述中继设备与所述外部通用设备进行通信,而在等待接收时,不通过所述中继设备通信,在不等待接收时,通过所述中继设备与所述外部通用设备进行通信。
全文摘要
本发明提供一种通信接口和网络系统及可编程控制器,提供一种协议执行部,可以使用从周边设备经由通信接口访问外部通用设备的网关功能,而不停止协议宏动作中的PLC和外部通用设备之间的命令/响应通信。协议执行部包括中继部件将经由PLC从周边设备接收的发送给外部通用设备的通信命令中继变换,以便适合通用串行线路的通信,并向外部通用设备发送命令,同时将对于该命令的来自外部设备的响应中继变换为对周边设备的响应。而且包括以下功能在中继周边设备发送的向外部通用设备的通信命令时,判断是否进行来自外部通用设备的响应的接收等待,在进行接收等待时临时停止中继,以不进行响应接收等待为条件,所述中继设备与所述外部通用设备进行通信。
文档编号G05B19/05GK1620015SQ200410095309
公开日2005年5月25日 申请日期2004年11月19日 优先权日2003年11月20日
发明者泽和也, 村山信次 申请人:欧姆龙株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1