JP2013012088A - Development support method and program - Google Patents

Development support method and program Download PDF

Info

Publication number
JP2013012088A
JP2013012088A JP2011144985A JP2011144985A JP2013012088A JP 2013012088 A JP2013012088 A JP 2013012088A JP 2011144985 A JP2011144985 A JP 2011144985A JP 2011144985 A JP2011144985 A JP 2011144985A JP 2013012088 A JP2013012088 A JP 2013012088A
Authority
JP
Japan
Prior art keywords
component
log
control program
state
mounting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011144985A
Other languages
Japanese (ja)
Other versions
JP5462840B2 (en
Inventor
Hiroyuki Kondo
弘幸 近藤
Ikuo Yoshida
幾生 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2011144985A priority Critical patent/JP5462840B2/en
Publication of JP2013012088A publication Critical patent/JP2013012088A/en
Application granted granted Critical
Publication of JP5462840B2 publication Critical patent/JP5462840B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a development support method enabling efficient development of a control program.SOLUTION: A development support method includes: a log acquisition step (S11) for acquiring a log output by a control program installed in a mounting substrate manufacturing apparatus from a log file; a test scenario creation step (S12) for creating a test scenario such as causing transitions of the state of a drive unit in an order written in the log acquired at the log acquisition step; and a test execution step (S13) for executing a control program for testing, according to the test scenario created at the test scenario creation step.

Description

本発明は、開発支援方法、特に、実装基板製造装置の駆動部の動作を制御する制御プログラムの開発を支援する方法に関するものである。   The present invention relates to a development support method, and more particularly to a method for supporting the development of a control program for controlling the operation of a drive unit of a mounting board manufacturing apparatus.

ソフトウェアの開発効率向上のため、特に、モレ、ヌケを事前に見出すための状態遷移表設計手法に基づくソフトウェア設計ツールは、状態遷移表から自動的にソースコードを生成する機能を備えている。また、このようなソフトウェア設計ツールの中には、さらにシミュレーションテスト機能まで備えたものがある(例えば、特許文献1参照)。   In order to improve the efficiency of software development, a software design tool based on a state transition table design method for finding out more and more in advance has a function of automatically generating source code from a state transition table. Some of such software design tools further include a simulation test function (see, for example, Patent Document 1).

特開平11−102205号公報JP-A-11-102205

しかし、上述のソフトウェア設計ツールにおいて、実際にシミュレーションテストを実施しようとすると、別の開発ツールで別途テスト用モジュールを作成しなければならない。すなわち、各テスト用モジュールをカスタム作成しなければならず、開発ツールとして利用されにくいという課題がある。   However, in the above-described software design tool, if an actual simulation test is to be performed, a separate test module must be created using another development tool. In other words, each test module must be custom-created, and there is a problem that it is difficult to use as a development tool.

本発明は、上記の課題に鑑みてなされたものであり、制御プログラムの開発を効率的に行なうことができる開発支援方法を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a development support method capable of efficiently developing a control program.

本発明の一形態に係る開発支援方法は、実装基板製造装置の駆動部の動作を制御するための制御プログラムの開発を、コンピュータにより支援する方法である。前記制御プログラムは、前記駆動部の状態と、前記制御プログラムの外部で実行される処理の結果として生じるイベントと、前記駆動部の状態及び前記イベントの組み合わせのそれぞれに対して、前記駆動部が実行する動作及び前記駆動部の次の状態とが定義されている状態遷移表に基づいて生成され、且つ前記駆動部の状態が遷移する毎に、前記駆動部の動作の結果と、前記駆動部の次の状態を特定する情報とが記述されているログを、ログファイルに出力するものである。そして、該開発支援方法は、前記実装基板製造装置に組み込まれた前記制御プログラムによって出力される前記ログを前記ログファイルから読み出すログ取得ステップと、前記駆動部の状態を、前記ログ取得ステップで取得された前記ログに記述されている順に遷移させるようなテストシナリオを作成するテストシナリオ作成ステップと、前記テストシナリオ作成ステップで作成された前記テストシナリオに沿って、前記制御プログラムをテスト実行するテスト実行ステップとを含む。   A development support method according to an aspect of the present invention is a method of supporting development of a control program for controlling the operation of a drive unit of a mounting board manufacturing apparatus by a computer. The control program is executed by the drive unit for each of a state of the drive unit, an event generated as a result of processing executed outside the control program, and a combination of the state of the drive unit and the event. And the next state of the driving unit are generated based on a defined state transition table, and each time the state of the driving unit transitions, the result of the operation of the driving unit and the driving unit A log in which information specifying the next state is described is output to a log file. In the development support method, the log acquisition step of reading the log output by the control program incorporated in the mounting board manufacturing apparatus from the log file and the state of the drive unit are acquired in the log acquisition step. A test scenario creation step for creating a test scenario for transition in the order described in the recorded log, and a test execution for test execution of the control program according to the test scenario created in the test scenario creation step Steps.

このように、ログに基づいて作成されたテストシナリオに沿って制御プログラムをテスト実行することにより、実装基板製造装置に組み込まれた制御プログラムが実際に駆動部を動作させた状況を、コンピュータにより再現することができる。これにより、現場で生じたトラブルの原因を迅速且つ正確に把握し、改善することが可能となる。   In this way, by executing test execution of the control program according to the test scenario created based on the log, the computer reproduces the situation in which the control program incorporated in the mounting board manufacturing apparatus actually operates the drive unit. can do. As a result, it is possible to quickly and accurately grasp the cause of the trouble occurring at the site and improve it.

さらに、前記ログには、状態遷移表上の各状態における前記駆動部の動作時間が記述されていてもよい。前記テストシナリオ作成ステップでは、前記テスト実行ステップにおける前記制御プログラムのテスト実行時に、前記駆動部の各動作に対応する前記制御プログラムの命令が、前記ログに記述された前記駆動部の動作時間に合わせて実行されるように、前記テストシナリオが作成されてもよい。そして、前記テスト実行ステップでは、表示画面に表示された前記実装基板製造装置の3次元図面上の前記駆動部を、テスト実行される前記制御プログラムの命令に対応する動作をしているように移動させてもよい。   Furthermore, the operation time of the drive unit in each state on the state transition table may be described in the log. In the test scenario creating step, the control program instruction corresponding to each operation of the drive unit is matched with the operation time of the drive unit described in the log at the time of the test execution of the control program in the test execution step. The test scenario may be created such that the test scenario is executed. In the test execution step, the drive unit on the three-dimensional drawing of the mounting board manufacturing apparatus displayed on the display screen is moved so as to perform an operation corresponding to the instruction of the control program to be tested. You may let them.

また、前記テスト実行ステップでは、表示画面に表示された前記3次元図面上の前記駆動部を、前記ログに記述された前記駆動部の動作時間で動作が完了するように前記駆動部の加減速曲線に従って移動させてもよい。これにより、微妙なタイミングで生じるトラブルを、コンピュータ上で忠実に再現させることが可能となる。   In the test execution step, the driving unit on the three-dimensional drawing displayed on the display screen is accelerated or decelerated so that the operation is completed within the operating time of the driving unit described in the log. You may move according to a curve. This makes it possible to faithfully reproduce troubles that occur at delicate timing on a computer.

さらに、該開発支援方法は、前記テスト実行ステップで前記制御プログラムの各命令がテスト実行される度に、当該命令に対応する前記状態遷移表上の現在位置と、当該現在位置に至るまでの前記状態遷移表上の軌跡とを出力する出力ステップを含んでもよい。これにより、例えば、処理が異常終了した場合の原因を特定するための情報をユーザに提供することができる。   Further, the development support method is configured such that each time each instruction of the control program is test-executed in the test execution step, the current position on the state transition table corresponding to the instruction and the current position until the current position is reached. An output step of outputting a locus on the state transition table may be included. Thereby, for example, it is possible to provide the user with information for specifying the cause when the process ends abnormally.

本発明の一形態に係るプログラムは、上記記載の開発支援方法を、コンピュータに実行させる。   A program according to an aspect of the present invention causes a computer to execute the development support method described above.

本発明によれば、ログに基づいて作成されたテストシナリオに沿って制御プログラムをテストすることにより、現場で生じたトラブルの原因を迅速且つ正確に把握し、改善することが可能となる。   According to the present invention, by testing a control program according to a test scenario created based on a log, it is possible to quickly and accurately grasp and improve the cause of a trouble that has occurred in the field.

図1は、本発明の実施の形態における部品実装システムの外観図である。FIG. 1 is an external view of a component mounting system according to an embodiment of the present invention. 図2は、部品実装機の内部の主要な機械的構成を示す構成図である。FIG. 2 is a configuration diagram showing the main mechanical configuration inside the component mounter. 図3は、ヘッドと部品カセットとの位置関係を示す模式図である。FIG. 3 is a schematic diagram showing the positional relationship between the head and the component cassette. 図4は、部品を収めた部品テープ及びリールの例を示す図である。FIG. 4 is a diagram illustrating an example of a component tape and a reel that contain components. 図5は、本実施の形態における部品実装機の機能ブロック図である。FIG. 5 is a functional block diagram of the component mounter in the present embodiment. 図6は、NCデータの一例を示す図である。FIG. 6 is a diagram illustrating an example of NC data. 図7は、部品ライブラリの一例を示す図である。FIG. 7 is a diagram illustrating an example of a component library. 図8は、実装条件データの一例を示す図である。FIG. 8 is a diagram illustrating an example of the mounting condition data. 図9は、開発支援プログラムを実行するコンピュータのハードウェア構成を示す図である。FIG. 9 is a diagram illustrating a hardware configuration of a computer that executes a development support program. 図10は、状態遷移表の例を示す図である。FIG. 10 is a diagram illustrating an example of the state transition table. 図11は、図10の状態遷移表から生成されるソースコードの例を示す図である。FIG. 11 is a diagram illustrating an example of source code generated from the state transition table of FIG. 図12は、開発支援プログラムの動作を示すフローチャートである。FIG. 12 is a flowchart showing the operation of the development support program. 図13は、ログファイルに書き込まれたログの一例を示す図である。FIG. 13 is a diagram illustrating an example of a log written in the log file. 図14は、テストシナリオの一例を示す図である。FIG. 14 is a diagram illustrating an example of a test scenario. 図15は、図14のテストシナリオの実行順序を示す図である。FIG. 15 is a diagram showing the execution order of the test scenario of FIG. 図16は、テスト実行時に表示部に表示される画面例を示す図である。FIG. 16 is a diagram illustrating an example of a screen displayed on the display unit when the test is executed.

図1は、本発明の実施の形態における部品実装システムの外観図である。   FIG. 1 is an external view of a component mounting system according to an embodiment of the present invention.

本実施の形態における部品実装システム1000は、部品実装機100と、部品実装機100を制御する制御装置200とを備えている。なお、図1では、制御装置200を部品実装機100とは別体として図示しているが、部品実装機100内に制御装置200を設けてもよい。   A component mounting system 1000 according to the present embodiment includes a component mounter 100 and a control device 200 that controls the component mounter 100. In FIG. 1, the control device 200 is illustrated as a separate body from the component mounter 100, but the control device 200 may be provided in the component mounter 100.

部品実装機100は、上流から基板(回路基板)20を受け取り、その基板20に対して部品を実装し、その部品が実装された基板20を下流側に送り出す。なお、部品実装機100によって部品が実装された基板20を、以下、実装基板という。   The component mounting machine 100 receives a board (circuit board) 20 from upstream, mounts a component on the board 20, and sends the board 20 on which the component is mounted downstream. In addition, the board | substrate 20 with which components were mounted by the component mounting machine 100 is hereafter called a mounting board.

具体的には、部品実装機100は、複数種の部品を供給する2つの部品供給部115a、115bと、基板20を部品実装機100の内部に搬入する搬入口130とを備える。部品実装機100は、搬入口130から搬入された基板20を、所定位置で停止させる。そして、部品実装機100は、部品供給部115a、115bから供給される部品を順次取り出し、所定位置で停止している基板20に対して、取り出した部品を実装する。   Specifically, the component mounter 100 includes two component supply units 115 a and 115 b that supply a plurality of types of components, and a carry-in port 130 that carries the board 20 into the component mounter 100. The component mounting machine 100 stops the board 20 carried in from the carry-in port 130 at a predetermined position. Then, the component mounter 100 sequentially takes out the components supplied from the component supply units 115a and 115b, and mounts the removed components on the board 20 stopped at a predetermined position.

また、部品実装機100は、部品供給部115a、115bから供給された部品、当該部品を実装する前の基板20、及び基板20に実装された後の部品の状態等を、撮像装置等を用いて認識する。   In addition, the component mounting machine 100 uses an imaging device or the like for the components supplied from the component supply units 115a and 115b, the substrate 20 before mounting the components, the state of the components after mounting on the substrate 20, and the like. Recognize.

制御装置200は、部品実装機100による部品の実装条件などを決定して、その実装条件に沿って実装が行われるように部品実装機100を制御する。   The control device 200 determines a component mounting condition or the like by the component mounting machine 100 and controls the component mounting machine 100 so that the mounting is performed according to the mounting condition.

図2は、部品実装機100の内部の主要な機械的構成を示す構成図である。   FIG. 2 is a configuration diagram showing a main mechanical configuration inside the component mounter 100.

部品実装機100は、基板20に対して部品を実装する2つの実装ユニット110a、110bと、基板20を搬送するための一対の基板搬送レール122a、122bと、一対のビーム駆動ロボット140とを備えている。2つの実装ユニット110a、110bは、協調して基板搬送レール122a、122b上にある基板20に対して部品を実装する。   The component mounting machine 100 includes two mounting units 110a and 110b for mounting components on the substrate 20, a pair of substrate transport rails 122a and 122b for transporting the substrate 20, and a pair of beam driving robots 140. ing. The two mounting units 110a and 110b cooperatively mount components on the substrate 20 on the substrate transport rails 122a and 122b.

実装ユニット110a及び実装ユニット110bは、それぞれ同様の構成を有している。つまり、実装ユニット110aは、部品供給部115a、部品検査部116a、ヘッド112a、及びビーム121aを備えている。同様に、実装ユニット110bは、部品供給部115b、部品検査部116b、ヘッド112b、及びビーム121bを備えている。   The mounting unit 110a and the mounting unit 110b have the same configuration. That is, the mounting unit 110a includes a component supply unit 115a, a component inspection unit 116a, a head 112a, and a beam 121a. Similarly, the mounting unit 110b includes a component supply unit 115b, a component inspection unit 116b, a head 112b, and a beam 121b.

ここで、実装ユニット110aの詳細な構成について説明する。なお、実装ユニット110bの詳細な構成については、実装ユニット110aと同様であるため省略する。   Here, a detailed configuration of the mounting unit 110a will be described. The detailed configuration of the mounting unit 110b is the same as that of the mounting unit 110a, and will not be described.

部品供給部115aは、部品テープを収納する複数の部品カセット(フィーダ)114の配列からなる。また、部品供給部115aの各部品カセット114は、基板20の搬送方向(X軸方向)に沿って配列している。なお、部品テープとは、例えば、同一部品種の複数の部品がテープ(キャリアテープ)上に並べられたものであり、リール等に巻かれた状態で供給される。また、部品テープに並べられる(収納される)部品は、例えばチップ部品であって、具体的には0402チップ部品や1005チップ部品などである。   The component supply unit 115a includes an array of a plurality of component cassettes (feeders) 114 that store component tapes. In addition, the component cassettes 114 of the component supply unit 115a are arranged along the conveyance direction (X-axis direction) of the substrate 20. The component tape is, for example, a plurality of components of the same component type arranged on a tape (carrier tape) and supplied in a state of being wound on a reel or the like. The parts arranged (stored) on the part tape are, for example, chip parts, specifically, 0402 chip parts, 1005 chip parts, and the like.

ヘッド112aは、例えばマルチ装着ヘッドと呼ばれるヘッドであって、複数の吸着ノズル(以下、単にノズルという)を備えることができる。例えば、部品供給部115aから10個の部品を吸着して基板20に装着することができる。このようなヘッド112aは、軸状に構成されたビーム121aに対してスライド自在に取り付けられている。ヘッド112aは、例えば、モータなどのアクチュエータの駆動により、ビーム121aに沿って移動する。また、ヘッド112aには、部品を実装する前の基板20の状態、及び基板20に実装された後の部品の状態等を検査する部品検査部116a、116bが設けられている。   The head 112a is a head called a multi-mounted head, for example, and can include a plurality of suction nozzles (hereinafter simply referred to as nozzles). For example, ten components can be adsorbed from the component supply unit 115 a and mounted on the substrate 20. Such a head 112a is slidably attached to a beam 121a configured in a shaft shape. The head 112a moves along the beam 121a, for example, by driving an actuator such as a motor. The head 112a is provided with component inspection units 116a and 116b for inspecting the state of the substrate 20 before mounting the components, the state of the components after mounting on the substrate 20, and the like.

ビーム121aは、基板20の搬送方向(X軸方向)と垂直な方向(Y軸方向)に沿って互いに平行に配置された一対のビーム駆動ロボット140上に、Y軸方向にスライド自在に取り付けられている。したがって、ビーム121aは、例えばモータなどのアクチュエータの駆動により、一対のビーム駆動ロボット140上をY軸方向に沿って移動する。すなわち、ヘッド112aは、ビーム駆動ロボット140およびビーム121aによってX軸方向およびY軸方向に移動する。   The beam 121a is slidably mounted in the Y-axis direction on a pair of beam driving robots 140 arranged parallel to each other along a direction (Y-axis direction) perpendicular to the transport direction (X-axis direction) of the substrate 20. ing. Therefore, the beam 121a moves on the pair of beam driving robots 140 along the Y-axis direction by driving an actuator such as a motor. That is, the head 112a is moved in the X-axis direction and the Y-axis direction by the beam driving robot 140 and the beam 121a.

基板搬送レール122a、122bは、それぞれX軸方向に対して平行となるように配置されている。ここで、基板搬送レール122aは、部品供給部115a側に寄せて固定されている。一方、基板搬送レール122bは、搬送される基板20のサイズ(幅)に応じてY軸方向に移動する。部品実装機100の搬入口130から搬入された基板20は、一対の基板搬送レール122a、122b上に沿って搬送されてストッパーなどにより所定位置で停止される。   The substrate transport rails 122a and 122b are arranged so as to be parallel to the X-axis direction. Here, the board conveyance rail 122a is fixed to the component supply unit 115a side. On the other hand, the substrate transport rail 122b moves in the Y-axis direction according to the size (width) of the substrate 20 to be transported. The board 20 carried in from the carry-in port 130 of the component mounting machine 100 is carried along the pair of board carrying rails 122a and 122b and stopped at a predetermined position by a stopper or the like.

部品検査部116aは、ヘッド112aに吸着された部品の形状や吸着状態を2次元又は3次元的に検査するために用いられる。また、部品検査部116aは、部品供給部115aにおけるX軸方向に沿った中央付近に配置されている。   The component inspection unit 116a is used for two-dimensionally or three-dimensionally inspecting the shape and suction state of the component sucked by the head 112a. The component inspection unit 116a is disposed in the vicinity of the center along the X-axis direction in the component supply unit 115a.

このように構成された部品実装機100において、ヘッド112aは、部品供給部115aから供給される部品を吸着して基板20上に移動し、吸着している部品をその基板20の各実装点に装着し、部品供給部115a上に移動するという一連の動作を繰り返し実行する。ヘッド112bも同様に、部品供給部115bから供給される部品を吸着して基板20上に移動し、吸着している部品をその基板20の各実装点に装着し、部品供給部115b上に移動するという一連の動作を繰り返し実行する。   In the component mounting machine 100 configured as described above, the head 112a picks up the component supplied from the component supply unit 115a and moves it onto the substrate 20, and uses the sucked component at each mounting point of the substrate 20. A series of operations of mounting and moving on the component supply unit 115a is repeatedly executed. Similarly, the head 112b picks up the component supplied from the component supply unit 115b and moves it onto the substrate 20, attaches the sucked component to each mounting point of the substrate 20, and moves it onto the component supply unit 115b. A series of operations are repeatedly executed.

このように実行される一連の動作、または1回あたりの一連の動作でヘッドに吸着される部品群を、以下、タスクという。また、実装点とは、基板20上の部品が実装されるべき位置である。   A group of parts that are attracted to the head by a series of operations executed in this way or a series of operations per time will be referred to as a task hereinafter. The mounting point is a position where a component on the board 20 is to be mounted.

ヘッド112aによる1つのタスクの例を具体的に説明する。まず、ヘッド112aは、X軸方向およびY軸方向に移動しながら、部品供給部115aの各部品カセット114から供給される1タスク分の部品を吸着する。その後、ヘッド112aは、部品検査部116a上を一定速度で移動する、或いは一時停止することにより、吸着している部品を部品検査部116aに撮像させ、基板20の実装領域上に入る前のポイントである突入ポイントに到達する。そして、ヘッド112aは、その突入ポイントから所定のタイミングで移動を開始して基板20の実装領域上に入る。なお、突入ポイントは複数点あってもよい。   An example of one task by the head 112a will be specifically described. First, the head 112a sucks components for one task supplied from each component cassette 114 of the component supply unit 115a while moving in the X-axis direction and the Y-axis direction. Thereafter, the head 112a moves on the component inspection unit 116a at a constant speed or temporarily stops, thereby causing the component inspection unit 116a to pick up an image of the adsorbed component, and a point before entering the mounting area of the substrate 20 Reach the rush point that is. Then, the head 112a starts moving at a predetermined timing from the entry point and enters the mounting area of the substrate 20. There may be a plurality of entry points.

なお、実装領域とは、基板20の実装点が存在する領域であって、基板20の一部の領域や全ての領域であってもよい。実装領域上に入ったヘッド112aは、X軸方向およびY軸方向に移動しながら、吸着している部品をそれぞれ各実装点に装着する。1タスク分の全ての部品の装着が完了すると、ヘッド112aは、基板20の実装領域上から出て部品供給部115a上に移動する。   The mounting area is an area where mounting points of the substrate 20 exist, and may be a partial area or all areas of the substrate 20. The head 112a that has entered the mounting area mounts the sucked components on each mounting point while moving in the X-axis direction and the Y-axis direction. When the mounting of all components for one task is completed, the head 112a moves out of the mounting area of the substrate 20 and moves onto the component supply unit 115a.

一方、ヘッド112bも上述のヘッド112aの動作と同様の動作を行うが、ヘッド112a、112bは、それぞれが干渉することがないように、つまり、それぞれが同時に基板20の実装領域上の干渉する領域に入ることがないように、互いに協調して動作する。   On the other hand, the head 112b also performs the same operation as that of the head 112a described above, but the heads 112a and 112b do not interfere with each other. Operate in cooperation with each other so as not to enter.

図3は、ヘッド112aと部品カセット114との位置関係を示す模式図である。   FIG. 3 is a schematic diagram showing the positional relationship between the head 112a and the component cassette 114. As shown in FIG.

上述のように、ヘッド112aには、例えば最大10個のノズルnzをX軸方向に配列させて取り付けることが可能である。10個のノズルnzが取り付けられたヘッド112aは、例えば、最大10個の部品カセット114のそれぞれから部品を順次、或いは同時に(1回の上下動作で)吸着することができる。同様に、ヘッド112bも例えば最大10個のノズルnzを取り付けることができる。なお、本発明では、ヘッド112a、112bに取り付けられるノズルnzの数は10個以外でもよく、X軸方向に沿うノズルnzの列を、Y軸方向に複数列取り付けてもよい。   As described above, for example, a maximum of 10 nozzles nz can be arranged and attached to the head 112a in the X-axis direction. For example, the head 112a to which the ten nozzles nz are attached can suck components from each of a maximum of ten component cassettes 114 sequentially or simultaneously (by one up and down movement). Similarly, the head 112b can be attached with, for example, a maximum of ten nozzles nz. In the present invention, the number of nozzles nz attached to the heads 112a and 112b may be other than ten, and a plurality of rows of nozzles nz along the X-axis direction may be attached in the Y-axis direction.

図4は、部品を収めた部品テープ及びリールの例を示す図である。   FIG. 4 is a diagram illustrating an example of a component tape and a reel that contain components.

チップ形電子部品などの部品423dは、図4に示すキャリアテープ424に保持されている。キャリアテープ424には、一定間隔で連続的に形成された複数の収納凹部424aが設けられている。部品は、この収納凹部424aに収納されている。さらに、キャリアテープ424の上面(部品を取り出す側)には、カバーテープ425が貼付けられている。カバーテープ425が貼り付けられたキャリアテープ424は、リール426に所定の数量分だけ巻回されたテーピング形態でユーザに供給される。このようなキャリアテープ424およびカバーテープ425によって部品テープが構成される。なお、部品テープの構成は、図4に示す構成以外の他の構成であってもよい。   A component 423d such as a chip-type electronic component is held by a carrier tape 424 shown in FIG. The carrier tape 424 is provided with a plurality of storage recesses 424a formed continuously at regular intervals. Parts are stored in the storage recess 424a. Further, a cover tape 425 is affixed to the upper surface of the carrier tape 424 (the side from which components are taken out). The carrier tape 424 to which the cover tape 425 is attached is supplied to the user in a taping form in which the carrier tape 424 is wound around the reel 426 by a predetermined number. Such a carrier tape 424 and a cover tape 425 constitute a component tape. The configuration of the component tape may be other than the configuration shown in FIG.

本実施の形態における部品実装機100では、上述のようにヘッド112a、112bがそれぞれ同時に基板20の実装領域上の干渉する領域に入ることがないように互いに強調して動作する。その結果、この部品実装機100は、いわゆる交互打ちと非交互打ちとを実行する。交互打ちとは、ヘッド112aによる1タスク分の部品の装着と、ヘッド112bによる1タスク分の部品の装着とが交互に行われる動作である。一方、非交互打ちとは、ヘッド112aまたはヘッド112bによる1タスク分の部品の装着が繰り返し連続して同じヘッドで行われる動作である。   In the component mounter 100 in the present embodiment, as described above, the heads 112a and 112b operate while emphasizing each other so that they do not simultaneously enter the interfering region on the mounting region of the substrate 20. As a result, the component mounting machine 100 executes so-called alternating and non-alternating. Alternating is an operation in which mounting of parts for one task by the head 112a and mounting of parts for one task by the head 112b are alternately performed. On the other hand, non-alternating is an operation in which mounting of parts for one task by the head 112a or the head 112b is repeatedly performed with the same head.

図5は、本実施の形態における部品実装機100の制御系の機能構成を示すブロック図である。   FIG. 5 is a block diagram showing a functional configuration of a control system of the component mounter 100 in the present embodiment.

本実施の形態における部品実装機100は、入力部151、表示部152、ヘッド制御部153、制御部154、通信部155、および格納部156を備えている。   The component mounter 100 according to the present embodiment includes an input unit 151, a display unit 152, a head control unit 153, a control unit 154, a communication unit 155, and a storage unit 156.

入力部151は、例えばキーボードやマウスなどで構成されており、オペレータ(ユーザ)からの操作を受け付けて、その操作結果をヘッド制御部153や制御部154などに通知する。   The input unit 151 includes, for example, a keyboard and a mouse, receives an operation from an operator (user), and notifies the operation result to the head control unit 153, the control unit 154, and the like.

表示部152は、例えば液晶ディスプレイなどで構成されており、ヘッド制御部153などの動作状態を表示したり、格納部156などに格納されているデータを表示したりする。   The display unit 152 includes, for example, a liquid crystal display, and displays the operation state of the head control unit 153 or the like, or displays data stored in the storage unit 156 or the like.

制御部154は、入力部151に受け付けられた操作や、通信部155で受信されたデータに応じて、部品検査部116a、116b、表示部152、及びヘッド制御部153などを制御する。また、制御部154は、基板20を搬送するためのモータなどを制御して、基板20を適切な位置に搬送する。   The control unit 154 controls the component inspection units 116a and 116b, the display unit 152, the head control unit 153, and the like according to the operation received by the input unit 151 and the data received by the communication unit 155. Further, the control unit 154 controls a motor or the like for transporting the substrate 20 and transports the substrate 20 to an appropriate position.

通信部155は、制御装置200と通信する。例えば、通信部155は、基板20の各実装点に関する情報などを示すNCデータ156aと、各部品に関する情報を示す部品ライブラリ156bと、部品カセット114の配列や部品の実装順序などの実装条件を示す実装条件データ156cとを制御装置200から取得して、それらを格納部156に格納する。なお、図5では、制御装置200と制御部154とを別体として構成する例を示しているが、制御装置200を制御部154内に設けて、部品実装機100の制御系内の構成としてもよい。また、制御装置200、ヘッド制御部153、及び制御部154をまとめて制御部として構成するものであってもよい。   The communication unit 155 communicates with the control device 200. For example, the communication unit 155 indicates NC data 156a indicating information on each mounting point of the board 20, a component library 156b indicating information on each component, and mounting conditions such as the arrangement of the component cassette 114 and the component mounting order. The mounting condition data 156c is acquired from the control device 200 and stored in the storage unit 156. 5 shows an example in which the control device 200 and the control unit 154 are configured separately, but the control device 200 is provided in the control unit 154 as a configuration in the control system of the component mounter 100. Also good. Further, the control device 200, the head control unit 153, and the control unit 154 may be collectively configured as a control unit.

格納部156は、通信部155により取得されたNCデータ156a、部品ライブラリ156b、及び実装条件データ156c等を格納している。   The storage unit 156 stores NC data 156a acquired by the communication unit 155, a component library 156b, mounting condition data 156c, and the like.

図6は、NCデータ156aの一例を示す図である。   FIG. 6 is a diagram illustrating an example of the NC data 156a.

NCデータ156aは、基板20において装着の対象となる全ての部品の実装点に関する情報を示す。1つの実装点piは、部品種ci、X座標xi、Y座標yi、制御データφi、および実装角度θiからなる。ここで、部品種は、部品ライブラリ156bにおける部品名に相当する(図7参照)。X座標およびY座標は実装点の座標である。制御データφiは、その部品の装着に関する制約情報、例えば、使用可能なノズルnzのタイプや、ヘッド112a,112bの最高移動加速度等を示す。実装角度θiは、部品種ciの部品を吸着したノズルnzが回転すべき角度を示す。   The NC data 156a indicates information related to mounting points of all components to be mounted on the board 20. One mounting point pi includes a component type ci, an X coordinate xi, a Y coordinate yi, control data φi, and a mounting angle θi. Here, the component type corresponds to a component name in the component library 156b (see FIG. 7). The X coordinate and the Y coordinate are the coordinates of the mounting point. The control data φi indicates constraint information related to the mounting of the component, for example, the type of nozzle nz that can be used, the maximum movement acceleration of the heads 112a and 112b, and the like. The mounting angle θi indicates an angle at which the nozzle nz that has picked up the component of the component type ci should rotate.

図7は、部品ライブラリ156bの一例を示す図である。   FIG. 7 is a diagram illustrating an example of the component library 156b.

部品ライブラリ156bは、部品実装機100が扱うことができる全ての部品種のそれぞれについての固有の情報を集めたライブラリである。この部品ライブラリ156bは、図7に示すように、部品種(部品名)ごとの部品サイズ(幅、奥行き、厚さ等)、その部品種におけるタクト、および制約情報などからなる。   The component library 156b is a library in which unique information for each of all component types that can be handled by the component mounter 100 is collected. As shown in FIG. 7, the component library 156b includes a component size (width, depth, thickness, etc.) for each component type (component name), tact in the component type, constraint information, and the like.

なお、この部品ライブラリ156bの示すタクトは、一定条件下において部品を基板20に装着するのに要する部品種固有の時間である。制約情報は、例えば、使用可能なノズルnzのタイプ(SXや、SAなど)、部品検査部116a、116bによる認識方式(反射など)、及びヘッド112a、112bの最高加速度比などである。また、図7には、参考として、各部品種の部品の外観も併せて示されている。部品ライブラリ156bには、その他に、部品の色や形状などの情報が含まれていてもよい。   The tact indicated by the component library 156b is a time specific to the component type required to mount the component on the board 20 under a certain condition. The constraint information is, for example, the type of nozzle nz that can be used (SX, SA, etc.), the recognition method (reflection, etc.) by the component inspection units 116a, 116b, and the maximum acceleration ratio of the heads 112a, 112b. FIG. 7 also shows the appearances of the components of each component type for reference. In addition, the component library 156b may include information such as the color and shape of the component.

図8は、実装条件データ156cの一例を示す図である。   FIG. 8 is a diagram illustrating an example of the mounting condition data 156c.

実装条件データ156cは、部品供給部115a、115bにおける部品カセット114の配列(部品配列)、及びヘッド112a、112bのそれぞれのタスクごとの実装順序などを示す。例えば、実装条件データ156cは、部品配列として、部品供給部115aのX軸方向の一方からA1番目に部品種c1があり、A2番目に部品種c2があることを示す。同様に、部品供給部115bのX軸方向の一方からB1番目に部品種c1があり、B2番目に部品種c2があることを示す。   The mounting condition data 156c indicates the arrangement (component arrangement) of the component cassettes 114 in the component supply units 115a and 115b, the mounting order for each task of the heads 112a and 112b, and the like. For example, the mounting condition data 156c indicates that there is a component type c1 at the A1th and a component type c2 at the A2th from one side in the X-axis direction of the component supply unit 115a. Similarly, it shows that there is a component type c1 at B1 from the one side in the X-axis direction of the component supply unit 115b, and there is a component type c2 at B2.

また、実装条件データ156cは、ヘッド112aの実装順序として、部品種c1〜c4の部品を含むタスク番号Ta1のタスクが実行され、次に、部品種c9〜c12の部品を含むタスク番号Ta2のタスクが実行され、さらにその後、部品種c17〜c20の部品を含むタスク番号Ta3のタスクが実行されることを示す。同様に、実装条件データ156cは、ヘッド112bの実装順序として、部品種c5〜c8の部品を含むタスク番号Tb1のタスクが実行され、次に、部品種c13〜c16の部品を含むタスク番号Tb2のタスクが実行され、さらにその後、部品種c21〜c24の部品を含むタスク番号Tb3のタスクが実行されることを示す。なお、実装条件データ156cは、タスクに含まれる部品ごとに、その部品の実装点も示している。   The mounting condition data 156c includes a task number Ta1 including the components of the component types c1 to c4 as the mounting order of the head 112a, and then a task of the task number Ta2 including the components of the component types c9 to c12. Is executed, and thereafter, the task of the task number Ta3 including the parts of the parts type c17 to c20 is executed. Similarly, in the mounting condition data 156c, as the mounting order of the head 112b, the task with the task number Tb1 including the components of the component types c5 to c8 is executed, and then the task number Tb2 including the components of the component types c13 to c16 is executed. This indicates that the task is executed, and then the task with the task number Tb3 including the parts of the part types c21 to c24 is executed. The mounting condition data 156c also indicates the mounting point of each component included in the task.

ヘッド制御部153は、格納部156に格納されているデータに基づいてモータなどを制御することにより、ヘッド112a、112bを移動させたり、そのヘッド112a、112bに部品を吸着させたり、部品を吸着したヘッド112a,112bを部品検査部116a、116bに移動させたり、部品を基板20上の実装点に装着させたりする。そして、ヘッド制御部153の動作は、後述する開発支援方法によって開発された制御プログラムによって制御される。   The head control unit 153 controls the motor and the like based on the data stored in the storage unit 156, thereby moving the heads 112a and 112b, adsorbing components to the heads 112a and 112b, and adsorbing components. The heads 112a and 112b thus moved are moved to the component inspection units 116a and 116b, or the components are mounted on the mounting points on the substrate 20. The operation of the head controller 153 is controlled by a control program developed by a development support method described later.

例えば、ヘッド制御部153は、上述の実装条件データ156cを読み出し、ヘッド112a、112bが実装すべきタスクをタスク番号に従って特定するとともに、そのタスクの部品が供給される場所を部品配列に基づいて特定する。そして、ヘッド制御部153は、特定した場所にヘッド112a、112bを移動させ、それらのヘッド112a、112bに部品を吸着させて、その部品に対応する実装点に装着させる。   For example, the head control unit 153 reads the above-described mounting condition data 156c, specifies the task to be mounted by the heads 112a and 112b according to the task number, and specifies the location where the parts of the task are supplied based on the component arrangement To do. Then, the head controller 153 moves the heads 112a and 112b to the specified locations, causes the heads 112a and 112b to adsorb components, and attaches them to the mounting points corresponding to the components.

また、ヘッド制御部153は、ヘッド112aを他方のヘッド112bの動きに応じて制御する。同様に、ヘッド112bを他方のヘッド112aの動きに応じて制御する。つまり、ヘッド制御部153は、制御対象となるヘッド(以下、対象ヘッドという)を、他方のヘッド(以下、相手ヘッドという)の動きに応じて制御する。   The head controller 153 controls the head 112a according to the movement of the other head 112b. Similarly, the head 112b is controlled according to the movement of the other head 112a. That is, the head control unit 153 controls a head to be controlled (hereinafter referred to as a target head) according to the movement of the other head (hereinafter referred to as a counterpart head).

ヘッド制御部153は、相手ヘッドが基板20の実装領域上にあるときに、対象ヘッドが突入ポイントに到達すると、対象ヘッドを突入ポイントに待機させておく。そして、相手ヘッドが実装領域上の互いのヘッドが干渉する領域である干渉領域から出ると、対象ヘッドを実装領域上に突入させる。また、ヘッド制御部153は、相手ヘッドが基板20の実装領域上にないときに、対象ヘッドが突入ポイントに到達すると、基本的に、その対象ヘッドを突入ポイントで待機させることなく実装領域上に突入させる。   When the target head reaches the entry point when the counterpart head is on the mounting area of the substrate 20, the head control unit 153 causes the target head to wait at the entry point. Then, when the counterpart head comes out of the interference area where the heads of the mounting area interfere with each other, the target head is caused to enter the mounting area. In addition, when the target head reaches the entry point when the counterpart head is not on the mounting area of the substrate 20, the head control unit 153 basically puts the target head on the mounting area without waiting at the entry point. Let it rush.

但し、本実施の形態におけるヘッド制御部153は、対象ヘッドが突入ポイントに到達したタイミングでその対象ヘッドを基板20の実装領域上に突入させることによって、非交互打ちが実行されそうな場合には、その非交互打ちを避けて強制的に交互打ちを実行させるべきか否かを判別する。非交互打ちを避けるべきと判別すると、ヘッド制御部153は、相手ヘッドが実装領域上になくても、相手ヘッドが実装領域上に入って1タスク分の部品を装着してその実装領域上から出るまで、対象ヘッドを突入ポイントに待機させておく。その結果、強制的な交互打ちが実現される。   However, the head control unit 153 in the present embodiment causes the target head to enter the mounting area of the substrate 20 at the timing when the target head reaches the entry point, and when non-alternate hitting is likely to be performed. Then, it is discriminated whether or not the non-alternating strike should be avoided and the alternate strike should be forcibly executed. If it is determined that non-alternate beating should be avoided, the head control unit 153 installs a part for one task after the partner head enters the mounting area even if the partner head is not on the mounting area. The target head is kept waiting at the entry point until exiting. As a result, forced alternating driving is realized.

なお、交互打ちとは、上述のように、基板20へのヘッド112aによる1タスク分の部品の装着と、ヘッド112bによる1タスク分の部品の装着とが交互に行われる動作であって、例えば、「ヘッド112a→ヘッド112b→ヘッド112a→ヘッド112b→・・・」の順で基板20への部品の装着が行われる動作である。また、非交互打ちとは、上述のように、ヘッド112aまたはヘッド112bによる1タスク分の部品の装着が繰り返し連続して行われる動作であって、例えば、「ヘッド112a→ヘッド112b→ヘッド112b→ヘッド112a→・・・」の順で同じヘッドによる部品の装着が連続して行われる動作である。   In addition, as described above, the alternate hitting is an operation in which mounting of a part for one task by the head 112a on the substrate 20 and mounting of a part for one task by the head 112b are alternately performed. In this order, the components are mounted on the board 20 in the order of “head 112a → head 112b → head 112a → head 112b →...”. Further, non-alternating is an operation in which mounting of parts for one task by the head 112a or the head 112b is repeatedly performed as described above. For example, “head 112a → head 112b → head 112b → This is an operation in which mounting of components by the same head is successively performed in the order of the head 112a →.

次に、上記構成のヘッド制御部153の動作を制御するためのプログラムの開発を支援する開発支援方法について説明する。なお、本発明の開発支援方法は、典型的には、コンピュータが実行するプログラム(開発支援プログラム)の形態で提供される。   Next, a development support method for supporting development of a program for controlling the operation of the head control unit 153 having the above configuration will be described. Note that the development support method of the present invention is typically provided in the form of a program (development support program) executed by a computer.

図9は、本実施の形態に係る開発支援プログラムを実行するコンピュータ10のハードウェア構成を示す図である。コンピュータ10は、図9に示されるように、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入力部14と、表示部15とを主に備える。   FIG. 9 is a diagram illustrating a hardware configuration of the computer 10 that executes the development support program according to the present embodiment. As shown in FIG. 9, the computer 10 mainly includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an input unit 14, and a display unit 15. Prepare for.

CPU11は、ROM12又はRAM13に記憶されているプログラムを実行する。ROM12は、例えば、コンピュータ10の起動時に必要となるプログラム(BIOS等)を記憶している。RAM13は、例えば、各種プログラムを記憶すると共に、CPU11による演算結果の一時記憶領域等としても利用される。本実施の形態に係る開発支援プログラムもRAM13に記憶されている。   The CPU 11 executes a program stored in the ROM 12 or the RAM 13. The ROM 12 stores, for example, a program (BIOS or the like) required when the computer 10 is started up. The RAM 13 stores, for example, various programs and is also used as a temporary storage area for calculation results by the CPU 11. The development support program according to the present embodiment is also stored in the RAM 13.

なお、RAM13の具体的な構成は特に限定されないが、例えば、DRAM(Dynamic random access memory)、SDRAM(Synchronous dynamic random access memory)、フラッシュメモリ、又は強誘電体メモリ等のデータを記録可能な手段であればどのようなものを利用しても構わない。   The specific configuration of the RAM 13 is not particularly limited. For example, the RAM 13 is a means capable of recording data such as a DRAM (Dynamic Random Access Memory), an SDRAM (Synchronous Dynamic Random Access Memory), a flash memory, or a ferroelectric memory. You can use whatever you like.

入力部14は、ユーザからの入力を受け付けるインタフェースであって、例えば、キーボードやマウス等である。表示部15は、各種情報をユーザに表示するディスプレイである。ディスプレイの具体的な構成は特に限定されないが、例えば、液晶ディスプレイ、プラズマディスプレイ、又は有機EL(Electro Luminescence)ディスプレイ等を採用することができる。   The input unit 14 is an interface that receives input from the user, and is, for example, a keyboard or a mouse. The display unit 15 is a display that displays various types of information to the user. Although the specific structure of a display is not specifically limited, For example, a liquid crystal display, a plasma display, or an organic EL (Electro Luminescence) display etc. are employable.

本実施の形態に係る開発支援プログラムは、部品実装機100の駆動部(この例ではヘッド112a、112b)の動作を制御するためのプログラム(以下、「制御プログラム」)の開発を支援するものである。   The development support program according to the present embodiment supports the development of a program (hereinafter referred to as “control program”) for controlling the operation of the drive unit (the heads 112a and 112b in this example) of the component mounter 100. is there.

図10及び図11を参照して、本実施の形態に係る開発支援プログラムによって生成されるプログラムの例を説明する。図10は、状態遷移表の例を示す図である。図11は、生成されたソースコードの一例を示す図である。但し、図11では、以降の説明で取り上げられる部分を中心に記述し、それ以外の部分の記述を省略している。   An example of a program generated by the development support program according to the present embodiment will be described with reference to FIGS. FIG. 10 is a diagram illustrating an example of the state transition table. FIG. 11 is a diagram illustrating an example of the generated source code. However, in FIG. 11, description is made centering on the part taken up in the following description, and description of other parts is omitted.

まず、図10に示されるような状態遷移表がユーザによって設計される。具体的には、開発支援プログラムは、入力画面を表示部15に表示し、ユーザからの入力を入力部14を介して受け付ける。   First, a state transition table as shown in FIG. 10 is designed by the user. Specifically, the development support program displays an input screen on the display unit 15 and accepts an input from the user via the input unit 14.

なお、状態遷移表とは、例えば、図10に示されるように、行及び列で構成されるマトリクス状の表である。この状態遷移表の第1行(一番上の行)には、例えば、ヘッド112a、112b等の状態が定義される。また、第1列には、制御プログラムの外部で実行される処理の結果として生じるイベントが定義される。なお、第1列に状態を定義し、第1行にイベントを定義してもよい。さらに、第1行及び第1列以外の各セルには、状態及びイベントの組み合わせに対して、ヘッド112a、112bが実行する動作及びヘッド112a、112bの次の状態が定義される。   Note that the state transition table is, for example, a matrix table composed of rows and columns as shown in FIG. In the first row (top row) of this state transition table, for example, the states of the heads 112a, 112b, etc. are defined. In the first column, events generated as a result of processing executed outside the control program are defined. The state may be defined in the first column and the event may be defined in the first row. Further, in each cell other than the first row and the first column, an operation to be executed by the heads 112a and 112b and a next state of the heads 112a and 112b are defined with respect to a combination of the state and the event.

ここで、「制御プログラムの外部で実行される処理の結果として生じるイベント」とは、例えば、上位システムからの通信コマンドの結果として生じるイベント、GUI(Graphical User Interface)又は操作スイッチ等のユーザ操作の結果として生じるイベント、駆動部(この例では、ヘッド112a、112b)の動作の結果として生じるイベント、制御プログラムの外部で実行される処理の結果として生じるイベントを擬似的に発生させるプログラムを制御プログラムの内部に予め組み込んでおき、当該プログラムを実行することにより生じるイベント等が該当する。   Here, “an event generated as a result of processing executed outside the control program” refers to, for example, an event generated as a result of a communication command from a host system, a GUI (Graphical User Interface), or a user operation such as an operation switch. As a result of the control program, a program that generates an event that occurs as a result, an event that occurs as a result of the operation of the drive unit (in this example, the heads 112a and 112b), or an event that occurs as a result of processing executed outside the control program. An event or the like that occurs when the program is installed in advance and the program is executed corresponds.

なお、ヘッド112a、112bの状態とは、例えば図10に示されるように、「停止中」、「部品フィーダ移動中」、「部品吸着中」、「部品吸着認識位置移動中」、「部品認識中」、「部品実装位置移動中」、「部品実装中」、及び「エラー発生中」等である。また、制御プログラムの外部で実行される処理の結果として生じるイベントとは、例えば図12に示されるように、「部品吸着開始」、「部品フィーダ位置移動完了」、「部品吸着完了」、「部品吸着認識位置移動完了」、「部品認識完了」、「部品実装位置移動完了」、「部品実装完了」、「エラー」、及び「エラー復帰」等である。   For example, as shown in FIG. 10, the states of the heads 112a and 112b are “stopped”, “part feeder moving”, “part suction moving”, “part suction recognition position moving”, “part recognition”. “Medium”, “Moving component mounting position”, “Mounting component”, “Error occurring”, etc. Further, the events generated as a result of processing executed outside the control program are, for example, as shown in FIG. 12, “component suction start”, “component feeder position movement completion”, “component suction completion”, “component For example, “suction recognition position movement completion”, “component recognition completion”, “component mounting position movement completion”, “component mounting completion”, “error”, and “error return”.

さらに、状態及びイベントに対応するヘッド112a、112bが実行する動作及びヘッド112a、112bの次の状態とは、第1行の任意のセルから下向きに、第1列の任意のセルから右向きに移動した交点のセルに定義される。   Further, the operations performed by the heads 112a and 112b corresponding to the states and events and the next state of the heads 112a and 112b are moved downward from any cell in the first row and rightward from any cell in the first column. Defined in the cell at the intersection.

例えば、第1行の「部品フィーダ位置移動中」及び第1列の「部品フィーダ位置移動完了」に対応する動作は「部品吸着()」であり、次の状態は「部品吸着中」である(図10の「(イベントID,状態ID)=(1,1)」のセル)。すなわち、この状態遷移表では、ヘッド112a、112bの状態が「部品フィーダ位置移動中」で、且つ「部品フィーダ位置移動完了」イベントが発生すると、ヘッド112a、112bは、部品吸着処理を実行する。そして、部品吸着処理の結果として、ヘッド112a、112bの状態が「部品吸着中」に遷移する。なお、ヘッド112a、112bは、上述の交互打ち又は非交互打ちが選択されている場合は、状態及びイベントのタイミングはヘッド112a、112b間で異なる。   For example, the operation corresponding to “part feeder position moving” in the first row and “part feeder position movement completed” in the first column is “part suction ()”, and the next state is “part suction”. (“(Event ID, State ID) = (1, 1)” cell in FIG. 10). That is, in this state transition table, when the state of the heads 112a and 112b is “part feeder position moving” and the “part feeder position movement complete” event occurs, the heads 112a and 112b execute the part suction processing. As a result of the component suction processing, the state of the heads 112a and 112b transitions to “part suctioning”. Note that the heads 112a and 112b have different states and event timings between the heads 112a and 112b when the above-described alternating or non-alternating is selected.

次に、開発支援プログラムは、図10に示される状態遷移表から対象モジュールの図11に示されるようなソースコードを生成する。さらに、開発支援プログラムは、生成されたソースコードをコンパイルして、対象モジュールのオブジェクト(以下、「部品実装処理オブジェクト」)を生成する。   Next, the development support program generates the source code as shown in FIG. 11 of the target module from the state transition table shown in FIG. Further, the development support program compiles the generated source code to generate an object of the target module (hereinafter, “component mounting process object”).

なお、図11において、大域変数(グローバル変数)のstateは、ヘッド112a、112bの状態を特定する状態ID(0〜7)を設定する変数である。また、大域変数(グローバル変数)のeventは、イベントを特定するイベントID(0〜8)を設定する変数である。また、大域変数(グローバル変数)のcntは、1タスクで実装する部品の個数を設定する変数である。さらに、ローカル変数のresultは、例えば、部品実装処理StmCall()内で呼び出される外部関数の戻り値等を設定する変数である。   In FIG. 11, a state of a global variable (global variable) is a variable for setting a state ID (0 to 7) that specifies the state of the heads 112a and 112b. The global variable (global variable) event is a variable for setting an event ID (0 to 8) for specifying an event. The global variable (global variable) cnt is a variable for setting the number of components to be mounted in one task. Furthermore, the local variable result is a variable for setting a return value of an external function called in the component mounting process StmCall (), for example.

また、図11において、部品フィーダ移動()は、ヘッド112a、112bを部品供給部(部品フィーダ)115a、115bの所定位置に移動させるための外部関数である。部品吸着()は、ヘッド112a、112bに部品フィーダ上の実装部品を吸着させるための外部関数である。部品吸着認識()は、ヘッド112a、112bに吸着されている部品の状態を部品検査部116a、116bに検査させるための外部関数である。ログ出力()は、指定されたログファイルにログを出力させるための外部関数である。また、例えば、停止()、エラー内容表示()、原点復帰()等は、部品実装処理でエラーが発生した場合の処理を行なう外部関数である。   In FIG. 11, the component feeder movement () is an external function for moving the heads 112 a and 112 b to predetermined positions of the component supply units (component feeders) 115 a and 115 b. The component adsorption () is an external function for causing the heads 112 a and 112 b to adsorb the mounted component on the component feeder. The component suction recognition () is an external function for causing the component inspection units 116 a and 116 b to inspect the state of the component sucked by the heads 112 a and 112 b. Log output () is an external function for outputting a log to a specified log file. Further, for example, stop (), error content display (), return to origin (), and the like are external functions that perform processing when an error occurs in component mounting processing.

さらに、図11において、開発支援プログラムによって生成された制御プログラムは、ヘッド112a,112bの状態が遷移する毎に、外部関数であるログ出力()を呼び出している。すなわち、制御プログラムは、ヘッド112a、112bの状態が遷移する毎に、ヘッド112a、112bの動作結果等を示すログをログファイルに出力する。ログファイルは、ユーザによって任意に指定される。   Further, in FIG. 11, the control program generated by the development support program calls the log output (), which is an external function, every time the state of the heads 112a and 112b changes. That is, each time the state of the heads 112a and 112b transitions, the control program outputs a log indicating the operation results of the heads 112a and 112b to the log file. The log file is arbitrarily designated by the user.

さらに、開発支援プログラムは、自らが生成した制御プログラムが出力するログに基づいてテストシナリオを作成し、作成したテストシナリオに沿って制御プログラムをテスト実行する機能を有する。図12〜図16を参照して、開発支援プログラムの動作を説明する。図12は、開発支援プログラムの動作を示すフローチャートである。   Furthermore, the development support program has a function of creating a test scenario based on a log output by the control program generated by itself and performing a test execution of the control program along the created test scenario. The operation of the development support program will be described with reference to FIGS. FIG. 12 is a flowchart showing the operation of the development support program.

まず、開発支援プログラムは、自らが生成した制御プログラムが出力したログファイルからログを取得する(S11)。本実施の形態に係るログには、例えば、ログ出力直前に実行される処理時において、状態遷移表上の駆動部(この例では、ヘッド112a、112b)の状態と、駆動部としてのヘッド112a、112bの動作の結果(後述の「結果(正常終了、又は異常終了)」に相当)と、ヘッド112a、112bの次の状態を特定する情報(後述の「状態ID」に相当)と、各状態におけるヘッド112a、112bの動作時間(後述の「処理時間」に相当)が記述されている。   First, the development support program acquires a log from the log file output by the control program generated by itself (S11). The log according to the present embodiment includes, for example, the state of the drive unit (heads 112a and 112b in this example) on the state transition table and the head 112a as the drive unit at the time of processing executed immediately before log output. , 112b operation result (corresponding to “result (normal end or abnormal end)” described later), information specifying the next state of the heads 112a, 112b (corresponding to “state ID” described later), The operation time (corresponding to “processing time” described later) of the heads 112a and 112b in the state is described.

具体的には、制御プログラムをヘッド制御部153に組み込み、部品実装機100のヘッド112a、112bを動作させる。これにより、制御プログラムは、ユーザが指定したログファイルに、ヘッド112a、112bの状態毎のログを出力する。図13は、ログファイルに書き込まれたログの一例を示す図である。   Specifically, the control program is incorporated into the head control unit 153, and the heads 112a and 112b of the component mounter 100 are operated. As a result, the control program outputs a log for each state of the heads 112a and 112b to a log file designated by the user. FIG. 13 is a diagram illustrating an example of a log written in the log file.

制御プログラムが出力するログの内容は特に限定されないが、例えば、図13に示されるように、「ログNo」、「ログ出力時刻」、「状態ID」、「イベントID」、「処理」、「結果」、「処理時間」、及び「消費電力量」等を出力すればよい。   The content of the log output by the control program is not particularly limited. For example, as illustrated in FIG. 13, “log No”, “log output time”, “state ID”, “event ID”, “processing”, “ What is necessary is just to output "result", "processing time", "power consumption", etc.

ログNoは、ログファイル内で各ログを識別するための情報(識別子)である。ログ出力時刻は、当該ログを出力した時刻である。状態IDは、ログ出力時におけるヘッド112a、112bの動作によって状態遷移した遷移先の状態を特定する状態情報である。イベントIDは、ログ出力の直前に発生したイベントを示す情報である。処理は、ログ出力の直前に実行した処理の内容を示す情報であり、この例では呼び出した外部関数名である。結果(駆動部の動作の結果)は、呼び出した外部関数の処理が正常終了(OK)したか、異常終了(NG)したかを示す。   Log No. is information (identifier) for identifying each log in the log file. The log output time is the time when the log is output. The state ID is state information that identifies a transition destination state that has undergone a state transition due to the operation of the heads 112a and 112b during log output. The event ID is information indicating an event that occurred immediately before log output. The process is information indicating the contents of the process executed immediately before the log output, and is the name of the called external function in this example. The result (result of the operation of the drive unit) indicates whether the processing of the called external function has ended normally (OK) or abnormally ends (NG).

処理時間は、呼び出した外部関数による処理に要した時間を示す。すなわち、部品実装処理()が外部関数をcallしてから、当該外部関数が戻り値を返すまでの時間(制御が呼び出し元の関数に戻るまでの時間)を示す。なお、図13の例では、処理時間を明示しているが、これに限ることなく、例えば、連続する2つのログの「ログ出力時刻」を減算して得られる結果を、処理時間(動作時間)とみなしてもよい。   The processing time indicates the time required for processing by the called external function. That is, it indicates the time from when the component mounting process () calls an external function until the external function returns a return value (the time until control returns to the calling function). In the example of FIG. 13, the processing time is clearly shown. However, the present invention is not limited to this. For example, the result obtained by subtracting the “log output time” of two consecutive logs is the processing time (operation time). ).

次に、図12を参照して、開発支援プログラムは、ステップS11で取得したログを用いて、テストシナリオを設計する(S12)。なお、ステップS12では、ヘッド112a、112bの状態を、ログに記述されている順に遷移させるようなテストシナリオが作成される。また、このテストシナリオは、制御プログラムのテスト実行時に、ヘッド112a、112bの各動作に対応する制御プログラムの各命令が、ログに記述された動作時間(処理時間)に合わせて実行されるように作成される。   Next, with reference to FIG. 12, the development support program designs a test scenario using the log acquired in step S11 (S12). In step S12, a test scenario is created in which the states of the heads 112a and 112b are changed in the order described in the log. Further, in this test scenario, when the control program test is executed, each instruction of the control program corresponding to each operation of the heads 112a and 112b is executed in accordance with the operation time (processing time) described in the log. Created.

このテストシナリオは、大域変数の設定値と、大域変数の設定値に対応する外部関数の処理時間及び戻り値とを組み合わせたものである。具体的には、図14のテストシーケンスNo.1は、大域変数cntに「3」が設定されている時に呼び出された各外部関数は、左側欄の処理時間(0.5sec)をかけて処理を実行し、右側欄の外部関数の戻り値として「0」を返すことを示している。   This test scenario is a combination of a global variable setting value and the processing time and return value of an external function corresponding to the global variable setting value. Specifically, the test sequence No. 1 is that each external function called when the global variable cnt is set to “3” executes processing over the processing time (0.5 sec) in the left column, and the return value of the external function in the right column "0" is returned.

次に、開発支援プログラムは、ステップS12で作成されたテストシナリオに沿って、部品実装処理オブジェクトをテスト実行する(S13)。図11、図14、及び図15を参照して、部品実装処理オブジェクトをテスト実行する処理を説明する。   Next, the development support program performs a test execution of the component mounting process object in accordance with the test scenario created in step S12 (S13). With reference to FIGS. 11, 14, and 15, a process for executing a test of a component mounting process object will be described.

まず、図14に示されるように、部品実装処理オブジェクトが呼び出される時の大域変数cntの初期値に「3」が設定される。   First, as shown in FIG. 14, “3” is set to the initial value of the global variable cnt when the component mounting process object is called.

次に、外部関数である部品フィーダ位置移動()が呼び出されると、開発支援プログラムは、大域変数cnt=3に対応する外部関数の戻り値「0」を図14のテストシナリオから取得し、処理時間の0.5(sec)後に変数resultに設定する(S21)。同様に、開発支援プログラムは、外部関数である部品吸着()及び部品吸着認識()を呼び出し、それぞれ所定の処理時間経過後に、変数resultに外部関数の戻り値として「0」を設定する(S22、S23)。   Next, when the component feeder position movement (), which is an external function, is called, the development support program acquires the return value “0” of the external function corresponding to the global variable cnt = 3 from the test scenario in FIG. After 0.5 (sec) of time, the variable result is set (S21). Similarly, the development support program calls the component adsorption () and component adsorption recognition (), which are external functions, and sets “0” as the return value of the external function in the variable result after the predetermined processing time has elapsed (S 22). , S23).

なお、テスト実行時における処理時間は、外部関数が呼び出されてから外部関数の戻り値が返されるまでの遅延時間として使用される。すなわち、開発支援プログラムは、外部関数を呼び出してから処理時間だけ遅延させて戻り値を返す。   Note that the processing time at the time of test execution is used as a delay time from when the external function is called until the return value of the external function is returned. That is, the development support program returns a return value after delaying the processing time after calling the external function.

次に、1つ目の実装部品の実装が完了、すなわち、状態が「部品実装中」で、且つ「部品実装完了」イベントが発生すると、大域変数cntの値がデクリメントされる(S24)。次に、この時点では大域変数cnt=2(S24でNo)なので、ステップS21〜ステップS24の処理をさらに2回繰り返す。そして、大域変数cnt=0(S24でYes)になると、ヘッド112a、112bを原点に復帰させ(S25)、部品実装処理オブジェクトのテスト実行が終了する。   Next, when the mounting of the first mounting component is completed, that is, when the state is “component mounting complete” and the “component mounting complete” event occurs, the value of the global variable cnt is decremented (S24). Next, since the global variable cnt = 2 at this time (No in S24), the processing from step S21 to step S24 is repeated twice more. When the global variable cnt = 0 (Yes in S24), the heads 112a and 112b are returned to the origin (S25), and the test execution of the component mounting process object is completed.

このように、部品実装処理オブジェクトのテスト実行時に、部品実装機100が出力したログに基づいて作成されたテストシナリオに定義された値を各変数に設定することにより、当該部品実装処理オブジェクトが、ヘッド制御部153に組み込まれて実際にヘッド112a、112bを動作させた状況を再現することができる。   In this way, by setting the values defined in the test scenario created based on the log output from the component mounter 100 when executing the test of the component mounting process object, the component mounting process object A situation in which the heads 112a and 112b are actually operated by being incorporated in the head controller 153 can be reproduced.

また、本実施の形態に係る開発支援プログラムは、状態遷移表からソースコードを生成し、ソースコードからオブジェクトを生成し、部品実装機100に組み込まれたオブジェクトが出力したログからテストシナリオを作成し、このテストシナリオに沿って再度オブジェクトのテストを行なうことができる。すなわち、1つのツール上で、開発からテストまでを連携して行なうことが可能となる。   In addition, the development support program according to the present embodiment generates a source code from the state transition table, generates an object from the source code, and creates a test scenario from a log output from the object incorporated in the component mounter 100. The object can be tested again according to this test scenario. That is, it is possible to perform cooperation from development to testing on one tool.

なお、開発支援プログラムは、部品実装処理オブジェクトのテスト実行時に、図16に示される表示画面をコンピュータ10の表示部15に表示させる。図16は、テスト実行時における表示部の表示例を示す図である。   Note that the development support program causes the display unit 15 of the computer 10 to display the display screen shown in FIG. 16 when the component mounting process object is tested. FIG. 16 is a diagram illustrating a display example of the display unit during the test execution.

図16の表示画面は、処理概要表示領域Aと、状態遷移表表示領域Bと、H/Wシミュレータ表示領域Cと、3次元図面表示領域Dとに区分されている。処理概要表示領域Aには、部品実装機100における処理の概要(レーン毎の稼働率、装着点数等)が表示される。状態遷移表表示領域Bには、当該部品実装オブジェクトの状態遷移表が表示される。H/Wシミュレータ表示領域Cには、センサ等のハードウェアから制御プログラムに出力される信号を切替えるためのボタンが表示される。3次元図面表示領域Dには、3D−CAD等で作成された部品実装機100の3次元図面が表示される。   The display screen of FIG. 16 is divided into a processing summary display area A, a state transition table display area B, an H / W simulator display area C, and a three-dimensional drawing display area D. In the process overview display area A, an overview of processes in the component mounter 100 (operating rate for each lane, number of mounted points, etc.) is displayed. In the state transition table display area B, the state transition table of the component mounting object is displayed. In the H / W simulator display area C, a button for switching a signal output from a hardware such as a sensor to the control program is displayed. In the three-dimensional drawing display area D, a three-dimensional drawing of the component mounter 100 created by 3D-CAD or the like is displayed.

そして、開発支援プログラムは、部品実装処理オブジェクトの各命令がテスト実行される度に、状態遷移表表示領域Bに表示されている状態遷移表上に、当該命令に対応する状態遷移表上の現在位置(この例では、(4)のセル)と、当該現在位置に至るまでの状態遷移表上の軌跡(この例では、(1)〜(3)のセル)とを表示する。   Then, each time each instruction of the component mounting process object is test-executed, the development support program displays the current state on the state transition table corresponding to the instruction on the state transition table displayed in the state transition table display area B. The position (in this example, cell (4)) and the trajectory on the state transition table up to the current position (in this example, cells (1) to (3)) are displayed.

現在位置及び軌跡の表示例は特に限定されないが、例えば、現在位置に相当するセル及び軌跡上のセルの背景色を変更、又はハイライト表示する等、状態遷移表上に表示してもよい。または、状態遷移表とは別項目として表示してもよい。例えば、現在位置の表示例として、部品吸着認識()のセルがハイライト(網掛け)表示される(図16の「(イベントID,状態ID)=(3,3)」のID位置を参照)と共に、状態遷移表の下に「現在位置:3,3)」と表示されてもよい。また、現在位置に至るまでの軌跡の表示例として、部品フィーダ一移動()、部品吸着()、部品吸着認識位置移動()の各セルがハイライト(現在位置と異なる網掛け)表示されると共に、状態遷移表の下に、現在のID位置に至るまでの軌跡を表す表示として、「(イベントID,状態ID)」の履歴が「現在位置に至るまでの軌跡:(0,0)→(1,1)→(2,2)」と表示されてもよい。   The display example of the current position and the trajectory is not particularly limited, but may be displayed on the state transition table, for example, by changing or highlighting the background color of the cell corresponding to the current position and the cell on the trajectory. Or you may display as a separate item from a state transition table. For example, as a display example of the current position, the component suction recognition () cell is highlighted (shaded) (see the ID position “(event ID, state ID) = (3, 3)” in FIG. 16). ) And “current position: 3, 3)” may be displayed below the state transition table. In addition, as an example of displaying the trajectory up to the current position, each cell of component feeder movement (), component suction (), and component suction recognition position movement () is highlighted (shaded differently from the current position). At the same time, as a display representing the trajectory up to the current ID position below the state transition table, the history of “(event ID, state ID)” is “trajectory up to the current position: (0, 0) → (1,1) → (2,2) ”may be displayed.

また、状態遷移表上の軌跡としては、ログ出力直前に実行される処理時の状態遷移表における駆動部の状態、及びログ出力時における駆動部の動作によって状態遷移した遷移先の状態等の状態遷移前後の2つの状態を表示してもよい。これにより、ログ出力時の状態遷移前後の状態遷移の軌跡を明確にすることができる。   In addition, as the trajectory on the state transition table, the state of the drive unit in the state transition table at the time of processing executed immediately before log output, the state of the transition destination after the state transition by the operation of the drive unit at the time of log output, etc. Two states before and after the transition may be displayed. Thereby, the locus of the state transition before and after the state transition at the time of log output can be clarified.

すなわち、図16の状態遷移表表示領域Bを見たユーザは、(1)〜(3)のセルに対応する状態を経て、現在(4)のセルに対応する処理をテスト実行していることを、一目で把握することができる。これは、各処理が正常終了している場合にも有効であるが、処理が異常終了した場合の原因特定に特に有効である。   That is, the user who has seen the state transition table display area B in FIG. 16 is performing a test execution of the process corresponding to the current cell (4) through the states corresponding to the cells (1) to (3). Can be grasped at a glance. This is effective even when each process ends normally, but is particularly effective for identifying the cause when the process ends abnormally.

また、開発支援プログラムは、部品実装処理オブジェクトのテスト実行と連動して、3次元図面表示領域Dに表示されている部品実装機100のヘッド112a、112bを、テスト実行される部品実装処理オブジェクトの命令に対応する動作をしているように移動させる。   In addition, the development support program links the heads 112a and 112b of the component mounter 100 displayed in the three-dimensional drawing display area D in conjunction with the test execution of the component mounting process object. Move it as if it were operating in response to the command.

具体的には、開発支援プログラムは、外部関数である部品フィーダ位置移動()を呼び出すのに合わせて、3次元図面表示領域D上のヘッド112a、112bを初期位置から部品フィーダの位置まで、処理時間0.5(sec)かけて移動させる。そして、3次元図面表示領域D上のヘッド112a、112bが部品フィーダの位置に達したタイミング、すなわち、部品フィーダ位置移動()を呼び出してから処理時間0.5(sec)が経過したタイミングで、テストシナリオに定義されている戻り値「0」を、変数resultに設定する。   Specifically, the development support program processes the heads 112a and 112b on the three-dimensional drawing display area D from the initial position to the position of the component feeder in accordance with the call of the component feeder position movement () that is an external function. Move over time 0.5 sec. Then, at the timing when the heads 112a and 112b on the three-dimensional drawing display area D reach the position of the component feeder, that is, at the timing when the processing time 0.5 (sec) has elapsed after calling the component feeder position movement (), A return value “0” defined in the test scenario is set in a variable “result”.

ここで、現実のヘッド112a、112bは、初期位置から部品フィーダの位置まで等速で移動するわけではなく、初期位置で停止している状態から加速し、途中の一定時間だけ等速で移動し、その後減速して部品フィーダの位置で停止する。そこで、開発支援プログラムは、ヘッド112a、112bを駆動させるモータの加減速曲線に従って、3次元図面表示領域D上のヘッド112a、112bを、加減速しながら移動させる。   Here, the actual heads 112a and 112b do not move at a constant speed from the initial position to the position of the component feeder, but accelerate from a state stopped at the initial position and move at a constant speed for a certain period of time. Then, it decelerates and stops at the position of the parts feeder. Therefore, the development support program moves the heads 112a and 112b on the three-dimensional drawing display area D while accelerating / decelerating according to the acceleration / deceleration curve of the motor that drives the heads 112a and 112b.

これにより、3次元図面表示領域D上のヘッド112a、112bの動きは、部品実装機100に搭載されている現実のヘッド112a、112bの動きに極めて近くなる。その結果、例えば、2つのヘッド112a、112b同士が衝突するといったような、複数の駆動部間の動作や駆動部単体での動作における微妙なタイミングで生じるトラブルをコンピュータ上で再現させることが可能となる。   Thereby, the movement of the heads 112a and 112b on the three-dimensional drawing display area D becomes very close to the movement of the actual heads 112a and 112b mounted on the component mounter 100. As a result, for example, it is possible to reproduce on the computer a trouble that occurs at a delicate timing in the operation between a plurality of driving units or the operation of the driving unit alone, such as two heads 112a and 112b colliding with each other. Become.

なお、上記の実施の形態においては、駆動部としてヘッド112a、112bの例を説明したが、これに限ることなく、部品実装機100の他の駆動部にも適用することができる。   In the above-described embodiment, examples of the heads 112a and 112b have been described as drive units. However, the present invention is not limited to this, and the present invention can be applied to other drive units of the component mounter 100.

また、上記の実施の形態においては、実装基板製造装置として部品実装機100の例を説明したが、これに限ることなく、本発明は、印刷機や印刷検査機等の実装基板の製造に用いられるあらゆる装置に適用することができる。   In the above embodiment, an example of the component mounting machine 100 has been described as a mounting board manufacturing apparatus. However, the present invention is not limited to this, and the present invention is used for manufacturing a mounting board such as a printing machine or a printing inspection machine. Can be applied to any device.

(その他の実施形態)
コンピュータ10は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、コンピュータ10は、その機能を達成する。
(Other embodiments)
Specifically, the computer 10 is a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like. A computer program is recorded in the RAM or hard disk unit. The computer 10 achieves its functions by the microprocessor operating according to the computer program.

ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。   Here, the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function. Each device is not limited to a computer system including all of a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like, and may be a computer system including a part of them. .

上記のコンピュータ10を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されていてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。また、上記のコンピュータ10を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全てを含むように1チップ化されてもよい。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。   A part or all of the components constituting the computer 10 may be configured by one system LSI (Large Scale Integration). The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, ROM, RAM, and the like. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program. In addition, each part of the constituent elements constituting the computer 10 may be individually made into one chip, or may be made into one chip so as to include a part or all of them. Although the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used. Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied.

本発明は、上記に示す方法であってもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであってもよいし、コンピュータプログラムからなるデジタル信号であってもよい。また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものであってもよい。また、これらの記録媒体に記録されているデジタル信号であってもよい。また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものであってもよい。また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するものであってもよい。また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施してもよい。   The method shown above may be sufficient as this invention. Moreover, the computer program which implement | achieves these methods with a computer may be sufficient, and the digital signal which consists of a computer program may be sufficient. The present invention also relates to a computer-readable recording medium capable of reading a computer program or a digital signal, such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD (Blu-ray Disc), It may be recorded on a semiconductor memory or the like. Moreover, the digital signal currently recorded on these recording media may be sufficient. Further, the present invention may transmit a computer program or a digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like. The present invention may also be a computer system including a microprocessor and a memory, in which the memory stores the above computer program, and the microprocessor operates according to the computer program. The program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like, and may be implemented by another independent computer system.

以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。   As mentioned above, although embodiment of this invention was described with reference to drawings, this invention is not limited to the thing of embodiment shown in figure. Various modifications and variations can be made to the illustrated embodiment within the same range or equivalent range as the present invention.

本発明は、実装基板製造装置の駆動部の動作を制御するための制御プログラムの開発を支援する開発支援方法に有利に利用される。   The present invention is advantageously used in a development support method for supporting the development of a control program for controlling the operation of the drive unit of the mounting board manufacturing apparatus.

10 コンピュータ
11 CPU
12 ROM
13 RAM
14 入力部
15 表示部
20 基板
100 部品実装機
110a,110b 実装ユニット
112a,112b ヘッド
114 部品カセット
115a,115b 部品供給部
116a,116b 部品検査部
121a,121b ビーム
122a,122b 基板搬送レール
130 搬入口
140 ビーム駆動ロボット
151 入力部
152 表示部
153 ヘッド制御部
154,540 制御部
155 通信部
156 格納部
156a NCデータ
156b 部品ライブラリ
156c 実装条件データ
200 制御装置
424 キャリアテープ
424a 収納凹部
425 カバーテープ
426 リール
1000 部品実装システム
10 Computer 11 CPU
12 ROM
13 RAM
DESCRIPTION OF SYMBOLS 14 Input part 15 Display part 20 Board | substrate 100 Component mounting machine 110a, 110b Mounting unit 112a, 112b Head 114 Component cassette 115a, 115b Component supply part 116a, 116b Component inspection part 121a, 121b Beam 122a, 122b Substrate conveyance rail 130 Carriage entrance 140 Beam drive robot 151 Input unit 152 Display unit 153 Head control unit 154,540 Control unit 155 Communication unit 156 Storage unit 156a NC data 156b Parts library 156c Mounting condition data 200 Controller 424 Carrier tape 424a Storage recess 425 Cover tape 426 Reel 1000 Parts Mounting system

Claims (5)

実装基板製造装置の駆動部の動作を制御するための制御プログラムの開発を、コンピュータにより支援する開発支援方法であって、
前記制御プログラムは、前記駆動部の状態と、前記制御プログラムの外部で実行される処理の結果として生じるイベントと、前記駆動部の状態及び前記イベントの組み合わせのそれぞれに対して、前記駆動部が実行する動作及び前記駆動部の次の状態とが定義されている状態遷移表に基づいて生成され、且つ前記駆動部の状態が遷移する毎に、前記駆動部の動作の結果と、前記駆動部の次の状態を特定する情報とが記述されているログを、ログファイルに出力するものであり、
該開発支援方法は、
前記実装基板製造装置に組み込まれた前記制御プログラムによって出力される前記ログを前記ログファイルから読み出すログ取得ステップと、
前記駆動部の状態を、前記ログ取得ステップで取得された前記ログに記述されている順に遷移させるようなテストシナリオを作成するテストシナリオ作成ステップと、
前記テストシナリオ作成ステップで作成された前記テストシナリオに沿って、前記制御プログラムをテスト実行するテスト実行ステップとを含む
開発支援方法。
A development support method for supporting development of a control program for controlling the operation of a drive unit of a mounting board manufacturing apparatus by a computer,
The control program is executed by the drive unit for each of a state of the drive unit, an event generated as a result of processing executed outside the control program, and a combination of the state of the drive unit and the event. And the next state of the driving unit are generated based on a defined state transition table, and each time the state of the driving unit transitions, the result of the operation of the driving unit and the driving unit A log in which information specifying the next state is described is output to a log file.
The development support method is:
A log acquisition step of reading from the log file the log output by the control program incorporated in the mounting board manufacturing apparatus;
A test scenario creating step for creating a test scenario that causes the state of the driving unit to transition in the order described in the log obtained in the log obtaining step;
A test execution step of performing a test execution of the control program in accordance with the test scenario created in the test scenario creation step.
前記ログには、さらに、状態遷移表上の各状態における前記駆動部の動作時間が記述されており、
前記テストシナリオ作成ステップでは、前記テスト実行ステップにおける前記制御プログラムのテスト実行時に、前記駆動部の各動作に対応する前記制御プログラムの命令が、前記ログに記述された前記駆動部の動作時間に合わせて実行されるように、前記テストシナリオが作成され、
前記テスト実行ステップでは、表示画面に表示された前記実装基板製造装置の3次元図面上の前記駆動部を、テスト実行される前記制御プログラムの命令に対応する動作をしているように移動させる
請求項1に記載の開発支援方法。
The log further describes the operation time of the drive unit in each state on the state transition table,
In the test scenario creating step, the control program instruction corresponding to each operation of the drive unit is matched with the operation time of the drive unit described in the log at the time of the test execution of the control program in the test execution step. The test scenario is created so that
In the test execution step, the drive unit on the three-dimensional drawing of the mounting board manufacturing apparatus displayed on the display screen is moved so as to perform an operation corresponding to a command of the control program to be tested. The development support method according to Item 1.
前記テスト実行ステップでは、表示画面に表示された前記3次元図面上の前記駆動部を、前記ログに記述された前記駆動部の動作時間で動作が完了するように前記駆動部の加減速曲線に従って移動させる
請求項2に記載の開発支援方法。
In the test execution step, the driving unit on the three-dimensional drawing displayed on the display screen is operated according to an acceleration / deceleration curve of the driving unit so that the operation is completed in the operation time of the driving unit described in the log. The development support method according to claim 2.
該開発支援方法は、さらに、前記テスト実行ステップで前記制御プログラムの各命令がテスト実行される度に、当該命令に対応する前記状態遷移表上の現在位置と、当該現在位置に至るまでの前記状態遷移表上の軌跡とを出力する出力ステップを含む
請求項1〜3のいずれか1項に記載の開発支援方法。
In the development support method, each time each instruction of the control program is test-executed in the test execution step, the current position on the state transition table corresponding to the instruction and the current position until the current position are reached. The development support method according to claim 1, further comprising an output step of outputting a locus on the state transition table.
請求項1〜4のいずれか1項に記載の開発支援方法を、コンピュータに実行させる
プログラム。
The program which makes a computer perform the development assistance method of any one of Claims 1-4.
JP2011144985A 2011-06-29 2011-06-29 Development support method and program Expired - Fee Related JP5462840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011144985A JP5462840B2 (en) 2011-06-29 2011-06-29 Development support method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011144985A JP5462840B2 (en) 2011-06-29 2011-06-29 Development support method and program

Publications (2)

Publication Number Publication Date
JP2013012088A true JP2013012088A (en) 2013-01-17
JP5462840B2 JP5462840B2 (en) 2014-04-02

Family

ID=47685908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011144985A Expired - Fee Related JP5462840B2 (en) 2011-06-29 2011-06-29 Development support method and program

Country Status (1)

Country Link
JP (1) JP5462840B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573110A (en) * 1991-09-18 1993-03-26 Mazda Motor Corp Method for generating simulation program
JPH07136879A (en) * 1993-11-19 1995-05-30 Sony Corp Control program composition supporting system for electronic part inserting/installing machine
JP2003108220A (en) * 2001-09-28 2003-04-11 Omron Corp System and method for assisting development of control program
JP2009116535A (en) * 2007-11-05 2009-05-28 Sony Corp Automatic test system, automatic test method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573110A (en) * 1991-09-18 1993-03-26 Mazda Motor Corp Method for generating simulation program
JPH07136879A (en) * 1993-11-19 1995-05-30 Sony Corp Control program composition supporting system for electronic part inserting/installing machine
JP2003108220A (en) * 2001-09-28 2003-04-11 Omron Corp System and method for assisting development of control program
JP2009116535A (en) * 2007-11-05 2009-05-28 Sony Corp Automatic test system, automatic test method and program

Also Published As

Publication number Publication date
JP5462840B2 (en) 2014-04-02

Similar Documents

Publication Publication Date Title
JP2007012929A (en) Method for checking interference of surface mounting machine, device for checking interference, surface mounting machine with the device and mounting system
JP2009170531A (en) Component mounting device
JP4607820B2 (en) Mounting condition determination method
JP4332586B2 (en) Component mounting order determination method
JP5433638B2 (en) Development support method and program
JP2009218572A (en) Mounting condition determining method
JP5462840B2 (en) Development support method and program
JP6132654B2 (en) Surface mount machine
JP5013816B2 (en) Surface mount equipment
JP2007158115A (en) Component mounting method
JP4643425B2 (en) Component mounting order determination method
JP5427841B2 (en) Development support method and program
JP4242355B2 (en) Component mounting order determination method, apparatus, program, and component mounter
JP4651595B2 (en) Component mounting method, multi-mounting head control condition determining method, component mounting machine, and control condition determining apparatus
JP6855148B2 (en) Parts mounting machine, parts inspection method, parts inspection program, recording medium
JP4387991B2 (en) Part placement position determination method
JP2009027204A (en) Determining method of component mounting order, and determining device of component mounting order
JP2007109893A (en) Method for determining order of part mounting
WO2024057433A1 (en) Component mounter and component imaging method
JP4242356B2 (en) Component mounting order determination method, apparatus, program, component mounting method, and component mounting machine
JP2012004606A (en) Component mounting method
JP5343039B2 (en) Component mounting method, component mounting machine, turn data creation method
JP2009111297A (en) Component mounting method
JP4651594B2 (en) Component mounting method, multi-mounting head control condition determining method, component mounting machine, and control condition determining apparatus
JP4486017B2 (en) Component mounting order determination method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20131018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees