JP2019016037A - プログラム作成装置 - Google Patents

プログラム作成装置 Download PDF

Info

Publication number
JP2019016037A
JP2019016037A JP2017131021A JP2017131021A JP2019016037A JP 2019016037 A JP2019016037 A JP 2019016037A JP 2017131021 A JP2017131021 A JP 2017131021A JP 2017131021 A JP2017131021 A JP 2017131021A JP 2019016037 A JP2019016037 A JP 2019016037A
Authority
JP
Japan
Prior art keywords
conversion
model
source program
program
instruction
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.)
Pending
Application number
JP2017131021A
Other languages
English (en)
Inventor
翔平 宮下
Shohei Miyashita
翔平 宮下
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2017131021A priority Critical patent/JP2019016037A/ja
Priority to DE102018115422.4A priority patent/DE102018115422A1/de
Priority to US16/026,595 priority patent/US20190012168A1/en
Priority to CN201810724019.9A priority patent/CN109213061A/zh
Publication of JP2019016037A publication Critical patent/JP2019016037A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

Landscapes

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

Abstract

【課題】異機種のプログラマブルロジックコントローラ間において容易にプログラムを移植できるプログラム作成装置を提供する。
【解決手段】プログラム作成装置100は、変換元ソースプログラムを入力するソースプログラム入力部110と、変換元ソースプログラムを変換先機種用のソースプログラムに変換するソースプログラム変換部130と、を有する。ソースプログラム変換部130は、機種毎に命令の使用可否に関する情報を保持する命令対応テーブル131と、機種毎に命令の代替コードを保持する命令変換ライブラリ132と、機種毎にアドレス範囲の使用可否に関する情報を保持するアドレス範囲テーブル133と、機種毎にアドレスの使用有無に関する情報を保持するアドレス使用テーブル134と、に基づいて、変換元ソースプログラムを変換先機種用のソースプログラムに変換する。
【選択図】図1

Description

本発明はプログラム作成装置に関し、特に異機種のプログラマブルロジックコントローラ間において容易にプログラムを移植できるプログラム作成装置に関する。
工場内にはラダープログラムなどに基づく制御を行うプログラマブルロジックコントローラ(プログラマブルマシンコントローラ:PMC等を含む。以下、PLCとする)が複数機種存在する。PLCは、機種毎に作成されたオブジェクトコードを読み込んで動作する。オブジェクトコードは、例えばラダー編集ツールで機種毎に作成及び編集されたラダープログラムをコンパイルすることで生成される。以下、ラダープログラムなど、オブジェクトコードの元となるプログラムを、単にプログラム又はソースプログラムと称する。
ソースプログラムを異なる機種間で移植することがある。PLCのメーカやモデルが異なると、プログラム作成言語の仕様(例えば命令の種類、使用できるメモリの範囲等)が異なることがあるためである。例えば、周辺機器を制御するためのソースプログラムや、特定の機能を実現するためのソースプログラムを、異機種でも同様に実行したい場合に移植が行われる。
異機種間でのソースプログラムの移植に関する先行技術として特許文献1がある。特許文献1には、移植元のラダープログラム内に、移植先のPLCが対応していない命令が含まれる場合、移植先のラダープログラムにおいてはその命令を無効化する技術が記載されている。
特開2014−052673号公報
しかしながら、特許文献1記載のように一部の命令を無効化してしまうと、移植元と移植先とではソースプログラムの内容が異なってしまうため、異機種間で同じ動作を実現できない。また、PLCは機種毎に扱えるアドレスの種類や範囲も異なるため、ソースプログラムを移植する際は、命令だけでなくアドレスの修正も必要である。しかしながら、特許文献1はアドレスの修正手法については何ら言及していない。
本発明はこのような問題点を解決するためになされたものであって、異機種のプログラマブルロジックコントローラ間において容易にプログラムを移植できるプログラム作成装置を提供することを目的とする。
本発明の一実施の形態にかかるプログラム作成装置は、プログラマブルロジックコントローラ用のソースプログラムを異機種間で変換するプログラム作成装置であって、変換元ソースプログラムを入力するソースプログラム入力部と、前記プログラマブルロジックコントローラの機種毎に命令の使用可否に関する情報を保持する命令対応テーブルと、前記プログラマブルロジックコントローラの機種毎に命令の代替コードを保持する命令変換ライブラリと、前記プログラマブルロジックコントローラの機種毎にアドレス範囲の使用可否に関する情報を保持するアドレス範囲テーブルと、前記プログラマブルロジックコントローラの機種毎にアドレスの使用有無に関する情報を保持するアドレス使用テーブルと、に基づいて、前記変換元ソースプログラムを変換先機種用のソースプログラムに変換するプログラム変換部と、を有することを特徴とする。
本発明の一実施の形態にかかるプログラム作成装置は、前記プログラム変換部は、前記命令対応テーブルを参照して、前記変換元ソースプログラムに前記変換先機種で使用不可能な命令が含まれているかを判断し、前記変換元ソースプログラムに前記変換先機種で使用不可能な命令が含まれている場合、前記命令変換ライブラリを参照して、前記変換先機種で使用不可能な命令を前記代替コードに変換し、前記アドレス範囲テーブルを参照して、前記変換元ソースプログラムに前記変換先機種で使用不可能なアドレスが含まれているかを判断し、前記変換元ソースプログラムに前記変換先機種で使用不可能なアドレスが含まれている場合、前記アドレス使用テーブルを参照して、前記変換先機種で使用不可能なアドレスを使用可能かつ未使用のアドレスに変換することを特徴とする。
本発明の一実施の形態にかかるプログラム作成装置は、前記変換元ソースプログラムから変換された前記変換先機種用のソースプログラムを、前記変換先機種用のオブジェクトコードに変換するコンパイラを有することを特徴とする。
本発明の一実施の形態にかかるプログラム作成装置は、前記プログラム変換部は、前記変換元ソースプログラムの一部のみを前記変換先機種用のソースプログラムに変換し、既存の前記変換先機種用のソースプログラムに結合することを特徴とする。
本発明によれば、異機種のプログラマブルロジックコントローラ間において容易にプログラムを移植できるプログラム作成装置を提供することができる。
プログラム作成装置100の構成を示すブロック図である。 コンパイラ120の動作の概要を示す図である。 ソースプログラム変換部130の動作の概要を示す図である。 ソースプログラム変換部130の動作の概要を示す図である。 プログラム作成装置100の動作を示すフローチャートである。 ソースプログラム変換部130の動作を示すフローチャートである。 ソースプログラム変換部130の動作を示すフローチャートである。 命令対応テーブル131の一例を示す図である。 命令変換ライブラリ132の一例を示すブロック図である。 アドレス範囲テーブル133の一例を示すブロック図である。 アドレス使用テーブル134の一例を示すブロック図である。 プログラム作成装置100の一実施例を説明する図である。 プログラム作成装置100の一実施例を説明する図である。 プログラム作成装置100の一実施例を説明する図である。 代替コードの一例を示す図である。
本発明の実施の形態について、図面を用いて説明する。
図1は、プログラム作成装置100の機能構成を示すブロック図である。プログラム作成装置100は、典型的には中央処理装置(CPU)、記憶装置、入出力装置等を有するコンピュータである。CPUが記憶装置に格納されたプログラムを読み出して実行することにより、所定の機能(例えば後述の各処理部)が論理的に実現される。プログラム作成装置100は1台のコンピュータであっても良く、複数のコンピュータにより構成されていても良い。プログラム作成装置100は汎用コンピュータであっても良く、数値制御装置等の専用コンピュータであっても良い。プログラム作成装置100は、処理部としてソースプログラム入力部110、コンパイラ120、ソースプログラム変換部130を有する。
ソースプログラム入力部110は、特定機種のPLC用のソースプログラムを入力する処理を行う。例えばソースプログラム入力部110は、エディタや外部から入力されたソースプログラムを所定の記憶領域に保存する。
コンパイラ120は、ソースプログラムをオブジェクトコードに変換する処理を行う。図2に示すように、コンパイラ120は、各機種(例えばPLC1、PLC2、PLC3)用に作成されたソースプログラムをソースプログラム入力部110から読み込む。コンパイラ120は、ソースプログラムとオブジェクトコードとの変換ルールを機種毎に保持しており、ある機種(例えばPLC1)用のソースプログラムを同じ機種(PLC1)用のオブジェクトコードに変換し出力する。出力された機種毎のオブジェクトコードは、工場内にある対応するPLC各機種において使用される。
ソースプログラム変換部130は、ある機種用のソースプログラムを、他の機種用のソースプログラムに変換する処理を行う。例えば図3に示すように、ソースプログラム変換部130は、特定の機種(例えばPLC1)用に作成されたソースプログラムをソースプログラム入力部110から読み込む。ソースプログラム変換部130は、異機種間のソースプログラムの変換ルールを保持しており、ある機種(PLC1)用のソースプログラムを他の機種(例えばPLC2)用のソースプログラムに変換する。変換後のソースプログラム(PLC2用)は、例えばソースプログラム入力部110へ出力される。
ソースプログラム変換部130は、ソースプログラム全体を変換してもよく、ソースプログラムの一部のみを変換しても良い。例えば図4に示すように、PLC1に接続されている機器2を、新たにPLC2にも接続したい場合、PLC1のソースプログラムのうち機器2の制御に関わる部分だけをPLC2用に変換することもできる。このときソースプログラム変換部130は、ソースプログラムのうち変換の対象とする部分のみをソースプログラム入力部110から読み込んでも良く、ソースプログラム入力部110から読み込んだソースプログラムのうち変換の対象とする部分を指定するためのインタフェースを設けても良い。
図1に示すように、ソースプログラム変換部130は、命令対応テーブル131、命令変換ライブラリ132、アドレス範囲テーブル133、アドレス使用テーブル134を有する。命令対応テーブル131は、PLCの機種毎に使用可能な命令を保持する。命令変換ライブラリ132は、命令と、その命令と同等の機能を有する代替コード(例えばラダー回路)とを保持する。アドレス範囲テーブル133は、PLCの機種毎に使用可能なアドレス範囲を保持する。アドレス使用テーブル134は、PLCの機種毎に使用中のアドレスを保持する。
ソースプログラム変換部130は、命令対応テーブル131を参照して、変換元ソースプログラムで使用されている命令に、変換先機種が対応するか(すなわち変換先機種で使用可能か)を確認する。図8に、命令対応テーブル131の一例を示す。この命令対応テーブル131は、複数の機種(PLC1、PLC2、PLC3)における、命令(ADD、SUB、MUL・・)への対応状況を保持している。○は当該機種において命令が使用可能であること、×は使用不能であることを示す。この命令対応テーブル131は、機種PLC1は全ての命令に対応し、機種PLC2は命令NEGを除く命令に対応し、機種PLC3は命令MUL、DIV、NEGを除く命令に対応することを示している。
ソースプログラム変換部130は、変換元ソースプログラムで使用されている命令に変換先機種が対応しない場合、命令変換ライブラリ132を参照して、当該命令と同等の機能を有する代替コードが存在するかを確認する。存在する場合、当該命令を代替コードで置換することで、ソースプログラムを変換する。図9に、命令変換ライブラリ132の一例を示す。この命令変換ライブラリ132は、複数の機種(PLC1、PLC2、PLC3)における、命令(MUL、DIV、NEG)の代替コードを保持している。例えばソースプログラムがラダープログラムであれば、代替コードはラダー回路のモジュールである。この命令変換ライブラリ132は、機種PLC2用の命令NEGの代替コード、機種PLC3用の命令MUL、NEGの代替コードを保持している。なお、この命令変換ライブラリ132は、機種PLC3用の命令DIVの代替コードを保持していない。変換元ソースプログラムで命令DIVが使用され、機種PLC3が命令DIVに対応しておらず、機種PLC3用の命令DIVの代替コードも存在しない場合、ソースプログラム変換部130はソースプログラムを変換できない。
ソースプログラム変換部130は、アドレス範囲テーブル133を参照して、変換元ソースプログラムで使用されているアドレスが、変換先機種で使用可能であるかを確認する。図10に、アドレス範囲テーブル133の一例を示す。このアドレス範囲テーブル133は、複数の機種(PLC1、PLC2、PLC3)における、使用可能なアドレス範囲を保持している。このアドレス範囲テーブル133は、機種PLC1においては、RアドレスとしてR0からR7999まで、DアドレスとしてD0からD9999まで、TアドレスとしてT0からT499まで、CアドレスとしてC0からC399までの範囲が使用可能であることを示している。同様に機種PLC2及びPLC3が使用可能なアドレス範囲も示されている。
ソースプログラム変換部130は、変換元ソースプログラムで使用されているアドレスが変換先機種で使用不能である場合、アドレス使用テーブル134を参照して、変換先機種に未使用アドレスが存在するかを確認する。存在する場合、変換元ソースプログラムで使用されているアドレスを未使用アドレスで置換することで、ソースプログラムを変換する。図11に、アドレス使用テーブル134の一例を示す。このアドレス使用テーブル134は、機種PLC2におけるアドレスの使用状況を保持している。*はその記憶領域が既に使用されていることを、空欄は未使用であることを示す。このアドレス使用テーブル134は、機種PLC2ではR0000、R0001が既に使用されていること、R0002.0以降のアドレスは未使用であることを示している。
図5のフローチャートを用いて、プログラム作成装置100の動作の一例を説明する。この例では、プログラム作成装置100は、あるソースプログラムを読み込んでこれを機種X用のソースプログラムに変換し、変換後のソースプログラムを機種X用のオブジェクトコードに変換する。
S101:ソースプログラム変換部130は、ソースプログラム入力部110からソースプログラムを読み込む。このソースプログラムは、変換の元となるソースプログラムである。
S102:ソースプログラム変換部130は、読み込んだソースプログラムの命令を解析し、必要であれば変換先の機種Xで使用可能な命令に変換する(命令変換処理)。命令変換処理の内容は後述する。
S103:命令変換処理中にエラーが発生した場合はエラーを出力する(S109)。
S104:ソースプログラム変換部130は、読み込んだソースプログラムで使用されるアドレスを解析し、必要であれば変換先の機種Xで使用可能なアドレスに変換する(アドレス変換処理)。アドレス変換処理の内容は後述する。
S105:アドレス変換処理中にエラーが発生した場合はエラーを出力する(S109)。
S106:ソースプログラム変換部130は、命令変換処理及びアドレス変換処理が施されたソースプログラムを、機種X用のソースプログラムとして出力する。ソースプログラム変換部130は、機種X用のソースプログラムをソースプログラム入力部110に出力する。又は、コンパイラ120に直接引き渡しても良い。
なおソースプログラム変換部130は、変換元のソースプログラムに含まれるアドレスのシンボル(アドレスに付される別名)やコメント等も、機種X用のソースプログラムにコピーすることが好ましい。ソースプログラムの可読性が維持されるためである。
コンパイラ120は、機種X用のソースプログラムを取得し、予め保持している変換ルールに従って機種X用のオブジェクトコードに変換する。
S107:コンパイル時にエラーが発生した場合はエラーを出力する(S109)。
S108:コンパイラ120は、機種X用のオブジェクトコードを出力する。
図6のフローチャートを用いて、命令変換処理を具体的に説明する。
S201:ソースプログラム変換部130は、変換元のソースプログラムに含まれる全ての命令それぞれについて、S202以降の処理を実行する。
S202:ソースプログラム変換部130は、命令対応テーブル131を参照して、変換元ソースプログラムで使用されている命令に機種Xが対応するかを確認する。対応しない場合、S203に遷移する。
S203:ソースプログラム変換部130は、命令変換ライブラリ132を参照して、当該命令と同等の機能を有する機種X用の代替コードが存在するかを確認する。存在する場合はS204、存在しない場合はS205に遷移する。
S204:ソースプログラム変換部130は、変換元ソースプログラムに含まれる命令を代替コードで置換する。
S205:このソースプログラムを機種X用に変換することは不可能であるため、ソースプログラム変換部130はエラーを出力する。
図7のフローチャートを用いて、アドレス変換処理を具体的に説明する。
S301:ソースプログラム変換部130は、変換元のソースプログラムで使用されている全てのアドレスそれぞれについて、S302以降の処理を実行する。
S302:ソースプログラム変換部130は、アドレス範囲テーブル133を参照して、変換元ソースプログラムで使用されているアドレスが機種Xで使用可能であるかを確認する。使用不可能である場合、S303に遷移する。
S303:ソースプログラム変換部130は、アドレス使用テーブル134を参照して、機種Xに未使用アドレスが存在するかを確認する。存在する場合はS304、存在しない場合はS305に遷移する。
S304:ソースプログラム変換部130は、変換元ソースプログラムで使用されるアドレスを未使用アドレスで置換する。
S305:このソースプログラムを機種X用に変換することは不可能であるため、ソースプログラム変換部130はエラーを出力する。
本実施の形態によれば、ソースプログラム変換部130が、ソースプログラムに含まれる命令が移植先の機種で使用不可能である場合、その命令を移植先の機種で動作する代替コードで置換する。またソースプログラム変換部130は、ソースプログラムが使用するアドレスが移植先の機種で使用不可能である場合、その命令を移植先の機種で使用可能な未使用アドレスで置換する。そのため、異機種間で同じ動作を実現しつつ、ソースプログラムを容易に移植することができる。
続いて、実施例として、プログラム作成装置100が、機種PLC1用のラダープログラムを機種PLC2用のラダープログラムに変換する際の動作を説明する。図12は、変換元となる機種PLC1用のラダープログラムである。これは例えば、機種PLC1に接続された外部機器の制御プログラムである。ADD、NEGは命令である。X0000.0、R5000.0、Y0000.0は使用されるアドレスである。本実施例のソースプログラム変換部130は、図8に記載の命令対応テーブル131、図9に記載の命令変換ライブラリ132、図10に記載のアドレス範囲テーブル133、図11に記載のアドレス使用テーブル134を有している。
ソースプログラム変換部130は、図8の命令対応テーブル131を参照して、変換元ラダープログラムで使用されている命令(ADD、NEG)に機種PLC2が対応するかを確認する。この命令対応テーブル131によれば、機種PLC2は命令NEGに対応しない。
ソースプログラム変換部130は、図9の命令変換ライブラリ132を参照して、命令NEGと同等の機能を有する機種PLC2用の代替コードが存在するかを確認する。この命令変換ライブラリ132には、PLC2用NEG代替コード(PLC2用NEG代替ラダー回路)が登録されている。
参考として、図15に代替コードの具体例を示す。命令NEGは符号反転処理を行うための命令である。命令NEGに対応する機種PLC1では、図15上図に示すラダー回路により命令NEGを実現できる。命令NEGに非対応の機種PLC2では、図15中図に示す代替ラダー回路により命令NEGと同等の機能を実現できる。この代替ラダー回路は、機種PLC2が対応する命令MULを用いて符号反転処理を行う。命令NEGに非対応の機種PLC3では、図15下図に示す代替ラダー回路により命令NEGと同等の機能を実現できる。機種PLC3は命令MULにも対応しないため、機種PLC3が対応する命令SUBを用いて符号反転処理を行っている。このように、代替コードは各機種が対応する命令を用いて作成される。
ソースプログラム変換部130は、変換元の機種PLC1用のラダープログラムの命令NEGを、PLC2用NEG代替コードで置換する。図13は、命令変換処理後のラダープログラムを示している。
ソースプログラム変換部130は、図10のアドレス範囲テーブル133を参照して、変換元ソースプログラムで使用されているアドレス(本実施例では説明の簡略化のためR5000.0にのみ着目する)が機種PLC2で使用可能であるかを確認する。このアドレス範囲テーブル133によれば、機種PLC2が使用可能なアドレス範囲はR0からR1499であり、R5000.0は使用不可能である。
ソースプログラム変換部130は、図11のアドレス使用テーブル134を参照して、機種PLC2に未使用アドレスが存在するかを確認する。このアドレス使用テーブル134によれば、R0002.0以降のアドレスが未使用である。
ソースプログラム変換部130は、変換元ソースプログラムで使用されるアドレスR5000.0を未使用アドレスR0002.0で置換する。図14は、アドレス変換処理後のラダープログラムを示している。ソースプログラム変換部130は、図14に示すラダープログラムを、機種PLC2用のラダープログラムとして出力する。コンパイラ120が機種PLC2用のラダープログラムをコンパイルし、機種PLC2用のオブジェクトコードを生成、出力する。このオブジェクトコードを機種PLC2にロードすることで、機種PLC2においても機種PLC1と同じ外部機器を使用できる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上述の実施の形態では、ソースプログラムとしてラダープログラムを例示したが、本発明はこれに限定されず、例えばFBD(Function Block Diagram)、SFC(Sequencial Function Chart)、IL(Instruction List)、ST(Structured Text)等の任意の言語で作成されたプログラムをソースプログラムとして使用できる。同様に、任意の言語で作成されたモジュールを代替コードとして使用できる。
また、上述の実施の形態では、命令変換ライブラリ132が代替コードを予め保持している例を示した。この命令変換ライブラリ132の代替コードは、ユーザによって適宜編集可能であっても良い。例えば、プログラム作成装置100は、ユーザが作成した代替コードを命令変換ライブラリ132に登録したり、登録済みの代替コードを編集したりするためのインタフェースを備えても良い。
また、上述の実施の形態では、命令対応テーブル131はPLCの機種毎に使用可能な命令を保持したが、命令の使用可否に関する情報を保持していれば良く、例えば使用不可能な命令を保持していても良い。また、アドレス範囲テーブル133はPLCの機種毎に使用可能なアドレス範囲を保持したが、アドレスの使用可否に関する情報を保持していれば良く、例えば使用不可能なアドレスを保持していても良い。また、アドレス使用テーブル134はPLCの機種毎に使用中のアドレスをそれぞれ保持したが、アドレスの使用有無に関する情報を保持していれば良く、例えば使用されていないアドレスを保持していても良い。
また、上述の実施の形態では、プログラム作成装置100は命令変換処理及びアドレス変換処理の両方を実行する例を示したが、本発明はこれに限定されず、命令変換処理又はアドレス変換処理の少なくともいずれか一方のみを実行しても良い。
100 プログラム作成装置
110 ソースプログラム入力部
120 コンパイラ
130 ソースプログラム変換部
131 命令対応テーブル
132 命令変換ライブラリ
133 アドレス範囲テーブル
134 アドレス使用テーブル

Claims (4)

  1. プログラマブルロジックコントローラ用のソースプログラムを異機種間で変換するプログラム作成装置であって、
    変換元ソースプログラムを入力するソースプログラム入力部と、
    前記プログラマブルロジックコントローラの機種毎に命令の使用可否に関する情報を保持する命令対応テーブルと、前記プログラマブルロジックコントローラの機種毎に命令の代替コードを保持する命令変換ライブラリと、前記プログラマブルロジックコントローラの機種毎にアドレス範囲の使用可否に関する情報を保持するアドレス範囲テーブルと、前記プログラマブルロジックコントローラの機種毎にアドレスの使用有無に関する情報を保持するアドレス使用テーブルと、に基づいて、前記変換元ソースプログラムを変換先機種用のソースプログラムに変換するソースプログラム変換部と、
    を有するプログラム作成装置。
  2. 前記ソースプログラム変換部は、
    前記命令対応テーブルを参照して、前記変換元ソースプログラムに前記変換先機種で使用不可能な命令が含まれているかを判断し、
    前記変換元ソースプログラムに前記変換先機種で使用不可能な命令が含まれている場合、前記命令変換ライブラリを参照して、前記変換先機種で使用不可能な命令を前記代替コードに変換し、
    前記アドレス範囲テーブルを参照して、前記変換元ソースプログラムに前記変換先機種で使用不可能なアドレスが含まれているかを判断し、
    前記変換元ソースプログラムに前記変換先機種で使用不可能なアドレスが含まれている場合、前記アドレス使用テーブルを参照して、前記変換先機種で使用不可能なアドレスを使用可能かつ未使用のアドレスに変換することを特徴とする
    請求項1記載のプログラム作成装置。
  3. 前記変換元ソースプログラムから変換された前記変換先機種用のソースプログラムを、前記変換先機種用のオブジェクトコードに変換するコンパイラを有することを特徴とする
    請求項1記載のプログラム作成装置。
  4. 前記ソースプログラム変換部は、前記変換元ソースプログラムの一部のみを前記変換先機種用のソースプログラムに変換し、既存の前記変換先機種用のソースプログラムに結合することを特徴とする
    請求項1記載のプログラム作成装置。
JP2017131021A 2017-07-04 2017-07-04 プログラム作成装置 Pending JP2019016037A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017131021A JP2019016037A (ja) 2017-07-04 2017-07-04 プログラム作成装置
DE102018115422.4A DE102018115422A1 (de) 2017-07-04 2018-06-27 Programmgenerierungsvorrichtung
US16/026,595 US20190012168A1 (en) 2017-07-04 2018-07-03 Program generating apparatus
CN201810724019.9A CN109213061A (zh) 2017-07-04 2018-07-04 程序制作装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017131021A JP2019016037A (ja) 2017-07-04 2017-07-04 プログラム作成装置

Publications (1)

Publication Number Publication Date
JP2019016037A true JP2019016037A (ja) 2019-01-31

Family

ID=64666416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017131021A Pending JP2019016037A (ja) 2017-07-04 2017-07-04 プログラム作成装置

Country Status (4)

Country Link
US (1) US20190012168A1 (ja)
JP (1) JP2019016037A (ja)
CN (1) CN109213061A (ja)
DE (1) DE102018115422A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158717A1 (ja) 2019-01-31 2020-08-06 富士フイルム株式会社 学習済みモデル、学習方法、及びプログラム、並びに医用情報取得装置、方法、及びプログラム
WO2022157941A1 (ja) * 2021-01-22 2022-07-28 日本電気株式会社 プログラム解析支援装置、プログラム解析支援方法、及びコンピュータ読み取り可能な記録媒体
JP7523116B2 (ja) 2020-07-30 2024-07-26 株式会社オプトン 制御プログラム生成装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875141B2 (en) * 2020-11-20 2024-01-16 Infosys Limited System and method for training a neural machine translation model
CN113254027B (zh) * 2021-05-20 2024-05-14 西安华讯科技有限责任公司 一种半导体设备控制程序转换方法、系统、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5992777B2 (ja) 2012-09-04 2016-09-14 株式会社キーエンス プログラマブルコントローラ、プログラム作成支援装置及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158717A1 (ja) 2019-01-31 2020-08-06 富士フイルム株式会社 学習済みモデル、学習方法、及びプログラム、並びに医用情報取得装置、方法、及びプログラム
JP7523116B2 (ja) 2020-07-30 2024-07-26 株式会社オプトン 制御プログラム生成装置
WO2022157941A1 (ja) * 2021-01-22 2022-07-28 日本電気株式会社 プログラム解析支援装置、プログラム解析支援方法、及びコンピュータ読み取り可能な記録媒体
JP7524978B2 (ja) 2021-01-22 2024-07-30 日本電気株式会社 プログラム解析支援装置、プログラム解析支援方法、及びプログラム

Also Published As

Publication number Publication date
CN109213061A (zh) 2019-01-15
US20190012168A1 (en) 2019-01-10
DE102018115422A1 (de) 2019-01-10

Similar Documents

Publication Publication Date Title
JP2019016037A (ja) プログラム作成装置
US8843885B2 (en) Program creation support device
CN103814333B (zh) 用于对可编程控制装置编程和配置的方法和设备
CN109918081B (zh) 一种编译方法及编译器
JP2009146229A (ja) プログラマブルコントローラシステム
JP2007265252A (ja) プログラム作成支援装置およびその方法
JP5785501B2 (ja) ラダープログラム作成装置
JP5777837B2 (ja) プログラム開発支援装置およびその方法
JP5262765B2 (ja) Plcのプログラム変換ツール
JP5757098B2 (ja) プログラム作成支援装置、プログラム作成支援方法
JP6445029B2 (ja) 自動化システムを構成するための処理装置および方法
JP5153437B2 (ja) 制御プログラム作成装置
TWI442316B (zh) 可編程邏輯控制器程式編輯系統及方法
JP2008198143A (ja) プログラマブルコントローラ用プログラム作成支援装置およびプログラム作成支援方法
US20240192655A1 (en) Development assistance device, control method for development assistance device, and non-transitory computer readable medium
JP6119452B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
JP5205988B2 (ja) Plcのグローバル変数定義方式
JP6632692B1 (ja) 制御プログラム作成支援ツール及び制御プログラムの作成方法
CN114365048B (zh) 数控装置
JP5978775B2 (ja) プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法
JP6071782B2 (ja) プラント制御装置、プラント制御方法及びプラント制御プログラム
JP2008532130A (ja) 制御装置のインタプリタによるサブプログラムの翻訳のための方法
JP2011002868A (ja) シーケンス制御プログラム自動生成装置
CN113253992B (zh) 用于支持多种编程语言的plc控制方法
JP2022018696A (ja) 制御プログラム生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180918

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181211

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191105