特許第5862236号(P5862236)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ジェイテクトの特許一覧

特許5862236制御プログラム編集装置及び制御プログラムの作成支援プログラム
<>
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000002
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000003
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000004
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000005
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000006
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000007
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000008
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000009
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000010
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000011
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000012
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000013
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000014
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000015
  • 特許5862236-制御プログラム編集装置及び制御プログラムの作成支援プログラム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5862236
(24)【登録日】2016年1月8日
(45)【発行日】2016年2月16日
(54)【発明の名称】制御プログラム編集装置及び制御プログラムの作成支援プログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20160202BHJP
【FI】
   G05B19/05 B
【請求項の数】2
【全頁数】20
(21)【出願番号】特願2011-259879(P2011-259879)
(22)【出願日】2011年11月29日
(65)【公開番号】特開2012-198871(P2012-198871A)
(43)【公開日】2012年10月18日
【審査請求日】2014年10月22日
(31)【優先権主張番号】特願2010-265862(P2010-265862)
(32)【優先日】2010年11月30日
(33)【優先権主張国】JP
(31)【優先権主張番号】特願2011-47416(P2011-47416)
(32)【優先日】2011年3月4日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110000394
【氏名又は名称】特許業務法人岡田国際特許事務所
(72)【発明者】
【氏名】千田 輝一
(72)【発明者】
【氏名】佐藤 嘉彦
(72)【発明者】
【氏名】内田 昭
【審査官】 青山 純
(56)【参考文献】
【文献】 特開平04−335401(JP,A)
【文献】 特開2010−250819(JP,A)
【文献】 特開平07−244509(JP,A)
【文献】 特開平08−095612(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/00 − 19/05
(57)【特許請求の範囲】
【請求項1】
機械の動作状態を検出する検出手段からの信号に基づいて演算して前記機械の可動部に演算結果を出力するプログラマブルコントローラが演算するための制御プログラムの作成を支援する、制御プログラム編集装置において、
前記制御プログラムは、
前記可動部毎の動作を示すステップと、ステップから次のステップへの遷移条件を示すトランジションと、にて構成されて前記可動部毎の一連の動作の順序と前記制御プログラムの全体の流れを示すシーケンシャルファンクションチャートプログラムと、
前記シーケンシャルファンクションチャートプログラムにおける前記ステップのそれぞれを、前記可動部毎に設ける動作制御用ファンクションブロック及びラダーにて表現したラダープログラムと、
前記ラダープログラムにおける前記動作制御用ファンクションブロックのそれぞれを、ラダーにて表現したファンクションブロックプログラムと、にて構成されており、
前記動作制御用ファンクションブロックには、
前記各可動部の動作順番に関する動作順番情報と、
前記各可動部への動作指令、及び動作終了を前記検出手段により検出した動作終了状態、に関する情報である付帯情報と、が含まれており、
前記動作順番情報は、動作順番を示す数値であり、前記動作制御用ファンクションブロックに設けられた動作順番入力部に指定可能であり、
前記付帯情報は、動作指令に基づいた動作指令信号に対応させた前記プログラマブルコントローラの第1のアドレスと、動作終了状態に基づいた動作終了信号に対応させた前記プログラマブルコントローラの第2のアドレスとを有し、前記動作制御用ファンクションブロックに設けられた付帯情報入力部に指定可能であり、
前記制御プログラム編集装置は、
予め作成された前記ラダープログラムから前記動作順番情報と前記付帯情報とを抽出する抽出手段と、
前記抽出手段にて抽出された前記動作順番情報に対応させて、前記シーケンシャルファンクションチャートプログラムにおける前記ステップを配置する第1のセルと、前記シーケンシャルファンクションチャートプログラムにおける前記トランジションを配置する第2のセルと、を決定し、決定した前記ステップの前記第1のセルに対して、当該第1のセルに対応する前記第1のアドレスを、当該第1のセルの動作に設定し、決定した前記トランジションの前記第2のセルに対して、当該第2のセルに対応する前記第2のアドレスを、当該第2のセルにおける次の前記ステップへの遷移条件に設定してトランジションプログラムを生成することで、前記ステップ及び前記トランジションを自動生成して前記シーケンシャルファンクションチャートプログラムを自動的に作成するプログラム自動生成手段と、を備えていることを特徴とする制御プログラム編集装置。
【請求項2】
機械の動作状態を検出する検出手段からの信号に基づいて演算して前記機械の可動部に演算結果を出力するプログラマブルコントローラが演算するための制御プログラムの作成を支援する、制御プログラムの作成支援プログラムであって、
前記制御プログラムは、
前記可動部毎の動作を示すステップと、ステップから次のステップへの遷移条件を示すトランジションと、にて構成されて前記可動部毎の一連の動作の順序と前記制御プログラムの全体の流れを示すシーケンシャルファンクションチャートプログラムと、
前記シーケンシャルファンクションチャートプログラムにおける前記ステップのそれぞれを、前記可動部毎に設ける動作制御用ファンクションブロック及びラダーにて表現したラダープログラムと、
前記ラダープログラムにおける前記動作制御用ファンクションブロックのそれぞれを、ラダーにて表現したファンクションブロックプログラムと、にて構成されており、
前記動作制御用ファンクションブロックには、
前記各可動部の動作順番に関する動作順番情報と、
前記各可動部への動作指令、及び動作終了を前記検出手段により検出した動作終了状態、に関する情報である付帯情報と、が含まれており、
コンピュータを、
前記動作制御用ファンクションブロックに設けられた動作順番入力部に、動作順番を示す数値である前記動作順番情報を指定可能とする動作順番指定手段、
前記動作制御用ファンクションブロックに設けられた付帯情報入力部に、動作指令に基づいた動作指令信号に対応させた前記プログラマブルコントローラの第1のアドレスと、動作終了状態に基づいた動作終了信号に対応させた前記プログラマブルコントローラの第2のアドレスと、を指定可能とする付帯情報指定手段、
予め作成された前記ラダープログラムから前記動作順番情報と前記付帯情報とを抽出する抽出手段、
前記抽出手段にて抽出された前記動作順番情報に対応させて、前記シーケンシャルファンクションチャートプログラムにおける前記ステップを配置する第1のセルと、前記シーケンシャルファンクションチャートプログラムにおける前記トランジションを配置する第2のセルと、を決定し、決定した前記ステップの前記第1のセルに対して、当該第1のセルに対応する前記第1のアドレスを、当該第1のセルの動作に設定し、決定した前記トランジションの前記第2のセルに対して、当該第2のセルに対応する前記第2のアドレスを、当該第2のセルにおける次の前記ステップへの遷移条件に設定してトランジションプログラムを生成することで、前記ステップ及び前記トランジションを自動生成して前記シーケンシャルファンクションチャートプログラムを自動的に作成するプログラム自動生成手段、として機能させるための、
制御プログラムの作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルコントローラ(PLC)で実行される制御プログラムをシーケンシャルファンクションチャート言語により作成するための制御プログラム編集装置、及び前記制御プログラムの作成を支援する、制御プログラムの作成支援プログラムに関する。
【背景技術】
【0002】
従来、PLCのプログラミング方式としては、IEC61131−3規格に規定されているように、ラダー(LD)、ファンクションブロック(FB)、シーケンシャルファンクションチャート(SFC)などが採用されている。
【0003】
工作機械や産業用ロボットシステムなどの産業用機械の動作に対するシ−ケンス制御は、これらの機械における構成要素(可動部に相当)の動作が順番に行われることから、シーケンス制御の流れをフローチャート形式で表現するSFCによりプログラムされることが多い(例えば、特許文献1を参照)。SFCによるプログラムは、一つの動作を示すステップと、ステップから次のステップへの遷移条件を示すトランジションとがフローチャート式に結合されている。そして、各ステップには動作プログラムが、ラダーとFBにて記述されている。また、各トランジションには遷移条件プログラムが、ラダーにて記述されている。
【0004】
ここで、各ステップの動作プログラムは、各種産業機械の基本的な構成要素毎にその動作を制御するためのプログラムを動作制御用ファンクションブロック(動作制御用FB)として作成しておき、その動作制御用FBを各種産業機械において使用して共用することによりプログラム作成を効率化することが図られている(例えば、特許文献2を参照)。
【0005】
ここで、図11(a)に示される搬送システム80を例に、シーケンス制御プログラムの作成手順について述べる。この搬送システム80は、前進/後退する搬送装置81と閉じ/開きするクランプユニット82と作業完了押しボタンスイッチSW1とから構成される。搬送装置81は、搬送装置前進端を検出する搬送装置前進端確認センサLS1及び搬送装置後退端を検出する搬送装置後退端確認センサLS2を有する。また、クランプユニット82は、クランプユニット閉端を検出するクランプユニット閉端確認センサLS3及びクランプユニット開端を検出するクランプユニット開端確認センサLS4を有する。さらに、作業者83が作業完了後に操作する作業完了押しボタンスイッチSW1を有する。搬送システム80の通常動作(自動運転)における構成要素の動作順番は、次のとおりである。また、その動作順番を図11(b)に示す。
【0006】
(1)搬送装置81が前進する。(動作順番:1)
(2)搬送装置81が搬送装置前進端確認センサLS1を検出して搬送装置前進端P11aに到達すると、クランプユニット82が閉じてワークをクランプする。(動作順番:2)
(3)クランプユニット82がクランプユニット閉端確認センサLS3を検出してクランプユニット閉端P12aに到達すると、作業者83が作業を開始する。
(4)作業者83が作業完了すると作業完了押しボタンスイッチSW1を操作することにより、クランプユニット82が開いてワークをアンクランプする。(動作順番:3)
(5)クランプユニット82がクランプユニット開端確認センサLS4を検出してクランプユニット開端P12bに到達すると、搬送装置81が後退する。(動作順番:4)
(6)搬送装置81が搬送装置後退端確認センサLS2を検出して搬送装置後退端P11bに到達すると、一連の動作を終了する。
【0007】
図12は、図11(a)で示される搬送システム80を制御するPLC90の構成を示す概略図である。PLC90は、各構成要素の動作端(動作終了に相当)を確認する信号を入力する入力部91、各構成要素を駆動する出力部92、プログラムを記憶するメモリ94、及びプログラム並びに入力部91から入力される信号に基づいて演算し、演算結果を出力部92に出力するCPU93にて構成される。
そして、PLC90にはシーケンス制御プログラムを作成するプログラム編集装置95が接続されている。
【0008】
入力部91には、入力アドレスX001,X002,X003,X004,及びX005が設けられており、それぞれの入力アドレスには、搬送装置前進端確認センサLS1、搬送装置後退端確認センサLS2、クランプユニット閉端確認センサLS3、クランプユニット開端確認センサLS4、及び作業完了押しボタンスイッチSW1が接続されている。
【0009】
出力部92には、出力アドレスY101,Y102,Y103,及びY104が設けられており、それぞれの出力アドレスには、搬送装置前進ソレノイドSOL1、搬送装置後退ソレノイドSOL2、クランプユニット閉じソレノイドSOL3、及びクランプユニット開きソレノイドSOL4が接続されている。
【0010】
メモリ94には、プログラム編集装置95にてプログラムされたラダープログラム、FBプログラム、及びSFCプログラムが記憶されている。
【0011】
図13は、図11(a)で示される搬送システム80を制御するPLC90の自動運転プログラム(制御プログラムに相当)を作成するため、プログラム作成者が図12に示すプログラム編集装置95を操作する手順を示すフローチャートである。初めに、プログラム作成者は、図11(b)に示すとおり、構成要素(可動部に相当)の動作順番を決める(ステップS100)。次に、イニシャルステップ(SFCの先頭に記述されてSFC動作開始時に活性状態となるステップ)、及びイニシャルトランジション(イニシャルステップから次のステップへの遷移条件を示すトランジション)を作成し(ステップS101)、動作順番に基づいてSFCのステップを作成し(ステップS102)、SFCのトランジションを作成し(ステップS103)、SFCのトランジションのプログラムを作成し(ステップS104)、構成要素の動作を作成完了か判断し(ステップS105)、完了していない場合(ステップS105:NO)、ステップS102へ移行し次の動作順番を作成する。一方、ステップS105において完了の場合(ステップS105:YES)、構成要素毎に動作制御用FB及びラダープログラムを作成する(ステップS106)。
【0012】
図14は、図13のステップS101〜S105を説明する模式図である。初めに、プログラム作成者は、プログラム編集装置95を操作して、イニシャルステップST201として自動運転を初期化するプログラムを作成し、イニシャルトランジションTR201は自動運転中であることを確認するプログラムを作成する。これは、図13のステップS101に対応する。
【0013】
次に、プログラム作成者は、図11(b)に示す動作順番に基づきSFCのステップを作成する。これは、図13のステップS102に対応する。詳述すると、動作順番:1の搬送装置前進をステップST202に設定する。その設定操作は、SFCのトランジションTR201の次の配置位置をマウス又はキーボードにより選択(以下、「選択」と呼ぶ。)するとステップの設定画面100が表示され、ステップ番号「202」、動作を指示するアクションの内部出力アドレス「EK100」、シーケンス制御プログラムにアクションの意味を付加するコメント「搬送装置前進」を入力する。
【0014】
次に、プログラム作成者は、SFCのトランジションの作成を行う。これは、図13のステップS103に対応する。詳述すると、動作順番:1の搬送装置前進端をトランジションTR202に設定する。その設定操作は、SFCのステップST202の次の配置位置を選択するとトランジションの設定画面101が表示され、トランジション番号「202」、シーケンス制御プログラムにトランジションの意味を付加するコメント「搬送装置前進端」を入力する。
【0015】
次に、プログラム作成者は、SFCのトランジションのプログラムを作成する。これは、図13のステップS104に対応する。詳述すると、トランジションの設定画面101において、「プログラム」ボタンスイッチを選択するとプログラム作成画面102が表示され、次のステップへの遷移条件である搬送装置前進端を確認する回路を作成する。具体的には、搬送装置前進端確認センサLS1の入力アドレスX001がONのときに、次のステップへの遷移を判定する信号であるTR202がONする回路をラダープログラムにて作成する。
【0016】
続いて、プログラム作成者は、図11(b)に示す動作順番に基づき、ステップ及びトランジションをステップST202及びトランジションTR202と同様に作成する。その詳細は省略する。
【0017】
図15は、図13のステップS106を説明する模式図である。プログラム作成者は、プログラム編集装置95を操作して、搬送装置の前進/後退を制御するプログラムである動作制御用FBであるFB200及びFB200の入出力信号をラダーで作成する。FB200は、入力信号I11に前進指令、入力信号I12に後退指令、入力信号I13に前進端信号、及び入力信号I14に後退端信号をそれぞれ入力する。そして、FB200は、これらの入力信号I11,I12,I13,及びI14、且つ前進動作条件110及び後退動作条件111に基づき、前進動作する出力信号Q11、及び後退動作する出力信号Q12を出力するように形成される。
【0018】
具体的には、FB200に接続される信号は、搬送装置前進を指令する内部出力アドレスEK100が入力信号I11、搬送装置後退を指令する内部出力アドレスEK101が入力信号I12、搬送装置前進端の入力アドレスX001が入力信号I13、搬送装置後退端の入力アドレスX002が入力信号I14、搬送装置前進の出力アドレスY101が出力信号Q11、及び搬送装置後退の出力アドレスY102が出力信号Q12にそれぞれ接続される。
【0019】
次に、図11(a)に示す搬送システム80のシーケンス制御の作用について図12,14,及び15を用いて説明する。
図12に示すPLC90は、図14に示すトランジションTR201にて、自動運転が起動されるとステップST202に遷移し、ステップST202が活性状態となる。ステップST202が活性化すると、搬送装置前進を指令する内部出力アドレスEK100がONする。そして、図11(a)に示す搬送システム80は、図15に示す内部出力アドレスEK100がONすると、前進動作条件110を満足している場合は搬送装置前進出力の出力アドレスY101がONして、図12に示す搬送装置前進のソレノイドSOL1がONすることにより搬送装置が前進する。
【0020】
そして、図12に示す搬送装置前進端センサLS1がONすると、入力アドレスX001がONし、続いて図14に示すトランジションTR202がONして、ステップST203に遷移する。これにより、ステップST202が不活性状態となり、内部出力アドレスEK100がOFFし、出力アドレスY101がOFFし、ソレノイドSOL1がOFFして搬送装置が停止する。また、次に続くステップが活性状態となる。
続いて、ステップ202及びトランジションTR202と同様にシーケンス制御を実行する。
【先行技術文献】
【特許文献】
【0021】
【特許文献1】特許第3170154号公報
【特許文献2】特開2009−104227号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
このような機械を制御するPLCを自動運転させる自動運転プログラム(制御プログラムに相当)を構成しているSFCプログラムは、機械の構成要素の動作順番にステップ及びトランジションを配置することにより作成されており、SFCプログラム作成の経験が浅い制御設計技術者にとってはSFCプログラム設計ルールの理解が難しく、プログラム作成者は熟練を必要としていた。そこで、PLCを自動運転させる制御プログラムを構成しているSFCプログラムを、より容易に作成できるようにすることが課題となっていた。
【0023】
本発明は、このような課題を解決するためになされたものであって、機械を制御するプログラマブルコントローラの制御プログラムをより容易に作成できるように支援する制御プログラム編集装置及び制御プログラムの作成支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0024】
上記課題を解決するため、本発明に係る制御プログラム編集装置及び制御プログラムの作成支援プログラムは次の手段をとる。
まず、本発明の第1の発明は、機械の動作状態を検出する検出手段からの信号に基づいて演算して前記機械の可動部に演算結果を出力するプログラマブルコントローラが演算するための制御プログラムの作成を支援する、制御プログラム編集装置である。
前記制御プログラムは、前記可動部毎の動作を示すステップと、ステップから次のステップへの遷移条件を示すトランジションと、にて構成されて前記可動部毎の一連の動作の順序と前記制御プログラムの全体の流れを示すシーケンシャルファンクションチャートプログラムと、前記シーケンシャルファンクションチャートプログラムにおける前記ステップのそれぞれを、前記可動部毎に設ける動作制御用ファンクションブロック及びラダーにて表現したラダープログラムと、前記ラダープログラムにおける前記動作制御用ファンクションブロックのそれぞれを、ラダーにて表現したファンクションブロックプログラムと、にて構成されている。
また、前記動作制御用ファンクションブロックには、前記各可動部の動作順番に関する動作順番情報と、前記各可動部への動作指令、及び動作終了を前記検出手段により検出した動作終了状態、に関する情報である付帯情報と、が含まれている。
また、前記動作順番情報は、動作順番を示す数値であり、前記動作制御用ファンクションブロックに設けられた動作順番入力部に指定可能であり、前記付帯情報は、動作指令に基づいた動作指令信号に対応させた前記プログラマブルコントローラの第1のアドレスと、動作終了状態に基づいた動作終了信号に対応させた前記プログラマブルコントローラの第2のアドレスとを有し、前記動作制御用ファンクションブロックに設けられた付帯情報入力部に指定可能である。
そして、前記制御プログラム編集装置は、予め作成された前記ラダープログラムから前記動作順番情報と前記付帯情報とを抽出する抽出手段と、前記抽出手段にて抽出された前記動作順番情報に対応させて、前記シーケンシャルファンクションチャートプログラムにおける前記ステップを配置する第1のセルと、前記シーケンシャルファンクションチャートプログラムにおける前記トランジションを配置する第2のセルと、を決定し、決定した前記ステップの前記第1のセルに対して、当該第1のセルに対応する前記第1のアドレスを、当該第1のセルの動作に設定し、決定した前記トランジションの前記第2のセルに対して、当該第2のセルに対応する前記第2のアドレスを、当該第2のセルにおける次の前記ステップへの遷移条件に設定してトランジションプログラムを生成することで、前記ステップ及び前記トランジションを自動生成して前記シーケンシャルファンクションチャートプログラムを自動的に作成するプログラム自動生成手段と、を備えている。
【0025】
この第1の発明によれば、制御プログラム編集装置を用いて、シーケンシャルファンクションチャートプログラムと、ラダープログラムと、ファンクションブロックプログラムと、にて構成された制御プログラムにおけるシーケンシャルファンクションチャートプログラムを自動生成することができる。
これにより、制御プログラムを、より容易に作成できるように支援することができる。
【0027】
また、第1の発明によれば、制御プログラム編集装置を用いて、動作制御用ファンクションブロックに、動作順番情報と付帯情報を入力することが容易になる。
【0028】
次に、本発明の第2の発明は、機械の動作状態を検出する検出手段からの信号に基づいて演算して前記機械の可動部に演算結果を出力するプログラマブルコントローラが演算するための制御プログラムの作成を支援する、制御プログラムの作成支援プログラムである。
前記制御プログラムは、前記可動部毎の動作を示すステップと、ステップから次のステップへの遷移条件を示すトランジションと、にて構成されて前記可動部毎の一連の動作の順序と前記制御プログラムの全体の流れを示すシーケンシャルファンクションチャートプログラムと、前記シーケンシャルファンクションチャートプログラムにおける前記ステップのそれぞれを、前記可動部毎に設ける動作制御用ファンクションブロック及びラダーにて表現したラダープログラムと、前記ラダープログラムにおける前記動作制御用ファンクションブロックのそれぞれを、ラダーにて表現したファンクションブロックプログラムと、にて構成されている。
また、前記動作制御用ファンクションブロックには、前記各可動部の動作順番に関する動作順番情報と、前記各可動部への動作指令、及び動作終了を前記検出手段により検出した動作終了状態、に関する情報である付帯情報と、が含まれている。
そして、制御プログラムの作成支援プログラムは、コンピュータを、前記動作制御用ファンクションブロックに設けられた動作順番入力部に、動作順番を示す数値である前記動作順番情報を指定可能とする動作順番指定手段、前記動作制御用ファンクションブロックに設けられた付帯情報入力部に、動作指令に基づいた動作指令信号に対応させた前記プログラマブルコントローラの第1のアドレスと、動作終了状態に基づいた動作終了信号に対応させた前記プログラマブルコントローラの第2のアドレスと、を指定可能とする付帯情報指定手段、予め作成された前記ラダープログラムから前記動作順番情報と前記付帯情報とを抽出する抽出手段、前記抽出手段にて抽出された前記動作順番情報に対応させて、前記シーケンシャルファンクションチャートプログラムにおける前記ステップを配置する第1のセルと、前記シーケンシャルファンクションチャートプログラムにおける前記トランジションを配置する第2のセルと、を決定し、決定した前記ステップの前記第1のセルに対して、当該第1のセルに対応する前記第1のアドレスを、当該第1のセルの動作に設定し、決定した前記トランジションの前記第2のセルに対して、当該第2のセルに対応する前記第2のアドレスを、当該第2のセルにおける次の前記ステップへの遷移条件に設定してトランジションプログラムを生成することで、前記ステップ及び前記トランジションを自動生成して前記シーケンシャルファンクションチャートプログラムを自動的に作成するプログラム自動生成手段、として機能させる。
【0029】
この第2の発明によれば、制御プログラムの作成支援プログラムにて、シーケンシャルファンクションチャートプログラムと、ラダープログラムと、ファンクションブロックプログラムと、にて構成された制御プログラムにおけるシーケンシャルファンクションチャートプログラムを自動生成することができる。
これにより、制御プログラムを、より容易に作成できるように支援することができる。
【0031】
また、第2の発明によれば、制御プログラムの作成支援プログラムにて、動作制御用ファンクションブロックに、動作順番情報と付帯情報を入力することが容易になる。

【発明の効果】
【0032】
本発明によれば、機械を制御するプログラマブルコントローラの制御プログラムをより容易に作成できる。
【図面の簡単な説明】
【0033】
図1】(a)は本発明の実施形態のプログラマブルコントローラの制御プログラム編集装置1の全体構成を示したブロック図であり、(b)は各プログラム記憶領域の関係を説明する概略図である。
図2】(a)は本発明の実施形態を説明するためのある搬送システムの例を模式的に示す図であり、(b)は構成要素の動作順番を示す図である。
図3図2(a)で示される搬送システムを制御するPLCの構成を示す概略図である。
図4図2(a)で示される搬送システムを制御するPLCの自動運転プログラムを作成する手順を示すフローチャートである。
図5】本発明の実施形態の動作制御用FBを説明する模式図である。
図6】本発明の実施形態のSFCの生成を説明する模式図である。
図7】本発明の実施形態の動作制御用FBの情報抽出処理手順を示すフローチャートである。
図8】(a)は本発明の実施形態の動作制御用FBの情報を抽出したデータテーブルであり、(b)はFB100の情報を抽出したデータテーブル例である。
図9】本発明の実施形態のSFC生成時に表示されるセル配置を示す図である。
図10】本発明の実施形態のSFCプログラム生成処理手順を示すフローチャートである。
図11】(a)は従来の技術を説明するためのある搬送システムの例を模式的に示す図であり、(b)は構成要素の動作順番を示す図である。
図12図11(a)で示される搬送システムを制御するPLCの構成を示す概略図である。
図13図11(a)で示される搬送システムを制御するPLCの自動運転プログラムを作成する手順を示すフローチャートである。
図14図13のステップS101〜S105を説明する模式図である。
図15図13のステップS106を説明する模式図である。
【発明を実施するための形態】
【0034】
以下、本発明の制御プログラム編集装置1(プログラマブルコントローラの制御プログラムの作成を支援する装置)を具体化した実施形態について図面を参照しつつ説明する。
以降では、「プログラマブルコントローラ」と「PLC」は同じであり、「シーケンシャルファンクションチャート」と「SFC」は同じであり、「ファンクションブロック」と「FB」は同じであり、「ラダー」と「LD」は同じである。
図1(a)は、本発明の実施形態の制御プログラム編集装置1の全体構成を示したブロック図である。この制御プログラム編集装置1は、シーケンスプログラム(制御プログラムに相当)の作成、修正、表示などを行うためのCPU10、その処理のためのプログラムを記憶したROM11、シーケンスプログラムを表示するディスプレイ12、シーケンスプログラムを作成するためのシンボルや各種のコマンドを入力するキーボード13、ディスプレイ12上のカーソル位置を指定するマウス18、シーケンスプログラムを記憶するRAM15、及びPLC40に接続するためのインタフェース17とで構成されている。また、RAM15は、ラダープログラムを記憶するラダープログラム記憶領域20、FBプログラムを記憶するFBプログラム記憶領域21、SFCプログラムを記憶するSFCプログラム記憶領域22、及び後述する動作制御用FBの情報を抽出した結果を記憶するFB情報抽出データ記憶領域23が形成されている。
また、以降では、「シーケンスプログラム」と「自動運転プログラム」と「制御プログラム」は同じである。
【0035】
次に、図1(b)に示す制御プログラム編集装置1のシーケンスプログラムを記憶するRAM15に含まれる各プログラム記憶領域の概略図を参照しつつ、各プログラム記憶領域の関係を説明する。
ラダープログラム記憶領域20は、構成要素毎(可動部毎)に作成される動作制御用FBであるFB100等、及びFB100等に関係するラダーにて表現したラダープログラム20a、20b等が記憶される領域である。
FBプログラム記憶領域21は、ラダープログラム記憶領域20に記憶されている動作制御用FBであるFB100等の内部の詳細をラダーにて表現したFBプログラム21a等が記憶される領域である。
SFCプログラム記憶領域22は、構成要素(可動部)の動作順番に配置されて可動部毎の動作を示すステップ22a等と、ステップから次のステップへの遷移条件を示すトランジション22b等と、が記憶される領域である。
例えば、FBプログラム記憶領域21の動作制御用FBであるFB100が動作順番:1である場合、SFCプログラム記憶領域22のステップ22aの詳細が、FB100にて表現されている。またトランジション22bは、次のステップへの遷移条件であり、ラダープログラム記憶領域20のラダー20bにて詳細が表現されている。
FB情報抽出データ記憶領域23は、後述する動作順番(動作順番情報)及び付帯情報を抽出した際、抽出された動作順番及び付帯情報を記憶する領域である。
【0036】
ここで、図2(a)に示される搬送システム30を例に、本発明の実施形態の制御プログラム編集装置1を用いたシーケンス制御プログラムの作成手順について説明する。
図2(a)は、本発明の実施形態を説明するためのある搬送システム30の例を模式的に示す図である。この搬送システム30は、前進/後退する搬送装置31と閉じ/開きするクランプユニット32と作業完了押しボタンスイッチSW1とから構成される。搬送装置31は、搬送装置前進端確認センサLS1及び搬送装置後退端確認センサLS2を有する。また、クランプユニット32は、クランプユニット閉端確認センサLS3及びクランプユニット開端確認センサLS4を有する。さらに、作業者33が作業完了後に操作する作業完了押しボタンスイッチSW1を有する。搬送システム30の通常動作(自動運転)における構成要素の動作順番は、次のとおりである。また、その動作順番を図2(b)に示す。
【0037】
(1)搬送装置31が前進する。(動作順番:1)
(2)搬送装置31が搬送装置前進端確認センサLS1を検出して搬送装置前進端P1aに到達すると、クランプユニット32が閉じてワークをクランプする。(動作順番:2)
(3)クランプユニット32がクランプユニット閉端確認センサLS3を検出してクランプユニット閉端P2aに到達すると、作業者33が作業を開始する。
(4)作業者33が作業完了すると作業完了押しボタンスイッチSW1を操作することにより、クランプユニット32が開いてワークをアンクランプする。(動作順番:3)
(5)クランプユニット32がクランプユニット開端確認センサLS4を検出してクランプユニット開端P2bに到達すると、搬送装置31が後退する。(動作順番:4)
(6)搬送装置31が搬送装置後退端確認センサLS2を検出して搬送装置後退端P1bに到達すると、一連の動作を終了する。
【0038】
図3は、図2(a)で示される搬送システム30を制御するPLC40の構成を示す概略図である。PLC40は、各構成要素の動作端(動作終了)を確認する信号を入力する入力部41、各構成要素を駆動する出力部42、プログラムを記憶するメモリ44、及びプログラム並びに入力部41から入力される信号に基づいて演算し、演算結果を出力部42に出力するCPU43にて構成される。
そして、PLC40にはシーケンス制御プログラムを作成する制御プログラム編集装置1が接続されている。
【0039】
入力部41には、入力アドレスX001,X002,X003,X004,及びX005が設けられており、それぞれの入力アドレスには、搬送装置前進端確認センサLS1、搬送装置後退端確認センサLS2、クランプユニット閉端確認センサLS3、クランプユニット開端確認センサLS4、及び作業完了押しボタンスイッチSW1が接続されている。
【0040】
出力部42には、出力アドレスY101,Y102,Y103,及びY104が設けられており、それぞれの出力アドレスには、搬送装置前進ソレノイドSOL1、搬送装置後退ソレノイドSOL2、クランプユニット閉じソレノイドSOL3、及びクランプユニット開きソレノイドSOL4が接続されている。
【0041】
メモリ44には、制御プログラム編集装置1にてプログラムされたラダープログラム、FBプログラム、及びSFCプログラムが記憶されている。
【0042】
図4は、図2(a)で示される搬送システム30を制御するPLC40の自動運転プログラム(制御プログラムに相当)を作成するため、プログラム作成者が図1に示す制御プログラム編集装置1を操作する手順を示すフローチャートである。初めに、プログラム作成者は、図2(b)に示すとおり、構成要素(可動部)の動作順番を決める(ステップS1)。次に、構成要素毎に動作制御用FB及びラダープログラムを作成し(ステップS2)、イニシャルステップ、及びイニシャルトランジションを作成する(ステップS3)。そして、SFCプログラムの自動生成を指示する(ステップS4)。これにより、構成要素毎のステップ及びトランジションが自動生成されてSFCプログラムが生成される。
【0043】
図5は、本発明の実施形態の動作制御用FBを説明する模式図である。これは、図4のステップS2に対応し、プログラム作成者は、搬送装置の前進/後退を制御するプログラムである動作制御用FBであるFB100及びFB100の入出力信号をラダーで作成する。
FB100は、本発明の特徴部である動作順番入力部50と付帯情報入力部51とを有する。
動作順番入力部50には、入力信号I1に前進動作順番(動作順番情報に相当)、及び入力信号I2に後退動作順番(動作順番情報に相当)がそれぞれ入力される。この動作順番入力部50から動作順番情報を指定可能とする手段が、動作順番指定手段に相当する。
付帯情報入力部51には、入力信号I3に前進指令(動作指令信号に相当)、入力信号I4に後退指令(動作指令信号に相当)、入力信号I5に前進端信号(動作終了信号に相当)、及び入力信号I6に後退端信号(動作終了信号に相当)がそれぞれ入力される。この付帯情報入力部51から動作指令信号と動作終了信号を指定可能とする手段が、付帯情報指定手段に相当する。
そして、FB100は、これらの入力信号I3,I4,I5,及びI6、且つ前進動作条件52及び後退動作条件53に基づき、前進動作する出力信号Q1、及び後退動作する出力信号Q2を出力するように形成される。
【0044】
具体的には、FB100に接続される信号は、搬送装置前進の動作順番:1を示す「1」が入力信号I1、搬送装置後退の動作順番:4を示す「4」が入力信号I2、搬送装置前進を指令する内部出力アドレスEK100が入力信号I3、搬送装置後退を指令する内部出力アドレスEK101が入力信号I4、搬送装置前進端の入力アドレスX001が入力信号I5、搬送装置後退端の入力アドレスX002が入力信号I6、搬送装置前進の出力アドレスY101が出力信号Q1、及び搬送装置後退の出力アドレスY102が出力信号Q2にそれぞれ接続される。
【0045】
クランプユニットの閉じ/開きを制御する動作制御用FB(例えば、FB101)は、FB100と同様に作成する。作成する詳細な内容は省略する。
【0046】
図6は、本発明の実施形態のSFCの生成を説明する模式図である。これは、図4のステップS3及びS4に対応する。初めに、プログラム作成者は、制御プログラム編集装置1を操作して、イニシャルステップST201として自動運転を初期化するプログラムを作成し、イニシャルトランジションTR201は自動運転中であることを確認するプログラムを作成する。これは、図4のステップS3に対応する。
【0047】
次に、プログラム作成者は、制御プログラム編集装置1を操作することにより自動生成指示を行う。これにより、CPU10は、破線にて囲まれた範囲60、即ち、ステップ、トランジション、及びトランジションのプログラムを自動生成する。これは、図4のステップS4に対応する。
【0048】
次に、SFCの自動生成手段について、具体的に説明する。この自動生成手段は、二つのステップに分けて行われる。第1のステップは、動作制御用FB及びラダーから、動作順番(動作順番情報に相当)及び付帯情報を抽出して記憶する。第2のステップは、抽出した動作順番及び付帯情報からSFCプログラムを生成する。
以下、第1のステップについて説明する。
【0049】
図7は、本発明の実施形態の動作制御用FBの情報抽出処理(FB情報抽出処理)手順を示すフローチャートである。CPU10は、制御プログラム編集装置1においてSFCプログラムの自動生成を指示する操作をしたときに、FB情報抽出処理を実行する。
【0050】
CPU10は、ラダープログラム記憶領域20からプログラムを読み出すアドレスをラダープログラム記憶領域20の先頭に設定し(ステップS10)、ラダープログラム記憶領域20のプログラム読み出しが完了したか判定する(ステップS11)。そして、完了の場合(ステップS11:YES)、CPU10は、先頭ステップへ移行するシンボルをSFCに配置する(ステップS12)。
【0051】
一方、ステップS11において完了していない場合(ステップS11:NO)、CPU10は、ラダープログラム記憶領域20からプログラムを読み出し(ステップS13)、読み出したプログラムがFB(動作制御用FBに相当)か判定し(ステップS14)、FBでない場合ステップS21に移行する(ステップS14:NO)。
一方、ステップS14において読み出したプログラムがFBの場合(ステップS14:YES)、CPU10は、読み出したFBの入力信号I1に入力があるか判定する(ステップS15)。そして、入力信号I1に入力がない場合(即ち、動作順番入力がない)ステップS18に移行する(ステップS15:NO)。
【0052】
一方、ステップS15において入力信号I1に入力がある場合(ステップS15:YES)、CPU10は、変数Xに入力信号I1の数値を入力し、変数Yに入力信号I3の入力アドレスを入力し、及び変数Zに入力信号I5の入力アドレスを入力し、これらの入力データと入力アドレス:Yのコメントと入力アドレス:ZのコメントとをFB情報抽出データ記憶領域23に記憶する(ステップS16)。さらに、後述するSFCプログラム生成処理を実行する(ステップS17)。
これにより、一つの動作(例えば、搬送装置前進)に対応するステップ及びトランジションが自動生成される。
【0053】
次に、CPU10は、読み出したFBの入力信号I2に入力があるか判定する(ステップS18)。そして、入力信号I2に入力がない場合(即ち、動作順番入力がない)ステップS21に移行する(ステップS18:NO)。一方、ステップS18において入力信号I2に入力がある場合(ステップS18:YES)、CPU10は、変数Xに入力信号I2の数値を入力し、変数Yに入力信号I4の入力アドレスを入力し、及び変数Zに入力信号I6の入力アドレスを入力し、これらの入力データと入力アドレス:Yのコメントと入力アドレス:ZのコメントとをFB情報抽出データ記憶領域23に記憶する(ステップS19)。さらに、後述するSFCプログラム生成処理を実行し(ステップS20)、プログラム読み出しアドレスを+1して(ステップS21)、ステップS11へ移行する。
これにより、一つの動作(例えば、搬送装置後退)に対応するステップ及びトランジションが自動生成される。
【0054】
ここで、ステップS10〜S21の処理が本発明の抽出手段に相当する。これにより、CPU10は、動作制御用FBの情報を抽出し、抽出した結果をFB情報抽出データ記憶領域23に記憶する。記憶されるデータテーブルを図8(a)に示す。
【0055】
また、具体的には、例えば、ステップS14において図5に示すFB100を読み出した場合(ステップS14:YES)、ステップS16の処理後のFB情報抽出データ記憶領域23に記憶されるデータテーブルは、図8(b)に示すとおり、変数Xは「1」、変数Yは「EK100」、入力アドレス:Yのコメントは「搬送装置前進」、変数Zは「X001」、及び入力アドレス:Zのコメントは「搬送装置前進端」となる。
【0056】
次に、第2のステップについて説明する。
図9は、本発明の実施形態のSFC生成時に表示されるセル配置を示す図である。セルとは、SFCでのステップ及びトランジションを配置する桝目であり、セルにはセル番号が付与される。ステップ及びトランジションはそれらのコメントと共にセル番号1から動作順番に配置される。また、最終動作の次に、先頭ステップへ移行するシンボルを配置する。
ステップ及びトランジションのコメントは、コメント表示領域70に表示される。
【0057】
図10は、本発明の実施形態のSFCプログラム生成処理手順を示すフローチャートである。CPU10は、制御プログラム編集装置1において自動生成を指示する操作をしたときに、上述のFB情報抽出処理に続いてSFCプログラム生成処理を実行する。
【0058】
CPU10は、ステップを配置するSFCのセルを決定する。セル番号は、次式(1)で表される(ステップS30)。
セル番号=X×2+1 ・・・(1)
例えば、動作順番:1の搬送装置前進の場合、セル番号は「3」となる。
【0059】
続いて、CPU10は、ステップ番号を決定する。ステップ番号は、次式(2)で表される(ステップS31)。
ステップ番号=イニシャルステップ番号+1 ・・・(2)
例えば、動作順番:1の搬送装置前進の場合、ステップ番号は「202」となる。また、図6に示すステップの設定イメージ61のステップ番号62に「202」を設定する。さらに、このステップ番号62が図6に示す配置位置62aのステップST202に展開される。
この設定イメージは、制御プログラム編集装置1に表示されて項目を入力するのではなく、CPU10の内部にて同様の処理がおこなわれるものである。図6に示すこれ以外の設定イメージも同様である。
【0060】
続いて、CPU10は、入力アドレス:Yをアクションに設定する(ステップS32)。例えば、動作順番:1の搬送装置前進の場合、図6に示すステップの設定イメージ61のアクション63に「EK100」を設定する。
【0061】
続いて、CPU10は、入力アドレス:Yのコメントをアクションのコメントに設定する(ステップS33)。例えば、動作順番:1の搬送装置前進の場合、図6に示すステップの設定イメージ61のコメント64に「搬送装置前進」を設定する。また、このコメント64が図6に示すステップST202のコメント64aに展開される。
【0062】
続いて、CPU10は、SFCの所定のセルにステップを配置し、必要な設定を行う(ステップS34)。例えば、動作順番:1の搬送装置前進の場合、図9に示すセル番号「3」にステップ番号「ST202」のシンボル及びコメント「搬送装置前進」を配置する。この配置は、CPU10の内部にて同様の処理がおこなわれるものである。
【0063】
続いて、CPU10は、トランジションを配置するSFCのセルを決定する。セル番号は、次式(3)で表される(ステップS35)。
セル番号=X×2+2 ・・・(3)
例えば、動作順番:1の搬送装置前進の場合、セル番号は「4」となる。
【0064】
続いて、CPU10は、トランジション番号を決定する。トランジション番号は、次式(4)で表される(ステップS36)。
トランジション番号=イニシャルトランジション番号+1 ・・・(4)
例えば、動作順番:1の搬送装置前進の場合、トランジション番号は「202」となる。また、図6に示すトランジションの設定イメージ65のトランジション番号66に「202」を設定する。さらに、このトランジション番号66が図6に示す配置位置66aのトランジションTR202に展開される。
【0065】
続いて、CPU10は、入力アドレス:Zをトランジションの遷移条件に設定する(ステップS37)。例えば、動作順番:1の搬送装置前進の場合、遷移条件は「X001」となる。
【0066】
続いて、CPU10は、入力アドレス:Zのコメントをトランジションのコメントに設定する(ステップS38)。例えば、動作順番:1の搬送装置前進の場合、図6に示すトランジションの設定イメージ65のコメント67に「搬送装置前進端」を設定する。また、このコメント67が図6に示すトランジションTR202のコメント67aに展開される。
【0067】
続いて、CPU10は、SFCの所定のセルにトランジションを配置して、必要な設定を行い、さらにトランジションプログラムを生成する(ステップS39)。図9に示すセル番号「4」にトランジションのシンボル及びコメントを配置する。例えば、動作順番:1の搬送装置前進の場合、図9に示すセル番号「4」にトランジション番号「TR202」のシンボル及びコメント「搬送装置前進端」を配置する。この配置は、CPU10の内部にて同様の処理がおこなわれるものである。また、図6に示すトランジションプログラム68を生成する。
【0068】
ここで、ステップS30〜S39の処理が本発明のシーケンシャルファンクションチャート生成手段(プログラム自動生成手段)に相当する。これにより、CPU10は、SFCプログラムを自動生成しSFCプログラム記憶領域22に記憶する。
【0069】
以上のように、本実施の形態に係る制御プログラム編集装置1によれば、動作制御用FBの動作順番入力部に動作順番、及び付帯情報入力部に動作指令入力アドレス、動作指令入力アドレスのコメント、動作端入力アドレス、並びに動作端入力アドレスのコメントを入力することにより、機械を制御するSFCの自動運転プログラムのステップ、トランジション、及びトランジションプログラムを自動生成してSFCを生成できる。そのため、SFCプログラム作成の経験が浅い制御設計技術者であっても、機械を制御するSFCの自動運転プログラムをより容易に作成できる。
また、シーケンス制御の基礎知識を有する機械設計技術であれば、経験が浅くても、機械を制御するSFCの自動運転プログラムをより容易に作成できる。
【0070】
また、本実施の形態に係る制御プログラム編集装置1によれば、シーケンシャルファンクションチャートを構成するステップ(動作に対応する)及びトランジション(動作端に対応する)に対応して、動作制御用ファンクションブロックFB100の付帯情報入力部51に動作指令の前進指令I3及び後退指令I4と、動作端信号の前進端I5及び後退端I6とを入力することにより、シーケンシャルファンクションチャート60と付帯情報入力部51との関係が一致するので、作成したシーケンシャルファンクションチャートのプログラムの検証が容易である。そのため、SFCプログラム作成の経験が浅い制御設計技術者であっても、簡単に機械を制御するSFCの自動運転プログラムを作成できる。
【0071】
以上の説明では、プログラマブルコントローラの制御プログラムの作成を支援する制御プログラム編集装置1について説明したが、以下にて、当該制御プログラム編集装置1に実装する、制御プログラムの作成支援プログラムについて説明する。
制御プログラムの作成支援プログラムは、既に説明した図7及び図10に示すフローチャートの処理を実行し、図8に示すデータテーブルの作成や、図9に示すセル配置の表示等を行い、SFCプログラムを自動生成する。
すなわち、制御プログラム編集装置1(コンピュータに相当)を、予め作成されたラダープログラム(動作制御用FB)から動作順番情報と付帯情報とを抽出する抽出手段、抽出手段にて抽出された動作順番情報及び付帯情報に基づいて、ステップ及びトランジションを自動生成してSFCプログラムを自動的に作成するプログラム自動生成手段、として機能させる。
また、制御プログラム編集装置1を、動作制御用FBに設けられた動作順番入力部から動作順番情報を指定可能とする動作順番指定手段、動作制御用FBに設けられた付帯情報入力部から付帯情報を指定可能とするとともに、付帯情報入力部に、少なくとも、動作指令に基づいた動作指令信号と、動作終了状態に基づいた動作終了信号と、を指定可能とする付帯情報指定手段、として機能させる。
【0072】
なお、上記実施形態は以下のように変更してもよい。
・上記実施形態では、搬送システムの例とし動作数が4としたが、それに限るものではなく、動作数が1以上であればよい。
・上記実施形態では、動作制御用FBが前進動作及び後退動作を有するものであるが、前進動作のみ又は後退動作のみであってもよい。前進動作のみの場合、後退動作順番を入力しない。また、後退動作のみの場合、前進動作順番を入力しない。
・上記実施形態では、動作制御用FBが前進動作及び後退動作の二つの動作を有するものであるが、それに限るものではなく、例えば、一つの動作又は三つ以上の動作を有する場合にも適用できる。
・上記実施形態では、イニシャルステップ番号が「ST201」、及びイニシャルトランジション番号が「TR201」としたが、それに限るものではなく、それぞれを「ST100」、及び「TR100」としてもよい。
【符号の説明】
【0073】
1:制御プログラム編集装置、 23:FB情報抽出データ記憶領域、 40:PLC、 50:動作順番入力部、 51:付帯情報入力部、 I3:前進指令(動作指令信号)、 I4:後退指令(動作指令信号)、 I5:前進端(動作終了信号)、 I6:後退端(動作終了信号)、 FB100:搬送装置前進/後退用の動作制御用FB(動作制御用ファンクションブロック)

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15