(57)【特許請求の範囲】
【請求項１】
通信インターフェース装置を介して外部機器と接続し、前記通信インターフェース装置を介さずにサポートツールと接続可能であるプログラマブルコントローラであって、
前記通信インターフェース装置に対する命令が指令先情報とともに記載されたユーザプログラムと前記指令先情報に対応するアドレス情報が格納された設定ファイルとが格納されたメモリと、前記ユーザプログラムおよび前記設定ファイルを前記メモリから読み込んで前記通信インターフェース装置に対する命令を実行するプロセッサとを備え、
前記ユーザプログラムと前記設定ファイルとは、
前記サポートツールを用いて、ユーザによって作成され、
前記サポートツールから前記プログラマブルコントローラの前記メモリへ送られるプログラマブルコントローラ。
【請求項２】
前記指令先情報は、前記通信インターフェース装置の種別並びに識別名およびポート番号である請求項１記載のプログラマブルコントローラ。
【請求項３】
前記プロセッサは、前記指令先情報と、前記アドレス情報と、前記通信インターフェース装置が接続するシステムの構成情報とに基づいて前記命令を実行する請求項１または２記載のプログラマブルコントローラ。
【請求項４】
前記指令先情報は、前記命令のファンクションブロックの入力変数である請求項１〜３のいずれか１項に記載のプログラマブルコントローラ。
【請求項５】
前記通信インターフェース装置は、フィールドネットワークを介してプログラマブルコントローラに接続するカプラユニットに装着されるか、あるいは、プログラマブルコントローラのコネクタに装着されるシリアル通信ユニットである請求項１〜４のいずれか１項に記載のプログラマブルコントローラ。
【請求項６】
前記通信インターフェース装置は、プログラマブルコントローラのスロットに装着可能なオプションボートである請求項１〜４のいずれか１項に記載のプログラマブルコントローラ。
【請求項７】
前記メモリに、前記システムの構成情報が記載された構成ファイルが格納されている請求項３記載のプログラマブルコントローラ。
【請求項８】
通信インターフェース装置を介して外部機器と接続し、前記通信インターフェース装置を介さずにサポートツールと接続可能であるプログラマブルコントローラの制御方法であって、
前記通信インターフェース装置に対する命令が指令先情報とともに記載されたユーザプログラムと前記指令先情報に対応するアドレス情報が格納された設定ファイルとをメモリに格納する工程と、前記ユーザプログラムと前記設定ファイルとを前記メモリから読み込む工程と、前記通信インターフェース装置に対する命令を処理する工程とを含み、
前記ユーザプログラムと前記設定ファイルとは、
前記サポートツールを用いて、ユーザによって作成され、
前記サポートツールから前記プログラマブルコントローラの前記メモリへ送られるプログラマブルコントローラの制御方法。
【請求項９】
プロセッサを含み、通信インターフェース装置を介して外部機器と接続し、前記通信インターフェース装置を介さずにサポートツールと接続可能であるプログラマブルコントローラの制御プログラムであって、
前記通信インターフェース装置に対する命令が指令先情報とともに記載されたユーザプログラムと前記指令先情報に対応するアドレス情報が格納された設定ファイルとをメモリに格納する工程と、前記ユーザプログラムと前記設定ファイルとを前記メモリから読み込む工程と、前記通信インターフェース装置に対する命令を処理する工程とを、前記プロセッサに実行させ、
前記ユーザプログラムと前記設定ファイルとは、
前記サポートツールを用いて、ユーザによって作成され、
前記サポートツールから前記プログラマブルコントローラの前記メモリへ送られるプログラマブルコントローラの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラに関する。
【背景技術】
【０００２】
プログラマブルコントローラ（以下、ＰＬＣと略記）は、通信インターフェース装置を介して外部機器に接続される。例えば、シリアル通信可能な外部機器（バーコードリーダ等）が通信インターフェース装置の特定のポートに接続され、この特定のポートを介して外部機器とＰＬＣとがデータの送受信を行う。この場合、ＰＬＣは、通信インターフェース装置に対して、前記特定ポートから外部機器にデータを送信する命令を出したり、外部機器のデータを前記特定のポートから受信する命令を出したりする。これら命令は、ＰＬＣに格納されるユーザプログラムに記載される。
【０００３】
ここで、通信インターフェース装置は、例えば、ＰＬＣのコネクタに直接装着される場合や、ＰＬＣをマスタとするフィールドネットワーク上のカプラ（スレーブ）に装着される場合があり、ユーザが前述のような命令をユーザプログラムに記載する際には、通信インターフェース装置の接続位置、すなわち、ＰＬＣのコネクタに直接装着されているのか、あるいはネットワーク上のカプラに装着されているのかを区別して命令を記載する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−４４２１２号公報（１９９７年２月１４日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記の従来技術では、通信インターフェース装置の接続位置（アドレス）に応じて命令を書き替える必要があり、通信インターフェース装置の接続位置を変更すると、これに合わせてユーザプログラムを変更しなければならないという問題があった。
【０００６】
本発明の目的は、通信インターフェース装置の接続位置の変更に伴うユーザプログラムの変更の手間を減らすことにある。
【課題を解決するための手段】
【０００７】
本発明のプログラマブルコントローラは、通信インターフェース装置を介して外部機器と接続するプログラマブルコントローラであって、前記通信インターフェース装置に対する命令が指令先情報とともに記載されたユーザプログラムと前記指令先情報に対応するアドレス情報が格納された設定ファイルとを含むメモリと、前記ユーザプログラムおよび前記設定ファイルを読み込んで前記通信インターフェース装置に対する命令を実行するプロセッサとを備える構成である。
【０００８】
前記構成によれば、ユーザプログラムに記載するのは命令とその指令先情報であり、前記指令先情報に対応するアドレス情報は別途設定ファイルに格納している。したがって、通信インターフェース装置の接続位置（アドレス）を変更する場合には、主として設定ファイルを変更すればよく、ユーザプログラムの変更を不要、あるいは最小限とすることができる。
【０００９】
本プログラマブルコントローラでは、前記指令先情報は、通信インターフェース装置の種別並びに識別名およびポート番号である構成とすることができる。
【００１０】
本プログラマブルコントローラでは、前記プロセッサは、前記指令先情報と、前記アドレス情報と、プログラマブルコントローラおよび通信インターフェース装置が接続するシステムの構成情報とに基づいて前記命令を実行する構成とすることができる。
【００１１】
本プログラマブルコントローラでは、前記指令先情報は、前記命令のファンクションブロックの入力変数である構成とすることができる。
【００１２】
本プログラマブルコントローラでは、前記通信インターフェース装置は、フィールドネットワークを介してプログラマブルコントローラに接続するカプラユニットに装着されるか、あるいは、プログラマブルコントローラのコネクタに装着されるシリアル通信ユニットである構成とすることができる。
【００１３】
本プログラマブルコントローラでは、前記通信インターフェース装置は、プログラマブルコントローラのスロットに装着可能なオプションボート（通信ボード）である構成とすることができる。
【００１４】
本プログラマブルコントローラでは、前記メモリに、前記システムの構成情報が記載された構成ファイルが格納されている構成とすることができる。
【００１５】
本プログラマブルコントローラの制御方法は、通信インターフェース装置を介して外部機器と接続するプログラマブルコントローラの制御方法であって、前記通信インターフェース装置に対する命令が指令先情報とともに記載されたユーザプログラムと前記指令先情報に対応するアドレス情報が格納された設定ファイルとを読み込む工程と、前記通信インターフェース装置に対する命令を処理する工程とを含む。
【００１６】
本プログラマブルコントローラの制御プログラムは、通信インターフェース装置を介して外部機器と接続するプログラマブルコントローラの制御プログラムであって、前記通信インターフェース装置に対する命令が指令先情報とともに記載されたユーザプログラムと前記指令先情報に対応するアドレス情報が格納された設定ファイルとを読み込む工程と、前記通信インターフェース装置に対する命令を処理する工程とを、プログラマブルコントローラのプロセッサに実行させる。
【発明の効果】
【００１７】
本発明のプログラマブルコントローラによれば、通信インターフェース装置の接続位置の変更に伴うユーザプログラムの変更の手間を減らすことができる。
【図面の簡単な説明】
【００１８】
【図１】本プログラマブルコントローラと他の装置との接続構成を示すブロック図である。
【図２】本プログラマブルコントローラの構成を示すブロック図である。
【図３】シリアル通信ユニットを介しての本プログラマブルコントローラおよび外部部機器間のデータ送受信の概略を示すブロック図である。
【図４】本プログラマブルコントローラおよびシリアル通信ユニット間の通信手順（データ送信の場合の前半工程）を示すフローチャートである。
【図５】本プログラマブルコントローラおよびシリアル通信ユニット間の通信手順（データ送信の場合の後半工程）を示すフローチャートである。
【図６】送信命令のファンクションブロックおよびこれを用いたユーザプログラムの記載例を示す説明図である。
【図７】通信命令の通信経路（ＰＬＣ→カプラユニットに装着されたシリアル通信ユニット）が確立される原理を説明するブロック図である。
【図８】通信命令の通信経路（ＰＬＣ→ＰＬＣ直付けシリアル通信ユニット）が確立される原理を説明するブロック図である。
【図９】通信命令の通信経路（ＰＬＣ→ＰＬＣのスロットに装着されたオプションボード）が確立される原理を説明するブロック図である。
【図１０】図９の構成に変更した場合のユーザプログラム（送信命令）の変更内容を示す説明図である。
【図１１】本プログラマブルコントローラおよびシリアル通信ユニット間の通信手順（データ受信の場合の前半工程）を示すフローチャートである。
【図１２】本プログラマブルコントローラおよびシリアル通信ユニット間の通信手順（データ受信の場合の後半工程）を示すフローチャートである。
【図１３】受信命令のファンクションブロックおよびこれを用いたユーザプログラムの記載例を示す説明図である。
【図１４】図９の構成に変更した場合のユーザプログラム（受信命令）の変更内容を示す説明図である。
【発明を実施するための形態】
【００１９】
以下に、本発明の実施形態を図１〜図１４を用いて説明する。図１に示すように、本実施形態にかかるプログラマブル（ロジック）コントローラ（以下、ＰＬＣと記載）１０は、フィールドネットワーク１５を介してカプラユニット２０に接続されており、カプラユニット２０にシリアル通信ユニット３０が接続され、シリアル通信ユニット３０と外部機器４０とがシリアル回線３５を介して接続されている。なお、ＰＬＣ１０は、サポートツール５０との接続が可能である。
【００２０】
一例として、フィールドネットワーク１５はイーサキャット（Ether CAT：登録商標）ネットワークであり、ＰＬＣ１０はイーサキャットマスタであり、カプラユニット２０はイーサキャットネットワーク上でＰＬＣ１０およびシリアル通信ユニット３０間のプロセスデータ通信（ＰＤＯ通信）を行うためのインタフェースである。
【００２１】
マスタであるＰＬＣ１０は、フィールドネットワーク１５を管理し、スレーブ（カプラユニット２０およびシリアル通信ユニット３０）の状況監視やスレーブとの間でＰＤＯ通信を行う。
【００２２】
シリアル通信ユニット３０は、カプラユニット２０を介してＰＬＣ１０とＰＤＯ通信を行うとともに、シリアル回線３５を介して外部機器４０（シリアル通信機器）とシリアル通信を行う。ＰＬＣ１０に接続されるサポートツール５０はサポートソフトを動作させる端末（コンピュータ等）であり、ユーザは、このサポートソフトを用いてフィールドネットワーク１５およびスレーブの設定を行ったり、ＰＬＣ１０に送るためのユーザプログラムを作成したり、設定ファイル等を作成したりする。
【００２３】
ＰＬＣ１０は、サポートツール５０から送られたユーザプログラム１１およびシステムプログラム１２を格納するメモリ７と、プロセッサ８とを備えている。
【００２４】
ユーザプログラム１１には、外部機器４０との間の通信命令（例えば、送信命令や受信命令）の記載が可能であり、また、システムプログラム１２には、通信命令に対応する具体的な通信手順が記載されており、プロセッサ８は、ユーザプログラム１１から通信命令を読み込み、システムプログラム１２に記載された通信手順を実行することで、フィールドネットワーク１５を介してスレーブ（カプラユニット２０およびシリアル通信ユニット３０）とのＰＤＯ通信を行う。
【００２５】
ＰＬＣ１０からデータ送信する場合は、図３（ａ）に示すように、ＰＬＣ１０からの送信データがフィールドネットワーク１５を介してプロセスデータ通信周期ごとにシリアル通信ユニット３０のバッファに順次転送された後にシリアル回線３５に送信される。
【００２６】
また、ＰＬＣ１０がデータ受信する場合は、図３（ｂ）に示すように、シリアル回線３５からの受信データがシリアル通信ユニット３０のバッファに格納された後に、フィールドネットワーク１５を介してプロセスデータ通信周期ごとにＰＬＣ１０に順次転送される。
【００２７】
図４・図５は送信手順（文字列Ａ〜Ｚの送信）の一例を示すフローチャートである。
【００２８】
まず、ステップＳ１において、ＰＬＣ１０は、出力通知データ１（出力ＳＩＤ＝「インクリメント」を示す値／入力ＳＩＤ応答＝初期値／出力データ種別＝「最終ではない」を示す値／出力付属情報＝初期値／出力データ長＝２０バイト／出力データ＝文字列Ａ−Ｔ）を作成し、フィールドネットワーク１５に出力する。
【００２９】
次いで、ステップＳ２において、シリアル通信ユニット３０は、出力通知データ１を受け取る。
【００３０】
次いで、ステップＳ３において、シリアル通信ユニット３０は、入力通知データ１（ポート状態＝「送信バッファにデータあり」を示す値／入力ＳＩＤ＝初期値／出力ＳＩＤ応答＝「出力ＳＩＤをセット」を示す値／入力データ種別＝初期値／入力付属情報＝初期値／入力データ長＝初期値／入力データ＝初期値）をフィールドネットワーク１５に入力する。
【００３１】
次いで、ステップＳ４において、ＰＬＣ１０は、入力通知データ１を受け取り、出力ＳＩＤ応答の値からシリアル通信ユニット３０が文字列Ａ−Ｔを正常に受け取ったことを認識する。
【００３２】
次いで、ステップＳ５において、シリアル通信ユニット３０は文字列Ａ−Ｔを自らのバッファに格納する（図３（ａ）参照）。
【００３３】
次いで、ステップＳ６において、ＰＬＣ１０は、出力通知データ２（出力ＳＩＤ＝「インクリメント」を示す値／入力ＳＩＤ応答＝初期値／出力データ種別＝「最終である」を示す値／出力付属情報＝初期値／出力データ長＝６バイト／出力データ＝文字列Ｕ−Ｚ）を作成し、フィールドネットワーク１５に出力する。
【００３４】
次いで、ステップＳ７において、シリアル通信ユニット３０は、出力通知データ２を受け取る。
【００３５】
次いで、ステップＳ８において、シリアル通信ユニット３０は、入力通知データ２（ポート状態＝「送信バッファにデータあり」を示す値／入力ＳＩＤ＝初期値／出力ＳＩＤ応答＝「出力ＳＩＤをセット」を示す値／入力データ種別＝初期値／入力付属情報＝初期値／入力データ長＝初期値／入力データ＝初期値）をフィールドネットワーク１５に入力する。
【００３６】
次いで、ステップＳ９において、ＰＬＣ１０は、入力通知データ２を受け取り、出力ＳＩＤ応答の値からシリアル通信ユニット３０が文字列Ｕ−Ｚを正常に受け取ったことを認識する。
【００３７】
次いで、ステップＳ１０において、シリアル通信ユニット３０は文字列Ｕ−Ｚを自らのバッファに格納し、出力通知データ２の出力データ種別＝「最終である」ことから、文字列Ａ−Ｚをまとめてシリアル回線３５に送信する（図３（ａ）参照）。
【００３８】
次いで、ステップＳ１１において、ＰＬＣ１０は、出力通知データ３（出力ＳＩＤ＝「インクリメントなし」を示す値／入力ＳＩＤ応答＝初期値／出力データ種別＝「送信データなし」を示す値／出力付属情報＝初期値／出力データ長＝初期値／出力データ＝初期値）を作成し、フィールドネットワーク１５に出力する。
【００３９】
次いで、ステップＳ１２において、シリアル通信ユニット３０は、入力通知データ３（ポート状態＝「送信完了トグルビット変化」を示す値／入力ＳＩＤ＝初期値／出力ＳＩＤ応答＝「変化なし」を示す値／入力データ種別＝初期値／入力付属情報＝初期値／入力データ長＝初期値／入力データ＝初期値）をフィールドネットワーク１５に入力し、文字列Ａ−Ｚをシリアル回線３５に送信したことをＰＬＣ１０に通知する。
【００４０】
次いで、ステップＳ１３において、ＰＬＣ１０は、入力通知データ３を受け取り、ポート状態＝「送信完了トグルビット変化」を示す値からシリアル通信ユニット３０が文字列Ａ−Ｚをシリアル回線３５に送信したことを認識する。
【００４１】
以上のように、ＰＬＣ１０（ＰＬＣ１０のプロセッサ８）は、ユーザプログラム１１の送信命令を読み込むと、システムプログラム１２に記載された前記送信手順（Ｓ１・Ｓ４・Ｓ６・Ｓ９・Ｓ１１・Ｓ１３）を実行する。
【００４２】
ユーザプログラム１１の送信命令は、図６に示すように、ファンクションブロックでの記載が可能であり、ラダー回路図内に挿入することができる。
【００４３】
ここで、送信命令のファンクションブロックには、デバイスポート（Device Port）という入力変数が用意されており、この入力変数に指令先情報を入力する。指令先情報は、指令先のデバイスタイプ、指令先の識別名（ＩＤ）、および指令先の対象ポート番号（ＰＬＣ１０と通信すべき外部機器が接続されているポート）であり、例えば図７のように、フィールドネットワーク上のカプラユニット２０に装着されたシリアル通信ユニット３０を送信命令の指令先とする場合には、ユーザプログラム１１にて、例えば図６のように、デバイスタイプ：シリアル通信ユニット、識別名（ＩＤ）：ＳＣＵ３０、ポート番号：１と規定する。
【００４４】
ＰＬＣ１０のプロセッサ８は、ユーザプログラム１１から読み出した、送信命令および指令先情報と、ユーザが設定する設定ファイル１３から読み出した、前記指令先情報に対応するアドレス情報（入力変数ＳＣＵ３０の割り付け先：カプラユニット２０のコネクタ）と、ユーザが設定する構成ファイル１４から読み出したシステム（シリアル通信ユニット３０が接続するシステム）の構成情報と、システムプログラム１２から読み出した、送信命令に対応する通信手順とに基づいて、フィールドネットワーク１５上のカプラユニット２０に装着されたシリアル通信ユニット３０との通信経路を確立し、通信手順（具体的には前述の送信手順）を実行する。
【００４５】
ここで、本実施形態では、シリアル通信ユニット３０を、図８のように、ＰＬＣ１０のコネクタへの直付けに変更した場合でも、図６のユーザプログラムの記載を変更する必要はなく、設定ファイル１３のアドレス情報を変更（入力変数ＳＣＵ３０の割り付け先をカプラユニット２０のコネクタからＰＬＣ本体のコネクタに変更）するだけで済むというメリットがある。なお、設定ファイル１３や構成ファイル１４はサポートツール５０を用いて作成することができる。
【００４６】
さらに、本実施形態では、図９のように、ＰＬＣ１０のスロットに装着されたオプションボード６０に外部機器４０を接続し、指令先をオプションボード６０に変更した場合でも、図１０に示すように、ユーザプログラム１１においては、デバイスタイプをオプションボードに変更し、識別名（ＩＤ）をＯＰＢ６０に変更するだけで済むというメリットがある。なお、設定ファイル１３ではＯＰＢ６０の割り付け（ＰＬＣ本体のスロット）を行う。
【００４７】
図１１・図１２は受信手順（文字列Ａ〜Ｚの受信）の一例を示すフローチャートである。
【００４８】
まず、ステップｓ１において、シリアル通信ユニット３０が、シリアル回線３５から文字列Ａ−Ｚを受信する。
【００４９】
次いで、ステップｓ２において、シリアル通信ユニット３０は、入力通知データ４（ポート状態＝初期値／入力ＳＩＤ＝インクリメント／出力ＳＩＤ応答＝初期値／入力データ種別＝「最終でない受信データあり」を示す値／入力付属情報＝初期値／入力データ長＝２０バイト／入力データ＝Ａ−Ｔ）をフィールドネットワーク１５に入力する。
【００５０】
次いで、ステップｓ３において、ＰＬＣ１０は、入力通知データ４を受け取る。
【００５１】
次いで、ステップｓ４において、ＰＬＣ１０は、出力通知データ４（出力ＳＩＤ＝初期値／入力ＳＩＤ応答＝入力ＳＩＤをセット／出力データ種別＝初期値／出力付属情報＝初期値／出力データ長＝初期値／出力データ＝初期値）を作成し、フィールドネットワーク１５に出力することで、文字列Ａ−Ｔを正常に受け取ったことをシリアル通信ユニット３０に通知する。
【００５２】
次いで、ステップｓ５において、シリアル通信ユニット３０は、出力通知データ４を受け取り、入力ＳＩＤ応答の値からＰＬＣ１０が文字列Ａ−Ｔを正常に受け取ったことを認識する。
【００５３】
次いで、ステップｓ６において、シリアル通信ユニット３０は、入力通知データ５（ポート状態＝「終端検出した」を示す値／入力ＳＩＤ＝インクリメント／出力ＳＩＤ応答＝初期値／入力データ種別＝受信データの終了／入力付属情報＝初期値／入力データ長＝６バイト／入力データ＝Ｕ−Ｚ）をフィールドネットワーク１５に入力する。
【００５４】
次いで、ステップｓ７において、ＰＬＣ１０は、入力通知データ５を受け取り、ポート状態＝「終端検出した」を示す値から、シリアル通信ユニット３０が受信データの終端を検出したことを認識する。
【００５５】
次いで、ステップｓ８において、ＰＬＣ１０は、出力通知データ５（出力ＳＩＤ＝「初期値／入力ＳＩＤ応答＝入力ＳＩＤをセット／出力データ種別＝初期値／出力付属情報＝初期値／出力データ長＝初期値／出力データ＝初期値）を作成し、フィールドネットワーク１５に出力することで、文字列Ｕ−Ｚを正常に受け取ったことをシリアル通信ユニット３０に通知する。
【００５６】
次いで、ステップｓ９において、シリアル通信ユニット３０は、出力通知データ５を受け取り、入力ＳＩＤ応答の値からＰＬＣ１０が文字列Ｕ−Ｚを正常に受け取ったことを認識する。
【００５７】
以上のように、ＰＬＣ１０（ＰＬＣ１０のプロセッサ８）は、ユーザプログラム１１の受信命令を読み込むと、システムプログラム１２に記載された前記受信手順（ｓ３・ｓ４・ｓ７・ｓ８）を実行する。
【００５８】
ユーザプログラム１１の受信命令は、図１３に示すように、ファンクションブロックでの記載が可能であり、ラダー回路図内に挿入することができる。
【００５９】
ここで、受信命令のファンクションブロックには、デバイスポート（Device Port）という入力変数が用意されており、この入力変数に指令先情報を入力する。指令先情報は、指令先のデバイスタイプ、指令先の識別名（ＩＤ）、および指令先の対象ポート番号（ＰＬＣ１０と通信すべき外部機器が接続されているポート）であり、例えば図７のように、フィールドネットワーク上のカプラユニット２０に装着されたシリアル通信ユニット３０を受信命令の指令先とする場合には、ユーザプログラム１１にて、例えば図１３のように、デバイスタイプ：シリアル通信ユニット、識別名（ＩＤ）：ＳＣＵ３０、ポート番号：１と規定する。
【００６０】
ＰＬＣ１０のプロセッサ８は、ユーザプログラム１１から読み出した、受信命令および指令先情報と、ユーザが設定する設定ファイル１３から読み出した、前記指令先情報に対応するアドレス情報（入力変数ＳＣＵ３０の割り付け先：カプラユニット２０のコネクタ）と、ユーザが設定する構成ファイル１４から読み出したシステム（シリアル通信ユニット３０が接続するシステム）の構成情報と、システムプログラム１２から読み出した、受信命令に対応する通信手順とに基づいて、フィールドネットワーク１５上のカプラユニット２０に装着されたシリアル通信ユニット３０との通信経路を確立し、通信手順（具体的には前述の受信手順）を実行する。
【００６１】
ここで、本実施形態では、シリアル通信ユニット３０を、図８のように、ＰＬＣ１０のコネクタへの直付けに変更した場合でも、図１３のユーザプログラムの記載を変更する必要はなく、設定ファイル１３のアドレス情報を変更（入力変数ＳＣＵ３０の割り付け先をカプラユニット２０のコネクタからＰＬＣ本体のコネクタに変更）するだけで済むというメリットがある。
【００６２】
さらに、本実施形態では、図９のように、ＰＬＣ１０のスロットに装着されたオプションボード６０に外部機器４０を接続し、指令先をオプションボード６０に変更した場合でも、図１４に示すように、ユーザプログラム１１においては、デバイスタイプをオプションボードに変更し、識別名（ＩＤ）をＯＰＢ６０に変更するだけで済むというメリットがある。なお、設定ファイル１３では入力変数ＯＰＢ６０の割り付け（ＰＬＣ本体のスロット）を行う。
【００６３】
以上のように、本実施形態によれば、ユーザプログラム１１には指令先情報（デバイスポート変数である、デバイスタイプ、識別名およびポート番号）を記載し、アドレス情報は設定ファイル１３に、システムの構成情報は構成ファイル１４に記載しているため、通信インターフェース装置（シリアル通信ユニット３０やオプションボード６０）の接続位置の変更に伴うユーザプログラム１１の変更の手間を減らすことができる。なお、設定ファイル１３や構成ファイル１４はサポートツール５０を用いて作成することができる。
【００６４】
また、本実施形態によれば、ＰＬＣ１０のプロセッサ８は、ユーザプログラム１１の通信命令を読み込み、システムプログラム１２に記載された通信手順を実行する。したがって、通信手順に関する変更がある場合は、ＰＬＣ１０のシステムプログラム１２を変更すればよく、シリアル通信ユニット３０側の変更が不要になる。
【００６５】
また、本実施形態によれば、シリアル通信ユニット３０の処理が軽減されるため、ＰＬＣ１０の能力に応じて通信速度を高めることができる。
【００６６】
また、本実施形態によれば、図６や図１３のようなファンクションブロック形式の記載が可能であるため、ユーザプログラムの作成が容易である。
【００６７】
本発明は上述した実施形態に限定されるものではなく、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【００６８】
７  メモリ
８  プロセッサ
１０  ＰＬＣ（プログラマブルコントローラ）
１１  ユーザプログラム
１２  システムプログラム
１３  設定ファイル
１４  構成ファイル
１５  フィールドネットワーク
２０  カプラユニット
３０  シリアル通信ユニット
３５  シリアル通信回線
４０  外部装置
５０  サポートツール
６０  オプションボード
【図１】
0006627571.tif 000002
【図２】
0006627571.tif 000003
【図３】
0006627571.tif 000004
【図４】
0006627571.tif 000005
【図５】
0006627571.tif 000006
【図６】
0006627571.tif 000007
【図７】
0006627571.tif 000008
【図８】
0006627571.tif 000009
【図９】
0006627571.tif 000010
【図１０】
0006627571.tif 000011
【図１１】
0006627571.tif 000012
【図１２】
0006627571.tif 000013
【図１３】
0006627571.tif 000014
【図１４】
0006627571.tif 000015