【手続補正書】
【提出日】平成30年2月28日(2018.2.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラマブル・ロジック・コントローラで実行されるユーザプログラムを作成するプログラム作成支援装置であって、
表示部と、
前記表示部を介して、グラフィカルプログラミング言語で記述されるユーザプログラムである第１プログラムと、高級プログラミング言語で記述されるユーザプログラムである第２プログラムとを編集する編集部と、
前記第１プログラムと前記第２プログラムとを含むプロジェクトを生成する生成部と、
前記プロジェクトを前記プログラマブル・ロジック・コントローラに転送する転送部と
を有しており、
前記プログラム作成支援装置は、さらに、
前記第１プログラムにおけるデバイスに割り当てられた機能と、前記第２プログラムにおける当該デバイスに対する処理の内容とに基づいて、前記第１プログラムと前記第２プログラムとの整合性を判別する判別部と、
前記第１プログラムと前記第２プログラムとが整合していないときに警告を出力する出力部と
をさらに有していることを特徴とするプログラム作成支援装置。
【請求項２】
前記デバイスが、前記第１プログラムから前記第２プログラムに対してデータを渡すデバイスであるにもかかわらず、前記第２プログラムにおいて前記第２プログラムから前記第１プログラムに対してデータを渡すデバイスとして記述されていることを前記判別部が発見すると、前記出力部は警告を出力することを特徴とする請求項１に記載のプログラム作成支援装置。
【請求項３】
前記デバイスが、前記第２プログラムから前記第１プログラムに対してデータを渡すデバイスであるにもかかわらず、前記第２プログラムにおいて前記第１プログラムから前記第２プログラムに対してデータを渡すデバイスとして記述されていることを前記判別部が発見すると、前記出力部は警告を出力することを特徴とする請求項１または２に記載のプログラム作成支援装置。
【請求項４】
複数のデバイスについて各デバイスの機能を示す機能ルールを記憶したルール記憶部をさらに有し、
前記判別部が、前記ルール記憶部に記憶されている機能ルールを参照して前記第１プログラムと前記第２プログラムとの整合性を判別することを特徴とする請求項１ないし３のいずれか１項に記載のプログラム作成支援装置。
【請求項５】
前記判別部は、前記第２プログラムの関数を呼び出すために、前記第１プログラムに記述されている当該関数に対する引数の数と、前記第２プログラムに記述されている当該関数の引数の数とが一致しているかどうかに基づいて前記第１プログラムと前記第２プログラムとの整合性を判別することを特徴とする請求項１ないし４のいずれか１項に記載のプログラム作成支援装置。
【請求項６】
前記判別部は、
前記第１プログラムにおけるプログラムミスをチェックする第一チェック部と、
前記第２プログラムにおけるプログラムミスをチェックする第二チェック部と、
前記第１プログラムにおいてプログラムミスがなく、かつ、前記第２プログラムにおいてもプログラムミスがなくなると、前記第１プログラムと前記第２プログラムとの整合性をチェックする第三チェック部と
をさらに有する請求項１ないし５のいずれか１項に記載のプログラム作成支援装置。
【請求項７】
前記第１プログラムと前記第２プログラムとのうち前記転送部に転送させるプログラムを選択する選択部をさらに有することを特徴とする請求項１ないし６のいずれか１項に記載のプログラム作成支援装置。
【請求項８】
前記選択部は、前記第２プログラムを解析し、その解析結果に基づいて、前記第２プログラムで参照されているヘッダファイルを転送対象として選択することを特徴とする請求項７に記載のプログラム作成支援装置。
【請求項９】
前記プログラマブル・ロジック・コントローラに転送されたプロジェクトを読み出す読出部をさらに有し、
前記転送部は、前記編集部により更新された前記第２プログラムを前記プログラマブル・ロジック・コントローラに転送することを特徴とする請求項１ないし８のいずれか１項に記載のプログラム作成支援装置。
【請求項１０】
前記転送部は、前記プログラマブル・ロジック・コントローラにおいて前記第１プログラムが実行されている最中に前記第２プログラムを前記プログラマブル・ロジック・コントローラに転送することを特徴とする請求項９に記載のプログラム作成支援装置。
【請求項１１】
前記プログラマブル・ロジック・コントローラにおいて前記第２プログラムが停止可能になると、前記編集部により更新された前記第２プログラムが前記プログラマブル・ロジック・コントローラにロードされることを特徴とする請求項９または１０に記載のプログラム作成支援装置。
【請求項１２】
前記第２プログラムのうち停止可能なプログラム区間には所定のアプリケーションインターフェースを呼び出すための命令が記述されており、当該アプリケーションインターフェースは当該第２プログラムから呼び出されると当該第２プログラムが停止可能であることを示すことを特徴とする請求項１１に記載のプログラム作成支援装置。
【請求項１３】
前記第２プログラムにおいて定義された関数の一覧を前記表示部に表示させる一覧部と、
前記一覧から選択された関数を呼び出すためのコードのひな形を前記第１プログラムに追加する追加部と
をさらに有することを特徴とする請求項１ないし１２のいずれか１項に記載のプログラム作成支援装置。
【請求項１４】
前記第１プログラムと前記第２プログラムとの間のインタフェースを定義する定義部と、
前記定義部によって定義されたインタフェースにしたがって前記第１プログラムから前記第２プログラムを呼び出すためのハンドシェイクコードのひな形を前記第１プログラムに追加する追加部と
をさらに有することを特徴とする請求項１ないし１２のいずれか１項に記載のプログラム作成支援装置。
【請求項１５】
前記判別部は、前記第２プログラムにおいて記述されている前記第１プログラムのプログラムモジュールのモジュール名をもとに、前記第１プログラムに当該モジュール名を付与されたプログラムモジュールが存在するかどうかを判別することを特徴とする請求項１ないし１４のいずれか１項に記載のプログラム作成支援装置。
【請求項１６】
プログラマブル・ロジック・コントローラで実行されるユーザプログラムを作成するプログラム作成支援装置で実行されるプログラムであって、
前記プログラム作成支援装置の表示部を介して、グラフィカルプログラミング言語で記述されるユーザプログラムである第１プログラムと、高級プログラミング言語で記述されるユーザプログラムである第２プログラムとを編集する編集部と、
前記第１プログラムと前記第２プログラムとを含むプロジェクトを生成する生成部と、
前記プロジェクトを前記プログラマブル・ロジック・コントローラに転送する転送部と、
前記第１プログラムにおけるデバイスに割り当てられた機能と、前記第２プログラムにおける当該デバイスに対する処理の内容とに基づいて、前記第１プログラムと前記第２プログラムとの整合性を判別する判別部と、
前記第１プログラムと前記第２プログラムとが整合していないときに警告を出力する出力部と
を前記プログラム作成支援装置に機能させるプログラム。
【請求項１７】
プログラマブル・ロジック・コントローラで実行される複数のユーザプログラム間の整合性を判別する判別方法であって、
プログラム作成支援装置において、グラフィカルプログラミング言語で記述されるユーザプログラムである第１プログラムと、高級プログラミング言語で記述されるユーザプログラムである第２プログラムとの編集を受け付ける工程と、
前記プログラム作成支援装置において、前記第１プログラムにおけるデバイスに割り当てられた機能と、前記第２プログラムにおける当該デバイスに対する処理の内容とに基づいて、前記第１プログラムと前記第２プログラムとの整合性を判別する工程と、
プログラム作成支援装置において、前記第１プログラムと前記第２プログラムとが整合していないときに警告を出力する工程と
を有することを特徴とする判別方法。
【請求項１８】
プログラマブル・ロジック・コントローラで実行されるユーザプログラムを作成するプログラム作成支援装置であって、
表示部と、
前記表示部を介して、グラフィカルプログラミング言語で記述されるユーザプログラムである第１プログラムと、高級プログラミング言語で記述されるユーザプログラムである第２プログラムとを編集する編集部と、
前記第１プログラムにおける記述と前記第２プログラムにおける記述との整合性を判別する判別部と、
前記第１プログラムの記述と前記第２プログラムの記述とが整合していないときに警告を出力する出力部と
を有していることを特徴とするプログラム作成支援装置。