(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024150206
(43)【公開日】2024-10-23
(54)【発明の名称】設計装置、設計方法、および記録媒体
(51)【国際特許分類】
G05B 19/05 20060101AFI20241016BHJP
【FI】
G05B19/05 B
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023063500
(22)【出願日】2023-04-10
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】林 直宏
(72)【発明者】
【氏名】野中 洋一
(72)【発明者】
【氏名】中野 隆宏
(72)【発明者】
【氏名】堤 大輔
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA05
5H220BB12
5H220BB15
5H220CC07
5H220CC09
5H220CX01
5H220DD04
5H220JJ12
5H220JJ26
(57)【要約】
【課題】ラダープログラムに適用可能な変更情報を提供すること。
【解決手段】一連の工程を実施するラインで前記一連の工程の各々を担当するセルを構成するリソースに基づいて前記セルに前記工程を実施させるための複数のステップを実行するラダープログラムを変更する設計装置は、前記記憶デバイスは、前記ステップと前記リソースの種類を示すリソースタイプとを関連付けた動作情報を有し、前記プロセッサは、前記ラインの変更案に基づいて、前記動作情報の中から前記ラダープログラム内の変更箇所を特定する変更箇所特定処理と、前記変更箇所特定処理によって特定された変更箇所に基づいて、前記ラダープログラムの変更内容を特定し、前記ラダープログラムの変更情報を生成する変更内容特定処理と、前記変更内容特定処理によって生成された変更情報を出力する出力処理と、を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、一連の工程を実施するラインで前記一連の工程の各々を担当するセルを構成するリソースに基づいて前記セルに前記工程を実施させるための複数のステップを実行するラダープログラムを変更する設計装置であって、
前記記憶デバイスは、前記ステップと前記リソースの種類を示すリソースタイプとを関連付けた動作情報を有し、
前記プロセッサは、
前記ライン内の変更案に基づいて、前記動作情報の中から前記ラダープログラム内の変更箇所を特定する変更箇所特定処理と、
前記変更箇所特定処理によって特定された変更箇所に基づいて、前記ラダープログラムの変更内容を特定し、前記ラダープログラムの変更情報を生成する変更内容特定処理と、
前記変更内容特定処理によって生成された変更情報を出力する出力処理と、
を実行することを特徴とする設計装置。
【請求項2】
請求項1に記載の設計装置であって、
前記変更箇所特定処理では、前記プロセッサは、前記変更案において、前記セル内で前記工程を実施する第1リソースが削除される場合、前記動作情報において前記第1リソースが属する第1リソースタイプに対応する第1ステップを、削除ステップであることを示す変更箇所として特定する、
ことを特徴とする設計装置。
【請求項3】
請求項1に記載の設計装置であって、
前記変更箇所特定処理では、前記プロセッサは、前記変更案において、前記セル内で前記工程を実施する第1リソースが第2リソースに変更される場合、前記動作情報において前記第1リソースが属する第1リソースタイプに対応する第1ステップを、入替ステップであることを示す変更箇所として特定する、
ことを特徴とする設計装置。
【請求項4】
請求項1に記載の設計装置であって、
前記変更箇所特定処理では、前記プロセッサは、前記変更案において、前記第1ステップに対応する第1作業が割り当てられた第1セル内の第1リソースが第2セル内の第2リソースに変更される場合、前記動作情報において前記第1リソースが属する第1リソースタイプに対応する第1ステップを、前記第1作業の割当からの除外ステップであることを示すの変更箇所として特定し、前記第1ステップの直前に実行される第2ステップを、前記第2セルで前記作業が割り当てられる直前ステップであることを示すの変更箇所として特定する、
ことを特徴とする設計装置。
【請求項5】
請求項2に記載の設計装置であって、
前記変更内容特定処理では、前記プロセッサは、前記第1ステップを削除対象ステップに決定することにより、前記変更情報を生成する、
ことを特徴とする設計装置。
【請求項6】
請求項2に記載の設計装置であって、
前記変更内容特定処理では、前記プロセッサは、前記第1ステップを削除対象ステップに決定し、かつ、前記第2リソースが担当する第2ステップを前記変更案から特定して追加対象ステップに決定することにより、前記変更情報を生成する、
ことを特徴とする設計装置。
【請求項7】
請求項2に記載の設計装置であって、
前記変更内容特定処理では、前記プロセッサは、前記第1ステップを前記第2リソースが担当する場合に、前記第2リソースが担当する第2ステップに関する情報を、前記第1ステップに関する情報に変更することにより、前記変更情報を生成する、
前記変更情報を生成する、
ことを特徴とする設計装置。
【請求項8】
請求項4に記載の設計装置であって、
前記変更内容特定処理では、前記プロセッサは、前記第1ステップを削除対象ステップに決定し、前記第1作業を行う前記第2リソースを担当する第3ステップを前記動作情報から特定し、前記第3ステップを前記第2ステップ以降に追加する追加対象ステップに決定することにより、前記変更情報を生成する、
ことを特徴とする設計装置。
【請求項9】
請求項1に記載の設計装置であって、
前記プロセッサは、
前記変更情報に基づいて、前記変更案に関する第1スループットを算出する算出処理を実行し、
前記出力処理では、前記プロセッサは、前記算出処理によって算出された第1スループットを出力する、
ことを特徴とする設計装置。
【請求項10】
請求項9に記載の設計装置であって、
前記算出処理では、前記プロセッサは、前記変更案に関する変更作業時間と、前記変更案に関する確認作業時間と、に基づいて、前記第1スループットを算出する、
ことを特徴とする設計装置。
【請求項11】
請求項9に記載の設計装置であって、
前記出力処理では、前記プロセッサは、前記第1スループットと、前記変更案による変更をしない場合の第2スループットと、を出力する、
ことを特徴とする設計装置。
【請求項12】
請求項1に記載の設計装置であって、
前記プロセッサは、
前記変更情報を前記ラダープログラムに適用することにより、変更後のラダープログラムを生成する生成処理と、
を実行することを特徴とする設計装置。
【請求項13】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、一連の工程を実施するラインで前記一連の工程の各々を担当するセルを構成するリソースに基づいて前記セルに前記工程を実施させるための複数のステップを実行するラダープログラムを変更する設計装置が実行する設計方法であって、
前記記憶デバイスは、前記ステップと前記リソースの種類を示すリソースタイプとを関連付けた動作情報を有し、
前記プロセッサは、
前記ラインの変更案に基づいて、前記動作情報の中から前記ラダープログラム内の変更箇所を特定する変更箇所特定処理と、
前記変更箇所特定処理によって特定された変更箇所に基づいて、前記ラダープログラムの変更内容を特定し、前記ラダープログラムの変更情報を生成する変更内容特定処理と、
前記変更内容特定処理によって生成された変更情報を出力する出力処理と、
を実行することを特徴とする設計方法。
【請求項14】
一連の工程を実施するラインで前記一連の工程の各々を担当するセルを構成するリソースに基づいて前記セルに前記工程を実施させるための複数のステップを実行するラダープログラムを変更する設計をプロセッサに実行させる設計プログラムを記録した、コンピュータ読み取り可能な非一時的記録媒体であって、
前記プロセッサは、前記ステップと前記リソースの種類を示すリソースタイプとを関連付けた動作情報にアクセス可能であり、
前記プロセッサに、
前記ラインの変更案に基づいて、前記動作情報の中から前記ラダープログラム内の変更箇所を特定する変更箇所特定処理と、
前記変更箇所特定処理によって特定された変更箇所に基づいて、前記ラダープログラムの変更内容を特定し、前記ラダープログラムの変更情報を生成する変更内容特定処理と、
前記変更内容特定処理によって生成された変更情報を出力する出力処理と、
を実行させることを特徴とする設計プログラムを記録した、コンピュータ読み取り可能な非一時的記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを生成する設計装置、設計方法、および記録媒体に関する。
【背景技術】
【0002】
製造業では、多種多様な製品を製造する生産形態が求められており、フレキシブルに構成を変更可能なラインが必要とされている。近年では、自然災害や疫病といった生産環境変動に対応するため、複数拠点間での生産体制の再構築や、人手から自動化設備への切り替えなど、ラインのフレキシブル性がより重要になっている。
【0003】
製造製品の変更に合わせてラインを再構築する上では、ラインを構成する機器の物理的な変更だけでなく、そのライン機器を制御するラダープログラムも変更する必要がある。既存手法として、特許文献1にラダープログラム管理装置が開示されている。
【0004】
特許文献1のラダープログラム管理装置は、複数の機械の夫々を制御するラダープログラムが格納されるラダープログラム格納領域並びに複数の機械に対し既に実施された改造内容を識別する識別情報及び改造に必要な修正プログラムが対応付けられて格納されるラダープログラム履歴情報を有するデータベースと、データベースを管理するデータベース管理部とを備え、データベース管理部が、改造対象の機械に対して施される改造内容に対応する識別情報をラダープログラム履歴情報から検索する識別情報検索部と、検索された識別情報に対応する修正プログラムをラダープログラム履歴情報から抽出し、改造対象の機械のラダープログラムに修正プログラムをマージするマージ部とを備える。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1のラダープログラム管理装置は、過去の設備変更履歴とラダープログラム変更履歴を入力データとし、過去にも実施済みの設備変更と同じ設備変更に対しては、ラダープログラムを自動変更する機能を有するが、過去に実施したことのない設備変更または設備への作業割当の変更はできない。
【0007】
また、既存のプログラム管理方法やBOP(Bill Of Process)等のリソース/工程データ管理方法では、プロフラム変更範囲の調査に必要な複数情報を管理するが、情報の対応関係がつけられていない。したがって、人が情報を追う必要があり、変更範囲を特定するための工数が大きい。
【0008】
また、生産変動に対して変更案を実行することでスループット改善する可能性があるが、リソース変更と動作確認の作業が発生する。そのため、作業工数とスループット改善効果の双方から、最適案を選択する必要がある。
【0009】
また、PLC(Programmable Logic Controller)メーカが提供または販売するラダープログラムを作成したり管理したりすることが可能なラダープログラミングソフトがある。ラダープログラミングソフトには、人がプログラミングする上で複数人でのプログラム実装におけるグループ開発管理機能による実装効率化や、GUI上でのラインシミュレータとラダープログラム間で信号処理を行うことによりプログラムシーケンス及びライン動作を可視化することによるデバッグの容易化といった実装サポート機能が提供されている。
【0010】
また、ラダープログラミングソフトには、実際のプログラミングに際して、ある程度の信号制御の組み合わせを記載したテンプレートを用いてプログラミング時のコード入力の手間を簡易化したり、過去に作成したプログラムの一部を機能ブロックとして管理しておき、再利用性を高めたりするといった機能も有する。
【0011】
PLCに関連する設計や実装自動化という観点では、ラダープログラムが設備から受け取るパラメータや、制御シーケンスの進行度合いを表示するGUIの作成を自動化する機能や、設備電力消費等のエネルギー効率を可視化や監視をするためのラダープログラムとは異なるプログラムを自動生成する機能が販売されている。
【0012】
しかし、ラダープログラミングソフトには、工程設計情報等から制御シーケンスまでを自動設計してラダープログラムを自動生成する機能が備えられていない。すなわち、人が実装前または実装中に検討する、各設備機器を跨る制御シーケンスを検討したり設計したりするという工数がかかる部分については、機能支援されていない。
【0013】
本発明は、ラダープログラムに適用可能な変更情報を提供することを目的とする。
【課題を解決するための手段】
【0014】
本願において開示される発明の一側面となる設計装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有し、一連の工程を実施するラインで前記一連の工程の各々を担当するセルを構成するリソースに基づいて前記セルに前記工程を実施させるための複数のステップを実行するラダープログラムを変更する設計装置であって、前記記憶デバイスは、前記ステップと前記リソースの種類を示すリソースタイプとを関連付けた動作情報を有し、前記プロセッサは、前記ラインの変更案に基づいて、前記動作情報の中から前記ラダープログラム内の変更箇所を特定する変更箇所特定処理と、前記変更箇所特定処理によって特定された変更箇所に基づいて、前記ラダープログラムの変更内容を特定し、前記ラダープログラムの変更情報を生成する変更内容特定処理と、前記変更内容特定処理によって生成された変更情報を出力する出力処理と、を実行することを特徴とする。
【発明の効果】
【0015】
本発明の代表的な実施の形態によれば、ラダープログラムに適用可能な変更情報を提供することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、ラインにおける読み込み用ラダープログラムの生成例を示す説明図である。
【
図2】
図2は、コンピュータのハードウェア構成例を示すブロック図である。
【
図3】
図3は、DBの記憶内容の一例を示す説明図である。
【
図4】
図4は、リソース情報の一例を示す説明図である。
【
図5】
図5は、ライン構成情報の一例を示す説明図である。
【
図6】
図6は、作業割当変更情報の一例を示す説明図である。
【
図7】
図7は、リソース別動作情報の一例を示す説明図である。
【
図8】
図8は、ラダープログラム変更情報の例1を示す説明図である。
【
図9】
図9は、ラダープログラム変更情報の例2を示す説明図である。
【
図10】
図10は、リソース別変更作業時間情報の一例を示す説明図である。
【
図11】
図11は、リソース/動作別確認作業時間情報の一例を示す説明図である。
【
図13】
図13は、標準作業時間情報の一例を示す説明図である。
【
図15】
図15は、リソース状態情報の一例を示す説明図である。
【
図16】
図16は、ラダープログラムの設計処理手順例を示すフローチャートである。
【
図17】
図17は、
図16に示した変更箇所特定処理(ステップS1601)の詳細な処理手順例を示すフローチャートである。
【
図18】
図18は、
図16に示した変更内容特定処理(ステップS1602)の詳細な処理手順例を示すフローチャート(前半)である。
【
図19】
図19は、
図16に示した変更内容特定処理(ステップS1602)の詳細な処理手順例を示すフローチャート(後半)である。
【
図20】
図20は、
図16に示した変更作業時間算出処理(ステップS1604)の詳細な処理手順例を示すフローチャートである。
【
図21】
図21は、
図16に示した確認作業時間算出処理(ステップS1605)の詳細な処理手順例を示すフローチャートである。
【
図22】
図22は、
図16に示した変更案別スループット算出処理(ステップS1606)の詳細な処理手順例を示すフローチャートである。
【
図23】
図23は、
図16に示した変更なし案スループット算出処理(ステップS1608)の詳細な処理手順例を示すフローチャートである。
【
図24】
図24は、
図16に示したスループット比較評価処理(ステップS1609)の詳細な処理手順例を示すフローチャートである。
【
図25】
図25は、比較評価結果表示画面の一例を示す説明図である。
【
図26】
図26は、特定結果表示画面の一例を示す説明図である。
【
図27】
図27は、設計装置とPLCプログラミングソフトとの関係を示す説明図である。
【発明を実施するための形態】
【0017】
<ラインにおける読み込み用ラダープログラムの生成例>
図1は、ラインにおける読み込み用ラダープログラムの生成例を示す説明図である。ラインLは、たとえば、製品の組立作業をおこなう。ラインLは、搬送コンベア列Bと、1以上(
図1では、例として5)のセルCa~Ce(セルCa~Ceを区別しない場合は、単にセルCと称す)と、を有する。ラインLは、各セルCが担当する複数の工程で製品の組立作業をおこなう。
【0018】
コンベア列Bは、複数のコンベアを有し、各コンベアを搬送方向に直列に配列した構成となる。
【0019】
セルCは、コンベア列Bを構成する2つのコンベア間に配置され、作業者W、ロボットR、特定の作業に関する専用機、その他各種作業機器などのリソースが設けられたステーションである。リソースには、作業者WやロボットR、専用機のほか、さらに、それらが使用する部品置き場121やロボットRのロボットハンド、コンベア、作業者W用のスイッチの入力機器などの付帯設備も含まれる。専用機には、たとえば、搬送物にX線を曝射して異物混入の有無を検出する検出機がある。
【0020】
作業者Wが配置されかつロボットRが配置されていないセルCを、人作業セルと称す。ロボットRが配置されかつ作業者Wが配置されていないセルCを、ロボット作業セルと称す。なお、図示はしないが、作業者WもロボットRも配置されていないが専用機が配置されているセルCを、専用機作業セルと称す。
【0021】
また、以降において、「ライン構成」とは、ラインLのセルCの種類(人作業セル、ロボット作業セル、専用機作業セル)および、そのセルC内がどのようなリソース群で構成されているかを意味する。ラインLがどのようなライン構成になるかは、ラインLの使用者によって決められる。また、「作業割当」とは、たとえば、セルCの主たるリソースである作業者W、ロボットR、または専用機に、『ある部品の組付けを担当させる』、『ある部品の検査作業を担当させる』のように、組立作業手順内で各作業を割り当てることを意味する。
【0022】
ここで、セルCcを例に挙げて、人作業セルおよびロボット作業セルについて説明する。なお、
図1では、セルCcが人作業セルからロボット作業セルに変更されることを示している。
【0023】
人作業セルは、リソース群として、作業者Wと、作業パレット110と、前工程連結コンベア111と、後工程連結コンベア112と、コンベア制御機113と、到着検出センサ114と、カメラ115と、カメラ制御機116と、搬送ボタン117と、検査ボタン118と、モニタ119と、PLC120と、部品置き場121と、を有する。到着検出センサ114、カメラ115、カメラ制御機116、搬送ボタン117、検査ボタン118、およびモニタ119は、黒太線で示したバスでPLC120に接続される。
【0024】
作業パレット110は、搬送物を載せる容器である。前工程連結コンベア111は、セルCbから作業パレット110を搬送するコンベアである。後工程連結コンベア112は、作業パレット110をセルCdに搬送するコンベアである。
【0025】
到着検出センサ114は、作業パレット110が前工程連結コンベア111と後工程連結コンベア112との間の位置に到着したことを検出する。カメラ115は、作業パレット110内の搬送物を撮像する。カメラ制御機116は、PLC120の制御に従って、カメラ115の撮像タイミングや撮像条件を制御する。
【0026】
搬送ボタン117は、作業者Wの押下により、前工程連結コンベア111および後工程連結コンベア112で、作業パレット110の搬送を開始したり、停止したりする入力装置である。検査ボタン118は、作業者Wの押下により、作業パレット110の検査を開始したり、停止したりする入力装置である。
【0027】
モニタ119は、カメラ115で撮像された作業パレット110内の搬送物を表示したり、作業者Wへの指示情報を表示したりする。
【0028】
PLC120は、ラダープログラムにより、バスで接続されたリソースを制御するコントローラである。PLC120は、到着検出センサ114、カメラ115、搬送ボタン117、検査ボタン118といった入力機器からの信号を取り込み、プログラムに従って各種処理を実行し、コンベア制御機113、カメラ制御機116、モニタ119といった出力機器を制御する。
【0029】
部品置き場121は、作業パレット110内の搬送物ン組み付けるための部品が配置されるスペースである。
【0030】
PLC120について具体的に説明する。PLC120は、ラダープログラムにより、部品キッティングと、カメラ検査と、パレット搬送と、を実行する。
【0031】
部品キッティングは、作業パレット110の搬送物に部品を組み付ける作業工程である。到着検出センサ114が作業パレット110の到着を検出すると、その検出信号がPLC120に入力される。PLC120は、到着検出センサ114からの検出信号が入力されると、コンベア制御機113に搬送停止信号を出力する。コンベア制御機113は、PLC120からの搬送停止信号が入力されると、後工程連結コンベア112を駆動停止する。これにより、作業パレット110の搬送が停止される。
【0032】
また、PLC120は、到着検出センサ114からの検出信号が入力されると、モニタ119に部品キッティングの作業指示を表示する。作業者Wは、部品置き場121から部品を取り出して搬送物に組付ける。部品の組付けが終了すると、作業者Wは、検査ボタン118を押下し、その押下信号がPLC120に出力される。これにより、部品キッティングが終了する。
【0033】
カメラ検査は、部品キッティングされた搬送物をカメラ115で検査する作業工程である。PLC120は、検査ボタン118の押下信号が入力されると、カメラ制御機116に、制御開始信号を出力する。カメラ115は、あらかじめカメラ制御機116に設定された撮像タイミングや撮像条件に従って、部品キッティングされた搬送物を撮像する。
【0034】
カメラ制御機116は、PLC120からの制御開始信号が入力されると、カメラ115による撮像の制御を開始し、カメラ115で撮像された、部品キッティングされた搬送物の画像データに基づいて、部品キッティングが正しく行われたか否かの検査を実行する。検査が完了すると、カメラ制御機116は、検査結果および検査完了信号をPLC120に出力する。PLC120は、検査結果および検査完了信号が入力されると、検査結果をモニタ119に表示させる。
【0035】
パレット搬送は、部品キッティングおよびカメラ検査が完了した搬送物が載せられた作業パレット110を後段のセルCdに搬送する作業工程である。作業者Wが搬送ボタン117を押下すると、その押下信号がPLC120に出力される。PLC120は、搬送ボタン117の押下信号が入力されると、コンベア制御機113に搬送開始信号を出力する。コンベア制御機113は、PLC120からの搬送開始信号が入力されると、後工程連結コンベア112を駆動開始する。これにより、作業パレット110が後段のセルCdに搬送される。
【0036】
つぎに、ロボット作業セルについて説明する。人作業セルと共通部分については説明を省略する。
【0037】
ロボット作業セルは、リソース群として、ロボットRと、作業パレット110と、前工程連結コンベア111と、後工程連結コンベア112と、コンベア制御機113と、到着検出センサ114と、カメラ115と、カメラ制御機116と、搬送ボタン117と、検査ボタン118と、モニタ119と、部品置き場121と、PLC130と、ロボットコントローラ131と、を有する。到着検出センサ114、カメラ115、カメラ制御機116、搬送ボタン117、検査ボタン118、モニタ119およびロボットコントローラ131は、黒太線で示したバスでPLC130に接続される。
【0038】
ロボットRは、作業者Wの替わりに部品キッティングを行う作業機械である。ロボットRは、部品置き場121から部品を取り出し、作業パレット110内の搬送物に組み付ける。ロボットコントローラ131は、PLC130からの指示に従ってロボットRを制御する。
【0039】
PLC130は、ラダープログラムにより、バスで接続されたリソースを制御するコントローラである。PLC130内のラダープログラムは、たとえば、人作業セルのPLC120内のラダープログラムを、ロボット作業セル用に変更したラダープログラムであり、ラダープログラム以外の構成は、PLC120と同一である。
【0040】
PLC130は、到着検出センサ114、カメラ115、といった入力機器からの信号を取り込み、プログラムに従って各種処理を実行し、コンベア制御機113、カメラ制御機116、ロボットコントローラ131といった出力機器を制御する。
【0041】
PLC130について具体的に説明する。PLC130は、ラダープログラムにより、部品キッティングと、カメラ検査と、パレット搬送と、を実行する。部品キッティングは、作業パレット110の搬送物に部品を組み付ける作業工程である。到着検出センサ114が作業パレット110の到着を検出すると、その検出信号がPLC130に入力される。
【0042】
PLC130は、到着検出センサ114からの検出信号が入力されると、コンベア制御機113に搬送停止信号を出力する。コンベア制御機113は、PLC130からの搬送停止信号が入力されると、後工程連結コンベア112を駆動停止する。これにより、作業パレット110の搬送が停止される。
【0043】
また、PLC130は、到着検出センサ114からの検出信号が入力されると、ロボットコントローラ131に部品キッティングの作業指示信号を出力する。ロボットコントローラ131は、PLC130からの作業指示信号が入力されると、ロボットRによる部品キッティングを制御する。ロボットRによる部品キッティングが終了すると、ロボットコントローラ131は、部品キッティングの作業完了信号をPLC130に出力する。
【0044】
カメラ検査は、部品キッティングされた搬送物をカメラ115で検査する作業工程である。PLC130は、部品キッティングの作業完了信号が入力されると、カメラ制御機116に、制御開始信号を出力する。カメラ115は、あらかじめカメラ制御機116に設定された撮像タイミングや撮像条件に従って、部品キッティングされた搬送物を撮像する。
【0045】
カメラ制御機116は、PLC120からの制御開始信号が入力されると、カメラ115による撮像の制御を開始し、カメラ115で撮像された、部品キッティングされた搬送物の画像データに基づいて、部品キッティングが正しく行われたか否かの検査を実行する。検査が完了すると、カメラ制御機116は、検査完了信号をPLC130に出力する。
【0046】
パレット搬送は、部品キッティングおよびカメラ検査が完了した搬送物が載せられた作業パレット110を後段のセルCdに搬送する作業工程である。PLC130は、検査完了信号が入力されると、コンベア制御機113に搬送開始信号を出力する。コンベア制御機113は、搬送開始信号が入力されると、後工程連結コンベア112を駆動開始する。これにより、作業パレット110が後段のセルCdに搬送される。
【0047】
ロボット作業セルには作業者Wがいないため、搬送ボタン117および検査ボタン118が押下されず、また、モニタ119に情報を表示する必要もない。
【0048】
なお、専用機作業セルは、ロボット作業セルからロボットR、ロボットコントローラ131が取り除かれたセル構成となる。また、専用機作業セルが、たとえば、搬送物内の異物検出を行うセルである場合、カメラ115がX線を曝射するX線曝射機になり、カメラ制御機116がX線曝射機を制御するX線曝射制御機になる。
【0049】
つぎに、人作業セル用のラダープログラムからロボット作業セル用のラダープログラムへの変更について説明する。設計装置100は、データベース(以下、DB)101にアクセス可能である。設計装置100は、DB101内の情報を用いて読み込み用ラダープログラム102を生成する。読み込み用ラダープログラム102は、人作業セル用のラダープログラムから変更された、書込み装置103に読み込ませるためのロボット作業セル用のラダープログラムである。
【0050】
書込み装置103は、PLCプログラミングソフトが実装されている計算機である。通常、書込み装置103では、PLCプログラミングソフト内のコーディング機能を用いて、人が、人作業セルからロボット作業セルへの変更箇所について検討し、コーディングしながら入力する。書込み装置103は、デバッグ機能により、コーディングされたラダープログラムをデバッグし、PLCに書き込む。
【0051】
これに対し、本実施例の場合、書込み装置103は、設計装置100によって生成された読み込み用ラダープログラム102を読み込み、デバッグ機能により、読み込み用ラダープログラム102をデバッグし、PLC130に書き込むため、書込み装置103でのコーディングが不要になる。
【0052】
なお、上記の例では、人作業セルからロボット作業セルへの変更について説明したが、ロボット作業セルから人作業セルへの変更でもよい。また、専用機作業セルについては図示していないが、人作業セルと専用機作業セルとの間の変更、および、ロボット作業セルと専用機作業セルとの間の変更についても同様である。
【0053】
<コンピュータのハードウェア構成例>
図2は、コンピュータ(設計装置100、書込み装置103、PLC120、130)のハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、コンピュータ200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF205は、ネットワークと接続し、データを送受信する。
【0054】
<DB101>
図3は、DB101の記憶内容の一例を示す説明図である。DB101は、リソース情報301と、ライン構成変更情報302と、作業割当変更情報303と、リソース別動作情報304と、ラダープログラム変更情報305と、リソース別変更作業時間情報306と、確認作業時間情報307と、作業実績情報308と、標準作業時間情報309と、生産変動情報310と、リソース状態情報311と、を有する。
【0055】
[リソース情報301]
図4は、リソース情報301の一例を示す説明図である。リソース情報301は、ラインLを構成するリソースに関する情報である。なお、リソース情報301は、リソースタイプ名テーブル400と、リソース名テーブル410と、を含む。リソースタイプ名テーブル400は、フィールドとして、リソースタイプID401と、リソースタイプ名402と、を有する。同一行の各フィールドの値の組み合わせにより、1つのリソースタイプが特定される。
【0056】
リソースタイプとは、上述したような、作業者WやロボットR、専用機のほか、さらに、セルCに含まれる作業パレット110、前工程連結コンベア111、後工程連結コンベア112、コンベア制御機113、到着検出センサ114、カメラ115、カメラ制御機116、搬送ボタン117,検査ボタン118、モニタ119、PLC120,130といった、リソースの種類を示す。
【0057】
リソースタイプID401は、リソースタイプを一意に特定する識別情報である。なお、以降、xxxIDyyy(「xxx」はIDの属性を特定する名称、「yyy」はIDの符号)の値が「zzz」であるxxxを、「xxx#zzz」と表記することがある。たとえば、リソースタイプID401の値が「1000」であれば、リソースタイプ#1000となる。
【0058】
リソースタイプ名402は、リソースタイプの名称である。リソース名テーブル410は、フィールドとして、リソースID411と、リソースタイプID401と、リソース名412と、を有する。同一行の各フィールドの値の組み合わせにより、1つのリソースが特定される。リソースID411は、リソースを一意に特定する識別情報である。リソース名412は、リソースの名称である。
【0059】
また、リソース情報301には、リソースタイプごとのコストや可搬重量、導入時期などの仕様を特定できる情報も含まれてもよい。
【0060】
[ライン構成変更情報302]
図5は、ライン構成変更情報302の一例を示す説明図である。ライン構成変更情報302は、ラインLを構成するリソース変更に関する情報である。ライン構成変更情報302は、フィールドとして、変更前セルID501と、変更前リソースID502と、変更後セルID503と、変更後リソースID504と、変更タイプ505と、を有する。同一行の各フィールドの値の組み合わせにより、1つのリソース変更が特定される。
【0061】
変更前セルID501は、ラインLを構成するリソース変更前のセルIDである。セルIDは、セルCを一意に特定する識別情報である。
【0062】
変更前リソースID502は、ラインLを構成するリソース変更前の変更対象となるリソースのリソースID401である。
【0063】
変更後セルID503は、ラインLを構成するリソース変更後のセルIDである。
【0064】
変更後リソースID504は、ラインLを構成するリソース変更後の変更対象となるリソースのリソースID401である。
【0065】
変更タイプ505は、ラインLを構成するリソース変更の種類を示す。具体的には、たとえば、変更タイプ505には、リソース入替、リソース削除、リソース追加、変更なしを示す「-」がある。変更タイプ505は、ライン構成変更時に、ライン変更の選択者またはライン変更を自動的に設定するプログラムによって記録される。
【0066】
リソース入替とは、変更前リソースID502で特定されるリソースから、変更後リソースID504で特定されるリソースに入れ替えることを示す。
【0067】
リソース削除とは、変更前リソースID502で特定されるリソースを、変更前セルIDで特定されるセルCから削除することを示す。変更タイプ505がリソース削除の場合、変更後セルID503および変更後リソースID504は変更されていないことを示す「-」となる。
【0068】
リソース追加とは、変更前セルIDで特定されるセルCに、変更後リソースID504で特定されるリソースを追加することを示す。変更タイプ505がリソース追加の場合、変更前セルID501および変更前リソースID502は変更されていないことを示す「-」となる。
【0069】
ライン構成変更情報302は、1以上存在する。ライン構成変更情報302により、変更後のライン構成が特定されるため、後述する変更案別スループットと変更なし案スループットを用いて、ラインLのサイクルタイムおよびスループットを算出することができる。また、ライン構成変更情報302により、ライン構成の変更箇所(変更後セルID503および変更後リソースID504)が特定されるため、ラダープログラムの変更箇所を特定することができ、変更作業時間の算出が可能になる。
【0070】
[作業割当変更情報303]
図6は、作業割当変更情報303の一例を示す説明図である。作業割当変更情報303は、ラインLを構成するリソースへの作業割当の変更に関する情報である。作業割当変更情報303は、フィールドとして、割当作業ID601と、変更前リソースID502と、変更後リソースID504と、を有する。
【0071】
同一行の割当作業ID601、変更前リソースID502および変更後リソースID504の値により、1つの作業割当におけるリソース変更が特定される。
【0072】
割当作業ID601は、作業割当として割り当てられた作業を一意に特定する識別情報である。「作業割当」とは、上述したように、たとえば、セルCの主たるリソースである作業者W、ロボットR、または専用機に、『ある部品の組付けを担当させる』、『ある部品の検査作業を担当させる』のように、組立作業手順内で各作業を割り当てることを意味する。
【0073】
ここで、割当作業は、ラインLを構成するセルCではなく、リソースに対応する。たとえば、ライン構成変更情報302の変更前セルC#5に、2台の「中型ロボット」がリソースとして存在したとする(たとえば、
図5のエントリ513の変更前リソース2002_3、エントリ514の変更前リソース2002_4)。
【0074】
この場合、作業割当変更情報303の割当作業#9のエントリ613には変更前リソース#2002_3が割り当てられ、割当作業#10のエントリ614には変更前リソース#2002_4に割り当てられている。すなわち、1つのセルC#5内でリソース#2002_3,#2002_4ごとに割当作業#9,#10が実施されることを示している。
【0075】
作業割当変更情報303は、1以上存在する。1つの変更案は、1つのライン構成変更情報302(
図5)と1つの作業変更情報303(
図6)との組み合わせである。したがって、ライン構成変更情報302(
図5)の数をM(≧1の整数)、作業変更情報303(
図6)の数をN(≧1の整数)とすると、変更案の総数は、M×Nである。
【0076】
[リソース別動作情報304]
図7は、リソース別動作情報304の一例を示す説明図である。リソース別動作情報304は、セルC内のリソースが実施する作業を示すラダープログラムのステップの詳細を示す情報である。リソース別動作情報304は、フィールドとして、ステップID701と、ステップ名702と、出力ポート703と、入力ポート704と、命令コマンド705と、工程名706と、作業実施リソースタイプ名707と、リソースタイプID708と、付帯リソースタイプ名709と、作業実施リソース固有動作該否710と、を有する。同一行の各フィールドの値の組み合わせにより、工程詳細動作に関するステップが特定される。
【0077】
ステップID701は、リソースが実施する工程を詳細化したラダープログラムで実行されるステップを一意に特定する識別情報である。同一のステップID701が複数行のエントリに重複して登録される場合もある。たとえば、ステップ#500であるステップ名702の「搬送開始指示」は、コンベアを起動する動作を表すが、2行分のエントリが存在する。作業実施リソースタイプ名707が異なるためである(「作業者」と「ロボット」)。
【0078】
具体的には、たとえば、作業実施リソースタイプ名707が「作業者」であればスイッチを押す、「小型ロボット」や「アドオンロボット」であれば信号を送るというように、起動方法がリソースにより異なり、また、PLC120との出力ポート703および入力ポート704も変わるためである。
【0079】
ステップ名702は、ステップID701で特定されるステップの名称である。
【0080】
出力ポート703は、ステップID701で特定されるステップで動作を実行するための出力信号が出力されるPLC120のポート番号である。
【0081】
入力ポート704は、ステップID701で特定されるステップでの検知信号または完了信号が入力されるPLC120のポート番号である。
【0082】
命令コマンド705は、ステップID701で特定されるステップの信号処理方法を示すコマンドである。命令コマンド705において、「OUT」は、PLCと接続されている制御機器に対してON/OFF信号を送るために、PLCの出力ポート703をONにする処理である。
【0083】
「AND」は、PLCの入力ポート704から受けたセンサのON/OFF信号に対して、複数信号を用いて設備動作が完了したか判定するための、ラダープログラム論理式である。たとえば、入力ポートX1、入力ポートX2がどちらもONになったら、次のステップに進むという処理をする場合に、『X1 AND X2』というような論理式のステップとなる。
【0084】
工程名706は、ステップID701で特定されるステップにおいてリソースが実施する工程の名称である。図示はしないが、工程名は、その工程を実施するセルCのセルIDと関連付けられていてもよい。たとえば、ラインLは、製品の組立作業として、キッティング→外観検査→組付け→搬送という4工程を実施する。具体的には、たとえば、セルC#1がキッティングを実施し、セルC#2が外観検査を実施し、セルC#3が組付けを実施し、セルC#4が搬送を実施する。
【0085】
作業実施リソースタイプ名707は、ステップID701で特定されるステップにおける工程を実施するリソースタイプのリソースタイプ名402である。
【0086】
リソースタイプID708は、作業実施リソースタイプ名707に対応するリソースタイプID401である。
【0087】
付帯リソースタイプ名709は、ステップID701で特定されるステップを作業実施リソースタイプ名707で特定されるリソースが実施する時に用いられる付帯リソースのリソースタイプ名402である。
【0088】
作業実施リソース固有動作該否710は、作業実施リソース固有動作に該当するか否かを示す。「○」が該当、「×」が非該当を示す。作業実施リソース固有動作とは、作業実施リソースタイプ名707で特定される作業実施リソースが工程名706の工程でのみ実施される固有の動作である。
【0089】
[ラダープログラム変更情報305]
図8は、ラダープログラム変更情報305の例1を示す説明図である。
図9は、ラダープログラム変更情報305の例2を示す説明図である。ラダープログラム変更情報305は、工程を詳細化したラダープログラムのステップとそのステップに対応する工程詳細動作とリソースとを定義した、リソース別のステップについてのラダープログラムの変更に関する情報であり、ラダープログラムのステップ単位の変更箇所が記述されている。
【0090】
ラダープログラム変更情報305は、フィールドとして、割当作業ID601と、ステップID701と、ステップ変更タイプ801と、ステップ変更内容タイプ802と、変更前入出力ポート803と、変更後入出力ポート804と、命令コマンド705と、変更案ID805と、スループット806と、を有する。同一行の各フィールドの値の組み合わせにより、割当作業ID601およびステップID701の組み合わせ別のラダープログラムの変更情報が特定される。
【0091】
割当作業ID601およびステップID701の組み合わせは、リソース別動作情報304(
図7)の全ステップを網羅するように、あらかじめ設定されている。
【0092】
ステップ変更タイプ801は、ステップID701で特定されるステップの変更種類を示す。具体的には、たとえば、ステップ変更タイプ801には、「削除ステップ」、「入替ステップ」、「作業割当除外ステップ」、「作業割当直前ステップ」といった変更種類がある。「-」は、変更なしを示す。
【0093】
「削除ステップ」とは、リソースが削除すべきステップである。
【0094】
「入替ステップ」とは、リソースの入替が行われるべきステップである。入替ステップについては、出力ポート703および入力ポート704を編集する必要がある。
【0095】
「作業割当除外ステップ」は、割当作業での作業割当を外されるべきリソースが実施する工程内のステップである。
【0096】
「作業割当直前ステップ」は、作業割当での作業割当を外されたリソースに代わって割り当てられる別のリソースが存在するセルCに追加されるべき当該作業割当のステップの直前のステップである。
【0097】
ステップ変更内容タイプ802は、ステップID701で特定されるステップの「追加」、「削除」、入出力信号の「値変更」といった変更内容の種類である。
【0098】
変更前入出力ポート803は、ステップID701で特定されるステップの変更前の出力ポート703または入力ポート704である。
【0099】
変更後入出力ポート804は、ステップID701で特定されるステップの変更後の出力ポート703または入力ポート704である。
【0100】
変更案ID805は、変更案を一意に特定する識別情報である。変更案とは、ラダープログラムの変更対象となるライン構成または作業割当を変更する案である。
【0101】
スループット806は、変更案ID805で特定される変更案における所定期間あたりの製品の生産台数である。
【0102】
なお、ラダープログラム変更情報305(
図9)は、変更案ごとに生成される。したがって、変更案ID805およびスループット806は、ラダープログラム変更情報305(
図9)のいずれかのエントリにのみ(
図9では、1行目のエントリ)に格納される。
【0103】
[リソース別変更作業時間情報306]
図10は、リソース別変更作業時間情報306の一例を示す説明図である。リソース別変更作業時間情報306は、リソース別の変更作業にかかる時間(変更作業時間)に関する情報である。リソース別変更作業時間情報306は、フィールドとして、リソースID401と、追加作業時間1001と、取外作業時間1002と、を有する。同一行の各フィールドの値の組み合わせにより、リソース別の変更作業時間が特定される。
【0104】
追加作業時間1001は、リソースタイプID401で特定されるリソースをラインLに追加するための作業時間である。取外作業時間1002は、リソースタイプID401で特定されるリソースをラインLから取り外すための作業時間である。
【0105】
[確認作業時間情報307]
図11は、確認作業時間情報307の一例を示す説明図である。確認作業時間情報307は、リソース別のステップの確認作業時間に関する情報である。確認作業時間情報307は、フィールドとして、リソースID401と、ステップID701と、確認作業時間1101と、を有する。
【0106】
確認作業時間1101は、リソースタイプID401で特定されるリソースタイプがステップID701で特定されるステップの動作を確認する作業時間である。
【0107】
[作業実績情報308]
図12は、作業実績情報308の一例を示す説明図である。作業実績情報308は、過去の生産実績に関する情報である。作業実績情報308は、フィールドとして、製品ID1201と、部品ID1202と、セルID1203と、リソースタイプID401と、ステップID701と、リソースID411と、日時1205と、着手時刻1206と、終了時刻1207と、を有する。同一行の各フィールドの値の組み合わせにより、過去の生産実績が特定される。
【0108】
製品ID1201は、製品を一意に特定する識別情報である。部品ID1202は、部品を一意に特定する識別情報である。セルID1203は、セルIDは、セルCを一意に特定する識別情報である。
【0109】
日時1205は、製品ID1201で特定される製品の生産において、たとえば、部品ID1202で特定される部品をセルID1203で特定されるセルCで組み付け等する実施日時である。着手時刻1206は、セルID1203で特定されるセルCが担当する工程に着手した時刻である。終了時刻1207は、セルID1203で特定されるセルCが担当する工程が終了した時刻である。
【0110】
[標準作業時間情報309]
図13は、標準作業時間情報309の一例を示す説明図である。標準作業時間情報3090は、リソース別の工程の標準作業時間に関する情報である。標準作業時間情報309は、フィールドとして、リソースタイプID401と、ステップID701と、標準作業時間1301と、平均作業時間1302と、を有する。
【0111】
標準作業時間1301は、リソースタイプID401で特定されるリソースタイプがステップID701で特定されるステップを実施する時の標準的な作業時間である。
【0112】
平均作業時間1302は、リソースタイプID401で特定されるリソースタイプがステップID701で特定されるステップを実施する時の実作業時間の平均値である。
【0113】
[生産変動情報310]
図14は、生産変動情報310の一例を示す説明図である。生産変動情報310は、現在、ラインLで発生している生産変動の発生箇所および状態に関する情報である。生産変動とは、故障や作業遅延により生産が変動することまたはそのような事象をいう。生産変動情報310は、フィールドとして、生産変動発生リソースID1401と、生産変動発生セルID1402と、変動タイプ1403と、検知時刻1404と、変動解消時刻1405と、を有する。同一行の各フィールドの値の組み合わせにより、生産変動の発生箇所および状態が特定される。
【0114】
生産変動発生リソースID1401は、生産変動が発生したリソースID411である。生産変動発生セルID1402は、生産変動発生リソースI1401で特定されるリソースが作業を実行している工程を担当するセルCのセルID1203である。
【0115】
変動タイプ1403は、生産変動発生リソースID1401で特定されるリソースに発生している変動の種類である。具体的には、たとえば、変動タイプ1403には、「故障」、「欠席」、「作業遅延」がある。
【0116】
検知時刻1404は、生産変動発生リソースID1401で特定されるリソースで生産変動が検知された時刻である。変動解消時刻1405は、生産変動発生リソースID1401で特定されるリソースで発生した生産変動が解消される予定時刻である。変動解消時刻1405は、たとえば、作業者Wのシフトが切り替わる時刻や設備故障の復旧見込み時刻である。
【0117】
生産変動情報310において、1行目のエントリは、生産変動発生リソースID1401の値「2001_3」(小型ロボットZ)は、検知時刻1404(2020/3/18 9:20)に故障されたことが検知され、変動解消時刻1405(2020/3/18 9:55)に解消が予定されることを示している。
【0118】
[リソース状態情報311]
図15は、リソース状態情報311の一例を示す説明図である。リソース状態情報311は、リソースの状態に関する情報である。リソース状態情報311は、フィールドとして、リソースID411と、リソース名412と、リソース状態1501と、作業者シフト開始時刻1502と、作業者シフト終了時刻1503と、設備故障予定復旧時刻1504と、を有する。同一行の各フィールドの値の組み合わせにより、リソースの状態が特定される。
【0119】
リソース状態1501は、リソースID411で特定されるリソースの状態である。状態には、たとえば、「正常」、「欠席」、「遅延」、「故障」がある。
【0120】
作業者シフト開始時刻1502は、生産変動発生リソースID1401で特定されるリソースが作業者Wである場合における、その作業者Wのシフト開始時刻である。
【0121】
作業者シフト終了時刻1503は、生産変動発生リソースID1401で特定されるリソースが作業者Wの場合における、その作業者Wのシフト終了時刻である。
【0122】
設備故障予定復旧時刻1504は、生産変動発生リソースID1401で特定されるリソースが設備で故障している場合における、その設備の予定復旧時刻である。
【0123】
リソース状態情報311において、たとえば、リソース#1000_3で特定される「作業者C」については、リソース状態1501の値が「遅延」であるため、作業者Cの作業が遅延しており、作業者Cは、作業者シフト開始時刻1502(2020/3/20 9:00)から作業者シフト終了時刻1503(2020/3/18 17:00)の間に作業していることがわかる。
【0124】
<ラダープログラムの設計処理手順>
図16は、ラダープログラムの設計処理手順例を示すフローチャートである。設計装置100は、変更箇所特定処理(ステップS1601)を実行する。具体的には、たとえば、設計装置100は、リソース情報301(
図4)と、ライン構成変更情報302(
図5)または作業割当変更情報303(
図6)と、リソース別動作情報304(
図7)と、に基づいて、ラダープログラム変更情報305(
図8)を更新する。すなわち、ラダープログラム変更情報305(
図8)において、ステップ変更タイプ801の列が追加される。変更箇所特定処理(ステップS1601)の詳細については、
図17で後述する。
【0125】
なお、ライン構成変更情報302(
図5)および作業割当変更情報303(
図6)をすべて読み込むことで、変更案の総数M×Nが特定される。たとえば、ライン構成変更情報302(
図5)の数が「3」、作業割当変更情報303(
図6)の数が「4」であれば、変更案の総数は「12」である。
【0126】
つぎに、設計装置100は、変更内容特定処理(ステップS1602)を実行する。具体的には、たとえば、設計装置100は、ライン構成変更情報302と、作業割当変更情報303と、リソース別動作情報304と、に基づいて、ラダープログラム変更情報305(
図8)を更新する。すなわち、対象となる割当作業ID601およびステップID701の組み合わせについて、ステップ変更内容タイプ802、変更前入出力ポート803、変更後入出力ポート804、命令コマンド705および変更案ID805の列が追加される(
図9を参照)。
【0127】
これにより、変更案に合わせたラダープログラムの変更内容が自動特定される。したがって、ラダープログラム変更工数が低減化される。変更内容特定処理(ステップS1602)の詳細については、
図18および
図19で後述する。
【0128】
設計装置100は、全ての変更案に対し、ステップS1601,S1602が完了している場合(ステップS1603:Yes)、ステップS1604に移行する。未処理の変更案が存在する場合(ステップS1603:No)、ステップS1601に戻る。
【0129】
一方、すべての変更案の変更範囲の特定が完了した場合(ステップS1603:Yes)、設計装置100は、変更作業時間が算出されていない変更案について、変更作業時間算出処理(ステップS1604)を実行する。具体的には、たとえば、設計装置100は、ライン構成変更情報302と、リソース別変更作業時間情報306と、に基づいて、ライン構成変更情報302に合わせてライン変更する時の変更作業時間を算出する。
【0130】
これにより、リソースの物理的なリソースの追加や取外しといった変更作業時間も考慮した生産効率の観点から、生産変動に対する対策として各変更案を評価することが可能になる。変更作業時間算出処理(ステップS1604)の詳細については、
図20で後述する。
【0131】
つぎに、設計装置100は、変更作業時間は算出されたが確認作業時間が算出されていない変更案について、確認作業時間算出処理(ステップS1605)を実行する。具体的には、たとえば、設計装置100は、リソース状態情報311と、生産変動情報310と、作業実績情報308と、に基づいて、変更案に合わせて変更したラダープログラムの確認作業時間を算出する。これにより、動作確認作業時間も考慮した生産効率の観点から、生産変動に対する対策として各変更案を評価することができる。確認作業時間算出処理(ステップS1605)の詳細については、
図21で後述する。
【0132】
つぎに、設計装置100は、変更作業時間および確認作業時間は算出されたがスループットが算出されていない変更案について、変更案別スループット算出処理(ステップS1606)を実行する。具体的には、たとえば、設計装置100は、リソース状態情報311と、生産変動情報310と、作業実績情報308と、標準作業時間情報309と、に基づいて、スループットを算出する。すなわち、対象となる割当作業ID601またはステップID701の組み合わせについて、スループット806の列が追加される(
図9を参照)。変更案別スループット算出処理(ステップS1606)の詳細については、
図22で後述する。
【0133】
設計装置100は、すべての変更案について変更作業時間、確認作業時間およびスループットの算出が完了したか否かを判断する(ステップS1607)。すべての変更案について変更作業時間、確認作業時間およびスループットの算出が完了していない場合(ステップS1607:No)、設計装置100は、変更作業時間、確認作業時間およびスループット算出が完了していない変更案について、ステップS1604~S1606を実行する。
【0134】
一方、すべての変更案について変更作業時間、確認作業時間およびスループットの算出が完了した場合(ステップS1607:Yes)、設計装置100は、変更なし案スループット算出処理(ステップS1608)を実行する。具体的には、たとえば、設計装置100は、リソース状態情報311と、生産変動情報310と、作業実績情報308と、に基づいて、変更を実行しない場合のスループット(変更なし案のスループット)を算出する。これにより、変更をしないという案も生産変動に対する対策として、生産効率の観点から評価することができる。変更なし案スループット算出処理(ステップS1608)の詳細については、
図23で後述する。
【0135】
つぎに、設計装置100は、スループット比較評価処理(ステップS1609)を実行する。具体的には、たとえば、設計装置100は、変更案のスループットと変更なし案のスループットとを比較して評価し、当該評価結果に基づいて、スループット最大となる最適案を選択する。これにより、1以上の変更案または変更なし案の中から、スループット最大となる最適案が自動特定されるため、ユーザは、生産変動発生時に実施すべき案を迅速に特定することができる。スループット比較評価処理(ステップS1609)の詳細については、
図24で後述する。
【0136】
そして、設計装置100は、ステップS1604~S1606、S1608、S1610の結果を出力する(ステップS1610)。具体的には、たとえば、設計装置100は、出力デバイス204の一例であるディスプレイに表示してもよく、通信IF205により、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して、他の計算機に送信してもよい。
【0137】
最後に、設計装置100は、最適案を変更前のラダープログラムに適用することにより、変更後のラダープログラムを生成する(ステップS1611)。
【0138】
これにより、設計装置100は、一連の処理を終了する。以下、ステップS1601、S1602、S1604~S1606、S1608、S1609の各処理の詳細について具体的に説明する。
【0139】
[変更箇所特定処理(ステップS1601)]
図17は、
図16に示した変更箇所特定処理(ステップS1601)の詳細な処理手順例を示すフローチャートである。
【0140】
(ステップS1701)
まず、設計装置100は、未選択のライン構成変更情報302(
図5)および作業割当変更情報303(
図6)の組み合わせ(1つの変更案)、リソース別動作情報304(
図7)およびラダープログラム変更情報305(
図8)を読み込む。
【0141】
(ステップS1702:削除ステップの特定)
つぎに、設計装置100は、ライン構成変更情報302(
図5)に基づいて、リソース別動作情報304(
図7)の中から、ライン構成変更情報302(
図5)内の削除される作業実施リソースが担当するステップ(以下、削除ステップ)を特定する。
【0142】
具体的には、たとえば、ライン構成変更情報302(
図5)内のエントリ510では、変更前セルID501の値が「2」で、かつ、変更前リソースID502の値が「2005_1」(アドオンロボット)であり、変更後セルID503および変更後リソースIDの値がともに「-」である。したがって、このリソース#2005_1(アドオンロボット)は、変更前セルC#2から取り外されたと特定される。
【0143】
エントリ510の作業実施リソース2005_1(アドオンロボット)のリソースタイプID401の値は、
図4のリソース情報301を参照すると、「2005」である。したがって、設計装置100は、
図7のリソース別動作情報304において、リソース#2005_1(アドオンロボット)のリソースタイプ#2005を含むステップID701の値「10004」,「503」のエントリ711、712を、削除ステップ候補として特定する。
【0144】
そして、設計装置100は、ラダープログラム変更情報305(
図8)において、削除ステップ候補とステップID701が一致するエントリを特定し、そのステップID701を削除ステップに決定する。
【0145】
具体的には、たとえば、削除ステップ候補のステップID701は、エントリ711の「10004」とエントリ712の「503」である。
【0146】
このうち、「503」がラダープログラム変更情報305(
図8)のエントリ811に存在する。したがって、ステップ#503が削除ステップとして特定される。
【0147】
(ステップS1703:入替ステップの特定)
つぎに、設計装置100は、ライン構成変更情報302(
図5)およびラダープログラム変更情報305(
図8)に基づいて、リソース別動作情報304(
図7)の中から、ライン構成変更情報302(
図5)内の入れ替えされる作業実施リソースが担当する動作のステップ(以下、入替ステップ)を特定する。
【0148】
具体的には、たとえば、ライン構成変更情報302(
図5)内のエントリ511では、変更前セルID501の値が「1」で、かつ、変更前リソースID502の値が「1000_1」であり、変更後セルID503の値は「1」で、変更後リソースID504の値は「2004_1」である。したがって、エントリ511では、変更前セルC#1内のリソース#1000_1がリソース#2004_1に入れ替えられたと特定される。
【0149】
エントリ511の変更前リソースID502の値により作業実施リソース#1000_1が特定される。そのリソースタイプID401の値は、リソース情報301(
図4)を参照すると、「1000」である。したがって、設計装置100は、リソース別動作情報304(
図7)において、作業実施リソース#1000_1のリソースタイプ#1000を含むステップID701の値「713」~「718」のエントリ713~718を、入替ステップ候補として特定する。
【0150】
また、ライン構成変更情報302(
図5)内のエントリ512では、変更前セルID501の値が「3」で、かつ、変更前リソースID502の値が「2002_1」であり、変更後セルID503の値は「3」で、変更後リソースID504の値は「1000_2」である。したがって、エントリ512では、変更前セルC#3内のリソース#2002_1がリソース#1000_2に入れ替えられたと特定される。
【0151】
また、ライン構成変更情報302(
図5)内のエントリ515では、変更前セルID501の値が「4」で、かつ、変更前リソースID502の値が「2002_2」であり、変更後セルID503の値は「4」で、変更後リソースID504の値は「2003_1」である。したがって、エントリ515では、変更前セルC#4内のリソース#2002_2がリソース#2003_1に入れ替えられたと特定される。
【0152】
エントリ512の変更前リソースID502の値により作業実施リソース#2002_1が特定される。そのリソースタイプID401の値は、リソース情報301(
図4)を参照すると、「2002」である。したがって、設計装置100は、リソース別動作情報304(
図7)において、リソースタイプ2002が作業実施リソース#2002_1であるステップID701の値「10021」、「10022」、「10023」のエントリ719,720,721を、入替ステップ候補として特定する。
【0153】
また、エントリ515の変更前リソースID502の値により作業実施リソース#2002_2が特定される。そのリソースタイプID401の値は、リソース情報301(
図4)を参照すると、「2002」である。したがって、設計装置100は、リソース別動作情報304(
図7)において、リソースタイプ#2002が作業実施リソース#2002_2であるステップID701の値「10021」、「10022」、「10023」のエントリ719,720,721を、入替ステップ候補として特定する。
【0154】
そして、設計装置100は、ラダープログラム変更情報305(
図8)において、入替ステップ候補とステップID701が一致するエントリを特定し、そのステップID701を入替ステップに決定する。
【0155】
具体的には、たとえば、入替ステップ候補のステップID701は、エントリ713の「10001」と、エントリ714の「10004」と、エントリ715の「10007」と、エントリ716の「10021」と、エントリ717の「10022」と、エントリ719の「10021」と、エントリ720の「10022」と、エントリ721の「10023」である。
【0156】
このうち、「10001」がラダープログラム変更情報305(
図8)のエントリ812に存在し、「10021」がラダープログラム変更情報305(
図8)のエントリ813に存在し、「10022」がラダープログラム変更情報305(
図8)のエントリ814に存在し、「10023」がラダープログラム変更情報305(
図8)のエントリ815に存在する。したがって、ステップ#10001,#10021,#10022,#10023が入替ステップとして特定される。
【0157】
(ステップS1704:作業割当除外ステップの特定)
つぎに、設計装置100は、作業割当変更情報303(
図6)およびラダープログラム変更情報305(
図8)に基づいて、リソース別動作情報304(
図7)の中から、作業割当変更情報303(
図6)内の作業割当が外される作業実施リソースまたは付帯リソースが担当する動作のステップ(以下、作業割当除外ステップ)を特定する。
【0158】
具体的には、たとえば、作業割当変更情報303(
図6)のエントリ611で特定される割当作業#5において、変更前リソース#2002_1から変更後リソース#1000_1に変更されている。ライン構成変更情報302(
図5)の変更前セルID501を参照すると、変更前リソース#2002_1が所属するセルCは、セルC#3であり、変更後リソース#1000_1が所属するセルCは、セルC#1である。このため、変更前リソース#2002_1は、セルC#3における割当作業#5の作業割当から除外されたリソースとして特定される。
【0159】
割当作業#5の変更前リソースID502の値により変更前リソースである作業実施リソース#2002_1が特定される。そのリソースタイプID401の値は、リソース情報301(
図4)を参照すると、「2002」である。したがって、設計装置100は、リソース別動作情報304(
図7)において、作業実施リソース#2002_1のリソースタイプID708の値「2002」を含むステップID701の値「10021」,「10022」,「10023」のエントリ719,720,721を、作業割当除外ステップ候補として特定する。
【0160】
同様に、作業割当変更情報303(
図6)のエントリ611で特定される割当作業#7において、変更前リソース#2002_1から変更後リソース#2005_1に変更されている。ライン構成変更情報302(
図5)の変更前セルID501を参照すると、変更前リソース#2002_1が所属するセルCは、セルC#3であり、変更後リソース#2005_1が所属するセルCは、セルC#2である。このため、リソース#2002_1は、セルC#3における割当作業#5の作業割当を外されたリソースとして特定される。
【0161】
割当作業#7の変更前リソースID502の値により作業実施リソース#2002_1が特定される。そのリソースタイプID401の値は、リソース情報301(
図4)を参照すると、「2002」である。したがって、設計装置100は、リソース別動作情報304(
図7)において、作業実施リソース#2002_1のリソースタイプID708の値「2002」を含むステップID701の値「10021」,「10022」,「10023」のエントリ719,720,721を、作業割当除外ステップ候補として特定する。
【0162】
そして、設計装置100は、ラダープログラム変更情報305(
図8)において、作業割当除外ステップ候補とステップID701が一致するエントリを特定し、そのステップID701を作業割当除外ステップに決定する。
【0163】
具体的には、たとえば、作業割当除外ステップ候補のステップID701は、エントリ719の「10021」と、エントリ720の「10022」と、エントリ721の「10023」と、である。このうち、「10021」がラダープログラム変更情報305(
図8)のエントリ813に存在し、「10022」がラダープログラム変更情報305(
図8)のエントリ814に存在し、「10023」がラダープログラム変更情報305(
図8)のエントリ815に存在する。したがって、ステップ#10021,#10022,#10023が作業割当除外ステップとして特定される。
【0164】
(ステップS1705:作業割当直前ステップの特定)
つぎに、設計装置100は、ライン構成変更情報302(
図5)およびラダープログラム変更情報305(
図8)に基づいて、リソース別動作情報304(
図7)の中から、作業割当変更情報303(
図6)内の変更により追加される作業割当の直前に行う動作のステップ(以下、作業割当直前ステップ)を特定する(ステップS1705)。
【0165】
具体的には、たとえば、作業割当変更情報303(
図6)のエントリ611で特定される割当作業#5は、ライン構成変更情報302(
図5)において変更前リソース#2002_1から変更後リソース#1000_1に変更されている。
【0166】
そのため、ライン構成変更情報302(
図5)において変更後リソース#1000_1が存在するセルC#2の動作シーケンス内に、割当作業#5で実行されるステップを追加する必要がある。すなわち、割当作業#5の変更前リソース#2002_1の代わりに変更後リソース#1000_1が行う作業のステップの直前のステップとは、1つ前の割当作業#4で実行される最後のステップ#10022である。したがって、ステップ#10022が作業割当直前ステップとして特定される。
【0167】
(ステップS1706)
つぎに、設計装置100は、ラダープログラムの変更箇所として特定された削除ステップ、入替ステップ、作業割当除外ステップ、作業割当直前ステップの各ステップを、ステップ変更タイプ801として、
図9に示すように、ラダープログラム変更情報305に登録する。
【0168】
具体的には、たとえば、設計装置100は、ラダープログラム変更情報305(
図9)のエントリ811のステップ変更タイプ801に「削除ステップ」を書き込む。また、設計装置100は、ラダープログラム変更情報305(
図9)のエントリ812,813,814,816のステップ変更タイプ801に「入替ステップ」を書き込む。また、設計装置100は、ラダープログラム変更情報305(
図9)のエントリ813,814,816のステップ変更タイプ801に「作業割当除外ステップ」を書き込む。また、設計装置100は、ラダープログラム変更情報305(
図9)のエントリ814のステップ変更タイプ801に「作業割当直前ステップ」を書き込む。このあと、変更内容特定処理(ステップS1602)に移行する。
【0169】
[変更内容特定処理(ステップS1602)]
図18は、
図16に示した変更内容特定処理(ステップS1602)の詳細な処理手順例を示すフローチャート(前半)である。
【0170】
(ステップS1801)
設計装置100は、ライン構成変更情報302(
図5)と、作業割当変更情報303(
図6)と、リソース別動作情報304(
図7)と、変更箇所特定処理(ステップS1601)で更新されたラダープログラム変更情報305(
図9)と、を読み込む。
【0171】
(ステップS1802:削除対象ステップの指定)
設計装置100は、作業割当除外ステップとして特定した、作業割当変更情報303(
図6)内の削除される作業割当に対応するラダープログラム変更情報305(
図9)内のステップを、削除対象ステップに指定する。
【0172】
具体的には、たとえば、ラダープログラム変更情報305(
図9)の割当作業ID#5は、ステップ変更タイプ801より作業割当除外ステップと特定されている。このステップ#10023が削除対象ステップとなる。したがって、設計装置100は、ラダープログラム変更情報305(
図9)のエントリ815のステップ変更内容タイプ802に「削除」を書き込む。
【0173】
(ステップS1803:追加対象ステップの指定1)
つぎに、設計装置100は、作業割当変更情報303(
図6)内の追加される作業割当に対し、リソース別動作情報304(
図7)より第1追加動作ステップを特定する。ステップS1803は、ラインLを構成するセルCに対してリソースを変更せずに作業を割り当てる処理である。設計装置100は、ステップS1705で特定された作業割当直前ステップの後に、ラダープログラム変更情報305内の第1追加動作ステップを追加対象ステップとして指定する。
【0174】
たとえば、作業割当変更情報303(
図6)のエントリ611において、割当作業#5は、変更前リソース#2002_1に割当られていたが、作業割当変更により、変更後リソース#1000_1(作業者A)に変更されている。そのため、変更後リソース#1000_1が存在するセルC内の動作シーケンス内に割当作業#5をおこなうステップを追加する必要がある。
【0175】
その追加する直前のステップが作業割当直前ステップとして特定される(ステップS1705)。ステップS1803では、設計装置100は、ラダープログラム変更情報305(
図9)内の作業割当直前ステップ以降の行に、変更後のリソースタイプ#1000(作業者W)が割当作業#5をおこなうステップ(第1追加動作ステップ)#10023を追加対象ステップとして追加する。
【0176】
具体的には、たとえば、リソース別動作情報304(
図7)において、エントリ722は、変更後のリソースタイプ#1000であり、かつ、ステップ(第1追加動作ステップ)#10023である。設計装置100は、エントリ722の出力ポート703である「Y33」と、命令コマンド705である「OUT」と、を特定する。そして、設計装置100は、ラダープログラム変更情報305(
図9)において、エントリ900として、ステップ(第1追加動作ステップ)#10023を追加する。そして、設計装置100は、エントリ900に、ステップ(第1追加動作ステップ)#10023の変更後入出力ポート804に、エントリ722の出力ポート703である「Y33」を格納し、命令コマンド705に、エントリ722の命令コマンド705「OUT」を格納する。
【0177】
また、設計装置100は、ラダープログラム変更情報305(
図9)のエントリ900のステップ変更内容タイプ802に「追加」を書き込む。
【0178】
(ステップS1804:削除対象ステップの指定)
つぎに、設計装置100は、削除ステップとして特定されたライン構成変更情報302(
図5)内の削除リソースが担当するラダープログラム変更情報305内のステップを、削除対象ステップに指定する。
【0179】
たとえば、
図9において、割当作業#3は、ステップ変更タイプ801よりステップ#503が削除ステップと特定される。これにより、ステップ#503が削除対象ステップとなる。したがって、設計装置100は、ラダープログラム変更情報305(
図9)のステップ#503を示すエントリ811のステップ変更内容タイプ802に「削除」を書き込む。
【0180】
(ステップS1805:追加対象ステップの指定2)
つぎに、設計装置100は、ライン構成変更情報302(
図5)内の追加リソースおよびその追加リソースへの割当作業に対し、ステップS1705で特定された作業割当直前ステップの後に、リソース別動作情報304より第2追加動作ステップを特定する。ステップS1805は、セルCにリソースを物理的に入れたことにより作業が変化する処理を示す。設計装置100は、ラダープログラム変更情報305内の第2追加動作ステップを追加対象ステップに指定する。
【0181】
たとえば、ライン構成変更情報302(
図5)のエントリ516では、リソース#2005_1(アドオンロボット)がセルC#2から取り外されてきて(エントリ510)、セルC#3に追加されている。そして、作業割当変更情報303(
図6)の割当作業#7に、その追加されてきたリソース#2005_1が割当られている(エントリ612)。したがって、リソース#2005_1が追加リソースであり、エントリ612の割当作業#7が追加リソースへの割当作業である。
【0182】
ステップS1705で特定された作業割当直前ステップは、上述したように、ステップ#10022である。設計装置100は、リソース別動作情報304(
図7)において、追加リソースへの割当作業である割当作業#7のステップが入る直前の作業割当直前ステップ#10022の後に、リソースタイプが割当作業#7をおこなうステップを、第2追加動作ステップとして追加する。したがって、設計装置100は、ラダープログラム変更情報305(
図9)のステップ#503を示すエントリ900のステップ変更内容タイプ802に「追加」を書き込む。そして、
図19のステップS1901に移行する。
【0183】
なお、ステップS1805では、同じステップがステップS1803によりラダープログラム変更情報305に追加されている場合は、第2追加動作ステップとして特定しない。
【0184】
図19は、
図16に示した変更内容特定処理(ステップS1602)の詳細な処理手順例を示すフローチャート(後半)である。
【0185】
(ステップS1901)
設計装置100は、ライン構成変更情報302(
図5)内の変更内容タイプ802が未特定の入替リソースについて、リソース別動作情報304(
図7)より変更前後のリソースが担当する作業の動作ステップ数が異なるか否かを判定する。ライン構成変更情報302(
図5)内の変更内容タイプ802が未特定の入替リソースとは、変更箇所特定処理(ステップS1601)で、「入替ステップ」としてリソース入替されることが特定されている(ステップ変更タイプ801が「入替ステップ」)が、まだ、変更内容特定処理(ステップS1602)で変更内容タイプ802が特定されていないリソースである。
【0186】
変更箇所特定処理(ステップS1602)の開始時点では、ラダープログラム変更情報305内のステップ変更タイプ801が「入替ステップ」になっている割当作業#1のステップ#10001、割当作業#4のステップ#10021について、変更内容タイプ802が未特定である。これらのステップ#10001、ステップ#10021の動作を行う入替リソースが、この変更内容タイプ802が未特定の入替リソースに該当する。
【0187】
リソース別動作情報304(
図7)より変更前後のリソースが担当する作業の動作ステップ数が異なるか否かの判定の例について説明する。たとえば、作業者WがキッティングするセルCで、キッティング検査のカメラ検査機処理を指示し、完了したらコンベア搬送作業に遷移する流れの場合、作業者Wがキッティング指示表示を基にキッティング作業をし(エントリ713のステップ#10001)、スイッチで検査開始スイッチを押し(エントリ714のステップ#10004)、カメラコントローラが検査プログラムを実行し(ステップ#10005)、そしてカメラコントローラが検査完了の信号を出力して(ステップ#10006)、作業者Wに向けモニタで検査完了報告を出力し(ステップ#10007)、それを見た作業者Wがコンベア搬送スイッチを押す(エントリ718のステップ#500)というシーケンスがある。
【0188】
作業者Wからロボットにリソースを変更する場合は、たとえば、ラダープログラム変更情報305(
図9)の割当作業#11のように、ステップ#10006の検査完了信号が出力されると割当作業#12のステップ#500のコンベア起動をすればよく、割当作業#11のステップ#10007の作業者W向けにモニタで完了報告を出力するという作業者W固有の1ステップが削除される。
【0189】
このように、カメラ検査作業という同じ作業でもリソースによりステップ数が変わる。このリソース固有の動作によるステップ数違いを考慮して、以降のステップS1902、ステップS1903が実行される。
【0190】
ステップ数が異なる場合(ステップS1901:Yes)、ステップの追加または削除処理が必要なため、ステップS1902に移行する。ステップ数が同じ場合(ステップS1902:No)、ステップの追加または削除が不要であるが、出力ポート703または入力ポート704を変更する必要があるため、ステップS1904に移行する。
【0191】
(ステップS1902)
ステップS1902に移行した場合、設計装置100は、リソース別動作情報304(
図7)より、その入替リソースが担当する作業について、変更前リソースに固有な動作のステップを削除対象ステップに指定する。
【0192】
たとえば、ラダープログラム変更情報305(
図9)のステップ#10001の割当作業#1は、作業割当変更情報303(
図5)に示したように、リソース#1000_8(人)からリソース2004_1(ロボット)にリソース変更された箇所である。
【0193】
コンベアで部品パレットが搬送され、キッティングを人に開始させる場合は、『モニタにキッティング開始指示を表示させる』という作業者W特有のステップが必要である。逆に、作業者Wからロボットに変わった場合は、上記の作業者W特有のステップは不要になる。
【0194】
そのため、このステップに該当するリソース別動作情報304(
図7)におけるエントリ713のステップ#10001は、ラダープログラム内から削除される指定となる。したがって、ラダープログラム変更情報305(
図9)の割当作業#1のステップ#10001におけるステップ変更内容タイプ802は、「削除」となる。
【0195】
(ステップS1903)
つぎに、設計装置100は、リソース別動作情報304(
図7)より、その入替リソースが担当する作業について、変更後リソースに固有な動作のステップを追加対象ステップに指定する。
【0196】
たとえば、リソース#1000_1(作業者)に入れ替わり、コンベア搬送を作業者Wが実行指示する場合、『スイッチを押して実行させる』という作業者W特有の動作が必要である。したがって、リソース別動作情報304(
図7)のエントリ718(ステップ#500,作業実施リソースタイプ名707「作業者」,リソースタイプID708の値「1000」)に該当するステップが追加されることになる。
【0197】
(ステップS1904)
つぎに、設計装置100は、ライン構成変更情報302(
図5)内の入替リソース(変更タイプ505が「リソース入替」である変更前リソースID502で特定されるリソース)が担当する作業について、リソース別動作情報304(
図7)より、変更前入出力ポート803および変更後入出力ポート804と、命令コマンド705と、を特定する。
【0198】
具体的には、たとえば、設計装置100は、ライン構成変更情報302(
図5)内の入替リソース(変更タイプ505が「リソース入替」である変更前リソースID502で特定されるリソース)が担当するステップの出力ポート703または入力ポート704を、変更前入出力ポート803として特定する。
【0199】
たとえば、ライン構成変更情報302(
図5)のエントリ512の変更タイプ505は「リソース入替」である。このエントリ512の変更前リソースID502で特定されるリソースは、リソース#2002_1であり、そのリソースタイプIDは「2002」(中型ロボット)である。
【0200】
変更前のリソース#2002_1に割り当てられた割当作業は、作業割当変更情報303(
図6)より、割当作業#5,#6,#7である。割当作業#5,#6に対応するステップは、ラダープログラム変更情報305(
図9)より、ステップ#10023、#10012である(割当作業#7に対応するステップID701は不図示)。設計装置100は、リソース別動作情報304(
図7)を参照して、リソースタプID708が「2002」(中型ロボット)であるステップ#10023、#10012の出力ポート703、入力ポート704を、変更前入出力ポート803として特定する。
【0201】
具体的には、たとえば、エントリ724の#10012の出力ポート703:「Y15」が、変更前入出力ポート803として特定され、エントリ721の#10023の出力ポート703:「D14」が、変更前入出力ポート803として特定される。
【0202】
また、設計装置100は、変更後リソース(変更後リソースID504で特定されるリソース))で実施する場合の出力ポート703または入力ポート704を、変更後入出力ポート804として特定する。
【0203】
たとえば、ライン構成変更情報302(
図5)のエントリ512の変更タイプ505は「リソース入替」である。このエントリ512の変更後リソースID504で特定されるリソースは、リソース#1000_2であり、そのリソースタイプIDは「1000」(作業者)である。変更後のリソース#1000_2に割り当てられた割当作業は、作業割当変更情報303(
図6)より、エントリ615の割当作業#6である。この割当作業#6に対応するステップは、ラダープログラム変更情報305(
図9)より、エントリ816のステップ#10012である。設計装置100は、リソース別動作情報304(
図7)を参照して、リソースタプID708が「1000」であるステップ#10012の出力ポート703、入力ポート704を、変更後入出力ポート803として特定する。
【0204】
具体的には、たとえば、エントリ723の#10012の出力ポート703:「Y102」が、変更前入出力ポート803として特定される。
【0205】
設計装置100は、変更後リソース(変更後リソースID504で特定されるリソース))が担当するステップの出力ポート703または入力ポート704と同一エントリの命令コマンド705をリソース別動作情報304(
図7)から特定する。
【0206】
設計装置100は、特定した変更前入出力ポート803、変更後入出力ポート804および命令コマンド705を、ラダープログラム変更情報305(
図9)の当該ステップのエントリ(ラダープログラム変更情報305(
図9)内の、現在のステップS1904で処理しているリソースおよびそのステップID701のエントリにおける、変更前入出力ポート803、変更後入出力ポート804および命令コマンド705)に保存し、ステップ変更内容タイプ802を「値変更」に設定する。これにより、当該ステップは、値変更するステップに指定される。
【0207】
たとえば、ラダープログラム変更情報305(
図9)の割当作業#6およびステップ#10012のエントリ816のように、動作をするリソースが入れ替わった場合(ステップ変更タイプ801が「入替ステップ」のエントリ)は、PLC120の出力ポート703および入力ポート704も変更される。
【0208】
このため、設計装置100は、ラダープログラム変更情報305(
図9)の変更前入出力ポート803として「Y15」を特定し、変更後入出力ポート804として「Y102」を特定する。したがって、ラダープログラム変更情報305(
図9)において、当該ステップのステップ変更内容タイプ802が「値変更」に設定され、変更前入出力ポート803「Y15」から変更後入出力ポート804「Y102」に変更される。
【0209】
(ステップS1905)
つぎに、設計装置100は、ライン構成変更情報302(
図5)内の全ての入替リソースの変更内容特定が完了したか否かを判定する。完了していない場合(ステップS1905:No)、ステップS1901に戻り、設計装置100は、変更内容未特定の入替リソースについて、ステップS1901~S1904を実行する。一方、全ての入替リソースの変更内容特定が完了した場合(ステップS1905:Yes)、ステップS1906に移行する。
【0210】
(ステップS1906)
つぎに、設計装置100は、ラダープログラム変更情報305(
図9)に、現在処理中の変更案に固有の変更案ID805を付与して格納する。
図9の例では、変更案ID805として「6」が格納されている。そして、ステップS1603に移行する。
【0211】
このようにして、変更内容特定処理(ステップS1602)では、設計装置100は、変更箇所となるステップに対し、新たなステップを追加したり、ステップ自体は変えず、出力ポート703または入力ポート704だけを変更したりするといった変更内容を特定する。設計装置100は、この特定した変更内容により、ラダープログラム変更情報305(
図8)を
図9のように更新する。
【0212】
[変更作業時間算出処理(ステップS1604)]
図20は、
図16に示した変更作業時間算出処理(ステップS1604)の詳細な処理手順例を示すフローチャートである。
【0213】
(ステップS2001)
設計装置100は、ライン構成変更情報302(
図5)と、リソース別変更作業時間情報306(
図10)と、を読み込む。
【0214】
(ステップS2002)
設計装置100は、ライン構成変更情報302(
図5)の計算対象変更案の変更対象各リソース(変更前リソースID502で特定される変更前リソース)に対し、リソース名およびその変更タイプに対応するリソース別変更作業時間情報306(
図10)内の変更作業時間を特定する。
【0215】
たとえば、ライン構成変更情報302(
図5)において、変更前セル#3の変更前リソース#2002_1(中型ロボットP)は、リソースタイプ#2002(中型ロボット)に属する(リソース情報301(
図4)を参照。)。
【0216】
ライン構成変更情報302(
図5)において、変更前セル#3の変更前リソース#2002_1(中型ロボットP)は、変更後リソース#1000_2(作業者B)に変更される。変更後リソース#1000_2(作業者B)は、リソースタイプ#1000(作業者)に属する(リソース情報301(
図4)を参照。)。
【0217】
リソース別変更作業時間情報306(
図10)を参照すると、変更前のリソースタイプ#2002(中型ロボット)の取外し作業時間1002は、「20」分であり、変更後のリソースタイプ#1000(作業者)の追加作業時間1001は「5」分である。すなわち、変更前リソース#2002_1(中型ロボットP)の取外しに20分かかり、変更後リソース#1000_2(作業者B)の追加に5分かかることが特定される。
【0218】
(ステップS2003)
設計装置100は、リソース別変更作業時間情報306(
図10)を用いてステップS2002で特定した追加作業時間1001および取外し作業時間1002の和を、その変更案の変更作業時間として算出する。
【0219】
たとえば、上記の例では、設計装置100は、変更前のリソースタイプ#2002(中型ロボット)の取外し作業時間1002は、「20」分と、変更後のリソースタイプ#1000(作業者)の追加作業時間1001は「5」分と、の和として25分を算出する。なお、「20」分および「5」以外にも追加作業時間1001および取外し作業時間1002が存在すれば加算される。
【0220】
これにより、設計装置100は、変更作業時間算出処理(ステップS1604)を終了し、確認作業時間算出処理(ステップS1605)に移行する。
【0221】
[確認作業時間算出処理(ステップS1605)]
図21は、
図16に示した確認作業時間算出処理(ステップS1605)の詳細な処理手順例を示すフローチャートである。
【0222】
(ステップS2101)
設計装置100は、ラダープログラム変更情報305(
図9)と、確認作業時間情報307(
図11)と、を取得する。
【0223】
(ステップS2102)
設計装置100は、ラダープログラム変更情報305(
図9)において、計算対象変更案の追加ステップまたはステップ内値変更対象ステップと、そのステップを実行するリソースとの組み合わせごとに、対応する確認作業時間1101を特定する。
【0224】
たとえば、リソースタイプ#2002(中型ロボット)がステップ#10001をするためにはリソースタイプ#2002(中型ロボット)の動作を実行してミスなく安全な動作で作業が成功することを何回か繰り返し確認する必要がある。その確認作業時間1101に「15」分かかるということが、確認作業時間情報307(
図11)から特定される(エントリ1111を参照。)。
【0225】
(ステップS2103)
設計装置100は、ステップS2102における組み合わせごとの確認作業時間1101の総和(総確認作業時間)を算出する。
【0226】
これにより、設計装置100は、確認作業時間算出処理(ステップS1605)を終了し、変更案別スループット算出処理(ステップS1606)に移行する。
【0227】
[変更案別スループット算出処理(ステップS1606)]
図22は、
図16に示した変更案別スループット算出処理(ステップS1606)の詳細な処理手順例を示すフローチャートである。
【0228】
(ステップS2201)
設計装置100は、ライン構成変更情報302(
図5)と、作業実績情報308(
図12)と、標準作業時間情報309(
図13)と、変更作業時間算出処理(ステップS1604)によって算出された変更案別の変更作業時間(
図20)と、確認作業時間算出処理(ステップS1605)によって算出された変更案別の総確認作業時間(
図21)と、を取得する。
【0229】
(ステップS2202)
設計装置100は、作業実績情報308(
図12)を参照して、任意期間の現在の各生産リソース/セルC別の平均作業時間を算出する。具体的には、たとえば、設計装置100は、同一のセルID1203のエントリごとに、終了時刻1207から着手時刻1206を引いた実績作業時間を算出して総和を求め、同一のセルID1203のエントリ数で割ることで、そのセルID1203の平均作業時間を算出することができる。
【0230】
たとえば、作業実績情報308(
図12)において、セルID1203が「1」のセルC#1については、任意期間内に2つのエントリ(1行目のエントリと5行目のエントリ)が存在したとする。1行目のエントリについて終了時刻1207から着手時刻1206を引いた実績作業時間は40(秒)であり、5行目のエントリについて終了時刻1207から着手時刻1206を引いた実績作業時間は50(秒)である。したがって、実績作業時間の総和は、90(秒)であり、エントリ数「2」で割ると、セルC#1の平均作業時間は45(秒)と算出される。
【0231】
設計装置100は、セルC#1以外の他のセルC#2~C#4についても、同様に平均作業時間を算出する。
【0232】
同様に、設計装置100は、同一のリソースID411のエントリごとに、終了時刻1207から着手時刻1206を引いた実績作業時間を算出して総和を求め、同一のリソースID411のエントリ数で割ることで、そのリソースID411の平均作業時間を算出することができる。
【0233】
たとえば、作業実績情報308(
図12)において、リソースID411が「2004_1」のリソース#2004_1については、任意期間内に2つのエントリ(1行目のエントリと5行目のエントリ)が存在したとする。1行目のエントリについて終了時刻1207から着手時刻1206を引いた実績作業時間は40(秒)であり、5行目のエントリについて終了時刻1207から着手時刻1206を引いた実績作業時間は50(秒)である。したがって、実績作業時間の総和は、90(秒)であり、エントリ数「2」で割ると、リソース#2004_1の平均作業時間は45(秒)と算出される。
【0234】
設計装置100は、リソース#2004_1以外の他のリソース#1001_1,#1000_2,#2003_1についても、同様に平均作業時間を算出する。
【0235】
(ステップS2203)
設計装置100は、ライン構成変更情報302(
図5)と、現在の各リソース/セルC別の平均作業時間1302(その平均作業時間1302に直近の平均作業時間1302がない新規のリソース/作業割当の組み合わせ(あるリソースに割り当てられたある作業)に対しては、標準作業時間1301)と、を用いて、各工程のCycle Time(以降、CTと称す)を算出し、ラインL内で最長のCTを変更後のラインCT(変更後ラインCT)として算出する。
【0236】
具体的には、あるセルCが担当する工程が複数のステップ(ステップID701で特定)の作業で構成される場合、設計装置100は、ステップID701ごとに、平均作業時間1302(または標準作業時間1301)を、標準作業時間情報309(
図13)から取得する。
【0237】
たとえば、セルC#1が実施するキッティングの場合、リソース別動作情報304(
図7)を参照すると、ステップ#10001~10003が実施される。設計装置100は、ステップ#10001について、エントリ1311の平均作業時間1302の値「6」と、エントリ1321の平均作業時間1302の値「28」と、を取得する。
【0238】
同様に、設計装置100は、ステップ#10002について、エントリ1312の平均作業時間1302の値「11」と、エントリ1322の平均作業時間1302の値「11」と、を取得する。同様に、設計装置100は、ステップ#10003について、エントリ1312の平均作業時間1302の値「10」と、エントリ1322の平均作業時間1302の値「5」と、を取得する。
【0239】
同一ステップID701について複数の平均作業時間1302の値が取得された場合は、設計装置100は、統計値を算出する。統計値は、最大値でもよく最小値でもよく平均値でもよい。統計値を最大値とした場合、設計装置100は、ステップ#10001については、平均作業時間1302の値「28」を算出し、ステップ#10002については、平均作業時間1302の値「11」を算出し、ステップ#10003については、平均作業時間1302の値「10」を算出する。
【0240】
設計装置100は、算出したステップID701ごとの各平均作業時間1302の値の総和を算出する。上記のステップ#10001~10003の場合、設計装置100は、統計値を最大値としたため、ステップ#10001の平均作業時間1302の値「28」と、ステップ#10002の平均作業時間1302の値「11」と、ステップ#10003の平均作業時間1302の値「10」と、を加算して、セルC#1のCTとして「49」を算出する。
【0241】
設計装置100は、セルC#1以外の他のセルCについても同様にCTを算出する。そして、設計装置100は、各セルCのCTのうち最長CTを変更後ラインCTに決定する。
【0242】
(ステップS2204)
設計装置100は、ステップS2201で取得された変更案別の変更作業時間(
図20)および変更案別の総確認作業時間(
図21)と、ステップS2203によって算出された変更後ラインCTと、に基づいて、現時刻からの任意期間の第1スループットを算出する。たとえば、第1スループットTP1は下記式(1)により変更案毎に算出される。
【0243】
TP1=現時刻からの任意期間-変更案別の変更作業時間-(変更案別の総確認作業時間/変更後ラインCT)・・・(1)
【0244】
上記式(1)の任意期間は、たとえば、一日や一週間など、第1スループットTP1を評価したい期間に合わせて設定すればよい。
【0245】
そして、設計装置100は、ラダープログラム変更情報305において、変更案ID805で特定されるエントリのスループット806に、当該変更案の第1スループットTP1を登録する。これにより、設計装置100は、変更案別スループット算出処理(ステップS1606)を終了し、ステップS1607に移行する。
【0246】
[変更なし案スループット算出処理(ステップS1608)]
図23は、
図16に示した変更なし案スループット算出処理(ステップS1608)の詳細な処理手順例を示すフローチャートである。
【0247】
(ステップS2301)
設計装置100は、作業実績情報308(
図12)と、生産変動情報310(
図14)と、リソース状態情報311(
図15)と、を読み込む。
【0248】
(ステップS2302)
設計装置100は、生産変動情報310(
図14)の変動発生前の時刻と作業実績情報308(
図12)とを用いて、生産変動が発生していない時のネック工程の平均サイクルタイム(通常ラインCT)を算出する。ここで、生産変動情報310(
図14)の検知時刻1404が生産変動情報310(
図14)の変動発生の時刻を示す。また、変動発生前の時刻より生産変動が発生していない時とは、ラインL内のすべての工程において、最も古い検知時刻1404以前の生産変動が発生していない任意期間である。
【0249】
サイクルタイムは、たとえば、製品ごとの(作業完了時刻-作業着手時刻)の平均値により算出されるが、設計装置100は、生産変動前の上記任意期間内におけるネック工程(ラインL内で最長CTの工程)での製品ごとの(作業完了時刻-作業着手時刻)の平均値をラインLの平均サイクルタイムとして算出する。
【0250】
作業着手時刻とは、作業実績情報308において、生産変動前の上記任意期間内における最も新しい着手時刻1206である。作業完了時刻とは、作業実績情報308において、生産変動前の上記任意期間内における最も新しい終了時刻1207である。
【0251】
たとえば、作業実績情報308(
図12)において、セルC#1の場合、生産リソース#180の製品#08ABA01についての作業時間は、着手時刻1206「8:05:40」と終了時刻1207「8:06:20」の差分である「40」秒と算出される。生産リソース#181の製品#08ABA01についての作業時間は、着手時刻1206「8:08:30」と終了時刻1207「8:09:20」の差分より「50」秒と算出される。このように、設計装置100は、任意期間(たとえば、8時から10時)で算出された作業時間(40秒、50秒、・・・)の平均を、セルC#1の平均サイクルタイム(通常ラインCT)として算出する。
【0252】
セルC#2、C#3,C#4についても同様に、設計装置100は、セルC#2、C#3,C#4の平均サイクルタイム(通常ラインCT)を算出する。設計装置100は、セルC#1~C#4のうち、通常ラインCTが最長のセルCが実施する工程をネック工程とし、その最長の通常ラインCTを、生産変動が発生していない時のネック工程の平均サイクルタイム(通常ラインCT)に決定する。
【0253】
(ステップS2304)
設計装置100は、生産変動情報310(
図14)とリソース状態情報311(
図15)とにより、発生中の生産変動が解消されるまでの変動復旧時間を算出する。
【0254】
たとえば、設計装置100は、作業者の作業熟練度差による作業速度低下や人欠席の場合は、作業者シフト終了時刻1503と現時刻との差分を、発生中の生産変動が解消されるまでの時間を示す変動復旧時間として算出する。
【0255】
また、たとえば、設計装置100は、設備故障(変動タイプ1403が「故障」)の場合は、生産変動情報310(
図14)の変動解消時刻1405と現時刻との差分を、発生中の生産変動が解消されるまでの時間を示す変動復旧時間として算出する。
【0256】
(ステップS2305)
設計装置100は、ステップS2302で算出された通常ラインCTと、ステップS2303で算出された変動中ラインCTと、ステップS2304で算出された変動復旧時間と、に基づいて、任意期間のラインLの第2スループットを算出する。
【0257】
たとえば、第2スループットTP2は、下記式(2)により算出される。
【0258】
TP2={(現時刻からの任意期間-変動復旧時間)/通常ラインCT}-(変動復旧時間/変動中ラインCT)・・・(2)
【0259】
これにより、設計装置100は、変更なし案スループット算出処理(ステップS1608)を終了し、スループット比較評価処理(ステップS1609)に移行する。
【0260】
[スループット比較評価処理(ステップS1609)]
図24は、
図16に示したスループット比較評価処理(ステップS1609)の詳細な処理手順例を示すフローチャートである。
【0261】
(ステップS2401)
設計装置100は、ラダープログラム変更情報305(
図9)を読み込む。
【0262】
(ステップS2402)
設計装置100は、ラダープログラム変更情報305(
図9)の変更案ID805に格納された変更案ごとのスループット806に格納された第1スループットTP1を比較し、第1スループットTP1が最大となる案を選択する。
【0263】
たとえば、ラダープログラム変更情報305(
図9)から、割当作業#1の変更案#6が特定され、その第1スループット806は、「500」と特定される。
図9では、変更案#6であるラダープログラム変更情報305(
図9)しか存在しないため、変更案#6が第1スループットTP1が最大となる案として選択される。
【0264】
(ステップS2403)
設計装置100は、ラダープログラム変更情報305(
図9)のうち、ステップS2402で選択されたエントリを選択変更案として出力する。これにより、設計装置100は、変スループット比較評価処理(ステップS1609)を終了する。
【0265】
<比較評価結果表示画面>
図25は、比較評価結果表示画面の一例を示す説明図である。比較評価結果表示画面2500は、最適案表示領域2501と、生産効率評価結果表示領域2502と、を有する。最適案表示領域2501には、スループット比較評価処理(ステップS1609)での選択変更案の変更案ID805、スループット806(第1スループットTP1)、変更作業時間(変更作業時間算出処理(ステップS1604)で算出)、確認作業時間(確認作業時間算出処理(ステップS1605)で算出)、変更ステップ数が最適案として表示される。
【0266】
変更ステップ数とは、ラダープログラム変更情報305(
図9)において、ステップ変更タイプ801に値が存在するステップの数である。
図9の例では、ステップ#10001,#503,#10012,#10021,#10022,#10023,#10007の「7」である。
【0267】
生産効率評価結果表示領域2502には、変更案および変更なし案ごとに変更案ID805、スループット806(第1スループットTP1、変更なし案については第2スループットTP2)、変更作業時間(変更作業時間算出処理(ステップS1604)で算出)、確認作業時間(確認作業時間算出処理(ステップS1605)で算出)、変更ステップ数が最適案として表示される。
【0268】
ユーザは、最適案表示領域2501および生産効率評価結果表示領域2502を参照して、実行する最適変更案を確認、または、各変更案および変更なし案の生産効率の評価結果を確認し、実行すべき変更案がいずれであるかを検討することができる。
【0269】
<特定結果表示画面>
図26は、特定結果表示画面の一例を示す説明図である。特定結果表示画面2600は、ラダープログラム変更情報305(
図9)におけるラダープログラム変更箇所および変更内容の特定結果を表示する。
【0270】
特定結果表示画面2600は、案選択プルダウン2601と、ラダープログラム変更範囲表示領域2602と、生産効率表示領域2603と、を有する。案選択プルダウン2601は、ユーザ操作により、変更案および変更なし案を選択するためのプルダウンである。選択された案について、ラダープログラム変更範囲表示領域2602にラダープログラム変更範囲が表示され、生産効率表示領域2603に生産効率情報が表示される。
【0271】
ラダープログラム変更範囲表示領域2602は、案選択プルダウン2601で選択された選択案のラダープログラムの変更範囲を表示する。具体的には、たとえば、ラダープログラム変更範囲表示領域2602は、案選択プルダウン2601で選択された選択案の変更箇所ごとに、ステップID701、ステップ変更タイプ801、変更前入出力ポート803、変更後入出力ポート804、およびプログラム命令(命令コマンド705)を表示する。
【0272】
生産効率表示領域2603は、案選択プルダウン2601で選択された選択案の生産効率情報を表示する。具体的には、たとえば、生産効率表示領域2603は、案選択プルダウン2601で選択された選択案について、スループット806(変更案は第1スループットTP1、変更なし案は第2スループットTP2)、変更作業時間(変更作業時間算出処理(ステップS1604)で算出)、確認作業時間(確認作業時間算出処理(ステップS1605)で算出)、変更ステップ数が表示される。ユーザは、実行する案のラダープログラム変更範囲および生産効率を確認することができる。
【0273】
以上説明した実施例によれば、ラダープログラムの変更範囲の特定作業の工数を削減し、ライン停止時間を削減することができる。また、変更案からスループットが最大となる変更案を特定可能にすることができる。これらにより、生産変動時のスループット低下を抑制することができる。
【0274】
また、ラダープログラムを作成するには、PLCメーカが販売するPLCプログラミングソフトを用いて、そのソフトのコーディング機能を用いて、人がプログラミングしていた。このPLCプログラミングソフトには、そのコーディング機能のほかに、その作成したプログラムに疑似的に信号を送りプログラム動作確認するデバック機能と、プログラムをPLCに送信する書込み機能を持つ。
【0275】
設計装置100は、このPLCプログラミングソフトのコーディング機能を自動化する。これにより、従来、人が複数の情報を参照しながらコーディングしていた工数を削減することができる。また、設計装置100は、設計装置100で特定したプログラム変更範囲により修正したラダープログラムを生成してもよく、修正したラダープログラムを各社のPLCプログラミングソフトに読み込ませることにより、デバックおよびPLCへの書き込みが可能になる。
【0276】
<設計装置100とPLCプログラミングソフトとの関係>
図27は、設計装置100とPLCプログラミングソフトとの関係を示す説明図である。
図27は、ラダープログラム作成からPLC書込みまでの処理の流れとして、設計装置100とPLCプログラミングソフトとの関係を示している。まず、設計装置100が、上述した実施例の処理に従い、ラダープログラムまたは各PLCプログラミングソフトが指定するラダープログラムを外部ファイルとして読み込むためのフォーマットで書かれたラダープログラム2700を出力する。
【0277】
具体的には、設計装置100は、ステップS1611において、ラダープログラム変更情報305(
図9)を参照して、ラダープログラムを更新し、更新後のラダープログラム2700出力する。たとえば、設計装置100は、ラダープログラム変更情報305(
図9)を参照して、ステップ#10001,#503,#10023,#10007をラダープログラムから削除する。
【0278】
また、設計装置100は、ラダープログラム変更情報305(
図9)を参照して、ステップ#10021の入出力ポートを「D12」から「Y31」に変更し、命令コマンド705を「OUT」に更新する。
【0279】
また、設計装置100は、ラダープログラム変更情報305(
図9)を参照して、ステップ#10022の入出力ポートを「D13」から「Y32」に変更し、命令コマンド705を「OUT」に更新する。
【0280】
また、設計装置100は、ラダープログラム変更情報305(
図9)を参照して、ステップ#10012の入出力ポートを「D15」から「Y102」に変更し、命令コマンド705を「OUT」に更新する。
【0281】
また、設計装置100は、ラダープログラム変更情報305(
図9)を参照して、変更後入出力ポート804が「Y33」でかつ命令コマンド705が「OUT」であるステップ#10023を、ステップS#10022の直後に追加する。
【0282】
つぎに、PLCプログラミングソフト2701外のプログラムファイルを読み込む読込機能2702で、PLCプログラミングソフト2701に、ラダープログラム2700を入力する。これにより、従来では、人がコーディング機能2703を用いてラダープログラム2700を作成していた手間を省くことができる。
【0283】
PLCプログラミングソフト2701のデバック機能2704がラダープログラム2700のデバックを実行し、PLC130への書込み機能2705が、デバッグされたラダープログラム2700をPLC130に書き込む。
【0284】
このラダープログラム2700を読込機能2702に出力する際、品質上の観点から、設計装置100は、比較評価結果表示画面2500および特定結果表示画面2600を表示するため、生産変動時のスループット低下を抑制可能にするための情報が顕現化される。
【0285】
以上説明したように、本実施例の設計装置100によれば、自動的にラインLの構成や作業割当の変更案のラダープログラム変更範囲(変更箇所および変更内容)を特定する。したがって、ラダープログラムに適用可能な変更情報を自動生成することができ、範囲特定作業の工数削減、ラインLの停止時間の削減を図ることができる。
【0286】
また、本実施例の設計装置100によれば、変更案の変更情報についてスループットを算出することにより、変更案を定量化することができる。したがって、変更案が複数存在する場合、最適な変更案の特定が容易になる。特に、スループット最大の変更案を特定可能にすることにより、生産変動時のスループット低下を防止することができる。また、変更なし案のするスループットと比較することで、変更前と変更後のいずれが最適であるかを容易に特定することができる。
【0287】
また、変更情報を適用してラダープログラムを自動変更することにより、ラダープログラムの設計効率の向上を図ることができる。
【0288】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0289】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0290】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0291】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0292】
100 設計装置
301 リソース情報
302 ライン構成変更情報
303 作業割当変更情報
304 リソース別動作情報
305 ラダープログラム変更情報
306 リソース別変更作業時間情報
307 確認作業時間情報
308 作業実績情報
309 標準作業時間情報
310 生産変動情報
311 リソース状態情報