JP6504237B2 - 共有データ定義支援システム、その支援装置、プログラム - Google Patents
共有データ定義支援システム、その支援装置、プログラム Download PDFInfo
- Publication number
- JP6504237B2 JP6504237B2 JP2017243331A JP2017243331A JP6504237B2 JP 6504237 B2 JP6504237 B2 JP 6504237B2 JP 2017243331 A JP2017243331 A JP 2017243331A JP 2017243331 A JP2017243331 A JP 2017243331A JP 6504237 B2 JP6504237 B2 JP 6504237B2
- Authority
- JP
- Japan
- Prior art keywords
- shared data
- definition
- data type
- information
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 238000012546 transfer Methods 0.000 claims description 25
- 238000009795 derivation Methods 0.000 claims 6
- 238000007726 management method Methods 0.000 description 176
- 238000000034 method Methods 0.000 description 146
- 230000008569 process Effects 0.000 description 123
- 238000007689 inspection Methods 0.000 description 54
- 238000012545 processing Methods 0.000 description 46
- 102100026205 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Human genes 0.000 description 28
- 101000691599 Homo sapiens 1-phosphatidylinositol 4,5-bisphosphate phosphodiesterase gamma-1 Proteins 0.000 description 28
- 101100190617 Arabidopsis thaliana PLC2 gene Proteins 0.000 description 23
- 101100408456 Arabidopsis thaliana PLC8 gene Proteins 0.000 description 23
- 101100464304 Caenorhabditis elegans plk-3 gene Proteins 0.000 description 23
- 101100093534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPS1B gene Proteins 0.000 description 23
- 230000015654 memory Effects 0.000 description 18
- 238000012937 correction Methods 0.000 description 13
- 101100408464 Caenorhabditis elegans plc-1 gene Proteins 0.000 description 10
- 230000008859 change Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 101100190618 Arabidopsis thaliana PLC3 gene Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 101100520231 Caenorhabditis elegans plc-3 gene Proteins 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
- Control By Computers (AREA)
Description
図22には、上記“複数のコントローラがネットワークに接続されて成る制御システム”の一例の概略構成を示す。
尚、各コントローラ100の他の構成については図示・説明は省略するが、CPUやコモンメモリ以外のメモリ等を有しており、上記ブロードキャスト通信等の各種機能を実現させる。
図24(a)には、上記サーバ装置130で作成/記憶される共有データ定義の具体例(共有データ定義テーブル)を示す。
上記各コントローラ100用の各共有データ変数宣言テーブル150を、対応するプログラミング装置110に配信させて記憶させた後、各プログラミング装置110において上記作業者が、記憶された共有データ変数宣言テーブル150を参照しつつ制御プログラムの作成作業を行うことになる。
図1(a)は、本例の共有データ定義支援システムにおける各作業者のプログラミング環境の概略構成図である。つまり、共有データを用いた制御プログラムを作成する環境を表すブロック図である。
図2は、共有データ定義支援装置3の機能ブロック図である。
図示の例では、共有データ定義支援装置3は、システム構成管理部11、共有データ定義部12、共有データ定義管理テーブル記憶部13、共有データ変数宣言テーブル生成部14、共有データ変数宣言テーブル記憶部15、共有データ変数宣言テーブル転送部16、共有データ定義管理テーブル転送部17、共有データ整合性検査部18、共有データ整合性検査結果表示部19等の各種機能部を有する。
図示の例では、共有データ定義管理テーブル30は、共有データ変数名31、データ型32、アドレス33、書込み局(ライト局)34、参照局(リード局)35等から成る。これらは、上述した識共有データ変数名141、データ型142、アドレス143、書込み局(ライト局)144、参照局(リード局)145等と略同様であってよく、ここでの説明は省略する。また、図示の関連データ36は、ここでは関係ないので、特に説明しないものとする。
図示の例の共有データ変数宣言テーブル40は、共有データ変数名41、データ型42、アドレス43等を有する。各プログラミング環境毎に、対応するコントローラ装置4の局番が上記書込み局34と参照局35の何れかに格納されているレコードを、上記共有データ定義管理テーブル30から抽出して、これら抽出レコードの共有データ変数名31、データ型32、アドレス33のデータを、共有データ変数名41、データ型42、アドレス43に格納することで、共有データ変数宣言テーブル40が生成される。尚、共有データ変数宣言テーブル40には、関連データ36を含めてもよい。
タ変数宣言テーブル40を記憶する。
共有データ変数宣言テーブル転送部16は、上記生成・記憶された共有データ変数宣言テーブル40を、自環境のプログラミング装置2や、他のプログラミング環境(その共有データ定義支援装置3等)へ転送する。尚、自環境のプログラミング装置2に転送した共有データ変数宣言テーブル40は、当該プログラミング装置2に記憶されるが、これを共有データ変数宣言テーブル40’と記すものとする。
図4は、共有データ定義支援装置3を用いて共有データ定義の不整合を検出するための作業フローである。
すなわち、まず、上記のように任意の共有データ定義支援装置3の上記共有データ定義部12により、対象とするシステムで使用する共有データの初期データ(共有データ定義管理テーブル30の初期状態)を、ユーザにより定義させる(例えば上記不図示の入力画面上で入力させる)(ステップS12)。尚、この作業の際、ユーザは、上記ステップS11で定義された局構成を参照することで、例えば書込み局、参照局の各局番号などを認識できる。
そして、これら不整合検査対象同士を比較・照合する等して不整合を検出する。例えば、任意の他のプログラミング環境の共有データ定義支援装置3から取得した共有データ定義管理テーブル30と、自装置が保持する共有データ定義管理テーブル30とを照合して、両者が一致するか否かを判定し、不一致の場合には不整合と判定する。但し、この例に限らない。
ここでは、プログラミング環境1〜プログラミング環境NまでのN個のプログラミング環境があるものとする。尚、各プログラミング環境の構成は、図1に示す通りとする。
また、図示の例では、例えばプログラミング環境2において整合性検査を実施しており、検査対象は当該プログラミング環境2とプログラミング環境1とプログラミング環境3となっている。この場合、プログラミング環境2の共有データ定義支援装置3が、プログラミング環境1,3の各共有データ定義支援装置3が記憶している宣言テーブル40や管理テーブル30を取得する。そして、取得した宣言テーブル40や管理テーブル30と、自装置で記憶している宣言テーブル40や管理テーブル30とを検査対象として、例えば後述する図6に示す整合性検査処理を実行する。
また、図示の例では、例えばプログラミング環境3において整合性検査を実施しており、検査対象は当該プログラミング環境3とプログラミング環境Nとなっている。この場合、プログラミング環境3の共有データ定義支援装置3が、プログラミング環境Nの共有データ定義支援装置3が記憶している宣言テーブル40や管理テーブル30を取得する。そして、取得した宣言テーブル40や管理テーブル30と、自装置で記憶している宣言テーブル40や管理テーブル30とを検査対象として、例えば後述する図6に示す整合性検査処理を実行する。
このように、本手法では、例えば図5の例のような部分的/段階的な整合性検査処理を実行することができ、全てのプログラミング環境で制御プログラム作成作業を中断する必要は無い。
また、図5の例では、図示の例の後にプログラミング環境Nで整合性検査処理を実行することになった場合、プログラミング環境3だけでなくプログラミング環境1,2も、検査対象から除外しても構わないと考えることもできる(既に整合が取れているはずであるから)。その意味で、図5に示す2番目の整合性検査(プログラミング環境2で実行する)では、図示の例に限らず、プログラミング環境1は検査対象としなくても構わない。
尚、ここでは、既にステップS15で説明した、不整合検査の対象とする他のプログラミング環境から共有データ定義管理テーブル30と共有データ変数宣言テーブル40を取得する処理は、実行済みとする。そして、これら取得したテーブル30、40と、自装置で記憶していた管理テーブル30、宣言テーブル40とを、検査対象として、図示のステップS31,S32,S33の処理を実行する。そして、この処理結果に基づいて上記ステップS16の処理に相当する図示のステップS34の表示処理を実行する。
尚、必ずしもステップS31,S32,S33の全てを実行しなくても構わない。
尚、ここでは説明を簡単にするために、検査対象となるプログラミング環境は2つとする。よって、2つの共有データ定義管理テーブル30と2つの共有データ変数宣言テーブル40が、検査対象となる。
ここで、図7、図8には初期状態における各プログラミング環境の共有データ定義管理テーブル30、共有データ変数宣言テーブル40の具体例を示す。
尚、ここではプログラミング環境1,2,3、・・NのN個のプログラミング環境があるものとし、各プログラミング環境1,2,3、・・Nに対応するコントローラ装置4の局番は、PLC1、PLC2、PLC3、・・・、PLCnとする。
有データ変数宣言テーブル40が生成される。
まず、ステップS31では、不整合検査対象としている2つの共有データ定義管理テーブル30同士を比較して、同一性を確認する。これは、例えば、共有データ変数名31をチェックして、一方の管理テーブル30に登録されている変数名の全てが、他方の管理テーブル30にも登録されているか否かをチェックする(登録されていないものがある場合には、不整合と判定する)。あるいは、更に、後述する定義内容(特にアドレス)が同一か否かのチェックも行うようにしてもよい。
続いて、以下、ステップS32について、具体例を用いながら説明する。
ステップS32や後述するステップS33の処理は、基本的に、管理テーブル30と宣言テーブル40との同一性をチェックするものである。両者の違いは、ステップS32が管理テーブル30をベースとするのに対して、ステップS33では宣言テーブル40をベースとする点である。つまり、ステップS32は、基本的に、何らかの変数追加等に応じて管理テーブル30が更新されていることを前提として、この変更を宣言テーブル40に反映させるのを作業者が忘れるケースを想定している。ステップS33は、その逆に、基本的に、何らかの変数追加等に応じて宣言テーブル40が更新されていることを前提として、この変更を管理テーブル30に反映させるのを作業者が忘れるケースを想定している。
図9、図10の例の場合、仮に不整合検査対象がプログラミング環境1,2であったとし、まず、プログラミング環境1の管理テーブル30を用いて上記処理を行うものとする。
この場合、共有データ“A”、“B”、“C”に関しては、上記プログラミング環境1の管理テーブル30を用いる場合と同じとなるので、説明は省略する。
以上、ステップS32の処理について説明した。
ステップS33は、検査対象の各共有データ変数宣言テーブル40毎に、その宣言テーブル40に登録された各共有データ変数が、その宣言テーブル40と同じプログラミング環境における共有データ定義管理テーブル30に、同一定義で登録されているか否かをチェックする。尚、この例に限らず、検査対象の全ての共有データ定義管理テーブル30について、上記宣言テーブル40に登録された各共有データ変数が登録されているか否か等をチェックするようにしてもよい。
上記ステップS33の処理について、図9、図10の例を用いて説明する。但し、結果的には図9、図10に示す状態になるが、上記の通り、プロセスは異なるものとする。すなわち、プログラミング環境1において、作業者は、まず、そのプログラミング装置2に記憶されている共有データ変数宣言テーブル40’に対して、上記共有データ“D”の追加定義を反映させる修正を行う。
以下、実施例2について説明する。
上述した実施例1の手法では、共有データの定義の変更に伴って発生する可能性のある不整合を、変更に関係する作業者のプログラミング環境で検査できるようにし、また、一部の作業者の環境から段階的に範囲を広げて、対象とする制御システム全体での共有データ定義の不整合の検査を実施可能とする方法を示している。
尚、図11において、上記図2に示す実施例1の構成と略同一の構成については、同一符号を付してあり、その説明は省略または簡略化する。
派生データ型整合性検査部53は、上記派生データ型定義管理テーブル記憶部52に記憶された派生データ型定義管理テーブル60等に基づいて、同一名称の派生データ型がある場合には、その内部構造の整合性を検査する。すなわち、例えば同一名称の2つの派生データ型について、一方の内部構造が他方の内部構造と同じであるか否かをチェックする。つまり、同一名称の2つの派生データ型の内部構造が同じであるか否かをチェックする。
派生データ型内部構造変換部54は、上記派生データ型の内部構造が所定の条件を満たす場合に、その内容を所定のルールに従って変換し、この変換結果を派生データ型整合性検査部53に渡す。派生データ型整合性検査部53は、この変換結果を用いて、上記内部構造の整合性を検査する。上記内部構造としては、例えば配列、構造体等がある。例えば“構造体”を例にすると、複数の構造体メンバ名が同一であっても順番が異なる場合を想定し、所定のルール(例えば、アルファベット順)に従って構造体メンバ名をソートしたうえで、整合性を検査する。
派生データ型検査結果表示部56は、例えば、上記派生データ型整合性検査部53による検査で不整合と判定され、更に共有データのデータ型として使用されていると判定された派生データ型と当該共有データについて、その名称、内部構造、定義した局、共有データとして利用している局等を表示する。但し、この例に限らない。例えば、共有データのデータ型としては使用されていない、例えばローカルの変数に関してのみ使用されていると見做してよい派生データ型についても、その名称、内部構造、定義した局等を表示するようにしてもよい。
並行してプログラミング作業を行う各作業者は、それぞれ、自己のプログラミング環境において、自己が作成する制御プログラムで利用する派生データ型や、共有データ変数の定義を作成する(ステップS41)。その後、任意のときに、ステップS42以降の処理を実行する。尚、作業者は、制御プログラム作成作業を、自己のプログラミング環境におけるプログラミング装置2において行う。
任意のときに、共有データ定義支援装置3’は、その共有データ定義等転送部57によって、各プログラミング装置2や他の各共有データ定義支援装置3等から、それらのプログラミング環境における共有データ変数の定義を取得して、これに基づいて共有データ定義管理テーブル30に新規データ登録する。また、派生データ型定義転送部51が、各プログラミング環境(各プログラミング装置2や各共有データ定義支援装置3等)から派生データ型の定義情報等を取得して、これに基づいて派生データ型定義管理テーブル60に新規データ登録する(ステップS42)。この処理の具体例は後述する。
図15に示す例では、派生データ型定義管理テーブル60のデータ構造は、図示の派生データ型名61、配列/構造体62、取得局63、要素データ型64、開始Index65、
終了Index66、構造体メンバ名67の各データ項目より成る。
ステップS43では、派生データ型定義管理テーブル60を検索して、同一名称の派生データ型が存在するか否かをチェックする。これは、例えば、派生データ型定義管理テーブル60の各レコードを順次チェック対象レコードにして、チェック対象レコードの派生データ型名61を取得して、この名称と同一名称の派生データ型名61を有する他のレコードがあるか否かをチェックする。
ることになる。つまり、図示の3番目のレコードと4番目のレコードは、どちらも、派生データ型名61が“USR_TYP_C”である。
(以上、ステップS43)
上記定義内容が一致しているか否かをチェックする処理は、例えば、図15に示す例における構造体メンバ名67(あるいは開始Index65及び終了Index66)が一致しているか否かをチェックし、不一致の場合には不整合(ステップS44,YES)と判定する処理である。勿論、それ以前に、配列/構造体62が不一致であれば不整合と判定する(ステップS44,YES)。また、上記構造体メンバ名67(あるいは開始Index65及び
終了Index66)が一致していても、更に要素データ型64が一致するか否かをチェック
し、不一致の場合には不整合(ステップS44,YES)と判定するようにしてもよい。
ステップS45では、上記同一名称の派生データ型に関してその内部構造が不一致のものが存在する場合、これを処理対象として、まず、当該内部構造が、変換対象となるものであるか否かを判定する。
ここで、変換対象とする内部構造の例としては、“配列”構造の場合、要素数が同一であり、且つ、開始インデックス、終了インデックスが異なる場合がある。このような場合は、例えば、開始インデックスを‘1’として揃え、終了インデックスを配列要素数に置き換える、等の変換方法が考えられる。例えば、処理対象の一方が開始Index65=‘2
’、終了Index66=‘11’であり、他方が開始Index65=‘0’、終了Index66=‘9’であった場合、両方とも配列要素数は‘10’であるので、上記変換方法によって両方とも開始インデックス=‘1’、終了インデックス=‘10’となる。従って、この例では、変換後の内部構造は一致するものと判定されることになる(ステップS46,NO)。
上述した処理によって検出された、名称は同一であるが内部構造の定義内容が不一致であった全ての派生データ型について、更にステップS47以降の処理を実行する。換言すれば複数のプログラミング環境で(偶然)同一名称の派生データ型が定義されたが両者の内部構造が異なる場合には、これら派生データ型を処理対象として更にステップS47以降の処理を実行する。
すなわち、上記“該当派生データ型”が割付けられている共有データ変数が無ければ(ステップS48,NO)、この“該当派生データ型”を定義したPLC局の情報や、該当派生データ型の名称等を、検査結果として表示する(ステップS50)。その際、共有データ変数には割り付けられていない旨の表示も行うようにしてもよい。この場合、この表示を見た担当者等は、この“該当派生データ型”は、該当PLC局のローカル変数にのみ利用されている等と、影響範囲を判断できる。尚、この検査結果を表示する際には、必ず修正すべきものとしてエラー表示としても良いし、影響範囲がローカルに限定されることから、警告表示としても良い。
ステップS43の処理は、上記のように、同一名称で内部構造が不一致となっている派生データ型を、抽出するものである。
そして、この照合元レコードを基準にして、派生データ型定義管理テーブル60における他の登録データ(他のレコード)を順次比較対象として、同一のデータ型名称(派生データ型名61)を持つ登録データが存在しないかをチェックする。すなわち、照合元レコードの派生データ型名61と同一の派生データ型名61を有するレコードが、存在するか否かを検索する(ステップS62)。
上記ステップS47の処理は、派生データ型定義の内部構造不一致検査(上記ステップS43等)の結果、不一致が検出された派生データ型が、共有データ変数のデータ型として割付けられているものであるか否かを、チェックする処理である。
図18に、上記図14、図15の例における上記ステップS43、S47の処理イメージを示す。
尚、ここでは、派生データ型の定義情報は、各プログラミング装置2内の派生データ型定義用のファイルに、テキスト形式で記述されているものとする。これより、上記ステップS42におけるこの定義情報に基づくテーブル60の作成処理は、配列や構造体の定義書式に基づいて上記テキストファイルの記述内容をファイルの先頭から順に解析し、この解析結果を順にテーブル60の新規レコードの該当欄に追記することで実現させる。但し、これは一例であり、この例に限らない。
そして、配列、構造体それぞれについて1つずつ例を挙げて、以下に説明するものとする。
ARRAY_A1 : ARRAY[1..64] OF INT
PLC2の場合;
ARRAY_A1 : ARRAY[0..63] OF INT
この様に、図示の例では、配列に係わる派生データ型の定義は、
派生データ型名称 : ARRAY[開始Index..終了Index] OF データ型
の形式で記述される。
但し、上記ステップS45の処理によって、例えば配列要素のインデックス番号を‘1’から開始するルールに従って変換することで、両方とも、開始Index=“1”、終了Index=“64”となるので、ステップS45では両者は一致するものと判定されることになる。
(1)PLC1の場合;
STR_S1:
STRUCT
LDATA : DWORD;
UDATA : DWORD;
END_STRUCT;
(2)PLC2の場合;
STR_S1:
STRUCT
UDATA : DWORD;
LDATA : DWORD;
END_STRUCT;
この様に、図示の例では、構造体に係わる派生データ型の定義は、
派生データ型名称 :
SUTRUCT
メンバ名 : データ型;
〜
メンバ名 : データ型;
END_STRUCT;
の形式で記述される。
但し、上記ステップS45の処理によって、例えばアルファベット順(且つ、昇順)に変換することで、両方とも構造体メンバ名67の順番が、“LDATA”、“UDATA”の順となる。これによって、ステップS45では両者は一致するものと判定されることになる。
これは、図19に示す例(それに応じて生成されるテーブル60の例)の場合の表示例であり、特に詳細には説明しないが、例えば上記ステップS43で不一致と判定された派生データ型の名称や、その定義元のプログラミング装置2(取得局63)等が、表示される。例えば、派生データ型“ARRAY_A1”の場合、上記PLC1(局番1)とPLC2(局番2)とで定義されており、且つ、配列要素の定義が相互に異なっているので、その旨が図20に示すように表示されることになる。
また、ここでは、上記ステップS44がYESであるがステップS46がNOとなる派生データ型の場合には、上記データ型32の一致/不一致の確認結果は「不一致」としてもよいし、「一致」としてもよいものとする。
また、上記実施例2単独の場合において、共有データ変数に関する処理は、必須ではない。つまり、テーブル30の作成や利用に係わる処理は、必ずしも必要ない。つまり、例えばステップS47の処理は、必ずしも必要ない。これに伴って、例えば表示処理に関しては、ステップS49の処理は削除し、必ずステップS50の処理を実行するようにしてもよい。
すなわち、本例の共有データ定義支援システムは、各々がネットワークに接続されると共に1以上の共有データを保持し得る複数のコントローラ装置4と、該各コントローラ装置4に対応して設けられ、そのコントローラ装置4の制御プログラムを上記共有データも用いて任意に作成させるプログラミング装置2とを有するシステムに対して、上記支援装置3を設けた構成である。各支援装置3は上記ネットワーク5に接続される。
・予め決められた共有データ全ての定義情報が登録される共有データ定義記憶部(一例は管理テーブル30等)。
・該共有データ定義記憶部に登録された前記各共有データのなかで自装置に係る共有データの定義情報を抽出することで自装置共有データ情報を生成する自装置共有データ情報生成部。
・上記生成された自装置共有データ情報を記憶する自装置共有データ情報記憶部(一例は宣言テーブル40等)。
・後から当該支援装置3に対応するプログラミング装置2が係わるコントローラ装置1に関して追加された共有データの定義情報を、上記共有データ定義記憶部または上記自装置共有データ情報記憶部に追加登録させる共有データ定義追加部。
・任意のときに、他の支援装置3から、その支援装置3における上記共有データ定義記憶部に記憶されている共有データ定義情報、または/及び、その支援装置における前記自装置共有データ情報記憶部に記憶されている自装置共有データ情報、を取得する他装置情報取得部。
・該他装置情報取得部で取得した他の支援装置3の共有データ定義情報または/及び自装置共有データ情報と、自装置で記憶している共有データ定義情報または/及び自装置共有データ情報とを検査対象として、該検査対象とする各情報間の整合性を検査する整合性検査部。
・共有データの定義情報を記憶する共有データ定義記憶部;
・上記各プログラミング環境における派生データ型の定義情報に基づいて、名称が同一である派生データ型同士の整合性を判定する派生データ型整合性検査部;
・該派生データ型整合性検査部によって不整合と判定された派生データ型が、そのデータ型として割付けられている上記共有データを、上記共有データ定義記憶部から判別する派生データ型割付け変数検査部;
また、この様な共有データ定義支援システムにおいて、上記支援装置は、更に、例えば下記の不図示の各構成を有するものであっても構わない。
また、例えば、上記記録制御部は、更に、上記不整合と判定された派生データ型に関する記録に関連付けて、該派生データ型が割付けられている共有データに関する所定情報を、その上記定義情報に基づいて記録するものであってもよい。
また、例えば、上記所定情報には、その共有データを利用する上記プログラミング装置を示す識別情報が含まれていてもよい。
・任意のときに、他の支援装置から、その支援装置における上記共有データ定義記憶部に記憶されている共有データ定義情報を取得する他装置情報取得部;
・この他装置情報取得部で取得した上記他の支援装置の共有データ定義情報と、自装置で記憶している上記共有データ定義情報との整合性を検査する整合性検査部;
また、この整合性検査部は、例えば、上記整合性の検査の際に、上記派生データ型整合性検査部による判定結果あるいは上記派生データ型割付け変数検査部による判別結果を、用いるものであっても構わない。
2 プログラミング装置
3 共有データ定義支援装置
11 システム構成管理部
12 共有データ定義部
13 共有データ定義管理テーブル記憶部
14 共有データ変数宣言テーブル生成部
15 共有データ変数宣言テーブル記憶部
16 共有データ変数宣言テーブル転送部
17 共有データ定義管理テーブル転送部
18 共有データ整合性検査部
19 共有データ整合性検査結果表示部
30 共有データ定義管理テーブル
31 共有データ変数名
32 データ型
33 アドレス
34 書込み局(ライト局)
35 参照局(リード局)
40 共有データ変数宣言テーブル
41 共有データ変数名
42 データ型
43 アドレス
51 派生データ型定義管理テーブル転送部
52 派生データ型定義管理テーブル記憶部
53 派生データ型整合性検査部
54 派生データ型内部構造変換部
55 派生データ型割付け変数検査部
56 派生データ型検査結果表示部
60 派生データ型定義管理テーブル
61 派生データ型名
62 配列/構造体
63 取得局
64 要素データ型
65 開始Index
66 終了Index
67 構造体メンバ名
Claims (20)
- 各々がネットワークに接続されると共に1以上の共有データを保持し得る複数のコントローラと、該各コントローラに対応して設けられ、そのコントローラの制御プログラムを前記共有データも用いて任意に作成させるプログラミング装置とを有するシステムであって、
前記各プログラミング装置に対応して支援装置が設けられ、
前記各支援装置は、
他の前記各プログラミング装置もしくは他の前記支援装置から名称と内部構造情報とを含む派生データ型の定義情報を取得する派生データ型定義転送手段と、
取得した前記派生データ型の定義情報を記憶する派生データ型定義管理テーブル記憶手段と、
前記派生データ型の定義情報に基づいて、前記名称が同一である派生データ型同士の前記内部構造情報の整合性を判定する派生データ型整合性検査手段と、
を有することを特徴とする共有データ定義支援システム。 - 前記共有データの定義情報を記憶する共有データ定義記憶手段と、
前記派生データ型整合性検査手段によって不整合と判定された派生データ型が、そのデータ型として割付けられている前記共有データを、前記共有データ定義記憶手段から判別する派生データ型割付け変数検査手段と、
を更に有することを特徴とする請求項1記載の共有データ定義支援システム。 - 前記派生データ型整合性検査手段は、前記名称が同一である派生データ型の前記内部構造情報同士を比較して、該内部構造情報が不一致の場合には不整合と判定することを特徴とする請求項1または2記載の共有データ定義支援システム。
- 前記内部構造情報には、1以上の構造体メンバ名が含まれており、
前記派生データ型整合性検査手段は、前記名称が同一である派生データ型同士でその前記構造体メンバ名が全て一致する場合、あるいは前記名称が同一である派生データ型同士でその前記構造体メンバ名が全て一致し且つ該各構造体メンバ名の要素データ型も全て一致する場合に、整合すると判定することを特徴とする請求項3記載の共有データ定義支援システム。 - 前記内部構造情報には、配列に係わる開始、終了情報が含まれており、
前記派生データ型整合性検査手段は、前記名称が同一である派生データ型同士でその前記開始、終了情報が一致する場合、あるいは更に前記配列に係わる要素データ型も一致する場合に、整合すると判定することを特徴とする請求項3または4記載の共有データ定義支援システム。 - 前記派生データ型整合性検査手段が不整合と判定した派生データ型の内部構造情報を、所定のルールに従って変換する内部構造変換手段を更に有し、
前記派生データ型整合性検査手段は、更に、該変換後の内部構造情報を用いて前記整合性の判定を行うことを特徴とする請求項3〜5の何れかに記載の共有データ定義支援システム。 - 前記内部構造変換手段による前記所定のルールに従った変換は、前記内部構造情報に複数の構造体メンバ名が含まれる場合には、該構造体メンバ名の順番を所定のルールに従って並び替えることであることを特徴とする請求項6記載の共有データ定義支援システム。
- 前記内部構造変換手段による前記所定のルールに従った変換は、前記内部構造情報に配列の開始、終了が含まれる場合には、開始の値を所定値に揃えることであることを特徴とする請求項6記載の共有データ定義支援システム。
- 前記派生データ型整合性検査手段によって不整合と判定された派生データ型に関して、その前記名称と、その前記内部構造情報の一部または全部を記録する記録手段を更に有することを特徴とする請求項3〜8の何れかに記載の共有データ定義支援システム。
- 前記記録手段によって記録された情報に基づいて、前記不整合と判定された派生データ型に関する所定情報の表示を行う表示手段を更に有することを特徴とする請求項9記載の共有データ定義支援システム。
- 前記表示手段で表示される前記所定情報は、前記名称が同一である派生データ型に関して、不一致であった構造体メンバ名または配列に関する情報であることを特徴とする請求項10記載の共有データ定義支援システム。
- 前記記録手段は、更に、前記不整合と判定された派生データ型に関する記録に関連付けて、該派生データ型が割付けられている共有データに関する所定情報を、その前記定義情報に基づいて記録することを特徴とする請求項9または10記載の共有データ定義支援システム。
- 前記表示手段は、更に、前記派生データ型が割付けられている共有データに関する所定情報も表示することを特徴とする請求項11記載の共有データ定義支援システム。
- 前記所定情報には、その共有データを利用する前記プログラミング装置を示す識別情報が含まれることを特徴とする請求項13記載の共有データ定義支援システム。
- 任意のときに、他の前記支援装置から、その支援装置における前記共有データ定義記憶手段に記憶されている共有データ定義情報を取得する他装置情報取得手段と、
該他装置情報取得手段で取得した前記他の支援装置の共有データ定義情報と、自装置で記憶している前記共有データ定義情報との整合性を検査する整合性検査手段とを更に有し、
該整合性検査手段は、前記整合性の検査の際に、前記派生データ型整合性検査手段による判定結果あるいは前記派生データ型割付け変数検査手段による判別結果を、用いることを特徴とする請求項2記載の共有データ定義支援システム。 - 前記整合性検査手段は、前記自装置で記憶している共有データ定義情報が、前記他の支援装置の共有データ定義情報と一致するか否かを判定して、不一致の場合には不整合と判定するものであって、名称が同一である共有データ同士のデータ型が不一致の場合には不整合と判定するものであることを特徴とする請求項15記載の共有データ定義支援システム。
- 前記整合性検査手段は、前記共有データのデータ型が、前記不整合と判定された派生データ型である場合には、データ型の名称が一致する場合でもデータ型が不一致と判定することを特徴とする請求項15記載の共有データ定義支援システム。
- 各々がネットワークに接続されると共に1以上の共有データを保持し得る複数のコントローラと、該各コントローラに対応して設けられ、そのコントローラの制御プログラムを前記共有データも用いて任意に作成させるプログラミング装置とを有するシステムにおける前記各プログラミング装置に対応して設けられる各支援装置であって、
他の前記各プログラミング装置もしくは他の前記支援装置から名称と内部構造情報とを含む派生データ型の定義情報を取得する派生データ型定義転送手段と、
取得した前記派生データ型の定義情報を記憶する派生データ型定義管理テーブル記憶手段と、
前記派生データ型の定義情報に基づいて、前記名称が同一である派生データ型同士の前記内部構造情報の整合性を判定する派生データ型整合性検査手段と、
を有することを特徴とする支援装置。 - 前記共有データの定義情報を記憶する共有データ定義記憶手段と、
前記派生データ型整合性検査手段によって不整合と判定された派生データ型が、そのデータ型として割付けられている前記共有データを、前記共有データ定義記憶手段から判別する派生データ型割付け変数検査手段と、
を更に有することを特徴とする請求項18記載の支援装置。 - 各々がネットワークに接続されると共に1以上の共有データを保持し得る複数のコントローラと、該各コントローラに対応して設けられ、そのコントローラの制御プログラムを前記共有データも用いて任意に作成させるプログラミング装置とを有するシステムにおいて、前記各プログラミング装置に対応して設けられる各支援装置のコンピュータを、
他の前記各プログラミング装置もしくは他の前記支援装置から名称と内部構造情報とを含む派生データ型の定義情報を取得する派生データ型定義転送手段と、
取得した前記派生データ型の定義情報を記憶する派生データ型定義管理テーブル記憶手段と、
前記各派生データ型の定義情報に基づいて、前記名称が同一である派生データ型同士の前記内部構造情報の整合性を判定する派生データ型整合性検査手段、
として機能させる為のプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013099746 | 2013-05-09 | ||
JP2013099746 | 2013-05-09 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014081472A Division JP6281389B2 (ja) | 2013-05-09 | 2014-04-10 | 共有データ定義支援システム、その支援装置、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018041514A JP2018041514A (ja) | 2018-03-15 |
JP6504237B2 true JP6504237B2 (ja) | 2019-04-24 |
Family
ID=52135898
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014081472A Active JP6281389B2 (ja) | 2013-05-09 | 2014-04-10 | 共有データ定義支援システム、その支援装置、プログラム |
JP2017243331A Active JP6504237B2 (ja) | 2013-05-09 | 2017-12-20 | 共有データ定義支援システム、その支援装置、プログラム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014081472A Active JP6281389B2 (ja) | 2013-05-09 | 2014-04-10 | 共有データ定義支援システム、その支援装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP6281389B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110678848B (zh) * | 2017-03-22 | 2023-09-19 | 西门子股份公司 | 跨装置的通用数据访问 |
JP6566151B2 (ja) * | 2017-03-30 | 2019-08-28 | 三菱電機株式会社 | システム設計支援装置およびシステム設計支援方法 |
US20220343901A1 (en) * | 2021-04-23 | 2022-10-27 | Kore.Ai, Inc. | Systems and methods of implementing platforms for bot interfaces within an intelligent development platform |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3297844B2 (ja) * | 1998-01-28 | 2002-07-02 | 株式会社デジタル | ダウンロードシステム及びダウンロードプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7024463B1 (en) * | 1999-10-15 | 2006-04-04 | Omron Corporation | Network system, control method, control apparatus, and multiprocessor |
US7275236B1 (en) * | 2000-11-24 | 2007-09-25 | Mitsubishi Denki Kabushiki Kaisha | Method for programming a multiple device control system using object sharing |
JP3751536B2 (ja) * | 2001-04-02 | 2006-03-01 | 株式会社東芝 | データ伝送装置 |
JP3894421B2 (ja) * | 2001-07-02 | 2007-03-22 | 三菱電機株式会社 | ネットワークシステム |
JP2003271209A (ja) * | 2002-03-15 | 2003-09-26 | Omron Corp | 制御装置並びに拡張機器及びプログラミングツール |
JP2008276526A (ja) * | 2007-04-27 | 2008-11-13 | Omron Corp | 産業用機器のプログラム開発支援装置 |
JP2012118715A (ja) * | 2010-11-30 | 2012-06-21 | Fuji Electric Co Ltd | Plcシステム、その開発支援装置、プログラム |
-
2014
- 2014-04-10 JP JP2014081472A patent/JP6281389B2/ja active Active
-
2017
- 2017-12-20 JP JP2017243331A patent/JP6504237B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014238820A (ja) | 2014-12-18 |
JP6281389B2 (ja) | 2018-02-21 |
JP2018041514A (ja) | 2018-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6504237B2 (ja) | 共有データ定義支援システム、その支援装置、プログラム | |
US10552296B2 (en) | Human-readable, language-independent stack trace summary generation | |
JP5701458B1 (ja) | 作画装置および制御システム | |
US20150121147A1 (en) | Methods, apparatuses and computer program products for bulk assigning tests for execution of applications | |
CN111506358A (zh) | 更新容器配置的方法及装置 | |
US20180196708A1 (en) | System management apparatus and system management method | |
CN114490768A (zh) | 结合rpa及ai的任务复核方法及其装置 | |
JP4920978B2 (ja) | 設計情報管理方法およびシステム | |
JP5967225B2 (ja) | データ更新漏れ検査装置、データ更新漏れ検査方法、データ更新漏れ検査プログラム | |
JP6299095B2 (ja) | 共有データ定義支援システム、そのマスタ装置、ローカル端末、プログラム | |
CN106021087B (zh) | 代码检测方法及装置 | |
CN112685277B (zh) | 警告信息检查方法、装置、电子设备和可读存储介质 | |
CN115167896A (zh) | 一种更新软件版本的方法、装置、存储介质及电子设备 | |
CN112287027B (zh) | 数据库同步方法、装置、设备及存储介质 | |
JP2010072876A (ja) | ルール作成プログラム、ルール作成方法及びルール作成装置 | |
KR20160049568A (ko) | 소스코드 비교 및 관리 시스템 및 방법 | |
CN113780950A (zh) | 数据处理方法、装置、服务器和可读存储介质 | |
US9342512B1 (en) | System and method for repairing data synchronization links | |
TWI594095B (zh) | Programmable display, program and access error notification method | |
AU2010362097B2 (en) | Method and system for propagation of amendment made to a master to copies | |
JP6984120B2 (ja) | ロードコンペア装置、ロードコンペアプログラムおよびロードコンペア方法 | |
CN113297056A (zh) | 测试数据设置方法、测试数据应用方法、装置及相关设备 | |
CN114694813B (zh) | 临床试验数据处理方法、装置、设备及介质 | |
JPH07306795A (ja) | 二重系計算機のデータベース等価処理装置 | |
JP6713118B1 (ja) | Pdi規約の準拠性分析プログラム、pdi規約の準拠性分析装置及びpdi規約の準拠性分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180828 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180913 |
|
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: 20190226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190311 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6504237 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 |