JP5916677B2 - Control controller and programming method thereof - Google Patents

Control controller and programming method thereof Download PDF

Info

Publication number
JP5916677B2
JP5916677B2 JP2013195708A JP2013195708A JP5916677B2 JP 5916677 B2 JP5916677 B2 JP 5916677B2 JP 2013195708 A JP2013195708 A JP 2013195708A JP 2013195708 A JP2013195708 A JP 2013195708A JP 5916677 B2 JP5916677 B2 JP 5916677B2
Authority
JP
Japan
Prior art keywords
loop
instruction
operand
control
sequence
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
Application number
JP2013195708A
Other languages
Japanese (ja)
Other versions
JP2015060538A5 (en
JP2015060538A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013195708A priority Critical patent/JP5916677B2/en
Priority to CN201480051197.XA priority patent/CN105556405B/en
Priority to PCT/JP2014/072866 priority patent/WO2015041028A1/en
Publication of JP2015060538A publication Critical patent/JP2015060538A/en
Publication of JP2015060538A5 publication Critical patent/JP2015060538A5/ja
Application granted granted Critical
Publication of JP5916677B2 publication Critical patent/JP5916677B2/en
Active 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、シーケンス制御とループ制御を実行する制御コントローラ及びプログラミング方法に関する。   The present invention relates to a control controller and a programming method for executing sequence control and loop control.

上下水道プラントの自動制御はポンプや水処理装置の起動停止、バルブやゲートの開閉、監視操作装置への表示と操作など、ビットデータ演算を主体とするシーケンス制御と、流量や水質のPID制御など数値データ演算を主体とするループ制御から構成される。上下水道プラントの自動制御の大半がシーケンス制御である。   Automatic control of water and sewage plants includes sequence control mainly for bit data calculation and PID control of flow rate and water quality, such as starting and stopping pumps and water treatment devices, opening and closing valves and gates, and displaying and operating on monitoring operation devices. Consists of loop control mainly for numerical data computation. Most automatic control of water and sewage plants is sequence control.

上下水道プラントのシーケンス制御には高速性と信頼性が求められるので、制御コントローラによるシーケンス制御(ソフトシーケンス制御)だけでなく、重要設備については信頼性を高めるためにリレー回路によるハードシーケンス制御も適用される。このようにソフトシーケンス制御とハードシーケンス制御が混在するため、シーケンス制御を実行する制御コントローラには、ハードシーケンス表記と同様のラダー図形式でプログラミングできるラダープログラムを実装することが望ましい。また、ラダープログラムを高速実行できるシーケンス専用プロセッサの実装が必須である。   Since high-speed and reliability are required for sequence control of water and sewage plants, not only sequence control by a controller (soft sequence control) but also hard sequence control by a relay circuit is applied to improve the reliability of important equipment. Is done. Since soft sequence control and hard sequence control coexist in this way, it is desirable to mount a ladder program that can be programmed in the same ladder diagram format as the hard sequence notation on the control controller that executes sequence control. In addition, it is essential to implement a sequence-dedicated processor that can execute ladder programs at high speed.

1つのループ制御は、プラントからの信号入力処理、制御対象プロセスの制御演算処理、プラントへの出力処理から構成される。   One loop control includes signal input processing from the plant, control calculation processing of the process to be controlled, and output processing to the plant.

上下水道プラントの運用は50年以上であるのに対して、計測制御装置の製品寿命は10年程度と短く、さらに腐食性ガスや湿気の影響により数年以下に低下するケースもあり、プラントの運用中に計測制御装置は何度も最新製品に更新される。更新毎に計装制御装置の仕様は変化し、特に、アナログ信号仕様、A/D変換仕様、D/A変換仕様は様々で、同一プラント内でも統一されていないという実態がある。これは、更新年代で、情報通信技術、適用規格、部品寿命、プラント運転方法、更新予算などが異なることに起因する。よって、ループ制御の入力処理や出力処理には、多様な信号仕様への対応が求められる。   While the operation of water and sewage plants is over 50 years, the product life of measurement and control equipment is as short as about 10 years, and in addition, there are cases where it falls to several years or less due to the influence of corrosive gas and humidity. The measurement control device is updated to the latest product many times during operation. The specifications of the instrumentation control device change with each update, and in particular, there are various analog signal specifications, A / D conversion specifications, and D / A conversion specifications, and there is a reality that they are not unified within the same plant. This is due to differences in information communication technology, application standards, component life, plant operation method, update budget, etc., in the update age. Therefore, input processing and output processing for loop control are required to support various signal specifications.

また、上下水道のプロセスは自然開放系のため、原材料に相当する原水の流量と水質が自然界や生活・経済活動の影響を受けて大きく変動する特徴を有する。よって、流量や水質などのループ制御には、外乱対応などのプラント固有の複雑な制御演算処理が要求される。   In addition, since the water and sewage process is a naturally open system, the flow rate and quality of raw water corresponding to the raw material is greatly affected by the natural world, living and economic activities. Therefore, loop control such as flow rate and water quality requires complex control calculation processing unique to the plant such as disturbance response.

よって、ループ制御を実行する制御コントローラには、入力処理、制御演算処理、出力処理に求められる機能をサブプログラムとして備え、サブプログラムを組み合わせてループ制御メインプログラムを構築可能な構成が求められる。そして、ループ制御メインプログラムを高速実行できる演算用プロセッサの実装が必須である。   Therefore, a control controller that executes loop control is required to have a configuration that can include functions required for input processing, control arithmetic processing, and output processing as subprograms and that can construct a loop control main program by combining the subprograms. And it is essential to implement an arithmetic processor capable of executing the loop control main program at high speed.

以上より、シーケンス制御とループ制御を実行する制御コントローラには、ラダープログラムのシーケンス命令にてシーケンス制御を記述し、ループ命令にてループ制御を記述できる構成とし、さらに、ラダープログラムのループ命令を入力処理、制御演算処理、及び出力処理の機能群を備えた多機能命令とし、ラダープログラムで記述したパラメータにより機能を選択実行できる構成が求められる。また、シーケンス用プロセッサと演算用プロセッサを実装し、シーケンス命令をシーケンス用プロセッサで実行し、ループ命令を演算用プロセッサで実行可能な構成が求められる。   As described above, the control controller that executes sequence control and loop control can be configured so that sequence control can be described by ladder program sequence instructions, loop control can be described by loop instructions, and ladder program loop instructions can be input. There is a demand for a configuration in which a multi-function instruction having a function group of processing, control arithmetic processing, and output processing is selected and a function can be selectively executed by parameters described in a ladder program. Further, a configuration is required in which a sequence processor and an arithmetic processor are mounted, a sequence instruction can be executed by the sequence processor, and a loop instruction can be executed by the arithmetic processor.

従来、このような事情に鑑みて、ラダープログラムで記述したシーケンス制御用命令とループ制御用命令を各々の専用プロセッサで実行する技術が提案されている(例えば、特許文献1)。   Conventionally, in view of such circumstances, a technique for executing a sequence control instruction and a loop control instruction described in a ladder program by each dedicated processor has been proposed (for example, Patent Document 1).

特許文献1に開示の技術によれば、ラダープログラムで記述した命令をシーケンス処理プロセッサでフェッチし、シーケンス命令の場合はシーケンス処理プロセッサで実行し、プロセス制御命令の場合はプロセス制御プロセッサが最初にオペランドで定義したデータメモリのアドレスからデータを読出し、その後に命令を実行することができる。   According to the technique disclosed in Patent Document 1, an instruction described in a ladder program is fetched by a sequence processor, and in the case of a sequence instruction, the instruction is executed by the sequence processor. In the case of a process control instruction, the process control processor first executes an operand. The data can be read from the address of the data memory defined in (1), and then the instruction can be executed.

特開平7−248807号公報Japanese Unexamined Patent Publication No. 7-248807

特許文献1によれば、ラダープログラムを構成する命令とオペランドはプログラムメモリに格納され、命令は、オペランドの示すデータメモリのアドレスに格納されているデータを参照可能と記載されている。特許文献1の技術を用いて、ループ制御用の多機能命令とパラメータの組み合わせを具現化するには、ラダープログラムの命令にはループ制御用多機能ループ命令を定義し、オペランドにはパラメータ格納先のデータメモリアドレスを定義することになる。このように、ループ制御を多機能命令で実現するには、オペランドが示すデータメモリアドレスにパラメータを配置せざるを得ない。従って、シーケンス制御はラダープログラムの命令とオペランドのみで完結できるのに対して、ループ制御はラダープログラムの命令とオペランドに加えて、データメモリに定義したパラメータも必要となる。   According to Patent Document 1, it is described that an instruction and an operand constituting a ladder program are stored in a program memory, and the instruction can refer to data stored at an address of a data memory indicated by the operand. In order to realize a combination of a multi-function instruction for loop control and a parameter using the technique of Patent Document 1, a multi-function loop instruction for loop control is defined as an instruction of a ladder program, and a parameter storage destination in an operand The data memory address is defined. Thus, in order to implement loop control with a multi-function instruction, parameters must be arranged at the data memory address indicated by the operand. Therefore, the sequence control can be completed only with the instructions and operands of the ladder program, whereas the loop control requires parameters defined in the data memory in addition to the instructions and operands of the ladder program.

このように特許文献1の技術によれば、ループ制御製作時には、ラダープログラムで多機能ループ命令とオペランドを定義するだけでなく、データメモリへの定義が必要なため、ラダープログラムの定義とデータメモリの定義という二つの作業を、定義の整合性を確保しながら実施するため、労力を要するという課題がある。   As described above, according to the technique disclosed in Patent Document 1, not only the multi-function loop instruction and the operand are defined in the ladder program but also the definition in the data memory is necessary when the loop control is manufactured. There is a problem that labor is required to carry out the two operations of the definition of, while ensuring the consistency of the definition.

本発明は、このような従来技術の実情に鑑みてなされたものであり、入力処理、制御演算処理、出力処理から構成される一連のループ制御をラダープログラムで記述し、実行する制御コントローラを提供する。   The present invention has been made in view of such a state of the art, and provides a control controller that describes and executes a series of loop control composed of input processing, control arithmetic processing, and output processing using a ladder program. To do.

上述の課題を解決するため、本発明の制御コントローラは、シーケンスプロセッサ、演算プロセッサ、メモリ、を備え、メモリには、ラダープログラムと、ループ制御プログラムを備え、ラダープログラムは、命令とオペランドの組合せにより構成され、シーケンスプロセッサはラダープログラムを順次読出して、ラダープログラムの命令がシーケンス命令の場合は、シーケンスプロセッサによってシーケンス命令を実行し、ラダープログラムの命令がループ命令の場合は、演算プロセッサがループ制御プログラムを実行し、ループ命令は、少なくとも入力処理、制御演算処理および出力処理を定義できるループ命令用オペランドを具備し、ループ命令用オペランドは、更に、入力処理のパラメータを定義するオペランド、制御演算処理のパラメータを定義するオペランド及び出力処理のパラメータを定義するオペランドを具備すること、ループ制御プログラムは、ループ命令用オペランドを取得する処理を備え、ループ命令用オペランドをパラメータとして入力処理、制御演算処理および出力処理を実行し、上記メモリには、更にレジスタを備え、ループ命令用オペランドは、ループ番号を定義するオペランドを具備し、ループ制御プログラムは、ループ命令用オペランドの格納アドレスを取得する処理と、ループ命令用オペランドからループ番号を取得する処理を備え、ループ番号で指定されたレジスタを演算プロセッサが演算用レジスタとして使用することを特徴とする。
また、本発明の制御コントローラは、シーケンスプロセッサ、演算プロセッサ、メモリ、を備え、メモリには、ラダープログラムと、ループ制御プログラムを備え、ラダープログラムは、命令とオペランドの組合せにより構成され、シーケンスプロセッサは、ラダープログラムの命令がシーケンス命令の場合は、シーケンスプロセッサによってシーケンス命令を実行し、ラダープログラムの命令がループ命令の場合は、演算プロセッサにループ制御プログラムを実行し、ループ命令は、少なくとも入力処理、制御演算処理、および出力処理を定義するループ命令用オペランドを具備し、メモリには、さらにレジスタを備え、ループ命令用オペランドは、ループ番号を定義するオペランドを具備し、ループ制御プログラムは、ループ命令用オペランドの格納アドレスを取得する処理と、ループ命令用オペランドからループ番号を取得する処理を備え、ループ番号で指定されたレジスタを演算プロセッサが演算用レジスタとして使用することを特徴とする。
In order to solve the above-described problems, a controller of the present invention includes a sequence processor, an arithmetic processor, and a memory. The memory includes a ladder program and a loop control program. The ladder program is a combination of an instruction and an operand. The sequence processor reads the ladder program sequentially, and when the instruction of the ladder program is a sequence instruction, the sequence processor executes the sequence instruction. When the instruction of the ladder program is a loop instruction, the arithmetic processor executes the loop control program. The loop instruction includes an operand for a loop instruction that can define at least an input process, a control arithmetic process, and an output process. The loop instruction operand further includes an operand that defines a parameter of the input process, and a control arithmetic process. Pa An operand defining a meter and an operand defining an output processing parameter are provided. The loop control program includes a process for obtaining a loop instruction operand. The loop instruction operand is used as a parameter for input processing, control arithmetic processing, and output. The memory further includes a register, the loop instruction operand includes an operand defining a loop number, and the loop control program obtains a storage address of the loop instruction operand; A process for obtaining a loop number from an instruction operand is provided, and an arithmetic processor uses a register designated by the loop number as an arithmetic register .
The control controller of the present invention includes a sequence processor, an arithmetic processor, and a memory. The memory includes a ladder program and a loop control program. The ladder program includes a combination of instructions and operands. When the instruction of the ladder program is a sequence instruction, the sequence instruction is executed by the sequence processor. When the instruction of the ladder program is a loop instruction, the loop control program is executed by the arithmetic processor. A loop instruction operand that defines a control operation process and an output process; the memory further includes a register; the operand for the loop instruction includes an operand that defines a loop number; For operation A process for obtaining the storage address of command, includes a process of acquiring the group number from the loop instruction for the operand, the register specified by the loop number arithmetic processor is characterized by using as the calculation register.

制御コントローラと対応関係をなす、制御コントローラのラダープログラムをラダー図形で表示するプログラミング装置の態様は、ラダー図形の上にループ命令用オペランドを定義及び表示するためのループ命令用オペランドエリアを備え、ラダープログラムの命令がループ命令の場合は、ループ命令用オペランドエリアにオペランドを定義及び表示する。   An aspect of a programming device that displays a ladder program of a control controller in a ladder graphic that has a corresponding relationship with the control controller includes a loop instruction operand area for defining and displaying a loop instruction operand on the ladder graphic. If the program instruction is a loop instruction, the operand is defined and displayed in the operand area for the loop instruction.

本発明により、ラダープログラムで記述したループ命令とオペランドのみで、入力処理、制御演算処理、出力処理という一連のループ制御を構築きるので、ラダープログラムの知識を有するエンジニアにより、シーケンス制御とループ制御が混在した多様な制御システムを容易に構築できるという効果がある。   According to the present invention, a series of loop control such as input processing, control arithmetic processing, and output processing can be constructed with only loop instructions and operands described in a ladder program, so that an engineer who has knowledge of ladder programs can perform sequence control and loop control. There is an effect that a variety of mixed control systems can be easily constructed.

実施形態に係る制御コントローラの構成図である。It is a block diagram of the control controller which concerns on embodiment. 実施形態に係る制御コントローラのタイムチャート図である。It is a time chart figure of the control controller concerning an embodiment. 実施形態に係る制御コントローラのラダープログラムの一例を示す図である。It is a figure which shows an example of the ladder program of the control controller which concerns on embodiment. 実施形態に係る制御コントローラのラダープログラムの一例を示す図である。It is a figure which shows an example of the ladder program of the control controller which concerns on embodiment. 実施形態に係る制御コントローラのシーケンスプロセッサの処理手順を示す図である。It is a figure which shows the process sequence of the sequence processor of the control controller which concerns on embodiment. 実施形態に係る制御コントローラの演算プロセッサの処理手順を示す図である。It is a figure which shows the process sequence of the arithmetic processor of the control controller which concerns on embodiment. 実施形態に係る制御コントローラのループ制御プログラムの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the loop control program of the control controller which concerns on embodiment. プラントのループ制御の機能の一例を示す図である。It is a figure which shows an example of the function of the loop control of a plant. プログラミング装置で表示されるラダー図の一例を示す図である。It is a figure which shows an example of the ladder diagram displayed with a programming device.

以下、制御コントローラの実施形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments of a control controller will be described in detail with reference to the drawings.

図1は制御コントローラの構成を示す図である。   FIG. 1 is a diagram showing the configuration of the control controller.

まず、プラント20、制御コントローラ10、プログラミング装置11について説明する。   First, the plant 20, the controller 10, and the programming device 11 will be described.

本実施形態では、プラント20を浄水場として説明する。浄水場は、ダムや河川から原水を取水して、薬品沈殿、砂ろ過、塩素注入により水道水を製造するプラントである。原水ポンプ設備、高圧受電設備、非常用の発電機設備、薬品注入設備、沈殿池設備、ろ過池設備、塩素注入設備、送水ポンプ設備、排水設備などから構成される。またプラント20には各設備が有するポンプやモータの起動停止、バルブやゲートの開閉、変圧器やコンデンサの入切、遮断器の開閉などを操作するための操作接点と、運転や停止、全開や全閉、入や切、正常や故障などの状態を出力するための状態接点を備えている。また、流量、水位、水圧、弁開度、水質などを計測して、1〜5V、0〜5V、4〜20mAなどのアナログ信号を発信するセンサと、外部からのアナログ信号に従い弁開度、回転数、薬品注入量などを操作するアクチュエータなどを備えている。   In the present embodiment, the plant 20 will be described as a water purification plant. A water purification plant is a plant that takes raw water from dams and rivers and produces tap water by chemical precipitation, sand filtration, and chlorine injection. Consists of raw water pump equipment, high-voltage power receiving equipment, emergency generator equipment, chemical injection equipment, sedimentation basin equipment, filter basin equipment, chlorine injection equipment, water pump equipment, and drainage equipment. In addition, the plant 20 includes operation contacts for operating the pumps and motors of each facility, opening and closing of valves and gates, turning on and off of transformers and capacitors, opening and closing of circuit breakers, and operation, stop, full open and It is equipped with status contacts for outputting statuses such as fully closed, on / off, normal or faulty. In addition, it measures the flow rate, water level, water pressure, valve opening, water quality, etc., and sends the analog signal such as 1-5V, 0-5V, 4-20mA and the valve opening according to the external analog signal, It is equipped with an actuator that controls the number of revolutions and the amount of chemicals injected.

制御コントローラ10は、プラント20の状態接点やアナログ信号を入力し、ラダープログラムで記述されたシーケンス制御及びループ制御を実行し、操作接点やアナログ信号をプラント20へ出力することで、プラント20を自動制御する。ここで、シーケンス制御とは、例えば、ポンプの始動や停止の工程制御、ろ過池の通水や洗浄の工程制御、沈殿池排泥弁の開閉制御、ポンプやコンデンサの台数制御などである。またループ制御とは、例えば、流量計測データに基づいた弁開度制御やポンプ回転数制御、水質計測データに基いた薬品注入量制御や薬品注入ポンプストローク制御、水位計測データに基づいた弁開度制御や流量制御などである。   The controller 10 inputs state contacts and analog signals of the plant 20, executes sequence control and loop control described in a ladder program, and outputs operation contacts and analog signals to the plant 20, thereby automatically controlling the plant 20. Control. Here, the sequence control includes, for example, pump start / stop process control, filtration tank water flow and washing process control, settling tank drain valve open / close control, pump and condenser number control, and the like. The loop control is, for example, valve opening control based on flow rate measurement data, pump rotation speed control, chemical injection amount control based on water quality measurement data, chemical injection pump stroke control, valve opening based on water level measurement data Control and flow control.

プログラミング装置11は、例えばパーソナルコンピュータを用いて構成される。プログラミング装置11は、ラダープログラムをラダー図形式で表示ならびに編集できるラダープログラム開発環境を備え、プラント20のシーケンス制御やループ制御を実行するためのラダープログラムを製作し、制御コントローラ10にラダープログラムを登録する。また、C言語などのプログラム言語によるループ制御プログラムの開発環境を備え、ラダープログラムのループ命令の実行モジュールに該当するループ制御プログラムを作成し、制御コントローラ10にループ制御プログラムを登録する。   The programming device 11 is configured using, for example, a personal computer. The programming device 11 has a ladder program development environment that can display and edit a ladder program in a ladder diagram format, produces a ladder program for executing sequence control and loop control of the plant 20, and registers the ladder program in the control controller 10. To do. In addition, a loop control program development environment using a program language such as C language is provided, a loop control program corresponding to an execution module of a loop instruction of the ladder program is created, and the loop control program is registered in the control controller 10.

次に、図1によりコントローラ10の内部構成について説明する。   Next, the internal configuration of the controller 10 will be described with reference to FIG.

制御コントローラ10は、シーケンスプロセッサ1、演算プロセッサ2、メモリ3、プラント入出力、通信インタフェース9を有し、システムバス7により相互に接続されている。メモリ3は、RAM(Random Access Memory)などであり、ラダープログラム4、レジスタ5、ループ制御プログラム6が配置される。 The control controller 10 includes a sequence processor 1, an arithmetic processor 2, a memory 3, a plant input / output 8 , and a communication interface 9, and is connected to each other by a system bus 7. The memory 3 is a RAM (Random Access Memory) or the like, and a ladder program 4, a register 5, and a loop control program 6 are arranged therein.

シーケンスプロセッサ1は、シーケンス制御専用のプロセッサであり、ビット論理演算やデータ四則演算などの比較的単純な演算を高速に実行する。シーケンスプロセッサ1は、ラダープログラム4に記述されたシーケンス命令とループ命令を実行する。シーケンス命令の場合は、シーケンスプロセッサ1が演算処理を実行する。またラダープログラム4にループ命令を検出した場合は、演算プロセッサ2にループ命令の情報を送信し、さらに演算プロセッサ2に実行権を移行して、ループ命令の実行モジュールであるループ制御プログラム6を実行させる。   The sequence processor 1 is a processor dedicated to sequence control, and executes relatively simple operations such as bit logic operations and four data arithmetic operations at high speed. The sequence processor 1 executes a sequence instruction and a loop instruction described in the ladder program 4. In the case of a sequence instruction, the sequence processor 1 executes arithmetic processing. When a loop instruction is detected in the ladder program 4, the loop instruction information is transmitted to the arithmetic processor 2, and the execution right is transferred to the arithmetic processor 2 to execute the loop control program 6 which is an execution module of the loop instruction. Let

演算プロセッサ2は、複雑な数値演算を実行するための演算用プロセッサであり、シーケンスプロセッサ1からループ命令の情報と、実行権を取得するとループ制御プログラム6を実行する。   The arithmetic processor 2 is an arithmetic processor for executing complicated numerical operations, and executes the loop control program 6 when acquiring loop instruction information and execution right from the sequence processor 1.

レジスタ5は、シーケンス命令やループ命令が使用するビットデータやワードデータやロングワードデータを格納したエリアであり、入力レジスタは「X***」、出力レジスタは「Y***」、演算用レジスタは「R***」や「L***」など、用途毎にアドレスが割り付けられている。   Register 5 is an area that stores bit data, word data, and longword data used by sequence instructions and loop instructions. Input register is "X ***", output register is "Y ***", Registers are assigned addresses for each application, such as “R ***” and “L ***”.

例えば、プラント20からのアナログ信号や状態接点などのデータは、プラント入出力8でA/D変換された後に、入力レジスタ「X」に格納される。計測データなどのワードデータは入力レジスタXW000〜XWFFFに、状態接点などのビットデータは入力レジスタX000〜XFFFに格納される。   For example, data such as analog signals and state contacts from the plant 20 are A / D converted at the plant input / output 8 and then stored in the input register “X”. Word data such as measurement data is stored in input registers XW000 to XWFFF, and bit data such as status contacts is stored in input registers X000 to XFFF.

また、出力レジスタ「Y」に格納したデータは、プラント入出力8を経由してプラント20へ出力される。ワードデータを出力するには出力レジスタYW000〜YWFFFを使用し、ビットデータを出力するには出力レジスタY000〜YFFFを使用する。   The data stored in the output register “Y” is output to the plant 20 via the plant input / output 8. The output registers YW000 to YWFFF are used to output word data, and the output registers Y000 to YFFF are used to output bit data.

また、シーケンス命令の演算用レジスタとして、ワードデータ用にRW000〜RWFFF、ビットデータ用にR000〜RFFFなどが割り付けられている。   In addition, RW000 to RWFFF for word data and R000 to RFFF for bit data are assigned as operation registers for sequence instructions.

また、ループ命令の演算用レジスタとして、ワードデータ用にLW000〜LWFFF、ビットデータ用にL000〜LFFFが割り付けられている。   Further, LW000 to LWFFF for word data and L000 to LFFF for bit data are allocated as loop instruction calculation registers.

なお、シーケンス命令は全てのレジスタを演算対象としてアクセスでき、ループ命令は演算用レジスタを演算対象としてアクセスできる。   Note that a sequence instruction can access all registers as an operation target, and a loop instruction can access an operation register as an operation target.

プラント入出力8は、プラント20から出力される状態接点やアナログ信号などの電気信号をA/D変換し、バス7経由でレジスタ5の入力レジスタ「X」にビットデータやワードデータとして格納する。例えば、1〜5Vなどのアナログ信号をA/D変換し、入力レジスタXW000〜XWFFFにワードデータとして格納する。また、例えば、無電圧の接点、有電圧の接点などを取り込み、入力レジスタX000〜XFFFにビットデータとして格納する。   The plant input / output 8 A / D converts electrical signals such as state contacts and analog signals output from the plant 20, and stores them as bit data or word data in the input register “X” of the register 5 via the bus 7. For example, analog signals such as 1 to 5 V are A / D converted and stored as word data in the input registers XW000 to XWFFF. Further, for example, a no-voltage contact, a contact with a voltage, and the like are taken in and stored as bit data in the input registers X000 to XFFF.

また、例えば、レジスタ5の出力レジスタのビットデータやワードデータをD/A変換し、プラント20へ操作接点やアナログ信号として出力する。例えば、YW000〜YWFFFのワードデータを1−5Vなどのアナログ信号にD/A変換し、プラントに設置されたアクチュエータに出力する。また、ビットデータエリアY000〜YFFFのビットデータを電気信号に変換してラント20に備わっている操作接点に出力する。   Further, for example, bit data and word data in the output register of the register 5 are D / A converted and output to the plant 20 as operation contacts and analog signals. For example, YW000 to YWFFF word data is D / A converted into an analog signal such as 1-5V and output to an actuator installed in the plant. Further, the bit data in the bit data areas Y000 to YFFF is converted into an electric signal and output to an operation contact provided in the runt 20.

プラント入出力8のA/D変換やD/A変換の量子化仕様には、例えば、8ビット、12ビット、14ビットなどの種類がある。量子化ビット値が大きいほど高い技術水準が要求され、また製造コストも高い。プラント入出力8の量子化仕様は、各機器の導入時期により様々である、これはプラント20の運用期間中に、情報通信技術レベル、適用規格、信頼性、プラント運用方針、導入予算などの取り巻く環境が大きく変化するためである。   The A / D conversion and D / A conversion quantization specifications of the plant input / output 8 include, for example, types such as 8 bits, 12 bits, and 14 bits. The higher the quantization bit value, the higher the technical level required, and the higher the manufacturing cost. The quantization specification of the plant input / output 8 varies depending on the time of introduction of each device. This is related to information communication technology level, applicable standard, reliability, plant operation policy, introduction budget, etc. during the operation period of the plant 20. This is because the environment changes greatly.

ラダープログラム4は命令とオペランドから成るステップを複数記述した構成である。命令はシーケンス命令とループ命令に大別される、
シーケンス命令はオペランドと組み合わせてシーケンス制御を記述する。1つのシーケンス命令は1つの演算機能を備えた単機能命令であり、例えば、ビット論理演算、データ四則演算、データ転送などの演算毎に命令が存在する。シーケンス命令の演算対象は、オペランドにて定義されたレジスタ5のデータである。
Ladder program 4 has a structure in which a plurality of steps including instructions and operands are described. Instructions are roughly divided into sequence instructions and loop instructions.
Sequence instructions describe sequence control in combination with operands. One sequence instruction is a single function instruction having one operation function. For example, there is an instruction for each operation such as bit logic operation, four data arithmetic operations, and data transfer. The operation target of the sequence instruction is the data of the register 5 defined by the operand.

ループ命令はオペランドと組み合わせてループ制御を記述する。1つのループ命令は1つのループ制御に必要な入力処理、制御演算処理、出力処理などの機能を備えた多機能命令である。各機能はオペランドに定義したパラメータにより決定される。   Loop instructions describe loop control in combination with operands. One loop instruction is a multi-function instruction having functions such as input processing, control arithmetic processing, and output processing necessary for one loop control. Each function is determined by parameters defined in the operand.

入力処理の機能として、プラント入出力8を経由して入力した計測データを、制御演算処理で利用可能なスケールに変換する機能がある。プラント20のアナログ信号は、プラント入出力8のA/D変換を経由して計測データとして取得される。そのため計測データは、アナログ信号仕様とプラント入出力8のA/D変換量子化仕様の組合せにより、スケールが変動する。そこで、オペランドをパラメータとしてアナログ信号仕様と量子化仕様の組合せを取得し、計測データのスケールを制御演算処理で利用可能な正規値と称するスケールに変換する機能を備える。   As a function of the input processing, there is a function of converting measurement data input via the plant input / output 8 into a scale that can be used in the control calculation processing. The analog signal of the plant 20 is acquired as measurement data via the A / D conversion of the plant input / output 8. Therefore, the scale of the measurement data varies depending on the combination of the analog signal specification and the A / D conversion quantization specification of the plant input / output 8. Therefore, it has a function of acquiring a combination of the analog signal specification and the quantization specification using the operand as a parameter, and converting the scale of the measurement data into a scale called a normal value that can be used in the control arithmetic processing.

また入力処理の他の機能として、線形変換、逆線形変換、開平演算、力率変換、積算処理、一次遅れ処理などのデータ変換機能を備え、オペランドに定義したパラメータによりこれら機能の中から実行する機能を指定する。   In addition, other functions of input processing include data conversion functions such as linear conversion, inverse linear conversion, square root extraction, power factor conversion, integration processing, and first-order lag processing, and are executed from these functions using parameters defined in operands. Specify the function.

制御演算処理は、例えば、干渉型PID、非干渉型PID、比率演算などの機能を備え、オペランドに定義したパラメータによりこれら機能の中から実行する機能を指定する。   The control calculation process has functions such as interference type PID, non-interference type PID, and ratio calculation, for example, and designates a function to be executed from these functions by parameters defined in the operand.

また、ループ命令はレジスタ5に割り付けられた演算用データエリアをアクセスする。   The loop instruction accesses the operation data area allocated to the register 5.

出力処理の機能としては、制御演算処理から出力された操作データに対して、線形変換、逆線形変換、開平演算、力率変換、積算処理、一次遅れ処理、BCD変換などのデータ変換機能を備える。オペランドに定義したパラメータによりこれら機能の中から実行する機能を指定する。   Output processing functions include data conversion functions such as linear conversion, inverse linear conversion, square root extraction, power factor conversion, integration processing, first-order lag processing, and BCD conversion for the operation data output from the control calculation processing. . The function to be executed is specified from these functions by the parameter defined in the operand.

また、出力処理の機能としては、制御演算処理からの操作データを正規化スケールから、プラント入出力8のD/A変換量子化仕様と、プラント20へのアナログ信号仕様に適合したスケールに変換する機能を備え、オペランドに定義したパラメータによりこれら機能の中から実行する機能を指定する。   As an output processing function, the operation data from the control arithmetic processing is converted from the normalized scale into a scale that conforms to the D / A conversion quantization specification of the plant input / output 8 and the analog signal specification to the plant 20. A function is provided, and a function to be executed is specified from these functions by a parameter defined in the operand.

ループ制御プログラム6は、ラダープログラム4に記述されたループ命令の実行モジュールである。ループ制御プログラム6は起動すると、ラダープログラム4に記述されたオペランドを取得し、オペランドに従い入力処理、制御演算処理、出力処理の順にという一連のループ制御演算処理を実行し、結果をレジスタ5に格納して処理を終了する。
なお、ループ制御プログラム6は、演算プロセッサ2により実行される。
The loop control program 6 is an execution module for loop instructions described in the ladder program 4. When the loop control program 6 is started, it acquires the operand described in the ladder program 4, executes a series of loop control arithmetic processing in the order of input processing, control arithmetic processing, and output processing according to the operand, and stores the result in the register 5. To finish the process.
The loop control program 6 is executed by the arithmetic processor 2.

通信インタフェース9は、プログラミング装置11とメモリ3との間でデータを送受信するためのインタフェースである。   The communication interface 9 is an interface for transmitting and receiving data between the programming device 11 and the memory 3.

プラント20のシーケンス制御及びループ制御用のラダープログラム4は、プログラミング装置11のラダープログラム開発環境を用いてラダー図形式で製作され、通信インタフェース9とバス7を介してメモリ3に格納される。また、プログラミング装置11は通信インタフェース9とバス7を介してラダープログラム4を読み出して、命令とオペランドをラダー図形式で表示ならびに編集することもできる。   The ladder program 4 for sequence control and loop control of the plant 20 is produced in the form of a ladder diagram using the ladder program development environment of the programming device 11 and stored in the memory 3 via the communication interface 9 and the bus 7. The programming device 11 can also read the ladder program 4 via the communication interface 9 and the bus 7 and display and edit instructions and operands in a ladder diagram format.

プラント20の制御全体の容量は、例えばラダープログラムのステップ数で数千〜数十万ステップ、ループ制御数で数百〜数千ループである。   The overall control capacity of the plant 20 is, for example, several thousand to several hundred thousand steps in the number of steps of the ladder program, and several hundred to several thousand loops in the number of loop controls.

また、プログラミング装置11のループ制御プログラムの開発環境を用いて、C言語などのプログラム言語によるループ制御プログラムのソースプログラムを作成し、実行モジュール形式のループ制御プログラム6に変換した後に、通信インタフェース9とバス7を介してメモリ3に格納する。また、
制御コントローラ10は、プラント入出力8を介してプラント20の信号を受信し、レジスタ5に格納する。シーケンスプロセッサ1はラダープログラム4に記述されたシーケンス命令を実行して、結果をレジスタ5に格納する。また、シーケンスプロセッサ1はラダープログラム4に記述されたループ命令を検出すると、演算プロセッサ2にループ演算プログラム6を実行させて、結果をレジスタ5に格納する。レジスタ5に格納されたデータは、プラント入出力8を介してプラント20へ出力される。このように、制御コントローラ10は、プラント20のシーケンス制御とループ制御を実行する。
In addition, a loop control program source program in a programming language such as C language is created using the loop control program development environment of the programming device 11 and converted into the loop control program 6 in the execution module format. The data is stored in the memory 3 via the bus 7. Also,
The controller 10 receives the signal of the plant 20 via the plant input / output 8 and stores it in the register 5. The sequence processor 1 executes a sequence instruction described in the ladder program 4 and stores the result in the register 5. When the sequence processor 1 detects a loop instruction described in the ladder program 4, the sequence processor 1 causes the arithmetic processor 2 to execute the loop arithmetic program 6 and stores the result in the register 5. The data stored in the register 5 is output to the plant 20 via the plant input / output 8. In this way, the control controller 10 executes sequence control and loop control of the plant 20.

図2は、シーケンスプロセッサ1と演算プロセッサ2の動作例を示すタイムチャートである。図2により、シーケンスプロセッサ1と演算プロセッサ2の動作を説明する。   FIG. 2 is a time chart showing an operation example of the sequence processor 1 and the arithmetic processor 2. The operation of the sequence processor 1 and the arithmetic processor 2 will be described with reference to FIG.

シーケンスプロセッサ1は、例えば50ms、100ms、200msなどの制御周期でラダープログラム4を実行する。   The sequence processor 1 executes the ladder program 4 with a control period of, for example, 50 ms, 100 ms, or 200 ms.

シーケンスプロセッサ1は、制御周期のタイミングを検知すると、ラダープログラム4の先頭ステップから実行を開始し、ステップ番号順にシーケンス命令を実行する。そしてループ命令を検出した場合は、実行権を演算プロセッサ2に移行して、シーケンスプロセッサ1は実行待ち状態になる。   When detecting the timing of the control cycle, the sequence processor 1 starts execution from the top step of the ladder program 4 and executes the sequence instructions in the order of step numbers. When a loop instruction is detected, the execution right is transferred to the arithmetic processor 2 and the sequence processor 1 enters an execution waiting state.

演算プロセッサ2は、シーケンスプロセッサ1から実行権を取得すると、ループ制御プログラム6の実行を開始し、ループ制御演算処理の実行を終了すると、実行権をシーケンスプロセッサ1に戻して、演算プロセッサ2は実行待ち状態になる。シーケンスプロセッサ1は、実行権を取得すると再びラダープログラム4のステップを順次実行し、最終ステップまで実行を完了すると、次の制御周期まで実行待ち状態となる。   When the arithmetic processor 2 obtains the execution right from the sequence processor 1, the execution of the loop control program 6 is started. When the execution of the loop control arithmetic processing is finished, the execution processor 2 returns the execution right to the sequence processor 1, and the arithmetic processor 2 executes. Waiting. When the sequence processor 1 acquires the execution right, the sequence processor 1 sequentially executes the steps of the ladder program 4 again. When the execution is completed up to the final step, the sequence processor 1 waits for execution until the next control cycle.

図3は、ラダープログラム4を構成するステップの一例を示す図である。   FIG. 3 is a diagram illustrating an example of steps constituting the ladder program 4.

ステップ40は、1つの命令と1つのオペランドによりシーケンス命令を記述した例である。ステップ40は、ステップ番号400、シーケンス命令401、第1オペランド402Aから構成される。ステップ番号400は各ステップにシリーズで付けられる番号であり、先頭ステップは「0」から付番される。 Step 40 is an example in which a sequence instruction is described by one instruction and one operand. Step 40 includes a step number 400, a sequence instruction 401, and a first operand 402A. Step number 400 is a number assigned to each step in series, and the first step is numbered from “0”.

シーケンス命令401は、単機能命令であり、a接点スタート演算「LD」、b接点スタート演算「LDI」、コイル出力演算「OUT」、a接点の直列演算「AND」、a接点の並列演算「OR」などのビット演算命令と、データ転送演算「MOV」、データ加算演算「ADD」などのワード演算命令が定義される。また、第1オペランド402Aには、例えば「X000」などシーケンス命令401が演算対象とするレジスタ5のアドレスを定義する。   The sequence instruction 401 is a single-function instruction, which is a contact start calculation “LD”, b contact start calculation “LDI”, coil output calculation “OUT”, a contact series operation “AND”, and a contact parallel operation “OR”. ”And word operation instructions such as data transfer operation“ MOV ”and data addition operation“ ADD ”are defined. The first operand 402A defines the address of the register 5 to be operated by the sequence instruction 401 such as “X000”.

シーケンスプロセッサ1は、ステップ40からシーケンス命令401と第1オペランド402Aを読み出して、第1オペランド402Aに定義されたレジスタ5のデータを演算対象に、シーケンス命令401に定義された演算を実行する。   The sequence processor 1 reads the sequence instruction 401 and the first operand 402A from step 40, and executes the operation defined in the sequence instruction 401 using the data in the register 5 defined in the first operand 402A as an operation target.

図4は、ラダープログラム4を構成するステップの一例を示す図である。   FIG. 4 is a diagram illustrating an example of steps constituting the ladder program 4.

ステップ41は、1つのループ命令と4つのオペランドにより、1つのループ制御を記述した例である。ステップ41は、ステップ番号410、ループ命令410、第1オペランド412A、第2オペランド412B、第3オペランド412C、第4オペランド412Dから構成される。また、例えば、ステップ番号410、ループ命令411、第1オペランド412A、第2オペランド412B、第3オペランド412C、第4オペランド412Dは、それぞれ1ワードのサイズであり、ステップ41は6ワードのサイズで構成される。    Step 41 is an example in which one loop control is described by one loop instruction and four operands. Step 41 includes a step number 410, a loop instruction 410, a first operand 412A, a second operand 412B, a third operand 412C, and a fourth operand 412D. Also, for example, step number 410, loop instruction 411, first operand 412A, second operand 412B, third operand 412C, and fourth operand 412D each have a size of 1 word, and step 41 has a size of 6 words. Is done.

ステップ番号400は、各ステップにシリーズで付けられる番号であり、先頭ステップは「0」から付番される。   The step number 400 is a number assigned to each step in series, and the first step is numbered from “0”.

ループ命令411は、多機能命令であり、第1オペランド412A、第2オペランド412B、第3オペランド412C、第4オペランド412Dをパラメータとして取り込み、パラメータに従い入力処理、制御演算処理、出力処理を実行する。また、ループ命令411は、入力処理、制御演算処理、出力処理を実行する際には、レジスタ5内の演算用レジスタ「L」を演算用レジスタとして使用する。演算用レジスタは、プラント20からの計測データ、プラント20に出力する操作データなどを記憶するためのエリアである。 The loop instruction 411 is a multi-function instruction and takes the first operand 412A, the second operand 412B, the third operand 412C, and the fourth operand 412D as parameters, and executes input processing, control arithmetic processing, and output processing according to the parameters. The loop instruction 411 uses the operation register “L” in the register 5 as an operation register when executing input processing, control operation processing, and output processing. The calculation register is an area for storing measurement data from the plant 20, operation data output to the plant 20, and the like.

以下、オペランドの定義と、ループ制御機能の対応を詳細に説明する。第1オペランド412Aにはループ番号を定義する。ここで、ループ番号とは、ループ制御毎に付番した番号であり、制御コントローラ1台内ではユニークである。ループ命令は、ループ番号により演算用レジスタのエリアを使い分ける。例えば、演算用レジスタの全エリアがLW000〜LWFFFで、ループ番号毎に16ワード使用確保したならば、ループ番号が「1」の場合はLW000〜LW00F、ループ番号が「2」の場合はLW010〜LW01Fを使用する。また、ループ番号で決定した先頭アドレスの相対0ワード目LW000にはインデックス、相対1ワード目LW001にはプラント20からの計測データ、2ワード目LW002にはループ制御演算結果である操作データ、3ワード目LW002には目標データなどを格納する。   The correspondence between the definition of the operand and the loop control function will be described in detail below. A loop number is defined in the first operand 412A. Here, the loop number is a number assigned for each loop control and is unique within one control controller. The loop instruction uses the register area for operation depending on the loop number. For example, if all areas of the operation register are LW000 to LWFFF and 16 words are secured for each loop number, LW000 to LW00F when the loop number is “1”, and LW010 to when the loop number is “2” Use LW01F. Also, the relative 0th word LW000 of the head address determined by the loop number is an index, the relative 1st word LW001 is the measurement data from the plant 20, the second word LW002 is the operation data that is the loop control calculation result, 3 words. In the eye LW002, target data and the like are stored.

第2オペランド412Bには、入力処理に必要な機能を選定するためのパラメータを定義する。例えば、第2オペランド412Bの上位バイトには、プラント入出力8を経由して入力した計測データを制御演算処理で利用可能なスケールに変換する機能を選定するために、A/D変換番号を定義する。ここで、A/D変換番号は、プラント20のアナログ信号仕様とプラント入出力8の量子化仕様の組合せで決まる番号である。例えば、1〜5Vのアナログ信号を8ビットにA/D変換されていれば「1」、1〜5Vのアナログ信号を12ビットデータに変換する場合は「2」、1〜5Vのアナログ信号を14ビットデータに変換する場合は「3」、0〜5Vのアナログ信号を8ビットデータに変換する場合は「4」などである。   The second operand 412B defines a parameter for selecting a function necessary for input processing. For example, an A / D conversion number is defined in the upper byte of the second operand 412B in order to select a function for converting measurement data input via the plant input / output 8 into a scale that can be used in control arithmetic processing. To do. Here, the A / D conversion number is a number determined by a combination of the analog signal specification of the plant 20 and the quantization specification of the plant input / output 8. For example, if the analog signal of 1 to 5V is A / D converted to 8 bits, it is “1”. If the analog signal of 1 to 5V is converted to 12-bit data, “2” is used. “3” is used when converting to 14-bit data, and “4” is used when converting an analog signal of 0 to 5 V into 8-bit data.

第2オペランド412Bの下位バイトには、計測データへのデータ変換機能を選定するために、入力データ変換番号を定義する。ここで、入力データ変換番号は、データ変換機能毎の番号であり、例えば、線形変換は「1」、逆線形変換は「2」、差圧から流量を演算する開平演算は「3」、一次遅れは「4」、力率変換は「5」などである。   In the lower byte of the second operand 412B, an input data conversion number is defined in order to select a data conversion function to measurement data. Here, the input data conversion number is a number for each data conversion function. For example, the linear conversion is “1”, the inverse linear conversion is “2”, the square root calculation for calculating the flow rate from the differential pressure is “3”, the primary The delay is “4”, the power factor conversion is “5”, and the like.

第3オペランド412Cには、演算処理番号を定義する。ここで、演算処理番号は、例えば、干渉型PID制御は「1」、非干渉型PID制御は「2」、比率演算は「3」などである。   An arithmetic processing number is defined in the third operand 412C. Here, the calculation processing numbers are, for example, “1” for interference type PID control, “2” for non-interference type PID control, “3” for ratio calculation, and the like.

第4オペランド412Dには、出力処理に必要な機能を選定するためのパラメータを定義する。例えば、第4オペランド412Dの上位バイトには、制御演算処理からの操作データに対するデータ変換機能を選定するために、出力データ変換番号を定義する、ここで、出力データ変換番号は、データを線形変換や非線形変換する機能の番号であり、例えば、線形変換は「1」、逆線形変換は「2」などである。   The fourth operand 412D defines a parameter for selecting a function necessary for output processing. For example, in the upper byte of the fourth operand 412D, an output data conversion number is defined in order to select a data conversion function for operation data from the control arithmetic processing. Here, the output data conversion number is a linear conversion of data Or the number of a function for nonlinear transformation, for example, “1” for linear transformation, “2” for inverse linear transformation, and the like.

また、第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」などである。   The lower byte of the fourth operand 412D has a function for converting the operation data from the normalized scale to a scale that conforms to the D / A conversion quantization specification of the plant input / output 8 and the analog signal specification to the plant 20. Define D / A conversion number for selection. Here, the D / A conversion number is a number for defining an analog signal specification or a quantization specification. For example, when converting 8-bit data into an analog signal of 1 to 5 V, “1” is used. “2” when converting to an analog signal of 1 to 5V, “3” when converting 14-bit data to an analog signal of 1 to 5V, and “8” when converting 8-bit data to an analog signal of 0 to 5V. 4 "and the like.

シーケンスプロセッサ1は、ループ命令を検出するとループ命令情報を取得して、演算プロセッサ2に出力した後に、演算プロセッサ2に実行権を移行する。演算プロセッサ2は、実行権とループ命令情報を取得し、ループ制御プログラム6を起動する。ループ制御プログラム6は、最初に第1オペランド412A、第2オペランド412B、第3オペランド412C、第4オペランド412Dの取得処理を実行して、次に第2オペランド412Bのパラメータに従い入力処理を実行し、次に第3オペランド412Cのパラメータに従い制御演算処理を実行し、次に第4オペランド412Dのパラメータに従い、演算結果をレジスタ5に格納する。このように、ループ命令を1ステップ作成することにより、1つのループ制御に必要な入力処理、制御演算処理、出力処理を定義できるため、オペランドの定義を変更するだけで、多様なループ制御を構築できる。   When the sequence processor 1 detects the loop instruction, the sequence processor 1 acquires the loop instruction information and outputs it to the arithmetic processor 2, and then transfers the execution right to the arithmetic processor 2. The arithmetic processor 2 acquires the execution right and loop instruction information, and starts the loop control program 6. The loop control program 6 first executes the acquisition process of the first operand 412A, the second operand 412B, the third operand 412C, and the fourth operand 412D, and then executes the input process according to the parameters of the second operand 412B. Next, control arithmetic processing is executed according to the parameter of the third operand 412C, and then the arithmetic result is stored in the register 5 according to the parameter of the fourth operand 412D. In this way, by creating one loop instruction, it is possible to define the input processing, control operation processing, and output processing required for one loop control, so various loop controls can be constructed simply by changing the operand definition. it can.

図5はシーケンスプロセッサ1の処理フロー示す図である。   FIG. 5 is a diagram showing a processing flow of the sequence processor 1.

シーケンスプロセッサ1は、まず、ステップS110でラダープログラム実行開始タイミングであるかを判定する。例えば、予め設定された制御周期に達した場合は開始と判定してステップS111に移行し、達していなければ実行不可としてスタートに戻る。    The sequence processor 1 first determines whether it is a ladder program execution start timing in step S110. For example, when a preset control cycle is reached, it is determined that the process is started, and the process proceeds to step S111.

ステップS111では、ステップ番号ゼロから実行開始できるように、ステップカウンタをゼロクリアする。ステップS112では、ステップカウンタのステップを対象に命令を読み出す。ステップS113では、命令がラダープログラム4の最終を示す「END」であるかを判定し、「END」以外の命令の場合はステップS114に移行し、「END」の場合はスタートに戻る。ステップS114では、命令がシーケンス命令かループ命令を判定し、シーケンス命令の場合はステップS115に移行し、ループ命令の場合はS117に移行する。   In step S111, the step counter is cleared to zero so that the execution can be started from step number zero. In step S112, an instruction is read for the step of the step counter. In step S113, it is determined whether the instruction is “END” indicating the end of the ladder program 4. If the instruction is other than “END”, the process proceeds to step S114, and if “END”, the process returns to the start. In step S114, it is determined whether the instruction is a sequence instruction or a loop instruction. If the instruction is a sequence instruction, the process proceeds to step S115. If the instruction is a loop instruction, the process proceeds to S117.

ステップS115では、オペランドを読出す。ステップS116では、読み出した命令とオペランドを実行する。   In step S115, the operand is read. In step S116, the read instruction and operand are executed.

ステップS117では、演算プロセッサ2に対してループ命令情報を出力する。ここでループ命令情報とは、例えば、ループ命令の名称や、ラダープログラム4内のループ命令のアドレス、ラダープログラム4内の第1オペランドのアドレスである。ステップS118では、実行権を演算プロセッサ2に移行する。ステップS119では、演算プロセッサ2から実行権を取得するまで待ち状態となり、実行権を取得するとステップS120に移行する。   In step S117, loop instruction information is output to the arithmetic processor 2. Here, the loop instruction information is, for example, the name of the loop instruction, the address of the loop instruction in the ladder program 4, and the address of the first operand in the ladder program 4. In step S118, the execution right is transferred to the arithmetic processor 2. In step S119, the process waits until the execution right is acquired from the arithmetic processor 2. When the execution right is acquired, the process proceeds to step S120.

ステップS120では、ステップカウンタに1を加算してステップS112に戻る。
このように、シーケンスプロセッサ1は、ステップS112からステップS120の処理を繰返し実行することで、ラダープログラム4を先頭から最終まで実行する。
In step S120, 1 is added to the step counter and the process returns to step S112.
In this manner, the sequence processor 1 executes the ladder program 4 from the beginning to the end by repeatedly executing the processing from step S112 to step S120.

図6は、演算プロセッサ2の処理フロー示す図である。   FIG. 6 is a diagram showing a processing flow of the arithmetic processor 2.

演算プロセッサ2は、まず、ステップS210でシーケンスプロセッサ1からの実行権を取得したかを判定し、実行権を取得した場合は実行権有と判定してステップS211に移行し、実行権を取得していなければ実行権無としてスタートに戻る。   The arithmetic processor 2 first determines whether or not the execution right from the sequence processor 1 has been acquired in step S210. If the execution right is acquired, it is determined that the execution right is present and the process proceeds to step S211 to acquire the execution right. If not, return to start with no execution rights.

ステップS212では、シーケンスプロセッサ1からのループ命令情報を取得する。ここでループ命令情報とは、例えば、ループ命令の名称、第1オペランドのアドレスなどである。   In step S212, loop instruction information from the sequence processor 1 is acquired. Here, the loop instruction information is, for example, the name of the loop instruction, the address of the first operand, and the like.

ステップS212では、ループ命令の名称から実行すべきループ制御プログラム6の先頭アドレスを決定する。次にループ命令情報から第1オペランドのアドレスを引数として、ループ制御プログラム6を実行する。   In step S212, the head address of the loop control program 6 to be executed is determined from the name of the loop instruction. Next, the loop control program 6 is executed using the address of the first operand as an argument from the loop instruction information.

ステップS213では、ループ制御プログラム6を最後まで実行した後に、実行権をシーケンスプロセッサ1に移行し、スタートに戻る。   In step S213, after the loop control program 6 is executed to the end, the execution right is transferred to the sequence processor 1, and the process returns to the start.

図7は、ループ制御プログラム6の処理フロー示す図である。以下図4を参照しつつ、図7にてループ制御プログラム6の処理フローを説明する。   FIG. 7 is a diagram showing a processing flow of the loop control program 6. Hereinafter, the processing flow of the loop control program 6 will be described with reference to FIG.

ステップS600では、演算プロセッサ2から第1オペランドのアドレスを取得する。   In step S600, the address of the first operand is acquired from the arithmetic processor 2.

ステップS601では、第1オペランド412Aを読出し、ループ番号とする。ステップS602では、第2オペランド412Bを読出し、412Bの上位バイトをA/D変換番号、下位バイトを入力データ変換番号とする。ステップS603では、第3オペランド412Cを読出し、演算処理番号とする。ステップS604では第4オペランド412Dを読出し、412Dの上位バイトを出力データ変換番号、下位バイトをD/A変換番号とする。   In step S601, the first operand 412A is read and used as a loop number. In step S602, the second operand 412B is read, and the upper byte of 412B is set as the A / D conversion number, and the lower byte is set as the input data conversion number. In step S603, the third operand 412C is read out and used as an operation processing number. In step S604, the fourth operand 412D is read, and the upper byte of 412D is set as the output data conversion number, and the lower byte is set as the D / A conversion number.

ステップS605では、ステップS601で取得したループ番号から演算用レジスタを決定し、相対1ワード目に格納されている計測データを読み出す。計測データとは、例えば、プラント20のアナログ信号をプラント入出力8にてA/D変換したデータである。A/D変換の量子化仕様には、例えば、8ビット、12ビット、14ビットなどの種類があり、計測データはそれぞれ0〜511、0〜4095、0〜16383などのスケールである。   In step S605, a calculation register is determined from the loop number acquired in step S601, and the measurement data stored in the first relative word is read. The measurement data is, for example, data obtained by A / D converting an analog signal of the plant 20 at the plant input / output 8. A / D conversion quantization specifications include, for example, 8 bits, 12 bits, 14 bits, and the like, and the measurement data are scales such as 0 to 511, 0 to 4095, and 0 to 16383, respectively.

ステップS606では、計測データのスケールを正規値と称するスケールに変換(正規化)する。正規値は、例えば0〜10000のスケールからなる整数型のデータである。A/D変換番号が「2」ならば量子化仕様は12ビットと判定して、計測データを0〜4095から0〜10000に変換する。また、A/D変換番号が「1」ならば量子化仕様は8ビットと判定して、計測データを0〜511から0〜10000に変換する。   In step S606, the scale of the measurement data is converted (normalized) into a scale called a normal value. The normal value is, for example, integer type data having a scale of 0 to 10,000. If the A / D conversion number is “2”, the quantization specification is determined to be 12 bits, and the measurement data is converted from 0-4095 to 0-10000. If the A / D conversion number is “1”, the quantization specification is determined to be 8 bits, and the measurement data is converted from 0 to 511 to 0 to 10000.

ステップS607では、正規値に変換された計測データを対象として、入力データ変換番号に従い入力変換処理を実行する。例えば、入力データ変換番号が「1」ならば線形変換、「2」ならば逆線形変換、「3」ならば差圧を流量に変換する開平演算、「4」ならば一次遅れ演算などである。 In step S607, the input conversion process is executed according to the input data conversion number for the measurement data converted into the normal value. For example, the input data conversion number is "1" if the linear transformation, "2" if the inverse linear transformation, "3" if No. computation for converting the differential pressure flow rate, "4" if the like first-order lag calculation is there.

ステップS608では、入力変換処理後の計測データを対象として、演算処理番号に従い制御演算処理を実行し、処理結果を操作データをとして出力する。例えば、演算処理番号が「1」ならば干渉型PID制御、「2」ならば非干渉型PID制御、「3」ならば比率演算などである。 In step S608, the control arithmetic processing is executed according to the arithmetic processing number for the measurement data after the input conversion processing, and the processing result is output as operation data. For example, the arithmetic processing number is "1" if interferometric PID control, "2" if non-interference type PID control, "3" if it etc. ratios arithmetic.

ステップS609では、操作データに対して、出力データ変換番号に従いスケール変換などの出力変換演算処理を実行する。例えば、出力データ変換番号が「1」ならば線形変換、「2」ならば、逆線形変換などである。   In step S609, output conversion calculation processing such as scale conversion is executed on the operation data according to the output data conversion number. For example, when the output data conversion number is “1”, linear conversion is performed, and when the output data conversion number is “2”, inverse linear conversion is performed.

ステップS610では、操作データを対象に、正規値のスケールからD/A変換番号に対応したスケールに変換する。例えば、D/A変換番号が「1」ならば8ビット、「2」ならば12ビット、「3」ならば14ビットなどである。   In step S610, the operation data is converted from a normal scale to a scale corresponding to the D / A conversion number. For example, if the D / A conversion number is “1”, it is 8 bits, “2” is 12 bits, “3” is 14 bits, and so on.

ステップS611では、演算用レジスタの先頭から相対2ワード目に、操作データを格納して処理を終了する。   In step S611, operation data is stored in the second relative word from the beginning of the calculation register, and the process is terminated.

ここで、正規値とは、ループ制御演算処理で使用しているデータ型式であり、整数型の0〜10000スケールとして説明したが、データ型式は固定小数点型、浮動小数点型などとしても良い。   Here, the normal value is a data type used in the loop control calculation process, and has been described as an integer type 0-10000 scale, but the data type may be a fixed-point type, a floating-point type, or the like.

図8は、プラント20のループ制御の機能の一例を示す図である。図8により、配管を流れる流量をバタフライ弁開度で調節するループ制御の処理構成を説明する。   FIG. 8 is a diagram illustrating an example of a loop control function of the plant 20. With reference to FIG. 8, the processing configuration of loop control for adjusting the flow rate flowing through the pipe with the butterfly valve opening will be described.

最初に制御対象プロセスであるプラント20の構成を説明する。ダムから取水した原水30は、配管20A、オリフィス21、配管20B、バタフライ弁23、配管20Cを経由して沈殿池に送られる。オリフィス21は、配管内のオリフィス前後の差圧を計測して、差圧計22に送信する。差圧計22は、差圧計測データを1〜5Vのアナログ信号に変換して、制御コントローラ10に出力する。開度設定器24は、0〜5Vのアナログ信号にて制御コントローラ10から設定された開度に従い、バタフライ弁23の開度を維持する。   First, the configuration of the plant 20 that is a process to be controlled will be described. The raw water 30 taken from the dam is sent to the settling basin via the pipe 20A, the orifice 21, the pipe 20B, the butterfly valve 23, and the pipe 20C. The orifice 21 measures the differential pressure before and after the orifice in the pipe and transmits it to the differential pressure gauge 22. The differential pressure gauge 22 converts the differential pressure measurement data into an analog signal of 1 to 5 V and outputs it to the controller 10. The opening degree setter 24 maintains the opening degree of the butterfly valve 23 according to the opening degree set by the controller 10 with an analog signal of 0 to 5V.

制御コントローラ10は、プラント入出力8に実装した12ビットA/D変換81を介して、差圧計22から差圧計測データを入力し、12ビットデータとして入力レジスタXW100に格納する。また、制御コントローラ10は、ラダープグラム4により、12ビットの差圧計測データを取得し、非干渉型PID制御を実行し、実行結果である開度操作データを8ビットデータとして出力レジスタYW100に格納する。そして、プラント入出力8に実装した8ビットD/A変換82を経由して開度設定器24に開度操作データを出力する。   The controller 10 inputs the differential pressure measurement data from the differential pressure gauge 22 via the 12-bit A / D conversion 81 mounted on the plant input / output 8 and stores it in the input register XW100 as 12-bit data. In addition, the controller 10 acquires 12-bit differential pressure measurement data from the ladder program 4, executes non-interference type PID control, and stores the opening operation data as the execution result in the output register YW100 as 8-bit data. To do. Then, the opening operation data is output to the opening setting device 24 via the 8-bit D / A conversion 82 mounted on the plant input / output 8.

次に、ラダープログラム4に記述したステップ42、43、44によるループ制御演算処理の動作を詳細に説明する。   Next, the operation of the loop control calculation processing in steps 42, 43, and 44 described in the ladder program 4 will be described in detail.

ステップ42は、ステップ番号420、シーケンス命令421、第1オペランド422A、第2オペランド422Bから構成され、シーケンス命令421に定義された「MOV」により、第1オペランド422Aに定義された入力レジスタXW100のデータを、演算用レジスタLW001に転送する。図4で説明したように、演算用レジスタLW001はループ番号「1」の計測データに該当する
ステップ43は、ステップ番号430、ループ命令431、第1オペランド432A、第2オペランド432B、第3オペランド432C、第4オペランド432Dから構成される。ループ命令431は、第1オペランド432Aをループ番号とし、第2オペランド432Bを入力処理のパラメータとし、第3オペランド432Cを制御演算処理のパラメータとし、第4オペランド432Dを出力処理のパラメータとして、ループ制御演算を実行する。
The step 42 includes a step number 420, a sequence instruction 421, a first operand 422A, and a second operand 422B. The data in the input register XW100 defined in the first operand 422A is defined by “MOV” defined in the sequence instruction 421. Is transferred to the arithmetic register LW001. As described with reference to FIG. 4, the arithmetic register LW001 corresponds to the measurement data of the loop number “1” .
Step 43 includes a step number 430, a loop instruction 431, a first operand 432A, a second operand 432B, a third operand 432C, and a fourth operand 432D. The loop instruction 431 uses the first operand 432A as a loop number, the second operand 432B as an input processing parameter, the third operand 432C as a control processing parameter, and the fourth operand 432D as an output processing parameter. Perform the operation.

以下、ループ命令431のループ制御演算処理を、実行順に説明する。   Hereinafter, the loop control arithmetic processing of the loop instruction 431 will be described in the order of execution.

まず、第1オペランド432Aを「0001」と定義することにより、ループ番号は「1」に設定される。これにより、ループ制御演算処理は、ループ番号「1」用の演算用レジスタLW000〜LW00Fを使用する。そして、演算用レジスタの先頭から相対1ワード目のLW001から計測データを読み出し、差圧計測データとして使用する。   First, by defining the first operand 432A as “0001”, the loop number is set to “1”. Thereby, the loop control calculation process uses the calculation registers LW000 to LW00F for the loop number “1”. Then, the measurement data is read from LW001 of the first relative word from the top of the calculation register and used as differential pressure measurement data.

第2オペランド432Bの上位バイトを「02」と定義することにより、A/D変換番号は「2」に設定される。A/D変換番号「2」は、12ビットデータを正規値化する機能に該当するので、演算用レジスタLW001に格納されている差圧計測データを、12ビットデータから正規値に変換する処理を実行する。   By defining the upper byte of the second operand 432B as “02”, the A / D conversion number is set to “2”. Since the A / D conversion number “2” corresponds to a function for normalizing 12-bit data, a process for converting the differential pressure measurement data stored in the operation register LW001 from 12-bit data to a normal value is performed. Run.

第2オペランド432Bの下位バイトを「03」と定義することにより、入力データ変換番号は「3」に設定される。入力データ変換番号「3」は開平演算機能に該当するので、正規値化された差圧計測データに開平演算を施して流量計測データに変換する処理を実行する。   By defining the lower byte of the second operand 432B as “03”, the input data conversion number is set to “3”. Since the input data conversion number “3” corresponds to the square root calculation function, a process of performing square root calculation on the normalized differential pressure measurement data to convert it into flow measurement data is executed.

第3オペランド432Cを「02」と定義することにより、演算制御番号は「2」に設定される。演算制御番号「2」は非干渉型PID制御機能に該当し、流量計測データに対して非干渉型PID制御を実行し、開度操作データを出力する。   By defining the third operand 432C as “02”, the operation control number is set to “2”. The calculation control number “2” corresponds to the non-interference type PID control function, performs non-interference type PID control on the flow rate measurement data, and outputs opening operation data.

第4オペランド432Dの上位バイトを「01」と定義することにより、出力データ変換番号は「1」に設定される。出力データ変換番号「1」は線形変換機能に該当し、開度操作データを線形変換する処理を実行する。   By defining the upper byte of the fourth operand 432D as “01”, the output data conversion number is set to “1”. The output data conversion number “1” corresponds to the linear conversion function, and executes processing for linearly converting the opening operation data.

第4オペランド432の下位バイトを「1」と定義することにより、D/A変換番号は「1」に設定される。D/A変換番号「1」は正規値を8ビットデータに変換する機能に該当するので、開度操作データを8ビットに変換して、ループ番号「1」の演算用レジスタの相対2ワード目LW002に格納する。

By defining the lower byte of the fourth operand 432 D as “1”, the D / A conversion number is set to “1”. Since the D / A conversion number “1” corresponds to the function of converting the normal value into 8-bit data, the opening operation data is converted into 8-bit data, and the relative second word of the calculation register of the loop number “1” is converted. Store in LW002.

このように、ステップ43により、ループ制御の入力処理、制御演算処理、出力処理を構築することができる。   As described above, the loop control input process, the control calculation process, and the output process can be constructed in step 43.

ステップ44は、ステップ番号440、シーケンス命令441、第1オペランド442A、第2オペランド442Bから構成され、シーケンス命令441に定義された「MOV」により、第1オペランド442Aに定義された演算用レジスタLW002の開度操作データを、第2オペランド422Bに定義された演算用レジスタYW100に転送する。   Step 44 is composed of a step number 440, a sequence instruction 441, a first operand 442A, and a second operand 442B. By “MOV” defined in the sequence instruction 441, the operation register LW002 defined in the first operand 442A is stored. The opening operation data is transferred to the calculation register YW100 defined in the second operand 422B.

ステップ42により、入力レジスタの計測データをループ命令が使用する演算用レジスタに転送する処理を設けたが、プラント入出力8が演算用レジスタに計測データを直接格納する構成としてもよい。   In step 42, a process for transferring the measurement data of the input register to the calculation register used by the loop instruction is provided. However, the plant input / output 8 may directly store the measurement data in the calculation register.

ステップ44により、演算用レジスタの操作データを出力レジスタに転送する処理を設けたが、演算用レジスタの操作データをプラント入出力8が直接転送して、プラント20に出力する構成としてもよい。   In step 44, processing for transferring the operation data of the operation register to the output register is provided. However, the operation data of the operation register may be directly transferred by the plant input / output 8 and output to the plant 20.

図9はプログラミング装置11で表示されるラダー図の一例を示す図である。   FIG. 9 is a diagram illustrating an example of a ladder diagram displayed on the programming device 11.

図9(a)のラダー図200は、プログラミング装置11のラダープログラム開発環境を用いて、図9(b)ラダープログラム4をラダー図形式で表示した例である。    A ladder diagram 200 in FIG. 9A is an example in which the ladder program 4 in FIG. 9B is displayed in a ladder diagram format using the ladder program development environment of the programming device 11.

ラダー図200のラダー201は、入力レジスタX001のビットデータがONし、かつ入力レジスタX002のビットデータがONした場合は、出力レジスタY001のビットデータをONする処理を示す。ラダー201は、a接点スタート演算「LD」、a接点の直列演算「AND」コイル出力演算「OUT」の3つのシーケンス命令から構成される。   A ladder 201 in the ladder diagram 200 indicates a process of turning on the bit data of the output register Y001 when the bit data of the input register X001 is turned ON and the bit data of the input register X002 is turned ON. Ladder 201 is composed of three sequence commands: a contact start operation “LD”, a series operation “AND” of a contact, and coil output calculation “OUT”.

ラダー202は、シーケンス命令「MOV」により入力レジスタXW100のワードデータを、演算用レジスタLW001に転送する。   The ladder 202 transfers the word data of the input register XW100 to the arithmetic register LW001 by the sequence instruction “MOV”.

ラダー203は、ループ命令205と4つのオペランドにより、1つのループ制御を記述している。オペランド表示エリア206には、4つのオペランドを一括で、左上からループ番号「0001」、入力処理パラメータ「0203」、制御演算処理パラメータ「0002」、出力処理パラメータ「0101」の順に表示することにより、ラダー図のみでループ制御の構成を容易に把握できる。   The ladder 203 describes one loop control by a loop instruction 205 and four operands. In the operand display area 206, four operands are displayed in the order of the loop number “0001”, the input processing parameter “0203”, the control operation processing parameter “0002”, and the output processing parameter “0101” from the upper left. The loop control configuration can be easily grasped only with the ladder diagram.

ラダー204は、シーケンス命令「MOV」により演算用レジスタLW002のデータを、出力レジスタYW100に転送する
なお、本発明に係る制御コントローラは、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、適宜変形することができる。以下に、本発明に係る制御コントローラの他の実施形態を列挙する。
The ladder 204 transfers the data in the operation register LW002 to the output register YW100 by the sequence instruction “MOV”. Note that the control controller according to the present invention is not limited to the above-described embodiment, and the gist of the present invention. As long as it does not deviate from the above, it can be appropriately modified. Hereinafter, other embodiments of the control controller according to the present invention will be listed.

前述の実施形態では、ループ命令411のオペランド412をループ番号、入力処理、制御演算処理、出力処理の一連のループ制御演算処理を記述すべく第1から第4までの4つのオペランドを備えたが、1つのオペランドで一連のループ制御の機能を記述しても良いし、入力処理毎、制御演算処理毎、出力処理毎に複数のオペランドを備えても良い。   In the above-described embodiment, the operand 412 of the loop instruction 411 is provided with four operands from the first to the fourth in order to describe a series of loop control arithmetic processing of loop number, input processing, control arithmetic processing, and output processing. A series of loop control functions may be described with one operand, or a plurality of operands may be provided for each input process, each control operation process, and each output process.

前述の実施形態では、シーケンスプロセッサ1から出力されるループ命令情報を、ラダープログラム2内のオペランドが格納されているアドレスとしたが、ラダープログラム2内のループ命令が格納されているアドレスとして、ループ制御プログラム6は、ループ命令が格納されているアドレスを基点に、次ぎに続くオペランドを取得する処理としても良い。   In the above-described embodiment, the loop instruction information output from the sequence processor 1 is the address where the operand in the ladder program 2 is stored, but the loop instruction information as the address where the loop instruction in the ladder program 2 is stored The control program 6 may be a process of acquiring the next operand based on the address where the loop instruction is stored.

前述の実施形態では、ラダープログラム4は、IEC−61131(プログラマブルコントローラのプログラミング言語の標準規格)の表現としても良い。   In the above-described embodiment, the ladder program 4 may be expressed in IEC-61131 (programmable controller programming language standard).

前述の実施形態に係る制御コントローラは、電力、ガス、交通、ダムなどの社会インフラシステムの制御システムや、鉄鋼、化学、食品、物流など産業システムの制御システムにも適用できる。   The control controller according to the above-described embodiment can also be applied to control systems for social infrastructure systems such as electric power, gas, transportation, and dams, and control systems for industrial systems such as steel, chemicals, food, and logistics.

各機能を実現するプログラム、データ等の情報は、RAM(Random Access Memory)に格納すること以外に、SSD(Solid State Drive)等の記録装置や、IC(Integrated Circuit)カード、SD(Secure Digital)カード、DVD(Digital Versatile Disc)等の記録媒体に格納することができる。   In addition to storing information such as programs and data for realizing each function in a RAM (Random Access Memory), a recording device such as an SSD (Solid State Drive), an IC (Integrated Circuit) card, an SD (Secure Digital) It can be stored in a recording medium such as a card or a DVD (Digital Versatile Disc).

前述の実施形態に係る各部の構成、機能、プロセッサ、メモリは、それらの全部又は一部を、集積回路で設計されたハードウェアで実現することもできる。   The configuration, function, processor, and memory of each unit according to the above-described embodiment can be realized in whole or in part by hardware designed by an integrated circuit.

本実施形態によれば、ラダープログラムで記述したループ命令とオペランドで、入力処理、制御演算処理および出力処理という一連のループ制御を構築きるので、ラダープログラムの知識を有するエンジニアにより、シーケンス制御とループ制御が混在した多様な制御システムを容易に構築できるという効果がある。   According to the present embodiment, since a series of loop control including input processing, control arithmetic processing, and output processing can be constructed with loop instructions and operands described in a ladder program, an engineer having knowledge of the ladder program can perform sequence control and loop control. There is an effect that various control systems in which controls are mixed can be easily constructed.

ラダープログラムでループ制御を記述できるので、エンジニアリング効率の向上、プログラミングとデバッグ効率の向上、実際の試運転調整効率の向上が期待できる。   Since loop control can be described in a ladder program, it is expected to improve engineering efficiency, improve programming and debugging efficiency, and improve actual test run adjustment efficiency.

また、1つのループ制御を最小ステップのラダープログラムにより記述できるので、プログラミング装置に表示したラダー図形式の画面をスクロールしたり、画面を複数展開することなく、プログラミングとデバッグを実施できるので、作業効率が向上するという効果がある。   In addition, since one loop control can be described by a ladder program with a minimum step, programming and debugging can be performed without scrolling the ladder diagram format screen displayed on the programming device or expanding multiple screens. Has the effect of improving.

また、ラダープログラムにてループ制御が可視化されて記述でき、第三者でもループ制御構成を容易に理解できるので保守性が高く、社会インフラのような長期間保守を要求されるプラントにも適用できるという効果がある。   In addition, loop control can be visualized and described in a ladder program, and even a third party can easily understand the loop control configuration, so it is highly maintainable and can be applied to plants that require long-term maintenance such as social infrastructure. There is an effect.

また、例えばセンサ信号仕様の変更、制御コントローラのA/D変換仕様の変更などが発生しても、ラダープログラムのオペランドの変更のみで簡易に改修できるので、改修作業時間が短時間となり、更新に伴うプラント停止時間、人間による代替運転時間を最小化できるという効果がある。   For example, even if the sensor signal specifications change, the A / D conversion specification change of the control controller, etc. occur, the modification can be done simply by changing the operand of the ladder program. This has the effect of minimizing the accompanying plant stop time and human alternative operation time.

なお、実施形態を説明する図面においては、説明上必要と考えられる制御線や情報線のみを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には、ほとんどすべての構成が相互に接続されていると考えてよい。   In the drawings for explaining the embodiments, only control lines and information lines considered necessary for explanation are shown, and not all control lines and information lines on the product are necessarily shown. In practice, it can be considered that almost all configurations are connected to each other.

1:シーケンスプロセッサ、2:演算プロセッサ、3:メモリ、4:ラダープログラム、5:レジスタ、6:ループ制御プログラム、7:バス、8:プラント入出力、9:通信インタフェース、10:制御コントローラ、11:プログラミング装置、20:プラント。   1: sequence processor, 2: arithmetic processor, 3: memory, 4: ladder program, 5: register, 6: loop control program, 7: bus, 8: plant input / output, 9: communication interface, 10: control controller, 11 : Programming device, 20: Plant.

Claims (10)

シーケンスプロセッサと、演算プロセッサと、メモリとを備え、
前記メモリには、ラダープログラムと、ループ制御プログラムを備え、
前記ラダープログラムは、命令とオペランドの組合せにより構成され、
前記シーケンスプロセッサは、前記ラダープログラムの命令がシーケンス命令の場合は、前記シーケンスプロセッサによって前記シーケンス命令を実行し、前記ラダープログラムの命令がループ命令の場合は、前記演算プロセッサに前記ループ制御プログラムを実行させる処理を備えた、制御コントローラであって、
前記ループ命令は、少なくとも入力処理、制御演算処理、および出力処理を定義するループ命令用オペランドを具備すること、
前記ループ命令用オペランドは、更に、入力処理のパラメータを定義するオペランド、制御演算処理のパラメータを定義するオペランド及び出力処理のパラメータを定義するオペランドを具備すること、
前記ループ制御プログラムは、前記ループ命令用オペランドを取得する処理を備え、前記ループ命令用オペランドをパラメータとして前記入力処理、前記制御演算処理および前記出力処理を実行し
前記メモリには、更にレジスタを備え、前記ループ命令用オペランドは、ループ番号を定義するオペランドを具備し、前記ループ制御プログラムは、前記ループ命令用オペランドの格納アドレスを取得する処理と、前記ループ命令用オペランドから前記ループ番号を取得する処理を備え、前記ループ番号で指定された前記レジスタを前記演算プロセッサが演算用レジスタとして使用することを特徴とする制御コントローラ。
A sequence processor, an arithmetic processor, and a memory;
The memory includes a ladder program and a loop control program.
The ladder program is composed of a combination of an instruction and an operand,
The sequence processor executes the sequence instruction by the sequence processor when the instruction of the ladder program is a sequence instruction, and executes the loop control program to the arithmetic processor when the instruction of the ladder program is a loop instruction. A controller with processing
The loop instruction includes an operand for a loop instruction that defines at least input processing, control arithmetic processing, and output processing;
The loop instruction operand further comprises an operand defining an input processing parameter, an operand defining a control arithmetic processing parameter, and an operand defining an output processing parameter;
The loop control program includes a process for obtaining the loop instruction operand, and executes the input process, the control arithmetic process, and the output process using the loop instruction operand as a parameter ,
The memory further includes a register, the loop instruction operand includes an operand defining a loop number, the loop control program obtains a storage address of the loop instruction operand, and the loop instruction A control controller comprising: a process of obtaining the loop number from a general operand, wherein the arithmetic processor uses the register designated by the loop number as an arithmetic register .
請求項1記載の制御コントローラにおいて、
前記レジスタは、前記指定される各ループ番号に対応して複数のエリアを有し、前記各エリアは、少なくとも前記入力処理の対象となる計測データを格納する領域及び前記制御演算処理結果である操作データを格納する領域を備えることを特徴とする制御コントローラ。
The controller of claim 1,
The register has a plurality of areas corresponding to the designated loop numbers, and each area is an area for storing at least measurement data to be subjected to the input process and an operation result of the control calculation process A control controller comprising an area for storing data .
シーケンスプロセッサと、演算プロセッサと、メモリとを備え、
前記メモリには、ラダープログラムと、ループ制御プログラムを備え、
前記ラダープログラムは、命令とオペランドの組合せにより構成され、
前記シーケンスプロセッサは、前記ラダープログラムの命令がシーケンス命令の場合は、前記シーケンスプロセッサによって前記シーケンス命令を実行し、前記ラダープログラムの命令がループ命令の場合は、前記演算プロセッサに前記ループ制御プログラムを実行させる処理を備えた、制御コントローラであって、
前記ループ命令は、少なくとも入力処理、制御演算処理、および出力処理を定義するループ命令用オペランドを具備すること、
前記メモリには、更にレジスタを備え、前記ループ命令用オペランドは、ループ番号を定義するオペランドを具備し、前記ループ制御プログラムは、前記ループ命令用オペランドの格納アドレスを取得する処理と、前記ループ命令用オペランドから前記ループ番号を取得する処理を備え、前記ループ番号で指定された前記レジスタを前記演算プロセッサが演算用レジスタとして使用することを特徴とする制御コントローラ。
A sequence processor, an arithmetic processor, and a memory;
The memory includes a ladder program and a loop control program.
The ladder program is composed of a combination of an instruction and an operand,
The sequence processor executes the sequence instruction by the sequence processor when the instruction of the ladder program is a sequence instruction, and executes the loop control program to the arithmetic processor when the instruction of the ladder program is a loop instruction. A controller with processing
The loop instruction includes an operand for a loop instruction that defines at least input processing, control arithmetic processing, and output processing;
The memory further includes a register, the loop instruction operand includes an operand defining a loop number, the loop control program obtains a storage address of the loop instruction operand, and the loop instruction A control controller comprising: a process of obtaining the loop number from a general operand, wherein the arithmetic processor uses the register designated by the loop number as an arithmetic register .
請求項3記載の制御コントローラにおいて、
前記レジスタは、前記指定される各ループ番号に対応して複数のエリアを有し、前記各エリアは、少なくとも前記入力処理の対象となる計測データを格納する領域及び前記制御演算処理結果である操作データを格納する領域を備えることを特徴とする制御コントローラ。
The control controller according to claim 3,
The register has a plurality of areas corresponding to the designated loop numbers, and each area is an area for storing at least measurement data to be subjected to the input process and an operation result of the control calculation process A control controller comprising an area for storing data .
請求項4記載の制御コントローラにおいて、
前記ループ命令用オペランドは、更に、入力処理のパラメータを定義するオペランド、制御演算処理のパラメータを定義するオペランド及び出力処理のパラメータを定義するオペランドを具備することを特徴とする制御コントローラ。
The controller of claim 4, wherein
The loop instruction operand further comprises an operand defining an input processing parameter, an operand defining a control arithmetic processing parameter, and an operand defining an output processing parameter .
シーケンスプロセッサと、演算プロセッサと、メモリとを備えた制御コントローラに接続するプログラミング装置による前記制御コントローラのプログラミング方法であって、
前記メモリには、ラダープログラムと、レジスタと、ループ制御プログラムを備え、
前記ラダープログラムは、命令とオペランドの組合せにより構成され、
前記シーケンスプロセッサは、前記ラダープログラムの命令がシーケンス命令の場合は、前記シーケンスプロセッサによって前記シーケンス命令を実行し、前記ラダープログラムの命令がループ命令の場合は、前記演算プロセッサに前記ループ制御プログラムを実行させる処理を備え、
前記プログラミング装置は、前記ラダープログラムをラダー図形で表示し、表示した前記ラダー図形の上に、少なくとも入力処理、制御演算処理および出力処理を定義するループ命令用オペランドを定義及び表示するためのループ命令用オペランドエリアを備え、前記ラダープログラムの命令が前記ループ命令の場合は、前記ループ命令用オペランドエリアに、前記ループ命令用オペランドを、入力処理パラメータ、制御演算処理パラメータ、出力処理パラメータの順に定義及び表示し、
前記ループ命令用オペランドは、ループ番号を定義するオペランドを具備し、前記ループ制御プログラムは、前記ループ命令用オペランドの格納アドレスを取得すること、前記ループ命令用オペランドから前記ループ番号を取得することを行い、前記ループ番号で指定された前記レジスタを前記演算プロセッサが演算用レジスタとして使用することを特徴とする制御コントローラのプログラミング方法。
A method of programming the control controller by a programming device connected to a control controller comprising a sequence processor, an arithmetic processor, and a memory,
The memory includes a ladder program, a register, and a loop control program.
The ladder program is composed of a combination of an instruction and an operand,
The sequence processor executes the sequence instruction by the sequence processor when the instruction of the ladder program is a sequence instruction, and executes the loop control program to the arithmetic processor when the instruction of the ladder program is a loop instruction. Equipped with processing
The programming device displays the ladder program as a ladder graphic, and defines and displays a loop instruction operand defining at least input processing, control arithmetic processing, and output processing on the displayed ladder graphic. When the ladder program instruction is the loop instruction, the loop instruction operand is defined in the loop instruction operand area in the order of input processing parameter, control arithmetic processing parameter, and output processing parameter. display and,
The operand for loop instruction includes an operand for defining a loop number, and the loop control program acquires a storage address of the operand for loop instruction, and acquires the loop number from the operand for loop instruction. And the arithmetic processor uses the register specified by the loop number as an arithmetic register .
請求項6記載の制御コントローラのプログラミング方法において、
前記レジスタは、前記指定される各ループ番号に対応して複数のエリアを有し、前記各エリアは、少なくとも前記入力処理の対象となる計測データを格納する領域及び前記制御演算処理結果である操作データを格納する領域を備えることを特徴とする制御コントローラのプログラミング方法。
The method of programming a controller according to claim 6,
The register has a plurality of areas corresponding to the designated loop numbers, and each area is an area for storing at least measurement data to be subjected to the input process and an operation result of the control calculation process A control controller programming method comprising an area for storing data .
シーケンスプロセッサと、演算プロセッサと、メモリとを備えた制御コントローラに接続するプログラミング装置による前記制御コントローラのプログラミング方法であって、
前記メモリには、ラダープログラムと、レジスタと、ループ制御プログラムを備え、
前記ラダープログラムは、命令とオペランドの組合せにより構成され、
前記シーケンスプロセッサは、前記ラダープログラムの命令がシーケンス命令の場合は、前記シーケンスプロセッサによって前記シーケンス命令を実行し、前記ラダープログラムの命令がループ命令の場合は、前記演算プロセッサに前記ループ制御プログラムを実行させること、
前記ループ命令オペランドは、少なくとも入力処理、制御演算処理、および出力処理を定義するループ命令用オペランドを具備すること、
前記ループ命令用オペランドは、ループ番号を定義するオペランドを具備し、前記ループ制御プログラムは、前記ループ命令用オペランドの格納アドレスを取得すること、前記ループ命令用オペランドから前記ループ番号を取得すること、前記ループ番号で指定された前記レジスタを前記演算プロセッサが演算用レジスタとして使用することを特徴とする制御コントローラのプログラミング方法。
A method of programming the control controller by a programming device connected to a control controller comprising a sequence processor, an arithmetic processor, and a memory,
The memory includes a ladder program, a register, and a loop control program.
The ladder program is composed of a combination of an instruction and an operand,
The sequence processor executes the sequence instruction by the sequence processor when the instruction of the ladder program is a sequence instruction, and executes the loop control program to the arithmetic processor when the instruction of the ladder program is a loop instruction. Letting
The loop instruction operand comprises at least an operand for a loop instruction that defines input processing, control arithmetic processing, and output processing;
Said loop instruction for operands, includes an operand that defines the loop number, the loop control program is to obtain a storage address of said loop instruction for operands, and obtaining child the loop number from the loop instruction for operands A method of programming a control controller, wherein the arithmetic processor uses the register specified by the loop number as an arithmetic register.
請求項8記載の制御コントローラのプログラミング方法おいて、
前記レジスタは、前記指定される各ループ番号に対応して複数のエリアを有し、前記各エリアは、少なくとも前記入力処理の対象となる計測データを格納する領域及び前記制御演算処理結果である操作データを格納する領域を備えることを特徴とする制御コントローラのプログラミング方法。
The control controller programming method according to claim 8,
The register has a plurality of areas corresponding to the designated loop numbers, and each area is an area for storing at least measurement data to be subjected to the input process and an operation result of the control calculation process A control controller programming method comprising an area for storing data.
請求項9記載の制御コントローラのプログラミング方法において、
前記ループ命令用オペランドは、入力処理のパラメータを定義するオペランド、制御演算処理のパラメータを定義するオペランド及び出力処理のパラメータを定義するオペランドを具備することを特徴とする制御コントローラのプログラミング方法。
The control controller programming method according to claim 9, wherein:
The loop controller operand includes an operand defining an input processing parameter, an operand defining a control arithmetic processing parameter, and an operand defining an output processing parameter .
JP2013195708A 2013-09-20 2013-09-20 Control controller and programming method thereof Active JP5916677B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013195708A JP5916677B2 (en) 2013-09-20 2013-09-20 Control controller and programming method thereof
CN201480051197.XA CN105556405B (en) 2013-09-20 2014-09-01 Controller and its programmed method
PCT/JP2014/072866 WO2015041028A1 (en) 2013-09-20 2014-09-01 Control controller and method for programming same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013195708A JP5916677B2 (en) 2013-09-20 2013-09-20 Control controller and programming method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016041733A Division JP6161752B2 (en) 2016-03-04 2016-03-04 Control controller and programming method thereof

Publications (3)

Publication Number Publication Date
JP2015060538A JP2015060538A (en) 2015-03-30
JP2015060538A5 JP2015060538A5 (en) 2016-01-28
JP5916677B2 true JP5916677B2 (en) 2016-05-11

Family

ID=52688682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195708A Active JP5916677B2 (en) 2013-09-20 2013-09-20 Control controller and programming method thereof

Country Status (3)

Country Link
JP (1) JP5916677B2 (en)
CN (1) CN105556405B (en)
WO (1) WO2015041028A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6568152B2 (en) * 2017-06-30 2019-08-28 ファナック株式会社 Numerical controller
JP6901430B2 (en) * 2018-04-09 2021-07-14 ファナック株式会社 Control device and editing device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59205605A (en) * 1983-05-07 1984-11-21 Hitachi Ltd Sequence controller
JPS61163401A (en) * 1985-01-14 1986-07-24 Omron Tateisi Electronics Co Programmable controller
JPH02311903A (en) * 1989-05-29 1990-12-27 Toshiba Corp Programmable controller
JP2799009B2 (en) * 1989-10-31 1998-09-17 株式会社日立製作所 Programmable controller
JP2526690B2 (en) * 1990-02-27 1996-08-21 三菱電機株式会社 Programmable controller control method
CN1102713A (en) * 1994-08-08 1995-05-17 张勇 Programmable sequential controller
JPH1069302A (en) * 1996-08-27 1998-03-10 Matsushita Electric Works Ltd Programmable controller with pid instruction
JP3737650B2 (en) * 1999-07-09 2006-01-18 株式会社東芝 Integrated controller and control system
TW539931B (en) * 2000-11-30 2003-07-01 Matsushita Electric Works Ltd General-purpose functional circuit and general-purpose unit for programmable controller
CN102540952B (en) * 2010-12-09 2015-05-20 通用电气公司 Programmable controller and operation method thereof

Also Published As

Publication number Publication date
CN105556405B (en) 2017-09-22
WO2015041028A1 (en) 2015-03-26
JP2015060538A (en) 2015-03-30
CN105556405A (en) 2016-05-04

Similar Documents

Publication Publication Date Title
EP3620868B1 (en) Apparatus, method, program, and recording medium to output recommended control conditions
AU2010201386B2 (en) Method for executing sequential function charts as function blocks in a control system
US8306658B2 (en) Field device for processing data and parameters in a decentralised automation system
CN105302015B (en) Process control system using representative components and adapter components
JP6959228B2 (en) Systems, non-transitory computer-readable media and methods for providing an interlinked user interface that corresponds to the safety logic of process control systems.
EP3859455B1 (en) Learning apparatus, learning method, learning program, determination apparatus, determination method, determination program, and computer readable medium
JP6161752B2 (en) Control controller and programming method thereof
CN112947134A (en) Apparatus, method and recording medium
JP5916677B2 (en) Control controller and programming method thereof
Mahato et al. Embedded web PLC: a new advances in industrial control and automation
JP5653391B2 (en) Data polling method and digital instrumentation control system for nuclear power plant using the method
KR20220107409A (en) A Method for Inspection of Digital Twin-Based AR Water Treatment Facilities and Localization of Solutions
JP7264697B2 (en) Plant operation support system and plant operation support method
US20220307944A1 (en) Apparatus, method, and computer-readable medium
US20130041484A1 (en) Method and system for acquiring and analyzing control loop feedback
Jovic Process Control Systems: Principles of design, operation and interfacing
Valiev et al. Pattern-design software of automated control systems
Ji PLC Programming For A Water Level Control System: Design and System Implementation
Rosli et al. Industrial lab-bench liquid level process control system paper–phase I
EP2947530A1 (en) Combined cycle power plant system and related control systems and program products
Ashok et al. Liquid level monitoring and flow based liquid distribution system using PLC and SCADA
Venuprasad et al. Automatic monitoring and controlling of pressure using PLC and SCADA
EP4012551A1 (en) System and method for generating hmi graphics
Zhiyun et al. The development of a novel type chemical process operator-training simulator
Moody Improvements and upgrades to the universal water system's communications, operations, and controls

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151208

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20151208

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160405

R150 Certificate of patent or registration of utility model

Ref document number: 5916677

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150