特許異議申立
2024-700081
プログラマブルロジックコントローラ及びそのログデータ保存方法
- 審判番号
- 2024-700081
- 法域
- 特許
- 審判種別
- 異議申立(異議の決定)
- 出願番号
- 特願2019-023075
- 登録番号
- 7320953
- 請求日
- 2024年02月01日
- 審決日
- 2024年09月11日
- 公報発行日
- 2024年10月25日
- 結論
- 維持
- 当事者
- 【権利者】株式会社キーエンス
- 【異議申立人】前田 正夫
- 審判長/審判官
- 審判長 刈間 宏信
- 審判官 菊地 牧子
- 審判官 大山 健
- 分類
- P1651.121-Y (G05B) / P1651.537-Y (G05B)
- 条文(本文から自動抽出・参考)
- 特許法第36条第6項第1号、特許法第29条第2項、特許法第36条第6項第2号
- データ出所
- 審決公報(XML)
事件の表示
特許第7320953号発明「プログラマブルロジックコントローラ及びそのログデータ保存方法」の特許異議申立事件について、次のとおり決定する。
結論
結 論
特許第7320953号の請求項に係る特許を維持する。
理由
理 由
第1 手続の経緯
特許第7320953号(以下「本件特許」という。)の請求項1~18に係る特許についての出願は、平成31年2月12日に出願され、令和5年7月27日にその特許権の設定登録がされ、令和5年8月4日に特許掲載公報が発行された。その後、その特許について、令和6年2月1日に特許異議申立人 前田正夫(以下「申立人」という。)により特許異議の申立てがされ、当審は、令和6年5月30日付けで取消理由を通知した。それに対し、株式会社キーエンス(以下「特許権者」という。)は、令和6年6月11日に意見書を提出した。
第2 本件発明
本件特許の請求項1~18に係る発明(以下、各請求項に係る発明を「本件発明1」などという。)は、それぞれ、特許請求の範囲の請求項1~18に記載された事項により特定される次のとおりのものである。
「【請求項1】
接続される被制御機器を制御するためのプログラマブルロジックコントローラであって、
ユーザープログラムを繰り返し実行するプログラム実行部と、
前記ユーザープログラムに従い、前記プログラム実行部により参照される記憶領域である複数のデバイスの各デバイス値を記憶するデバイス部と、
前記デバイス部に記憶されているデバイス値を時系列に記録する一時記録部と、
前記一時記録部に時系列に記録されたデバイス値を保存する保存メモリと、
前記一時記録部に記録するための記録トリガについての第1トリガ条件、前記保存メモリに保存するための保存トリガについての第2トリガ条件、及び前記記録トリガが示す時点を基準時とし、該基準時までの期間及び該基準時からの期間の少なくとも一方を含む期間であって、前記一時記録部に一時的な記録を行う期間を示すバッファ記録期間を設定する保存条件設定部と、
前記記録トリガについての前記第1トリガ条件が成立する毎に、該記録トリガが示す時点を基準時とする前記バッファ記録期間に対応して前記デバイス部からスキャン周期ごと又は所定の収集周期ごとに読み出した時系列のデバイス値を、該バッファ記録期間分のログデータとして前記一時記録部に一時的に保持する記録制御部と、
前記記録トリガが示す時点を基準時とする前記バッファ記録期間が経過した後の、前記ログデータを前記一時記録部に一時的に保持している間に、前記保存トリガについての前記第2トリガ条件が成立すると、前記記録制御部により前記一時記録部に一時的に保持された所定期間分の前記ログデータを前記保存メモリに保存する保存制御部と、
を備えるプログラマブルロジックコントローラ。
【請求項2】
請求項1に記載のプログラマブルロジックコントローラであって、
前記保存制御部は、前記保存トリガについての前記第2トリガ条件が成立すると、前記記録制御部により前記一時記録部に保持され、前記保存トリガからみて直前の前記記録トリガに対応する前記ログデータを、前記保存メモリに保存するよう構成してなるプログラマブルロジックコントローラ。
【請求項3】
請求項1又は2に記載のプログラマブルロジックコントローラであって、
前記保存条件設定部は、
前記第1トリガ条件として、前記一時記録部への記録を開始するための記録開始トリガについての条件を設定し、
前記バッファ記録期間として、該記録開始トリガが示す基準時からの期間を設定するよう構成してなるプログラマブルロジックコントローラ。
【請求項4】
請求項1~3のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記保存条件設定部は、前記バッファ記録期間として、前記一時記録部への記録の終了を指示する記録停止トリガを設定可能であり、
前記一時記録部へのログデータの一時記録が、前記保存条件設定部で設定された前記記録停止トリガが入力されると停止され、次の記録開始トリガの入力を待機するよう構成してなるプログラマブルロジックコントローラ。
【請求項5】
請求項1~3のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記保存条件設定部は、前記バッファ記録期間として、予め定められた一連の処理を繰り返すスキャン回数を設定可能であり、
前記一時記録部へのログデータの一時記録が、前記保存条件設定部で設定された前記スキャン回数を経ると終了するよう構成してなるプログラマブルロジックコントローラ。
【請求項6】
請求項1~5のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記ログデータは、前記一時記録部に一時的に記録される際は、非ファイル形式であり、
前記保存メモリに保存される際は、ファイル形式に変換されてなるプログラマブルロジックコントローラ。
【請求項7】
請求項1~6のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記バッファ記録期間外に前記保存トリガが入力されたとき、その時点で前記一時記録部に一時記録されたログデータを、前記保存メモリに保存するよう構成されてなるプログラマブルロジックコントローラ。
【請求項8】
請求項1~6のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記バッファ記録期間内に前記保存トリガが入力されたとき、当該バッファ記録期間が経過して前記一時記録部への一時記録が終了するまで待機し、該一時記録が終了すると、前記保存メモリにログデータを保存するよう構成されてなるプログラマブルロジックコントローラ。
【請求項9】
請求項1~8のいずれか一項に記載のプログラマブルロジックコントローラであって、さらに、
前記保存条件設定部で設定された保存トリガとは別個に、前記一時記録部に一時的に記録されたログデータの保存を指示する第二保存トリガを設定する第二保存トリガ設定部と、
前記第二保存トリガ設定部で設定された前記第二保存トリガに従い、前記一時記録部に保持された前記ログデータを、前記一時記録部における保存期間と等しい期間分保存する第二ログデータ保存部と、
を備えるプログラマブルロジックコントローラ。
【請求項10】
請求項3に記載のプログラマブルロジックコントローラであって、
前記記録開始トリガを、リレーデバイスで生成するよう構成してなるプログラマブルロジックコントローラ。
【請求項11】
請求項3に記載のプログラマブルロジックコントローラであって、
前記記録開始トリガが、所定の手順で発される命令語であるプログラマブルロジックコントローラ。
【請求項12】
請求項1~11のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記一時記録部が、バッファメモリで構成されてなるプログラマブルロジックコントローラ。
【請求項13】
請求項1~12のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記一時記録部が、バッファメモリの一部を分割したメモリ空間で構成されてなるプログラマブルロジックコントローラ。
【請求項14】
請求項1~13のいずれか一項に記載のプログラマブルロジックコントローラであって、
前記保存条件設定部は、前記保存トリガに従い、前記一時記録部に保持された前記ログデータの内、前記保存メモリに保存する期間であるバッファ保存期間を指定可能に構成してなるプログラマブルロジックコントローラ。
【請求項15】
請求項1~14のいずれか一項に記載のプログラマブルロジックコントローラであって、さらに、
画像を撮像可能なカメラ部を備え、
前記ログデータが、前記カメラ部で撮像された画像データを含まないプログラマブルロジックコントローラ。
【請求項16】
ユーザープログラムを繰り返し実行するプログラム実行部と、
前記ユーザープログラムに従い、前記プログラム実行部により参照される記憶領域である複数のデバイスの各デバイス値を記憶するデバイス部と、
前記デバイス部に記憶されているデバイス値を時系列に記録する一時記録部と、
前記一時記録部に時系列に記録されたデバイス値を保存する保存メモリと、
を備えるプログラマブルロジックコントローラのログデータ保存方法であって、
前記一時記録部に記録するための記録トリガについての第1トリガ条件、前記保存メモリに保存するための保存トリガについての第2トリガ条件、及び前記記録トリガが示す時点を基準時とし、該基準時までの期間及び該基準時からの期間の少なくとも一方を含む期間であって、前記一時記録部に一時的な記録を行う期間を示すバッファ記録期間を設定する工程と、
前記記録トリガについての前記第1トリガ条件が成立する毎に、該記録トリガが示す時点を基準時とする前記バッファ記録期間に対応して前記デバイス部からスキャン周期ごと又は所定の収集周期ごとに読み出した時系列のデバイス値を、該バッファ記録期間分のログデータとして前記一時記録部に一時的に保持する工程と、
前記記録トリガが示す時点を基準時とする前記バッファ記録期間が経過した後の、前記ログデータを前記一時記録部に一時的に保持している間に、前記保存トリガについての前記第2トリガ条件が成立すると、前記一時記録部に一時的に保持された所定期間分の前記ログデータを前記保存メモリに保存する工程と、
を含むプログラマブルロジックコントローラのログデータ保存方法。
【請求項17】
請求項16に記載のプログラマブルロジックコントローラのログデータ保存方法であって、
前記保存トリガについての前記第2トリガ条件が成立すると、前記一時記録部に保持された前記ログデータを前記保存メモリに保存する工程において、前記一時記録部に保持された前記ログデータとして、前記保存トリガからみて直前の前記記録トリガに対応する前記ログデータを、前記保存メモリに保存するプログラマブルロジックコントローラのログデータ保存方法。
【請求項18】
請求項16又は17に記載のプログラマブルロジックコントローラのログデータ保存方法であって、
前記第1トリガ条件、第2トリガ条件、バッファ記録期間を設定する工程において、
前記第1トリガ条件として、前記一時記録部への記録を開始するための記録開始トリガについての条件を設定し、
前記バッファ記録期間として、該記録開始トリガが示す基準時からの期間を設定するプログラマブルロジックコントローラのログデータ保存方法。」
第3 取消理由通知に記載した取消理由について
1 取消理由の概要
当審が令和6年5月30日付けで通知した取消理由通知は、本件特許の特許請求の範囲が、特許法第36条第6項第1号に規定する要件(サポート要件)を満たしていない旨を通知するものであって、その理由の概要は、以下の通りである。
本件特許の請求項1、16の記載は、「バッファ記録期間」について、「基準時までの期間」と、「基準時からの期間」との少なくとも一方を含む旨を選択的に特定するものであるところ、「バッファ記録期間」が「基準時までの期間」を含むことは、発明の詳細な記載において対応する記載を見出すことができない。したがって、請求項1、16に係る発明、及び、これらを引用する請求項2~15、17、18に係る発明は、発明の詳細な説明に記載したものでない。
2 取消理由についての当審の判断
(1)特許権者は、上記1の取消理由に対して、令和6年6月11日提出の意見書において、【0115】の記載は、記録トリガとして記録停止トリガが入力されたタイミングから時間的に遡って、指定されたバッファ記録期間分のログデータが一時記録部91aに保持され、保存トリガに従い一時記録部91aに保持されたログデータが保存メモリ36に保存されることを示すものであり、この時間的に遡った期間が、「基準時までの期間」に対応するものであることを主張している。
(2)当該意見書の主張をふまえて、発明の詳細な説明の記載を再度検討すると、
【0108】には、「ここでは記録トリガとして、記録開始トリガ(開始リレー)を用いる。この様子を、図9のブロック図及び図11のユーザの制御周期、記録開始トリガ、保存トリガの関係を示すタイムチャートに基づいて説明する。」と記載されており、図11には、記録トリガとしての記録開始トリガと、保存トリガの関係が示されており、
【0113】には、「一方で保存トリガは、一時記録部91aに記録したログデータを、ログデータ保存部74に保存するタイミングを規定するトリガである。」と記載されており、
【0114】には、「記録開始トリガや、一時記録部91aへの一時的な記録を行う期間であるバッファ記録期間の設定は、記録バッファ設定部46で行う。・・・これにより、記録開始トリガでもって一時記録部91aへのログデータの一時記録動作を規定できる。また、一時記録部91aへのログデータの記録の終了を指示する記録停止トリガを、記録バッファ設定部46から設定するように構成してもよい。この場合は、一時記録部91aへのログデータの一時記録が、記録バッファ設定部46で設定された記録停止トリガが入力されると停止され、次の記録開始トリガの入力を待機する状態となる。このようにすることで、記録停止トリガでもって一時記録部91aへのログデータの一時記録動作を規定できる。」と記載されるとおり、記録トリガとして記録開始トリガを用いることと、記録停止トリガを用いることが並列的に記載されており、
【0115】には、記録停止トリガに関する記載として、「例えば、一時記録部91aへの記録停止を指示する記録停止トリガを用いることでも、同様に保存したいログデータ73等のデータの収集期間を、保存トリガとは別に指定することが可能となる。」と記載されるとおり、記録停止トリガを用いる際にも保存トリガを用いることが示されている。
(3)上記(2)の記載を総合的に判断すると、記録トリガとして記録開始トリガを用いる場合と、記録停止トリガを用いる場合の両方において、特許権者が上記意見書において主張するとおり、「保存トリガの存在を前提として」いるもの(上記意見書の第2ページ最終段落)と理解することができる。
(4)そして、保存トリガの存在を前提として、【0115】、【0116】及び図21における、記録停止トリガを用いたログデータの収集に際して2つのリングバッファを用いた例を解釈すると、【0116】における「この場合において、図21に示すように記録停止トリガ1が入力され、一方のリングバッファAにおいて記録されたログデータを遡って保存を行いながら、他方のリングバッファBでログデータの記録を開始する。」との記載は、記録停止トリガの入力後に、一方のリングバッファAにおいて記録停止トリガまでのバッファ記録期間分のログデータを一時的に保持するとともに(他方のリングバッファBにおいて記録を開始する)、この一時的に保持している期間に保存トリガが入力されると、そのログデータを保存するものと、理解することができる。
(5)したがって、上記(2)~(4)で判断したとおり、発明の詳細な説明に記載された、記録トリガとして記録停止トリガを用いた場合が、請求項1において選択的に特定された、「記録トリガが示す時点を基準時とし、該基準時までの期間」「を含む期間であって、前記一時記録部に一時的な記録を行う期間を示すバッファ記録期間を設定する」ことに対応するものといえる。
(6)以上のとおり、「バッファ記録期間」が「基準時までの期間」を含むことは、発明の詳細な説明に記載されていると認められるから、上記1の取消理由(サポート要件)により本件発明1~18を取り消すことはできない。
第4 取消理由通知において採用しなかった申立理由について
1 申立理由の概要
取消理由通知において採用しなかった申立理由として、申立人は、特許異議申立書において、以下の申立理由1~2を主張した。
(1)申立理由1(進歩性)
請求項1~18に係る発明は、甲第1号証~甲第3号証に記載された発明等に基づいて、当業者が容易に発明をすることができたものであるから、請求項1~18に係る特許は、特許法第29条第2項の規定に違反してされたものであり、同法第113条第2号に該当し取り消されるべきものである。
(2)申立理由2(明確性)
本件特許は、特許請求の範囲の記載が不備のため、特許法第36条第6項第2号に規定する要件を満たしていない特許出願に対してされたものであるから、請求項1~18に係る特許は、同法第113条第4号に該当し取り消されるべきものである。
2 証拠方法
申立人は証拠方法として、以下の甲第1号証~甲第5号証(以下「甲1」などという。)を提出した。
甲1:特開2018-67220号公報
甲2:特開2018-124818号公報
甲3:特開2000-235412号公報
甲4:本件特許に係る拒絶理由通知書(令和4年11月18日付け)
甲5:甲4に対して特許権者が提出した意見書(令和5年3月16日付け)
3 申立理由の具体的な内容
(1) 申立理由1(進歩性)について
申立人は、進歩性の申立理由の具体的な内容として、甲1に記載された発明を主引用発明として、請求項1~18に係る発明は、甲1に記載された発明に基づいて容易想到であること、又は、甲1に記載された発明及び甲2~甲3に記載された技術的事項に基づいて容易想到であることを主張した。
また、甲2に記載された発明を主引用発明として、請求項1~18に係る発明は、甲2に記載された発明に基づいて容易想到であること、又は、甲2に記載された発明及び甲1、3に記載された技術的事項に基づいて容易想到であることを主張した。
(2) 申立理由2(明確性)について
申立人は、明確性の申立理由の具体的な内容として、請求項1~18の「記録トリガ」の記載は、特許権者が審査段階に提出した意見書(甲5)の主張に沿ったものではないから不明確である旨、及び、請求項11に記載された「所定の手順で発される命令語」との用語が不明確である旨を主張した。
4 申立理由1(進歩性)についての当審の判断
(1)甲1を主引用発明とした進歩性の申立理由について
ア 甲1の記載事項
甲1には、以下の事項が記載されている。
「【0005】
本発明は、上記の課題に鑑みてなされたものであり、意図しないタイミングでラダー回路における接点もしくはコイルがオンもしくはオフになった原因の調査を支援する制御装置および工作機械を提供することを目的とする。
【課題を解決するための手段】
【0006】
本明細書は、接点およびコイルを有するラダー回路をスキャンすることにより、工作機械を制御する制御装置であって、第1記憶手段と、制御部と、を備え、制御部は、ラダー回路の何れかの接点またはコイルを対象素子として設定する設定処理と、ラダー回路を繰り返しスキャンするスキャン処理と、スキャン処理によるスキャンごとに、接点およびコイルの各々のオン・オフ状態を示すスキャン結果を第1記憶手段に記憶させる第1記憶処理と、スキャン処理によるスキャンごとに、対象素子がオフからオン、もしくは、オンからオフに状態遷移したか否かを判断する判断処理と、判断処理において、対象素子が状態遷移をしたと判断すると、その時のスキャンを注目スキャンとして、注目スキャンにおけるスキャン結果および注目スキャンに先行する所定回数のスキャンのスキャン結果を第1記憶手段から読み出し、第2記憶手段に記憶させる第2記憶処理と、を実行する制御装置を開示する。」
「【0009】
<工作機械の構成>
図1を用いて、工作機械1の電気的構成について説明する。工作機械1は、コントローラ10、パネルコンピュータ20、センサ・スイッチ群30、モータ群40などを備える。・・・」
「【0010】
コントローラ10は、PLC(Programmable Logic Controller)であり、プロセッサ11およびフラッシュメモリ14などを有する。フラッシュメモリ14はラダー回路141などを記憶している。また、フラッシュメモリ14の一部はリングバッファ142として使用される。プロセッサ11は、センサ・スイッチ群30からの入力信号に基づき、ラダー回路141をスキャンし、モータ群40をシーケンス制御する。ここで、ラダー回路141とは、シーケンス制御用のプログラムである。リングバッファ142はプロセッサ11がラダー回路141をスキャンしたスキャン結果をバッファする。
【0011】
パネルコンピュータ20は工作機械1の正面に設置されている。・・・」
「【0014】
オペレータは、意図しない動作のきっかけとなるコイルをトレーストリガ信号に設定する。プロセッサ11は、トレーストリガ信号がオンしたことをトリガとして、トレーストリガ信号がオンとなったスキャン(以後、注目スキャンと称する)、注目スキャンに先行する5スキャン、注目スキャンに後行する4スキャンの計10スキャン分のスキャン結果を特定する。・・・
【0015】
・・・設定画面は、シーケンス制御のための各種パラメータの設定を受付ける画面である。オペレータは、設定画面にて、ラダー回路141のコイルの1つである、意図しない動作のきっかけとなるコイルをシーケンストリガ信号に設定する。詳しくは、プロセッサ21はタッチパネル23に、「番号」「コメント」「データ」などの項目を1組とするテーブルを有する設定画面を表示させる。・・・オペレータは「コメント」の値が、(シーケンス用トレーストリガ信号)である行の「データ」の値として、意図しない動作のきっかけとなるコイルのアドレスを入力する。・・・」
「【0020】
図2に戻り、データ取得処理の説明を続ける。次に、プロセッサ21からの指示により、プロセッサ11はラダー回路141を1回スキャンし、スキャン1回分のスキャン結果をリングバッファ142に記憶させるともに、スキャン結果をパネルコンピュータ20へ送信する。詳しくは、プロセッサ11は、ラダー回路141が有する接点およびコイルの各々のオン・オフ状態を示すスキャン結果をスキャンした日時とともにリングバッファ142に記憶する。尚、リングバッファ142は、10スキャン分のスキャン結果をバッファすることができる。・・・
【0021】
次に、プロセッサ11はトレーストリガ信号がオンしたか否かを判断する(S5)。プロセッサ11は、トレーストリガ信号として記憶したアドレスのコイルがオフからオンに状態遷移した場合、トレーストリガ信号がオンしたと判断する。プロセッサ11はトレーストリガ信号がオンしていないと判断すると(S5:NO)、ステップS3へ戻り、トレーストリガ信号がオンするまで、ステップS3,S5を繰り返す。プロセッサ11はトレーストリガ信号がオンしたと判断すると(S5:YES)、トレーストリガ信号に設定されたコイルがオンした日時をフラッシュメモリ14に記憶し、後行の4スキャン分のスキャン結果を取得するため、スキャンを4回実行し、10スキャン分のスキャン結果を取得する(S7)。このように、トレーストリガ信号を設定することにより、プロセッサ11は意図しない動作のきっかけとなるコイルがオンしたスキャンを確実に特定することができる。次に、プロセッサ11からの信号により、10スキャン分のスキャン結果の取得が完了したと判断すると、プロセッサ21は取得済モードへ移行し、表示画面を図4に示す取得済モード表示画面70に切替える(S9)。・・・
【0022】
ここで、取得済モード表示画面70について説明する。取得済モード表示画面70は、モニターモード表示画面60と同様に、ラダー図表示領域71および操作ボタン表示領域72を有し、ラダー図表示領域71は記号領域71aおよびコメント領域71bを有する。尚、記号領域71aの背景色は青色である。操作ボタン表示領域72には、「トレース信号破棄」ボタン73、「トレース信号出力」ボタン74、「トレース信号入力」ボタンなどの操作ボタンが表示される。・・・
【0023】
次に、プロセッサ21は「トレース信号破棄」ボタン73が操作されたか否かを判断する(S11)。ここで、「トレース信号破棄」ボタン73は、オペレータが今回のスキャン結果は採用せず、スキャン結果の取得をやり直させたい場合に操作するためのボタンである。「トレース信号破棄」ボタン73が操作されたと判断すると(S13:NO)、プロセッサ21は、ステップS1に戻り、表示画面を取得済モード表示画面70からモニターモード表示画面60に切替える。・・・
【0024】
一方、「トレース信号破棄」ボタン73が操作されていないと判断すると(S11:NO)、プロセッサ21は「トレース信号出力」ボタン74が操作されたか否かを判断する(S13)。「トレース信号出力」ボタン74は、オペレータが今回のスキャン結果を採用し、スキャン結果をUSBメモリに記憶させたい場合に操作するためのボタンである。「トレース信号出力」ボタン74が操作されたと判断すると(S13:YES)、プロセッサ21はプロセッサ11に「トレース信号出力」ボタン74が操作されたことを示す信号を送信し、10スキャン分のスキャン結果の送信を指示する。プロセッサ21の指示に応じて、プロセッサ11は、リングバッファ142から読み出した10スキャン分のスキャン結果と、フラッシュメモリ14から読み出したトレーストリガ信号に設定されたコイルがオンした日時とをパネルコンピュータ20へ送信する。また、プロセッサ11は、ラダー回路141をスキャンしている場合、リングバッファ142にスキャン結果を記憶させることを再開する。プロセッサ21は、送信された10スキャン分のスキャン結果と、トレーストリガ信号に設定されたコイルがオンした日時とを1つにまとめたデータファイルを作成し、フラッシュメモリ22に記憶する。また、プロセッサ21は、USBインターフェース25に、USBコネクタに装着されているUSBメモリにスキャン結果を含むデータファイルを記憶させ(S15)、処理を終了する。・・・」
「【0045】
また、プロセッサ11は、10スキャン分のスキャン結果を記憶させると説明したがこれに限定されない。注目スキャンに先行する所定回数は5回に限定されず、注目スキャンに後行する所定回数は4回に限定されない。・・・」
「【図1】
[図:0001415307000001.jpg]
」
「【図2】
[図:0001415307000002.jpg]
」
イ 甲1の記載から理解できる事項
(ア)【0009】~【0010】から、PLCであるコントローラ10は、モータ群40を制御するものであって、コントローラ10のプロセッサ11がラダー回路141をスキャンしてモータ群40を制御する機能を有することが理解できる。また、ラダー回路141が繰り返しスキャンされるものであることは【0006】に記載されている。
(イ)【0010】から、コントローラ10はPLC、すなわちプログマラブルロジックコントローラであるところ、PLCが記憶領域である複数のデバイスの各デバイス値を記憶するデバイス部を有することは、当業者であれば自明な事項である。そして、甲1に記載された「スキャン結果」は、ラダー回路の接点及びコイルの各々のオン・オフ状態を示すものであり(【0006】)、PLCの記憶領域である各デバイスから得られる状態値であるから、デバイス値であるといえる。
(ウ)【0014】~【0015】から、トレーストリガ信号をオンとするためのコイルをオペレータが設定するための設定部を有することが理解でき、【0014】、【0021】及び【0024】から、プロセッサ11が、当該コイルがオフからオンに状態遷移した場合にトレーストリガ信号がオンになったと判断し、トレーストリガ信号のオン時点でのスキャンである注目スキャンと、注目スキャンに先行する5スキャン、及び、後行する4スキャンの合計10スキャン分のスキャン結果をリングバッファ142に一時的に記憶させる機能を有することが理解できる。
(エ)【0024】から、10スキャン分のスキャン結果をリングバッファ142に保持している間に、トレース信号出力ボタン74が操作されると、プロセッサ11は、リングバッファ142に保持している10スキャン分のスキャン結果をパネルコンピュータ20に送信する機能を有することが理解できる。
ウ 甲1発明
上記ア、イから、甲1には以下の発明(以下「甲1発明」という。)が記載されていると認められる。
「接続されるモータ群を制御するためのPLCであるコントローラ10であって、
ラダー回路141を繰り返しスキャンするプロセッサ11のスキャン機能と、
前記ラダー回路141に従い、前記プロセッサ11により参照される記憶領域である複数のデバイスの各デバイス値を記憶するデバイス部と、
前記デバイス部に記憶されているデバイス値を時系列に記録するリングバッファ142と、
前記リングバッファ142に記録するためのトレーストリガをオンとするためのコイルを設定する設定部と、
前記トレーストリガについてのコイルがオンする毎に、該トレーストリガが示す時点を注目スキャンとした先行5スキャンの期間及び後行4スキャンの期間の合計10スキャン分に対応して前記デバイス部からスキャン周期ごとに読み出したデバイス値を、10スキャン分のスキャン結果としてリングバッファ142に一時的に保持するプロセッサ11の保持機能と、
前記トレーストリガが示す時点を基準時とする10スキャン分の期間が経過した後の、前記スキャン結果を前記リングバッファ142に一時的に保持している間に、トレース信号出力ボタン74が操作されると、プロセッサ11の保持機能により前記リングバッファ142に一時的に保持された10スキャン分の前記スキャン結果をパネルコンピュータ20に送信するプロセッサ11の送信機能と、
を備えるPLCであるコントローラ10。」
エ 本件発明1と甲1発明との対比
本件発明1と甲1発明とを対比すると、以下の相当関係が認められる。
(ア)甲1発明における「接続されるモータ群」は、本件発明1における「接続される被制御機器」に相当し、以下同様に、「PLCであるコントローラ10」は「プログラマブルロジックコントローラ」に、「ラダー回路141」は「ユーザープログラム」に、「リングバッファ142」は「一時記録部」に、それぞれ相当する。
(イ)甲1発明において、「ラダー回路141」を「スキャンする」ことは、本件発明1における「ユーザープログラム」を「実行する」ことに相当する。
(ウ)甲1発明における「プロセッサ11のスキャン機能」は、プログラムを実行するものであるから、本件発明1における「プログラム実行部」に相当し、同様に、「プロセッサ11の保持機能」は、リンクバッファ142への記録を制御するものであるから、「記録制御部」に相当する。
(エ)甲1発明における「前記リングバッファ142に記録するためのトレーストリガ」は、甲1発明における「前記一時記録部に記録するための記録トリガ」に相当し、甲1発明において「トレーストリガについてのコイルがオンする」ことは、本件発明1における「記録トリガについての第1トリガ条件が成立する」ことに相当する。
また、甲1発明における「トレーストリガが示す時点を注目スキャン」とすることは、本件発明1における「記録トリガが示す時点を基準時」とすることに相当し、甲1発明における「該トレーストリガが示す時点を注目スキャンとした先行5スキャンの期間及び後行4スキャンの期間の合計10スキャン分」の期間は、リングバッファ142(一時記録部)に記録を行う期間であるから、本件発明1における「該記録トリガが示す時点を基準時とする前記バッファ記録期間」に相当し、更に、甲1発明における「10スキャン分のスキャン結果」は、本件発明1における「バッファ記録期間分のログデータ」に相当する。
(オ)甲1発明における「トレーストリガをオンとするためのコイルを設定する設定部」は、本件発明1における「記録トリガについての第1トリガ条件、前記保存メモリに保存するための保存トリガについての第2トリガ条件、及び前記記録トリガが示す時点を基準時とし、該基準時までの期間及び該基準時からの期間の少なくとも一方を含む期間であって、前記一時記録部に一時的な記録を行う期間を示すバッファ記録期間を設定する保存条件設定部」と、「記録トリガについての第1トリガ条件を設定する設定部」である限りにおいて一致する。
(カ)甲1の【0024】から、トレース信号出力ボタン74が操作されると、プロセッサ11は、リングバッファ142に一時的に保持された10スキャン分のスキャン結果をパネルコンピュータ20側に送信するように制御し、パネルコンピュータ20側のプロセッサ21によって該スキャン結果がフラッシュメモリに保存されることとなるから、甲1発明における「トレース信号出力ボタン74が操作される」ことは、本件発明1における「保存トリガについての第2トリガ条件が成立する」ことに相当する。
また、トレース信号出力ボタン74が操作された(保存トリガについての第2トリガ条件が成立した)際の処理に関して、甲1発明における「前記リングバッファ142に一時的に保持された10スキャン分の前記スキャン結果をパネルコンピュータ20に送信するプロセッサ11の送信機能」は、本件発明1における「前記一時記録部に一時的に保持された所定期間分の前記ログデータを前記保存メモリに保存する保存制御部」と、「前記一時記録部に一時的に保持された所定期間分のログデータを制御する制御部」である限りにおいて一致する。
そうすると、本件発明1と甲1発明とは、以下の一致点で一致し、以下の相違点1~2で相違する。
<一致点>
接続される被制御機器を制御するためのプログラマブルロジックコントローラであって、
ユーザープログラムを繰り返し実行するプログラム実行部と、
前記ユーザープログラムに従い、前記プログラム実行部により参照される記憶領域である複数のデバイスの各デバイス値を記憶するデバイス部と、
前記デバイス部に記憶されているデバイス値を時系列に記録する一時記録部と、
前記一時記録部に記録するための記録トリガについての第1トリガ条件を設定する設定部と、
前記記録トリガについての前記第1トリガ条件が成立する毎に、該記録トリガが示す時点を基準時とするバッファ記録期間に対応して前記デバイス部からスキャン周期ごとに読み出した時系列のデバイス値を、該バッファ記録期間分のログデータとして前記一時記録部に一時的に保持する記録制御部と、
前記記録トリガが示す時点を基準時とする前記バッファ記録期間が経過した後の、前記ログデータを前記一時記録部に一時的に保持している間に、前記保存トリガについての前記第2トリガ条件が成立すると、前記記録制御部により前記一時記録部に一時的に保持された所定期間分の前記ログデータを制御する制御部と、
を備えるプログラマブルロジックコントローラ。
<相違点1>
本件発明1における「保存条件設定部」は、「記録トリガについての第1トリガ条件」、「保存トリガについての第2トリガ条件」、及び、「バッファ記録期間」を設定するのに対して、甲1発明における「設定部」は、「記録トリガについての第1トリガ条件」は設定するものの、「保存トリガについての第2トリガ条件」及び「バッファ記録期間」について設定するかは不明である点。
<相違点2>
本件発明1は、「一時記録部に時系列に記録されたデバイス値を保存する保存メモリ」を備え、保存制御部は、第2トリガ条件が成立すると、一時記録部に一時的に保持されたログデータを保存メモリに保存するのに対して、甲1発明は保存メモリを有しておらず、トレース信号出力ボタン74が操作される(第2トリガ条件が成立する)と、一時的に保持された10スキャン分のスキャン結果(ログデータ)をパネルコンピュータ20に送信するものである点。
オ 判断
(ア)本件発明1における、「保存条件設定部」が、「記録トリガについての第1トリガ条件」、「保存トリガについての第2トリガ条件」及び「バッファ記録期間」を「設定する」との発明特定事項は、第1、第2トリガ条件及びバッファ記録期間を、ユーザが任意の条件及び期間に設定できることを特定するものと認められる。このことは、本件特許に係る願書に添付した明細書(以下「本件明細書」という。)の【0129】、【0131】、図16及び図17において、符号166、164及び162として、記録トリガをオンとするためのリレーデバイス、保存トリガをオンとするためのリレーデバイス、及び、バッファ記録期間を、ユーザが任意に設定できるGUIが示されていることや、保存トリガとしてユーザがデバイス名で指定したリレーデバイスがOFFからONに切り替わったことを条件として設定することが例示されていることからも明らかである。
(イ)これに対して、上記相違点1のうち、「保存トリガについての第2トリガ条件」を設定する点に関して、甲1発明のリングバッファ142に一時的に記録されたスキャン結果をパネルコンピュータ20へ出力するための条件は、トレース信号出力ボタン74が操作された時に限られるものであって、任意の条件に設定できるものではない。
(ウ)そして、甲1の【0024】において、「「トレース信号出力」ボタン74は、オペレータが今回のスキャン結果を採用し、スキャン結果をUSBメモリに記憶させたい場合に操作するためのボタンである。」と記載されるとおり、甲1におけるトレース信号出力ボタン74(保存トリガ)は、スキャン結果の保存のタイミングをオペレータが指示するために設けられたものであり、保存条件を設定するものではないから、データを取得し始めてから実際に保存するかを判断できるまでの時間が長い場合に全てのデータを保存できなくなる問題(本件明細書の【0005】)を解決できるものではない。
(エ)更に、甲1に記載された処理(【0021】~【0024】、図2)は、トリガ信号の受信に応じて10スキャン分のスキャン結果を取得し(図2におけるS7)、取得済モード表示画面によりスキャン結果を取得済みであることをオペレータに認識させるように画面を切り替える処理を行い(同S9)、その処理を受けて、オペレータが今回のスキャン結果を採用しない場合にはトレース信号破棄ボタン73を操作し(同S11)、今回のスキャン結果を採用する場合にはトレース信号出力ボタン74を操作する(同S13)ことよりスキャン結果を保存するとの処理を行うものであって、スキャン結果をオペレータが確認した上で承諾できれば保存するとの一連の処理として、各ステップが関連して成り立つものである。そうすると、保存を指示するための条件を、オペレータによる確認や承諾を必要としない任意の条件に変更する動機付けはなく、そのような変更を甲1に接した当業者が想起するとはいえない。
(オ)また、上記(エ)で説示したとおり、甲1発明において、トレーストリガ信号出力ボタン74を操作することに替えて、保存を指示するための条件を任意に設定する動機付けはないから、甲2及び甲3の記載(なお、甲2については下記(2)を参照。また、甲3については、【0015】、【0024】、【0026】、【0027】、【0029】、【0047】、【0074】、【0075】、【0086】等を参照。)を参照しても、甲1発明に基づいて、上記相違点1に係る本件発明1の構成を当業者が容易に想到し得るとはいえない。
(カ)したがって、甲1発明において、設定部が、保存トリガについての第2トリガ条件を設定するものとすることは、当業者が容易になし得たこととはいえないから、上記相違点1に係る本件発明1の構成は、甲1発明に基づいて当業者が容易に想到し得たものとはいえない。よって、他の相違点について判断するまでもなく、本件発明1は、甲1発明に基づいて、又は、甲1発明及び甲2~甲3に記載された技術的事項に基づいて、当業者が容易に発明をすることができたものとはいえない。
カ 申立人の主張について
申立人は、特許異議申立書44ページにおいて、「なお、甲第1号証には「(トリガ条件・記録期間を)設定する」との明記はないが、トリガ条件、記録期間は何らかの手法にて設定可能に構成されているのは明らかである。例えば、PLCの分野において、エンジニアリングツールがインストールされたパーソナルコンピュータをPLCと接続し、ユーザがエンジニアリングツールによってトリガ条件、記録期間をPLCに設定可能となるように構成することは技術常識である。」として、上記エにおける相違点1に係る発明特定事項を甲1発明も有しているとして、一致点としている。
しかしながら、上記オで説示したとおり、本件発明1における「保存条件設定部」は、第1、第2トリガ条件及びバッファ記録期間を、任意の条件又は期間に設定できることを特定するものと認められるところ、甲1においては、記録トリガ(トレーストリガ)についてのトリガ条件を設定できることは開示されているが、保存トリガ(トレース信号出力ボタン74)についてのトリガ条件及びバッファ記録期間を任意に設定する旨は開示されていないし、申立人の主張する技術常識から自明であるとも認められないから、相違点1に係る発明特定事項を甲1発明が有しているとはいえない。そして、上記オで説示したとおり、相違点1に係る本件発明1の構成は、甲1発明に基づいて当業者が容易に想到し得たものとはいえない。
したがって、申立人の主張は採用できない。
キ 小括
以上のとおり、本件発明1は、甲1発明又は甲1発明及び甲2~甲3に記載された技術的事項に基づいて、当業者が容易に発明することができたものとはいえない。
また、本件発明16は、概ね、本件発明1を方法の発明として特定したものであるから、本件発明1と同様の理由により、甲1発明又は甲1発明及び甲2~甲3に記載された技術的事項に基づいて、当業者が容易に発明することができたものとはいえない。
更に、本件発明2~15、17~18は、本件発明1又は16を引用するものであるから、甲1発明と少なくとも上記相違点1で相違し、同様の理由により、甲1発明又は甲1発明及び甲2~甲3に記載された技術的事項に基づいて、当業者が容易に発明することができたものとはいえない。
(2)甲2を主引用発明とした進歩性の申立理由について
ア 甲2の記載事項
甲2には、以下の事項が記載されている。
「【発明が解決しようとする課題】
【0004】
種類の異なる複数のセンサの出力を記憶しようとする場合、センサごとにサンプリング周期が異なり、出力されるサンプリングデータの容量も異なるので、すべての出力を漏れなく記憶すると、膨大なメモリが必要となり、それぞれのサンプリングデータ間の対応関係を把握することも困難となる。」
「【0022】
図1は、本実施形態にかかる記憶装置を搭載する移動ロボット10の外観斜視図である。移動ロボット10は、大きく分けて台車部110と把持部120によって構成される。」
「【0024】
台車部110には、障害物検知や周辺環境認識のための各種センサが設けられている。これらのセンサとして、周囲の画像を取得するカメラ240、移動時の加速度を検出する加速度センサ250、障害物までの距離を検出する距離センサ290が設けられている。また、台車部110は、障害物に衝突した場合の衝撃を緩和するためのバンパ116を備え、バンパ116には、障害物との接触を検出する接触センサ230が設けられている。これらのセンサは、それぞれ必要に応じて複数個が配置されている。」
「【0029】
図2は、移動ロボット10の制御ブロック図である。コントロールユニット190は、主に、移動ロボット10の全体を統括的に制御するシステム制御部200、記憶装置30、およびバスライン201を備える。バスライン201は、システム制御部200、記憶装置30、各種センサおよび各種ユニットと接続されており、サンプリングデータや指示信号の通信路としての機能を担う。」
「【0035】
記憶装置30は、主に、メモリ制御部300、第1メモリ310および第2メモリ320を備える。本実施例において第1メモリ310と第2メモリ320は、それぞれ別のメモリチップとして構成され、例えば、第1メモリ310は揮発性メモリであるSRAMであり、第2メモリは不揮発性メモリであるFLASHメモリである。・・・
【0036】
メモリ制御部300は、第1メモリ310と第2メモリ320の読み書きを制御する。具体的には後述するが、メモリ制御部300は、バスライン201からそれぞれのセンサのサンプリングデータを逐次受け取り、第1メモリ310へ書き込む。また、システム制御部200からの指令に従って、第1メモリ310から第2メモリ320へデータを移す。なお、第2メモリ320の一部の記憶領域、または不図示の不揮発性の記憶領域には、移動ロボット10や記憶装置30を制御するための制御プログラム、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等が記憶されている。システム制御部200やメモリ制御部300は、これらのプログラムを読み込んで、それぞれの制御を実行する。
【0037】
図3は、第1メモリ310に設定されるリングバッファについて説明する概念図である。第1メモリ310は、移動ロボット10に設けられた複数のセンサのそれぞれに対して複数周期分のサンプリングデータを書き込む記憶容量が割り当てられた複数のセンサ領域を含む第1記憶領域としての機能を担う。・・・」
「【0043】
本実施形態においては、距離センサ290の基準1周期分のサンプリングデータと、このサンプリングデータが生成された期間に対応する他のセンサのサンプリングデータとを、リングバッファ313~319のそれぞれから読み出して一纏めにしたデータセット500を所定のタイミングで生成する。図4は、データセット500の生成を説明する概念図である。
【0044】
メモリ制御部300は、サンプリング周期が最長である距離センサ290のサンプリング周期を基準としてデータセット500を生成する。例えば、図示するように、距離センサ290のリングバッファ319は、2周期分のメモリ空間F1、F2から構成されているとする。このとき、F2のサンプリングデータの取得中にデータセットの生成指示が発生したとすると(図中の白抜き矢印のタイミング)、F2のサンプリングデータに対応する基準1周期は、黒塗り矢印のSが始期であり、同じく黒塗り矢印のEが周期となる。
【0045】
このF2のサンプリングデータが生成された期間に他のセンサで生成されたサンプリングデータが格納されたメモリ領域は、一例として、各リングバッファに示すSとEで挟まれた斜線の領域となる。例えば、カメラ240のリングバッファ314の場合、対応するメモリ領域は、メモリ空間A2、A3、A4となる。ただし、各センサのサンプリング周期は互いに異なる(同じ場合もある)ので、斜線の領域は生成指示が発生するタイミングによって動的に変化する。
【0046】
メモリ制御部300は、それぞれのリングバッファにおいて斜線の領域のサンプリングデータを一纏めにしてデータセット500を生成する。すなわち、データセット500は、カメラ240のリングバッファ314から取り出したサンプリングデータ514、加速度センサ250のリングバッファ315から取り出したサンプリングデータ515、ジャイロセンサ260のリングバッファ316から取り出したサンプリングデータ516、圧力センサ270のリングバッファ317から取り出したサンプリングデータ517、ロータリエンコーダ280のリングバッファ318から取り出したサンプリングデータ518、距離センサ290のリングバッファ319から取り出したサンプリングデータ519、接触センサ230のリングバッファ313から取り出したサンプリングデータ513を含む。」
「【0049】
図5は、第2メモリ320に設定されるリングバッファ321について説明する概念図である。リングバッファ321は、データセット500を書き込むための第2記憶領域である。リングバッファ321は、初期段階でn個のメモリ空間X1~Xnから成りn個のデータセット500を記憶することができる。メモリ制御部300は、最も古いデータセットに最新のデータセットを上書きして複数個(初期段階でn個)のデータセットを保持し続けるリングバッファ形式によって、データセット500をリングバッファ321に書き込む。」
「【0050】
図6は、ログ情報として残存させるデータセットの移動を説明する概念図である。ログ情報として残存させるデータセットは、リングバッファ321である第2記憶領域から、リセット信号を受信するまでは上書きされない第3記憶領域へ移動される。本実施例においては、第2メモリ320において第2記憶領域として利用していたリングバッファ321の一部を第3記憶領域として利用する不揮発バッファ322へ逐次変更することにより、第3記憶領域を確保する。図6で示すメモリ領域は、10個のメモリ空間X1~X10から構成されており、データセットを10個記憶できる記憶容量を有するものとして説明する。また、ここでは、メモリ制御部300が保存信号としての保存トリガを受信したときに、第3記憶領域へ移動するデータセットの個数を3(N=3)とする。保存トリガを受信したときに、第2記憶領域から第3記憶領域へ移動するデータセットの個数は、予め定められている。
【0051】
図6(a)は、初期段階として、すべてのメモリ空間がリングバッファ314として利用されている様子を示す。例えば、最新のデータセットがX5に記憶されているときに保存トリガを受信したら、メモリ制御部300は、X5と、X5から順に遡ったX4、X3の3個のデータセットを第3記憶領域へ移動する対象とする。」
「【0060】
メモリ制御部300は、ステップS102で、データセット500を生成する生成指示を受信したか否かを確認する。受信していなければ、ステップS108へ進む。受信していればステップS103へ進む。なお、本実施例において生成指示は、システム制御部200が発信する。システム制御部200は、例えばクロック信号に同期して生成指示を定期的に発信する。システム制御部200は、生成指示を発信する周期を変更することもできる。例えば、移動ロボット10が所定速度以上の高速で移動している場合には短い周期で生成指示を発信し、所定速度未満の低速で移動している場合には長い周期で生成指示を発信する。
【0061】
また、メモリ制御部300側で生成指示信号を周期的に発生させ、システム制御部200は、その周期を変更したい場合に指示信号をメモリ制御部300へ送信するように構成しても良い。メモリ制御部300は、指示信号に応じて、生成指示信号を発生させる周期を変更する。このように構成しても、移動ロボット10の状況に応じてデータセット500を生成できるので、メモリ領域を有効に利用することができる。」
「【図4】
[図:0001415307000003.jpg]
」
「【図6】
[図:0001415307000004.jpg]
」
イ 甲2の記載から理解できる事項
(ア)【0029】、【0036】及び図2から、コントロールユニット190は移動ロボット10を制御するものであって、当該コントロールユニット190が備えるシステム制御部200が、制御プログラムを読み込んで移動ロボット10を制御することが理解できる。
(イ)【0037】には、第1メモリ310に複数のセンサのサンプリングデータが記憶されることが記載されている。
(ウ)【0043】~【0046】、【0049】、図4から、データセットの生成指示が発生すると、当該生成指示が示す時点を基準時として基準時までの期間及び基準時からの期間を含む期間であって、複数のセンサのうちサンプリング周期が最長のセンサの一周期分の期間における、各センサのサンプリングデータが、第1メモリ310からデータセット500として生成され、リングバッファ321に記録されることが理解できる。
(エ)【0060】~【0061】から、データセット500を生成する生成指示を発信する周期を設定する設定部を有することが理解できる。
(オ)【0050】~【0051】、図6から、保存トリガが発生すると、リングバッファ321に一時的に保持されたデータセット500を不揮発バッファ322に保存することが理解できる。
ウ 甲2発明
上記ア、イから、甲2には以下の発明(以下「甲2発明」という。)が記載されていると認められる。
「接続される移動ロボット10を制御するためのコントロールユニット190であって、
制御プログラムを繰り返し実行するシステム制御部200と、
前記制御プログラムに従い、前記システム制御部200により参照される、複数のセンサの各サンプリングデータを記憶する第1メモリ310と、
前記第1メモリ310に記憶されているサンプリングデータをデータセット500として時系列に記録するリングバッファ321と、
前記リングバッファ321に時系列に記録された前記データセット500を保存する不揮発バッファ322と、
前記リングバッファ321に記録するための生成指示を発信する周期を設定する設定部と、
前記生成指示が発信される毎に、該生成指示が示す時点を基準時として基準時までの期間及び基準時からの期間を含む期間であって、複数のセンサのうちサンプリング周期が最長のセンサの一周期分の期間に対応して前記第1メモリ310からサンプリング周期ごとに読み出した時系列のサンプリングデータを、サンプリング周期が最長のセンサの一周期分の前記データセット500として前記リングバッファ321に一時的に保持するメモリ制御部300と、
前記生成指示が示す時点を基準時とするサンプリング期間が最長のセンサの一周期分が経過した後の、前記データセット500を前記リングバッファ321に一時的に保持している間に、保存トリガが発生すると、前記リングバッファ321に一時的に保持された前記データセット500を前記不揮発バッファ322に保存するメモリ制御部300と、
を備えるコントロールユニット190。」
エ 本件発明1と甲2発明との対比
本件発明1と甲2発明とを対比すると、以下の相当関係が認められる。
(ア)甲2発明における「移動ロボット10」は、本件発明1における「被制御機器」に相当し、同様に、「制御プログラム」は「ユーザープログラム」に相当する。
(イ)甲2発明における「システム制御部200」は、制御プログラム(ユーザプログラム)を実行するものであるから、本件発明1における「プログラム実行部」に相当し、甲2発明における「メモリ制御部300」は、リングバッファ321への記録及び不揮発バッファ332への保存を制御するものであるから、本件発明1における「記録制御部」及び「保存制御部」に相当する。
(ウ)甲2発明における「コントロールユニット190」は、本件発明1における「プログラマブルロジックコントローラ」と、「コントローラ」である限りにおいて一致する。
また、甲2発明における「サンプリングデータ」及び「データセット500」は、本件発明1の「デバイス値」と、「データ」であるかぎりにおいて一致し、以下同様に、「前記システム制御部200により参照される、複数のセンサの各サンプリングデータを記憶する第1メモリ310」は、「前記プログラム実行部により参照される記憶領域である複数のデバイスの各デバイス値を記憶するデバイス部」と、「参照されるデータを記憶する記憶領域」である限りにおいて一致し、「サンプリングデータをデータセット500として時系列に記録するリングバッファ321」は「デバイス値を時系列に記録する一時記録部」と「データを時系列に記録する一時記録部」である限りにおいて一致し、「前記データセット500を保存する不揮発バッファ322」は「デバイス値を保存する保存メモリ」と、「データを保存する保存メモリ」である点で一致する。
(エ)甲2発明における「複数のセンサのうちサンプリング周期が最長のセンサの一周期分の期間」は、当該期間のサンプリングデータがリングバッファ321に記録されるものであるから、本件発明1における「バッファ記録期間」に相当する。また、甲2発明における「サンプリング周期が最長のセンサの一周期分の前記データセット500」は、本件発明1における「該バッファ記録期間分のログデータ」に相当する。また、甲2発明における「サンプリング周期ごとに読み出」すことは、本件発明1における「所定の収集周期ごとに読み出」すことに相当する。
(オ)甲2発明における「生成指示」及び「生成指示が発信される」ことは、本件発明1における「記録トリガ」及び「記録トリガについての第1トリガ条件が成立する」ことに、それぞれ相当する。また、甲2発明における「保存トリガ」及び「保存トリガが発生する」ことは、甲2発明における「保存トリガ」及び「保存トリガについての第2トリガ条件が成立する」ことに相当する。
(カ)甲2発明における「前記リングバッファ321に記録するための生成指示を発信する周期を設定する設定部」は、本件発明1における「前記一時記録部に記録するための記録トリガについての第1トリガ条件、前記保存メモリに保存するための保存トリガについての第2トリガ条件、及び前記記録トリガが示す時点を基準時とし、該基準時までの期間及び該基準時からの期間の少なくとも一方を含む期間であって、前記一時記録部に一時的な記録を行う期間を示すバッファ記録期間を設定する保存条件設定部」と、「一時記録部に記録するための記録トリガについての第1条件を設定する設定部」である限りにおいて一致する。
そうすると、本件発明1と甲2発明とは、以下の一致点で一致し、以下の相違点1~2で相違する。
<一致点>
接続される被制御機器を制御するためのコントローラであって、
ユーザープログラムを繰り返し実行するプログラム実行部と、
前記ユーザープログラムに従い、参照されるデータを記憶する記録領域と、
前記記録領域に記憶されているデータを時系列に記録する一時記録部と、
前記一時記録部に時系列に記録されたデータを保存する保存メモリと、
前記一時記録部に記録するための記録トリガについての第1トリガ条件を設定する設定部と、
前記記録トリガについての前記第1トリガ条件が成立する毎に、該記録トリガが示す時点を基準時とするバッファ記録期間に対応して前記記録領域から所定の収集周期ごとに読み出した時系列のデータを、該バッファ記録期間分のログデータとして前記一時記録部に一時的に保持する記録制御部と、
前記記録トリガが示す時点を基準時とする前記バッファ記録期間が経過した後の、前記ログデータを前記一時記録部に一時的に保持している間に、前記保存トリガについての前記第2トリガ条件が成立すると、前記記録制御部により前記一時記録部に一時的に保持された所定期間分の前記ログデータを前記保存メモリに保存する保存制御部と、
を備えるコントローラ。
<相違点1>
本件発明1における「保存条件設定部」は、「記録トリガについての第1トリガ条件」、「保存トリガについての第2トリガ条件」、及び、「バッファ記録期間」を設定するのに対して、甲2発明における「設定部」は、「記録トリガについての第1トリガ条件」(リングバッファ321に記録するための生成指示を発信する周期)は設定するものの、「保存トリガについての第2トリガ条件」及び「バッファ記録期間」について設定するかは不明である点。
<相違点2>
コントローラ及び各記憶領域に関して、本件発明1においては「プログマラブルロジックコントローラ」を備え、「デバイス部」、「一時記録部」及び「保存メモリ」が、複数のデバイスの各デバイス値に関する記憶領域であるのに対して、甲2発明においては、コントロールユニット190はプログマラブルロジックコントローラではなく、「第1メモリ310」、「リングバッファ321」、及び「不揮発バッファ322」はセンサのサンプリングデータに関する記憶領域であって、デバイス値に関する記憶領域ではない点。
オ 判断
上記(1)オ(ア)で説示したとおり、本件発明1における、「保存条件設定部」が、「第1トリガ条件」、「第2トリガ条件」及び「バッファ記録期間」を「設定する」との発明特定事項は、第1、第2トリガ条件及びバッファ記録期間を、任意の条件及び期間に設定できることを特定するものと認められる。
これに対して、甲2においては、「種類の異なる複数のセンサの出力を記憶しようとする場合、センサごとにサンプリング周期が異なり、出力されるサンプリングデータの容量も異なるので、すべての出力を漏れなく記憶すると、膨大なメモリが必要」となること(【0004】)を課題として、複数のセンサのうちサンプリング周期が最長のセンサの一周期分の期間に対応する、各センサのサンプリングデータをデータセット500として一纏めにして、リングバッファ321に記録している(【0043】~【0046】、【0049】)。したがって、甲2発明において、上記相違点1のうち、「バッファ記録期間」を設定する点に関して、リングバッファ321に一時的に記録する期間は、「複数のセンサのうちサンプリング周期が最長のセンサの一周期分の期間」に固定されるものであって、任意の期間に設定できるものではなく、これを任意の期間に設定できるように変更することは、上述の甲2に記載された課題を解決できないこととなるから、当業者がそのような改変を想起するとは認められない。
また、甲1及び甲3の記載を参照しても、甲2発明において、バッファ記録期間を任意に設定するように変更することを示唆するものではない。
したがって、甲2発明において、設定部が、バッファ記録期間を設定するものとすることは、当業者が容易になし得たこととはいえないから、上記相違点1に係る本件発明1の構成は、甲2発明又は甲2発明及び甲1、甲3に記載された技術的事項に基づいて当業者が容易に想到し得たものとは認められない。よって、他の相違点について判断するまでもなく、本件発明1は、甲2発明に基づいて、又は、甲2発明及び甲1、甲3に記載された技術的事項に基づいて、当業者が容易に発明をすることができたものとはいえない。
カ 申立人の主張について
申立人は、特許異議申立書49ページにおいて、「なお、甲第2号証には「(トリガ条件・記録期間を)設定する」との明記はないが、甲第1号証の場合と同様、トリガ条件、記録期間は何らかの手法にて設定可能に構成されているのは明らかである。」として、上記エにおける相違点1に係る発明特定事項を甲2発明も有しているように、一致点としている。
しかしながら、上記オで説示したとおり、本件発明1における「保存条件設定部」は、第1、第2トリガ条件及びバッファ記録期間を、任意の条件及び期間に設定できることを特定するものと認められるところ、甲2においては、「バッファ記録期間」は「複数のセンサのうちサンプリング周期が最長のセンサの一周期分の期間」に固定されるものであって、これを任意に設定する旨は開示されていないし、申立人の主張する技術常識から自明であるとも認められないから、相違点1に係る発明特定事項を甲2発明が有しているとはいえない。そして、上記オで説示したとおり、相違点1に係る本件発明1の構成は、甲2発明に基づいて当業者が容易に想到し得たものとはいえない。
したがって、申立人の主張は採用できない。
キ 小括
以上のとおり、本件発明1は、甲2発明又は甲2発明及び甲1、甲3に記載された技術的事項に基づいて、当業者が容易に発明することができたものとはいえない。
また、本件発明16は、概ね、本件発明1を方法の発明として特定したものであるから、本件発明1と同様の理由により、甲2発明又は甲2発明及び甲1、甲3に記載された技術的事項に基づいて、当業者が容易に発明することができたものとはいえない。
更に、本件発明2~15、17~18は、本件発明1又は16を引用するものであるから、甲2発明と少なくとも上記相違点1で相違し、同様の理由により、甲2発明又は甲2発明及び甲1、甲3に記載された技術的事項に基づいて、当業者が容易に発明することができたものとはいえない。
(3) 進歩性についてのまとめ
以上のとおり、本件発明1~18は、甲1~甲3に記載された発明等に基づいて、当業者が容易に発明をすることができたものではないから、申立人の主張する申立理由1によっては、請求項1~18に係る特許を取り消すことはできない。
5 明確性(申立理由2)についての当審の判断
(1) 請求項1、16の記載について
申立人は、本件特許の審査段階における拒絶理由通知書(甲4)に対して特許権者が提出した意見書(甲5)においては、「従来のようにバッファ期間分のデータを常時記録するのではなく、記録トリガについての第1トリガ条件が成立する毎に、バッファ記録期間分のログデータを一時的に保持」するものと主張しているが、請求項1、16において「記録トリガ」が「記録停止トリガ」である場合に、「記録停止トリガ」が発せられないときには常時記録が行われるから、当該意見書の主張が本件発明1、16に特定されていないとして、明確でない旨を主張している(異議申立書60~61ページ)。
しかしながら、明確性要件は、特許請求の範囲の記載に関し、特許を受けようとする発明が明確でなければならない旨の規定であるところ、特許権者の審査段階での意見書での主張が請求項において特定されていないことをもって、本件発明1及び16が明確性要件を満たさないということはできない。
そして、請求項1、16においては、一時記録部及び保存メモリを有し、記録トリガ、保存トリガ及びバッファ記録期間を設定することで、デバイス値の記録及び保存を制御する旨が特定されており、特許を受けようとする発明が十分に明確である。
(2) 請求項11の記載について
申立人は、請求項11における「前記記録開始トリガが、所定の手順で発せられる命令語である」との記載について、どのようなものが「所定の手順で発せられる命令語」なのかが把握できないから、明確でない旨を主張している(異議申立書62ページ)。
しかしながら、請求項11の記載は、記録開始トリガが何らかの手順で発せられる命令語である旨を特定するにすぎず、その手順の具体的な内容が特定されていなくても、十分に明確である。
(3)明確性についてのまとめ
以上のとおり、本件発明1~18は明確であるから、申立人の主張する申立理由2によっては、請求項1~18に係る特許を取り消すことはできない。
第5 むすび
以上のとおりであるから、取消理由通知に記載した取消理由、及び、特許異議申立書に記載した申立理由によっては、請求項1~18に係る特許を取り消すことはできない。
また、他に請求項1~18に係る特許を取り消すべき理由を発見しない。
よって、結論のとおり決定する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2024-700081