CN1241078C - 可编程控制器系统 - Google Patents
可编程控制器系统 Download PDFInfo
- Publication number
- CN1241078C CN1241078C CN02140194.2A CN02140194A CN1241078C CN 1241078 C CN1241078 C CN 1241078C CN 02140194 A CN02140194 A CN 02140194A CN 1241078 C CN1241078 C CN 1241078C
- Authority
- CN
- China
- Prior art keywords
- block
- program
- programmable logic
- program block
- order
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2219—Processor starts application program only if it receives predetermined data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23225—Program system from more than one source
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23237—Program execution by message passing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
提供一种可编程控制器系统,在多个可编程控制器中分散配置程序的系统中,可采用构造的编程方法,并且通过经网络简单且间接地构成数据交换部件,即使设备结构变更,也可使程序的变更负担保持在最小限度。具有可存储1个或2个以上的程序块并且可将这些程序块分别切换为运行状态和停止状态来选择地执行的块单位执行型可编程控制器、1个或2个以上的可编程控制器、支持工具、主计算机等其他装置、在所述可编程控制器与其他装置之间经网络和总线进行数据的交换的数据交接部件,其他装置的至少一个中组装有发出指示块单位执行型可编程控制器的与特定程序块相关的规定操作的程序块操作命令的命令发出部件,块单位执行型可编程控制器中组装有执行与经数据交接部件从其他装置接收的程序块操作命令对应的处理的命令对应处理执行部件。
Description
技术领域
本发明涉及通过公共总线和网络等联结块单位执行型可编程控制器和1个或2个以上的可编程控制器、支持工具、主计算机等其他装置而构成的可编程控制器系统,尤其涉及对于设备构成变更,也可将程序的变更负担保留在最小限度的可编程控制器系统。
背景技术
随着迄今为止的网络技术的发展,对控制设备、装置的可编程控制器,包含通信速度的信息传送能力也飞速提高。由于可编程控制器的低成本化和小型化,通过通信相互连接多个可编程控制器的系统构成即便和1台高速大容量的大型可编程控制器构成的系统相比较,在成本方面、空间效率方面也毫不逊色。
控制系统中,利用网络使可编程控制器分散时,产生如下的优点。
(1)在硬件构成和配置上,由于系统构筑部件具有柔性,设备和装置的更换容易。
(2)由于处理分担并分散到多个可编程控制器,抑制了对各个可编程控制器要求的性能,可利用廉价的可编程控制器。
(3)即便是可编程控制器出现故障时,由于构成系统的可编程控制器分为多个,系统失效范围落于局部,提高了系统整体的可靠性。
这样,为了设备和装置的构成以及得到负荷分散和最佳性能等,可通过多个可编程控制器来构成系统,所以预计今后控制系统的分散化倾向会进一步加强。
另一方面,随着半导体存储器的成本下降、微芯片的高性能化,1台可编程控制器可控制的输入输出点数有飞速增加的趋势。可编程控制器的程序容量也与其成比例地增加。
通过组装可编程控制器设计的各种机械和制造设备自身的高功能化也对程序容量的倍速增长起到促进的作用。
这种倾向中,在可编程控制器内,近年来,为了高效率且高品质地设计大容量程序,或再利用和维护管理,倾向于附加以程序模块化功能从而把程序分割或分层。
另外,在使用可编程控制器的系统的开发维护环境层面上,提出一种具有分别将模块化的程序数据下载和上传到可编程控制器的功能的支持工具。
用户利用该功能,将模块化的程序分配给由1台可编程控制器控制的多个装置中的各个装置,通过与装置内的独立性高的功能单元分别对应,在程序设计中依次或多个从业者分担进行每个装置、每个功能的设计,提高其生产率。
该功能可更明确地执行可编程控制器内的程序的功能分割,因此用1台可编程控制器控制多个控制对象的情况下,也对每个对象按模块分割程序的形式编程。
通过组合经上面所述的网络进行的系统分散化和应用程序的分割,分散方法更灵活,并非按所谓可编程控制器的单位,而能够以跨网络的程序块为单位进行分散。
分散的可编程控制器的各个程序之间的交换利用通过网络的数据交换进行,作为目前的方式,有2种:以传输该内容的命令和来自对方侧的回答构成的响应对要传送请求的对方进行的消息服务方式;为在多个可编程控制器上共享相同的存储器区域而在各可编程控制器中分别设置公共存储器,在该公共存储器之间存储应彼此共用的数据、在可编程控制器之间交换数据的公共存储器方式,但基本上是确定在跨过可编程控制器的程序之间动作的接口的数据格式,利用程序作数据交换的形式。
发明要解决的问题
分散可编程控制器必然伴随应用程序的分散,因此与原来的使用1台可编程控制器的系统结构相比,产生以下的弊病。
(1)使用1台可编程控制器时,作为1个程序编程的动作物理上被分在多个程序中,并且程序间的接口基本上仅使用简单数据的传送,因此编程容易变复杂。
可编程控制器被物理分离后,各个可编程控制器的编程也容易由多个编程员分担。其弊病是编程逻辑的变更、数据地址分配的变更难以传达给其他编程员。因此,程序之间的不匹配容易导致出现不恰当情况。多个可编程控制器的程序之间的接口使用某数据存储场所进行交换的情况下,其变更的频度比较高,程序之间的不匹配成为导致不恰当情况的一个重大原因。
使用连接于其他可编程控制器的装置和设备(I/O)的状态、内部产生的各种数据进行本可编程控制器内的几个处理时,使用消息服务方式时,由于必须反复进行单纯的数据交换来将对方侧的数据读入自身的可编程控制器中,因此容易给网络造成过度的负荷,难以通过通信的响应性能取得变化频度高的数据。即便假设采用使用公共存储器方式提高数据交换频度的方法,公共存储器方式进行固定地确定的数据的交换,因此不需要数据交换时,也进行通信处理,在产生无用的运算的同时,在交换的数据为对象的情况下,需要大容量公共存储器,必然导致成本上升。
(2)为降低通常时候的负荷,具有I/O和数据一侧的可编程控制器进行处理,即便在使用仅把结果取入自身可编程控制器的编程技术时,分散系统的优点在某设备构成变更时不复存在,对应逻辑部分和其他逻辑部分的边界变复杂,随着设备构成变更,程序更换和移植作业中需要庞大的工程。
发明内容
本发明着眼于所述问题而作出,目的是提供一种可编程控制器系统、可编程控制器以及支持工具,在多个可编程控制器中分散配置程序的系统中,可采用构造的编程方法,并且通过经网络简单且间接地构成数据交换部件,对于设备结构变更,也可使程序的变更负担保持在最小限度。
对于本领域人员,根据说明书以下的说明很容易理解本发明的其他目的和作用效果。
本发明提供一种可编程控制器系统,其特征在于:具有两台或两台以上的可编程控制器,在可编程控制器之间,经网络或总线进行数据的交换,
各个所述可编程控制器为对多个根据规定的命令语句作成的程序以块单位与识别符一起进行存储,并且将这些各个程序块分别切换为运行状态和停止状态来执行从各程序块中选择的程序块的块单位执行型可编程控制器;
一个块单位执行型可编程控制器中组装有发送部件,该部件用于在程序执行处理中,以执行程序块启动命令为开端,对其他块单位执行型可编程控制器的程序块用识别符进行特定并发出对规定操作进行指示的程序块操作命令,并将该命令发送到所述其他块单位执行型可编程控制器的对方地址;所述其他块单位执行型可编程控制器中组装有命令对应处理执行部件,该部件从所述一个块单位执行型可编程控制器接收程序块操作命令,读出该命令的识别符,并执行与用该识别符特定的程序块对应的处理。
本发明还提供一种可编程控制器系统,其特征在于,包括:
块单位执行型可编程控制器,用于对多个根据规定的命令语句作成的程序以块单位与识别符一起进行存储,并且将这些各个程序块分别切换为运行状态和停止状态来执行从各程序块中选择的的程序块;以及
所述块单位执行型可编程控制器之间经网络或总线进行数据的交换的1个或2个以上的可编程控制器、支持工具、以及主计算机等其他装置;
所述其他装置的至少一个中组装有发送部件,该部件对块单位执行型可编程控制器的程序块用识别符进行特定并发出对规定操作进行指示的程序块操作命令,并将该命令发送到所述块单位执行型可编程控制器的对方地址;
所述块单位执行型可编程控制器中组装有命令对应处理执行部件,该部件从所述其他装置接收程序块操作命令,读出该命令识别符,并执行与用该识别符特定的程序块对应的处理。
附图说明
图1是采用本发明的PLC系统的构成图;
图2是表示可编程控制器整体的硬件构成的模块图;
图3是表示支持工具整体的硬件构成的模块图;
图4是概要表示组装入可编程控制器的系统程序的整体的流程图;
图5是表示程序运行处理的详细的流程图;
图6是表示网络处理详细的流程图;
图7是表示“程序块启动&结果获得命令”的对应处理的详细的流程图(其一);
图8是表示“程序块启动&结果获得命令”的对应处理的详细的流程图(其二);
图9是表示“程序块启动命令”的对应处理的详细的流程图;
图10是表示“程序块执行结果取得命令”的对应处理的详细的流程图;
图11是表示“程序块写入命令”的对应处理的详细的流程图;
图12是表示“程序块删除命令”的对应处理的详细的流程图;
图13是表示“程序块启动命令”的对应处理的详细的流程图(其一);
图14是表示“程序块启动命令”的对应处理的详细的流程图(其二);
图15是表示实现第一实施例的支持工具的动作的系统模块的整体构成的流程图(其一);
图16是表示实现第一实施例的支持工具的动作的系统模块的整体构成的流程图(其二);
图17是表示实现第二实施例的支持工具的动作的系统模块的整体构成的流程图(其一);
图18是表示实现第二实施例的支持工具的动作的系统模块的整体构成的流程图(其二);
图19是表示实现第三实施例的支持工具的动作的系统模块的整体构成的流程图(其一);
图20是表示实现第三实施例的支持工具的动作的系统模块的整体构成的流程图(其二);
图21是概念性地表示可编程控制器A内的应用程序的块构成的说明图;
图22是表示程序块的构造的说明图;
图23是表示PB10的程序块数据的说明图;
图24是表示与程序块(PB10)的信息有关的支持工具的显示例的说明图;
图25是表示初始状态的可编程控制器A的应用程序数据的内容的说明图;
图26是表示程序块(PB20)追加后的可编程控制器A的应用程序的数据的内容的说明图;
图27是表示程序块状态信息的内容的说明图;
图28是表示可编程控制器的另一网络地址信息的内容的说明图;
图29是表示网络处理委托项目信息的存储例的说明图;
图30是表示与可编程控制器B的程序块整体的一部分相当的指针(rudder)图的显示例的说明图;
图31是表示支持工具的操作画面例(第一实施例的执行画面)的说明图;
图32是表示支持工具的操作画面例(第一实施例的结果显示画面)的说明图;
图33是表示支持工具的操作画面例(第一实施例的出错显示画面)的说明图;
图34是表示支持工具的操作画面例(第二实施例的执行画面)的说明图;
图35是表示支持工具的操作画面例(第二实施例的启动通知&结果获得执行画面)的说明图;
图36是表示支持工具的操作画面例(第二实施例的出错显示画面)的说明图;
图37是表示支持工具的操作画面例(第二实施例的结果获得以及执行结果显示画面)的说明图;
图38是表示支持工具的操作画面例(第二实施例的结果获得以及执行未完成显示画面)的说明图;
图39是表示支持工具的操作画面例(第二实施例的结果获得执行画面)的说明图;
图40是表示支持工具的操作画面例(第二实施例的执行结果显示画面)的说明图;
图41是表示支持工具的操作画面例(第二实施例的执行未完成显示画面)的说明图;
图42是表示支持工具的操作画面例(第三实施例的执行画面)的说明图;
图43是表示支持工具的操作画面例(第三实施例的结果获得画面)的说明图;
图44是表示支持工具的操作画面例(第三实施例的出错显示画面)的说明图。
具体实施方式
下面参考附图逐一详细说明本发明的可编程控制器系统(下面也叫作PLC系统)、可编程控制器(下面也叫作PLC)、以及支持工具的最佳实施例。
本发明的PLC系统存在图1(a)所示的系统构成1和图1(b)所示的系统构成2。
如图1(a)所示,系统构成1的PLC系统由1台或2台以上的PLC1和支持这些PLC的支持工具2以及作为联结这些PLC1和支持工具2的通信部件的网络3构成。
如图1(b)所示,系统构成2的PLC系统由1台或2台以上的PLC1A,1B和作为联结这些PLC1A,1B的通信部件的网络3构成。
在图示的例子中,PLC1具有带专用硬件的构造单元(building block)型的系统构成,例如主要通过经母板上的系统总线相互连接具有用户程序执行功能的CPU单元、进行与外部设备的信号交换的输出输出单元以及具有各种数据运算等的高功能单元等构成。
另外,在该PLC1的用户程序存储器(图2的103)中组装有可以存储多个用户程序,而且可按程序块单位选择地执行用户程序的功能。可存储的程序块数目有时可达几百到几千。
在图示的例子中,支持工具2是在个人计算机中组装有支持工具用软件而形成的系统构成。这里,个人计算机的图像显示装置原样构成支持工具的程序显示用显示器,键盘、鼠标等原样构成支持工具的操作部件,另外,个人计算机的存储器构成用户程序保存用的存储器。一般地,支持工具用软件中装有如下功能:支持制作编辑用户程序的功能、将制作编辑的用户程序传输到PLC侧并按整体为单位或按程序块为单位改写PLC的用户程序存储器的功能、以块为单位或以程序整体为单位从PLC的用户程序存储器读出用户程序并保存在存储器中以及在支持工具的显示画面中显示的功能等。
构成通信部件的网络3中,使用规定协议进行串行通信。
接着,图2表示出可编程控制器整体的硬件构成的框图。图中,所示可编程控制器1与所谓的结构单元型PLC的CPU单元相当,所示输入输出装置4与该PLC系统的I/O单元相当。
如该图所示,该可编程控制器1包含CPU101、系统程序存储器102、用户程序存储器103、参数存储器104、工作存储器105、I/O存储器106、通信接口107、以及I/O接口108。
CPU1由微处理器和专用周边硬件等作为主体而构成,根据系统程序存储器102中存储的系统程序组织起来实现作为可编程控制器的基本的几个功能。
如本领域人员所知,这些基本功能可举出I/O刷新处理、用户程序执行处理、各种周边服务器处理等。
I/O刷新处理中,在更新I/O存储器106的经I/O接口108和输入输出装置4从外部取得的输入数据中同时,执行经I/O接口108和输入输出装置4将I/O存储器的输出数据发送到外部的相应输出端子的处理。
用户程序执行处理中,从用户程序存储器103顺序读出构成用户程序的命令语句并且参考I/O存储器求出运算需要的输入输出数据的内容,据此执行指定的命令,用该执行结果更换I/O存储器106的输出数据、计数值、计时器时间等内容。
周围服务器处理中,经通信接口107、通信部件(网络)3进行支持工具2及其他PLC的通信信息交换,进行图中未表示的远程I/O及上位个人计算机的信息交换的种种周围服务器处理。
系统程序存储器102分别存储与应在CPU101实现的各种功能对应的系统程序,基本由ROM构成。
如图21所示用户程序存储器103中以程序块为单位存储例如由机器制造商等制作的或由用户自身制作或修改的用户程序(也叫应用程序)。这里,作为用户程序整体的程序块数目根据情况可以达到数百到数千。作为用户程序存储器,例如使用闪存储器及电池备份的RAM等。
图25和图26应用程序数据的一例的说明图。如该图所示,该例的情况下,接着前面的数据区域信息,通过存储各程序块PB构成应用程序数据。数据区域信息表示应用程序数据的数据结构,表示每个程序块的存储场所。每个循环启动的程序块的一览信息也存储在此。因此,通过参考前面的数据区域信息,能够选择地执行、读出、更换特定的程序块。程序块的数据是按执行顺序存储的程序运行处理中被执行的命令语句组。根据程序块数目,增减数据区域的容量。
图22是程序块的结构的说明图。如该图所示,各程序块由“程序块识别符”、“输入参数”、“输出参数”和“程序块主体”构成。这里,“程序块识别符”是程序块的ID序号。程序块ID序号是被分配的唯一序号。
“输入参数”是为执行程序块主体的输入参数,包含输入数据。“输出参数”是作为程序块主体的执行结果的输出参数,由执行结束标记和输出数据构成。
“程序块主体”是在指针程序等程序块启动时执行的程序码列。
程序块中存储由规定的命令语句作成的程序,程序块执行时,各命令语句被顺序读出,根据该命令码进行运算和处理。各命令语句中假定为逻辑运算、算术运算等的命令,但本实施例中除这些命令外,还新准备了下面的样式的命令。
操作码:RCALLPB
操作数1:可编程控制器识别码
操作数2:程序块ID
操作数3:执行参数
操作数4:执行结果存储目的地
操作码是表示是“程序块启动命令”的识别符。操作数1是存储启动对象的程序块的可编程控制器的识别符。操作数2是启动对象的程序块的识别符。操作数3是执行启动对象的程序块需要的参数数据。操作数4是存储启动对象的程序块的执行结果的可编程控制器自身的存储器地址。
命令动作针对操作数1,2指定的程序块传递操作数3指定的执行参数,程序块据此取得执行的结果,将执行结果存储在指定给操作数4的存储器地址。
上述的操作数3和操作数4根据程序块的样式不限于1个。作为程序块的识别符,由于构成该系统的全部可编程控制器都具有唯一的标识符也考虑省略操作数1的样式等。
回到图2,参数存储器104是存储用于各种运算和处理的各种参数的存储器。该参数存储器104中存储有与本发明相关的“控制器的其他网络地址信息”。
图28是“控制器的其他网络地址信息”的内容的说明图。该信息存储网络连接的可编程控制器的网络上的地址,“控制器ID”和“网络地址”成对存储。这里,“控制器ID”是网络连接的可编程控制器的识别符,“网络地址”是各可编程控制器的网络上的地址。
回到图2,工作存储器105是在进行各种运算和处理时用作数据的暂时存储区域的存储器,通常由RAM构成。该工作存储器105中除表示各程序块的运行状态的“程序块状态信息”外,还存储与本发明相关的“网络处理委托项目信息”。
图27是“程序块状态信息”的一例的说明图。如该图所示,该例中,通过将各程序块的ID(标识符)和该程序块的目前状态(“启动”或“停止”)和处理完成等待标记(“ON”,“OFF”)相互相关来存储,构成“程序块状态信息”。该“程序块状态信息”在首次的程序运行处理中例如全部或几个的程序块为“启动”,生成并存储在工作存储器105中,在程序运行处理中,根据该区域的内容来控制各程序块的运行或停止。各状态(运行或停止)能通过例如用户程序中可使用的“程序块启动命令”和“程序块停止命令”等变更。因此通过参考该“程序块状态信息”可判别各程序块的运行状态是启动还是停止。
图29是“网络处理委托项目信息”的存储例的说明图。对每个控制器逐一设置一个命令发送用和命令/响应接收用的“网络处理委托项目信息”。该信息是在可编程控制器中对各处理委托网络处理发出命令的信息,成对存储“对方地址”、“命令”和“参数”。
这里,“对方地址”的记录其数据结构相同,但作为命令发送用和命令/响应接收用的意义不同。命令发送用时,就是发出命令的对方的网络地址,命令/响应接收用时是发送源的网络地址。“参数”是对命令码的参数。工作存储器105上的本信息存储区域中存储委托侧处理中委托的内容。向该区域的委托追加存储通过从区域前面开始检索空白区域而追加到已经委托的内容的最后。网络处理侧从区域前面开始顺序处理,一旦发送用区域中命令发出完成,命令/响应接收用区域中响应接收或命令处理完成,则删除该委托内容,将剩余的内容向区域前面移动一级。
回到图2,I/O存储器106中设有输入数据区域和输出数据区域、计数器及计时器等的数据区域等,如上所述,这些区域的内容在用户程序执行时被参考并根据需要来更换。
通信接口107和I/O接口108在通信部件3和输入输出装置4连接时执行处理。通过该通信接口107,通过后述的“消息服务”,可进行与后述的支持工具2和其他的可编程控制器或上位个人计算机等的通信。
接着,输入输出装置4包括取得来自外部的传感器和开关的信号的输入端子、输出驱动外部的中继器、马达、调节器等的信号的输出端子。并且,从输入端子取得的信号作为输入数据写入在I/O存储器106中,应由输出端子送出的信号作为输出数据从I/O存储器106读出。
接着,图3是表示支持工具整体的硬件构成的框图。如该图所示,该支持工具2包括运算装置210、输入装置220和显示装置230。
中央处理装置211因与构成支持工具的个人计算机的运算处理部相当,统一控制整个支持工具。
存储器空间212包括参数数据区212A、用户程序数据区212B、支持工具程序模块212C。
参数数据区212A中存储前面参考图29说明的“网络处理委托项目信息”等各种参数数据。
用户程序数据区212B中存储应传送到可编程控制器或从可编程控制器传送来的“应用程序数据表”等。
支持工具程序模块212C中存储中央处理装置211执行的执行本支持工具的各种功能的程序。
显示装置用存储器213存储输出到显示装置230的信息,对该存储器的信息写入由中央处理装置211执行。
内部总线214用作中央处理装置211访问存储器空间212、输入装置220、显示装置用存储器213的接口。通信用接口215用作与可编程控制器的进行通信的接口。
输入装置220是经接口(包括GUI)取得用户请求的装置,该例中,由个人计算机具有的键盘及各种指向装置等构成。
显示装置230是经接口显示显示装置用存储器213的状态的装置,该例中,个人计算机具有的CRT显示器、LCD等与此相当。
如前所述,本实施例的PLC系统在网络上,通过“消息服务”在PLC之间进行信息交换,利用该消息服务向对方发出各种请求。“消息服务”也用于支持工具和可编程控制器之间的信息交换。“消息服务”中使用的各消息通过向该命令附加对方的网络地址来构成,根据该对方网络地址确定接收方。
接着,该实施例中,顺序说明网络上使用的消息服务命令的具体例子。该实施例中,新定义了由“程序块启动&结果获得命令”、“程序块启动命令”、“程序块执行结果获得命令”、“程序块写入命令”、“程序块删除命令”构成的5个消息命令。
①程序块启动&结果获得命令
发送命令的参数为“对方可编程控制器的程序块ID”和“执行参数数据”。接收响应的内容为“正常结束码和执行结果数据”,但由于某些原因处理未正常结束时,为“错误结束”。
②程序块启动命令
发送命令的参数为“对方控制器的程序块ID”和“执行参数数据”。接收响应的内容为“正常结束码”,但由于某些原因,处理未正常结束时,为“错误结束”。
③程序块执行结果获得命令
发送命令的参数为“对方控制器的程序块ID”。接收响应的内容为“正常结束码”和“执行结果数据”或“错误结束”,(执行未完成及其它)。
④程序块写入命令
发送命令的参数为“程序块ID序号”和“程序块数据”。接收响应的内容为“正常结束码”,但由于某些原因,处理未正常结束时,为“错误结束码”。
⑤程序块删除命令
发送命令的参数为“程序块ID序号”。接收响应的内容为“正常结束码”,但由于某些原因,处理未正常结束时,为“错误结束码”。
接着,以上面说明的硬件以及网络上的“消息服务”为前提,参考图4以下的流程图和画面说明图等说明可编程控制器1和支持工具2的系统程序的内容,从而了解本发明系统的功能。
图4简略表示在可编程控制器1中组装的系统程序的整体的通用流程图。该图中,通过接通电源开始处理后,首先执行电源接通初始化处理(步骤401),执行各种标记和寄存器类的初始设定等。
之后,反复参考未图示的程序运行状态标记的内容(步骤403),在其状态变为“可运行”之前的时间里(步骤403为No),顺序反复执行公共处理(步骤402)、I/O刷新处理(步骤405)和网络处理即周边服务器处理(步骤406),其间跳过程序运行处理(步骤404)。
该状态下,程序运行状态标记为“可运行”时(步骤403YES),除公共处理(步骤402)、I/O刷新处理(步骤405)、网络处理(步骤406)外,还执行程序运行处理(步骤404)。
另外,公共处理(步骤402)是不管程序是运行中还是停止都需要的处理,I/O刷新处理(步骤405)如前所述是将I/O存储器106的对应的输入数据更新为经I/O接口108和输入输出装置4从外部取得的输入数据同时经I/O接口108和输入输出装置4将I/O存储器的输出数据发送到外部的对应输出端子的处理。
接着,图5是表示程序运行处理的详细的流程图。该图中,开始处理后,首先限于初次执行(步骤501YES),执行新生成程序块状态信息的处理(步骤502)。如前所述,该处理(步骤502)中,图27所示的程序块状态信息的内容例如与全部或几个程序块相关地设定为例如“启动”。
之后,从程序块状态信息的前面记录(步骤503)开始到末尾的记录为止(步骤515NO),顺序读出记录(步骤514)。
读出的记录的状态仅限于设定为“启动”时(步骤504YES),输入参数读出后(步骤507),顺序读出并执行该程序块内的命令(步骤508,509),在最后命令的读出执行结束之前的时间里(步骤510NO),与下一程序块相关地读出同样的命令并作执行处理(步骤508,509)。这些读出处理仅限于初次(步骤505YES),执行结束标记为OFF(步骤506)。另一方面,读出最终命令的情况下(步骤510YES),以执行结束为条件(步骤511YES),执行结束标记为ON(步骤512)。
随后,反复执行将执行结果写入输出参数的处理(步骤513)以及读出程序块状态信息的下一记录的处理(步骤514),直到确认以上的处理没有剩下的记录为止(步骤515YES)。
这样,关于程序块状态信息的最后记录,完成命令读出和执行处理后,程序运行处理的一个循环执行全部结束。
从以上处理可知,例如用户程序中,适当使用“程序块启动命令”和“程序块停止命令”,通过将各程序块的状态设为“启动”或“停止”,与用户程序进行连动一起启动或停止各程序块的运行,即选择地执行程序块。
接着,图6是表示网络处理的详细的流程图。该网络处理中,根据来自支持工具或其他可编程控制器的命令的接收状态、来自其他处理的网络处理委托的状态等,执行(1)根据来自支持工具或其他可编程控制器的命令的处理、(2)根据来自其他处理的网络处理委托的内容的命令发出处理、(3)根据对发出的命令的响应的处理等进行3种处理。命令和响应的接收本身按分割处理进行,在工作存储器105的暂时存储区域中存储。
图6中处理开始后,判定是否存在接收命令或响应(步骤600,601)。判断接收命令或响应是否存在通过命令/响应接收用的网络处理委托项目存储区域中是否存在“网络处理委托项目信息”的数据来进行的。此时,如果存在接受命令或响应(步骤601YES)就分析接收命令或响应(步骤602),并转移到各命令和响应的其他处理(步骤603-1,603-2~603-n)。
如前所述,本实施例中,新准备了由“程序块启动&结果获得命令”、“程序块启动命令”、“程序块执行结果获得命令”、“程序块写入命令”和“程序块删除命令”构成的5种命令。
图7和图8是“程序块启动&结果获得命令”的对应处理的详细的流程图(其一和其二)。
图7中,处理开始后,为程序块处理结束等待状态。“程序块处理结束等待”的判断通过图27所示的信息表的该程序块的“处理结束等待”的记录来判断。ON表示正在等待处理结束的状态,OFF表示不等待处理结束的状态。
这里,如果判断为不等待程序块处理结束时(步骤701NO),则在步骤702,读出命令参数“对方控制器的程序块ID”。
步骤703中,从“应用程序数据”的数据区域信息取得指定的程序块数据位置,从该位置读出数据。
接着在步骤704中,判定是否不存在指定程序块。这里如果判断为没有指定程序块(步骤704YES),就进到图8中,对命令发出源返回出错响应(步骤807),结束处理。
与此相反,如果判断为有指定程序块(步骤704NO),在步骤705中,在程序块的输入参数中设置命令参数的“执行参数数据”。
步骤706中,将“程序块状态信息”(参考图27)的该程序块ID的状态变更为启动。
接着在步骤707中,存储程序块处理结束等待,之后暂时中断处理。
另一方面,如果在步骤701,判断为程序块处理结束等待时(步骤701YES),就进到图8,判断该程序块的执行结束标记是否为ON(步骤801)。在该判定之前,读入命令参数的对方控制器的程序块ID(步骤800-1),从“应用程序数据”的数据区域信息取得指定的程序块数据(步骤800-2),参考输出参数的执行结束标记的状态(步骤800-3)。即,“(该程序块的)执行结束标记”在各个程序块的输出参数中定义,ON表示执行结束状态,OFF表示执行未结束或未执行状态。这里,如果判断该程序块的执行结束标记不是ON(步骤801NO),则回到图7,暂时中断处理。
与此相反,在步骤801中判断为该程序块的执行结束标记为ON时(步骤801YES),接着在步骤802,读出该程序块的输出参数数据,设定命令的响应数据为“执行结果数据”。
步骤803中,将该程序块的执行结束标记设为OFF。在步骤804,将“程序块状态信息”的该程序块ID的状态变更为停止。在步骤805,解除程序块处理结束等待。
在步骤806,与正常响应一起返回数据,结束处理。
执行如上说明的图7和图8的处理的结果,就是如果接收到“程序块启动&结果获得命令”,指定的程序块就自动启动,将“执行结果数据”返回命令发出源。
图9是“程序块启动命令”的对应处理的详细的流程图。该图中,处理开始后,在步骤901,读入命令参数的“对方控制器的程序块ID”。
步骤902中,从“应用程序数据”的数据区域信息取得指定的程序块数据位置,从该位置读出数据。
接着步骤903中,判定是否不存在指定程序块。这里,如果判定为没有指定程序块(步骤903YES),则对命令发出源返回出错响应(步骤907),结束处理。
与此相反,在步骤903中如果判断为有指定程序块(步骤903NO),则在步骤904中在程序块输入参数中设置命令参数的“执行参数数据”。步骤905中,将“程序块状态信息”的该程序块ID的状态变更为启动。最后在步骤906中,与正常响应一起返回数据,结束处理。
执行以上说明的图9的程序的结果是如果接收到“程序块启动命令”,则指定的程序块自动启动,对命令发出源返回表示启动程序的被启动响应。
图10是“程序块执行结果获得命令”的对应处理的详细的流程图。该图中,处理开始后,在步骤1001中读入命令参数的“对方控制器的程序块ID”。
在步骤1002中,从“应用程序数据”的数据区域信息取得指定的程序块数据位置,从该位置读出数据。
之后在步骤1003,判定是否不存在指定的程序块。这里,如果判定为没有指定程序块(步骤1003YES),则对命令发出源返回出错响应(步骤1010),结束处理。
与此相反,在步骤1003中如果判断为有指定程序块(步骤1003NO),则还要在步骤1004中判断该程序块的执行结束标记是否为ON。在该判断之前,从“应用程序数据”的数据区域信息取得指定的程序块数据,参考输出参数的执行结束标记的状态(步骤1003-1)。这里,如果该程序块的执行结束标记被判断为不是ON(步骤1004NO),则对命令发出源返回“执行未完成”出错响应(步骤1009),结束处理。
另一方面,步骤1004中如果该程序块的执行结束标记被判断为ON(步骤1004YES),则在步骤1005中读出该程序块的输出参数数据,设置命令的响应数据为“执行结果数据”。
步骤1006将该程序块的执行结束标记设置为OFF。步骤1007将“程序块状态信息”的该程序块ID的状态变更为停止。最后在步骤1008,与正常响应一起返回数据,结束全部处理。
执行以上说明的图10的程序的结果是一旦接收到“程序块执行结果获得命令”,就向命令发出源返回与程序块执行结果相当的数据。
图11是“程序块写入命令”的对应处理的详细的流程图。该图中,处理开始后,步骤1101从“应用程序数据”的数据区域信息取得程序块的插入位置。
接着在步骤1102中判断指定给命令参数的程序块ID是否已经存在。这里,如果指定给命令参数的程序块ID被判断为已经存在(步骤1102YES),则对命令发出源返回出错响应(步骤1107),结束处理。
与此相反,在步骤1102中如果指定给命令参数的程序块ID被判断为尚未存在(步骤1102NO)时,在步骤1103中在所述插入位置写入与指定给命令参数的程序块ID相同的命令参数的程序块数据。
在步骤1104,更新“应用程序数据”的数据存储区域。步骤1105中追加写入在“程序块数据状态信息”中的该程序块ID,并将状态变更设定为停止。最后,在步骤1106中,与正常响应一起返回数据,结束处理。
执行以上说明的图11的程序的结果是在接收到“程序块写入命令”时,将命令参数指定的程序块自动追加到“应用程序数据”中。
图12是“程序块删除命令”的对应处理的详细的流程图。该图中,处理开始后,在步骤1201从“应用程序数据”的数据区域信息取得指定给命令参数的程序块的位置。
接着在步骤1202中判定是否不存在指定的程序块。这里如果判断为没有指定的程序块(步骤1202YES),则对命令发出源返回出错响应(步骤1207),结束处理。
与此相反,在步骤1202中如果判断为存在指定的程序块(步骤1202NO),则在步骤1203删除该程序块数据。
步骤1204更新“应用程序数据”的数据区域信息。步骤1205删除从“程序块状态信息”删除的程序块ID的记录。最后与正常响应一起返回数据(步骤1206),结束处理。
执行以上说明的图12的程序的结果是在接收到“程序块删除命令”时,自动删除“应用程序数据”的指定的程序块。
图13和图14是从可编程控制器侧发出的“程序块启动命令”的对应处理的详细的流程图(其一和其二)。该处理说明从某控制器A启动另外的控制器B上的程序块的流程中的一连串处理的一部分。该一连串的流程是在控制器A的程序运行处理中,开始执行程序块启动命令(RCALLPB命令),作为该命令的处理根据其运算数信息向控制器A的“网络处理委托项目信息”中存储数据,接收该数据通过控制器A的网络处理向控制器B端发出命令(参考图6步骤606~608)。下面的说明是控制器A用该RCALLPB命令处理的内容。
图13中,处理开始后,在步骤1301判断是否处于命令发出过程中。这里,如果判断为未处于命令发出中时(步骤1301NO),则步骤1302根据“控制器的其他网络地址信息”(参考图28)对照与运算数1的控制器识别码相当的控制器的网络地址。是否处于命令发出中是通过在工作存储器上每个命令具有的存储区域,参考该存储区域来判断。
在步骤1303中,在“网络处理委托项目存储区域”中设置所述地址和运算数2~3的数据。
接着步骤1304中判断是否没有指定程序块。这里,如果判断为没有指定程序块(步骤1304YES),就直接结束处理。与此相反,在步骤1304中如果判断为有指定程序块(步骤1304NO),则在步骤1305中在程序块的输入参数中设置命令参数的“执行参数数据”。接着在步骤1306中存储命令发出过程中,结束处理。
另一方面,在步骤1301中如果判断为处于命令发出中(步骤1301YES),则进到图14,在步骤1401中判定是否有对命令的响应。这里如果判断为没有对命令的响应(步骤1401NO),则返回图13并直接结束处理。
与此相反,步骤1401中如果判断为有对命令的响应(步骤1401YES),接着在步骤1402中判定是否为出错响应。这里,如果判断为是出错响应时(步骤1402YES),返回图13,结束处理。
与此相反,步骤1402中如果判断为不是出错响应(步骤1402NO),则步骤1403中根据响应参数将“执行结果数据”设置为操作数4中表示的存储器地址。
最后步骤1404中解除处于命令发出过程中,回到图13并且结束处理。
执行以上说明的图13和图14的程序的结果是一旦接收到“程序块启动命令”时,自动执行指定的程序块。
另外,接收命令和响应不存在时(步骤601NO),跳过接收命令/响应分析处理(步骤602)和各命令以及响应的其他处理(步骤603-1,603-2~603-n)。
接着在步骤604中,从工作存储器105内的命令发送用的网络处理委托项目存储区域读出网络处理委托项目信息。
图29是网络处理委托项目信息(工作区域内的网络处理委托项目存储区域的内容)的存储例的说明图。如该图所示,网络处理委托项目信息通过彼此相关地存储“对方地址”和“命令”以及“参数”构成。图中的例子中,存储区域前面分别存储作为“对方地址”的可编程控制器A、作为“命令”的程序块启动&结果获得、以及作为“参数”的PB10,Data ABCD,第二个以后的区域为空。
回到图6,接着步骤605中参考图29所示的网络处理委托项目存储区域的内容,判定有无处理委托。这里,若有处理委托(步骤605YES),则顺序执行读出前面的委托的处理(步骤606)、生成命令并发送的处理(步骤607)以及将网络处理委托项目存储区域向前进一级的处理(步骤608)。由此,从该可编程控制器向其他可编程控制器或支持工具等,就可以发出用网络处理委托项目信息规定的各种命令。
另外,在判断为没有处理委托时(步骤605NO),就跳过读出所述前面的委托的处理(步骤606)、生成命令并发送的处理(步骤607)以及将网络处理委托项目存储区域向前进一级的处理(步骤608)。
接着说明实现支持工具的动作的系统程序。
图15和图16是实现第一实施例(支持工具的程序块启动及结果同时取得操作)的支持工具的动作的系统程序的整体构成的流程图(其一和其二)。
图15中处理开始后,在步骤1501,执行启动时处理,进行各种标记和寄存器一类的初始设定。
步骤1502中显示功能选择画面。该功能选择画面中作为选择项包括“程序块形成功能”、“程序块启动/同时获得结果功能”以及其他功能。
步骤1503中,操作员在这些画面显示的功能中选择希望的功能。
功能选择处理(步骤1503)中,如果选择“程序块形成功能”(步骤1504YES)时,接着,执行公知的程序块形成功能处理(步骤1505),实现程序形成需要的各种支持功能。
进到图16,在选择“程序块启动/同时获得结果功能”时(步骤1601YES),接着,执行程序块启动/同时获得结果功能处理(步骤1602)。
同样,可选择各种功能并执行对应的处理,如果执行未图示的结束操作(步骤1603YES),则执行公知的结束处理(步骤1604),于是处理结束。
实现第二实施例(从支持工具的程序块启动及其结果他途取得操作)的支持工具的动作的系统程序的整体构成的流程图(其一和其二)。
图17中处理开始后,在步骤1701,执行启动时初始化处理,进行各种标记和寄存器一类的初始设定。
接着步骤1702显示功能选择画面,成为等待功能选择状态。这里,作为选择项显示出“程序块形成功能”、“程序块启动功能”、“程序块执行结果获得功能”等。
步骤1703中,操作员在这些选择项中选择希望的功能。
这里如果选择“程序块形成功能”(步骤1704YES)时,执行公知的程序块形成功能处理(步骤1705)。
此外,如果选择“程序块启动功能”(步骤1706YES),则执行与本发明相关的程序块启动功能处理(步骤1707)。
进到图18,如果选择“程序块启动执行结果获得功能”(步骤1801YES),则执行与本发明相关的程序块执行结果获得功能处理(步骤1802)。
如果操作员执行规定的结束操作(步骤1803YES),则执行公知的结束处理(步骤1804),于是处理结束。
图19和图20是实现第三实施例(从支持工具的程序块追加/删除操作)的支持工具的动作的系统程序的整体构成的流程图(其一和其二)。
图19中处理开始后,在步骤1901,执行启动时初始化处理,进行各种标记和寄存器一类的初始设定。
接着步骤1902中显示功能选择画面,在该画面上,作为选择项显示出“程序块形成功能”、“程序块发送&执行功能”等。
操作员如果选择其中一个功能(步骤1903),则选择的功能若是“程序块形成功能”(步骤1904YES)时,执行公知的程序块形成功能处理(步骤1905)。
此外若选择的功能是“程序块发送&执行功能”(步骤2001YES),则执行程序块发送&执行功能(步骤2002)。
之后,若执行规定结束操作(步骤2003YES),则经结束处理(步骤2004)而结束处理。
最后说明4个利用以上说明的可编程控制器(PLC)和支持工具的动作的操作员具体进行的操作的实施例。
(实施例1:从支持工具的程序块启动和结果的同时获得)
(1)构造由可编程控制器A和支持工具构成的系统(参考图1的系统构成1)。
(2)在可编程控制器A中作为应用程序存储有如图21(a)那样被分割的程序块(PB10,PB11,PB12)。在可编程控制器A中存储的应用程序数据的内容为图25那样的状态。
(3)程序块中PB10为停止状态,PB11和PB12为启动中。
(4)操作者使用支持工具,通过“程序块启动/结果获得”功能指定可编程控制器A的PB10,通过输入用于执行的参数,向可编程控制器委托处理(参考图31的画面)。图中,A1是主标题显示区域、A5是详细显示区域、3101是控制器ID显示区域、3102是程序块显示区域、3103是执行参数显示区域、3104是OK选择按钮、3105是取消选择按钮。此时,支持工具向可编程控制器A经网络发出“程序块启动/结果获得”命令(步骤1503,1601,1602)。
(5)可编程控制器A接收所述命令,在输入参数中存储添加于命令的参数,使PB10为启动状态(步骤705,706)。假设PB10不存在于可编程控制器A中,则返回出错响应(步骤807)。该处理在网络处理中进行。
(6)可编程控制器A在以后的程序运行处理中与PB10相关,仅在初始化执行时将执行完成标记设为OFF,然后开始执行。并且处理结束时将执行结束标记设为ON,同时将执行结果存储在输出参数中。在处理结束中也考虑需要多个执行循环的情况。
(7)可编程控制器A在网络处理中确认执行结束标记为ON(步骤801),将作为输出参数保存的数据作为前面的“程序块启动&结果获得”命令的响应返回给支持工具,同时将PB10设为停止状态(步骤802,803,804)。
(8)支持工具接收来自可编程控制器A的响应,将返回的数据作为执行结果显示(参考图32的画面)。图中,A1是主标题显示区域、A2是详细显示区域、3301是OK选择按钮。
(实施例2:从支持工具的程序块启动和结果的他途获得)
(1)构造由可编程控制器A和支持工具构成的系统(参考图1的系统构成1)。
(2)在可编程控制器A中作为应用程序存储如图21(a)那样被分割的程序块(PB10,PB11,PB12)。在可编程控制器A中存储的应用程序数据为图25那样的状态。
(3)程序块中PB10为停止状态,PB11和PB12为启动中。
(4)操作者使用支持工具,通过“程序块启动”功能指定可编程控制器A的PB10,通过输入用于执行的参数,向可编程控制器委托处理(参考图34的画面)。图中,3401是控制器ID显示区域、3403是执行参数显示区域、3404是OK选择按钮、3405是取消选择按钮。此时,支持工具向可编程控制器A经网络发出“程序块启动”命令(步骤1703,1706,1707)。
(5)可编程控制器A接收所述命令,在输入参数中存储添加于命令的参数,使PB10为启动状态(步骤904,905)。该处理在网络处理中进行,所述处理结束时将正常结束的响应返回支持工具(步骤906)。假设PB10不存在于可编程控制器A中,则返回出错响应(步骤907)。
(6)可编程控制器A在以后的程序运行处理中与PB10相关,仅在初次执行时将执行完成标记设为OFF,然后开始执行。并且处理结束时将执行结束标记设为ON,同时将执行结果存储在输出参数中。在处理结束中也考虑需要多个执行循环的情况。
(7)如果表示在可编程控制器A侧正常启动PB10的响应时返回,支持工具就显示执行成功,然后询问操作者是否执行结果获得(参考图35的画面)。图中,A1是主标题显示区域、A5是详细显示区域,3501是OK选择按钮、3502是取消选择按钮。即使操作者继续执行结果获得,也可暂时结束工具的功能,为另外取得结果,可使用“程序块执行结果获得”功能。假设返回出错响应时,画面上显示出错(参考图36的画面)。图中,A1是主标题显示区域、A5是详细显示区域,3601是OK选择按钮、3502是取消选择按钮(步骤1703,1801,1802)。
(8)接着操作者指示执行输入结果获得时,支持工具以PB10为参数向可编程控制器A发出“程序块执行结果获得”命令。
(9)可编程控制器A接收所述命令,确认PB10的执行结束标记是否为ON。执行结束标记为ON时,以输出参数保存的数据作为命令的响应,向支持工具返回,同时,将PB10设为停止状态。执行结束标记不为ON时,作为命令的响应返回“执行未完成”错误。
(10)支持工具接收来自可编程控制器A的响应,显示返回的结果(参考图37的画面)。图中,A1是主标题显示区域、A5是详细显示区域、3701是OK选择按钮。假设返回出错响应时,在画面显示出错,促使再执行(参考图38的画面)。图中,A1是主标题显示区域、A5是详细显示区域、3801是OK选择按钮,3802是取消选择按钮。
(11)操作者在指定的程序块启动暂时结束为取得程序块的执行结果,改为使用“程序块执行结果获得”功能时,改变并指定程序块(参考图39的画面)。图中,A1是主标题显示区域、A5是详细显示区域、3901是OK选择按钮,3902是取消选择按钮。支持工具以PB10为参数向可编程控制器A发出“程序块执行结果获得”命令(步骤1703,1801,1802)。
(12)可编程控制器A接收所述命令,确认PB10的执行结束标记是否为ON。执行结束标记为ON时,以作为输出参数保存的数据为命令的响应,向支持工具返回,同时,将PB10设为停止状态(步骤1005,1006,1007)。执行结束标记不为ON时,作为命令的响应返回“执行未完成”错误(步骤1009)。
(13)支持工具接收来自可编程控制器A的响应,显示返回的数据(参考图40)。图中,A1是主标题显示区域、A5是详细显示区域、4001是OK选择按钮。假设返回出错响应时,在画面显示出错,促使再执行(参考图41的画面)。图中,A1是主标题显示区域、A5是详细显示区域、4101是OK选择按钮,4202是取消选择按钮。
(实施例3:从支持工具的程序块追加/删除)
(1)构造由可编程控制器A和支持工具构成的系统(参考图1的系统构成1)。
(2)在可编程控制器A中作为应用程序存储如图21(a)那样被分割的程序块(PB10,PB11,PB12)。在可编程控制器A中存储的应用程序数据为图25那样的状态。
(3)操作者使用支持工具预先作成PB20的程序块数据。通过“程序块发送&执行”功能,向可编程控制器A选择PB20,输入用于执行的参数,向可编程控制器A委托处理(步骤1903,2001,2002)。
(4)通过所述处理,支持工具和可编程控制器A进行以下的处理。
(5)支持工具向可编程控制器A通过网络通过“程序块写入”命令将PB20的程序块数据发送到可编程控制器A。
(6)可编程控制器A接收所述命令,存储将PB20的程序块数据存储到规定的地方(步骤1103,1104,1105)。即,PB20的程序块数据从图25的状态(没有PB20)改变为图26的状态(有PB20),结果应用程序的构成变为如图21(b)所示。此时PB20为停止状态。该处理在网络处理中进行。
(7)支持工具确认来自可编程控制器A的正常响应后,指定PB20添加执行参数数据,发出“程序块启动&结果获得”命令。
(8)可编程控制器A接收所述命令将添加于命令的参数存储在输入参数中并将PB20设为启动状态。该处理在网络处理中进行。
(9)可编程控制器A在以后的程序运行处理中与PB20相关,仅在初始化执行时将进行完成标记设为OFF,然后开始执行。并且处理结束时将执行结束标记设为ON,同时将执行结果存储在输出参数中。在处理结束中也考虑需要多个执行循环的情况。
(10)可编程控制器A在网络处理中确认PB20的执行结束标记为ON,将作为输出参数保存的数据作为前面的“程序块启动&结果获得”命令的响应返回给支持工具,同时将PB20设为停止状态。
(11)支持工具接收来自可编程控制器A的响应,将返回的数据作为“程序块发送&执行”功能的执行结果显示出来,同时通过“程序块删除”命令向可编程控制器A发出删除PB20的程序数据的命令。
(12)可编程控制器A接收所述命令,从应用程序数据中删除PB20的数据。结果应用程序的状态从图26的状态返回到图25的状态,结果应用程序的构成也回到图21(a)的结构。
(实施例4:从其他可编程控制器的程序启动和结果的同时获得)
(1)构造由可编程控制器A和可编程控制器B构成的系统(参考图1的系统构成2)。
(2)在可编程控制器A中作为应用程序存储如图21(a)那样被分割的程序块(PB10,PB11,PB12)。在可编程控制器A中存储的应用程序数据为图25那样的状态。
(3)可编程控制器A中存储的程序块中,PB10为停止状态,PB11和PB12为启动中。
(4)可编程控制器B中存储有包含如图30所示用于启动可编程控制器A的程序块的“程序块启动命令”(3001)的程序块。“程序块启动命令码”(3001a)的操作数(3001b)中有表示可编程控制器A的识别码的编程、操作数2(3001c)中有表示作为可编程控制器A中存储的程序块的PB10的识别码的编程、操作数3(3001d)中有用于执行PB10的参数数据的编程、操作数4(3001e)中有存储执行结果的可编程控制器上的存储器地址的编程。
(5)可编程控制器B的程序块执行处理中,执行所述“程序块启动命令”时,可编程控制器B作为该命令处理,从运算数提取必要信息,将操作数1的信息对照图28的“可编程控制器的其他网络地址信息”来变换为网络地址,与操作数2,3的信息一起如图29所示存储在网络处理委托项目存储区域中。然后,存储处于命令发出过程中,结束该循环的命令执行处理,移动到下一命令的执行处理。
(6)在可编程控制器B的网络处理中,根据网络处理委托项目存储区域的信息,向可编程控制器A经网络发出“程序块启动&结果获得”命令。
(7)可编程控制器A接收所述命令,在输入参数中存储添加于命令的参数,并将PB10设为启动状态。该处理在网络处理中进行。
(8)可编程控制器A在以后的程序运行处理中与PB10相关,仅在初始化执行时将执行完成标记设为OFF,然后开始执行。并且处理结束时将执行结束标记设为ON,同时将执行结果存储在输出参数中。在处理结束中也考虑需要多个执行循环的情况。
(9)可编程控制器A在网络处理中确认执行结束标记为ON,将作为输出参数保存的数据作为前面的“程序块启动&结果获得”命令的响应返回给可编程控制器B,同时将PB10设为停止状态。
(10)可编程控制器B在网络处理中接收到来自可编程控制器A的响应,将响应数据作为执行结果存储。
(11)在可编程控制器B中,执行“程序块启动命令”时,处于命令发出过程中的情况下,确认是否来有自可编程控制器A的响应返回,未返回响应时,移动到下一命令的执行处理,有返回响应时,将响应数据拷贝到操作数4所示的存储器地址中,清除处于命令发出过程中的状态。由此,以后,在可编程控制器B的应用程序中,参考可编程控制器A的PB10的执行结果可用于其他处理。
关于实施例3,也考虑使程序块数据的发送和程序块启动作为独立功能的形态,关于实施例4,如实施例2一样,也考虑将程序块启动和结果获得分为不同命令来进行的形态。
根据以上说明的本发明的实施例,期待有下面的另外的作用效果。
(1)为了能在执行程序块侧的可编程控制器中进行运算处理需要的数据的采样,不需要每次对经过网络的数据进行采样,仅接收运算处理结果,所以可减轻网络负担。
(2)运算处理需要的数据的采样在执行程序块侧的可编程控制器中进行,不被网络的数据传输时间所左右,从而可以以短的周期来对数据采样。
(3)关于对来自外部的运算处理的委托,委托方法集中在执行参数中,不用从外部直接指定地址来读写数据,因此在可编程控制器内的数据分配变更的情况下,运算处理委托侧的程序也不需要校正变更。
(4)在1台可编程控制器中,在程序已经被分割的情况下,将1台的处理分散到多台的可编程控制器时,切去想分散的程序块部分,存储在另外的可编程控制器中,从而仅添加从外部启动对应的程序块的程序逻辑即可,故能够容易地变更系统构成。反之亦然。
(5)通过对运行中的程序追加来自外部的新的程序块,执行并其得到结果,并且结果获得后追加的程序块能够由可编程控制器删除,所以只在必要时仅追加必要的处理,除此以外并且此外不对可编程控制器的资源添加负担。例如,事先未预料的故障发生时,可从远方操作可编程控制器进行故障排除和维护等。
如以上说明所示,根据本发明,在多个可编程控制器中分散配置程序的系统中,可以采用构造的编程方法,并且通过经网络简单且间接地构成数据交换,即使设备结构变更,也可使程序的变更负担保持在最小限度。
Claims (7)
1.一种可编程控制器系统,其特征在于:具有两台或两台以上的可编程控制器,在可编程控制器之间,经网络或总线进行数据的交换,
各个所述可编程控制器为对多个根据规定的命令语句作成的程序以块单位与识别符一起进行存储,并且将这些各个程序块分别切换为运行状态和停止状态来执行从各程序块中选择的程序块的块单位执行型可编程控制器;
一个块单位执行型可编程控制器中组装有发送部件,该部件用于在程序执行处理中,以执行程序块启动命令为开端,对其他块单位执行型可编程控制器的程序块用识别符进行特定并发出对规定操作进行指示的程序块操作命令,并将该命令发送到所述其他块单位执行型可编程控制器的对方地址;所述其他块单位执行型可编程控制器中组装有命令对应处理执行部件,该部件从所述一个块单位执行型可编程控制器接收程序块操作命令,读出该命令的识别符,并执行与用该识别符特定的程序块对应的处理。
2.一种可编程控制器系统,其特征在于,包括:
块单位执行型可编程控制器,用于对多个根据规定的命令语句作成的程序以块单位与识别符一起进行存储,并且将这些各个程序块分别切换为运行状态和停止状态来执行从各程序块中选择的程序块;以及
所述块单位执行型可编程控制器之间经网络或总线进行数据的交换的1个或2个以上的可编程控制器、支持工具、以及主计算机等其他装置;
所述其他装置的至少一个中组装有发送部件,该部件对块单位执行型可编程控制器的程序块用识别符进行特定并发出对规定操作进行指示的程序块操作命令,并将该命令发送到所述块单位执行型可编程控制器的对方地址;
所述块单位执行型可编程控制器中组装有命令对应处理执行部件,该部件从所述其他装置接收程序块操作命令,读出该命令识别符,并执行与用该识别符特定的程序块对应的处理。
3.根据权利要求1和2中的任一项所述的可编程控制器系统,所述程序块包括:作为实际执行对象的程序块主体;用于执行程序块主体的输入参数;程序块主体的事项结果的输出参数;
所述程序块操作命令具有如下指示内容:在命令发送对方的程序块的输入参数中设置执行参数数据,并启动执行该程序块;将命令发送对方的程序块的输出参数作为执行结果返回到命令发出源;
接收了命令的块单位执行型可编程控制器,根据该程序块操作命令的指示执行特定的程序块,并将该执行结果的输出参数发送到命令发出源;
命令发出源的块单位执行型可编程控制器和其他装置从命令发送对方的块单位执行型可编程控制器那里取得执行结果的输出参数。
4.根据权利要求1和2中的任一项所述的可编程控制器系统,所述程序块包括:作为实际执行对象的程序块主体;用于执行程序块主体的输入参数;
所述程序块操作命令具有如下指示内容:在命令发送对方的程序块的输入参数中设置执行参数数据,并启动执行该程序块;
接收了命令的块单位执行型可编程控制器,根据该程序块操作命令的指示执行特定的程序块。
5.根据权利要求1和2中的任一项所述的可编程控制器系统,所述程序块包括:作为实际执行对象的程序块主体;程序块主体的事项结果的输出参数;
所述程序块操作命令具有如下指示内容:将命令发送对方的程序块的输出参数作为执行结果返回到命令发出源;
接收了命令的块单位执行型可编程控制器,根据该程序块操作命令的指示向命令发出源发送特定的程序块的执行结果的输出参数;
命令发出源的块单位执行型可编程控制器和其他装置从命令发送对方的块单位执行型可编程控制器那里取得执行结果的输出参数。
6.根据权利要求1和2中的任一项所述的可编程控制器系统,程序块操作命令具有如下指示内容:将添加于命令的特定程序块写入程序块存储区域,
接收了命令的块单位执行型可编程控制器,根据该程序块操作命令的指示将特定的程序块写入程序块存储区域。
7.根据权利要求1和2中的任一项所述的可编程控制器系统,程序块操作命令具有如下指示内容:将指定的程序块从程序块存储区域删除。
接收了命令的块单位执行型可编程控制器,根据该程序块操作命令的指示将特定的程序块从程序块存储区域删除。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP133454/01 | 2001-04-27 | ||
JP2001133454 | 2001-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1385770A CN1385770A (zh) | 2002-12-18 |
CN1241078C true CN1241078C (zh) | 2006-02-08 |
Family
ID=18981313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN02140194.2A Expired - Lifetime CN1241078C (zh) | 2001-04-27 | 2002-04-27 | 可编程控制器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020198970A1 (zh) |
CN (1) | CN1241078C (zh) |
DE (1) | DE10218816A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10234233A1 (de) * | 2002-07-27 | 2004-02-05 | Kuka Roboter Gmbh | Verfahren zum Austausch von Daten zwischen Steuerungen von Maschinen, insbesondere von Robotern |
EP1582948B1 (en) * | 2004-03-31 | 2009-06-24 | Omron Corporation | Development aid device |
JP5099251B1 (ja) * | 2011-07-15 | 2012-12-19 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体 |
JP5826121B2 (ja) * | 2012-06-18 | 2015-12-02 | 株式会社安川電機 | 機械制御プログラム作成装置、機械制御プログラム作成方法、プログラム及び情報記憶媒体 |
JP6520545B2 (ja) | 2015-08-10 | 2019-05-29 | オムロン株式会社 | サポート装置およびサポートプログラム |
KR102079499B1 (ko) * | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 |
DE102017208831A1 (de) | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Verarbeitung von Prozessdaten |
CN110825378B (zh) * | 2019-09-17 | 2023-07-18 | 秦皇岛米格教育科技有限公司 | 基于程序积木的编程系统和控制系统 |
CN110908662A (zh) * | 2019-12-09 | 2020-03-24 | 苏州精易会信息技术有限公司 | 一种基于积木编程的区域积木块的实现方法及装置 |
CN111352381B (zh) * | 2019-12-16 | 2024-03-26 | 常州汇邦电子有限公司 | 可编程逻辑控制器编程方法、可编程逻辑控制器及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751796B1 (en) * | 1993-06-25 | 2004-06-15 | Microsoft Corporation | Integration of systems management services with an underlying system object model |
ATE184405T1 (de) * | 1996-01-17 | 1999-09-15 | Siemens Ag | Automatisierungsgerät |
US6247065B1 (en) * | 1996-12-26 | 2001-06-12 | At&T Corp. | Messaging platform process |
US6496870B1 (en) * | 1997-01-31 | 2002-12-17 | Sun Microsystems, Inc. | System, method and article of manufacture for collaboration with an application |
US6484061B2 (en) * | 1997-09-10 | 2002-11-19 | Schneider Automation Inc. | Web interface to a programmable controller |
US6151700A (en) * | 1997-10-20 | 2000-11-21 | International Business Machines Corporation | Object oriented distributed programming system for computer controlled networks with selective capture of program property data identifying a particular program version |
US6282697B1 (en) * | 1998-09-18 | 2001-08-28 | Wylci Fables | Computer processing and programming method using autonomous data handlers |
US6502238B1 (en) * | 1998-12-31 | 2002-12-31 | Honeywell International Inc. | System for constructing and distributing block-based fragments |
US6711698B1 (en) * | 2000-07-07 | 2004-03-23 | Schneider Automation Inc. | Programmable logic controller with provisions for safety systems |
US7000220B1 (en) * | 2001-02-15 | 2006-02-14 | Booth Thomas W | Networked software development environment allowing simultaneous clients with combined run mode and design mode |
-
2002
- 2002-04-25 US US10/133,981 patent/US20020198970A1/en not_active Abandoned
- 2002-04-26 DE DE10218816A patent/DE10218816A1/de not_active Ceased
- 2002-04-27 CN CN02140194.2A patent/CN1241078C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1385770A (zh) | 2002-12-18 |
DE10218816A1 (de) | 2003-02-27 |
US20020198970A1 (en) | 2002-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1293465C (zh) | Gui显示装置及光标或gui组件动画显示处理方法 | |
CN1149492C (zh) | 遥控方法和服务器 | |
CN1306406C (zh) | 在多个输入/输出子系统映像上共享通信适配器的方法和系统 | |
CN1273888C (zh) | 成像装置、信息处理装置、程序执行方法及程序生成方法 | |
CN1253790C (zh) | 指令调度方法和指令调度设备 | |
CN1154935C (zh) | 设备控制装置及设备判断方法 | |
CN1610323A (zh) | 控制系统设定装置和控制系统设定方法及设定程序 | |
CN1601483A (zh) | 一种基于脚本解释工具的自动化软件测试系统 | |
CN1241078C (zh) | 可编程控制器系统 | |
CN1172239C (zh) | 执行移动对象的方法 | |
CN1773407A (zh) | 信息处理装置、运行状况管理装置、信息处理方法 | |
CN1795434A (zh) | 程序执行控制设备,程序执行控制方法,控制程序和记录介质 | |
CN1517869A (zh) | 处理器、运算处理方法和优先度决定方法 | |
CN101064656A (zh) | 存储集群系统、数据处理方法和程序 | |
CN1371488A (zh) | 编辑装置及用于存储编辑程序的存储介质 | |
CN1530530A (zh) | 电子控制装置及电子驱动装置 | |
CN1633803A (zh) | 显示装置、电子设备、数据传输方法、信息终端装置、主机装置、程序、记录媒体 | |
CN1758222A (zh) | 程序处理装置 | |
CN1728093A (zh) | 生成比特块传输函数的交叉平台运行时间代码 | |
CN1477524A (zh) | 图像处理装置 | |
CN1737747A (zh) | 信息处理装置 | |
CN1194295C (zh) | 程序变换装置及程序变换方法 | |
CN1191026A (zh) | 用于sql关系数据库的仿真器 | |
CN1263254C (zh) | 信息处理系统、便携式终端及信息处理服务器 | |
CN1645326A (zh) | 一种软件功能更新的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20060208 |
|
CX01 | Expiry of patent term |