JP2013250810A - プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 - Google Patents
プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 Download PDFInfo
- Publication number
- JP2013250810A JP2013250810A JP2012125430A JP2012125430A JP2013250810A JP 2013250810 A JP2013250810 A JP 2013250810A JP 2012125430 A JP2012125430 A JP 2012125430A JP 2012125430 A JP2012125430 A JP 2012125430A JP 2013250810 A JP2013250810 A JP 2013250810A
- Authority
- JP
- Japan
- Prior art keywords
- facility
- program
- programmable controller
- control program
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
【解決手段】コンパイラ機能部12は、各設備の各機器毎に応じた各制御プログラムの各ソースコード15を、コンパイルして、各機械語オブジェクト16を生成する。その際、各制御プログラムと各I/Oモジュールの対応関係を示す使用変数一覧17等も生成する。システム構成定義機能部13は、各設備と各I/Oモジュールの対応関係を示すモジュール情報19を登録させる。任意の設備が指定された転送処理の際には、使用変数一覧17とモジュール情報19を参照することで、指定された設備に係わる機械語オブジェクト16のみをPLC30へ転送する。
【選択図】図1
Description
特許文献1は、プログラム実行中に、そのプログラムをオンラインで変更可能とするプログラマブルコントローラに関する発明である。
ところで、上記制御プログラムの更新は、様々な理由で行われるものであるが、例えば、上記設備の更新(リプレース;改造など)に伴って行われる場合がある。システムの規模が大きい場合、当該システムの複数の設備の更新(リプレース)を行う場合が多いが、更新(リプレース)対象の設備全てを一度に更新するのではなく、順次、各設備のリプレースを実施する。システム規模が大きい場合のリプレース作業は、システムの設備全てを一度にリプレースするのではなく、部分リプレースを繰り返して順番にリプレースしていく必要がある。
図1は、本例のプログラマブルコントローラシステムの全体構成図である。
本例のプログラマブルコントローラシステムは、PLC(プログラマブルコントローラ)30と、その支援装置(ローダ)10とが、(不図示の通信線等を介して)相互に通信可能な状態で接続されて成る。また、図1には示していないが、図2に示すように、更に、PLC30は、各I/Oモジュールを介して、各設備の各種制御対象機器を制御可能となっている。I/Oモジュールは、例えばサーボ、インバータ等であるが、この例に限らない。
通信機能部14は、生成された機械語オブジェクト16をターゲット(PLC30)にダウンロードする。但し、生成された機械語オブジェクト16全てをPLC30にダウンロードするのではなく、ユーザ指定に応じて決定された1以上の(基本的には複数の)機械語オブジェクト16のみをダウンロードする。
通信機能部32は、上記支援装置10の通信機能部14との通信処理を行って、例えば上記ダウンロードされる機械語オブジェクト16等をデータを受信すると、これを上記の通り新たな機械語オブジェクト33として不図示のメモリ等に格納する。通信機能部32は、更に、この受信データに基づいてプログラム一覧(PLC)34を生成格納する。これについては後に説明する。また、通信機能部32は、例えば支援装置10からの要求に応じて、機械語オブジェクト33やプログラム一覧(PLC)34を、支援装置10に送信する(アップロード)。
PLC30は、不図示のCPU、メモリ等を有しており、当該不図示のメモリ等には、予め所定のアプリケーションプログラム等が記憶されており、上記不図示のCPUがこのアプリケーションプログラムを実行することにより、上記各種機能部31、32等の処理機能が実現される。
図2は、PLCによる各設備の制御に係わる構成を示す図である。
図示の例では、使用変数一覧(テーブル)17は、プログラム名41、変数名42、局番43の各データ項目より成る。プログラム名41には、ソースコード15のプログラム名(ファイル名;ユーザが任意に決めている)が格納される。変数名42には、プログラム(ソースコード15)中に記述されている各変数の変数名が格納される。変数名は、ユーザが任意に決めて記述している。局番43は、上記プログラム名41のプログラム(ソースコード15)において、上記変数名42の変数に係わるアクセス情報に含まれる局番が格納される。このアクセス情報(割当てアドレスの指定等)は、ユーザが任意に決めて記述してもよいが、アドレス指定が無い変数もある。アドレス指定が無い変数に対しては、例えばコンパイラ機能部11が任意のアドレスを割り当てる。
以下がIEC61131-3での変数宣言例である。
VAR
変数1 : INT;
変数2 AT %IW 2.0 : INT;
変数3 AT %QW 3.0 : INT;
END_VAR
変数名の後にある「AT」は、変数の割当てアドレス(アドレスは、%の後で指定する)をユーザが指定する場合に記述する。
・入力モジュールの場合; %IW 局番.ワード位置
・出力モジュールの場合; %QW 局番.ワード位置
つまり、上記変数2は入力モジュール、変数3は出力モジュールに関する記述であることになる。そして、変数2に関して指定されているアドレス(局番.ワード位置)は‘2.0’、変数3に関して指定されているアドレス(局番.ワード位置)は‘3.0’であることになる。よって、変数2に対応する局番は‘2’、変数3に対応する局番は‘3’であると判別できることになる。尚、局番は、各I/Oモジュールを識別するための管理番号であり、I/Oモジュール毎に一意な番号である。
尚、図4(a)に示す定義内容は、図2に示すシステム構成に従っている。これより図示の通り、I/Oモジュール‘1’及びI/Oモジュール‘4’は設備1に関連するI/Oモジュールであり、I/Oモジュール‘2’及びI/Oモジュール‘3’は設備2に関連するI/Oモジュールであることが定義されている。また、図2には示されていないが、図4(a)に示す定義内容によれば、I/Oモジュール‘5’‘6’‘7’は、不図示の設備3に関連するI/Oモジュールであることになる。
図示のモジュール情報19では、局番61に対応付けて設備名62が格納されている。但し、この例に限らず、更に上記モジュール名が格納されてもよいし、局番61の代わりにモジュール名が格納されてもよい。各I/Oモジュールの識別情報は、局番とモジュール名のどちらか一方があればよいからである。また、I/Oモジュールの識別情報は、局番やモジュール名に限らず、他の何らかの情報としてもよい。但し、本例では局番を用いるものとして説明する。
また、コンパイラ機能部12は、上記コンパイル処理に伴って、上記使用変数一覧17だけでなく更にプログラム一覧(支援)18も生成する。つまり、ソースプログラムをコンパイルした場合、それによって生成した機械語オブジェクトと元のソースプログラムとを関連付けるための情報を生成する。
図示の例では、プログラム一覧(支援)18は、管理番号71、プログラム名72、機械語オブジェクトファイル名73、機械語オブジェクトサイズ74のデータ項目から成る。
図5(b)に、プログラム一覧(PLC)34の具体例を示す。
管理番号81と機械語オブジェクトサイズ83には、それぞれ、上記支援装置10から機械語オブジェクト16と共にダウンロードされた上記管理番号と機械語オブジェクト情報が、格納される。
まず、図7の処理について説明する。
上記の通り、図7の処理は、支援装置10が実行する。
支援装置10は、上記指示に応じて図7の処理を実行開始すると、まず、上記プログラム一覧(支援)18を読み込みと共に(ステップS1)、PLC30から上記プログラム一覧(PLC)34を取得し読み込む(ステップS2)。
すなわち、プログラム一覧(支援)18の任意の処理対象レコードを参照して、その機械語オブジェクトファイル名73を取得し、このファイル名の機械語オブジェクト16を読み込む(ステップS3)。次に、この機械語オブジェクト16に対応する機械語オブジェクト33をPLC30から読み込む。すなわち、上記処理対象レコードの管理番号71を用いて、プログラム一覧(PLC)34における該当レコードを認識して、この該当レコードの機械語オブジェクト格納先アドレス82と機械語オブジェクトサイズ83によって示されるPLC30の記憶領域から、データ(該当する機械語オブジェクト33)を読み出す(ステップS4)。
まず、上記処理対象レコードのプログラム名72を用いて、使用変数一覧17を検索して、そのプログラムの各変数に係る局番(そのプログラムがアクセスするI/Oモジュールの識別情報)を取得する(ステップS7)。例えば、プログラム名72が“プログラム1”である場合には、局番‘2’や局番‘3’が取得されることになる。但し、1つの局番が取得された時点でステップS7の処理を終了させてもよい。通常、1つのプログラムが複数の設備を制御するようなことはないので、複数の局番を取得してもそれは全て同じ設備に係わるI/Oモジュールの局番であるはずだからである。
ここで、図6の転送選択画面90の例について説明しておく。
この例では、ユーザは、例えば設備2の例の場合、設備2に対応するプログラムのうちの1つだけを指定すれば済む(図6ではプログラム1についてのみ、対応するチェックボックスをチェック状態としている)。そして、この状態で「転送開始」ボタン92を押下すれば(図8のステップS11)、図8のステップS12以降の処理が実行される。
尚、転送選択画面90は、図6に示す例に限らず、例えば設備名だけを一覧表示するようにしてもよい(勿論、チェックボックスは表示する)。そして、ユーザに、所望の設備名を選択指定させるようにしてもよい。この様にした場合でも、上記図8と略同様の処理が実行されて、同様の効果が得られることになる。つまり、何れにしても少なくとも設備名は表示されることになり、ユーザは設備名の表示を見ることで的確な判断を行えて的確な選択を行うことができ、以って的確なダウンロードが行われるようになる。
ここで、上記PG(プログラム)、FB(ファンクションブロック)、FCT(ファンクション)等の各種POUのソースコードには、通常、任意の変数が記述されている。そして、各種POUを有するプログラムをコンパイルする際には、コンパイラ機能により各POUのインスタンス化(各POUの各変数をメモリに割り付ける)を実施する。そして、後にプログラムを修正(バージョンアップ)する等して、任意のPOUにおける変数に追加があった場合、この追加変数を上記予備領域に割り付けることになる。
以上説明したように、本手法では、プログラマブルコントローラと支援装置を有するプログラマブルコントローラシステムにおいて、下記の構成・動作を供する。
11 ユーザインターフェース機能部
12 コンパイラ機能部
13 システム構成定義機能部
14 通信機能部
15 ソースコード
16 機械語オブジェクト
17 使用変数一覧
18 プログラム一覧(支援)
19 モジュール情報
20 ディスプレイ
21 入力装置
30 PLC(ターゲット)
31 プログラム実行管理機能部
32 通信機能部
33 機械語オブジェクト
34 プログラム一覧(PLC)
35 識別情報
41 プログラム名
42 変数名
43 局番
50 システム構成定義画面
61 局番
62 設備名
71 管理番号
72 プログラム名
73 機械語オブジェクトファイル名
74 機械語オブジェクトサイズ
81 管理番号
82 機械語オブジェクト格納先アドレス
83 機械語オブジェクトサイズ
90 転送選択画面90
91 一覧表示部
92 「転送開始」ボタン
Claims (10)
- 複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムであって、
前記支援装置は、
前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、
任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段と、
を有することを特徴とするプログラマブルコントローラシステム。 - 前記システム構成の変更に伴って前記設備に関して順次リプレースが行われる場合において、前記転送管理手段で最初の設備が指定される前に、前記支援装置が保持する前記制御プログラムは全て変更後のシステム構成に応じた制御プログラムとなっており、
前記指定された設備は、前記リプレース済みの設備であることを特徴とする請求項1記載のプログラマブルコントローラシステム。 - 前記転送管理手段は、前記支援装置が保持する各制御プログラムのうち、前記プログラマブルコントローラが保持する制御プログラムと異なる制御プログラムを転送候補として、前記システム構成登録手段と前記記憶部とを参照することで該転送候補の各制御プログラムが係わる設備を判別して、少なくとも該転送候補の各制御プログラムが係わる設備を一覧表示して前記指定を行わせる為の選択画面を表示することを特徴とする請求項1記載のプログラマブルコントローラシステム。
- 前記選択画面は、前記転送候補の各制御プログラムを、当該制御プログラムに係わる前記設備と対応付けて一覧表示することを特徴とする請求項3記載のプログラマブルコントローラシステム。
- 前記プログラマブルコントローラは、稼働中に、前記転送管理手段によって転送されてきた前記各制御プログラムを、自己が保持・実行していた制御プログラムに代えて保持・実行することを特徴とする請求項1記載のプログラマブルコントローラシステム。
- 前記コンパイル手段は、前記コンパイルの際に前記ソースコードの各変数に対して割り当てたアドレスを保持しており、過去のコンパイルの際に既にアドレスを割り当て済みの変数に対しては同じアドレスを割り当てることを特徴とする請求項5記載のプログラマブルコントローラシステム。
- 前記ソースコードの各変数のうちアドレス指定がある変数に関しては、該アドレス指定に前記I/Oモジュールの識別情報が含まれており、
前記コンパイル手段は、該I/Oモジュール識別情報を用いて、前記制御プログラムと前記I/Oモジュールとの対応関係を生成することを特徴とする請求項1〜6の何れかに記載のプログラマブルコントローラシステム。 - 複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムにおける前記支援装置であって、
前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、
任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段と、
を有することを特徴とするプログラマブルコントローラシステムの支援装置。 - 複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムにおける前記支援装置のコンピュータを、
前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶するシステム構成登録手段と、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶するコンパイル手段と、
任意の設備が指定されると、前記システム構成登録手段と前記記憶部とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送する転送管理手段、
として機能させるためのプログラム。 - 複数の設備より成るシステム構成を有し、該複数の設備を制御対象とし、各制御プログラムを実行することで各設備の各種機器を制御するものであって、各設備毎にそれぞれ1以上のI/Oモジュールを介して制御を行うプログラマブルコントローラと、該プログラマブルコントローラと接続する支援装置とを有するプログラマブルコントローラシステムの前記支援装置における前記制御プログラムの前記プログラマブルコントローラへの転送方法であって、
予め前記各I/Oモジュールと前記各設備との対応関係を登録させて記憶し、
前記各制御プログラムのソースコードをコンパイルして機械語オブジェクトを生成すると共に、該コンパイルの際に得られる各制御プログラムと前記I/Oモジュールとの対応関係を記憶部に記憶し、
任意の設備が指定されると、前記登録した対応関係と前記記憶部に記憶した対応関係とを参照することで、該指定された設備に対応する前記制御プログラムを全て判別して、該判別した制御プログラム全てを前記プログラマブルコントローラに転送することを特徴とするプログラム転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012125430A JP5978775B2 (ja) | 2012-05-31 | 2012-05-31 | プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012125430A JP5978775B2 (ja) | 2012-05-31 | 2012-05-31 | プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013250810A true JP2013250810A (ja) | 2013-12-12 |
JP5978775B2 JP5978775B2 (ja) | 2016-08-24 |
Family
ID=49849417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012125430A Active JP5978775B2 (ja) | 2012-05-31 | 2012-05-31 | プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5978775B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241141A (zh) * | 2020-11-12 | 2021-01-19 | 上海电气风电集团股份有限公司 | Plc控制***的硬件配置方法、***、设备及介质 |
CN113785268A (zh) * | 2019-05-22 | 2021-12-10 | 欧姆龙株式会社 | 信息提供***、服务器以及信息提供方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290518A (ja) * | 2000-04-05 | 2001-10-19 | Mitsubishi Electric Corp | プログラマブルコントローラ |
JP2003295910A (ja) * | 2002-03-29 | 2003-10-17 | Omron Corp | ユニット及びツール機器並びにプログラム製品 |
JP2008186392A (ja) * | 2007-01-31 | 2008-08-14 | Mitsubishi Electric Corp | ソフトウェア自動更新装置及びその装置によって自動更新される端末 |
-
2012
- 2012-05-31 JP JP2012125430A patent/JP5978775B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290518A (ja) * | 2000-04-05 | 2001-10-19 | Mitsubishi Electric Corp | プログラマブルコントローラ |
JP2003295910A (ja) * | 2002-03-29 | 2003-10-17 | Omron Corp | ユニット及びツール機器並びにプログラム製品 |
JP2008186392A (ja) * | 2007-01-31 | 2008-08-14 | Mitsubishi Electric Corp | ソフトウェア自動更新装置及びその装置によって自動更新される端末 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113785268A (zh) * | 2019-05-22 | 2021-12-10 | 欧姆龙株式会社 | 信息提供***、服务器以及信息提供方法 |
CN113785268B (zh) * | 2019-05-22 | 2023-12-15 | 欧姆龙株式会社 | 信息提供***、服务器以及信息提供方法 |
CN112241141A (zh) * | 2020-11-12 | 2021-01-19 | 上海电气风电集团股份有限公司 | Plc控制***的硬件配置方法、***、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5978775B2 (ja) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4541418B2 (ja) | プログラマブルコントローラの周辺装置、置換方法およびプログラム | |
JP6786984B2 (ja) | プログラム処理装置およびプログラム | |
JP2009146229A (ja) | プログラマブルコントローラシステム | |
JP5790128B2 (ja) | プログラマブルコントローラ・システム、その支援装置 | |
JP6866663B2 (ja) | プログラマブルコントローラシステム、プログラマブルコントローラ、支援装置、hci装置、二重化プログラマブルコントローラシステム | |
US9811071B2 (en) | System construction support apparatus | |
JP2009157533A (ja) | プログラマブルコントローラシステム | |
JP5849592B2 (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP5978775B2 (ja) | プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 | |
JP2016224557A (ja) | プログラム作成支援装置、プログラムおよび判別方法 | |
JP4842541B2 (ja) | 制御用表示装置、画面データ生成装置、並びに、それらのプログラムおよび記録媒体 | |
JP2002268730A (ja) | フィールドデバイスのメンテナンス装置 | |
JP6292096B2 (ja) | プログラマブルコントローラシステム、その支援装置 | |
JP4319082B2 (ja) | プログラミングシステム | |
JP6119452B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム | |
JP2008198143A (ja) | プログラマブルコントローラ用プログラム作成支援装置およびプログラム作成支援方法 | |
JP6205934B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラム | |
JP2016224559A (ja) | プログラム作成支援装置、制御方法およびプログラム | |
CN104572233A (zh) | 一种连续功能图编程方法 | |
JP6455096B2 (ja) | コントロールシステム、その支援装置、プログラマブルコントロール装置 | |
JP2005092808A (ja) | ラダープログラムマクロ作成装置、ラダープログラムマクロ作成方法、ラダープログラムマクロ作成プログラムおよびコンピュータで読み取り可能な記録媒体 | |
JP2000235444A (ja) | 大型ビルドソフトウェアシステムの管理及び表示方法及びその装置 | |
JP4877257B2 (ja) | プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム | |
JP2004199524A (ja) | 制御プログラム生成装置及び制御プログラム生成方法並びにプログラム製品 | |
JP7318829B2 (ja) | 生産システム、プログラム作成装置、生産方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160520 |
|
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: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5978775 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |