CN1624611A - 可编程控制器、通信单元、变量解决方法和数据交接方法 - Google Patents

可编程控制器、通信单元、变量解决方法和数据交接方法 Download PDF

Info

Publication number
CN1624611A
CN1624611A CNA2004100104168A CN200410010416A CN1624611A CN 1624611 A CN1624611 A CN 1624611A CN A2004100104168 A CNA2004100104168 A CN A2004100104168A CN 200410010416 A CN200410010416 A CN 200410010416A CN 1624611 A CN1624611 A CN 1624611A
Authority
CN
China
Prior art keywords
communication
mentioned
variable name
communication unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100104168A
Other languages
English (en)
Other versions
CN100428141C (zh
Inventor
冈实
平田益久
出来仁太郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of CN1624611A publication Critical patent/CN1624611A/zh
Application granted granted Critical
Publication of CN100428141C publication Critical patent/CN100428141C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output

Abstract

提供可容易地增大循环通信能力(数据量、节点数等)的可编程控制器。包括运算执行用变量名编程的程序的控制器(11a,11b)、以及与连接于网络的其他节点通信的通信单元(12a,12b)。控制器存储保持将变量名与特定存储与该变量名对应的数据的区域的实际地址相关联的变量表,通信单元存储保持特定与其他节点之间设为通信对象的变量名的通信设定信息。通信单元在系统启动时通过询问控制器自主解决与通信设定信息中存储的变量名对应的实际地址,存储保持将该变量名和实际地址相关联的临时内部表。

Description

可编程控制器、通信单元、变量解决方法和数据交接方法
技术领域
本发明涉及可编程控制器、通信单元、控制器系统、数据处理方法、变量解决方法和数据交接方法。
背景技术
作为生产工厂(制造现场)设置的工厂自动设备(FA)的控制装置,使用可编程控制器(PLC)。该PLC由多个单元构成。即,适当组合电源供给源的电源单元、统帅PLC的整体控制的CPU单元、输入来自在FA的生产装置和设备装置位置处安装的开关和传感器等的输入设备的信号的输入单元、向致动器等的输出设备输出控制输出的输出单元、连接通信网络的通信单元等的各种单元而构成。
PLC的CPU单元的控制循环地反复进行如下处理将输入单元输入的来自输入设备的信号取入CPU单元的I/O存储器中(IN刷新)、根据预先登录的按用户程序记述语言(例如梯形(ラダ一)语言)组合的用户程序进行逻辑运算(执行运算),通过将该运算执行结果写入I/O存储器送到输出单元(OUT刷新),之后,经通信单元与通信网络上的其他PLC进行数据发送接收,或经CPU单元包括的通信端口与外部设备进行数据发送接收等(外部处理)。IN刷新和OUT刷新有时统一进行(I/O刷新)。通过OUT刷新,输出单元从CPU单元得到输出信号。并且,输出单元根据该输出信号使输出设备动作。
一般地,用户分别附加上变量名,以便容易特定PLC输入设备和输出设备控制的控制设备(控制零件)和内部接点的每一个。变量名的例子有对某开关附加“Switch1”的变量名,对另一个开关附加“Switch2”的变量名。其他例子中,为开始动作,对从其他PLC取入的内部接点,附加“READY”的变量名,为停止动作对从其他PLC取入的内部接点附加“STOP”的变量名。并且,用户利用编程工具制作、编辑用户程序,此时,可通过变量名记述接点。
另一方面,PLC执行用户程序时,CPU单元内的数据存储器的特定区域中存储来自输入设备的状态、内部接点的状态、用户程序执行结果。并且,数据存储器分割存储器,将存储器地址与数据(来自输入设备的输入信号、内部接点、用户程序执行结果)一一对应起来。即,PLC执行用户程序时,并非基于变量名,而是基于存储器的物理地址。按变量名记述的用户程序在存储于PLC的CPU单元的用户存储器中时被编译。通过编译用户程序中的变量名被变换为物理地址。CPU单元实际执行的是编译后的程序,接点是物理地址表示的程序。
另外,近年来,还使用分散控制器系统,其经网络连接多个PLC、边在PLC之间进行数据发送接收边进行联动、同步运转等,进行FA整体控制。随之而来的是,连接多个PLC的网络中,PLC间的数据发送接收非常频繁。
一般地,PLC间发送接收数据时,指定位于发送接收的2个PLC的CPU单元的数据存储器的地址。该地址指定通过上述存储器分割预先掌握哪个设备的接点对应哪个存储器地址来实现。此时,用户可使用物理地址做成用户程序。因此,作为程序作者的用户必须知道发送接收对象的PLC的数据地址的分配等的内部结构、程序结构,这是非常复杂的。另外,一旦用户程序作成后,访问目的地的物理地址变化时,必须修正用户程序,这是非常复杂的。此外,用户为进行该用户程序的修正必须监视对方目的地的物理地址等是否变更,这是另一个问题。
为解决该问题,例如专利文献1所公开的发明那样,提供一种可编程控制器,可按变量名进行数据访问,或在通信部件上使用公共的变量名进行数据访问。
在该专利文献1公开的发明中,控制器(CPU单元)包括从其他控制器要求变量访问时,将作为功能名的变量名变换为物理地址(实际地址)的变量名变换部件。因此,各PLC使用变量名向其他PLC进行数据发送接收,对用户而言非常方便,不需要随着数据移动变更程序。
【专利文献1】特开平11-184508号公报
上述已有技术中,由控制器处理伴随变量名和实际地址的变换的通信处理,因此控制器上集中负荷。为顺利地进行对应该变量名和实际地址的变换处理来管理上述FA控制而进行的循环处理,需要提高控制器的资源性能。构成分散控制器系统的PLC个数增加时,使用PLC间的变量名的数据发送接收增多,因此控制器的资源需要进一步增加。循环通信能力(数据量、节点数等)依赖于控制器,因此分散控制器系统的能力有限。
发明内容
本发明目的是提供一种可编程控制器、通信单元、控制器系统、数据处理方法和变量解决方法,在可编程控制器之间通信的情况下,保持事先的通信设定使用变量名的方便性,此外,不需要为进行通信处理增加控制器(CPU单元)的资源。
本发明的可编程控制器包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,上述控制器具有存储部件,存储将变量名与特定存储与该变量名对应的数据的区域的实际地址相关联的变量表,上述通信单元具有通信设定信息存储部件,存储特定与上述其他通信单元之间设为通信对象的变量名的通信设定信息,上述通信单元包括变量解决部件,按规定定时通过询问上述控制器取得上述通信设定信息存储部件中存储的与变量名对应的实际地址,存储保持将该变量名和实际地址相关联的表。本发明在进行用于在可编程控制器之间通信的事先的通信设定时,可使用变量名对通信单元进行通信设定。并且,通信设定时通信单元关于变量名在控制器中进行确认,因此通信单元关于变量名一直可取得正确信息。此外,本发明对应第一实施方式的可编程控制器,还对应第二实施方式的源侧的包括通信单元的可编程控制器。
并且,上述通信设定信息是将设为上述通信对象的上述变量名、接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息。通信单元包括:向发送源地址的通信单元要求特定通信时的数据的识别信息的部件;和将对应该要求从发送源地址的通信单元送来的识别信息和上述实际地址进行相关联地存储、在通信时可将与上述识别信息一起送来的数据提供给上述控制器的部件。这里,所谓可提供,如实施方式所示,是通信单元写入共用RAM,控制器(CPU单元)可按任意定时从共用RAM取得数据,通信单元可对控制器传送数据,主要是最终取得的数据可传递到控制器侧。识别信息在实施方式中对应循环通信ID。该结构在与其他通信单元确立通信时,以要求通信确立的侧的可编程控制器为对象。即,对应第一实施方式的第二可编程控制器。此外,如果可确立通信,则通信单元将通信取得的数据传递到控制器,从而不需要为进行通信处理而增加控制器(CPU单元)的资源。
此外,上述通信设定信息是将设为上述通信对象的上述变量名和发送属性相关联的信息,上述通信单元包括:从通信对方的通信单元接收用于特定与通信对方的通信单元之间通信的数据的特定的识别信息取得要求时,返回该数据的识别信息的部件;和在附加上述识别信息的状态下发送成为通信对象的数据的部件。识别信息在实施方式中对应循环通信ID。该结构在与其他通信单元确立通信时,以要求通信确立的侧的可编程控制器为对象。即,对应第一实施方式的第一可编程控制器。并且,可以以具有前面段落的结构的可编程控制器为对方来确立通信。如果可确立通信,则通信单元将通信取得的数据传递到控制器,从而不需要为进行通信处理而增加控制器(CPU单元)的资源。
另一方面,作为适合于实施上述可编程控制器的本发明的通信单元,是经系统总线连接包括变量表的控制器的通信单元,该变量表将变量名与存储与该变量名对应的数据的实际地址相关联,在该通信单元内包括:存储特定设为通信对象的变量名的通信设定信息的通信设定信息存储部件;和按规定定时通过询问上述控制器取得上述通信设定信息存储部件中存储的与变量名对应的实际地址,存储保持将取得的实际地址与上述变量名相关联的表的变量解决部件。本发明的通信单元在进行用于在与其他通信单元之间通信的事先的通信设定时,可使用变量名对通信单元进行通信设定。并且,通信设定时通信单元关于变量名在控制器中进行确认,因此通信单元关于变量名一直可取得正确信息。此外,本发明的通信单元对应第一实施方式的第一、第二通信单元,还对应第二实施方式的源侧的通信单元。
并且上述通信设定信息是将设为上述通信对象的上述变量名、接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,包括:向发送源地址的通信单元要求取得特定通信时的数据的识别信息的部件;和将对应该要求从发送源地址的通信单元送来的识别信息和上述实际地址进行相关联地存储、在通信时可将与上述识别信息一起送来的数据提供给上述控制器的部件。
此外,上述通信设定信息是将设为上述通信对象的上述变量名和发送属性相关联的信息,包括:接收用于从通信对方的通信单元通信的数据的特定的识别信息取得要求时,返回与该数据对应的识别信息的部件,在附加上述识别信息的状态下发送成为通信对象的数据。
另外,本发明的控制器系统经网络连接多个可编程控制器而构成,上述多个可编程控制器每一个至少分别包含1个以上的至少方案2所述的可编程控制器和方案3所述的可编程控制器,上述多个可编程控制器之间的数据发送接收使用上述识别信息特定数据来进行。本发明的控制器系统可使用变量名进行事先的通信设定。并且,为在可编程控制器之间相互进行数据发送接收,进行通信确立,而可使双方共有数据。可节约用于进行可编程控制器之间的数据发送接收所涉及的处理的控制器(CPU单元)的资源。
此外,本发明是可编程控制器的变量解决方法,该可编程控制器包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,上述控制器具有存储部件,存储将变量名与对应该变量名的实际地址相关联的变量表,上述通信单元具有通信设定信息存储部件,存储特定与其他通信单元之间设为通信对象的变量名的通信设定信息,上述通信单元按规定定时向上述控制器询问上述通信设定信息存储部件中存储的与变量名对应的实际地址,上述控制器随着该询问返回与该变量名对应的实际地址,上述通信单元作成将返回来的实际地址与通信对象的变量名相关联的表,存储在存储部件中。通过该方法,可使用变量名进行事先的通信设定。通信单元从CPU单元取得关于变量名的信息,从而可一直得到正确信息,不用担心取得弄错了的信息。
并且,该方法中,上述通信设定信息是将设为上述通信对象的上述变量名、接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,上述通信单元向发送源地址的通信单元发出特定通信时的数据的识别信息的取得要求,对应该要求取得从上述发送源地址的通信单元送来的识别信息,同时将取得的识别信息和上述实际地址进行相关联地存储,从而在通信时可将与上述识别信息一起送来的数据提供给上述控制器。
本发明是经系统总线连接于控制器的通信单元的数据处理方法,该控制器包括将变量名与存储对应该变量名的数据的实际地址相关联的表,该方法中,存储保持特定在与通信对方的通信单元之间设为通信对象的变量名的通信设定信息,在提取出该存储保持的通信设定信息中存储的变量名的同时,向上述控制器询问对应该提取的变量名的实际地址,存储保持将从上述控制器返回来的实际地址和上述变量名相关联的表。通过该方法,可使用变量名进行事先的通信设定。通信单元从CPU单元取得关于变量名的信息,从而可一直得到正确信息,不用担心取得弄错了的信息。
此外,本发明是控制器系统的变量解决方法,该控制器系统包括多个带有运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器,同时该多个可编程控制器连接于网络,上述控制器存储将上述变量名和存储对应该变量名的数据的实际地址相关联的变量表,上述通信单元存储将特定在与其他通信单元之间设为通信对象的变量名的变量名、发送接收属性、数据的发送源地址、发送源的变量名相关联的通信设定信息,上述通信单元按规定定时向上述控制器询问对应上述通信设定信息中存储的变量名的实际地址,上述控制器随着该询问返回对应该变量名的实际地址,上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表,此外,上述通信单元检测出上述发送接收属性,在其是接收属性的情况下,对根据上述发送源地址特定的发送源地址的通信单元发出取得特定通信时的数据的识别信息的要求,对应该要求取得从上述发送源地址的通信单元送来的识别信息,同时将取得的识别信息和上述返回来的实际地址相关联并进行存储,从而可在通信时将与上述识别信息一起送来的数据提供给上述控制器。通过该方法,可使用变量名进行事先的通信设定。通信单元从CPU单元取得关于变量名的信息,从而可一直得到正确信息,不用担心取得弄错了的信息。并且,为在可编程控制器之间相互进行数据发送接收,进行通信确立,使双方可共有数据。此外,可节约用于进行可编程控制器之间的数据发送接收所涉及的处理的控制器(CPU单元)的资源。
将前面段落中所述的变量解决方法应用于数据交接方法中的情况下,在包括多个带有运算执行用变量名编程的程序的控制器和与连接于网络的其他通信节点通信的通信单元的可编程控制器、同时该多个可编程控制器经网络连接构成的控制器系统的数据交接方法中,根据前面段落所述的变量解决方法进行变量解决,经上述网络连接的通信单元在附加上述识别信息的状态相互进行数据的发送接收。
此外,具有接收属性数据的通信单元在上述变量解决时,将循环通信对象的数据的循环周期送到具有发送属性数据的通信单元,具有接收了上述循环周期的发送属性数据的通信单元按每个上述循环周期向对应的数据附加上述识别信息并进行发送。
本发明的可编程控制器包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,上述通信单元包括:通信设定信息存储部件,存储特定与上述其他通信单元之间设为通信对象的变量名的通信设定信息;表,将设为通信对象的变量名与缓冲区域相关联地存储;变量解决部件,按规定定时通过询问上述控制器取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名和取得的实际地址相关联的表。
该可编程控制器在进行用于在可编程控制器之间通信的事先的通信设定时,可使用变量名对通信单元进行通信设定。通信单元可从CPU单元侧确实且正确取得关于变量名的信息。由于在通信单元侧存储变量名和实际地址的关联信息,因此在控制器间数据通信等时的通信单元侧可处理的范围增多,CPU单元的负荷减少。此外,这里的控制器相当于实施方式的CPU单元。表具有和成为通信对象的数据的变量名相关的信息。包含实施方式2~4的通信缓冲表和实施方式5,6的组件。本发明对应第2~第6实施方式的可编程控制器(源侧),还对应第2~第6实施方式的各变形例的可编程控制器(源侧)。
并且,上述通信设定信息是将设为上述通信对象的变量名、发送接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,上述通信单元还包括:对发送源地址的通信单元要求取得特定通信的数据的识别信息的部件;和将对应该要求从发送源地址的通信单元送来的识别信息与由上述变量解决部件取得的实际地址相关联地存储,可在通信时将与上述识别信息一起送来的数据提供给上述控制器的部件。该结构对应第2~第4实施方式的可编程控制器(源侧),还对应第2~第4实施方式的各变形例的可编程控制器(源侧)。
此外,上述通信单元的表是将设为通信对象的变量名和将该变量名分组化的组件名以及缓冲区域相关联地存储的组件表,上述通信单元的上述通信设定信息构成为将上述通信对象的上述组件名、发送接收属性、通信对象数据的发送源地址、发送源的组件名相关联的信息。该结构对应第5,6实施方式的可编程控制器(源侧),还对应第5,6实施方式的各变形例的可编程控制器(源侧)。
本发明的可编程控制器包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,上述通信单元包括:表,将与上述其他通信单元之间设为通信对象的变量名与缓冲区域相关联地存储;变量解决部件,按规定定时通过询问上述控制器取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名和取得的实际地址相关联的表;通信确立处理部件,从上述其他通信单元接受特定通信对象的变量名的通信设定信息。该可编程控制器在进行可编程控制器之间通信用的事先的通信设定时,可以对通信单元使用变量名进行通信设定。另外,进行通信确立处理时,通信单元可以对CPU单元可靠确认与变量名有关的信息,可以防止通信确立的差错。另外,通信单元在通信单元侧存储变量名和实际地址的相关信息,故可以使用该信息在控制器间进行数据通信处理的一部分,故可以减少CPU单元的负载。这里的控制器相当于实施方式的CPU单元。表具有成为通信对象的数据变量名有关的信息,包括实施方式2~4的通信缓冲表和实施方式5、6的组件。本发明对应于第2~第6实施方式的目标侧的可编程控制器,对应于第2~6实施方式的变形例的目标侧的可编程控制器。
并且,接收上述通信确立处理部件的上述通信设定信息中包含成为上述通信对象的变量名和发送接收属性,上述通信确立处理部件通过接收上述通信设定信息,生成与其他通信单元之间进行数据通信用的连接识别信息,并将所生成的识别信息发送到所述其他通信单元,上述通信单元可构成为具有可将从上述其他通信单元与上述识别信息一起送来的数据提供给上述控制器的部件。该构成对应于第2~4的实施方式的目标侧的可编程控制器。
上述通信单元的表为关联存储成为通信对象的变量名、将该变量名分组化的组件名和缓冲区域的组件表,可构成为上述通信单元的通信设定信息为通信对象的组件名、发送接收属性、通信对象数据的发送源地址与发送源的组件名相关联的信息。该构成对应于第5、6实施方式的目标侧的可编程控制器。
本发明的可编程控制器包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,上述通信单元包括:表,将与上述其他通信单元之间设为通信对象的变量名与缓冲区域相关联地存储;通信确立处理部件,从上述其他通信单元接受特定通信对象的变量名的通信设定信息,上述通信单元构成为包括变量解决部件,接通信确立处理部件接收了通信设定信息后的定时通过询问上述控制器取得上述通信设定信息中含有的与变量名对应的实际地址,存储保持该变量名与取得的实际地址相关联的表。该可编程控制器以用户使用变量名编程、使用变量名进行控制器的通信单元之间的通信设定为前提。并且,控制器将变量与实际地址相关联的信息存储在表中。并且,通信单元按通信确立部件接受通信设定信息后的定时询问CPU单元关于变量名的信息。由此,进行通信确立处理时,通信单元可对CPU单元确实且正确地确认关于变量名的信息。此外,通信单元在通信单元侧存储变量名和实际地址相关的信息,因此,可使用该信息进行在控制器间数据通信的处理的一部分,从而可减少CPU单元的负荷。此外,这里的控制器相当于实施方式的CPU单元。表具有与成为通信对象的数据的变量名相关的信息,包含实施方式2~4的通信缓冲表和实施方式5,6的组件表。本发明对应第2~6实施方式的各变形例的目标侧的可编程控制器。
并且,该可编程控制器在上述通信确立处理部件接受的上述通信设定信息中包含设为上述通信对象的上述变量名和发送接收属性,上述通信确立处理部件通过接受上述通信设定信息,生成用于与其他通信单元之间数据通信的连接识别信息,将生成的识别信息发送到上述其他通信单元,上述通信单元可将从上述其他通信单元与上述识别信息一起送来的数据提供给上述控制器。本发明对应第2~4实施方式的变形例的目标侧的可编程控制器。
该可编程控制器构成为:上述通信单元的表是将设为通信对象的变量名和将该变量名分组化的组件名以及缓冲区域相关联地存储的组件表,上述通信单元的通信设定信息是将通信对象的上述组件名、发送接收属性、通信对象数据的发送源地址、发送源的组件名相关联的信息。本发明对应第5,6实施方式的变形例的目标侧的可编程控制器。
另一方面,适合于实施上述可编程控制器的本发明的通信单元,经系统总线连接于控制器的同时,经网络与其他通信单元通信,该控制器包括变量表,该变量表将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储,该通信单元内具有:通信设定信息存储部件,存储特定设为通信对象的变量名的通信设定信息;表,将设为通信对象的变量名和缓冲区域相关联地存储;变量解决部件,按规定定时询问上述控制器,取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名与取得的实际地址相关联的表。本发明的通信单元可从CPU单元确实且正确地取得变量名与实际地址的关系的信息。由于存储变量名与实际地址的关系信息,例如,在与其他通信单元之间数据通信时在通信单元侧可处理的范围增加,因此可将CPU单元的负荷减少所增加的范围的大小。通信单元的变量解决部件询问控制器时,参照与成为通信对象的数据的变量名相关的信息的表包含实施方式2~4的通信缓冲表和实施方式5,6的组件表。本发明的通信单元包含第2~6实施方式的第一,第二通信单元。包含第2~6实施方式的变形例的源侧的通信单元。
本发明是一种包括运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器的变量解决方法,上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,上述通信单元包括:通信设定信息存储部件,存储特定与其他通信单元之间设为通信对象的变量名的通信设定信息;表,将设为通信对象的变量名与缓冲区域相关联地存储,上述通信单元询问上述控制器上述表中存储的与变量名对应的实际地址,上述控制器随着该询问参照变量表返回对应该变量名的实际地址,上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表。通过该方法,通信单元可确实且正确地对CPU单元确认变量名。由于从CPU单元自身直接接收信息,所以一直取得正确信息。不用担心取得弄错了的信息。该变量解决方法在第2~6实施方式的源侧的通信单元中进行,也可在第2~6实施方式的变形例的源侧的通信单元中进行。
本发明的通信单元,经系统总线连接于控制器的同时,经网络与其他通信单元通信,该控制器包括变量表,该变量表将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储,该通信单元内具有:表,将设为通信对象的变量名和缓冲区域相关联地存储;通信确立处理部件,从其他通信单元接受特定通信对象的变量名的通信确立要求;变量解决部件,按规定定时询问上述控制器,取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名与取得的实际地址相关联的表。本发明的信单元可确实且正确地从CPU单元取得变量名与实际地址的关系的信息。由于存储变量名与实际地址的关系信息,例如,在与其他通信单元之间数据通信时在通信单元侧可处理的范围增加,因此可将CPU单元的负荷减少所增加的范围的大小。通信单元的变量解决部件询问控制器时,参照与成为通信对象的数据的变量名相关的信息的表包含实施方式2~4的通信缓冲表和实施方式5,6的组件表。本发明的通信单元对应第2~6实施方式的目标侧的通信单元,或对应第2~6实施方式的变形例的目标侧的通信单元。
本发明是一种包括运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器的变量解决方法,上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,上述通信单元包括:通信确立处理部件,从其他通信单元接受特定通信对象的变量名的通信确立要求;表,将设为通信对象的变量名与缓冲区域相关联地存储,上述通信单元询问上述控制器上述表中存储的与变量名对应的实际地址,上述控制器随着该询问参照变量表返回对应该变量名的实际地址,上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表。通过该方法,通信单元可确实从CPU单元取得对应变量名的实际地址。并且,由于从CPU单元自身直接取得信息,因此可一直取得正确信息,不用担心取得弄错了的信息。该变量解决方法在第2~6实施方式的目标侧的通信单元中进行,也可在第2~6实施方式的变形例的目标侧的通信单元中进行。
本发明的通信单元经系统总线连接于控制器的同时,经网络与其他通信单元通信,该控制器包括变量表,该变量表将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储,该通信单元内具有:表,将与上述其他通信单元之间设为通信对象的变量名和缓冲区域相关联地存储;通信确立处理部件,从上述其他通信单元接受特定通信对象的变量名的通信确立要求;变量解决部件,按通信确立处理部件接受通信确立要求后的定时询问上述控制器,取得上述通信确立要求中包含的与变量名对应的实际地址,存储保持将该变量名与取得的实际地址相关联的表。本发明的信单元可确实且正确地从CPU单元取得变量名与实际地址的关系的信息。由于存储变量名与实际地址的关系信息,例如,在与其他通信单元之间数据通信时在通信单元侧可处理的范围增加,因此可将CPU单元的负荷减少所增加的范围的大小。通信单元的变量解决部件询问控制器时,参照与成为通信对象的数据的变量名相关的信息的表包含实施方式2~4的通信缓冲表和实施方式5,6的组件表。本发明的通信单元对应第2~6实施方式的目标侧的通信单元,或对应第2~6实施方式的变形例的目标侧的通信单元。
本发明是一种包括运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器的变量解决方法,上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,上述通信单元包括:通信确立处理部件,从其他通信单元接受特定通信对象的变量名的通信确立要求;表,将设为通信对象的变量名与缓冲区域相关联地存储,上述通信单元通过从上述其他通信单元接受特定通信对象的变量名的通信确立要求,询问上述控制器上该通信确立要求中包含的与变量名对应的实际地址,上述控制器随着该询问参照变量表返回对应该变量名的实际地址,上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表。通过该方法,通信单元可确实从CPU单元取得对应变量名的实际地址。并且,由于从CPU单元自身直接取得信息,因此可一直取得正确信息,不用担心取得弄错了的信息。该变量解决方法在第2~6实施方式的变形例的目标侧的通信单元中进行。
本发明是一种经网络连接多个可编程控制器而构成的控制器系统,上述多个可编程控制器每一个至少分别包含1个以上的成为源侧的可编程控制器和成为目标侧的可编程控制器,上述多个可编程控制器之间的数据发送接收使用上述识别信息特定数据来进行。
本发明的控制器系统是经网络连接多台成为源侧的可编程控制器和成为目标侧的可编程控制器而成的控制器系统,对于某通信对象的通信设定信息存储在该通信对象的发送侧的通信单元和接收侧的通信单元中的一个中,该存储的上述通信设定信息是将设为上述通信对象的本站侧的上述变量名、对方站侧的变量名、发送/接收的区别信息、特定通信对方站的地址信息相关联的信息,包括上述通信设定信息的通信单元具有对不带有上述通信设定信息的通信单元至少发出对方站变量名的同时,还发出通信确立要求的功能,不带有上述通信设定信息的通信单元具有针对上述通信确立要求判断是否许可要求、在许可的情况下发出通信时使用的连接ID,同时发出许可通知的功能,上述通信单元之间的通信使用上述连接ID特定通信对方来进行。
此外,上述连接ID设定在将具有同一通信条件的多个通信对象分组化的组中,通过使用该连接ID,可对多个通信对象统一进行通信。
上述任一可编程控制器系统中,为在可编程控制器之间相互进行数据发送接收,进行通信确立,使双方可共有数据。进行该通信时,通信单元具有变量名和实际地址的关系信息,因此通信单元的处理范围增加,可减少CPU单元的负荷。
本发明中,在为在可编程控制器之间通信而进行事先的通信设定时,可使用变量名对通信单元进行通信设定。通信单元可确实正确地从CPU单元取得关于变量名的信息。在可编程控制器之间进行通信时,通信单元侧的处理范围增加,可减少CPU单元的负荷。
附图说明
图1是表示采用本发明的网络系统例子的图;
图2是表示本发明的第一实施方式的控制器(CPU单元)与通信单元的内部结构的图;
图3是说明本发明第一实施方式的动作原理的图;
图4是控制器(CPU单元)—通信单元之间的顺序图;
图5是表示另一实施方式的图;
图6是表示通信设定工具的输入画面例子的图;
图7是表示通信设定工具的输入画面例子的图;
图8是说明本发明第二实施方式的动作原理的图;
图9是表示由本发明第二实施方式作成的连接表的数据结构例子的图;
图10是说明本发明第二实施方式变形例的动作原理的图;
图11是说明本发明第三实施方式的动作原理的图;
图12是说明本发明第三实施方式的动作原理的图;
图13是表示由本发明第三实施方式作成的连接表的数据结构例子的图;
图14是表示由本发明第三实施方式作成的连接表的数据结构例子的图;
图15是说明本发明第三实施方式变形例的动作原理的图;
图16是说明本发明第三实施方式变形例的动作原理的图;
图17是说明本发明第四实施方式的动作原理的图;
图18是说明本发明第四实施方式的动作原理的图;
图19是表示由本发明第四实施方式作成的连接表的数据结构例子的图;
图20是说明本发明第四实施方式变形例的动作原理的图;
图21是说明本发明第四实施方式变形例的动作原理的图;
图22是说明本发明第五实施方式的动作原理的图;
图23是表示由本发明第五实施方式作成的连接表的数据结构例子的图;
图24是说明本发明第五实施方式变形例的动作原理的图;
图25是说明本发明第六实施方式的动作原理的图;
图26是表示由本发明第六实施方式作成的连接表的数据结构例子的图。
具体实施方式
图1表示采用本发明的可编程控制器构筑的网络系统例子。该例子中,表示2个PLC构成分散控制器系统的状态。即,第一PLC10a和第二PLC10b经网络15连接。
图1所示例子中,第一PLC10a包括运算执行用户程序或循环执行I/O刷新和外部处理的第一CPU单元11a、与其他节点进行通信的第一通信单元12a、连接输入输出设备的I/O单元13a和其它单元14a等。这些单元经系统总线连接。其它单元14a有例如向构成PLC的各单元供电的电源单元、进行主从通信的主单元等。可连接多个同类单元。第二PLC10b包括运算执行用户程序或循环执行I/O刷新和外部处理的第二CPU单元11b、与其他节点进行通信的第二通信单元12b、连接输入输出设备的I/O单元13b和其它单元14b。这些单元经系统总线连接。其它单元14b有向构成PLC的各单元供电的电源单元、进行主从通信的主单元等。可连接多个同类单元。并且,图1中,第一PLC10a和第二PLC10b都表示出同时连接4个单元形成的状态,但构成各PLC的单元数不限定必然相等,可根据需要增减连接的单元。
该系统根据连接第一PLC10a的第一、第二开关SW1,SW2的输入信号控制连接第二PLC10b的电机M的动作。即,第一开关SW1为ON时,电机M旋转驱动,第二开关SW2为ON时,电机M停止。这里,第二PLC10b的第二CPU单元11b对第一PLC10a(第一CPU单元11a)要求读出第一、第二开关SW1,SW2的IO信息(ON/OFF数据),根据第一PLC10a的响应取得IO信息,对电机M进行动作控制。
图2表示第一、第二CPU单元11a,11b的内部结构和第一、第二通信单元12a,12b的内部结构。这些单元与第一PLC10a和第二PLC10b之间发送接收数据的处理有关。各CPU单元11a,11b的硬件结构相同,因此代表性表示出1个。同样,各通信单元12a,12b的硬件结构相同,因此代表性表示出1个。
第一CPU单元11a和第二CPU单元11b都称为控制器。第一、第二CPU单元11a,11b都包括存储用户程序的作为非易失性存储部件的快闪ROM21、执行该用户程序的MPU22、或在该MPU22运算执行中用作工作存储器或用作存储IO信息的作为易失性存储部件的SRAM23、和其他单元进行通信的接口电路24。进行整个CPU单元的基本动作等的主固件程序、各种参数(设定信息)存储在快闪ROM21中。接口电路24连接于系统总线26。
第一、第二通信单元12a,12b包括存储各种程序和各种参数等的作为非易失性存储部件的快闪ROM31、执行在该快闪ROM31上存储的程序的MPU32、作为易失性存储部件的SRAM33、向对应CPU单元供给数据的共用RAM34、连接于系统总线26并和其他单元进行通信的接口电路35、与连接于网络15的其他节点之间实际执行数据发送接收处理的通信控制器36、连接于网络15的通信接口电路37。
这里,本发明中,第一、第二CPU单元11a,11b都执行用着眼于功能设定的作为标签的变量名(Tag,也称为逻辑名)编程的用户程序,以便可按变量名(Tag)访问。对连接于这些第一、第二CPU单元11a,11b的第一、第二通信单元12a,12b的循环通信使用后述的连接ID进行。
本实施方式中,为能够使用连接ID进行循环通信,使第一、第二CPU单元11a,11b具有对应变量名(Tag)和实际地址(PLC内部的本地物理地址)的变量表,同时在第一、第二通信单元12a,12b中登录将对应哪个变量名的数据设为循环通信的对象的通信设定信息。变量表、通信设定信息由用户利用通信设定工具30作成,并存储在各个单元中。此外,第一、第二通信单元12a,12b在系统启动时通过询问CPU单元(控制器)登录的变量名的实际地址,自主解决变量名与实际地址的关系,作为表保存在内部。
关于执行上述处理的具体处理功能,将参考图3以后的图来说明。图3表示本发明的第一实施方式。如图3所示,第一、第二CPU单元11a,11b存储保持将变量名与数据种类(类型)以及实际地址相关联的变量表。该变量表存储在快闪ROM21中。实际地址特定的数据存储在SRAM23中。
图3的情况下,第一CPU单元11a包括将分别特定2个开关的变量名(Switch1,2)与存储表示2个开关的ON/OFF的IO数据的实际地址(DM100,DM101)相关联的变量表。第二CPU单元11b包括将意味着电机M的驱动(“READY”)、停止(“STOP”)的变量名和存储对应该变量名的数据的实际地址(DM200,DM201)相关联的变量表。并且,将第一CPU单元11a的DM100的存储器区域中存储的数据最终存储到第二CPU单元11b的DM200的存储器区域中。将第一CPU单元11a的DM101的存储器区域中存储的数据最终存储到第二CPU单元11b的DM201的存储器区域中。而且,第二CPU单元11b根据实际地址为DM200,DM201的存储区域中存储的数据控制电机M的动作。
第一、第二通信单元12a,12b在自身单元中包括特定哪个变量名的数据设为循环通信对象的通信设定信息。该通信设定信息存储在快闪ROM31中。通信设定信息取特定成为循环通信对象的数据的变量名与区别发送/接收的种类信息相关联的表结构。此外,在接收数据的情况下,为存储该接收数据的发送源的节点地址、该节点中使用的变量名、接收间隔相关联的数据结构。举出具体例子来说,节点地址为#1的第一通信单元12a中存储的通信设定信息变量名为“Switch1”、发送接收种类为“发送”。这意味着在从其他节点接受了循环通信的情况下,发送变量名对应于“Switchi1”的数据。同样,节点地址为#2的第二通信单元12b中存储的通信设定信息由连接于该第二通信单元12b的第二CPU单元11b使用、变量名为“READY”、发送接收种类为“接收”。该“READY”是接收数据,对应“READY”的数据是存储在第一CPU单元11a中的变量名“Switch1”的数据。因此,第二通信单元12b中存储的通信设定信息为除上述“READY”、“接收”外,还将存储对应“READY”的数据的第一CPU单元11a(第一PLC10a)的节点地址(#1)、该第一CPU单元11a的变量名“Switch1”、接收间隔(5ms)相关联的数据。该第二通信单元12a中存储的通信设定信息意味着:用“Switch1”变量名在节点地址(#1)存储由自身连接的第二CPU单元11b将变量名设定为“READY”的数据,同时由第二CPU单元11b按5ms间隔收集该数据。
作为第二CPU单元11b存储保持的通信设定信息,具有其他节点信息,如存储保持必要的接收对象的数据的发送源的节点地址(#1)以及该节点的变量名(Switch1),但其他节点信息从通信设定工具30设定。即,通信设定工具30还对第一通信单元12a登录通信设定信息。此外,操作通信设定工具30的用户知道第二CPU单元11b使用的变量名“READY”的数据和第一CPU单元11a使用的变量名“Switch1”的数据是相同数据,因此在第二通信单元12b中登录时,可与第一通信单元12a的节点地址等相关联地登录。关于使用通信设定工具30的设定处理,在后面说明。
并且,各通信单元12a,12b的MPU32分别根据自己的快闪ROM31中存储的通信设定信息和第一、第二CPU单元11a,11b中存储的变量表生成临时内部表,将该临时内部表存储在作为易失性存储器的SRAM33中。该临时内部表是将连接的各CPU单元11a,11b使用的变量名与对应该变量名的数据的数据种类、应记录该变量名的数据的CPU单元的实际地址相关联的表。
图3所示例子中,示出了变量名为“Switch1”、“READY”的通信设定信息以及临时内部表,但当然还可设定“Switch2”、“STOP”的通信设定信息和临时内部表。
接着使用图3,图4说明各通信单元主要进行的名字解决(进行变量与实际地址的纽带联系)的具体处理顺序、功能。首先,各通信单元12a,12b分别独立非同步地进行变量解决(变量名和实际地址的解决)。即,在MPU32内的单元管理部32a识别出处于单元启动等的进行变量解决条件时,各通信单元12a,12b启动变量解决处理。
(0)这样,随之而来的是,MPU32内的单元变量管理部32b经变量信息存储处理部32c预先通过通信设定工具读出存储在快闪ROM31中的通信设定信息。
接着,根据读出的通信设定信息实际执行变量解决处理。即:
(1)单元变量管理部32b从读出的通信设定信息抽出变量名,对同一系统总线26上的CPU单元发送解决要求消息。即,经由系统总线26发送要求存储变量名(“READY”、“Switch1”)的数据的实际地址的消息。
(2)接收该解决要求的CPU单元的变量表管理部22a(作为MPU22的一个功能安装)在自身保持的本地变量表内检索,寻找与接收的变量名相同的变量名,读出该项目中存储的物理地址信息(实际地址)、变量的大小信息(变量类型),在对要求的响应中附加上该信息,作为消息返回去。通过该返回,各通信单元可知晓登录进行了要求解决的变量的CPU单元的SRAM23的实际地址。
(3)各通信单元接收该返回消息时,作成临时内部表,存储在SRAM33中。即,作成在接收的变量的实际地址与大小信息中关联上自身具有的该变量的变量名的表,作为临时内部表存储在SRAM33中。最终作成该表是接收返回消息后的规定定时,但也可预先作成实际地址等为空栏的表(存储变量名),接收实际地址等时在对应的区域存储该实际地址。
(4)接着,各通信单元检索通信信息设定,检索具有“接收”属性的变量,存在的情况下,根据该变量的附加信息发送循环通信要求。图3的例子中,已知第二通信单元12b(#2)中存在“READY”的变量,具有“接收”属性。此外,在变量“READY”的附加信息中写入:与通信单元#1相连的控制器1的变量“Switch”要按5ms周期接收。因此,第二通信单元12b(#2)向第一通信单元12a(#1)发送“变量:Switch1/5ms”的循环通信要求。
(5)接收该循环通信要求的第一通信单元12a检查要求的变量是否存在于自身单元内的临时内部表中,存在的情况下,返回附加循环通信ID(连接ID:该例子中ID=1)的正常响应。
(6)同时,接收要求的通信单元为交换本地的CPU单元和存储器信息(I/O刷新)而将临时内部表中存储的“已经解决的实际地址”用作系统总线上的I/O刷新信息。即,系统总线管理部32d设置在共用RAM34的循环刷新输送表(连接表:该例子中未示出)。此时,循环刷新输送表的数据结构是将循环通信ID(连接ID)、实际地址、写入成为循环接收对象的实际数据的数据区域相关联的表,该数据区域中写入通过循环通信得到的数据。由此,完成变量解决。
之后,从第一通信单元12a向第二通信单元12b按5ms周期发送Switch1的最新值。该发送由第一通信单元12a自发进行,也可作为对来自第二通信单元12b的要求的响应通过返回来执行。此时第一通信单元12a和第二通信单元12b之间发送的数据包中附加循环通信ID=1。各通信单元12a,12b包括将循环通信ID、应存储与该ID一起发送接收的数据的CPU单元的SRAM实际地址、暂时存储发送接收的数据的缓冲存储器区域相关联的循环刷新输送表。因此,第二通信单元12b根据接收的数据包中存储的循环通信ID将接收的最新值写入循环刷新输送表的对应数据区域中。虽然是对该数据区域的写入,但也可将通过循环通信接收的数据直接存储到循环刷新输送数据中,也可暂时存储在SRAM33中,输送该SRAM33中存储的数据。
并且,第二CPU单元11b通过IO刷新访问共用SRAM34,取得在循环刷新输送表中存储的数据,存储在对应的实际地址规定的自身的SRAM23中。
这样,进行变量解决后节点间的通信中,将网络上惟一存在的循环通信ID(连接ID)作为密钥进行数据发送接收。然后,CPU单元和通信单元间的本地环境的数据发送接收根据将各节点的通信单元中设置的循环通信ID和CPU单元中应存储的实际地址相关联的循环刷新输送表来处理。由此,各PLC即便不知道存储发送接收对方节点使用的存储发送接收对象的数据的实际地址也可进行数据发送接收。
但是,通过在线编辑等在CPU单元侧变更变量分配时,变量表管理部对通信单元通知“变更要求”。然后,根据该通知,通信单元侧进行变量解决处理,更新临时内部表。由此,即便进行变量的分配也可原样执行处理。
上述实施方式中,表示出由2台PLC10a,10b构成网络的例子,但本发明不限定于此,3台以上时也按同样顺序进行变量解决,之后,可与上述同样,与循环通信ID一起发送接收循环通信对象的数据(参考图5)。
多个节点中同一数据为接收对象时,循环通信周期相等。并且,使用同一数据的多个节点存在的情况下,对该多个节点同时使用通信设定工具30设定通信设定信息也没有问题。例如,新添加PLC的情况下,由该添加的PLC作为接收数据设定的数据全部都设定在其他PLC的通信设定信息中时,基本上可利用该数据。
使用图5说明第3台PLC参加到已经由2台动作的网络上的例子。该情况例如是在PLC3上升延迟的情况下,通信设定后面个别地进行的情况等下产生。
首先,执行上述的(1)~(4),对于通信设定信息中具有“接收”属性的变量,发送循环通信要求。存储具有上述“接收”属性的变量的数据的通信单元接收该要求,执行如下所示处理。
(5)’接收循环通信要求的通信单元(图示例子中是第一通信单元12a)中,分析接收的要求(图中,是来自追加的第三通信单元12c的要求),检索要求的变量是否已经服务于其它单元。即,具体说,参照临时内部表确认Switch1是否存在。由于Switch1存在,将其服务周期与要求值相比。该例中,都为5ms,因此判断为在第二通信单元(#2)12b中可以共用服务的处理,读出其ID,向要求的第三通信单元#3响应按ID=1发送。
(6)之后,第一通信单元12a(#1)按5ms周期将ID=1作为Switch1的最新值广播送出到网络上(不指定发送目的地单元序号)。各通信单元接收广播时确认ID序号,确认与自身要求的OK的ID是否一致,如果一致,则取入单元内部,进行上述同样的处理。
此外,要求的循环通信时间不同时,第一单元12a新生成循环通信ID(例如ID=2),并且响应于第三通信单元12c,之后按作为ID=2要求的周期与ID=1的发送不同地来发送。表示出一个例子,例如第三通信单元12c(#3)向第一通信单元12a要求Switch1,但循环通信时间为7ms时,单元#3的通信设定为START:接收:#1/Switch1:7ms。这样,由于Switch1已经服务的要求周期不同,第一通信单元新生成ID(ID=2等),此外,响应于第三通信单元12c,之后按作为ID=2的7ms周期与ID=1的发送不同地来发送。这样,通过改变ID,即便是相同数据,可按对于各通信单元而言适当的周期进行循环通信。
本发明可进行以下处理。即,多个控制系统中,更快速更新数据的情况很多。因此,循环通信的要求周期比已经服务的周期大的情况下,进行按最小周期服务来共用的处理。这样,第一通信单元12a的处理可以提高效率,同时通信线路的利用效率也提高,因此系统整体优点增多。
因此,在上述处理(5)’中,要求的变量可共用,但循环周期不同的情况下,比较周期,在已经存在的服务周期小的情况下,作为响应附加“OK,ID=1,5ms”和可服务的周期。之后,对第二、第三通信单元的2台通信单元,按ID=1以5ms周期发送最新值。
接着说明使用通信设定工具30的设定处理。作为进行上述变量解决的前提,需要使用通信设定工具30对各通信单元存储通信设定信息。该设定处理例如图6(a)(b)所示,在通信设定工具30的显示画面上输出与显示通信设定信息表同样的表形式的输入画面。然后,用户在该表的空栏中输入希望的数据(图表示输入书类数据后的状态)。并且,确定输入的数据后,经网络将该数据下载到各通信单元中。由此,存储在通信单元的快闪ROM31中。
虽然图中省略了,但对于发送侧的通信单元,可准备与上述同样的输入画面,进行下载,提取出该接收侧通信设定工具30的设定例子画面中的通信单元No(节点地址)、接收Tag名,生成发送侧的通信单元的通信设定信息并登录。
此外,通信设定工具30对应对同一数据指定不同通信周期的情况具有如下功能。即,例如,输入接收通信单元#3的通信设定内容时,检索是否有与通信单元No.、接收Tag名相同,但在已经输入的通信单元中设定的项。并且,如果有相同的项存在,则比较其通信周期,存在不同周期设定的情况下,将其显示在工具画面上,要求设定者确认。此时,如图7所示,显示催促消息,以配合最快的周期。
如上所述,该实施方式中,对于通信设定信息,将哪个变量名设为与其他节点之间通信(循环通信之外)的对象的信息登录在通信单元中,该通信单元按系统启动时的规定定时向控制器询问,自主解决在通信设定信息中登录的变量实际地址(可编程控制器内部的本地物理地址),在内部作为表进行保持。由此,可在通信单元与控制器之间进行数据交接。即,与实际地址不同,变量名在同一系统中不会频繁变化。因此,在通信单元中设定后,在控制器侧变更的可能性小,从而一旦在通信单元中登录通信设定信息,不需要对该变量名再度进行设定。
此外,通信单元在与进行通信的其他节点之间共用特定通信时的数据的识别信息(实施方式中,为通信ID),数据的通信通过附加其识别信息进行,因此可在通信单元之间进行数据发送接收。
并且,通信单元知晓与其他通信单元进行数据发送接收的识别信息和自身连接的控制器的由该识别信息特定的数据的存储区域(实际地址),因此即便利用各可编程控制器中不同的变量名,通信单元也可识别其关系,与控制器之间进行数据交接,从而在控制器(可编程控制器)之间可共有相同数据。
这样,通信单元进行变量名与通信的关联管理,不需要控制器管理,使得负荷分散。并且,通信单元为多个的情况下,各通信单元进行该管理,从而对控制器要求的资源不会增加。这样,通信能力(数据量、节点数等)不依赖于控制器,如果增加单元就可增加能力。
图8表示本发明的第二实施方式。上述第一实施方式使用通信设定工具30对各通信单元分别设定通信设定信息,基于此进行通信单元与CPU单元11之间的名字解决,最终设定循环通信ID(连接ID)。即,各通信单元包括与在连接的CPU单元之间解决名字的变量名相关的通信设定信息。换言之,上述第一实施方式是为实现PLC之间的数据发送接收而在发送数据侧的PLC通信单元中存储发送用通信设定信息,而在接收数据侧的PLC通信单元中存储接收用通信设定信息的例子。即,决定1个连接ID时使用的通信设定信息分为发送侧和接收侧,存储在不同单元中。
与此不同,本实施方式中,关系到设定1个连接ID的通信设定信息仅存储在1个通信单元中。并且,彼此通信的通信单元之间,仅向单方的通信单元输入发送接收两方的通信设定信息。图8所示例子中,通信设定信息存储在节点地址为#1的第一通信单元12a中。存储该通信设定信息的单元称为源、未存储通信设定信息的单元称为目标。第一、第二CPU单元11a,11b都包括变量表。该变量表是将用户作成的程序中使用的变量名和对应该变量名的数据的类型、存储该数据的存储器地址相关联的表。该变量表与第一实施方式同样。但是,本实施方式中,也管理连接第二CPU单元10b的电机M的状态信息。该状态例如表示动作中和停止的2个状态。
随之而来,构成连接电机M的第二PLC10b的第二CPU单元11b包括将意味着电机M的状态的变量名为“STATUS”、类型为“word”、存储该电机M的状态的存储器地址为“DM250”相关联的变量表。当然,与第一实施方式同样,关于
“READY”、“STOP”,也存储在变量名表中,这2个变量名表示的内容与第一实施方式相同。
构成第一PLC10a的第一CPU单元11a监视电机M的状态。与此相配合,第一CPU单元11a的变量表除变量名“Switch1”和“Switch2”外,还记述关于输入电机状态的变量名“M_ST”的关联数据。
此外,第一通信单元12a包括暂时存储与其他通信单元发送接收的数据的通信缓冲表。第二通信单元也同样包括通信缓冲表。该通信缓冲表为将表序号、变量名、存储发送接收的数据的区域相关联的表结构。并且,该通信缓冲表存储在例如共用RAM34中。该通信缓冲表在实际动作时用于不同PLC之间的通信单元间的数据通信,或用于同一PLC内通信单元与CPU单元之间的数据输送。该通信缓冲表中存储的信息在通信单元内的非易失性存储器中备份。并且,通信单元的MPU32按电源接入时等的规定定时从非易失性存储器读出备份的信息,将其存储在共用RAM34中。
下面,说明连接的CPU单元和通信单元间进行的名字解决和通信单元间实际发送接收数据时利用的连接ID的决定的处理顺序,并说明各单元的功能。
(0)首先,用户操作通信设定工具30,作成在第一CPU单元11a中存储的变量表,将该作成的变量表下载到第一CPU单元11a中。同样用户操作通信设定工具30,作成在第二CPU单元11b中存储的变量表,将该作成的变量表下载到第二CPU单元11b中。
用户操作通信设定工具30,作成在第一通信单元12a中存储的通信缓冲表,将该作成的通信缓冲表下载到第一通信单元12a中。同样用户操作通信设定工具30,作成在第二通信单元12b中存储的通信缓冲表,将该作成的通信缓冲表下载到第二通信单元12b中。
用户使用编程工具(作为硬件,有时是与通信设定工具30相同的个人计算机,有时与通信设定工具30不同)作成各CPU单元执行的用户程序。工具30作成的用户程序在下载到CPU单元中时被编译。编译时程序中使用的变量名变换为实际地址,因此CPU单元执行用实际地址记述的用户程序。此外,用户程序中使用的变量与用户用于PLC控制的数据(包含接点的含义)预先对应地决定,因此用户知晓各CPU单元的变量(变量名)和数据(包含接点的含义)的对应信息。用户知晓各CPU单元的存储器分配信息,即数据(包含接点的含义)与该数据在CPU单元的存储器中的存储区域(实际地址)的对应信息。此外,用户知晓在PLC间进行数据发送接收时应将哪个CPU单元中存储的数据送到另外的哪个CPU单元中。另外,用户知晓成为PLC间发送接收对象的数据在发送的CPU单元和接收的CPU单元中对应哪个变量名。因此,根据该信息,用户可作成在各CPU单元中下载的变量表和各通信单元中下载的通信缓冲表。
另外,用户操作通信设定工具30作成一个通信单元(该例子中是第一通信单元11a(源侧))的通信设定信息,存储到第一通信单元12a(#1)中。这里设定的通信设定信息为将本站使用的变量名、对方站使用的变量名、通信对方的节点地址、通信方向(OUT/IN)、发送接收数据时的周期、数据大小相关联的表。
(1)向各单元中下载变量表、通信缓冲表时,各通信单元12a,12b可执行名字解决处理。例如,通信单元以复位为契机进行名字解决。具体说,复位时,各通信单元12a,12b不用询问源/目标,而是根据例如通信缓冲表中存储的变量名向连接的CPU单元询问存储与该变量名对应的数据的实际地址是什么。即,例如第一通信单元12a对第一CPU单元11a询问存储变量名为“Switch1”的数据的存储区域的实际地址。
(2)第一CPU单元11a以接受询问的变量名为密钥访问变量表,取得该实际地址(DM100)的同时,作为针对询问的响应,将取得的实际地址返回到第一通信单元12a。第一通信单元12a同样询问对应“Switch2”、“M_ST”的实际地址,作为响应,从第一CPU单元11a取得对应的实际地址。
图示的例子中,1个询问1个询问地进行,但也可统一进行询问。虽然图中省略了,但该实际地址返回时,也可返回数据大小(类型)。这一点在其他实施方式和变形例中同样如此。
同样,第二通信单元12b向第二CPU单元11b询问存储对应变量名“READY”、“STOP”、“STATUS”的数据的存储器的实际地址。并且,第二CPU单元11b以接受询问的变量名为密钥访问变量表,取得该实际地址、类型(大小)的同时,作为针对询问的响应,将取得的实际地址、类型(大小)返回到第二通信单元12b。图8中,第二通信单元12b针对“READY”进行名字解决的询问,从第二CPU单元11b返回“DM200/1W”。
执行该名字解决处理的定时不限定于根据上述的复位,可自由设定,只要至少存储通信缓冲表和变量表就可作成。这一点在其他实施方式和变形例中同样如此。
简单说明各通信单元取得的实际地址与数据大小的信息,则实际地址在通信确立后在通信单元间进行通信时,是通信单元与CPU单元间数据交换所必要的信息,不管是源还是目标都可使用。数据大小是在进行通信确立时,源侧发出通信确立要求之际或目标侧进行通信确立处理时所必要的信息。这一点在其他实施方式和变形例中同样如此。
该第二实施方式中,源侧的通信单元12a在本站中在将成为通信对象的变量名全部包含于通信设定信息中的状态下存储。因此,该源侧的第一通信单元12a进行名字解决处理时,如上所述,替代基于通信缓冲表中存储的变量名,基于通信设定信息中包含的变量名进行。即,第一通信单元12a对第一CPU单元11a询问对应通信设定信息中包含的“Switch1”、“Switch2”、“M_ST”的各个变量名的实际地址,取得与此对应的实际地址。当然,根据需要,如图所示,可同时取得关于数据大小的信息。
(3)第一通信单元12a存储进行了名字解决的信息。存储区域可使用例如临时内部表。包括通信设定信息的源侧,通信设定信息中特定到“方向”,因此如图8所示,完成临时内部表。临时内部表是将通信缓冲表序号、变量名、实际地址、数据大小、方向“IN/OUT”相关联的表。因此,名字解决结束。通信设定信息中也存储数据大小,因此临时内部表的大小栏中存储的数据从其通信设定信息的大小栏中取得,但本发明不限定于此,通过与从第一CPU单元11a返回的实际地址同样加上数据类型(大小),可利用第一CPU单元中存储的变量表中的数据作成临时内部表的数据大小。此外,作成通信设定信息时,用户可不写入数据大小,而利用变量表的数据作成。这一点在其他实施方式和变形例中同样如此。
(3)’第二通信单元12b存储进行了名字解决的信息。存储区域可使用例如临时内部表。目标侧的第二通信单元12b不具有通信设定信息,因此数据发送的方向(发送:OUT,接收:IN)的区别等不明确。但是,第二通信单元12b从通信缓冲表中存储的信息知晓与第一通信单元12a通信的数据的本站的变量名,因此通过向第二CPU单元11b询问变量名的实际地址可识别出该变量与实际地址的对应。因此,第二通信单元12b对于通信缓冲表中存储的全部变量名,通过执行处理(1)、(2)可将通信缓冲表的表序号、变量名、实际地址、大小(根据类型决定)相关联,将该相关联的数据存储在临时内部表中。这样,作成通信方向为空栏的临时内部表。此外,图8表示执行后述的全部处理而最终作成的存储了“方向”的临时内部表的状态。通过执行该(3)’的处理,在第二通信单元12b侧结束名字解决。
(4)接着,说明连接ID的设定处理顺序。从节点序号小的源顺序向目标要求通信确立。该通信确立要求根据输出来自工具30的通信确立命令,由各通信单元对顺序成为处理对象数据的通信对方的通信单元发出通信确立要求。该通信确立要求将对方站变量名、数据大小、方向以及周期信息送到对方节点。其中可包含本站的变量名。当然,通信确立要求的帧的首标中,作为发送源信息,存储自身的节点地址(#1)和对方的节点地址(#2),因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。该通信确立要求按设定连接ID的单位进行。因此,本实施方式中,按变量名竞争连接ID,从而按每个变量名1个1个地执行处理。
图8的例子中,节点地址#1的第一通信单元12a首先对第二通信单元12b发出以“READY/1W/OUT/5ms”为内容的通信确立要求。
(5)接收该通信确立要求的目标检查要求内容。即,访问临时内部表,检查有无通信确立要求的变量名。并且,存在变量名的情况下,目标检查大小是否一致,一致时,把和与通信确立要求一起送来的“方向信息”相反的方向存储在临时内部表中。因此,接收上述通信确立要求的第二通信单元12b认定要求内容正确的情况下,第二通信单元12b在对应成为了空栏的临时内部表的“READY”的“方向”栏中输入“IN”。
有无变量名的检查如上所述基于临时内部表进行,但本发明不限定于此,也可基于通信缓冲表进行。此外,也可根据临时内部表和通信缓冲表二者两次检查有无变量名。
(6)此外,目标比较实际周期和要求周期,检查是否可对应。可对应的情况下,目标特定连接ID,在通信设定工具30的显示装置上监视显示“要求条件OK”的内容和“通信确立内容”。然后,目标对作为通信确立要求的发出源的源通知“要求条件OK”  的内容和连接ID。此时,可同时发送实际周期。目标侧的实际周期存储在目标的系统存储器中,因此目标将其读出,与连接ID等一起通知。
连接ID由源的节点地址、目标的节点地址和序列序号的组合构成。序列序号按处理顺序添加。因此,例如最初发出上述的  “READY”的通信确立要求时,目标设定“#1#2-001”的连接ID。
另一方面,目标在要求的周期中不能对应时,在通信设定工具30的显示装置上显示“要求周期不能对应。实际周期可以是**sec吗”等的确认消息,敦促用户确认。对该确认消息,用户输入“可以”时,将目标侧可对应的实际周期与(6)的要求许可通知一起进行通知。实际周期预先设定在作为目标的第二通信单元12b中。具体举出要求许可通知中包含的信息的例子,则为许可通知(OK/NG)、连接ID、本站节点地址(目标侧节点地址)、对方站节点地址(源侧节点地址)、周期。(一部分在图中省略了)。通信确立要求按每个变量名1个1个地进行,因此上述(4)到(6)的处理还针对“STOP”、“STATUS”顺序执行。从接收各通信确立要求的目标发出要求许可通知时,目标和源中,作成图9所示的数据结构构成的连接表。该连接表通过每次附加1个连接ID逐一作成并更新。
通过以上顺序进行通信确立后,利用连接ID在通信单元之间就Switch1的ON/OFF信息、Switch2的ON/OFF信息、电机的状态信息等的各种数据进行通信。例如,说明第一通信单元12a(#1)向第二通信单元12b(#2)发送Switch2的数据时的情况。第一通信单元12a的MPU参照临时内部表进行从第一CPU单元11a读出发送数据的处理。临时内部表具有通信单元的通信对象数据(发送数据)与CPU单元的实际地址的对应信息。第一通信单元12a根据临时内部表取得对应通信处理数据的CPU单元11a的存储器的实际地址。第一通信单元12a和第一CPU单元11a之间的数据发送接收经系统总线26进行。具体说,第一通信单元12a和第一CPU单元11a之间按IO刷新或外部处理等的定时将存储在第一CPU单元11a的实际地址DM100中的数据存储到通信缓冲器中并更新。这一点在后述的各实施方式中同样如此。
第一通信单元12a在通信缓冲器中存储取得的通信对象数据。通信缓冲器的存储区域在通信缓冲表中惟一确定。并且,第一通信单元12a为发送通信对象数据参照连接表,生成消息帧。即,将连接ID(#1#2-002)、通信缓冲表的表序号(2)的数据区域中存储的数据包含在消息帧中,发送到节点地址#2的第二通信单元12b中。第二通信单元12b如果接收给自己的连接ID(#1#2-002)的消息,则从连接表识别应存储通信缓冲表的表序号(12),将接收的数据存储在对应该表序号(12)的通信缓冲器的存储器区域中。这里所说的第一通信单元12a进行的数据发送可由第一通信单元12a自发进行发送动作,也可以是第二通信单元12b向第一通信单元12a要求数据,响应于此,第一通信单元12a进行发送动作。该通信循环为通信确立时确定的恒定周期(例如5ms)。这一点在后述的各实施方式中同样如此。
第二通信单元12b和第二CPU单元11b之间按规定定时将通信表中存储的数据存储到第二CPU单元11b的实际地址DM201中。即,第二通信单元12b通过临时内部表知晓通信缓冲表的表序号(12)中存储的数据的实际地址为DM201,按第二CPU单元11b的刷新或外部处理等的定时进行第二CPU单元11b的数据更新。
图10表示第二实施方式的变形例。上述第二实施方式在进行连接ID的设定处理之前预先在各单元之间事先进行各通信单元与CPU单元之间的名字解决处理。与此不同,该变形例中,目标侧的名字解决在进行连接ID设定的一连串的处理顺序中进行。
(0)即,用户操作通信设定工具30来作成第一CPU单元11a用的变量表、第二CPU单元11b用的变量表、第一通信单元用的通信缓冲表、第二通信单元用的通信缓冲表,将各个表下载到对应的单元中。另外,用户操作通信设定工具30来作成通信设定信息,存储到第一通信单元12a中。该变形例中,第一通信单元12a不区分发送侧和接收侧,都为源,保持发送接收两方的通信设定信息。
(1)接着,源侧的第一通信单元12a对于通信设定信息中存储的本站变量名向第一CPU单元11a要求名字解决。该名字解决要求是询问存储对应本站变量名的数据的第一CPU单元11a的存储器的实际地址。作为成为源侧的通信单元的名字解决要求的执行变形例,替代通信设定信息中设定的变量名,可根据通信缓冲表中存储的变量名执行名字解决要求。这一点在后述的各实施方式的变形例中同样如此。名字解决要求的单位可根据每个变量名1个1个进行,也可对多个变量名统一进行。这一点在后述的实施方式的变形例中同样如此。
(2)第一CPU单元11a根据接收的名字解决要求,参照变量表返回对应的实际地址(存储器地址)。此时,第一CPU单元11a也可兼返回数据大小。
(3)源侧的第一通信单元12a根据从第一CPU单元11a返回的信息(实际地址、类型:数据大小)和自身保持的通信设定信息作成临时内部表。作成的临时内部表的数据结构与第二实施方式相同。
(4)接收来自通信设定工具30的通信确立命令,源侧的第一通信单元12a(#1)对于通信设定信息中存储的变量名,根据临时内部表向目标侧的第二通信单元12b(#2)发出通信确立要求。与通信确立要求一起发送的信息包含对方站变量名/大小/方向/周期。该通信确立要求中也包含本站的变量名。通信确立要求的帧的首标中存储自身节点地址和对方节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。该通信确立要求1个1个进行。图中,是对临时内部表中存储的“READY”进行通信确立要求。最终第一通信单元12a对通信设定信息中存储的全部变量名进行通信确立要求。
(5)接收通信确立要求的第二通信单元12b对第二CPU单元11b要求关于接收的变量名的名字解决。图示例子中,第二通信单元12b要求询问变量名“READY”的实际地址。
(6)第二CPU单元11b对应名字解决要求,参照变量表取得对应变量名的实际地址和类型(大小),返回第二通信单元12b。图中,第二CPU单元11b对询问的“READY”返回“DM200/1W(1码字的含义)”。
(7)第二通信单元12b根据从第二CPU单元11b取得的存储器地址和类型(大小)检查从第一通信单元12a接收的通信确立要求的内容。具体检查项目有“具有要求的变量名吗”、“该变量的数据设定在通信缓冲器中吗”、“大小一致吗”、“比较实际周期和要求周期,可对应吗”等。第二通信单元12b具备全部条件的情况下,决定许可通信确立要求,要求周期以外的条件有1个不一致时,决定不许可通信确立要求。要求周期不能对应的情况下,用工具显示“要求周期不能对应。实际周期可以是**sec吗”等的消息,敦促用户确认。用户输入接受“可以”的情况下,将按提示的实际周期进行通信作为条件来决定许可通信确立要求。
并且,要求内容正确、许可通信确立要求的情况下,第二通信单元12b作成临时内部表。该临时内部表的数据结构与第二实施方式同样。这里,从接收的通信确立要求的内容、名字解决处理取得的变量名和实际地址的对应关系,针对成为当前连接ID设定的处理对象的变量名一次作成。即,像第二实施方式那样,并非暂时作成“方向”为空栏的不完全的临时内部表,而是作成存储了关于该变量名的全部信息的临时内部表。同时,第二通信单元12b在通信设定工具30上监视显示“要求条件OK”的内容和“通信确立内容”。
(8)许可通信确立要求的情况下,第二通信单元12b特定连接ID,将特定的连接ID和“确立要求许可通知”返回第一通信单元12a中。此时,第二通信单元12b也可配合实际周期进行发送。
下面与第二实施方式同样,第一通信单元12a和第二通信单元12b都作成连接表。此外,按每个变量名反复执行上述(4)到(8)的处理,对全部的变量名(“READY”、“STOP”、“STATUS”)进行确立要求,设定连接ID。因此,图示的例子中,分别对“READY”、“STOP”、“STATUS”进行通信确立要求,因此从上述(4)到(8)的处理总共执行3次。通信确立后,利用连接ID在通信单元之间进行通信与第二实施方式同样,因此省略说明。
图11,12表示本发明的第三实施方式。该第三实施方式与第二实施方式同样,将设定1个连接ID的通信设定信息设定在一个通信单元中。但是,设定通信设定信息的通信单元仅为接收数据的一侧。因此,像第二实施方式一样,在1个通信单元中存在发送的数据和接收的数据的情况下,各通信单元分别具有基于接收数据的通信设定信息。例如,如图11所示,第一通信单元12a包括本站变量名为“M_ST”的通信设定信息。此外,如图12所示,第二通信单元12b包括本站变量名为“READY”、“STOP”的通信设定信息。
下面说明连接的CPU单元和通信单元间进行的名字解决和通信单元间实际发送接收数据时利用的连接ID的决定的处理顺序,并说明各单元的功能。
(0)第一CPU单元11a的变量表、第二CPU单元11b的变量表、第一通信单元12a的通信缓冲表、第二通信单元12b的通信缓冲表的各自的准备处理功能与第二实施方式同样。
此外,用户操作通信设定工具30,作成在接收侧的通信单元中存储的通信设定信息,存储到相应的通信单元中。即,第一通信单元12a的通信设定信息针对本站变量名为“M_ST”作成、第二通信单元12b的通信设定信息针对本站变量名为“READY”、“STOP”的2个来作成。这里作成的通信设定信息是将本站使用的变量名、对方站使用的变量名、通信对方的节点地址、通信方向(IN)、发送接收数据时的周期、数据大小相关联的表。本实施方式中,通信设定信息设定在接收侧,因此通信方向一定为IN,从而可省略。
设定了通信设定信息的通信单元为源,未设定的通信单元为目标,这与第二实施方式同样。因此,本实施方式中,对于“M_ST”的通信设定信息,第一通信单元12a为源,第二通信单元12b为目标。对于“READY”、“STOP”的通信设定信息,第一通信单元12a为目标,第二通信单元12b为源。这样,按每个通信设定信息决定源与目标。
(1)向各单元中下载变量表、通信缓冲表时,各通信单元12a,12b可执行名字解决处理。例如,通信单元以复位为契机进行名字解决。虽然这是与第二实施方式相同的处理,但还是要具体说明。各通信单元12a,12b例如按复位的定时(电源复位、动作复位等)不用询问源/目标,而是根据通信缓冲表中存储的变量名向CPU单元询问与该变量名对应的数据存储在CPU单元的存储器的哪个地址(实际地址)。即,第一通信单元12a对第一CPU单元11a询问例如实际地址,以进行变量名为“Switch1”的名字解决处理。同样,第二通信单元12b对第二CPU单元11b询问成为存储目的地的存储器的实际地址,以进行变量名为“READY”的名字解决处理。
(2)第一CPU单元11a以接受询问的变量名为密钥访问变量表,取得该实际地址(DM100)的同时,作为针对询问的响应,将取得的实际地址返回到第一通信单元12a。第一通信单元12a同样询问对应“Switch2”、“M_ST”的实际地址,作为响应,从第一CPU单元11a取得对应的实际地址。图示的例子中,1个询问1个询问地进行,但也可统一进行询问。虽然图示省略了,但该实际地址返回时,还可返回数据大小(类型)。
同样,第二通信单元12b向第二CPU单元11b询问存储对应变量名“READY”、“STOP”、“STATUS”的数据的存储器的实际地址。并且,第二CPU单元11b以接受询问的变量名为密钥访问变量表,取得该实际地址、类型的同时,作为针对询问的响应,将取得的实际地址、类型返回到第二通信单元12b。图中,针对“READY”询问,第二CPU单元11b返回“DM200/1W”。
由于源侧具有通信设定信息,尤其是作为来自CPU单元的响应,不需要数据大小。因此,在名字解决询问时确认是否为具有通信设定信息的源侧,仅在不是源侧的情况下也要求数据大小,但处理变得复杂,因此不管是否为源侧,针对名字解决询问的响应有实际地址和类型(大小)。
执行该名字解决处理的定时不限定于根据上述的复位,可自由设定,只要至少存储通信缓冲表和变量表就可作成。
(3)各通信单元12a,12b存储进行了名字解决的信息。存储区域为临时内部表时,完成图11,12所示的临时内部表。通过临时内部表的完成结束名字解决处理。本实施方式中,设接收侧为源侧,因此设定了通信设定信息的数据的方向必定为“IN”。
目标侧的通信单元不具有通信设定信息,因此数据发送的方向(发送:OUT,接收:IN)的区别等直接看来不明确。但是,第二通信单元12b从通信缓冲表中存储的信息知晓与第一通信单元12a通信的数据的本站的变量名,因此通过向第二CPU单元11b询问变量名的实际地址可识别出该变量名与实际地址的对应。因此,第二通信单元12b对于通信缓冲表中存储的全部变量名,通过执行处理(1)、(2)可将通信缓冲表、变量名、实际地址、大小(根据类型决定)的栏中的数据相关联,将该相关联的数据存储在临时内部表中。此外,对于通信缓冲表中存在的变量名,不设定通信设定信息的情况下,该变量名可推定为发送侧的数据,因此“方向”视为OUT。由此,作成全部数据相关联的临时内部表。与第二实施方式同样,不具有通信设定信息的目标侧的通信单元作成通信方向为空栏的临时内部表。
(4)接着,说明连接ID的设定处理顺序。该顺序基本上与第二实施方式相同。图11,12所示的第三实施方式中,首先从节点地址小至#1的第一通信单元12a执行。即,如图11所示,第一通信单元12a对第二通信单元12b发出以“STATUS/1W/IN/5ms”为内容的通信确立要求。该通信确立要求中可包含本站的变量名。通信确立要求帧的首标中存储自身的节点地址和对方的节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
(5)接收该通信确立要求的目标(第二通信单元12b)检查要求内容。即,访问临时内部表,检查有无通信确立要求的变量名。并且,存在变量名的情况下,目标检查大小是否一致,一致时,在名字解决时进行的处理(3)中虚拟登录在临时内部表的“方向”栏中的情况下,将存储的“方向”确认为和与通信确立要求一起送来的“方向信息”(IN)相反的OUT,确定临时内部表的内容。处理(3)作成的临时内部表的“方向”栏空栏时,第二通信单元12b在空栏的临时内部表的与“STATUS”对应的“方向”栏中输入与接收的方向相反的“OUT”。
有无变量名的检查如上所述基于临时内部表进行,但本发明不限定于此,可基于通信缓冲表进行。此外,也可根据临时内部表和通信缓冲表二者两次检查有无变量名。
(6)此外,目标比较实际周期和要求周期,检查是否可对应。可对应的情况下,目标特定连接ID,在通信设定工具30的显示装置上监视显示“要求条件OK”的内容和“通信确立内容”。然后,目标对作为通信确立要求的发出源的源通知“要求条件OK”的内容和连接ID。此时,可同时发送实际周期。目标侧的实际周期存储在目标的系统存储器中,因此目标将其读出,与连接ID等一起通知。目标在要求的周期中不能对应时,按与第二实施方式同样的顺序进行对应。
连接ID由源的节点地址一目标的地址序列序号构成。序列序号按处理顺序附加。因此,例如最初发出上述的针对“STATUS”的通信确立要求时,作为目标的第二通信单元12b对于“STATUS”的数据设定“#1#2-001”的连接ID。
与连接ID一起从接收各通信确立要求的目标发出要求许可通知时,源和目标中作成图13所示的数据结构构成的连接表。该连接表通过每次附加1个连接ID逐一作成并更新。
通信确立要求接连接ID单位,即按每个变量名1个1个进行,但第一通信单元12a为源的数据是本站变量名为“M_ST”中的一个,因此对上述“STATUS”的连接ID设定结束后,在第一通信单元12a的通信设定信息中完成连接ID的设定处理。因此,如图12所示,次小序号的节点地址#2的第二通信单元12b发出通信确立要求。
(4)具体说,首先,第二通信单元12b发出对通信设定信息的前头存储的本站变量名“READY”的通信要求。即,如图12所示,第二通信单元12b对第一通信单元12a发出以“Switch1/1W/IN/5ms”为内容的通信确立要求。该通信确立要求中可包含本站的变量名。通信确立要求帧的首标中存储自身的节点地址和对方的节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
(5)接收该通信确立要求的目标(第一通信单元12a)检查要求内容。即,访问临时内部表,检查有无通信确立要求的变量名。并且,存在变量名的情况下,目标检查大小是否一致。一致时,在名字解决时进行的处理(3)中虚拟登录在临时内部表的“方向”栏中的情况下,将存储的“方向”确认为和与通信确立要求一起送来的“方向信息”(IN)相反的OUT,确定临时内部表的内容。处理(3)作成的临时内部表的“方向”栏空栏时,第一通信单元12a在空栏的临时内部表的与Switch1对应的“方向”栏中输入与接收的方向相反的“OUT”。
有无变量名的检查如上所述基于临时内部表进行,但本发明不限定于此,可基于通信缓冲表进行。此外,也可根据临时内部表和通信缓冲表二者两次检查有无变量名。
(6)此外,目标比较实际周期和要求周期,检查是否可对应。可对应的情况下,目标特定连接ID,在通信设定工具30的显示装置上监视显示“要求条件OK”的内容和“通信确立内容”。然后,目标对作为通信确立要求的发出源的源通知“要求条件OK”的内容和连接ID。此时,可同时发送实际周期。目标侧的实际周期存储在目标的系统存储器中,因此目标将其读出,与连接ID等一起通知。目标在要求的周期中不能对应时,按与第二实施方式同样的顺序进行对应。
连接ID由源的节点地址—目标的地址序列序号构成。序列序号按处理顺序附加。因此,例如最初发出上述的针对“Switch1”的通信确立要求时,作为目标的第一通信单元12a对于Switch1的数据设定“#2#1-001”的连接ID。
第二通信单元12b接着对第一通信单元12a发出以“Switch2/1W/IN/5ms”为内容的通信确立要求,以进行针对本站变量名“STOP”的连接ID的设定处理。根据该通信确立要求,通过执行上述(5),(6)的处理,第一通信单元12a设定对于Switch2的连接ID。
由此,与连接ID一起从接收各通信确立要求的目标发出要求许可通知时,在源和目标中最终作成图14所示数据结构构成的连接表。
本实施方式中,接收侧为源,因此作成通信确立要求的数据方向为“IN”,实际发送的内容中可省略“IN”。该情况下,目标侧的通信单元中,接收通信确立要求时,省略的方向为“IN”,目标侧的方向识别为“OUT”,进行处理。
对全部的源的通信设定信息进行了通信确立后,利用图14的连接表的连接ID在源侧的通信单元与目标侧的通信单元之间进行该数据的发送接收。
图15,16表示第三实施方式的变形例。上述第三实施方式在进行连接ID的设定处理之前预先在各单元之间事先进行各通信单元与CPU单元之间的名字解决处理。与此不同,该变形例中,目标侧的名字解决在进行连接ID设定的一连串的处理顺序中进行。
(0)第一CPU单元11a的变量表、第二CPU单元11b的变量表、第一通信单元12a的通信缓冲表、第二通信单元12b的通信缓冲表的各自的准备处理功能与上述第三实施方式同样。
接着,进行名字解决处理和连接ID的设定处理,但这些处理从节点地址小的通信单元开始顺序进行处理。因此,该实施方式中,针对第一通信单元为源来进行。因此,使用图15说明该处理。
(1)源侧的第一通信单元12a对于通信设定信息中存储的本站变量名(M_ST)向第一CPU单元11a要求名字解决。具体说,第一通信单元12a对第一CPU单元11a询问存储变量名为“M_ST”的数据的实际地址。成为源侧的通信单元的名字解决要求的执行可替代通信设定信息中存储的变量名,而根据通信缓冲表中存储的变量名执行。名字解决要求的单位可根据每个变量名1个1个进行,也可对多个变量名统一进行。
(2)第一CPU单元11a根据接收的名字解决要求,参照变量表返回对应的实际地址(DM150)。此时,第一CPU单元11a也兼返回类型(大小)。
(3)源侧的第一通信单元12a根据从第一CPU单元11a返回的信息和自身保持的通信设定信息作成临时内部表。即,作成与“M_ST”有关的临时内部表。通信设定信息中未记述通信缓冲表的表序号时,第一通信单元12a也参照通信缓冲表取得表序号,从而作成临时内部表。作成的临时内部表的数据结构与第三实施方式相同。
(4)接收来自通信设定工具30的通信确立命令,源侧的第一通信单元12a(#1)对于通信设定信息中存储的变量名,根据临时内部表向目标侧的第二通信单元12b(#2)发出通信确立要求。与通信确立要求一起发送的信息包含对方站变量名/大小/方向/周期。该通信确立要求中也包含本站的变量名。通信确立要求的帧的首标中存储自身节点地址和对方节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。该通信确立要求1个1个进行。图中,对应临时内部表中存储的本站变量名“M_ST”,发出内容为“STATUS/1W/IN/5ms”的通信确立要求。当然作为通信方向的“IN”也可省略。
(5)接收通信确立要求的第二通信单元12b对第二CPU单元11b要求针对接收的变量名的名字解决。图示例子中,第二通信单元12b要求询问变量名“STATUS”的实际地址。
(6)第二CPU单元11b对应名字解决要求,参照变量表取得对应变量名的实际地址和类型(大小)(DM250/1W),返回第二通信单元12b。
(7)第二通信单元12b根据从第二CPU单元11b取得的存储器地址和类型(大小)检查从第一通信单元12a接收的通信确立要求的内容。这里的处理与第二实施方式的变形例相同。具体检查项目有“具有要求的变量名吗”、“该变量的数据设定在通信缓冲器中吗”、“大小一致吗”、“比较实际周期和要求周期,可对应吗”等。第二通信单元12b具备全部条件的情况下,决定许可通信确立要求,要求周期以外的条件有1个不一致时,决定不许可通信确立要求。要求周期不能对应的情况下,用工具显示“要求周期中不能对应。实际周期可以是**sec吗”等的消息,敦促用户确认。用户输入接受“可以”的情况下,将按提示的实际周期进行通信作为条件来决定许可通信确立要求。
并且,要求内容正确、许可通信确立要求的情况下,第二通信单元12b作成关于该变量名(“STATUS”)的临时内部表。该临时内部表的数据结构与第三实施方式同样。这里,从接收的通信确立要求的内容、名字解决处理取得的变量名和实际地址的对应关系,针对成为当前处理对象的变量名一次作成。即,作成存储了与“STATUS”相关的全部信息的临时内部表。同时,第二通信单元12b在通信设定工具30上监视显示“要求条件OK”的内容和“通信确立内容”。
(8)许可通信确立要求的情况下,第二通信单元12b特定连接ID,将特定的连接ID和“确立要求许可通知”返回第一通信单元12a中。此时,第二通信单元12b也可配合实际周期进行发送。
通信确立要求接连接ID单位,即按每个变量名1个1个进行。并且第一通信单元12a为源的数据是本站变量名为“M_ST”中的一个,因此对上述“STATUS”的连接ID设定结束后,在第一通信单元12a的通信设定信息中完成连接ID的设定处理。因此,如图16所示,次小序号的节点地址#2的第二通信单元12b发出通信确立要求。
(1)首先,第二通信单元12b向第二CPU单元11b要求对通信设定信息的变量名进行名字解决。即,首先,询问变量名“READY”。当然,第二通信单元12b除“READY”外,还可统一要求对“STOP”的名字解决要求。
(2)第二CPU单元11b对应接收的名字解决要求,参照变量表返回对应的实际地址(关于“READY”,为DM200存储器地址)。此时,第二CPU单元11b也可兼返回类型(大小)。
(3)源侧的第二通信单元12b根据从第二CPU单元11b返回的信息和自身保持的通信设定信息作成关于“READY”和“STOP”的临时内部表。
(4)接收来自通信设定工具30的通信确立命令,源侧的第二通信单元12b(#2)对于通信设定信息中存储的变量名,根据临时内部表向目标侧的第一通信单元12a(#1)发出通信确立要求。与通信确立要求一起发送的信息包含对方站变量名/大小/方向/周期。该通信确立要求1个1个地进行。图中,发出以临时内部表中存储的对应本站变量名“READY”的“Switch1/1W/IN/5ms”为内容的通信确立要求。这里,省略“IN”。该通信确立要求中还包含本站的变量名。通信确立要求的帧的首标中存储自身节点地址和对方节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
(5)接收通信确立要求的第一通信单元12a对第一CPU单元11a要求关于接收的变量名的名字解决。图示例子中,第一通信单元12a要求询问变量名“Switch1”的实际地址。
(6)第一CPU单元11a对应名字解决要求,参照变量表取得对应变量名的存储器地址和类型(大小)(DM100/1W),返回第一通信单元12a。
(7)第一通信单元12a根据从第一CPU单元11a取得的存储器地址和类型(大小)检查从第二通信单元12b接收的通信确立要求的内容。该检查处理的具体内容与上述第二通信单元12b的同样,因此这里省略说明。
并且,要求内容正确、许可通信确立要求的情况下,作成临时内部表。该临时内部表的数据结构与第三实施方式同样。这里,从接收的通信确立要求的内容、名字解决处理取得的变量名和实际地址的对应关系、通信缓冲表的表序号针对成为当前连接ID设定的处理对象的变量名一次作成。即,首先作成存储了与“Switch1”相关的全部信息的临时内部表。同时,第二通信单元12b在通信设定工具30上监视显示“要求条件OK”的内容和“通信确立内容”。
(8)许可通信确立要求的情况下,第二通信单元12b特定连接ID,将特定的连接ID和“确立要求许可通知”返回第一通信单元12a中。此时,第二通信单元11b也可配合实际周期进行发送。
连接ID的设定处理按每1个数据进行,因此如果完成了对Switch1的连接ID的设定处理,接着对Switch2进行连接ID的设定处理。即,反复执行上述的(4)到(8)的处理。由此,也作成对Switch2的临时内部表。
并且,与第三实施方式同样,第一通信单元12a和第二通信单元12b都作成连接表。这里作成的最终的连接表与图14相同。并且,对于全部变量进行通信确立后,利用通信ID在通信单元间通信。
图17,18表示本发明的第四实施方式。该第四实施方式与第三实施方式相反,将发送侧设为源侧。因此,如图17所示,第一通信单元12a包括本站变量名为“Switch1”,“Switch2”的通信设定信息。此外,如图18所示,第二通信单元12b包括本站变量名为“STATUS”的通信设定信息。
下面说明连接的CPU单元和通信单元间进行的名字解决和通信单元间实际发送接收数据时利用的连接ID的决定的处理顺序,并说明各单元的功能。
(0)第一CPU单元11a的变量表、第二CPU单元11b的变量表、第一通信单元12a的通信缓冲表、第二通信单元12b的通信缓冲表的各自的准备处理功能与上述第二第三实施方式同样。
此外,用户操作通信设定工具30,作成在发送侧的通信单元中存储的通信设定信息,存储到相应的通信单元中。即,第一通信单元11a的通信设定信息针对本站变量名为“Switch1”,“Switch2”的2个作成、第二通信单元12b的通信设定信息针对本站变量名为“STATUS”作成。这里作成的通信设定信息是将本站使用的变量名、对方站使用的变量名、通信对方的节点地址、通信方向(OUT)、发送接收数据时的周期、数据大小相关联的表。本实施方式中,通信设定信息设定在接收侧,因此通信方向一定为OUT,从而可省略。
本实施方式中,对于“Switch1”,“Switch2”的通信设定信息,第一通信单元12a为源,第二通信单元12b为目标。对于“STATUS”的通信设定信息,第二通信单元12b为源,第一通信单元12a为目标。这样,按每个通信设定信息决定源与目标。
(1)和(2)向各单元中下载变量表、通信缓冲表后,各通信单元12a,12b的名字解决处理与第二、第三实施方式同样。即源侧的通信单元12a和目标侧的通信单元12b都根据其保持的通信缓冲表的变量名对同一可编程控制器内的CPU单元发出名字解决要求,取得对应的实际地址和大小。
(3)的处理也和第二、第三实施方式大致相同。但是,本实施方式中,接收侧为源侧,因此设定了通信设定信息的数据的方向必定为“OUT”。对于通信缓冲表中存在的变量名,未设定通信设定信息时,该变量名推定为发送侧的数据,“方向”视为IN。通过该(3)的处理,作成全部数据相关联的临时内部表。与第二实施方式同样,不具有通信设定信息的目标侧的通信单元作成通信方向为空栏的临时内部表。
(4)的处理和第二、第三实施方式大致相同。该第四实施方式中,首先从节点地址小至#1的第一通信单元12a执行。即,如图17所示,第一通信单元12a对第二通信单元12b发出以“READY/1W/OUT/5ms”为内容的通信确立要求。该通信确立要求中也可包含本站的变量名。通信确立要求帧的首标中存储自身的节点地址和对方的节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
(5)的处理和第二、第三实施方式大致相同。即,接收该通信确立要求的目标(第二通信单元12b)检查要求内容。即,访问临时内部表,检查有无通信确立要求的变量名。并且,存在变量名的情况下,目标检查大小是否一致。一致时,在名字解决时进行的处理(3)中虚拟登录在临时内部表的“方向”栏中的情况下,将存储的“方向”确认为和与通信确立要求一起送来的“方向信息”(OUT)相反的IN,确定临时内部表的内容。处理(3)作成的临时内部表的“方向”栏为空栏时,第二通信单元12b在为空栏的临时内部表的与“READY”、“STOP”对应的“方向”栏中输入与接收的方向相反的“IN”。
与第二、第三实施方式同样,有无变量名的检查如上所述可基于临时内部表进行,但本发明不限定于此,也可基于通信缓冲表进行。此外,也可根据临时内部表和通信缓冲表二者两次检查有无变量名。
(6)此外,目标比较实际周期和要求周期,检查是否对应。该处理与第二、第三实施方式大致相同。但是,例如最初发出上述的针对“READY”的通信确立要求时,作为目标的第二通信单元12b对于“READY”的数据设定“#1#2-001”的连接ID。
第一通信单元12b接着对第二通信单元12a发出以“STOP/1W/OUT/5ms”为内容的通信确立要求,以进行针对本站变量名“Switch2”的连接ID的设定处理。根据该通信确立要求,通过执行上述(5),(6)的处理,第二通信单元12b设定对于“STOP”的连接ID(#1#2-002)。
与连接ID一起从接收各通信确立要求的目标发出要求许可通知时,在源和目标中最终作成图19所示数据结构构成的连接表。该连接表通过每次附加1个连接ID逐一作成并更新。图19表示完成的状态,在基于第一通信单元12a的连接ID的设定处理中,作到连接表的第二个。
对第一通信单元12a的通信设定信息中存储的全部变量名完成了连接ID的设定处理后,如图18所示,次小序号的节点地址#2的第二通信单元12b发出通信确立要求。
(4)具体的,第二通信单元12b发出对通信设定信息中存储的本站变量名“STATUS”的通信要求。即,如图18所示,第二通信单元12b对第一通信单元12a发出以“M_ST/1W/OUT/5ms”为内容的通信确立要求。这里,OUT的记述也可省略。
(5)接收通信确立要求的目标(第一通信单元12a)检查要求内容。即,访问临时内部表,检查有无通信确立要求的变量名。并且,存在变量名的情况下,目标检查大小是否一致。一致时,在名字解决时进行的处理(3)中虚拟登录在临时内部表的“方向”栏中的情况下,将存储的“方向”确认为和与通信确立要求一起送来的“方向信息”(OUT)相反的IN,确定临时内部表的内容。处理(3)作成的临时内部表的“方向”栏为空栏时,第一通信单元12a在空栏的临时内部表的与“M_TS”对应的“方向”栏中输入与接收的方向相反的“IN”。
有无变量名的检查如上所述基于临时内部表进行也可以,但本发明不限定于此,也可基于通信缓冲表进行。此外,也可根据临时内部表和通信缓冲表二者两次检查有无变量名。
(6)此外,目标比较实际周期和要求周期,检查是否对应。该处理按与第二、第三实施方式同样的顺序对应。该实施方式中,最初发出对例如上述M_ST的通信确立要求时,作为目标的第一通信单元12a对“M_ST”的数据设定“#2#1-001”的连接ID。
由此,与连接ID一起从接收各通信确立要求的目标发出要求许可通知时,源和目标中最终作成图139所示的数据结构构成的连接表。并且,对全部变量进行通信确立后,利用连接ID在通信单元间通信。
本实施方式中,发送侧为源,作成通信确立要求的数据方向为“OUT,因此实际发送的内容中可省略“OUT”。此时,目标侧的通信单元中,接收通信确立要求时,省略的方向为“IN”,目标侧的方向确认为“IN”,来进行处理。
图20,21表示第四实施方式的变形例。上述第四实施方式在进行连接ID的设定处理之前预先在各单元之间事先进行各通信单元与CPU单元之间的名字解决处理。与此不同,该变形例中,目标侧的名字解决在进行连接ID设定的一连串的处理顺序中进行。
(0)第一CPU单元11a的变量表、第二CPU单元11b的变量表、第一通信单元12a的通信缓冲表、第二通信单元12b的通信缓冲表的各自的准备处理功能与上述第三、第四实施方式同样。
接着,进行名字解决处理和连接ID的设定处理,但这些处理从节点地址小的通信单元开始顺序进行处理。因此,上述各处理对于第一通信单元为源的情况进行。用图20说明所述处理。
(1)第一通信单元12a对于通信设定信息的变量名向第一CPU单元11a要求名字解决。即,首先询问变量名“Switch1”。成为源侧的通信单元的名字解决要求的执行可替代基于通信设定信息中存储的变量名,而可根据通信缓冲表中存储的变量名执行。源侧的通信单元的名字解决要求的单位可对每个变量名1个1个进行,也可对多个变量名“Switch1”、“Switch2”统一进行名字解决请求。
(2)第一CPU单元11a对应接收的名字解决要求,参照变量表返回对应的实际地址(DM100)和类型(大小)。第一CPU单元11a可不返回类型(大小)。
(3)源侧的第一通信单元12a根据从第一CPU单元11a返回的信息和自身保持的通信设定信息作成临时内部表。即,作成与“Switch1”、“Switch2”有关的临时内部表。通信设定信息中未记述通信缓冲表的表序号时,第一通信单元12a也参照通信缓冲表取得表序号,从而作成临时内部表。作成的临时内部表的数据结构与第四实施方式相同。
(4)接收来自通信设定工具30的通信确立命令,源侧的第一通信单元12a(#1)对于通信设定信息中存储的变量名,根据临时内部表向目标侧的第二通信单元12b(#2)发出通信确立要求。与通信确立要求一起发送的信息包含对方站变量名/大小/方向/周期。该通信确立要求1个1个进行。图中,对应临时内部表中存储的本站变量名“Switch1”,发出内容为“READY/1W/OUT/5ms”的通信确立要求。当然作为通信方向的“OUT”可省略。该通信确立要求中也可包含本站的变量名。通信确立要求的帧的首标中存储自身节点地址和对方节点地址,因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
(5)接收通信确立要求的第二通信单元12b对第二CPU单元11b要求关于接收的变量名的名字解决。图示例子中,第二通信单元12b要求询问变量名“READY”的实际地址。
(6)第二CPU单元11b对应名字解决要求,参照变量表取得对应变量名的存储器地址和类型(大小)(DM2500/1W),返回第二通信单元12b。
(7)第二通信单元12b根据从第二CPU单元11b取得的存储器地址和类型(大小)检查从第一通信单元12a接收的通信确立要求的内容。这里的处理与第二实施方式的变形例、第三实施方式的变形例相同,省略说明。并且,要求内容正确、许可通信确立要求的情况下,第二通信单元12b作成关于该变量名(“READY”)的临时内部表。该临时内部表的数据结构与第四实施方式同样。这里,从接收的通信确立要求的内容、名字解决处理取得的变量名和实际地址的对应关系,针对成为当前处理对象的变量名一次作成。即,作成存储了与“READY”相关的全部信息的临时内部表。同时,第二通信单元12b在通信设定工具30上监视显示“要求条件OK”的内容和“通信确立内容”。
(8)许可通信确立要求的情况下,第二通信单元12b特定连接ID,将特定的连接ID和“确立要求许可通知”返回第一通信单元12a中。此时,第二通信单元12b也可配合实际周期进行发送。
通信确立要求按作为连接ID单位的每个变量名1个1个进行。因此对“READY”的连接ID设定处理结束后,接着进行对“STOP”的连接ID的设定处理。即反复执行上述(4)到(8)的处理。由此,也作成关于“STOP”的临时内部表,设定连接ID。随之而来的是作成连接表。
第一通信单元12a位源的数据由于自身变量名为Switch1和Switch2的2个,结束对上述2个变量名的连接ID的设定后,在第一通信单元12a的通信设定信息中完成连接ID的设定处理。因此,如图21所示,次小序号的节点地址#2的第二通信单元12b发出通信确立要求。
(1)第二通信单元12b向第二CPU单元11b要求对通信设定信息的变量名进行名字解决。即,询问变量名“STATUS”。
(2)第二CPU单元11b对应接收的名字解决要求,参照变量表返回对应的实际地址(DM250)。此时,第二CPU单元11b也可兼返回类型(大小)。
(3)源侧的第二通信单元12b根据从第二CPU单元11b返回的信息和自身保持的通信设定信息对“STATUS”的追加作成临时内部表。关于“READY”和“STOP”的临时内部表,在执行基于使用图20说明的来自第一通信单元的通信确立要求的处理中已经作成。由此,对第二通信单元12b处理的全部变量作成临时内部表。
(4)接收来自通信设定工具30的通信确立命令,源侧的第二通信单元12b(#2)对于通信设定信息中存储的变量名,根据临时内部表向目标侧的第一通信单元12a(#1)发出通信确立要求。与通信确立要求一起发送的信息包含对方站变量名/大小/方向/周期。该通信确立要求1个1个地进行。图中,发出以临时内部表中存储的对应本站变量名“STATUS”的“M_ST/1W/OUT/5ms”为内容的通信确立要求。这里,也可省略“OUT”。该通信确立要求中也可包含本站的变量名。通信确立要求的帧的首标中存储自身节点地址和对方节点地址。
(5)接收通信确立要求的第一通信单元12a对第一CPU单元11a要求关于接收的变量名的名字解决。图示例子中,第一通信单元12a要求询问变量名“M_ST”的实际地址。
(6)第一CPU单元11a对应名字解决要求,参照变量表取得对应变量名的存储器地址和类型(大小)(DM150/1W),返回第一通信单元12a。
(7)第一通信单元12a根据从第一CPU单元11a取得的存储器地址和类型(大小)检查从第二通信单元12b接收的通信确立要求的内容。该检查处理的具体内容与上述第二通信单元12b的同样,因此这里省略说明。
并且,要求内容正确、许可通信确立要求的情况下,作成临时内部表。该临时内部表的数据结构与第四实施方式同样。这里,从接收的通信确立要求的内容、名字解决处理取得的变量名和实际地址的对应关系、通信缓冲表的表序号针对成为当前连接ID设定的处理对象的变量名一次作成。即,首先作成存储了与“M_ST”有关的全部信息的临时内部表。同时,第二通信单元12b在通信设定工具30上监视显示“要求条件OK”的内容和“通信确立内容”。
(8)许可通信确立要求的情况下,第一通信单元12a特定连接ID,将特定的连接ID和“确立要求许可通知”返回第二通信单元12b中。此时,第一通信单元11a也可配合实际周期进行发送。
并且,与第四实施方式同样,第一通信单元12a和第二通信单元12b都作成连接表。这里作成的最终的连接表与图19相同。并且,对于全部变量进行通信确立后,利用通信ID在通信单元间通信。
以上在第2~4实施方式中还说明了第2~4实施方式的变形例,但任何实施方式中最好是如下所示。
首先,在源发出的通信要求中包含本站节点地址(源侧节点地址)、本站的变量名(源侧的变量名)、对方站节点地址(目标侧节点地址)、对方站变量名(目标侧变量名)、数据大小(通信对象数据的大小)、方向(发送还是接收)以及周期。
另一方面,目标对源送出的要求许可通知中除许可通知(OK/NG)、连接ID、本站节点地址(目标侧节点地址)、对方站节点地址(目标侧节点地址)、周期外,还包括本站的变量名(目标侧的变量名)、对方站变量名(目标侧的变量名)、数据大小(通信对象数据的大小)、方向(发送还是接收)。其中,本站的变量名(目标侧的变量名)和对方站变量名(目标侧的变量名)原本存储源为2个的关系,因此,可省略一个。数据大小(通信对象数据的大小)也是源存储的信息,因此可省略。
并且,如果源从目标接收通信许可,则通信设定信息中的周期重写到通信许可的周期上来存储。这样一来,用户通过确认源的通信设定信息可作为源把握相关通信内容。这里的通信设定信息中全部的信息也可作为表保持。
最好目标将通过来自源的通信要求、目标的通信确立处理取得的信息汇总来存储。例如,新准备可存储通信设定信息的存储区域,在那里另外存储包含连接ID、本站节点地址(目标侧节点地址)、本站变量名(目标侧变量名)、对方站节点地址(源侧节点地址)、对方站变量名(源侧变量名)、数据大小(通信对象数据的大小)、方向(是发送还是接收)、周期(通信许可的周期)的信息。这样,用户可通过确认该存储信息获知作为目标的相关的通信设定内容,根据变量名获知通信内容。
像第三、第四实施方式和其变形例那样,1个通信单元采用源侧立场和目标立场双方。此时,1个通信单元作为源具有通信确立后的通信设定信息、并且作为目标具有通信确立后的通信设定信息,因此用户通过存储这些,可根据变量名知晓通信内容。
图22表示本发明的第五实施方式。上述各实施方式中连接ID对1个变量名设定为1个。本实施方式中与此不同,将多个变量名分组化,可同时发送接收多个数据。分组化的数据由通信对方共有,周期相同,通信方向相同。通信确立要求从源侧进行,因此根据上述分组化条件,目标共有、周期相同的OUT数据“彼此可被分组化。目标共有、周期相同的“IN数据”彼此可被分组化。
例如,第二实施方式的情况下,“Switch1”和“Switch2”是目标为#2的第二通信单元12b中相同、周期也按5ms一致的“OUT”数据,因此可进行分组化。M_ST没有满足分组化条件的其他数据,因此,单独设定连接ID,进行通信。下面,说明作为本实施方式的特征的分组化发送数据的名字解决处理和连接ID的设定处理。
(0)用户操作通信设定工具30,作成管理分组化数据的组件表,存储到各通信单元中。组件表与第二实施方式的通信缓冲表同样,为将组件名、缓冲区域、对应变量相关联的表结构。对应变量栏中存储分组化的变量名。缓冲区域是存储对应变量名的数据的区域,由该缓冲区域的大小决定可分组化的数据数量。
用户操作通信设定工具30,作成在作为源的第一通信单元12a中存储的通信设定信息并进行存储。通信设定信息是将本站组件名、特定对方站的节点地址、对方站组件名、数据大小、方向、周期相关联的表结构。数据大小是分组化的各数据的数据大小总和。
当然,用户操作通信设定工具30,作成各变量表,存储在对应CPU单元中,也作成对于未分组化的数据的通信缓冲表和通信设定信息,存储在对应的通信单元中。
(1)通信单元为变量名、实际地址对应的名字解决处理按每个变量名进行,与第二实施方式等同样地进行。即,通信单元取得组件表中存储的变量名,向连接的CPU单元询问取得的变量名的实际地址。该询问时的变量名数是任意的,可1个1个地询问,也可统一询问。
(2)各CPU单元接收询问时,参照变量表返回针对变量名的实际地址和类型(大小)。这些(1),(2)的处理按适当的定时在通信单元和CPU单元之间执行。
(3)源侧的第一通信单元12a存储进行了名字解决的信息。存储区域可使用例如临时内部表。包括通信设定信息的源侧,通信设定信息中特定到“方向”,因此如图22所示,完成临时内部表。临时内部表是将特定组件表的缓冲区域的信息(图中为Bf1)、本站组件名、整个组的数据大小、分组化的变量名、实际地址和方向相关联的表。从图可知,按组单位作成一连串的表。
(3)’目标侧的第二通信单元12b存储进行了名字解决的信息。存储区域可使用例如临时内部表。不具有通信设定信息的目标侧,由于不特定方向,执行该处理作成的临时内部表方向为空栏。
(4)接着,说明连接ID的设定处理顺序。从节点序号小的源顺序向目标要求通信确立。该通信确立要求根据输出来自工具30的通信确立命令,由各通信单元对顺序成为处理对象数据的通信对方的通信单元发出通信确立要求。
该通信确立要求对于分组化的数据按组件单位进行。即通信确立要求将对方站组件名、数据大小、方向以及周期信息送到对方节点。当然,发送帧的首标中,作为发送源信息,存储自身的节点地址(#1),因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
因此图22所示的第五实施方式中,节点地址小至#1的第一通信单元12a首先执行。即,第一通信单元12a对第二通信单元12b发出以“T_Asy1/2W/OUT/5ms”为内容的通信确立要求。当然对于未分组化的数据,与第二实施方式同样,按每个变量名发出通信确立要求。
(5)接收该通信确立要求的目标(第二通信单元12b)检查要求内容。即,访问临时内部表,检查有无通信确立要求的组件名。并且,不存在组件名的情况下,目标检查大小是否一致。一致时,第二通信单元12b在成为了空栏的临时内部表的对应“READY”、“STOP”的“方向”栏中输入与接收方向相反的“IN”。
有无组件名的检查如上所述基于临时内部表进行也可以,但本发明不限定于此,也可基于组件表进行。此外,也可根据临时内部表和组件表二者两次检查有无组件名。
(6)此外,目标比较实际周期和要求周期,检查是否对应。可对应的情况下,目标特定连接ID,在通信设定工具30的显示装置上监视显示“要求条件OK”的内容和“通信确立内容”。然后,目标对作为通信确立要求的发出源的源通知“要求条件OK”的内容和连接ID。此时,可同时发送实际周期。目标侧的实际周期存储在目标的系统存储器中,因此目标将其读出,与连接ID等一起通知。目标在要求的周期中不能对应时,按与第二实施方式同样的顺序进行对应。
连接ID由源的节点地址-目标地址—序列序号构成。序列序号按处理顺序附加。因此,例如上述的关于T_Asy1的通信确立要求最初发出时,作为目标的第二通信单元12b对于T_Asy1的数据设定“#1#2-001”的连接ID。
与连接ID一起从接收通信确立要求的目标发出要求许可通知时,源和目标中作成图23(a)所示数据结构构成的连接表。该连接表通过每次附加1个连接ID逐一作成并更新。
本实施方式中,对于未分组化的数据,根据上述第二实施方式说明的方式按变量名单位设定连接ID。该设定的连接ID由连接表管理,但可以与使用图23(a)所示的分组化的组件名的连接表另外地作成。对于未分组化的1个变量名的信息登录在组件表中,从而如图23(b)所示,可用同一连接表进行一维管理。此时,Bf2例如仅存储M_ST的数据。
如果对所有的数据设定了连接ID,则在第一通信单元12a和第二通信单元12b之间,用连接ID进行数据的发送接收。因此,对于分组化了的,统一发送数据。
图24表示第五实施方式的变形例。上述第五实施方式在进行连接ID的设定处理之前预先在各单元之间事先进行各通信单元与CPU单元之间的名字解决处理。与此不同,该变形例中,目标侧的名字解决在进行连接ID设定的一连串的处理顺序中进行。
(0)即,用户操作通信设定工具30来作成第一CPU单元11a用的变量表、第二CPU单元11b用的变量表、第一通信单元用的组件表、第二通信单元用的组件表,将各个表下载到对应的单元中。另外,用户操作通信设定工具30来作成通信设定信息,存储到第一通信单元12a中。各表和通信设定信息的内容与第五实施方式同样。
(1)接着,源侧的第一通信单元12a对于通信设定信息中存储的本站变量名向第一CPU单元11a要求名字解决。该名字解决要求是询问存储对应本站变量名的数据的第一CPU单元11a的存储器的实际地址。这里,将Switch1和Switch2分组化,但名字解决的询问可1个1个顺序进行,也可统一进行。源侧的通信单元的名字解决要求的执行,替代如上所述根据通信设定信息中存储的变量名来执行,而是可根据组件表中存储的变量名执行。
(2)第一CPU单元11a对应接收的名字解决要求,参照变量表返回对应的实际地址(存储器地址)。此时,第一CPU单元11a也兼返回类型。
(3)源侧的第一通信单元12a根据从第一CPU单元11a返回的信息(实际地址、类型)和自身保持的通信设定信息作成临时内部表。作成的临时内部表的数据结构与第五实施方式相同,按组单位作成。
(4)接收来自通信设定工具30的通信确立命令,源侧的第一通信单元12a(#1)对于通信设定信息中存储的组件名,根据临时内部表向目标侧的第二通信单元12b(#2)发出通信确立要求。与通信确立要求一起发送的信息包含对方站组件名/大小/方向/周期。因此,具体说,第一通信单元12a对第二通信单元12b发出以“T_Asy1/2W/OUT/5ms”为内容的通信确立要求。该通信确立要求中也包含本站的变量名。通信确立要求的帧的首标中存储自身节点地址和对方节点地址。
(5)接收通信确立要求的第二通信单元12b对第二CPU单元11b要求关于接收的变量名的名字解决。此时,通信确立要求的内容按组单位,因此组件名特定的变量名为多个。那么,参照组件表,取得对应的变量名,对取得的变量名的每一个对第二CPU单元11b要求名字解决。图示例子中,第二通信单元12b要求询问关于第一变量名“READY”的实际地址。当然,可统一对组件中的全部的变量名要求名字解决。
(6)第二CPU单元11b对应名字解决要求,参照变量表取得对应变量名的实际地址和类型(大小),返回第二通信单元12b。图中,第二CPU单元11b对询问的“READY”返回“DM200/1W(1码字的含义)”。1个1个地进行名字解决要求时,反复执行规定次的(5),(6),对属于组件名的全部变量名进行名字解决。
(7)第二通信单元12b根据从第二CPU单元11b取得的存储器地址和类型(大小)检查从第一通信单元12a接收的通信确立要求的内容。具体检查项目与第五实施方式相同,因此这里省略了。
并且,要求内容正确、许可通信确立要求的情况下,第二通信单元12b作成临时内部表。该临时内部表的数据结构与第五实施方式同样。这里,从接收的通信确立要求的内容、名字解决处理取得的变量名和实际地址的对应关系,针对成为当前连接ID设定的处理对象的组件名一次作成。同时,第二通信单元12b在通信设定工具30上监视显示“要求条件OK”的内容和“通信确立内容”。
(8)许可通信确立要求的情况下,第二通信单元12b特定连接ID,将特定的连接ID和“确立要求许可通知”返回第一通信单元12a中。此时,第二通信单元12b也可配合实际周期进行发送。
下面与第五实施方式同样,第一通信单元12a和第二通信单元12b都作成连接表。此外,组件名存在多个的情况下,按各个组件变量名反复执行上述的(4)到(8)的处理,对全部的组件名进行确立要求,设定连接ID。通信确立后,利用连接ID在通信单元间发送与第五实施方式相同,省略说明。
图25表示本发明的第六实施方式。本实施方式与第三实施方式相同,以将接收侧设为源为前提,与第五实施方式同样适用于分组化。分组化的条件与第五实施方式相同。但是,由于将接收侧设为源,实际上目标共有、周期相同的“IN数据”彼此被分组化。下面,说明作为本实施方式的特征的分组化发送数据的名字解决处理和连接ID的设定处理。
(0)用户操作通信设定工具30,作成管理分组化数据的组件表,存储到各通信单元中。组件表为与第五实施方式同样的数据结构。但是,与第五实施方式相比,源和目标的关系相反,因此组件名不同。即,第五实施方式和第六实施方式中,为容易理解源和目标的组件名的对应,目标的组件名在源的组件名之前加上“T_”来使用。因此,第二通信单元12b的组件表中存储的组件名是在“Asy”后加上适当序号的名称,第一通信单元12a的组件表中存储的组件名是从“T_”开始的。
用户操作通信设定工具30,作成在作为源的第二通信单元12b中存储的通信设定信息并存储在第二通信单元12b中。通信设定信息是将本站组件名、特定对方站的节点地址、对方站组件名、数据大小、方向、周期相关联的表结构。数据大小是分组化的各数据的数据大小总和。该第六实施方式中,由于接收侧为源,通信设定信息的方向必定为“IN”。因此,与第三实施方式同样,通信设定信息的方向栏可省略。
当然,用户操作通信设定工具30,作成各变量表,存储在对应CPU单元中,也作成对于未分组化的数据的通信缓冲表和通信设定信息,存储在对应的通信单元中。
(1)通信单元为变量名、实际地址对应的名字解决处理在连接ID的设定处理之前执行。即与第五实施方式同样,通信单元取得组件表中存储的变量名,向连接的CPU单元询问取得的变量名的实际地址。该询问时的变量名数是任意的,可1个1个地询问,也可统一询问。
(2)各CPU单元接收询问时,参照变量表返回针对变量名的实际地址和类型(大小)。这些(1),(2)的处理按适当的定时在通信单元和CPU单元之间执行。
(3)源侧的第二通信单元12a存储进行了名字解决的信息。存储区域可使用例如临时内部表。包括通信设定信息的源侧,通信设定信息中特定到“方向”,因此如图25所示,完成临时内部表。临时内部表是将特定组件表的缓冲区域的信息(图中为Bf11)、本站组件名、整个组的数据大小、分组化的变量名、实际地址和方向相关联的表。从图可知,按组单位作成一连串的表。
(3)’目标侧的第一通信单元12a存储进行了名字解决的信息。存储区域可使用例如临时内部表。不具有通信设定信息的目标侧,由于不能直接特定方向,执行该处理作成的临时内部表方向为空栏。由于目标侧为发送侧,方向为“OUT”。因此,第一通信单元12a在作成临时内部表时在“方向”栏中存储“OUT”。
(4)接着,说明连接ID的设定处理顺序。从节点序号小的源顺序向目标要求通信确立。该通信确立要求根据输出来自工具30的通信确立命令,由各通信单元对顺序成为处理对象数据的通信对方的通信单元发出通信确立要求。该通信确立要求对于分组化的数据按组件单位进行。即通信确立要求将对方站组件名、数据大小、方向以及周期信息送到对方节点。当然,发送帧的首标中,作为发送源信息,存储自身的节点地址(#1),因此接收的通信单元知晓是从哪个节点地址的通信单元送来的通信确立要求。
图25的例子中,包括通信设定信息的通信单元的最小节点序号为#2,因此第二通信单元12b执行通信确立要求。即,第二通信单元12b对第一通信单元12a发出以“T_Asy11/2W/IN/5ms”为内容的通信确立要求。当然对于未分组化的数据,与第三实施方式同样,按每个变量名发出通信确立要求。
(5)接收该通信确立要求的目标(第一通信单元12a)检查要求内容。即,访问临时内部表,检查有无通信确立要求的组件名。并且,存在组件名的情况下,目标检查大小是否一致。一致时,第一通信单元12a在成为了空栏的临时内部表的对应“Switch1”、“Switch2”的“方向”栏中输入与接收方向相反的“OUT”。(3)’的处理时,作成“方向”栏中存储“OUT”的虚拟的临时内部表时,确认对应栏为“OUT”,确定内容。
有无组件名的检查如上所述基于临时内部表进行,但本发明不限定于此,也可基于组件表进行。此外,也可根据临时内部表和组件表二者两次检查有无组件名。
(6)此外,目标比较实际周期和要求周期,检查是否可能对应。可对应的情况下,目标特定连接ID,在通信设定工具30的显示装置上监视显示“要求条件OK”的内容和“通信确立内容”。然后,目标对作为通信确立要求的发出源的源通知“要求条件OK”的内容和连接ID。此时,可同时发送实际周期。目标侧的实际周期存储在目标的系统存储器中,因此目标将其读出,与连接ID等一起通知。目标在要求的周期中不能对应时,按与第二实施方式同样的顺序进行对应。
连接ID由源的节点地址-目标地址-序列序号构成。序列序号按处理顺序附加。因此,例如上述的关于“T_Asy11”的通信确立要求最初发出时,作为目标的第一通信单元12b对于T_Asy11的数据设定“#2#1-001”的连接ID。
组件表中登录的组件名为多个的情况下,按上述每个组件名反复执行(4)到(6)的处理,对全部的组件名设定连接ID。
与连接ID一起从接收通信确立要求的目标发出要求许可通知时,源和目标中作成图26所示数据结构构成的连接表。该连接表通过每次附加1个连接ID逐一作成并更新。
如果对于全部数据设定连接ID,则利用连接ID在第一通信单元12a和第二通信单元12b间进行数据发送接收。因此对于分组化的数据可统一发送数据。
具体的图示省略了,但该第六实施方式中,与第五实施方式的变形例同样,目标侧的名字解决可在进行连接ID的设定处理的中途进行。像第四实施方式和其变形例那样,将发送侧设为源的情况下,也适用上述分组化技术。
此外,图22,24,25中,组件表将组件名、缓冲区域、对应变量相关联来作为一部分,但可分为2个表来管理,如使其为将组件名与缓冲区域对应的表和将组件名和对应变量相对应的表。这样,分割为2个表管理当然是针对第二到第四实施方式以及其变形例所示出的通信缓冲表而言的。
以上说明了第五、第六实施方式及其变形例,但任一实施方式最好如下所示。
首先,在源发出的通信要求中包含本站节点地址(源侧节点地址)、本站的变量名(源侧的变量名)、对方站节点地址(目标侧节点地址)、对方站变量名(目标侧变量名)、数据大小(通信对象数据的大小)、方向(发送还是接收)以及周期。
另一方面,目标对源送出的要求许可通知中除许可通知(OK/NG)、连接ID、本站节点地址(目标侧节点地址)、对方站节点地址(目标侧节点地址)、周期外,还包括本站的组件名(目标侧的组件名)、对方站组件名(目标侧的组件名)、数据大小(通信对象数据的大小)、方向(发送还是接收)。其中,本站的组件名(目标侧的组件名)和对方站组件名(目标侧的组件名)原本存储源为2个的关系,因此,可省略一个。数据大小(通信对象数据的大小)也是源存储的信息,因此可省略。
并且,如果源从目标接收通信许可,则通信设定信息中的周期重写到通信许可的周期上来存储。这样一来,用户通过确认源的通信设定信息可作为源把握相关通信内容。这里的通信设定信息中全部的信息可作为表保持。
最好目标将通过来自源的通信要求、目标的通信确立处理取得的信息汇总来存储。例如,新准备可存储通信设定信息的存储区域,在那里另外可存储包含连接ID、本站节点地址(目标侧节点地址)、本站组件名(目标侧组件名)、对方站节点地址(源侧节点地址)、对方站组件名(源侧组件名)、数据大小(通信对象数据的大小)、方向(是发送还是接收)、周期(通信许可的周期)的信息。这样,用户可通过确认该存储信息获知作为目标的相关的通信设定内容,根据变量名获知通信内容。
像第五、第六实施方式和其变形例那样,1个通信单元采用源侧立场和目标立场双方。此时,1个通信单元作为源具有通信确立后的通信设定信息、并且作为目标具有通信确立后的通信设定信息,因此用户通过存储这些,可根据组件名知晓通信内容。

Claims (30)

1.一种可编程控制器,包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,其特征在于:
上述控制器具有存储部件,存储将变量名与特定存储与该变量名对应的数据的区域的实际地址相关联的变量表,
上述通信单元具有通信设定信息存储部件,存储特定与上述其他通信单元之间设为通信对象的变量名的通信设定信息,
上述通信单元包括变量解决部件,按规定定时通过询问上述控制器取得上述通信设定信息存储部件中存储的与变量名对应的实际地址,存储保持将该变量名和实际地址相关联的表。
2.根据权利要求1所述的可编程控制器,其特征在于:
上述通信设定信息是将设为上述通信对象的上述变量名、接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,
上述通信单元包括:
向发送源地址的通信单元要求特定通信时的数据的识别信息的部件;和
将对应该要求从发送源地址的通信单元送来的识别信息和上述实际地址进行相关联地存储、在通信时可将与上述识别信息一起送来的数据提供给上述控制器的部件。
3.根据权利要求1所述的可编程控制器,其特征在于:
上述通信设定信息是将设为上述通信对象的上述变量名和发送属性相关联的信息,
上述通信单元包括:
从通信对方的通信单元接收用于特定与通信对方的通信单元之间通信的数据的识别信息取得要求时,返回该数据的识别信息的部件;和
在附加上述识别信息的状态下发送成为通信对象的数据的部件。
4.一种通信单元,经系统总线连接包括变量表的控制器,该变量表将变量名与存储与该变量名对应的数据的实际地址相关联,其特征在于包括:
在该通信单元内,存储特定设为通信对象的变量名的通信设定信息的通信设定信息存储部件;和
按规定定时通过询问上述控制器取得上述通信设定信息存储部件中存储的与变量名对应的实际地址,存储保持将取得的实际地址与上述变量名相关联的表的变量解决部件。
5.根据权利要求4所述的通信单元,其特征在于:
上述通信设定信息是将设为上述通信对象的上述变量名、接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,
包括:
向发送源地址的通信单元要求取得特定通信时的数据的识别信息的部件;和
将对应该要求从发送源地址的通信单元送来的识别信息和上述实际地址进行相关联地存储、在通信时可将与上述识别信息一起送来的数据提供给上述控制器的部件。
6.根据权利要求4所述的通信单元,其特征在于:
上述通信设定信息是将设为上述通信对象的上述变量名和发送属性相关联的信息,
包括:
接收用于从通信对方的通信单元通信的数据的特定的识别信息取得要求时,返回与该数据对应的识别信息的部件,
在附加上述识别信息的状态下发送成为通信对象的数据。
7.一种多个可编程控制器经网络连接而构成的控制器系统,其特征在于:
上述多个可编程控制器每一个至少分别包含1个以上的至少权利要求2所述的可编程控制器和权利要求3所述的可编程控制器,
上述多个可编程控制器之间的数据发送接收使用上述识别信息特定数据来进行。
8.一种可编程控制器的变量解决方法,该可编程控制器包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,其特征在于:
上述控制器具有存储部件,存储将变量名与对应该变量名的实际地址相关联的变量表,
上述通信单元具有通信设定信息存储部件,存储特定与其他通信单元之间设为通信对象的变量名的通信设定信息,
上述通信单元按规定定时向上述控制器询问上述通信设定信息存储部件中存储的与变量名对应的实际地址,
上述控制器随着该询问返回与该变量名对应的实际地址,
上述通信单元作成将返回来的实际地址与通信对象的变量名相关联的表,存储在存储部件中。
9.根据权利要求8所述的变量解决方法,其特征在于:
上述通信设定信息是将设为上述通信对象的上述变量名、接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,
上述通信单元向发送源地址的通信单元发出特定通信时的数据的识别信息的取得要求,
对应该要求取得从上述发送源地址的通信单元送来的识别信息,同时将取得的识别信息和上述实际地址进行相关联地存储,从而在通信时可将与上述识别信息一起送来的数据提供给上述控制器。
10.一种经系统总线连接于控制器的通信单元的数据处理方法,该控制器包括将变量名与存储对应该变量名的数据的实际地址相关联的表,其特征在于:
存储保持特定在与通信对方的通信单元之间设为通信对象的变量名的通信设定信息,
在提取出该存储保持的通信设定信息中存储的变量名的同时,向上述控制器询问对应该提取的变量名的实际地址,
存储保持将从上述控制器返回来的实际地址和上述变量名相关联的表。
11.一种控制器系统的变量解决方法,该控制器系统包括多个带有运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器,同时该多个可编程控制器连接于网络,其特征在于:
上述控制器存储将上述变量名和存储对应该变量名的数据的实际地址相关联的变量表,
上述通信单元存储将特定在与其他通信单元之间设为通信对象的变量名的变量名、发送接收属性、数据的发送源地址、发送源的变量名相关联的通信设定信息,
上述通信单元按规定定时向上述控制器询问对应上述通信设定信息中存储的变量名的实际地址,
上述控制器随着该询问返回对应该变量名的实际地址,
上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表,
此外,上述通信单元检测出上述发送接收属性,在其是接收属性的情况下,对根据上述发送源地址特定的发送源地址的通信单元发出取得特定通信时的数据的识别信息的要求,
对应该要求取得从上述发送源地址的通信单元送来的识别信息,同时将取得的识别信息和上述返回来的实际地址相关联并进行存储,从而可在通信时将与上述识别信息一起送来的数据提供给上述控制器。
12.一种可编程控制器,包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,其特征在于:
上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,
上述通信单元包括:
通信设定信息存储部件,存储特定与上述其他通信单元之间设为通信对象的变量名的通信设定信息;
表,将设为通信对象的变量名与缓冲区域相关联地存储;
变量解决部件,按规定定时通过询问上述控制器取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名和取得的实际地址相关联的表。
13.根据权利要求12所述的可编程控制器,其特征在于:
上述通信设定信息是将设为上述通信对象的变量名、发送接收属性、通信对象的数据的发送源地址、发送源的变量名相关联的信息,
上述通信单元还包括:
对发送源地址的通信单元要求取得特定通信的数据的识别信息的部件;和
将对应该要求从发送源地址的通信单元送来的识别信息与由上述变量解决部件取得的实际地址相关联地存储,可在通信时将与上述识别信息一起送来的数据提供给上述控制器的部件。
14.根据权利要求12所述的可编程控制器,其特征在于:
上述通信单元的表是将设为通信对象的变量名和将该变量名分组化的组件名以及缓冲区域相关联地存储的组件表,
上述通信单元的上述通信设定信息是将上述通信对象的上述组件名、发送接收属性、通信对象数据的发送源地址、发送源的组件名相关联的信息。
15.一种可编程控制器,包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,其特征在于:
上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,
上述通信单元包括:
表,将与上述其他通信单元之间设为通信对象的变量名与缓冲区域相关联地存储;
变量解决部件,按规定定时通过询问上述控制器取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名和取得的实际地址相关联的表;
通信确立处理部件,从上述其他通信单元接受特定通信对象的变量名的通信设定信息。
16.根据权利要求15所述的可编程控制器,其特征在于:
上述通信确立处理部件接受的上述通信设定信息中包含设为上述通信对象的变量名和发送接收属性,
上述通信确立处理部件通过接受上述通信设定信息,生成用于与其他通信单元之间数据通信的连接识别信息,将生成的识别信息发送到上述其他通信单元,
上述通信单元可将从上述其他通信单元与上述识别信息一起送来的数据提供给上述控制器。
17.根据权利要求15所述的可编程控制器,其特征在于:
上述通信单元的表是将设为通信对象的变量名和将该变量名分组化的组件名以及缓冲区域相关联地存储的组件表,
上述通信单元的通信设定信息是将通信对象的上述组件名、发送接收属性、通信对象数据的发送源地址、发送源的组件名相关联的信息。
18.一种可编程控制器,包括运算执行编程的程序的控制器、经网络与其他通信单元通信的通信单元,其特征在于:
上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,
上述通信单元包括:
表,将与上述其他通信单元之间设为通信对象的变量名与缓冲区域相关联地存储;和
通信确立处理部件,从上述其他通信单元接受特定通信对象的变量名的通信设定信息,
上述通信单元按通信确立处理部件接受通信设定信息后的定时通过询问上述控制器取得上述通信设定信息中包含的与变量名对应的实际地址,存储保持将该变量名和取得的实际地址相关联的表。
19.根据权利要求18所述的可编程控制器,其特征在于:
上述通信确立处理部件接受的上述通信设定信息中包含设为上述通信对象的上述变量名和发送接收属性,
上述通信确立处理部件通过接受上述通信设定信息,生成与其他通信单元之间数据通信的连接识别信息,将生成的识别信息发送到上述其他通信单元,
上述通信单元可将从上述其他通信单元与上述识别信息一起送来的数据提供给上述控制器。
20.根据权利要求18所述的可编程控制器,其特征在于:
上述通信单元的表是将设为通信对象的变量名和将该变量名分组化的组件名以及缓冲区域相关联地存储的组件表,
上述通信单元的上述通信设定信息是将上述通信对象的上述组件名、发送接收属性、通信对象数据的发送源地址、发送源的组件名相关联的信息。
21.一种通信单元,经系统总线连接于控制器的同时,经网络与其他通信单元通信,该控制器包括变量表,该变量表将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储,其特征在于:
该通信单元内具有:
通信设定信息存储部件,在该通信单元内,存储特定设为通信对象的变量名的通信设定信息;
表,将设为通信对象的变量名和缓冲区域相关联地存储;
变量解决部件,按规定定时询问上述控制器,取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名与取得的实际地址相关联的表。
22.一种包括运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器的变量解决方法,其特征在于:
上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,
上述通信单元包括:
通信设定信息存储部件,存储特定与其他通信单元之间设为通信对象的变量名的通信设定信息;
表,将设为通信对象的变量名与缓冲区域相关联地存储,
上述通信单元询问上述控制器上述表中存储的与变量名对应的实际地址,
上述控制器随着该询问参照变量表返回对应该变量名的实际地址,
上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表。
23.一种通信单元,经系统总线连接于控制器的同时,经网络与其他通信单元通信,该控制器包括变量表,该变量表将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储,其特征在于:
该通信单元内具有:
表,将设为通信对象的变量名和缓冲区域相关联地存储;
通信确立处理部件,从其他通信单元接受特定通信对象的变量名的通信确立要求;
变量解决部件,按规定定时询问上述控制器,取得上述表中存储的与变量名对应的实际地址,存储保持将该变量名与取得的实际地址相关联的表。
24.一种包括运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器的变量解决方法,其特征在于:
上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,
上述通信单元包括:
通信确立处理部件,从其他通信单元接受特定通信对象的变量名的通信确立要求;
表,将设为通信对象的变量名与缓冲区域相关联地存储,
上述通信单元询问上述控制器上述表中存储的与变量名对应的实际地址,
上述控制器随着该询问参照变量表返回对应该变量名的实际地址,
上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表。
25.一种通信单元,经系统总线连接于控制器的同时,经网络与其他通信单元通信,该控制器包括变量表,该变量表将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储,其特征在于:
该通信单元内具有:
表,将与上述其他通信单元之间设为通信对象的变量名和缓冲区域相关联地存储;
通信确立处理部件,从上述其他通信单元接受特定通信对象的变量名的通信确立要求;
变量解决部件,按通信确立处理部件接受通信确立要求后的定时询问上述控制器,取得上述通信确立要求中包含的与变量名对应的实际地址,存储保持将该变量名与取得的实际地址相关联的表。
26.一种包括运算执行编程的程序的控制器和经网络与其他通信单元通信的通信单元的可编程控制器的变量解决方法,其特征在于:
上述控制器具有将存储数据的存储器的实际地址与对应该数据的变量名相关联地存储的变量表,
上述通信单元包括:
通信确立处理部件,从其他通信单元接受特定通信对象的变量名的通信确立要求;
表,将设为通信对象的变量名与缓冲区域相关联地存储,
上述通信单元通过从上述其他通信单元接受特定通信对象的变量名的通信确立要求,询问上述控制器该通信确立要求中包含的与变量名对应的实际地址,
上述控制器随着该询问参照变量表返回对应该变量名的实际地址,
上述通信单元作成并存储将返回来的实际地址与通信对象的变量名相关联的表。
27.一种经网络连接多个可编程控制器而构成的控制器系统,其特征在于:
上述多个可编程控制器每一个至少分别包含1个以上的至少权利要求12所述的可编程控制器和权利要求15所述的可编程控制器,
上述多个可编程控制器之间的数据发送接收使用上述识别信息特定数据来进行。
28.一种经网络连接多个可编程控制器而构成的控制器系统,其特征在于:
上述多个可编程控制器每一个至少分别包含1个以上的至少权利要求12所述的可编程控制器和权利要求18所述的可编程控制器,
上述多个可编程控制器之间的数据发送接收使用上述识别信息特定数据来进行。
29.一种经网络连接多台权利要求12所述的可编程控制器和权利要求15或18所述的可编程控制器而构成的控制器系统,其特征在于:
对于某通信对象的通信设定信息存储在该通信对象的发送侧的通信单元和接收侧的通信单元中的一个中,
该存储的上述通信设定信息是将设为上述通信对象的本站侧的上述变量名、对方站侧的变量名、发送/接收的区别信息、特定通信对方站的地址信息相关联的信息,
包括上述通信设定信息的通信单元具有对不带有上述通信设定信息的通信单元至少发出对方站变量名的同时,还发出通信确立要求的功能,
不带有上述通信设定信息的通信单元具有针对上述通信确立要求判断是否许可要求、在许可的情况下发出通信时使用的连接ID,同时发出许可通知的功能,
上述通信单元之间的通信使用上述连接ID特定通信对方来进行。
30.根据权利要求29所述的控制器系统,其特征在于:
上述连接ID设定在将具有同一通信条件的多个通信对象分组化的组中,
通过使用该连接ID,可对多个通信对象统一进行通信
CNB2004100104168A 2003-10-02 2004-10-08 可编程控制器、通信单元、变量解决方法和数据交接方法 Expired - Fee Related CN100428141C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP344997/2003 2003-10-02
JP2003344997 2003-10-02
JP344997/03 2003-10-02
JP2004275010A JP2005129026A (ja) 2003-10-02 2004-09-22 プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
JP275010/04 2004-09-22
JP275010/2004 2004-09-22

Publications (2)

Publication Number Publication Date
CN1624611A true CN1624611A (zh) 2005-06-08
CN100428141C CN100428141C (zh) 2008-10-22

Family

ID=34315738

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100104168A Expired - Fee Related CN100428141C (zh) 2003-10-02 2004-10-08 可编程控制器、通信单元、变量解决方法和数据交接方法

Country Status (4)

Country Link
US (1) US20050097233A1 (zh)
EP (1) EP1521149B1 (zh)
JP (1) JP2005129026A (zh)
CN (1) CN100428141C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365994A (zh) * 2007-02-19 2009-02-11 三菱电机株式会社 可编程控制器的外围装置、置换方法和程序
CN101310232B (zh) * 2005-11-14 2011-01-12 三菱电机株式会社 网络单元及使用该网络单元的可编程控制器
CN113848815A (zh) * 2021-08-27 2021-12-28 苏州谷夫道自动化科技有限公司 多通道数控系统plc程序共用的方法及系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4494299B2 (ja) * 2005-07-04 2010-06-30 三菱電機株式会社 プログラマブルコントローラ
JP4722613B2 (ja) 2005-08-02 2011-07-13 株式会社ジェイテクト 分散制御システム
JP5454783B2 (ja) * 2009-03-13 2014-03-26 オムロン株式会社 Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
JP5464027B2 (ja) * 2010-04-15 2014-04-09 三菱電機株式会社 ネットワークパラメータの自動設定プログラム、及びプログラマブルコントローラの周辺装置
CN102859514B (zh) * 2010-04-30 2016-04-06 惠普发展公司,有限责任合伙企业 处理器之间的管理数据传输
JP4957853B1 (ja) * 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP4877423B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP5099251B1 (ja) * 2011-07-15 2012-12-19 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体
US9459607B2 (en) 2011-10-05 2016-10-04 Opteon Corporation Methods, apparatus, and systems for monitoring and/or controlling dynamic environments
JP6375666B2 (ja) * 2014-03-31 2018-08-22 株式会社ジェイテクト Plcおよびplc用のプログラミングツール
JP7059673B2 (ja) * 2018-02-14 2022-04-26 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
JP7375360B2 (ja) 2019-08-02 2023-11-08 オムロン株式会社 ネットワークシステム、情報処理装置、および情報処理方法
CN113268042B (zh) * 2021-05-13 2022-06-24 矿冶科技集团有限公司 一种上位机程序处理方法、装置以及电子设备
CN113949601B (zh) * 2021-11-12 2023-04-28 杭州和利时自动化有限公司 一种控制器站间通信方法、装置及计算机可读存储介质
US11894945B2 (en) 2022-06-29 2024-02-06 Siemens Industry, Inc Control device for a building automation system having name resolution management
WO2023136927A1 (en) * 2022-01-14 2023-07-20 Siemens Industry, Inc. Control device for a building automation system having name resolution management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513095A (en) * 1989-08-16 1996-04-30 Siemens Aktiengesellschaft Flexible automation system for variable industrial processes
JP2661316B2 (ja) * 1990-03-24 1997-10-08 トヨタ自動車株式会社 複数のプログラマブルコントローラ間の並列運転による制御装置
US5845149A (en) * 1996-04-10 1998-12-01 Allen Bradley Company, Llc Industrial controller with I/O mapping table for linking software addresses to physical network addresses
JP3222821B2 (ja) * 1997-12-25 2001-10-29 株式会社東芝 プログラマブルコントローラ
JP2000268016A (ja) * 1999-03-15 2000-09-29 Omron Corp 分散制御システム並びにその構成要素
CN1220143C (zh) * 2001-01-12 2005-09-21 皇家菲利浦电子有限公司 存储器地址转换单元和方法以及包含这种单元的图像处理装置
JP4207105B2 (ja) * 2001-03-15 2009-01-14 オムロン株式会社 システム
US6986015B2 (en) * 2001-12-10 2006-01-10 Incipient, Inc. Fast path caching

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101310232B (zh) * 2005-11-14 2011-01-12 三菱电机株式会社 网络单元及使用该网络单元的可编程控制器
CN101365994A (zh) * 2007-02-19 2009-02-11 三菱电机株式会社 可编程控制器的外围装置、置换方法和程序
CN113848815A (zh) * 2021-08-27 2021-12-28 苏州谷夫道自动化科技有限公司 多通道数控系统plc程序共用的方法及系统

Also Published As

Publication number Publication date
EP1521149A1 (en) 2005-04-06
CN100428141C (zh) 2008-10-22
US20050097233A1 (en) 2005-05-05
EP1521149B1 (en) 2013-05-22
JP2005129026A (ja) 2005-05-19

Similar Documents

Publication Publication Date Title
CN1624611A (zh) 可编程控制器、通信单元、变量解决方法和数据交接方法
CN1261892C (zh) 支持多个客户数据交换协议的工业过程控制数据访问服务器
CN1120425C (zh) 存储器控制器和存储器控制方法
CN1200345C (zh) 算术处理装置,对象对对象的通信方法和机器人装置
CN1253790C (zh) 指令调度方法和指令调度设备
CN1269337C (zh) 内容自适应服务控制方法
CN1881903A (zh) 文件版本管理装置及方法和程序
CN1656468A (zh) 用于同步不同数据存储器中数据存储方式的方法和设备
CN1510875A (zh) 用于控制信息处理设备的系统和方法
CN1112637C (zh) 信息获取代理系统和信息传送管理系统
CN1111795C (zh) 利用网络的信息分发系统
CN1534937A (zh) 虚路径配置装置、虚路径配置方法和计算机产品
CN1172239C (zh) 执行移动对象的方法
CN1512382A (zh) 设备监测系统、监测程序和监测方法及装置
CN1498483A (zh) 无线通信系统和无线通信控制方法,无线通信设备和无线通信方法,以及计算机程序
CN1894921A (zh) 发送台、接收台、通信方法、通信程序和记录了通信程序的计算机可读记录介质
CN1656452A (zh) 用于数据管理的电子设备、方法、程序和存储介质
CN1525707A (zh) 通讯系统,移动终端和传送设备
CN1637714A (zh) 远程复制网络
CN1890624A (zh) 电子装置及其控制方法、主机装置及其控制方法
CN1098501C (zh) 用于sql关系数据库的仿真器及方法
CN1698323A (zh) 网络系统与通信方法、信息处理装置与方法及程序
CN1290026C (zh) 信息提供系统和信息服务设备
CN1778126A (zh) 用于将多媒体消息多次元素插入多媒体消息中的方法和系统
CN1263254C (zh) 信息处理系统、便携式终端及信息处理服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081022

Termination date: 20211008

CF01 Termination of patent right due to non-payment of annual fee