CN105556405B - 控制器及其编程方法 - Google Patents
控制器及其编程方法 Download PDFInfo
- Publication number
- CN105556405B CN105556405B CN201480051197.XA CN201480051197A CN105556405B CN 105556405 B CN105556405 B CN 105556405B CN 201480051197 A CN201480051197 A CN 201480051197A CN 105556405 B CN105556405 B CN 105556405B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- operand
- loop
- sequence
- command
- 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.)
- Active
Links
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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
Abstract
本发明提供一种用梯形程序记述并执行由输入处理、控制运算处理、输出处理构成的一连串的循环控制的控制器(10)。控制器(10)具备顺序处理器(1)、运算处理器(2)和存储器(3),在存储器(3)中具备梯形程序(4)和循环控制程序(6),梯形程序(4)由命令和操作数的组合构成,顺序处理器(1)依次读出梯形程序(4),在梯形程序(4)的命令为顺序命令时,由顺序处理器(1)执行顺序命令,在梯形程序(4)的命令为循环命令时,运算处理器(2)执行循环控制程序,循环命令具有至少可定义输入处理、控制运算处理和输出处理的循环命令用操作数。
Description
技术领域
本发明涉及执行顺序控制和循环控制的控制器以及编程方法。
背景技术
自来水污水厂的自动控制由顺序控制和循环控制构成,其中,顺序控制以泵和水处理装置的启动停止、阀和闸的开闭、向监视操作装置的显示和操作等比特数据运算为主体,循环控制以流量和水质的PID控制等数值数据运算为主体。自来水污水厂的自动控制的大半部分是顺序控制。
对自来水污水厂的顺序控制要求高速性和可靠性,所以不仅应用通过控制器进行的顺序控制(软件顺序控制),对于重要设备为了提高可靠性还应用通过中继电路进行的硬件顺序控制。这样,由于软件顺序控制和硬件顺序控制混合,所以希望在执行顺序控制的控制器中安装能够通过与硬件顺序标记相同的梯形图形式进行编程的梯形程序。另外,需要安装能够高速执行梯形程序的顺序专用处理器。
一个循环控制由来自工厂的信号输入处理、控制对象过程的控制运算处理、向工厂的输出处理构成。
相对于自来水污水厂使用50年以上,测量控制装置的产品寿命为10年左右较短,而且由于腐蚀性气体、湿气的影响有时还降低到数年以下,在工厂的使用中测量控制装置多次被更新为最新产品。每次更新时测量控制装置的规格发生变化,尤其是存在模拟信号规格、A/D变换规格、D/A变换规格各种各样,即使在同一工厂内也不统一的情况。这是由于更新年代的不同,信息通信技术、使用规格、部件寿命、工厂运转方法、更新预算等不同而产生的。因此,在循环控制的输入处理和输出处理中需要应对多种多样的信号规格。
另外,由于自来水污水的处理过程是自然开放系统,具有相当于原材料的原水的流量和水质因自然界、生活和经济活动的影响而大幅变化的特点。因此,在流量、水质等的循环控制中要求应对干扰等的工厂固有的复杂的控制运算处理。
因此,对执行循环控制的控制器要求以下的结构:作为子程序具有在输入处理、控制运算处理、输出处理中要求的功能,可将子程序组合起来构建循环控制主程序。而且,需要安装能够高速执行循环控制主程序的运算用处理器。
基于以上所述,对执行顺序控制和循环控制的控制器要求以下的结构:能够用梯形程序的顺序命令记述顺序控制,用循环命令记述循环控制,而且,使梯形程序的循环命令成为具备输入处理、控制运算处理以及输出处理的功能组的多功能命令,能够根据由梯形程序记述的参数选择并执行功能。另外,需要以下的结构:安装顺序用处理器和运算用处理器,可由顺序用处理器执行顺序命令,由运算用处理器执行循环命令。
目前,鉴于这样的情况,提出了由各个专用处理器执行用梯形程序记述的顺序控制用命令和循环控制用命令的技术(例如,专利文献1)。
根据专利文献1中公开的技术,可以用顺序处理处理器获取用梯形程序记述的命令,在为顺序命令时由顺序处理处理器执行,在为过程控制命令时过程控制处理器首先从通过操作数定义的数据存储器的地址读出数据,然后执行命令。
现有技术文献
专利文献
专利文献1:日本特开平7-248807号公报
发明内容
发明要解决的问题
根据专利文献1,将构成梯形程序的命令和操作数存储在程序存储器中,将命令记载为可以参照在操作数表示的数据存储器的地址存储的数据。为了使用专利文献1的技术实现循环控制用的多功能命令和参数的组合,在梯形程序的命令中定义循环控制用多功能循环命令,在操作数中定义参数存储目的地的数据存储器地址。这样,为了通过多功能命令实现循环控制,不得不在操作数表示的数据存储器地址配置参数。因此,相对于仅仅通过梯形程序的命令和操作数就能完成顺序控制,循环控制除了梯形程序的命令和操作数以外,还需要在数据存储器中定义的参数。
这样,根据专利文献1的技术,在生成循环控制时不仅用梯形程序定义多功能循环命令和操作数,还需要向数据存储器的定义,所以一边确保定义的一致性一边实施梯形程序的定义和数据存储器的定义这两个操作,存在需要劳力的问题。
本发明正是鉴于这样的现有技术的情形而提出的,其目的在于提供一种用梯形程序记述并执行由输入处理、控制运算处理、输出处理构成的一连串的循环控制的控制器。
用来解决问题的手段
为了解决上述问题,控制器具备:顺序处理器、运算处理器和存储器,在存储器中具备梯形程序和循环控制程序,梯形程序由命令和操作数的组合构成,顺序处理器依次读出梯形程序,在梯形程序的命令为顺序命令时由顺序处理器执行顺序命令,在梯形程序的命令为循环命令时运算处理器执行循环控制程序,循环命令具备至少可定义输入处理、控制运算处理和输出处理的循环命令用操作数。
与控制器形成对应关系的、以梯形图形显示控制器的梯形程序的编程装置的方式是:在梯形图形上具备用来定义和显示循环命令用操作数的循环命令用操作数区域,在梯形程序的命令为循环命令时,在循环命令用操作数区域定义和显示操作数。
发明的效果
根据本发明,具有如下的效果:能够仅通过由梯形程序记述的循环命令和操作数来构建输入处理、控制运算处理和输出处理这一连串的循环控制,所以能够由具有梯形程序的知识的工程师容易地构建混合了顺序控制和循环控制的多种多样的控制系统。
附图说明
图1是实施方式的控制器的构成图。
图2是实施方式的控制器的时序图。
图3是表示实施方式的控制器的梯形程序的一例的图。
图4是表示实施方式的控制器的梯形程序的一例的图。
图5是表示实施方式的控制器的顺序处理器的处理顺序的图。
图6是表示实施方式的控制器的运算处理器的处理顺序的图。
图7是表示实施方式的控制器的循环控制程序的处理顺序的流程图。
图8是表示工厂的循环控制的功能的一例的图。
图9是表示由编程装置显示的梯形图的一例的图。
具体实施方式
以下,一边参照附图一边详细地说明控制器的实施方式。
图1是表示控制器的结构的图。
首先,说明工厂20、控制器10、编程装置11。
在本实施方式中,将工厂20作为净水厂来进行说明。净水厂是从堤坝、河流汲取原水,通过药剂沉降、沙滤、加氯来制造自来水的工厂。由原水泵设备、高压受电设备、备用发电机设备、药剂注入设备、沉降池设备、过滤池设备、加氯设备、送水泵设备、排水设备等构成。另外,工厂20中具有:用来操作各设备具有的泵和电机的启动停止、阀和闸的开闭、变压器和冷凝器的开关、切断器的开闭等的操作触点;以及用来输出运转和停止、全开和全闭、开和关、正常和故障等状态的状态触点。另外,还具备:测量流量、水位、水压、阀开度、水质等,发送1~5V、0~5V、4~20mA等的模拟信号的传感器;以及按照来自外部的模拟信号操作阀开度、转速、药剂注入量等的执行器等。
控制器10通过输入工厂20的状态触点和模拟信号,执行用梯形程序记述的顺序控制以及循环控制,向工厂20输出操作触点和模拟信号,由此自动控制工厂20。在此,顺序控制例如是指,泵的启动和停止的工序控制、过滤池的通水和清洗的工序控制、沉降池排泥阀的开闭控制、泵和冷凝器的台数控制等。另外,循环控制例如是指,基于流量测量数据的阀开度控制和泵转速控制、基于水质测量数据的药剂注入量控制和药剂注入泵行程控制、基于水位测量数据的阀开度控制和流量控制等。
编程装置11例如用个人电脑构成。编程装置11具备可以以梯形图形式显示以及编辑梯形程序的梯形程序开发环境,生成用来执行工厂20的顺序控制和循环控制的梯形程序,把梯形程序登录在控制器10中。
另外,具备基于C语言等程序语言的循环控制程序的开发环境,生成与梯形程序的循环命令的执行模块相应的循环控制程序,把循环控制程序登录到控制器10中。
下面,用图1说明控制器10的内部结构。
控制器10具有顺序处理器1、运算处理器2、存储器3、工厂输入输出4、通信接口9,并通过系统总线7相互连接。存储器3是RAM(Random Access Memory随机存取存储器)等,配置梯形程序4、寄存器5、循环控制程序6。
顺序处理器1是顺序控制专用的处理器,高速地执行比特逻辑运算和数据四则运算等比较简单的运算。顺序处理器1执行梯形程序4中记述的顺序命令和循环命令。在是顺序命令时,顺序处理器1执行运算处理。另外,在梯形程序4中检测到循环命令时,向运算处理器2发送循环命令的信息,进而把执行权转移到运算处理器2,执行作为循环命令的执行模块的循环控制程序6。
运算处理器2是用来执行复杂的数值运算的运算用处理器,当从顺序处理器1取得循环命令的信息和执行权时,执行循环控制程序6。
寄存器5是存储顺序命令和循环命令使用的比特数据、字数据和长字数据的区域,输入寄存器为“X***”、输出寄存为“Y***”、运算用寄存器为“R***”和“L***”等,针对每个用途分配地址。
例如,将来自工厂20的模拟信号和状态触点等数据通过工厂输入输出8进行A/D变换之后,存储在输入寄存器“X”中。将测量数据等字数据存储在输入寄存器XW000~XWFFF中,将状态触点等比特数据存储在输入寄存器X000~XFFF中。
另外,将存储在输出寄存器“Y”中的数据经由工厂输入输出8向工厂20输出。为了输出字数据使用输出寄存器YW000~YWFFF,为了输出比特数据使用输出寄存器Y000~YFFF。
另外,作为顺序命令的运算用寄存器,分配RW000~RWFFF用于字数据,分配R000~RFFF等用于比特数据。
另外,作为循环命令的运算用寄存器,分配LW000~LWFFF用于字数据,分配L000~LFFF用于比特数据。
另外,顺序命令可以以全部的寄存器作为运算对象进行访问,循环命令可以以运算用寄存器作为运算对象进行访问。
工厂输入输出8把从工厂20输出的状态触点和模拟信号等电气信号进行A/D变换,并经由总线7作为比特数据和字数据存储在寄存器5的输入寄存器“X”中。例如,把1~5V等的模拟信号进行A/D变换,作为字数据存储在输入寄存器XW000~XWFFF中。另外,例如,取入无电压的触点、有电压的触点等,作为比特数据存储在输入寄存器X000~XFFF中。
另外,例如,把寄存器5的输出寄存器的比特数据和字数据进行D/A变换,作为操作触点和模拟信号向工厂20输出。例如,把YW000~YWFFF的字数据D/A变换成1-5V等的模拟信号,并输出到在工厂中设置的执行器。另外,把比特数据区Y000~YFFF的比特数据变换成电气信号,输出到工厂20中具备的操作触点。
工厂输入输出8的A/D变换和D/A变换的量化规格中,例如有8比特、12比特、14比特等的种类。量化比特值越大,要求的技术水准越高,制造成本也越高。工厂输入输出8的量化规格因各设备的导入时期不同而多种多样,这是因为在工厂20的使用期间,信息通信技术水平、适用规格、可靠性、工厂运用方针、导入预算等周围环境急剧变化。
梯形程序4是记述多个由命令和操作数构成的步骤的结构。
命令大致分为顺序命令和循环命令,顺序命令与操作数组合记述顺序控制。1个顺序命令是具备1个运算功能的单功能命令,例如,针对比特逻辑运算、数据四则运算、数据传送等每个运算存在命令。顺序命令的运算对象是用操作数定义的寄存器5的数据。
循环命令与操作数组合记述循环控制。1个循环命令是具有1个循环控制所需的输入处理、控制运算处理、输出处理等功能的多功能命令。各功能由在操作数定义的参数决定。
作为输入处理的功能,具有把经由工厂输入输出8输入的测量数据变换成可以在控制运算处理中利用的尺度(scale)的功能。经由工厂输入输出8的A/D变换,作为测量数据取得工厂20的模拟信号。因此,测量数据的尺度因模拟信号规格与工厂输入输出8的A/D变换量化规格的组合而变动。因此,具有把操作数作为参数,取得模拟信号规格和量化规格的组合,把测量数据的尺度变换成在控制运算处理中可利用的称为标准值的尺度的功能。
另外,作为输入处理的其它功能,具备:线性变换、逆线性变换、开平方运算、功率因数变换、累积处理、一次延迟处理等数据变换功能,根据在操作数定义的参数,从这些功能中指定要执行的功能。
控制运算处理例如具备:干涉型PID、非干涉型PID、比率运算等功能,根据在操作数定义的参数,从这些功能中指定要执行的功能。
另外,循环命令访问分配给寄存器5的运算用数据区。
作为输出处理的功能,针对从控制运算处理输出的操作数据,具备线性变换、逆线性变换、开平方运算、功率因数变换、累积处理、一次延迟处理、BCD变换等数据变换功能。根据在操作数定义的参数,从这些功能中指定要执行的功能。
另外,作为输出处理的功能,具备把来自控制运算处理的操作数据从标准化尺度变换成适合工厂输入输出8的D/A变换量化规格和面向工厂20的模拟信号规格的尺度的功能,根据在操作数定义的参数,从这些功能中指定要执行的功能。
循环控制程序6是梯形程序4中记述的循环命令的执行模块。如果循环控制程序6启动,则取得梯形程序4中记述的操作数,按照操作数以输入处理、控制运算处理、输出处理的顺序执行这一连串的循环控制运算处理,把结果存储在寄存器5中,然后结束处理。
另外,利用运算处理器2执行循环控制程序6。
通信接口9是用来在编程装置11和存储器3之间发送接收数据的接口。
使用编程装置11的梯形程序开发环境,以梯形图形式生成工厂20的顺序控制以及循环控制用的梯形程序4,并经由通信接口9和总线7将其存储在存储器3中。另外,也可以是编程装置11经由通信接口9和总线7读出梯形程序4,以梯形图形式显示并编辑命令和操作数。
工厂20的整个控制的容量例如按梯形程序的步骤数为数千~数十万个步骤,按循环控制数为数百~数千个循环。
另外,使用编程装置11的循环控制程序的开发环境,生成基于C语言等程序语言的循环控制程序的源程序,在将其变换成执行模块形式的循环控制程序6之后,经由通信接口9和总线7存储在存储器3中。另外,控制器10经由工厂输入输出8接收工厂20的信号,并存储在寄存器5中。顺序处理器1执行梯形程序4中记述的顺序命令,把结果存储在寄存器5中。另外,当检测到梯形程序4中记述的循环命令时,顺序处理器1使运算处理器2执行循环运算程序6,把结果存储在寄存器5中。把存储在寄存器5中的数据经由工厂输入输出8向工厂20输出。如此,控制器10执行工厂20的顺序控制和循环控制。
图2是表示顺序处理器1和运算处理器2的动作例的时序图。用图2说明顺序处理器1和运算处理器2的动作。
顺序处理器1例如以50ms、100ms、200ms等的控制周期执行梯形程序4。
当检测到控制周期的定时时,顺序处理器1从梯形程序4的开头步骤起开始执行,按步骤编号依次执行顺序命令。另外,在检测到循环命令时,把执行权转移到运算处理器2,顺序处理器1成为等待执行状态。
运算处理器2当从顺序处理器1取得执行权时,开始执行循环控制程序6,当结束了循环控制运算处理的执行时,将执行权返还给顺序处理器1,运算处理器2成为等待执行状态。顺序处理器1当取得执行权时,再次依次执行梯形程序4的步骤,当直到最终步骤为止完成执行时,在下一个控制周期之前成为等待执行状态。
图3是表示构成梯形程序4的步骤的一例的图。
步骤40是利用1个命令和1个操作数记述顺序命令的例子。步骤40由步骤编号400、顺序命令401、第1操作数402A构成。步骤编号400是对各步骤连续地赋予的编号,开头步骤从“0”开始赋予编号。
顺序命令401是单功能命令,定义a触点开始运算“LD”、b触点开始运算“LDI”、线圈输出运算“OUT”、a触点的串行运算“AND”、a触点的并行运算“OR”等的比特运算命令,以及数据传送运算“MOV”、数据相加运算“ADD”等的字运算命令。另外,在第1操作数402A中例如定义“X000”等以顺序命令401为运算对象的寄存器5的地址。
顺序处理器1从步骤40读出顺序命令401和第1操作数402A,以在第1操作数402A中定义的寄存器5的数据为运算对象,执行在顺序命令401中定义的运算。
图4是表示构成梯形程序4的步骤的一例的图。
步骤41是利用1个循环命令和4个操作数记述1个循环控制的例子。步骤41由步骤编号410、循环命令411、第1操作数412A、第2操作数412B、第3操作数412C、第4操作数412D构成。另外,例如,步骤编号410、循环命令411、第1操作数412A、第2操作数412B、第3操作数412C、第4操作数412D分别是1个字的大小,步骤41由6个字的大小构成。
步骤编号410是对各步骤连续地赋予的编号,开头步骤从“0”开始赋予编号。
循环命令411是多功能命令,取入第1操作数412A、第2操作数412B、第3操作数412C、第4操作数412D作为参数,按照参数执行输入处理、控制运算处理、输出处理。另外,在循环命令411执行输入处理、控制运算处理、输出处理时,作为运算用寄存器使用寄存器5内的运算用寄存器“L”。运算用寄存器是用来存储来自工厂20的测量数据、向工厂20输出的操作数据等的区域。
以下,详细地说明操作数的定义和循环控制功能的对应。在第1操作数412A中定义循环编号。在此,循环编号是对每个循环控制赋予的编号,在1台控制器内是唯一的。循环命令根据循环编号区分使用运算用寄存器的区域。例如,运算用寄存器的全部区域为LW000~LWFFF,如果确保对每个循环编号使用16个字,则在循环编号为“1”时使用LW000~LW00F,在循环编号为“2”时使用LW010~LW01F。另外,在由循环编号决定的开头地址的相对第0个字LW000中存储索引,在相对第1个字LW001中存储来自工厂20的测量数据,在第2个字LW002中存储作为循环控制运算结果的操作数据,在第3个字LW002中存储目标数据等。
在第2操作数412B中定义用来选定输入处理所需的功能的参数。例如,在第2操作数412B的上位字节中,为了选定把经由工厂输入输出8输入的测量数据变换成可以在控制运算处理中利用的尺度的功能,定义A/D变换编号。在此,A/D变换编号是由工厂20的模拟信号规格和工厂输入输出8的量化规格的组合决定的编号。例如,如果把1~5V的模拟信号A/D变换成8比特,则是“1”,把1~5V的模拟信号变换成12比特数据时为“2”,把1~5V的模拟信号变换成14比特数据时为“3”,把0~5V的模拟信号变换成8比特数据时为“4”等。
在第2操作数412B的下位字节中,为了选定向测量数据的数据变换功能,定义输入数据变换编号。在此,输入数据变换编号是每个数据变换功能的编号,例如,线性变换为“1”、逆线性变换为“2”、根据压差运算流量的开平方运算为“3”,一次延迟为“4”,功率因数变换为“5”等。
在第3操作数412C中定义运算处理编号。在此,关于运算处理编号,例如干涉型PID控制为“1”、非干涉型PID控制为“2”、比率运算为“3”等。
在第4操作数412D中定义用来选定输出处理所需的功能的参数。例如,在第4操作数412D的上位字节中,为了选定针对来自控制运算处理的操作数据的数据变换功能,定义输出数据变换编号。在此,输出数据变换编号是对数据进行线性变换和非线性变换的功能的编号,例如,线性变换为“1”、逆线性变换为“2”等。
另外,在第4操作数412D的下位字节中,为了选定把操作数据从标准化尺度变换成适合工厂输入输出8的D/A变换量化规格和面向工厂20的模拟信号规格的尺度的功能,定义D/A变换编号。在此,D/A变换编号是用来定义模拟信号规格和量化规格的编号,例如,把8比特数据变换成1~5V的模拟信号时为“1”,把12比特数据变换成1~5V的模拟信号时为“2”,把14比特数据变换成1~5V的模拟信号时为“3”,把8比特数据变换成0~5V的模拟信号时为“4”等。
当检测到循环命令时,顺序处理器1在取得循环命令信息,将其输出给运算处理器2后,将执行权转移给运算处理器2。运算处理器2取得执行权和循环命令信息,启动循环控制程序6。循环控制程序6首先执行第1操作数412A、第2操作数412B、第3操作数412C、第4操作数412D的取得处理,接着按照第2操作数412B的参数执行输入处理,接着按照第3操作数412C的参数执行控制运算处理,接着按照第4操作数412D的参数把运算结果存储在寄存器5中。这样,通过以1个步骤生成循环命令,可以定义1个循环控制所需的输入处理、控制运算处理、输出处理,所以仅通过变更操作数的定义,就可以构建多种多样的循环控制。
图5是表示顺序处理器1的处理流程的图。
顺序处理器1首先在步骤S110中判断是否是梯形程序执行开始定时。例如,在到达预先设定的控制周期时判断为开始,转到步骤S111,如果没有到达则作为不可执行返回到开始。
在步骤S111中,把步骤计数器清零,以便可以从步骤编号0开始执行。在步骤S112中,以步骤计数器的步骤为对象读出命令。在步骤S113中,判断命令是否是表示梯形程序4的末尾的“END”,在为“END”以外的命令时转到步骤S114,在是“END”时返回到开始。在步骤S114中,判断命令是顺序命令还是循环命令,是顺序命令时转到步骤S115,是循环命令时转到S117。
在步骤S115中,读出操作数。在步骤S116中,执行读出的命令和操作数。
在步骤S117中,对运算处理器2输出循环命令信息。在此,循环命令信息例如是循环命令的名称、梯形程序4内的循环命令的地址、梯形程序4内的第1操作数的地址。在步骤S118中,将执行权转给运算处理器2。在步骤S119中,直到从运算处理器2取得执行权为止为等待状态,如果取得执行权则转到步骤S120。
在步骤S120中,对步骤计数器加1,返回步骤S112。
这样,顺序处理器1通过反复执行从步骤S112到步骤S120的处理,从开头到末尾为止执行梯形程序4。
图6是表示运算处理器2的处理流程的图。
运算处理器2首先在步骤S210中判断是否取得了来自顺序处理器1的执行权,取得了执行权时判断为有执行权,转到步骤S211,如果没有取得执行权则作为无执行权返回到开始。
在步骤S212中,取得来自顺序处理器1的循环命令信息。在此,循环命令信息例如是循环命令的名称、第1操作数的地址等。
在步骤S212中,根据循环命令的名称确定应执行的循环控制程序6的开头地址。接着从循环命令信息把第1操作数的地址作为自变量,执行循环控制程序6。
在步骤S213中,在直到最后为止执行了循环控制程序6之后,将执行权转移给顺序处理器1,并返回到开始。
图7是表示循环控制程序6的处理流程的图。以下参照图4,用图7说明循环控制程序6的处理流程。
在步骤S600中,从运算处理器2取得第1操作数的地址。
在步骤S601中,读出第1操作数412A,作为循环编号。在步骤S602中,读出第2操作数412B,将412B的上位字节作为A/D变换编号,将下位字节作为输入数据变换编号。在步骤S603中,读出第3操作数412C,作为运算处理编号。在步骤S604中读出第4操作数412D。将412D的上位字节作为输出数据变换编号,将下位字节作为D/A变换编号。
在步骤S605中,根据在步骤S601取得的循环编号确定运算用寄存器,读出在相对第1个字中存储的测量数据。测量数据例如是通过工厂输入输出8把工厂20的模拟信号进行A/D变换得到的数据。在A/D变换的量化规格中例如有8比特、12比特、14比特等种类,测量数据分别是0~511、0~4095、0~16383等的尺度。
在步骤S606中,把测量数据的尺度变换(标准化)为称为标准值的尺度。标准值例如是由0~10000的尺度构成的整数型的数据。
如果A/D变换编号为“2”,则判断为量化规格是12比特,把测量数据从0~4095变换成0~10000。另外,如果A/D变换编号为“1”,则判断为量化规格是8比特,把测量数据从0~511变换成0~10000。
在步骤S607中,把变换成标准值的测量数据作为对象,按照输入数据变换编号执行输入变换处理。例如,如果输入数据变换编号是“1”,则进行线性变换,如果是“2”则进行逆线性变换,如果是“3”则进行把压差变换成流量的开平方运算,如果是“4”则进行一次延迟运算等。
在步骤S608中,把输入变换处理后的测量数据作为对象,按照运算处理编号执行控制运算处理,把处理结果作为操作数据输出。例如,如果运算处理编号是“1”则为干涉型PID控制,如果是“2”则为非干涉型PID控制,如果是“3”则为比率运算等。
在步骤S609中,按照输出数据变换编号对操作数据执行尺度变换等输出变换运算处理。例如,如果输出数据变换编号是“1”则为线性变换,如果是“2”则为逆线性变换等。
在步骤S610中,以操作数据为对象,从标准值的尺度变换成与D/A变换编号对应的尺度。例如,如果D/A变换编号是“1”则为8比特,如果是“2”则为12比特,如果是“3”则为14比特等。
在步骤S611中,从运算用寄存器的开头起在相对第2个字中存储操作数据,然后结束处理。
在此,所谓标准值是指在循环控制运算处理中使用的数据类型,作为整数型的0~10000尺度进行了说明,但数据类型也可以是固定小数点型、浮动小数点型等。
图8是表示工厂20的循环控制的功能的一例的图。利用图8说明通过蝴蝶阀开度调节流过配管的流量的循环控制的处理构成。
首先说明作为控制对象过程的工厂20的结构。从堤坝汲取的原水30经由配管20A、流孔21、配管20B、蝴蝶阀23、配管20C送到沉降池。流孔21测量配管内的流孔前后的压差,将其发送到压差计22。压差计22把压差测量数据变换成1~5V的模拟信号,输出给控制器10。开度设定器24通过0~5V的模拟信号按照从控制器10设定的开度,维持蝴蝶阀23的开度。
控制器10经由在工厂输入输出8安装的12比特A/D变换81,从压差计22输入压差测量数据,并作为12比特数据存储在输入寄存器XW100中。另外,控制器10通过梯形程序4取得12比特的压差测量数据,执行非干涉型PID控制,把作为执行结果的开度操作数据作为8比特数据存储在输出寄存器YW100中。然后,经由在工厂输入输出8安装的8比特D/A变换82向开度设定器24输出开度操作数据。
下面,详细说明基于在梯形程序4中记述的步骤42、43、44的循环控制运算处理的动作。
步骤42由步骤编号420、顺序命令421、第1操作数422A、第2操作数422B构成,通过顺序命令421中定义的“MOV”向运算用寄存器LW001传送第1操作数422A中定义的输入寄存器XW100的数据。如在图4中说明的那样,运算用寄存器LW001相当于循环编号“1”的测量数据。
步骤43由步骤编号430、循环命令431、第1操作数432A、第2操作数432B、第3操作数432C、第4操作数432D构成。循环命令431把第1操作数432A作为循环编号,把第2操作数432B作为输入处理的参数,把第3操作数432C作为控制运算处理的参数,把第4操作数432D作为输出处理的参数,执行循环控制运算。
以下,按执行顺序说明循环命令431的循环控制运算处理。
首先,通过把第1操作数432A定义为“0001”,把循环编号设定为“1”。由此,循环控制运算处理使用循环编号“1”用的运算用寄存器LW000~LW00F。然后,从运算用寄存器的开头起的相对第1个字的LW001读出测量数据,作为压差测量数据使用。
通过把第2操作数432B的上位字节定义为“02”,把A/D变换编号设定为“2”。由于A/D变换编号“2”相当于对12比特数据进行标准值化的功能,所以执行把存储在运算用寄存器LW001中的压差测量数据从12比特数据变换成标准值的处理。
通过把第2操作数432B的下位字节定义为“03”,把输入数据变换编号设定为“3”。因为输入数据变换编号“3”相当于开平方运算功能,所以执行对标准值化的压差测量数据实施开平方运算,变换成流量测量数据的处理。
通过把第3操作数432C定义为“02”,把运算控制编号设定为“2”。运算控制编号“2”相当于非干涉型PID控制功能,对流量测量数据执行非干涉型PID控制,输出开度操作数据。
通过把第4操作数432D的上位字节定义为“01”,把输出数据变换编号设定为“1”。输出数据变换编号“1”相当于线性变换功能,执行对开度操作数据进行线性变换的处理。
通过把第4操作数432D的下位字节定义为“1”,把D/A变换编号设定为“1”。D/A变换编号“1”相当于把标准值变换成8比特数据的功能,所以把开度操作数据变换成8比特,存储在循环编号“1”的运算用寄存器的相对第2个字LW002中。
这样,可以通过步骤43构建循环控制的输入处理、控制运算处理、输出处理。
步骤44由步骤编号440、顺序命令441、第1操作数442A、第2操作数442B构成,通过在顺序命令441中定义的“MOV”,把第1操作数442A中定义的运算用寄存器LW002的开度操作数据向第2操作数422B中定义的运算用寄存器YW100传送。
通过步骤42设置了把输入寄存器的测量数据向循环命令使用的运算用寄存器传送的处理,但是也可以构成为工厂输入输出8把测量数据直接存储在运算用寄存器中。
通过步骤44设置了把运算用寄存器的操作数据向输出寄存器传送的处理,但是也可以构成为工厂输入输出8直接传送运算用寄存器的操作数据,向工厂20输出。
图9是表示用编程装置11显示的梯形图的一例的图。
图9(a)的梯形图200是使用编程装置11的梯形程序开发环境,以梯形图形式显示图9(b)梯形程序4的例子。
梯形图200的梯形201表示在输入寄存器X001的比特数据开启(ON),且输入寄存器X002的比特数据开启时,将输出寄存器Y001的比特数据开启的处理。梯形201由a触点开始运算“LD”、a触点的串行运算“AND”、线圈输出运算“OUT”这3个顺序命令构成。
梯形202通过顺序命令“MOV”把输入寄存器XW100的字数据向运算用寄存器LW001传送。
梯形203通过循环命令205和4个操作数记述了1个循环控制。在操作数显示区206中,从左上开始按照循环编号“0001”、输入处理参数“0203”、控制运算处理参数“0002”、输出处理参数“0101”的顺序一并显示了4个操作数,仅通过梯形图就可以容易地掌握循环控制的结构。
梯形204通过顺序命令“MOV”把运算用寄存器LW002的数据向输出寄存器YW100传送。
另外,本发明的控制器不限于上述的实施方式,在不脱离本发明的主旨的范围内可以适当地变形。以下,列举本发明的控制器的其它实施方式。
在上述的实施方式中,为了记述循环编号、输入处理、控制运算处理、输出处理这一连串的循环控制运算处理,循环命令411的操作数412具备从第1到第4这4个操作数,但是也可以用1个操作数记述一连串的循环控制的功能,也可以针对每个输入处理、每个控制运算处理、每个输出处理具备多个操作数。
在上述的实施方式中,把从顺序处理器1输出的循环命令信息作为存储梯形程序2内的操作数的地址,但是也可以成为作为存储梯形程序2内的循环命令的地址,循环控制程序6以存储循环命令的地址为基点,取得后续的操作数的处理。
在上述的实施方式中,梯形程序4也可以是IEC-61131(可编程序控制器的编程语言的标准规格)的形式。
上述实施方式的控制器也可以应用于电力、燃气、交通、堤坝等社会基础设施系统的控制系统和钢铁、化学、食品、物流等产业系统的控制系统。
除了将实现各功能的程序、数据等的信息存储在RAM(Random Access Memory,随机存取存储器)中以外,还可以存储在SSD(Solid State Drive,固态硬盘)等记录装置、IC(Integrated Circuit,集成电路)卡、SD(Secure Digital,安全数字)卡、和DVD(DigitalVersatile Disc,数字多功能光盘)等记录介质中。
上述的实施方式的各部的结构、功能、处理器、存储器的全部或一部分也可以通过以集成电路设计的硬件实现。
根据本实施方式,通过由梯形程序记述的循环命令和操作数来构建输入处理、控制运算处理和输出处理这一连串的循环控制,所以具有以下的效果:可以由具有梯形程序的知识的工程师容易地构建混合了顺序控制和循环控制的多种多样的控制系统。
因为可以通过梯形程序记述循环控制,所以可以期待工程效率的提高、编程和漏洞修复效率的提高、实际的试运行调整效率的提高。
另外,因为可以用最少步骤的梯形程序记述1个循环控制,所以无须滚动在编程装置上显示的梯形图形式的画面或者展开多个画面就可以实施编程和漏洞修复,所以具有操作效率提高的效果。
另外,可以用梯形程序可视化地记述循环控制,即使是第三者也可以容易地理解循环控制结构,所以具有以下的效果:维护性高,可适用于社会基础设施那样的要求长期维护的工厂。
另外,即使发生例如传感器信号规格的变更、控制器的A/D变换规格的变更等,仅通过梯形程序的操作数的变更能够简单地进行修改,所以具有修改操作时间变短,可以使伴随更新的工厂停止时间、人的替代运转时间最小化的效果。
另外,在说明实施方式的附图中,仅表示了认为在说明上必要的控制线和信息线,在产品上未必表示所有的的控制线和信息线。实际上可以认为几乎所有的结构相互连接。
符号的说明
1:顺序处理器、2:运算处理器、3:存储器、4:梯形程序、5:寄存器、6:循环控制程序、7:总线、8:工厂输入输出、9:通信接口、10:控制器、11:编程装置、20:工厂。
Claims (10)
1.一种控制器,其具备顺序处理器、运算处理器和存储器,
在上述存储器中具备梯形程序和循环控制程序,
上述梯形程序由命令和操作数的组合构成,
上述顺序处理器具备以下的处理:在上述梯形程序的命令为顺序命令时,通过上述顺序处理器执行上述顺序命令,在上述梯形程序的命令为循环命令时使上述运算处理器执行上述循环控制程序,
上述控制器的特征在于,
上述循环命令具备至少定义输入处理、控制运算处理和输出处理的循环命令用操作数,
上述循环命令用操作数还具备定义输入处理的参数的操作数、定义控制运算处理的参数的操作数以及定义输出处理的参数的操作数,
上述循环控制程序具备取得上述循环命令用操作数的处理,将上述循环命令用操作数作为参数执行上述输入处理、上述控制运算处理和上述输出处理,
在上述存储器中还具备寄存器,上述循环命令用操作数具备定义循环编号的操作数,上述循环控制程序具备取得上述循环命令用操作数的存储地址的处理和从上述循环命令用操作数取得上述循环编号的处理,上述运算处理器把通过上述循环编号指定的上述寄存器作为运算用寄存器使用。
2.如权利要求1所述的控制器,其特征在于,
上述寄存器与上述指定的各循环编号对应地具有多个区域,上述各区域至少具备存储成为上述输入处理的对象的测量数据的区域以及存储作为上述控制运算处理结果的操作数据的区域。
3.一种控制器,其具备顺序处理器、运算处理器和存储器,
在上述存储器中具备梯形程序和循环控制程序,
上述梯形程序由命令和操作数的组合构成,
上述顺序处理器具备以下的处理:在上述梯形程序的命令为顺序命令时,通过上述顺序处理器执行上述顺序命令,在上述梯形程序的命令为循环命令时使上述运算处理器执行上述循环控制程序,
上述控制器的特征在于,
上述循环命令具备至少定义输入处理、控制运算处理和输出处理的循环命令用操作数,
在上述存储器中还具备寄存器,上述循环命令用操作数具备定义循环编号的操作数,上述循环控制程序具备取得上述循环命令用操作数的存储地址的处理和从上述循环命令用操作数取得上述循环编号的处理,上述运算处理器把通过上述循环编号指定的上述寄存器作为运算用寄存器使用。
4.如权利要求3所述的控制器,其特征在于,
上述寄存器与上述指定的各循环编号对应地具有多个区域,上述各区域至少具备存储成为上述输入处理的对象的测量数据的区域以及存储作为上述控制运算处理结果的操作数据的区域。
5.如权利要求4所述的控制器,其特征在于,
上述循环命令用操作数还具备定义输入处理的参数的操作数、定义控制运算处理的参数的操作数以及定义输出处理的参数的操作数。
6.一种控制器的编程方法,其是通过与控制器连接的编程装置进行的上述控制器的编程方法,该控制器具备顺序处理器、运算处理器和存储器,上述控制器的编程方法的特征在于,
在上述存储器中具备梯形程序、寄存器和循环控制程序,
上述梯形程序由命令和操作数的组合构成,
上述顺序处理器具备以下处理:在上述梯形程序的命令为顺序命令时,由上述顺序处理器执行上述顺序命令,在上述梯形程序的命令为循环命令时,使上述运算处理器执行上述循环控制程序,
上述编程装置以梯形图形显示上述梯形程序,在显示的上述梯形图形上具备用于定义和显示循环命令用操作数的循环命令用操作数区域,上述循环命令用操作数至少定义输入处理、控制运算处理和输出处理,上述编程装置在上述梯形程序的命令为上述循环命令时,在上述循环命令用操作数区域,按照输入处理参数、控制运算处理参数、输出处理参数的顺序定义和显示上述循环命令用操作数,
上述循环命令用操作数具备定义循环编号的操作数,上述循环控制程序取得上述循环命令用操作数的存储地址,并从上述循环命令用操作数取得上述循环编号,上述运算处理器把通过上述循环编号指定的上述寄存器作为运算用寄存器使用。
7.如权利要求6所述的控制器的编程方法,其特征在于,
上述寄存器与上述指定的各循环编号对应地具有多个区域,上述各区域至少具备存储成为上述输入处理的对象的测量数据的区域以及存储作为上述控制运算处理结果的操作数据的区域。
8.一种控制器的编程方法,其是通过与控制器连接的编程装置进行的上述控制器的编程方法,该控制器具备顺序处理器、运算处理器和存储器,上述控制器的编程方法的特征在于,
在上述存储器中具备梯形程序、寄存器和循环控制程序,
上述梯形程序由命令和操作数的组合构成,
上述顺序处理器在上述梯形程序的命令为顺序命令时,通过上述顺序处理器执行上述顺序命令,在上述梯形程序的命令为循环命令时使上述运算处理器执行上述循环控制程序,
上述循环命令操作数具备至少定义输入处理、控制运算处理和输出处理的循环命令用操作数,
上述循环命令用操作数具备定义循环编号的操作数,上述循环控制程序取得上述循环命令用操作数的存储地址,并从上述循环命令用操作数取得上述循环编号,上述运算处理器把通过上述循环编号指定的上述寄存器作为运算用寄存器使用。
9.如权利要求8所述的控制器的编程方法,其特征在于,
上述寄存器与上述指定的各循环编号对应地具有多个区域,上述各区域至少具备存储成为上述输入处理的对象的测量数据的区域以及存储作为上述控制运算处理结果的操作数据的区域。
10.如权利要求9所述的控制器的编程方法,其特征在于,
上述循环命令用操作数具备定义输入处理的参数的操作数、定义控制运算处理的参数的操作数以及定义输出处理的参数的操作数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-195708 | 2013-09-20 | ||
JP2013195708A JP5916677B2 (ja) | 2013-09-20 | 2013-09-20 | 制御コントローラ及びそのプログラミング方法 |
PCT/JP2014/072866 WO2015041028A1 (ja) | 2013-09-20 | 2014-09-01 | 制御コントローラ及びそのプログラミング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105556405A CN105556405A (zh) | 2016-05-04 |
CN105556405B true CN105556405B (zh) | 2017-09-22 |
Family
ID=52688682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480051197.XA Active CN105556405B (zh) | 2013-09-20 | 2014-09-01 | 控制器及其编程方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5916677B2 (zh) |
CN (1) | CN105556405B (zh) |
WO (1) | WO2015041028A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6568152B2 (ja) * | 2017-06-30 | 2019-08-28 | ファナック株式会社 | 数値制御装置 |
JP6901430B2 (ja) * | 2018-04-09 | 2021-07-14 | ファナック株式会社 | 制御装置及び編集装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61163401A (ja) * | 1985-01-14 | 1986-07-24 | Omron Tateisi Electronics Co | プログラマブルコントロ−ラ |
US4683549A (en) * | 1983-05-07 | 1987-07-28 | Hitachi, Ltd. | Sequence control method and apparatus |
JPH02311903A (ja) * | 1989-05-29 | 1990-12-27 | Toshiba Corp | プログラマブルコントローラ |
US5301198A (en) * | 1990-02-27 | 1994-04-05 | Mitsubishi Denki Kabushiki Kaisha | Method for debugging a program by executing a block mode run |
CN1102713A (zh) * | 1994-08-08 | 1995-05-17 | 张勇 | 可编程顺序控制器 |
JPH1069302A (ja) * | 1996-08-27 | 1998-03-10 | Matsushita Electric Works Ltd | Pid命令を持つプログラマブルコントローラ |
CN102540952A (zh) * | 2010-12-09 | 2012-07-04 | 通用电气公司 | 可编程控制器以及操作方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2799009B2 (ja) * | 1989-10-31 | 1998-09-17 | 株式会社日立製作所 | プログラマブルコントローラ |
JP3737650B2 (ja) * | 1999-07-09 | 2006-01-18 | 株式会社東芝 | 統合コントローラ及び制御システム |
TW539931B (en) * | 2000-11-30 | 2003-07-01 | Matsushita Electric Works Ltd | General-purpose functional circuit and general-purpose unit for programmable controller |
-
2013
- 2013-09-20 JP JP2013195708A patent/JP5916677B2/ja active Active
-
2014
- 2014-09-01 CN CN201480051197.XA patent/CN105556405B/zh active Active
- 2014-09-01 WO PCT/JP2014/072866 patent/WO2015041028A1/ja active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4683549A (en) * | 1983-05-07 | 1987-07-28 | Hitachi, Ltd. | Sequence control method and apparatus |
JPS61163401A (ja) * | 1985-01-14 | 1986-07-24 | Omron Tateisi Electronics Co | プログラマブルコントロ−ラ |
JPH02311903A (ja) * | 1989-05-29 | 1990-12-27 | Toshiba Corp | プログラマブルコントローラ |
US5301198A (en) * | 1990-02-27 | 1994-04-05 | Mitsubishi Denki Kabushiki Kaisha | Method for debugging a program by executing a block mode run |
CN1102713A (zh) * | 1994-08-08 | 1995-05-17 | 张勇 | 可编程顺序控制器 |
JPH1069302A (ja) * | 1996-08-27 | 1998-03-10 | Matsushita Electric Works Ltd | Pid命令を持つプログラマブルコントローラ |
CN102540952A (zh) * | 2010-12-09 | 2012-07-04 | 通用电气公司 | 可编程控制器以及操作方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5916677B2 (ja) | 2016-05-11 |
WO2015041028A1 (ja) | 2015-03-26 |
JP2015060538A (ja) | 2015-03-30 |
CN105556405A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837893B (zh) | 装置、方法和存储介质 | |
Lewis | Programming industrial control systems using IEC 1131-3 | |
US10878140B2 (en) | Plant builder system with integrated simulation and control system configuration | |
JP5480440B1 (ja) | 異常予兆診断装置及び異常予兆診断方法 | |
CN103092072B (zh) | 磨矿过程运行控制实验系统及方法 | |
CN102914998B (zh) | 嵌入式小型四轴开放式数控系统 | |
JP6959228B2 (ja) | プロセス制御システムの安全論理に対応するインターリンクされたユーザインターフェースを提供するためのシステム、非一時的コンピュータ可読媒体及び方法 | |
CN105302015B (zh) | 使用典型组件和适配器组件的过程控制系统 | |
JP7359517B2 (ja) | Plcの制御システムへの統合のためのスマート機能ブロック及びそのための方法 | |
CN104049579A (zh) | 从现场仪表设备后台收集诊断数据 | |
CN105556405B (zh) | 控制器及其编程方法 | |
Bryan et al. | Programmable controllers | |
CN101382786A (zh) | 数字指示控制器 | |
EP2827203B1 (en) | Method for generating plant topology model data | |
KR20220107409A (ko) | 디지털 트윈 기반 수처리시설 점검 및 솔루션 국산화를 위한 그 방법 | |
CN115129955A (zh) | 装置、方法以及计算机可读介质 | |
JP6161752B2 (ja) | 制御コントローラ及びそのプログラミング方法 | |
CN106662862B (zh) | 过程控制系统中的对象创建 | |
Stanley | Experiences using knowledge-based reasoning in online control systems | |
Valiev et al. | Pattern-design software of automated control systems | |
CN104063213B (zh) | 管理自动化系统中的分布式计算的方法和系统 | |
CN114625354A (zh) | 用于生成hmi图形的系统和方法 | |
Valery et al. | Hardware implementation tasks to configure regulators | |
CN114556241B (zh) | 将人工智能(ai)集成到自动化中的可编程逻辑控制器(plc)程序中功能块的ai伴侣 | |
Preschern et al. | Efficient development and reuse of domain–specific languages for automation systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |