• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 全部申し立て 特36条6項1、2号及び3号 請求の範囲の記載不備  G05B
審判 全部申し立て 2項進歩性  G05B
管理番号 1384088
総通号数
発行国 JP 
公報種別 特許決定公報 
発行日 2022-05-27 
種別 異議の決定 
異議申立日 2021-03-16 
確定日 2022-02-18 
異議申立件数
訂正明細書 true 
事件の表示 特許第6757385号発明「プログラマブルロジックコントローラおよびメインユニット」の特許異議申立事件について、次のとおり決定する。 
結論 特許第6757385号の特許請求の範囲を、訂正請求書に添付された訂正特許請求の範囲のとおり、訂正後の請求項〔1−17、19−30〕、18について訂正することを認める。 特許第6757385号の請求項1−30に係る特許を維持する。 
理由 第1 手続の経緯
特許第6757385号(以下「本件特許」という。)の請求項1−30に係る特許についての出願は、平成30年10月23日に出願されたものであり、令和2年9月1日にその特許権の設定登録がされ、同月16日に特許掲載公報が発行された。本件特許異議の申立ての経緯は、次のとおりである。
令和 3年 3月16日 : 特許異議申立人藤本信男(以下「特許異議申立人」という。)による請求項1−30に係る特許に対する特許異議の申立て
令和 3年 6月24日付け: 取消理由通知
令和 3年 8月25日 : 特許権者による訂正請求書及び意見書の提出
令和 3年10月13日 : 特許異議申立人による意見書の提出

第2 訂正の適否
1.訂正の内容
令和3年8月25日提出の訂正請求書による訂正(以下「本件訂正」という。)の訂正事項は、以下のとおりである。
なお、下線部は当審で付した。(以下、同様。)
(1)訂正事項1
請求項1に「前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部」と記載されているのを、本件訂正により「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部」に訂正する。
なお、請求項1の記載を引用する請求項2−17、19−30についても、上記訂正に伴い同様に訂正するものである。

(2)訂正事項2
請求項30に「前記第二収集部は、ピーク値、ボトム値に関するデータを前記第二バッファに記憶する」と記載されているのを、本件訂正により「前記第二収集部は、入力されるアナログ信号のピーク値、ボトム値に関するデータを前記第二バッファに記憶する」に訂正する。

訂正事項1及び訂正事項2は、一群の請求項〔1−17、19−30〕に対して請求されたものである。

(3)訂正事項3
請求項18に「前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部」と記載されているのを、本件訂正により「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部」に訂正する。

2.訂正の検討
(1)訂正事項1
ア 訂正の目的
訂正事項1は、訂正により、第一収集部で行うデバイス値の収集及び記憶について、「プログラム実行部がユーザプログラムを1スキャン実行するごとに」収集及び記憶することに限定するものであるから、訂正事項1は、特許法第120条の5第2項ただし書第1号に規定する特許請求の範囲の減縮を目的とするものである。

イ 新規事項の有無、特許請求の範囲の拡張・変更の存否
訂正事項1は、第一収集部で行う「デバイス値」の収集について、「プログラム実行部がユーザプログラムを1スキャン実行するごとに」収集及び記憶することに限定するものであるところ、明細書の段落【0107】には、「なお、収集部92aは、ログ設定データ72により指定された収集周期(例:スキャン周期)ごとにデバイス値と時刻情報とを取得してリングバッファ91aに格納する。」、段落【0116】には、「S23でCPU31(収集部92a)はデバイス値の取得タイミングが到来したかどうかを判定する。取得タイミングは、たとえば、スキャン周期ごとなどであり(例えば毎スキャンにおけるEND処理において取得する等)、ログ設定データ72により定義されている。」と記載されているから、当該訂正事項1は、新規事項の追加に該当しない。
また、上述のとおり、訂正事項1は、第一収集部で行う「デバイス値」の収集及び記憶について、「プログラム実行部がユーザプログラムを1スキャン実行するごとに」収集及び記憶することに限定するものであるから、実質上特許請求の範囲を拡張し、又は変更するものには該当しない。
なお、請求項2−17、19−30は、請求項1についての訂正に伴い訂正されるものであるところ、請求項2−17、19−30の訂正についても、特許請求の範囲の減縮を目的とするものであって、明細書に記載された事項の範囲内で行われたものであり、新規事項の追加に該当せず、実質上特許請求の範囲を拡張し又は変更するものに該当しない。

(2)訂正事項2
ア 訂正の目的
訂正事項2に係る請求項30についての訂正は、「第二バッファ」に記憶される「データ」について、訂正前の請求項30の「ピーク値、ボトム値に関するデータ」が何の「ピーク値、ボトム値に関するデータ」であるのか不明瞭であったものを、「入力されるアナログ信号のピーク値、ボトム値に関するデータ」と訂正することにより明瞭にしたものといえるから、特許法第120条の5第2項ただし書第3号に規定する明瞭でない記載の釈明を目的とするものである。
また、訂正事項2は、訂正により、「第二バッファ」に記憶される「ピーク値、ボトム値に関するデータ」について、何の「ピーク値、ボトム値に関するデータ」か特定がなかったものを、「入力されるアナログ信号のピーク値、ボトム値に関するデータ」と限定するものであるから、訂正事項2は、特許法第120条の5第2項ただし書第1号に規定する特許請求の範囲の減縮を目的とするものである。

イ 新規事項の有無、特許請求の範囲の拡張・変更の存否
訂正事項2は、「第二バッファ」に記憶される「ピーク値、ボトム値に関するデータ」について、「入力されるアナログ信号のピーク値、ボトム値に関するデータ」と訂正することにより明瞭にするもの又は限定するものであるところ、明細書の段落【0050】には、「アナログ入力ユニットは、入力されるアナログ信号をサンプリングしてデジタル信号に変換するユニットである。ユニットモニタはモーションユニットやアナログ入力ユニットなどの拡張ユニット4の動作を監視する機能である。」、段落【0057】には、「アナログ入力ユニットのユニットモニタは、例えば、AD変換データ、特殊データ、オフセット値、ゼロシフト、ピーク値、ボトム値などの各種パラメータに割り付けられたデバイス(DM又はR)を監視する。」と記載されているから、当該訂正事項2は、新規事項の追加に該当しない。
また、上述のとおり、訂正事項2は、「第二バッファ」に記憶される「ピーク値、ボトム値に関するデータ」について、「入力されるアナログ信号のピーク値、ボトム値に関するデータ」と訂正することにより明瞭にするもの又は限定するものであるから、実質上特許請求の範囲を拡張し、又は変更するものには該当しない。

(3)訂正事項3
ア 訂正の目的
訂正事項3は、上記訂正事項1と同様に、訂正により、第一収集部で行うデバイス値の収集及び記憶について、「プログラム実行部がユーザプログラムを1スキャン実行するごとに」収集及び記憶することに限定するものであるから、訂正事項3は、特許法第120条の5第2項ただし書第1号に規定する特許請求の範囲の減縮を目的とするものである。

イ 新規事項の有無、特許請求の範囲の拡張・変更の存否
訂正事項3に係る請求項18についての訂正は、上記訂正事項1と同様に、訂正により、第一収集部で行うデバイス値の収集について、「プログラム実行部がユーザプログラムを1スキャン実行するごとに」収集及び記憶することに限定するものであるから、上記訂正事項1(上記(1)イを参照。)について検討したとおり、新規事項の追加に該当せず、実質上特許請求の範囲を拡張し、又は変更するものに該当しない。

3.小括
上記のとおり、本件訂正は、特許法第120条の5第2項ただし書第1号又は3号に掲げる事項を目的とするものであり、かつ、同条第9項で準用する同法第126条第5項及び第6項の規定に適合する。
したがって、特許請求の範囲を、訂正請求書に添付された訂正特許請求の範囲のとおり、訂正後の一群の請求項〔1−17、19−30〕及び請求項18について訂正することを認める。


第3 本件特許
上記第2のとおり、本件訂正は認められるから、本件特許の請求項1−30に係る発明(以下、それぞれ「本件発明1」等といい、全てをまとめて「本件発明」という場合がある。なお、以下の第4以降においては、便宜上、本件訂正前の特許請求の範囲の請求項1−30に係る発明を「訂正前の本件発明1」等という場合がある。)は以下のとおりである。

【請求項1】
外部設定機器からユーザプログラムと機能設定情報とログ設定情報とを受け付ける第一の外部インタフェースと、
前記受け付けたユーザプログラムを繰り返し実行するプログラム実行部と、
前記プログラム実行部により参照される記憶領域である複数のデバイスを有するデバイス記憶部と、
前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部と、
監視機器と接続され、当該監視機器からデータが入力される第二の外部インタフェースと、
前記第二の外部インタフェースを介して前記監視機器からのデータの入力を伴う機能を、前記受け付けた機能設定情報に基づいて実行する機能実行部と、
前記監視機器から入力されるデータを収集し、当該データが取得された取得時刻に関する情報と当該データとを関連付けて第二バッファに記憶する第二収集部と、
前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する保存部と、
を有することを特徴とするプログラマブルロジックコントローラ。
【請求項2】
前記監視機器は、静止画又は動画の画像データを取得するカメラであって、
前記機能実行部は、前記カメラから前記画像データの入力を伴う機能を実行し、
前記第二収集部は、前記画像データが取得された取得時刻に関する情報と当該画像データとを関連付けて第二バッファに記憶し、
前記保存部は、前記デバイス値と、前記収集時刻に関する情報と、前記第二バッファに記憶されている前記画像データと、前記取得時刻に関する情報とを対応付けて保存することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
【請求項3】
前記機能実行部は、前記ユーザプログラムの実行周期とは非同期で、前記監視機器からのデータの入力を伴う機能を実行することを特徴とする請求項1または2に記載のプログラマブルロジックコントローラ。
【請求項4】
前記保存部は、前記ユーザプログラム及び前記機能設定情報を含むプロジェクトデータを併せて保存することを特徴とする請求項1ないし3のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項5】
前記保存部は、前記デバイス値、前記収集時刻に関する情報と、前記第二バッファに記憶されている前記データと、前記取得時刻に関する情報とを、共通フラグにより識別される複数のファイルに格納し、当該複数のファイルを保存することを特徴とする請求項1ないし4のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項6】
前記プログラマブルロジックコントローラは、メインユニットと、拡張ユニットとを有し、
前記メインユニットは、前記プログラム実行部、前記デバイス記憶部および前記第一収集部を有し、
前記拡張ユニットは、前記機能実行部と前記第二収集部とを有することを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項7】
前記保存部は、着脱可能なメモリカードに、前記第一バッファに記憶されている前記デバイス値と、前記収集時刻に関する情報と、前記第二バッファに記憶されている前記データと、前記取得時刻に関する情報とを対応付けて保存することを特徴とする請求項6に記載のプログラマブルロジックコントローラ。
【請求項8】
前記第一バッファは前記メインユニットに設けられていることを特徴とする請求項6または7に記載のプログラマブルロジックコントローラ。
【請求項9】
前記第二バッファは前記拡張ユニットに設けられていることを特徴とする請求項6ないし8のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項10】
前記メインユニットは、前記拡張ユニットと通信する第一インタフェースをさらに有し、
前記拡張ユニットは、前記メインユニットと通信する第二インタフェースをさらに有し、
前記第一インタフェースは前記メインユニットの側面であって、前記拡張ユニットの側面に対して対向する側面に配置されており、
前記第二インタフェースは前記第一インタフェースと接続されるように前記拡張ユニットの前記側面に設けられていることを特徴とする請求項6ないし9のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項11】
前記メインユニットと前記拡張ユニットとを支持する支持プレートをさらに有し、
前記第一バッファ、前記第二バッファおよび前記保存部のうちの少なくとも一つが前記支持プレートに設けられていることを特徴とする請求項6に記載のプログラマブルロジックコントローラ。
【請求項12】
前記保存部により前記メモリに保存されているデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、外部機器に送信する送信部をさらに有することを特徴とする請求項1ないし11のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項13】
前記第一バッファまたは前記第二バッファは、前記ユーザプログラムの実行周期よりも短い周期で発生する情報をさらに記憶するように構成されていることを特徴とする請求項1ないし12のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項14】
前記保存部は、前記プログラマブルロジックコントローラにおいて前記ユーザプログラムに関するエンド処理が実行されている期間において、前記第二バッファから前記データと前記取得時刻に関する情報とを読み出して保存するように構成されていることを特徴とする請求項1ないし13のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項15】
前記収集時刻を計時する前記メインユニットの時計と前記取得時刻を計時する前記拡張ユニットの時計とは同期していることを特徴とする請求項6ないし11のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項16】
前記保存部は、予め設定された保存トリガーの前後にわたる所定の収集時間に収集された前記デバイス値、前記収集時刻に関する情報、前記データ、および前記取得時刻に関する情報を対応付けて保存するように構成されていることを特徴とする請求項1ないし15のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項17】
前記保存部は、予め設定された開始リレーがオンになったタイミングを起点とした所定の収集時間に収集された前記デバイス値、前記収集時刻に関する情報、前記データ、および前記取得時刻に関する情報を対応付けて保存するように構成されていることを特徴とする請求項1ないし15のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項18】
プログラマブルロジックコントローラにおいて拡張ユニットに接続されるメインユニットであって、
前記メインユニットは、
外部設定機器からユーザプログラムとログ設定情報とを受け付ける外部インタフェースと、
前記受け付けたユーザプログラムを繰り返し実行するプログラム実行部と、
前記プログラム実行部により参照される記憶領域である複数のデバイスを有するデバイス記憶部と、
前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部と、
前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記拡張ユニットの第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する保存部と、
を有することを特徴とするメインユニット。
【請求項19】
前記送信部は、前記外部設定機器から前記ログ設定情報により紐付けられたデバイス値とデータの転送指示を受け付けたときに、前記保存部により前記メモリに保存されているデバイス値とデータを外部機器に送信することを特徴とする請求項12に記載のプログラマブルロジックコントローラ。
【請求項20】
前記プログラマブルロジックコントローラは、メインユニットと、拡張ユニットとを有し、
前記メインユニットは、前記プログラム実行部と、当該プログラム実行部により参照され、前記メインユニット用のデバイスと前記拡張ユニット用のデバイスを有する前記デバイス記憶部を有し、
前記拡張ユニットは、前記機能実行部と、当該機能実行部により参照される記憶領域であって、前記監視機器から入力されるデータを一時的に保持するバッファメモリを有し、
前記第一収集部は、前記ログ設定情報により特定される前記メインユニット用のデバイス及び前記拡張ユニット用のデバイスに記憶されているデバイス値を収集し、当該デバイス値を前記第一バッファに記憶するとともに、
前記第二収集部は、前記ログ設定情報により特定される前記バッファメモリから読み出したデータを、前記第二バッファに記憶することを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項21】
前記ログ設定情報は、前記メインユニット用のデバイス及び前記拡張ユニット用のデバイスの各々について先頭デバイスを基準とする一連のデバイス範囲と、前記バッファメモリについて先頭バッファメモリを基準とする一連のバッファメモリ範囲とを含むことを特徴とする請求項20に記載のプログラマブルロジックコントローラ。
【請求項22】
前記ログ設定情報は、前記メインユニット用のデバイス及び前記拡張ユニット用のデバイスの各々について予め定めた個数単位で定義されるデバイス群と、前記バッファメモリについて予め定めた個数単位で定義されるバッファメモリ群とを含むことを特徴とする請求項20に記載のプログラマブルロジックコントローラ。
【請求項23】
前記機能実行部と、当該機能実行部により参照される記憶領域であって、前記監視機器から入力されるデータを一時的に保持するバッファメモリを有し、
前記第二収集部は、前記監視機器から入力されるデータを収集して前記バッファメモリに保持し、当該バッファメモリに保持されたデータを、前記デバイス記憶部を介さずに前記第二バッファに記憶することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
【請求項24】
前記プログラマブルロジックコントローラは、前記プログラム実行部を有するメインユニットと、前記機能実行部を有する拡張ユニットとを有し、
前記第一バッファ及び前記第二バッファとは異なるメモリは、前記メインユニット及び前記拡張ユニットの外部に設けられることを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項25】
前記プログラマブルロジックコントローラは、前記プログラム実行部を有するメインユニットと、前記機能実行部を有する拡張ユニットと、当該メインユニット及び当該拡張ユニットを支持する支持プレートとを有し、
前記第二収集部は、前記支持プレートに設けられたバスを介して前記データを前記第二バッファに記憶することを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項26】
前記保存部は、前記ログ設定情報に基づき定められる保存タイミングが到来するたびに、前記ログ設定情報により紐付けられたデバイス値とデータを前記メモリに繰り返し保存することを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項27】
前記保存部は、前記ログ設定情報に基づき同一の保存タイミングで保存されるデバイス値とデータを、同一フォルダ内のファイルとして前記メモリに保存することを特徴とする請求項26に記載のプログラマブルロジックコントローラ。
【請求項28】
前記ログ設定情報により紐付けられたデバイス値とデータは、前記ログ設定情報に基づき定められる対象期間分のデバイス値とデータであることを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項29】
前記第一バッファ及び前記第二バッファは、それぞれリングバッファからなることを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項30】
前記機能実行部は、入力されるアナログ信号をサンプリングしてデジタル信号に変換する機能を実行し、
前記第二収集部は、入力されるアナログ信号のピーク値、ボトム値に関するデータを前記第二バッファに記憶することを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。


第4 取消理由、及び採用しなかった特許異議申立理由の概要
1.取消理由通知書で通知した取消理由の概要
本件訂正前の特許に対して、当審が令和3年6月24日付けで特許権者に通知した取消理由の要旨は、次のとおりである。
なお、以下、特許異議申立人が申立書と共に提出した甲第1号証ないし甲第12号証、及び後述する甲第13号証ないし甲第20号証を、「甲1」などという。また、甲1に記載された発明として、後述する第5の1.(1)イにおいて認定した発明を以下「甲1発明」といい、後述する第5の1.(2)アにおいて認定した甲1発明とは別の発明を以下「甲1A発明」という。
(1)【特許法第29条第2項進歩性)違反】(甲1発明を主発明とした場合)
訂正前の請求項1、18に係る発明は、甲1に記載された甲1発明に基いて、又は甲1発明及び周知の技術的事項に基いて、本件特許出願前にその発明の属する技術の分野における通常の知識を有する者(以下、「当業者」という。)が容易に発明をすることができたものであるから、特許法第29条第2項の規定に違反してされたものである。
訂正前の請求項2−17、19−30に係る発明は、甲1発明に基いて、又は甲1発明及び周知の技術的事項に基いて、又は甲1発明及び下記の甲号証のいずれかに記載された技術的事項並びに周知の技術的事項に基いて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定に違反してされたものである。

(2)【特許法第29条第2項進歩性)違反】(甲1A発明を主発明とした場合)
訂正前の請求項1、18に係る発明は、甲1に記載された甲1A発明に基いて、又は甲1A発明及び周知の技術的事項に基いて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定に違反してされたものである。
また、訂正前の請求項2−17、19−30に係る発明は、甲1A発明に基いて、又は甲1A発明及び周知の技術的事項に基いて、又は甲1A発明及び下記の甲号証のいずれかに記載された技術的事項並びに周知の技術的事項に基いて、当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定に違反してされたものである。

<甲号証>
甲1:特開2017−79009号公報
甲2:特開2000−250775号公報
甲3:特開平11−331766号公報
甲4:国際公開第2005/091098号
甲5:特開2005−56098号公報
甲6:特開2001−125612号公報
甲7:特開2000−235412号公報
甲8:特開2014−52669号公報
甲9:特許第4818492号公報
甲10:国際公開第2011/104935号
甲11:特開平7−182013号公報
甲12:特許第5301060号公報

(3)【特許法第36条第6項第2号明確性)違反】
訂正前の本件発明1−30は明確でない。

(4)【特許法第36条第6項第1号(サポート要件)違反】
訂正前の本件発明1−30は、本件特許の明細書の発明の詳細な説明に記載したものではない。

2.取消理由として採用しなかった特許異議申立理由について
特許異議申立書において、特許異議申立人が主張した特許異議申立理由は、訂正前の本件発明1−30について、特許法第29条第2項(取消理由1及び取消理由2)、特許法第36条第6項第2号(取消理由3)及び特許法第36条第6項第1号(取消理由4)に基づくものであるところ、取消理由として採用しなかった特許異議申立理由はない。


第5 当審の判断
1.取消理由通知書で通知した取消理由についての判断
(1)取消理由1:【特許法第29条第2項進歩性)違反】(甲1発明を主発明とした場合)について
ア 甲1の記載事項等
「【請求項5】
前記CPUユニットのデバイスメモリに格納される複数のデバイス値のうち少なくとも一部のデバイス値は、前記CPUユニットがユーザプログラムを繰り返し実行するスキャンタイムにしたがって前記拡張ユニットと通信することで更新され、前記複数のデバイス値のうち少なくとも一部のデバイス値は、前記スキャンタイムよりも短い一定の制御周期で前記拡張ユニットと通信することで更新されることを特徴とする請求項1ないし4のいずれか一項に記載のモニタ装置。」

「【0001】
本発明は、プログラマブル・ロジック・コントローラのモニタ装置に関する。
・・・
【0003】
オペレータは、パーソナルコンピュータ(以下、PCと称す)などのプログラム作成支援装置上でラダープログラムを作成し、PCとPLCを接続し、ラダープログラムをPLCの記憶部に記憶させる。PLCの記憶部にはデバイス情報等の各種データも記憶される。デバイス情報とは、入力機器からの入力状態、出力機器への出力状態およびラダープログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイスとは、デバイス情報を格納するために設けられたメモリ上の領域を指す名称である。PLCにプログラム作成支援装置を接続することで、PLCが保持しているデバイス情報(デバイスの値)をプログラム作成支援装置に表示させ、視認することもできる。
【0004】
PLCは一般に基本ユニット(CPUユニット)と拡張ユニットにより構成される。CPUユニットと拡張ユニットは予め割り付けられたデバイスを通じてスキャン周期ごとに実行されるリフレッシュによってデバイス値を相互に交換する。このようなデバイスはデータメモリと呼ばれることもある。データメモリとは別に拡張ユニットにはバッファメモリが設けられる。CPUユニットはラダープログラム中に記述された専用の命令語にしたがって、バス通信によってバッファメモリにアクセスし、バッファメモリを読み書きする。
・・・
【0007】
特許文献1は、CPUユニットや拡張ユニットから取得されたデバイス値やバッファメモリ値が表示されるため、デバッグやチューニングに有用であった。しかし、CPUユニットのクロック(タイマー)と拡張ユニットのクロックとが同期していない場合、CPUユニットから取得したデータと拡張ユニットから取得したデータに時間的な齟齬が生じ、問題の原因を見つけることを困難にしていた。そこで、本発明は、CPUユニットから取得したデータの時間軸と拡張ユニットから取得したデータの時間軸とを正確に揃えて表示することを目的とする。
・・・
【0013】
図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。図1に示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのプログラム作成支援装置1と、工場等に設置される各種制御装置を統括的に制御するためのPLC(プログラマブル・ロジック・コントローラ)2とを備えている。ユーザプログラムは、ラダー言語やモーションフローなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、ユーザプログラムはラダープログラムとする。PLC2は、CPUが内蔵された基本ユニット3と1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。基本ユニット3はCPUユニットと呼ばれることもある。
・・・
【0015】
拡張ユニット4は、PLC2の機能を拡張するために用意されており、基本ユニット3に対して側方から取り付けられる。1つ目の拡張ユニット4は、基本ユニット3に対して側方から直接的に取り付けられる。2つ目以降の拡張ユニット4は、既に取り付けられている拡張ユニット4に対して、側方から直列的に取り付けられる。たとえば、基本ユニット3の右側面と拡張ユニット4の左側面とが連結面になっている。同様に、1つ目の拡張ユニット4の右側面の形状等は基本ユニット3の右側面とほぼ同じであるため、1つ目の拡張ユニット4の右側面に2つ目の拡張ユニット4の左側面が連結される。このような連結方式は、数珠つなぎ方式とかデイジーチェーン方式と呼ばれてもよい。各連結面にはコネクタが設けられており、通信や電力供給を行うためのバスもコネクタを介して連結される。このようにして、基本ユニット3と複数の拡張ユニット4が直列的に取り付けられると、各拡張ユニット4内に備えられた配線(例:バス)を介して、各拡張ユニット4が基本ユニット3に対して通信可能に接続される。各拡張ユニット4には、その拡張ユニット4の機能に対応する被制御装置16(図4)が接続され、これにより、各被制御装置16が拡張ユニット4を介して基本ユニット3に接続される。被制御装置16には、センサなどの入力装置や、アクチュエータなどの出力装置が含まれる。
・・・
【0027】
このように、プログラム作成支援装置1はユーザの操作に応じたラダープログラムを作成し、作成したラダープログラムをPLC2に転送する。PLC2は、入出力リフレッシュ、ラダープログラムの実行およびEND処理を1サイクル(1スキャン)として、このサイクルを周期的、すなわちサイクリックに繰り返し実行する。これにより、各種入力機器(センサ等)からのタイミング信号に基づいて、各種出力機器(モータ等)を制御する。よって、PLC2は汎用のパーソナルコンピュータ(PC)とは全く異なる動きをする。
【0028】
<モニタ装置の機能>
図6はモニタ装置として動作するプログラム作成支援装置1の機能を示す図である。CPU24は記憶装置25のROM(EEPROM,HDD,SSDなど)に記憶されている編集ソフトウエア36を実行することで編集部31として機能する。編集部31は、表示部7にラダープログラム35を編集するためのUI(ユーザインタフェース)を表示させ、操作部8を通じて入力された指示に従ってラダープログラム35を作成し、記憶装置25に格納する。CPU24は記憶装置25のROM(EEPROM,HDD,SSDなど)に記憶されているモニタソフトウエア37を実行することで、設定部32、リングバッファ管理部33および描画部34として機能する。なお、モニタソフトウエア37は編集ソフトウエア36に統合されてもよい。設定部32は、基本ユニット3や拡張ユニット4からデバイス値やバッファメモリを取得するために必要となる設定データ(トレース設定)を作成する。なお、トレースとは、基本ユニット3と拡張ユニット4からデバイス値(バッファメモリ)を取得して表示する処理であり、モニタリングと同様の意味である。なお、狭義のトレースは、デバイス値(バッファメモリ)の取得ないしは収集を意味する。
【0029】
図7は設定部32が表示部7に表示するユーザインタフェースの一例である。デバイス選択UI61は、基本ユニット3や拡張ユニット4から取得される取得対象を選択ないしは指定するためのユーザインタフェースである。この例では、取得対象となるデバイス名称の表示欄と、その名称の左側にチェックボックスが設けられている。ユーザは操作部8を通じてチェックボックスにチェックを付与することで、チェックを付与されたデバイスを取得対象として選択できる。設定部32は、デバイス選択UI61においていずれかのデバイスが指定されると、そのデバイスについてのトレース設定を作成すべく、トリガ位置設定UI62、サンプリング周期設定UI64およびトリガ条件設定UI65を表示部7に表示する。トリガ位置設定UI62は、デバイス値のサンプル数(サンプル時間)を設定するためのユーザインタフェースである。スライダーバー63はデフォルトで中央に設定されている。これは、トリガ条件が満たされたタイミングの前と後で同数のデバイス値をサンプルすることを示している。スライダーバー63が中央よりも左に移動されると、トリガ条件が満たされたタイミングの前のサンプル数が減少し、トリガ条件が満たされたタイミングの後のサンプル数が増加する。反対に、スライダーバー63が中央よりも右に移動されると、トリガ条件が満たされたタイミングよりも前のサンプル数が増加し、トリガ条件が満たされたタイミングよりも後のサンプル数が減少する。サンプリング周期設定UI64は、デバイス値やバッファメモリ値のサンプリング周期を設定するためのUIである。デバイス値についてのサンプリング周期は、たとえば、デバイスメモリに格納されているデバイス値をリングバッファに格納する周期である。バッファメモリ値についてのサンプリング周期は、たとえば、バッファメモリに格納されているバッファメモリ値をリングバッファに格納する周期である。トリガ条件設定UI65はトリガ条件を設定するためのユーザインタフェースである。トリガ条件とは、デバイス値やバッファメモリ値を基本ユニット3や拡張ユニット4から取得して表示部7に表示させるといったトレース処理を開始させる条件である。図7によれば、R000という名称のビットデバイス(リレーデバイス)のデバイス値が”1”(ON)になり、かつ(AND)、DM001という名称のワードデバイスのデバイス値が”0”以下になったことをトリガ条件として設定されている。このように、トリガ条件設定UI65ではトレース開始の条件が設定可能となっているが、トレース停止の条件も設定可能とされてもよい。なお、本実施例では、トレース停止条件はトリガ位置設定UI62により設定された数のサンプル値(デバイス値やバッファメモリ)の取得が完了したことであるものと仮定する。設定部32がこれらのUIを通じて作成したトレース設定は通信部26を通じて基本ユニット3と拡張ユニット4とに転送される。
【0030】
図6に示したリングバッファ管理部33は、基本ユニット3のデバイスメモリに記憶されているデバイス値を取得したり、拡張ユニット4のデバイスメモリ(バッファメモリ)に記憶されているデバイス値(バッファメモリ)を取得したりする機能である。リングバッファ管理部33は、設定部32により設定された条件(トレース設定)にしたがってデバイス値やバッファメモリをリングバッファ38に格納する。リングバッファ38は記憶装置25のRAMに確保される。なお、基本ユニット3や拡張ユニット4におけるデバイス値の取得時刻やバッファメモリの取得時刻もこれらと関連付けてリングバッファ38に格納されてもよい。描画部34は、リングバッファ38に格納されたデバイス値やバッファメモリをそれぞれ取得時刻に基づき時間軸を整合させて表示部7に表示する機能である。
・・・
【0033】
<基本ユニットの機能>
図10は基本ユニット3の機能を示す図である。CPU10は記憶装置12のROM(EEPROM,HDD,SSDなど)に記憶されている制御プログラム45を実行することで、ラダー実行部40、デバイス管理部41、バッファ管理部42、CPUユニットタイマー43および同期部44として機能する。ラダー実行部40は、プログラム作成支援装置1により作成されて転送されてきたラダープログラム35を実行するエンジンである。ラダー実行部40はCPU10とは異なるASICなどにより実現されてもよい。デバイス管理部41は、それぞれデバイス値を格納する複数のデバイスからなるデバイスメモリ48を管理する機能である。デバイスメモリ48は第一デバイスメモリと呼ばれてもよい。デバイスとしては、上述したスキャン周期ごとにリフレッシュされるデバイスと、スキャン周期よりも短いユニット間同期周期ごとにリフレッシュ(ユニット間同期リフレッシュ)されるデバイスとがある。また、デバイスには、拡張ユニット4から受信したデバイス値が格納される入力デバイスと、基本ユニット3から拡張ユニット4に送信される出力デバイスとが存在する。たとえば、ラダー実行部40は、入力デバイスに格納された拡張ユニット4(モーションユニットなど)の現在座標や現在速度に対してラダープログラム35により定義された所定の演算を実行して目標座標と目標速度を決定し、出力デバイスにこれらを格納する。次のリフレッシュのタイミングでは、出力デバイスに格納された目標座標と目標速度が拡張ユニット4によって読み出され、被制御装置16(パラレルリンクなど)の制御に反映される。バッファ管理部42は、デバイスメモリ48に格納されているデバイス値をトレース設定47にしたがってリングバッファ49に格納する機能である。トレース設定47は上述したようにプログラム作成支援装置1によって作成されたものである。リングバッファ49は記憶装置12のRAMに確保される。また、バッファ管理部42は、プログラム作成支援装置1からトレースの開始指示を受信すると、トレース設定47にしたがってリングバッファ49に格納しておいたデバイス値とその格納時刻を示す時刻情報を、通信部14を介してプログラム作成支援装置に送信する。CPUユニットタイマー43は、基本ユニット3における各種の動作の制御タイミングを決定するために利用されるクロックやカウンタである。CPUユニットタイマー43は必ずしも時刻を計時する必要はなく、時刻に相当するカウント値をカウントしてもよい。このようなカウント値も時刻情報の一種である。図8、図9に示した横軸は時間軸であるが、時間軸に付与されている75000や76000は時刻情報としてのカウント値である。同期部44は、CPUユニットタイマー43の時刻情報と拡張ユニット4が備える拡張ユニットタイマー53の時刻情報とを同期させる機能である。同期部44は、通信部14を介したバス通信によって同期信号を拡張ユニット4に送信することで、CPUユニットタイマー43の時刻情報と拡張ユニット4が備える拡張ユニットタイマー53の時刻情報とを同期させる。
【0034】
<拡張ユニットの機能>
図11は拡張ユニット4の機能を示す図である。CPU110は記憶装置112のROM(EEPROM,HDD,SSDなど)に記憶されている制御プログラム55を実行することで、機能制御部50、デバイス管理部51、バッファ管理部52、拡張ユニットタイマー53および同期部54として機能する。機能制御部50は、バッファメモリを含むデバイスメモリ58に格納されたデバイス値(バッファメモリ)に基づき被制御装置16を制御する。なお、被制御装置16は単なるセンサなどの入力装置であってもよい。デバイスメモリ58は第二デバイスメモリと呼ばれてもよい。デバイス管理部51は、それぞれデバイス値(バッファメモリ)を格納する複数のデバイス(バッファメモリ)からなるデバイスメモリ58を管理する機能である。デバイスとしては、上述したスキャン周期ごとにリフレッシュされるデバイスと、スキャン周期よりも短いユニット間同期周期ごとにリフレッシュ(ユニット間同期リフレッシュ)されるデバイスとがある。さらに、他のデバイスとしては、基本ユニット3から命令語により読み書きされるバッファメモリがある。なお、拡張ユニット4に関するデバイスは総称としてバッファメモリとして呼ばれてもよい。もちろん、デバイスメモリ58は、デバイスメモリとしての領域とバッファメモリとしての領域とを有していてもよい。この場合、デバイスメモリに記憶されているデバイス値と、バッファメモリに記憶されているバッファメモリとがモニタリングの対象となり得る。また、デバイスには、拡張ユニット4から送信されるデバイス値が格納される入力デバイスと、基本ユニット3から拡張ユニット4に送信される出力デバイスとが存在する。たとえば、機能制御部50は、被制御装置16の現在座標や現在速度を入力デバイス(バッファメモリ)に格納してもよい。機能制御部50は、次のリフレッシュのタイミングで基本ユニット3により出力デバイスに格納された目標座標と目標速度を被制御装置16(パラレルリンクなど)に反映させる。バッファ管理部52は、デバイスメモリ58に格納されているデバイス値をトレース設定57にしたがってリングバッファ59に格納する機能である。トレース設定57は上述したようにプログラム作成支援装置1によって作成されたものである。リングバッファ59は記憶装置112のRAMに確保される。また、バッファ管理部52は、通信部114を介してプログラム作成支援装置1からトレースの開始指示を受信すると、トレース設定57にしたがってリングバッファ59に格納しておいたデバイス値(バッファメモリ)とその格納時刻を示す時刻情報を、通信部114を介してプログラム作成支援装置1に送信する。なお、拡張ユニット4の通信部114は、通信ハブとしても機能する基本ユニット3の通信部14を介してプログラム作成支援装置1の通信部26と通信する。拡張ユニットタイマー53は、拡張ユニット4における各種の動作の制御タイミングを決定するために利用されるクロックやカウンタである。拡張ユニットタイマー53は必ずしも時刻を計時する必要はなく、時刻に相当するカウント値をカウントしてもよい。このようなカウント値も時刻情報の一種である。同期部54は、拡張ユニットタイマー53の時刻情報をCPUユニットタイマー43の時刻情報に同期させる機能である。同期部54は、通信部114を介したバス通信によって同期信号を基本ユニット3から受信することで、CPUユニットタイマー43の時刻情報と拡張ユニットタイマー53の時刻情報とを同期させる。
【0035】
<プログラム作成支援装置が実行する処理>
図12はプログラム作成支援装置1のCPU24が実行する処理を示すフローチャートである。S11でCPU24(編集部31)は編集ソフトウエア36にしたがってラダープログラム35を編集し、通信部26を介して基本ユニット3に接続して転送する。S12でCPU24(設定部32)はモニタソフトウエア37にしたがってトレース設定を編集し、通信部26を介して基本ユニット3に接続して転送する。トレース設定は基本ユニット3と拡張ユニット4のそれぞれについて作成される。トレース設定には、デバイスの識別情報、トリガ位置、サンプリング周期、トリガ条件などが含まれる。
【0036】
S13でCPU24(描画部34)は操作部8を通じてトレースの開始を指示されると、基本ユニット3や拡張ユニット4のそれぞれに通信部26を介して接続し、トレース開始を指示する。S14でCPU24(リングバッファ管理部33)は基本ユニット3に通信部26を介して接続し、リングバッファ49に格納されているデバイス値とその時刻情報を取得する。また、CPU24(リングバッファ管理部33)は拡張ユニット4に通信部26を介して接続し、リングバッファ59に格納されているデバイス値(バッファメモリ)とその時刻情報を取得し、リングバッファ38に格納する。S15でCPU24(描画部34)はリングバッファ38から各デバイス値(バッファメモリ)とその時刻情報を読み出して、各デバイス値(バッファメモリ)の時刻情報にしたがって各デバイス値(バッファメモリ)時間軸を揃えてチャートにレンダリングし、表示部7に表示する。
・・・
【0040】
S26でCPU10(バッファ管理部42)はトレース設定47にしたがってデバイスメモリ48からデバイス値を読み出してリングバッファ49に格納する。格納の際に、バッファ管理部42はCPUユニットタイマー43によってカウントされているカウント値(時刻情報)を取得して、デバイス値とともにリングバッファ49に格納してもよい。あるいは、デバイス管理部41が、各デバイスのデバイス値を更新したときのCPUユニットタイマー43によってカウントされているカウント値(時刻情報)を取得して、各デバイスの時刻情報としてデバイスメモリ48に記憶させてもよい。つまり、時刻情報を格納するデバイスがデバイスメモリ48に設けられてもよい。この場合、バッファ管理部42は、デバイスメモリ48からデバイス値と時刻情報とを読み出してリングバッファ49に格納する。リングバッファ49に格納したデバイス値と時刻情報はプログラム作成支援装置1によって読み出される。換言すれば、バッファ管理部42は、リングバッファ49に格納したデバイス値と時刻情報を、通信部14を介して接続したプログラム作成支援装置1に出力ないしは送信する。
・・・
【0044】
S33でCPU110(バッファ管理部52)はトレース設定57にしたがってデバイスメモリ58からデバイス値を読み出してリングバッファ59に格納する。格納の際に、バッファ管理部52は拡張ユニットタイマー53によってカウントされているカウント値(時刻情報)を取得して、デバイス値とともにリングバッファ59に格納してもよい。あるいは、デバイス管理部51が、各デバイスのデバイス値(バッファメモリ)を更新したときに拡張ユニットタイマー53によってカウントされていたカウント値(時刻情報)を取得して、各デバイス(バッファメモリ)の時刻情報としてデバイスメモリ58に記憶させてもよい。つまり、時刻情報を格納するデバイス(バッファメモリ)がデバイスメモリ58に設けられてもよい。この場合、バッファ管理部52は、デバイスメモリ58からデバイス値(バッファメモリ値)と時刻情報とを読み出してリングバッファ59に格納する。リングバッファ59に格納したデバイス値と時刻情報はプログラム作成支援装置1によって読み出される。換言すれば、バッファ管理部52は、リングバッファ59に格納したデバイス値と時刻情報を、通信部114および基本ユニット3の通信部14を介して接続したプログラム作成支援装置1に出力ないしは送信する。
・・・
【0050】
また、各デバイス値は時刻情報(10、11などのカウント値)とともにリングバッファに格納されて保持されている。よって、同一の時刻情報に関連付けられている複数のデバイス値(現在座標や目標座標)の時間軸を揃えて表示させることが可能となる。
・・・
【0052】
基本ユニット3のリングバッファ49は、予め設定された周期でデバイスメモリ48のデバイス値と当該デバイス値の格納時刻に関する時刻情報を格納する第一リングバッファの一例である。プログラム作成支援装置1のリングバッファ管理部33は、基本ユニット3のリングバッファ49からデバイスメモリ48のデバイス値と当該デバイス値の時刻情報とを取得する。一般に、リングバッファは、時系列のデータを格納して読み出すのに向いたバッファである。したがって、デバイス値を時間軸に揃えて管理することに向いている。リングバッファ以外の記憶構造がリングバッファに代えて採用されてもよい。
【0053】
拡張ユニット4のリングバッファ59は、予め設定された周期でバッファメモリのバッファメモリと当該バッファメモリ値の格納時刻に関する時刻情報を格納する第二リングバッファの一例である。プログラム作成支援装置1のリングバッファ管理部33は、拡張ユニット4のリングバッファ59からバッファメモリのバッファメモリと当該バッファメモリの時刻情報とを取得してもよい。このようにリングバッファを採用することでデバイス値やバッファメモリを時間軸に揃えて管理しやすくなろう。
・・・
【0059】
上述した説明では、プログラム作成支援装置1が基本ユニット3と拡張ユニット4とから並列にデータを収集するものとして説明したが、収集機能は基本ユニット3に設けられてもよい。より具体的には、基本ユニット3のバッファ管理部42は各バッファメモリと当該各バッファメモリ値の格納時刻を示す時刻情報とを拡張ユニット4から受信し、各デバイス値の格納時刻を示す時刻情報と、各バッファメモリ値の格納時刻を示す時刻情報とに基づき、各デバイス値と各バッファメモリとの時間軸を整合させてプログラム作成支援装置1に送信してもよい。この場合、時刻情報はプログラム作成支援装置1に送信されなくてもよい。基本ユニット3のから収集したデバイス値と拡張ユニット4から収集したデバイス値(バッファメモリ)とは、それぞれの時刻情報に基づき時間軸を整合されてリングバッファ49に格納されるからである。つまり、リングバッファ49に格納される段階で、基本ユニット3のから収集したデバイス値と拡張ユニット4から収集したデバイス値(バッファメモリ)とは時間軸上で整合されていてもよい。」

「【図4】



「【図12】


【図13】


【図14】



そして、上記甲1の記載事項等から、以下の事項が認定できる。
(ア)段落【0029】、【0030】、【0034】、【0036】、【0050】、【0052】、【0053】の記載等からみて、リングバッファ管理部33がリングバッファ49から取得するデバイス値と、リングバッファ管理部33がリングバッファ59から取得するバッファメモリ(被制御装置16の現在座標や現在速度)とは、トレース設定にしたがってリングバッファ38に格納されるから(特に、段落【0030】)、当該デバイス値とバッファメモリ(被制御装置16の現在座標や現在速度)とはトレース設定により紐付けられているといえること。
(イ)上記(ア)により、リングバッファ49から取得するデバイス値とリングバッファ59から取得するバッファメモリ(被制御装置16の現在座標や現在速度)とがトレース設定により紐付けられているといえないとしても、段落【0029】−【0030】からみて、トレース設定により、ユーザがトレース対象とするデバイスを選択し、リングバッファ管理部33はそのトレース対象のデバイス値及びバッファメモリをリングバッファ38に格納しているから、ユーザによるトレース対象の選択により、リングバッファ管理部33がリングバッファ49から取得するデバイス値とリングバッファ管理部33がリングバッファ59から取得するバッファメモリ(被制御装置16の現在座標や現在速度)とは紐付けられているといえること。
(ウ)図4から、プログラマブル・ロジック・コントローラ2が、被制御装置16と接続される外部インタフェースを有すること。

イ 甲1発明
上記アの記載事項等を踏まえると、甲1には、以下の甲1発明が記載されていると認められる。

<甲1発明>
「プログラム作成支援装置1からラダー言語を用いて作成されたユーザプログラムとモーションフローを用いて作成されたユーザプログラムとトレース設定とを受け付ける通信部14と、
前記受け付けたユーザプログラムを繰り返し実行するラダー実行部40と、
前記ラダー実行部40により参照される記憶領域である複数のデバイスを有するデバイスメモリ48と、
前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の格納時刻を示す時刻情報と当該デバイス値とを関連付けてリングバッファ49に記憶するバッファ管理部42と、
被制御装置16と接続され、当該被制御装置16から被制御装置16の現在座標や現在速度が入力される外部インタフェースと、
前記外部インタフェースを介して前記被制御装置16の現在座標や現在速度の入力を伴う機能を実行する機能制御部50と、
前記被制御装置16から入力される被制御装置16の現在座標や現在速度を収集し、当該被制御装置16の現在座標や現在速度が格納された格納時刻を示す時刻情報と当該被制御装置16の現在座標や現在速度とを関連付けてリングバッファ59に記憶するバッファ管理部52と、
を有し、
前記トレース設定に基づき、前記リングバッファ49に記憶されているデバイス値と前記リングバッファ59に記憶されている被制御装置16の現在座標や現在速度のうち、前記トレース設定により紐付けられたデバイス値と被制御装置16の現在座標や現在速度を、各々関連付けられた時刻情報とともに、リングバッファ38に保存するリングバッファ管理部33を有するプログラム作成支援装置1に接続される、
プログラマブル・ロジック・コントローラ2。」

ウ 対比
本件発明1と甲1発明とを対比する。
甲1発明の「プログラム作成支援装置1」は、その機能に照らせば、本件発明1の「外部設定機器」に相当し、以下同様に、「ラダー言語を用いて作成されたユーザプログラム」は「ユーザプログラム」に、「モーションフローを用いて作成されたユーザプログラム」は「機能設定情報」に、「通信部14」は「第一の外部インタフェース」に、「ラダー実行部40」は「プログラム実行部」に、「デバイスメモリ48」は「デバイス記憶部」に、「デバイス値の格納時刻を示す時刻情報」は「デバイス値の収集時刻に関する情報」に、「リングバッファ49」は「第一バッファ」に、「バッファ管理部42」は「第一収集部」に、「被制御装置16」は段落【0015】等によればセンサを含むことから「監視機器」に、「被制御装置16の現在座標や現在速度」は「(監視機器からの)データ」に、「外部インタフェース」は「第二の外部インタフェース」に、「機能制御部50」は「機能実行部」に、「被制御装置16の現在座標や現在速度の格納時刻を示す時刻情報」は「データが取得された取得時刻に関する情報」に、「リングバッファ59」は「第二バッファ」に、「バッファ管理部52」は「第二収集部」に、「各々関連付けられた時刻情報」は「各々関連付けられた時刻に関する情報」に、「プログラマブル・ロジック・コントローラ2」は「プログラマブルロジックコントローラ」に、それぞれ相当する。
また、甲1発明の「トレース設定」は、デバイス値等をリングバッファに格納するための設定を行うもの(段落【0033】−【0034】等を参照)であり、トレースする対象を設定するもの(段落【0029】等を参照)であることから、その機能の共通性に鑑みれば、この限りにおいて本件発明1の「ログ設定情報」に相当する。
また、甲1発明の「前記トレース設定に基づき、前記リングバッファ49に記憶されているデバイス値と前記リングバッファ59に記憶されている被制御装置16の現在座標や現在速度のうち、前記トレース設定により紐付けられたデバイス値と被制御装置16の現在座標や現在速度を、各々関連付けられた時刻情報とともに、リングバッファ38に保存するリングバッファ管理部33を有するプログラム作成支援装置1に接続される」ことと、本件発明1の「前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する保存部」とは、
「前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、保存する」点では共通している。

そうすると、両者は、以下の一致点、相違点を有する。
<一致点>
「外部設定機器からユーザプログラムと機能設定情報とログ設定情報とを受け付ける第一の外部インタフェースと、
前記受け付けたユーザプログラムを繰り返し実行するプログラム実行部と、
前記プログラム実行部により参照される記憶領域である複数のデバイスを有するデバイス記憶部と、
前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部と、
監視機器と接続され、当該監視機器からデータが入力される第二の外部インタフェースと、
前記第二の外部インタフェースを介して前記監視機器からのデータの入力を伴う機能を、前記受け付けた機能設定情報に基づいて実行する機能実行部と、
前記監視機器から入力されるデータを収集し、当該データが取得された取得時刻に関する情報と当該データとを関連付けて第二バッファに記憶する第二収集部と、
を有し、
前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、保存する
プログラマブルロジックコントローラ。」

<相違点>
(ア)相違点1−1
「複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する」タイミング、及び、「前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、保存する」タイミングについて、本件発明1では、「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに」デバイス値を収集及び記憶し、「前記ログ設定情報に基づき定められる保存タイミングが到来すると」デバイス値、データ及び時刻に関する情報を保存するのに対し、甲1発明では、デバイス値を収集及び記憶するタイミングがユーザプログラムを1スキャン実行するごとであるのか不明であるとともに、デバイス値、データ及び時刻に関する情報を保存するタイミングが、トレース設定に基づくとされている点。
(イ)相違点1−2
「前記第一バッファ及び前記第二バッファとは異なるメモリ」が、本件発明1では、「プログラマブルロジックコントローラ」にあるのに対し、甲1発明では、プログラマブル・ロジック・コントローラ2に接続されている「プログラム作成支援装置1」にある点。
(ウ)相違点1−3
「保存部」が、本件発明1では、「プログラマブルロジックコントローラ」にあるのに対し、甲1発明では、プログラマブル・ロジック・コントローラ2に接続されている「プログラム作成支援装置1」にある点。

エ 判断
(ア)本件発明1について
上記相違点1−1について検討する。
まず、本件特許の明細書には、本件発明の課題及び目的について、「しかし、デバイス値の更新周期(スキャン周期)と、二次元データの生成周期(保存周期)とは一般には異なっている。そのため、どのデバイス値と、どの二次元データとが関連しているかを特定することはユーザにとって困難であった。・・・例えば、モーション制御について説明すると、現在値や現在速度などのモーションデータの更新周期(いわゆる制御周期)は、スキャン周期と異なっているため、どのデバイス値と、どのモーションデータとが時間的に関連しているかを特定することはユーザにとって困難であった。」(段落【0004】)、及び「そこで、本発明は、カメラ、モータアンプ、センサ、通信コントローラ等の各種監視機器から入力されるデータとデバイス値との時間的な関係を特定しやすくすることを目的とする。」(段落【0005】)と記載されている。
そして、上記課題及び目的に関連して、上記相違点1−1に係る本件発明1には、
(処理A)「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する」(以下、簡便のために「処理A」という場合がある。)こと及び
(処理B)「前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する」(以下、簡便のために「処理B」という場合がある。)ことが、それぞれ特定されている。
ここで、処理Aのタイミング(「前記プログラム実行部がユーザプログラムを1スキャン実行するごと」)と、処理Bのタイミング(「前記ログ設定情報に基づき定められる保存タイミング」)とは異なるもの、すなわち、デバイス値を収集し第一バッファに記憶するタイミングと、当該第一バッファに記憶されているデバイス値と第二バッファに記憶されているデータを、第一バッファ及び第二バッファとは異なるメモリに保存するタイミングとは別々に設定されているから、本件発明1では、2段階で保存の処理がなされている(以下、「2段階の処理」という。)と解釈できる。
他方、甲1には、デバイス値を収集し時刻情報とともにリングバッファ49に記憶すること(以下、簡便のため、「処理α」という場合がある。)について、段落【0033】、【0040】に「トレース設定47にしたがって」との記載があり、当該リングバッファ49に記憶されているデバイス値とリングバッファ59に記憶されている被制御装置16の現在座標や現在速度を時刻情報とともにリングバッファ38に保存すること(プログラム作成支援装置1に送信すること)(以下、簡便のため、「処理β」という場合がある。)について、段落【0030】、【0033】−【0034】に「設定部32により設定された条件(トレース設定)にしたがって」、「トレース設定47にしたがって」又は「トレース設定57にしたがって」と記載されていることから、処理αと処理βのタイミングはトレース設定にしたがって設定されるものであるから、処理αが、プログラム実行部がユーザプログラムを1スキャン実行するごとになされるものということはできないし、処理αと処理βが異なるタイミングであると読み取ることもできない。
また、図12ないし図14のフローチャートからみて、トレースの開始が判断されると、処理α(図13のS26)と処理β(図12のS14)とはトレース停止が判断されるまで一連の処理として行われると理解できるから、結局、処理αと処理βのタイミングは同じであること、すなわち2段階の処理ではないと解するのが自然である。
したがって、相違点1−1に係る本件発明1は、甲1発明と、処理Aと処理B(処理αと処理β)について、2段階の処理を行うか否かという点で相違しているといえる。
続いて、甲1の記載等に基づいて、甲1発明において、処理αと処理β(処理Aと処理B)について、2段階の処理を行うようにすることが当業者にとって容易になし得ることであるか検討する。
甲1は、「CPUユニットから取得したデータの時間軸と拡張ユニットから取得したデータの時間軸とを正確に揃えて表示することを目的とする。」(段落【0007】)ものであり、上述のとおり、処理αと処理βのタイミングは同じであること、すなわち2段階の処理ではないと解するのが自然であるところ、あえて、処理αのタイミングと、処理βのタイミングとを異ならせるよう改変する動機は見いだせないし、そもそも甲1は、上記目的を達成するために、ユーザによりトレース開始を指示されてから、処理αと処理βを実行するとともに、時間軸を揃えてチャートをレンダリングし表示部に表示するもの(段落【0036】)であるから、処理αのタイミングをユーザの指示によらない「前記プログラム実行部がユーザプログラムを1スキャン実行するごと」とすることにはむしろ阻害要因があるともいえる。
また、甲1の他の記載を参酌しても、処理αのタイミングを「プログラム実行部がユーザプログラムを1スキャン実行するごと」と特定し、処理βのタイミングを「前記ログ設定情報に基づき定められる保存タイミング」と特定して、2段階の処理とする動機は見いだせない。
そして、本件発明1における処理Aと処理Bは、処理Aにおけるデータがプログラムを実行させたときにデバイスが発生するデバイス値であり、処理Bにおけるデータが、処理Aで記憶したデバイス値に加え監視機器から入力されるデータ(デバイスに関する画像)を含むものであって、取り扱うデータが各種の周期等を含めて本質的に異なることが本件発明の課題を生じる前提(段落【0004】)となっているのに対して、甲1発明における処理αと処理βの両処理におけるデータは、いずれもプログラムを実行させたときにデバイスが発生するデバイス値等でありトレース設定で表示されること等を含めて一元的に扱うことが前提であることからみても、本件発明1は甲1発明とは、これらの処理において本質的に異なるものである。
そうすると、甲1発明に基いて、相違点1−1に係る本件発明1の構成とすることは、当業者が容易になし得るものとはいえない。
また、仮に、ユーザプログラムを1スキャン実行するごとにデバイス値を収集しバッファに記憶することや、2段階の処理を行うことが周知の技術的事項であったとしても、上述のとおり、甲1発明を基に、処理αと処理βとをあえて異なるタイミングとすること(2段階の処理をすること)の動機がないし、処理αのタイミングをユーザの指示によらない「前記プログラム実行部がユーザプログラムを1スキャン実行するごと」とすることには阻害要因があるともいえるものであるから、甲1発明に周知の技術的事項を適用して、相違点1−1に係る本件発明1の構成に到達することが、当業者にとっての容易になし得たということもできない。

(イ)本件発明18について
本件発明18と甲1発明の対比については上記ウと同様であるところ、本件発明18と甲1発明とは、少なくとも、上記相違点1−1と同様の以下の相違点1−4で相違するものである。
相違点1−4
「複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する」タイミング、及び、「前記第一バッファに記憶されているデバイス値と前記拡張ユニットの第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する」タイミングについて、本件発明18では、「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに」デバイス値を収集及び記憶し、「前記ログ設定情報に基づき定められる保存タイミングが到来すると」デバイス値、データ及び時刻に関する情報を保存するのに対し、甲1発明では、デバイス値を収集及び記憶するタイミングがユーザプログラムを1スキャン実行するごとであるのか不明であるとともに、デバイス値、データ及び時刻に関する情報を保存するタイミングが、トレース設定に基づくとされている点。
そして、上記(ア)に示したのと同様の理由により、甲1発明に基いて、又は甲1発明及び周知の技術的事項に基いて、上記相違点1−4に係る本件発明18とすることが容易になし得るものでない。

(ウ)本件発明2−17、19−30について
本件発明2−17、19−30は、いずれも直接又は間接的に本件発明1を引用するものであるから、少なくとも、上記相違点1−1に係る本件発明1の構成を有するものである。
したがって、上記(ア)に示したのと同様の理由により、甲1発明に基いて、又は甲1発明及び周知の技術的事項に基いて、容易になし得るものでない。

(エ)小括
以上のとおり、本件発明1−30は、甲1発明に基いて、又は甲1発明及び周知の技術的事項に基いて、容易に想到し得るものではないから、その他の相違点について検討するまでもなく、取消理由1によって、本件特許を取り消すことはできない。

(2)取消理由2:【特許法第29条第2項進歩性)違反】(甲1A発明を主発明とした場合)について
ア 甲1A発明
上記(1)アの特に段落【0059】の記載事項等を踏まえると、甲1には、以下の甲1A発明が記載されているともいえる。

<甲1A発明>
「プログラム作成支援装置1からラダー言語を用いて作成されたユーザプログラムとモーションフローを用いて作成されたユーザプログラムとトレース設定とを受け付ける通信部14と、
前記受け付けたユーザプログラムを繰り返し実行するラダー実行部40と、
前記ラダー実行部40により参照される記憶領域である複数のデバイスを有するデバイスメモリ48と、
前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の格納時刻を示す時刻情報と当該デバイス値とを関連付けてリングバッファ49に記憶するバッファ管理部42と、
被制御装置16と接続され、当該被制御装置16から被制御装置16の現在座標や現在速度が入力される外部インタフェースと、
前記外部インタフェースを介して前記被制御装置16の現在座標や現在速度の入力を伴う機能を実行する機能制御部50と、
前記被制御装置16から入力される被制御装置16の現在座標や現在速度を収集し、当該被制御装置16の現在座標や現在速度が格納された格納時刻を示す時刻情報と当該被制御装置16の現在座標や現在速度とを関連付けてリングバッファ59に記憶するバッファ管理部52と、
を有し、
前記トレース設定に基づき、前記リングバッファ49に記憶されているデバイス値と前記リングバッファ59に記憶されている被制御装置16の現在座標や現在速度のうち、前記トレース設定により紐付けられたデバイス値と被制御装置16の現在座標や現在速度を、各々関連付けられた時刻情報とともに、リングバッファ49に保存するリングバッファ管理部42と、
を有するプログラマブル・ロジック・コントローラ2。」

イ 対比
上記(1)ウに倣って、本件発明1と甲1A発明とを対比すると、両者は以下の点で一致し、以下の点で相違する。
なお、甲1A発明の「リングバッファ管理部42」は、その機能に照らせば、本件発明1の「第一収集部」又は「保存部」に相当し、甲1A発明の「前記トレース設定に基づき、前記リングバッファ49に記憶されているデバイス値と前記リングバッファ59に記憶されている被制御装置16の現在座標や現在速度のうち、前記トレース設定により紐付けられたデバイス値と被制御装置16の現在座標や現在速度を、各々関連付けられた時刻情報とともに、リングバッファ49に保存するリングバッファ管理部42」と、本件発明1の「前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する保存部」とは、「前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、メモリに保存する保存部」である点で共通する。

<一致点>
「外部設定機器からユーザプログラムと機能設定情報とログ設定情報とを受け付ける第一の外部インタフェースと、
前記受け付けたユーザプログラムを繰り返し実行するプログラム実行部と、
前記プログラム実行部により参照される記憶領域である複数のデバイスを有するデバイス記憶部と、
前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部と、
監視機器と接続され、当該監視機器からデータが入力される第二の外部インタフェースと、
前記第二の外部インタフェースを介して前記監視機器からのデータの入力を伴う機能を、前記受け付けた機能設定情報に基づいて実行する機能実行部と、
前記監視機器から入力されるデータを収集し、当該データが取得された取得時刻に関する情報と当該データとを関連付けて第二バッファに記憶する第二収集部と、
前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、メモリに保存する保存部と、
を有するプログラマブルロジックコントローラ。」

<相違点>
(ア)相違点2−1
「複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する」タイミング、及び、「前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、メモリに保存する」タイミングについて、本件発明1では、「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに」デバイス値を収集及び記憶し、「前記ログ設定情報に基づき定められる保存タイミングが到来すると」デバイス値、データ及び時刻に関する情報を保存するのに対し、甲1A発明では、デバイス値を収集及び記憶するタイミングがユーザプログラムを1スキャン実行するごとであるのか不明であるとともに、デバイス値、データ及び時刻に関する情報を保存するタイミングが、トレース設定に基づくとされている点。
(イ)相違点2−2
デバイス値、データ及び時刻に関する情報を保存する「メモリ」が、本件発明1では、「前記第一バッファ及び前記第二バッファとは異なるメモリ」にあるのに対し、甲1発明では、「第一バッファ」に相当するリングバッファ49である点。

ウ 判断
(ア)本件発明1について
上記相違点2−1について検討すると、当該相違点2−1は、上記(1)ウ(ア)の相違点1−1と略同一である。
したがって、上記(1)エ(ア)で示したのと同様の理由により、本件発明1は、甲1A発明に基いて、又は甲1A発明及び周知の技術的事項に基いて、容易になし得るものでない。

(イ)本件発明18について
本件発明18と甲1A発明の対比について、上記(1)ウと同様であり、少なくとも、上記相違点2−1と同様の以下の相違点2−3を有するものである。
相違点2−3
「複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する」タイミング、及び、「前記第一バッファに記憶されているデバイス値と前記拡張ユニットの第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、メモリに保存する」タイミングについて、本件発明18では、「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに」デバイス値を収集及び記憶し、「前記ログ設定情報に基づき定められる保存タイミングが到来すると」デバイス値、データ及び時刻に関する情報を保存するのに対し、甲18発明では、デバイス値を収集及び記憶するタイミングがユーザプログラムを1スキャン実行するごとであるのか不明であるとともに、デバイス値、データ及び時刻に関する情報を保存するタイミングが、トレース設定に基づくとされている点。
そして、上記(ア)に示したのと同様の理由により、本件発明18は、甲1A発明に基いて、又は甲1A発明及び周知の技術的事項に基いて、当業者が容易になし得るものでない。

(ウ)本件発明2−17、19−30について
本件発明2−17、19−30は、いずれも直接又は間接的に本件発明1を引用するものであるから、少なくとも、上記相違点2−1に係る本件発明1の構成を有するものである。
したがって、上記(ア)に示したのと同様の理由により、本件発明2−17、19−30は、甲1A発明に基いて、又は甲1A発明及び周知の技術的事項に基いて、容易になし得るものでない。

(エ)小括
以上のとおり、本件発明1−30は、甲1A発明に基いて、又は甲1A発明及び周知の技術的事項に基いて、容易に想到し得るものではないから、その他の相違点について検討するまでもなく、取消理由2によって、本件特許を取り消すことはできない。

(3)取消理由3:【特許法第36条第6項第2号明確性)違反】について
ア 通知した取消理由
取消理由通知で特許法第36条第6項第2号違反として通知した取消理由は以下のとおりである。
(ア)訂正前の本件発明1、18には、「当該デバイス値の収集時刻に関する情報」が記載され、明細書の段落【0269】には、上記情報の例として「スキャン回数」、「スキャンタイム」が記載されているところ、複数のデバイス値の少なくとも一つが収集時刻自体を含まなければ、複数のデバイス値の収集時刻を得ることはできないから、訂正前の本件発明1、18の「当該デバイス値の収集時刻に関する情報」の意味が明確でない。
(イ)訂正前の本件発明1には、「当該データが取得された取得時刻に関する情報」が記載され、明細書の段落【0270】には、上記情報の例として、「撮像回数」、「撮像周期」が記載されているところ、複数のデータの少なくとも一つが取得時刻自体を含まなければ、複数のデータの収集時刻を得ることはできないから、訂正前の本件発明1の「当該データが取得された取得時刻に関する情報」の意味が明確でない。
(ウ)訂正前の本件発明1には、「当該デバイス値の収集時刻に関する情報」、「当該データが取得された取得時刻に関する情報」及び「各々関連付けられた時刻に関する情報」が記載されている。しかしながら、訂正前の本件発明1には、「各々関連付けられた時刻に関する情報」の定義が記載されておらず、かつ、「各々関連付けられた時刻に関する情報」と「当該デバイス値の収集時刻に関する情報」との間の関係、及び、「各々関連付けられた時刻に関する情報」と「当該データが取得された取得時刻に関する情報」との間の関係も記載されていないから、「各々関連付けられた時刻に関する情報」の意味が不明である。
(エ)訂正前の本件発明18には、「当該デバイス値の収集時刻に関する情報」、「各々関連付けられた時刻に関する情報」が記載されている。しかしながら、訂正前の本件発明18には、「各々関連付けられた時刻に関する情報」の定義が記載されておらず、かつ、「各々関連付けられた時刻に関する情報」と「当該デバイス値の収集時刻に関する情報」との間の関係も記載されていないから、「各々関連付けられた時刻に関する情報」の意味が不明である。
(オ)訂正前の本件発明30には、「ピーク値」、「ボトム値」が記載されているが、何についての「ピーク値」、「ボトム値」であるか記載されていないから、訂正前の本件発明30の「ピーク値」の意味及び「ボトム値」の意味が明確でない。
よって、訂正前の本件発明1、18、30及びこれを引用する本件発明2−17、19−20は明確でない。

イ 判断
上記ア(ア)−(オ)について検討する。
(ア)本件発明1、18の、第一収集部により第一バッファに記憶される「当該デバイス値の収集時刻に関する情報」について、明細書の段落【0269】には、「収集時刻に関する情報は、時系列に収集された複数のデバイス値の各々について収集時刻を特定可能な情報であればよい。複数のデバイス値の各々について収集時刻が関連付けられていてもよい。あるいは、たとえば、最初のデバイス値についてのみ収集時刻が関連付けられていてもよい。後者の場合、他の情報(スキャン回数やスキャンタイム等)に基づいて、最初のデバイス値以外のデバイス値についての収集時刻が算出されてもよい。デバイス値は、スキャン回数と同じ数だけ記録されることから、それぞれのスキャンにおける処理時間(スキャンタイム)を記憶しておくことで、任意のデバイス値の収集時刻が特定可能となる。」と記載されている。この記載からみて、本件発明において複数のデバイスの収集時刻を得るのに、収集時刻自体は必須ではなく、「デバイス値の各々について収集時刻を特定可能な情報」から算出することもできるから、請求項1、18の「当該デバイス値の収集時刻に関する情報」との記載は、デバイス値の各々について収集時刻を特定可能な情報として把握できるものとして明確である。

(イ)本件発明1の、第二収集部により第二バッファに記憶される「当該データが取得された取得時刻に関する情報」について、明細書の段落【0270】には、「取得時刻に関する情報は、時系列に取得された複数の二次元データの各々について取得時刻を特定するための情報であればよい。複数の二次元データの各々について取得時刻が関連付けられていてもよい。あるいは、例えば、最初の二次元データについてのみ取得時刻が関連付けられていてもよい。後者の場合、他の情報(撮像回数や撮像周期等)に基づいて、最初の二次元データ以外の二次元データについての取得時刻を算出することができる。具体的には、複数の二次元データのうち、最初の二次元データのみに、取得時刻を関連付けられる。二次元データを取得する周期(撮像周期)は、ほぼ一定である。したがって、任意の二次元データの取得時刻を特定できる。」と記載されている。この記載からみて、本件発明においてデータが取得された取得時刻を得るのに、取得時刻自体は必須ではなく、「(二次元)データの各々について取得時刻を特定するための情報」から他の情報に基づいて算出することもできるから、請求項1の「当該データが取得された取得時刻に関する情報」との記載は、(二次元)データの各々について取得時刻を特定するための情報として把握できるものとして明確である。

(ウ)本件発明1の「各々関連付けられた時刻に関する情報」は、「前記ログ設定情報により紐付けられたデバイス値とデータ」に関するものであって、デバイス値については「当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて」第一バッファに記憶することと、データについては「当該データが取得された取得時刻に関する情報と当該データとを関連付けて」第二バッファに記憶することと、各々関連付けられることが明らかである。また、明細書の段落【0107】には、「保存部93は、上述したデバイス値及び時刻情報と、上述した大容量データ及び時刻情報とを、対応付けて保存する。ここで、『対応付けて』保存とは、PC2にて再生しやすい形で保存されていればよく、例えば、複数のファイルを対応付けたファイル管理がなされていてもよい。・・・他にも例えば、時刻情報をキーとして、デバイス値とデータ(大容量データ)を対応付けてリスト化し、これを1つのファイルに纏めることによっても、『対応付けて』保存することが可能である。」との記載がある。
したがって、本件発明1の「各々関連付けられた時刻に関する情報」が、同本件発明1の特定事項である「当該デバイス値の収集時刻に関する情報」及び「当該データが取得された取得時刻に関する情報」を指すことは明確である。

(エ)本件発明18には、「当該デバイス値の収集時刻に関する情報」及び「各々関連付けられた時刻に関する情報」が記載されているところ、上記(ウ)で検討したのと同様の理由により、本件発明18の「各々関連付けられた時刻に関する情報」が、同本件発明18の「当該デバイス値の収集時刻に関する情報」を指すことは明確である。

(オ)訂正前の本件発明30の「ピーク値、ボトム値に関するデータ」について、本件訂正により「入力されるアナログ信号のピーク値、ボトム値に関するデータ」と訂正された。
したがって、本件発明30の「ピーク値」及び「ボトム値」とは、アナログ信号のピーク値及びボトム値であることは明確である。

(カ)よって、特許法第36条第6項第2号違反に基づく取消理由3によっては、本件特許を取り消すことはできない。

(4)取消理由4:【特許法第36条第6項第1号(サポート要件)違反】について
ア 通知した取消理由
取消理由通知で特許法第36条第6項第1号違反として通知した取消理由は以下のとおりである。
(ア)本件特許の明細書等には、訂正前の本件発明1−30が解決しようとする課題について、「しかし、デバイス値の更新周期(スキャン周期)と、二次元データの生成周期(保存周期)とは一般には異なっている。そのため、どのデバイス値と、どの二次元データとが関連しているかを特定することはユーザにとって困難であった。・・・このように、カメラ、モータを駆動するモータアンプ、センサ、通信コントローラ等の監視機器から入力されるデータが、どのデバイス値と時間的に関連しているかを特定することは、ユーザにとって困難であった。」(段落【0004】)、「そこで、本発明は、カメラ、モータアンプ、センサ、通信コントローラ等の各種監視機器から入力されるデータとデバイス値との時間的な関係を特定しやすくすることを目的とする。」(段落【0005】)と記載されている。しかしながら、訂正前の本件発明1−30には、「デバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する」としか記載されておらず、デバイス値の更新周期(スキャン周期)とデータの生成周期(保存周期)とが互いに異なる状況下において、データとデバイス値との時間的な関係をどのようにして整合させて関連づけるのかが全く記載されていないから、訂正前の本件発明1−30には、本件特許明細書等の発明の詳細な説明に記載された、発明の課題を解決するための手段が反映されていない。
(イ)訂正前の本件発明1、18に、「前記ログ設定情報により紐付けられたデバイス値とデータ」という発明特定事項が記載されているが、本件特許の明細書の発明の詳細な説明等には、上記「前記ログ設定情報により紐付けられたデバイス値とデータ」、すなわち、「デバイス値とデータ」とが「前記ログ設定情報により紐付けられ」ていることが記載されていない。

イ 判断
上記ア(ア)−(イ)について検討する。
(ア)特許請求の範囲の記載がサポート要件に適合するか否かは、特許請求の範囲の記載と発明の詳細な説明の記載とを対比し、特許請求の範囲に記載された発明が、発明の詳細な説明に記載された発明で、発明の詳細な説明の記載により当業者が当該発明の課題を解決できると認識できる範囲のものであるか否か、また、発明の詳細な説明に記載や示唆がなくとも当業者が出願時の技術常識に照らし当該発明の課題を解決できると認識できる範囲のものであるか否かを検討して判断すべきものと解される。
本件特許の明細書には、本件発明の課題について、段落【0004】に「しかし、デバイス値の更新周期(スキャン周期)と、二次元データの生成周期(保存周期)とは一般には異なっている。そのため、どのデバイス値と、どの二次元データとが関連しているかを特定することはユーザにとって困難であった。・・・このように、カメラ、モータを駆動するモータアンプ、センサ、通信コントローラ等の監視機器から入力されるデータが、どのデバイス値と時間的に関連しているかを特定することは、ユーザにとって困難であった。」と記載されている。さらに、課題及び課題を解決する手段に関連して、明細書の段落【0089】には「ここで、モータの現在座標や指令座標の更新周期(いわゆる制御周期)は、ラダープログラムのスキャン周期と比べて格段に短い。」、段落【0107】に「保存部93は、上述したデバイス値及び時刻情報と、上述した大容量データ及び時刻情報とを、対応付けて保存する。ここで、『対応付けて』保存とは、PC2にて再生しやすい形で保存されていればよく、例えば、複数のファイルを対応付けたファイル管理がなされていてもよい。・・・他にも例えば、時刻情報をキーとして、デバイス値とデータ(大容量データ)を対応付けてリスト化し、これを1つのファイルに纏めることによっても、『対応付けて』保存することが可能である。」と記載されている。
他方、上記課題及び課題を解決する手段に関連して、本件発明1には「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し」、「前記監視機器から入力されるデータを収集し」及び「前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する」ことが特定されている。
そして、本件発明1では、上記「前記プログラム実行部がユーザプログラムを1スキャン実行するごとに」デバイス値を収集する時刻の周期(スキャン周期)と「前記監視機器から入力される」データが取得される時刻の周期(制御周期)が異なるとしても、「前記ログ設定情報に基づき定められた保存タイミングが到来すると」、デバイス値とデータを「各々関連付けられた時刻に関する情報」とともにメモリに保存しているから、当該メモリに格納された情報により、例えば時刻情報をキーとして、デバイス値とデータを対応付けてリスト化することが可能となり、データがどのデバイス値と時間的に関連しているかを特定しやすくなることは明らかであるから、当該本件発明1の構成により、上記本件発明の課題を解決できると認識できるものである。
また、本件発明18についても、「ログ設定情報により紐付けられたデバイス値とデータ」及び「各々関連付けられた時刻に関する情報」を、「ログ設定情報に基づき定められる保存タイミングが到来すると」、メモリに保存することで、データがどのデバイス値と時間的に関連しているかを特定しやすくなることは明らかであるから、同様に、当該本件発明18の構成によっても、上記本件発明の課題を解決できると認識できるものである。

(イ)本件発明1、18の「前記ログ設定情報により紐付けられたデバイス値とデータ」との記載について、本件特許の明細書等には、上記「前記ログ設定情報により紐付けられたデバイス値とデータ」、すなわち、「デバイス値とデータ」とが「前記ログ設定情報により紐付けられ」ていることは明記されていない。
しかしながら、本件特許の図22に記載されたフローチャート(以下の図面を参照。)に関連して、本件特許の明細書の段落【0118】には「S25でCPU31(収集部92a)は、保存タイミングが到来したかどうかを判定する。・・・保存タイミングもログ設定データ72により定義されている。・・・保存タイミングが到来していれば、CPU31はS26に進む。」、段落【0119】には「S26でCPU31(収集部92a)は、リングバッファ91aに保持されている情報をログデータ73に保存する。なお、リングバッファ91aに保持されている情報のうち、保存対象となる情報がログ設定データ72により定義されていてもよい。」、段落【0120】には「S27で(収集部92a)は、拡張ユニット4のリングバッファ91bに保持されている情報をログデータ73に保存する。・・・なお、リングバッファ91bに保持されている情報のうち、保存対象となる情報も、ログ設定データ72により定義されていてもよい。」との記載があり、図22のフローチャートには、「S25」として「保存タイミング?」、「S26」として「リングバッファからデバイス値と時刻情報を取得してログデータに追記する」、「S27」として「リングバッファから大容量データと時刻情報を取得してログデータに追記する」との記載がある。これら記載を合わせ考えれば、リングバッファ91a、91bに保持されている情報(デバイス値と時刻情報、及び、大容量データと時刻情報)のうち、ログデータ73として保存対象となる情報はいずれもログ設定データ72により定義されている、すなわち、保存に際して保存対象となるデバイス値と大容量データがログ設定データ72により紐付けられていると解釈できるから、「デバイス値とデータ」とが「ログ設定情報により紐付けられ」ていることは明細書に実質的に記載されているといえるものである。
したがって、本件発明1、18の「前記ログ設定情報により紐付けられたデバイス値とデータ」との記載は、実質的に明細書に記載されていたものといえる。

「【図22】



(ウ)よって、特許法第36条第6項第1号違反に基づく取消理由4によっては、本件特許を取り消すことはできない。

2.特許異議申立人の主張
特許異議申立人は、令和3年10月13日提出の意見書において、概ね以下の点を主張し、合わせて甲13−20を提出した。(なお、甲13−20について、その標目の記載は省略する。)
(1)特許法第29条第2項の取消理由について
ア 本件訂正によって本件発明1−30に追加された「プログラム実行部がユーザプログラムを1スキャン実行するごとに」、デバイス値を収集して記憶することは、甲1の請求項5及び段落【0033】に記載されている。(意見書2ページ)

イ 本件訂正によって本件発明1−30に追加された「プログラム実行部がユーザプログラムを1スキャン実行するごとに」、デバイス値を収集して記憶することは、本件特許の出願時における周知技術である(例えば、甲第2号証、甲第7号証、甲第13号証、甲第14号証、甲第15号証、甲第16号証、甲第17号証、甲第18号証、甲第19号証、甲第20号証等を参照)。(意見書2−3ページ)

ウ 2段階の処理は、取消理由通知の甲1発明、甲1A発明及び相違点1−1〜1−3、2−1〜2−2に記載されているとおり、甲1発明又は甲1A発明に記載されている、または、甲1発明又は甲1A発明と本件特許の出願時における周知技術に基づいて容易に想到し得る。
なお、プログラマブルロジックコントローラ(PLC)の技術分野において、サンプリング周期でデバイス値等をバッファに記憶するとともに、ログ設定情報に基づき定められる保存タイミングが到来すると(例えば、トリガ条件またはトレース条件が満たされると)、バッファに記憶されているデバイス値等をPLCのバッファと異なるメモリに保存するという2段階の処理を、PLCにおいて実行することは、甲1発明または甲lA発明に記載されているほか、本件特許の出願時における周知技術である(例えば、甲第7号証、甲第16号証、甲第17号証、甲第18号証、甲第19号証等を参照)。(意見書3−5ページ)

(2)特許法第36条第6項第2号の取消理由について
ア 特許権者は、意見書において、明細書の段落【0269】を示すのみであって、「デバイス値の収集時刻に関する情報」が収集時刻自体を含まなくても、なぜ、複数のデバイス値の収集時刻を得ることができるかについて何ら説明していない。(意見書12ページ)

イ 特許権者は、意見書において、明細書の段落【0270】を示すのみであって、「当該データが取得された取得時刻に関する情報」が取得時刻自体を含まなくても、なぜ、当該データが取得された取得時刻を得ることができるかについて何ら説明していない。(意見書12ページ)

ウ 特許権者は、意見書において、本件発明1に記載された発明特定事項から、「各々関連付けられた時刻に関する情報」の意味は、「当該デバイス値の収集時刻に関する情報」と「当該データが取得された取得時刻に関する情報」を指し示すものであることは明確である。」と主張しているが、「時刻」という用語は、「収集時刻」という用語とも「取得時刻」という用語とも異なる。また、「時刻に関する情報」という記載における「時刻」が「収集時刻」及び「取得時刻」の両方を指すとすると、「時刻」という一つの用語が複数の意味を持つことになってしまう。同様の理由により、本件発明18も明確でない。(意見書12−13ページ)

(3)特許法第36条第6項第1号の取消理由について
ア 特許権者は、意見書において、明細書の段落【0107】を指摘しているが、当該段落【0107】は、デバイス値と大容量データを共通フラグ等による対応付ける方法についての記載であり、デバイス値と大容量データとの間の時間的な関係を整合させる方法を開示していない。
また、本件発明1、18には、「デバイス値の収集時刻に関する情報」を「当該デバイス値」に「関連付けて第一バッファに記憶する」ことと、「データが取得された取得時刻に関する情報」を「当該データ」に「関連付けて第二バッファに記憶する」ことが記載されているものの、「デバイス値の収集時刻に関する情報」と「データが取得された取得時刻に関する情報」とをどのようにして整合させるのかが特定されていない。
そのため、本件発明1、18において、発明の詳細な説明に記載された、発明の課題を解決するための手段が反映されていない。(意見書13ページ)

イ 特許権者は、意見書において、本件特許明細書の段落【0118】−【0120】及び図22を指摘している。
しかし、明細書の段落【0107】及び図22からは、明細書の段落【0120】に記載されているように、「収集部92a」が「拡張ユニット4のリングバッファ91bに保持されている情報をログデータ73に保存する」機能を有するとは認められない。
したがって、本件特許明細書の段落【0120】は、本件発明1、18の「ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する」ことを裏付けているということはできない。(意見書14−15ページ)

3.特許異議申立人の主張についての検討
以下、上記2.の特許異議申立人の主張について、それぞれ検討する。
(1)特許法第29条第2項の主張について
ア 上記2.(1)アにおいて、特許異議申立人は、「プログラム実行部がユーザプログラムを1スキャン実行するごとに」デバイス値を収集して記憶することは、甲1の請求項5及び段落【0033】に記載されている旨を主張しているが、甲1の請求項5及び段落【0033】に記載されているのは、スキャンタイムで、PLCの基本ユニットと拡張ユニットの間のデバイス値をリフレッシュすること、すなわち相互に交換すること(例えば、段落【0004】等を参照。)である一方でトレース設定47に従ってデバイス値をリングバッファ49に記憶しており(段落【0040】等を参照。)、スキャンタイムでデバイス値をリングバッファ49に記憶することは記載されていない。

イ 上記2.(1)イ及びウに関して、2段階の処理が、甲1発明及び甲1A発明に記載されていないことは、上記1.(1)エ(ア)及び1.(2)ウ(ア)で示したとおりである。
さらに、ユーザプログラムを1スキャン実行するごとにデバイス値を収集しバッファに記憶することや、2段階の処理を行うことが周知の技術的事項であるとしても、甲1には、処理αと処理βとをあえて異なるタイミングとするよう改変すること(2段階の処理とすること)の動機がないし、処理αのタイミングをユーザの指示によらない「前記プログラム実行部がユーザプログラムを1スキャン実行するごと」とすることにはむしろ阻害要因があるともいえるものであるから、甲1発明又は甲1A発明に周知の技術的事項を適用して、相違点1−1又は相違点2−1に係る本件発明1の構成に到達することが、当業者にとっての容易になし得たということはできないことも、上記1.(1)エ(ア)及び1.(2)ウ(ア)で示したとおりである。

ウ よって、特許異議申立人の特許法第29条第2項に基づく主張については採用できない。

(2)特許法第36条第6項第2号の主張について
ア 上記2.(2)アに関して、上記1.(3)イ(ア)で説示したとおり、本件発明1の「当該デバイス値の収集時刻に関する情報」との記載は、明細書の記載から「デバイス値の各々について収集時刻を特定可能な情報」として明確であるから、収集時刻自体を含むか否かにかかわらず、複数のデバイス値の収集時刻を得ることができることは明らかである。

イ 上記2.(2)イに関して、上記1.(3)イ(イ)で説示したとおり、本件発明1の「当該データが取得された取得時刻に関する情報」との記載は、明細書の記載から「(二次元)データの各々について取得時刻を特定するための情報」として明確であるから、取得時刻自体を含むか否かにかかわらず、複数の(二次元)データの取得時刻を得ることができることは明らかである。

ウ 上記2.(2)ウに関して、上記1.(3)イ(ウ)で説示したとおり、本件発明1の「各々関連付けられた時刻に関する情報」が、同本件発明1の「当該デバイス値の収集時刻に関する情報」及び「当該データが取得された取得時刻に関する情報」を指すことは明らかである。
また、「時刻に関する情報」という記載における「時刻」が「収集時刻」及び「取得時刻」の両方を指すとすると、「時刻」という一つの用語が複数の意味を持つことになってしまうとの主張については、上記1.(3)イ(ウ)で検討したとおり、デバイス値については「当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて」第一バッファに記憶することと、データについては「当該データが取得された取得時刻に関する情報と当該データとを関連付けて」第二バッファに記憶することと、各々関連付けられることが明らかであり、本件発明1の「各々関連付けられた時刻に関する情報」との記載が、「収集時刻」又は「取得時刻」のどちらか一方、又はそれら両方とは異なる「時刻」を指すような特段の事情は見当たらないため、「収集時刻に関する情報」及び「取得時刻に関する情報」の両方を指すことに不自然な点は見当たらない。
さらに、本件発明18についても、上記1.(3)イ(エ)で説示したとおりである。

エ よって、特許法第36条第6項第2号についての特許異議申立人の主張は採用できない。

(3)特許法第36条第6項第1号の主張について
ア 上記2.(3)アに関して、上記1.(4)イ(ア)で説示したとおりである。
また、デバイス値と大容量データとの間の時間的な関係を整合させる方法を開示していないとか、「デバイス値の収集時刻に関する情報」と「データが取得された取得時刻に関する情報」とをどのようにして整合させるのかが特定されていないとの主張についても、本件発明1では、「ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともにメモリに保存する」ことを特定している。したがって、「前記ログ設定情報に基づき定められた保存タイミングが到来すると」、デバイス値、データ及び時刻に関する情報をメモリに保存しており、当該メモリに格納された情報により、例えば時刻情報をキーとして、デバイス値とデータを対応付けてリスト化することが可能となるから(段落【0107】、【0269】−【0270】)、当該本件発明1の構成により、上記本件発明の課題を解決できると認識できるものである。

イ 上記2.(3)イに関して、上記1.(4)イ(イ)で説示したとおりである。

ウ よって、特許法第36条第6項第1号についての特許異議申立人の主張は採用できない。

(4)その他の主張について
特許異議申立人は、令和3年10月13日提出の意見書の5−11ページにて、甲3を主発明とする特許法第29条第2項の取消理由についても主張しているが、特許異議申立書(26−78ページを参照。)には、甲1を主発明とする特許法第29条第2項の取消理由(取消理由1及び2)の主張しかされていないし、本件訂正で事情が変わったわけでもないから、甲3を主発明とする特許法第29条第2項の取消理由についての主張は判断しない。


第6 むすび
以上のとおり、本件発明1−30に係る特許は、取消理由通知書に記載した取消理由又は特許異議申立書に記載された特許異議申立理由によっては、取り消すことはできない。
さらに、他に本件発明1−30に係る特許を取り消すべき理由を発見しない。
よって、結論のとおり決定する。
 
発明の名称 (57)【特許請求の範囲】
【請求項1】
外部設定機器からユーザプログラムと機能設定情報とログ設定情報とを受け付ける第一の外部インタフェースと、
前記受け付けたユーザプログラムを繰り返し実行するプログラム実行部と、
前記プログラム実行部により参照される記憶領域である複数のデバイスを有するデバイス記憶部と、
前記プログラム実行部がユーザプログラムを1スキャン実行するごとに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部と、
監視機器と接続され、当該監視機器からデータが入力される第二の外部インタフェースと、
前記第二の外部インタフェースを介して前記監視機器からのデータの入力を伴う機能を、前記受け付けた機能設定情報に基づいて実行する機能実行部と、
前記監視機器から入力されるデータを収集し、当該データが取得された取得時刻に関する情報と当該データとを関連付けて第二バッファに記憶する第二収集部と、
前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する保存部と、
を有することを特徴とするプログラマブルロジックコントローラ。
【請求項2】
前記監視機器は、静止画又は動画の画像データを取得するカメラであって、
前記機能実行部は、前記カメラから前記画像データの入力を伴う機能を実行し、
前記第二収集部は、前記画像データが取得された取得時刻に関する情報と当該画像データとを関連付けて第二バッファに記憶し、
前記保存部は、前記デバイス値と、前記収集時刻に関する情報と、前記第二バッファに記憶されている前記画像データと、前記取得時刻に関する情報とを対応付けて保存することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
【請求項3】
前記機能実行部は、前記ユーザプログラムの実行周期とは非同期で、前記監視機器からのデータの入力を伴う機能を実行することを特徴とする請求項1または2に記載のプログラマブルロジックコントローラ。
【請求項4】
前記保存部は、前記ユーザプログラム及び前記機能設定情報を含むプロジェクトデータを併せて保存することを特徴とする請求項1ないし3のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項5】
前記保存部は、前記デバイス値、前記収集時刻に関する情報と、前記第二バッファに記憶されている前記データと、前記取得時刻に関する情報とを、共通フラグにより識別される複数のファイルに格納し、当該複数のファイルを保存することを特徴とする請求項1ないし4のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項6】
前記プログラマブルロジックコントローラは、メインユニットと、拡張ユニットとを有し、
前記メインユニットは、前記プログラム実行部、前記デバイス記憶部および前記第一収集部を有し、
前記拡張ユニットは、前記機能実行部と前記第二収集部とを有することを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項7】
前記保存部は、着脱可能なメモリカードに、前記第一バッファに記憶されている前記デバイス値と、前記収集時刻に関する情報と、前記第二バッファに記憶されている前記データと、前記取得時刻に関する情報とを対応付けて保存することを特徴とする請求項6に記載のプログラマブルロジックコントローラ。
【請求項8】
前記第一バッファは前記メインユニットに設けられていることを特徴とする請求項6または7に記載のプログラマブルロジックコントローラ。
【請求項9】
前記第ニバッファは前記拡張ユニットに設けられていることを特徴とする請求項6ないし8のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項10】
前記メインユニットは、前記拡張ユニットと通信する第一インタフェースをさらに有し、
前記拡張ユニットは、前記メインユニットと通信する第二インタフェースをさらに有し、
前記第一インタフェースは前記メインユニットの側面であって、前記拡張ユニットの側面に対して対向する側面に配置されており、
前記第二インタフェースは前記第一インタフェースと接続されるように前記拡張ユニットの前記側面に設けられていることを特徴とする請求項6ないし9のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項11】
前記メインユニットと前記拡張ユニットとを支持する支持プレートをさらに有し、
前記第一バッファ、前記第二バッファおよび前記保存部のうちの少なくとも一つが前記支持プレートに設けられていることを特徴とする請求項6に記載のプログラマブルロジックコントローラ。
【請求項12】
前記保存部により前記メモリに保存されているデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、外部機器に送信する送信部をさらに有することを特徴とする請求項1ないし11のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項13】
前記第一バッファまたは前記第二バッファは、前記ユーザプログラムの実行周期よりも短い周期で発生する情報をさらに記憶するように構成されていることを特徴とする請求項1ないし12のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項14】
前記保存部は、前記プログラマブルロジックコントローラにおいて前記ユーザプログラムに関するエンド処理が実行されている期間において、前記第二バッファから前記データと前記取得時刻に関する情報とを読み出して保存するように構成されていることを特徴とする請求項1ないし13のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項15】
前記収集時刻を計時する前記メインユニットの時計と前記取得時刻を計時する前記拡張ユニットの時計とは同期していることを特徴とする請求項6ないし11のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項16】
前記保存部は、予め設定された保存トリガーの前後にわたる所定の収集時間に収集された前記デバイス値、前記収集時刻に関する情報、前記データ、および前記取得時刻に関する情報を対応付けて保存するように構成されていることを特徴とする請求項1ないし15のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項17】
前記保存部は、予め設定された開始リレーがオンになったタイミングを起点とした所定の収集時間に収集された前記デバイス値、前記収集時刻に関する情報、前記データ、および前記取得時刻に関する情報を対応付けて保存するように構成されていることを特徴とする請求項1ないし15のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項18】
プログラマブルロジックコントローラにおいて拡張ユニットに接続されるメインユニットであって、
前記メインユニットは、
外部設定機器からユーザプログラムとログ設定情報とを受け付ける外部インタフェースと、
前記受け付けたユーザプログラムを繰り返し実行するプログラム実行部と、
前記プログラム実行部により参照される記憶領域である複数のデバイスを有するデバイス記憶部と、
前記プログラム実行部がユーザプログラムを1スキャン実行することに、前記複数のデバイスのいずれかに記憶されているデバイス値を収集し、当該デバイス値の収集時刻に関する情報と当該デバイス値とを関連付けて第一バッファに記憶する第一収集部と、
前記ログ設定情報に基づき定められる保存タイミングが到来すると、前記第一バッファに記憶されているデバイス値と前記拡張ユニットの第二バッファに記憶されているデータのうち、前記ログ設定情報により紐付けられたデバイス値とデータを、各々関連付けられた時刻に関する情報とともに、前記第一バッファ及び前記第二バッファとは異なるメモリに保存する保存部と、
を有することを特徴とするメインユニット。
【請求項19】
前記送信部は、前記外部設定機器から前記ログ設定情報により紐付けられたデバイス値とデータの転送指示を受け付けたときに、前記保存部により前記メモリに保存されているデバイス値とデータを外部機器に送信することを特徴とする請求項12に記載のプログラマブルロジックコントローラ。
【請求項20】
前記プログラマブルロジックコントローラは、メインユニットと、拡張ユニットとを有し、
前記メインユニットは、前記プログラム実行部と、当該プログラム実行部により参照され、前記メインユニット用のデバイスと前記拡張ユニット用のデバイスを有する前記デバイス記憶部を有し、
前記拡張ユニットは、前記機能実行部と、当該機能実行部により参照される記憶領域であって、前記監視機器から入力されるデータを一時的に保持するバッファメモリを有し、
前記第一収集部は、前記ログ設定情報により特定される前記メインユニット用のデバイス及び前記拡張ユニット用のデバイスに記憶されているデバイス値を収集し、当該デバイス値を前記第一バッファに記憶するとともに、
前記第二収集部は、前記ログ設定情報により特定される前記バッファメモリから読み出したデータを、前記第二バッファに記憶することを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項21】
前記ログ設定情報は、前記メインユニット用のデバイス及び前記拡張ユニット用のデバイスの各々について先頭デバイスを基準とする一連のデバイス範囲と、前記バッファメモリについて先頭バッファメモリを基準とする一連のバッファメモリ範囲とを含むことを特徴とする請求項20に記載のプログラマブルロジックコントローラ。
【請求項22】
前記ログ設定情報は、前記メインユニット用のデバイス及び前記拡張ユニット用のデバイスの各々について予め定めた個数単位で定義されるデバイス群と、前記バッファメモリについて予め定めた個数単位で定義されるバッファメモリ群とを含むことを特徴とする請求項20に記載のプログラマブルロジックコントローラ。
【請求項23】
前記機能実行部と、当該機能実行部により参照される記憶領域であって、前記監視機器から入力されるデータを一時的に保持するバッファメモリを有し、
前記第二収集部は、前記監視機器から入力されるデータを収集して前記バッファメモリに保持し、当該バッファメモリに保持されたデータを、前記デバイス記憶部を介さずに前記第二バッファに記憶することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
【請求項24】
前記プログラマブルロジックコントローラは、前記プログラム実行部を有するメインユニットと、前記機能実行部を有する拡張ユニットとを有し、
前記第一バッファ及び前記第二バッファとは異なるメモリは、前記メインユニット及び前記拡張ユニットの外部に設けられることを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項25】
前記プログラマブルロジックコントローラは、前記プログラム実行部を有するメインユニットと、前記機能実行部を有する拡張ユニットと、当該メインユニット及び当該拡張ユニットを支持する支持プレートとを有し、
前記第二収集部は、前記支持プレートに設けられたバスを介して前記データを前記第二バッファに記憶することを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項26】
前記保存部は、前記ログ設定情報に基づき定められる保存タイミングが到来するたびに、前記ログ設定情報により紐付けられたデバイス値とデータを前記メモリに繰り返し保存することを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項27】
前記保存部は、前記ログ設定情報に基づき同一の保存タイミングで保存されるデバイス値とデータを、同一フォルダ内のファイルとして前記メモリに保存することを特徴とする請求項26に記載のプログラマブルロジックコントローラ。
【請求項28】
前記ログ設定情報により紐付けられたデバイス値とデータは、前記ログ設定情報に基づき定められる対象期間分のデバイス値とデータであることを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項29】
前記第一バッファ及び前記第二バッファは、それぞれリングバッファからなることを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項30】
前記機能実行部は、入力されるアナログ信号をサンプリングしてデジタル信号に変換する機能を実行し、
前記第二収集部は、入力されるアナログ信号のピーク値、ボトム値に関するデータを前記第二バッファに記憶することを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
 
訂正の要旨 審決(決定)の【理由】欄参照。
異議決定日 2022-02-08 
出願番号 P2018-199199
審決分類 P 1 651・ 121- YAA (G05B)
P 1 651・ 537- YAA (G05B)
最終処分 07   維持
特許庁審判長 見目 省二
特許庁審判官 大山 健
田々井 正吾
登録日 2020-09-01 
登録番号 6757385
権利者 株式会社キーエンス
発明の名称 プログラマブルロジックコントローラおよびメインユニット  
代理人 特許業務法人第一国際特許事務所  
代理人 木村 秀二  
代理人 大塚 康徳  
代理人 坂本 隆志  
代理人 坂本 隆志  
代理人 大塚 康弘  
代理人 大塚 康徳  
代理人 高柳 司郎  
代理人 木村 秀二  
代理人 大塚 康弘  
代理人 高柳 司郎  
代理人 特許業務法人第一国際特許事務所  
  • この表をプリントする

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ