JP2001209409A - Plc simulator device and recording medium on which program for simulation is recorded - Google Patents
Plc simulator device and recording medium on which program for simulation is recordedInfo
- Publication number
- JP2001209409A JP2001209409A JP2000015550A JP2000015550A JP2001209409A JP 2001209409 A JP2001209409 A JP 2001209409A JP 2000015550 A JP2000015550 A JP 2000015550A JP 2000015550 A JP2000015550 A JP 2000015550A JP 2001209409 A JP2001209409 A JP 2001209409A
- Authority
- JP
- Japan
- Prior art keywords
- task
- interrupt
- execution
- program
- instruction
- 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
Links
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明はタスクから構成さ
れるPLCプログラムのシミュレーションを行なうPL
Cシミュレータ装置及びシミュレーションするためのプ
ログラムが記録された記録媒体に関し、詳しくは、PL
Cプログラムを構成するタスクのうち割込みタスクのシ
ミュレーションを可能にしたPLCシミュレータ装置及
びシミュレーションするためのプログラムが記録された
記録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a PL for simulating a PLC program composed of tasks.
The C simulator device and a recording medium on which a program for simulation is recorded are described in detail in PL
The present invention relates to a PLC simulator device capable of simulating an interrupt task among tasks constituting a C program, and a recording medium on which a program for simulating is recorded.
【0002】[0002]
【従来の技術】従来、PLC(プログラマブルロジック
コントローラ)のプログラムをデバッグする場合、例え
ばパソコン上でプログラムを仮想的に1命令ごと実行さ
せることによってプログラムのシミュレーションを行な
い、プログラムのデバッグを行なっていた。2. Description of the Related Art Conventionally, when debugging a program of a PLC (Programmable Logic Controller), for example, the program is simulated by executing the program virtually one instruction at a time on a personal computer to debug the program.
【0003】ところで、従来、PLCのプログラムは1
つの連続したプログラムとして構成されていたが、近
年、1つの連続したプログラムをタスクという複数のプ
ログラムに分割してPLCのプログラムを構成する方式
が普及してきている。[0003] Conventionally, a PLC program has one program.
Although it has been configured as one continuous program, in recent years, a system in which one continuous program is divided into a plurality of programs called tasks to configure a PLC program has become widespread.
【0004】図6はタスクでプログラムを構成する場合
の説明図であるが、従来は同図(a)に示す如く、1つ
の連続したプログラムでPLCプログラム(ユーザプロ
グラム)を構成していたが、タスクを利用したプログラ
ムでは、従来の1つの連続したプログラムを、同図
(b)に示す如く、複数のタスク(同図ではタスク1,
2,3)に分割してプログラムを構成する。各タスクに
割り付けたプログラムは、従来と同じく最後にEND命
令をもった1つのプログラムである。FIG. 6 is an explanatory diagram of a case where a program is composed of tasks. Conventionally, as shown in FIG. 1A, a PLC program (user program) is composed of one continuous program. In a program using tasks, a conventional continuous program is divided into a plurality of tasks (tasks 1 and 2 in FIG.
The program is divided into 2 and 3). The program assigned to each task is one program having an END instruction at the end as in the conventional case.
【0005】タスクの特徴は、その実行及び非実行
(「待機」と呼ぶ)を、他のタスクからの「タスク制御
命令」によって任意に制御できることである。図6
(b)では、タスク1とタスク3が実行状態で、タスク
2は非実行(待機)とされている。[0005] A feature of a task is that its execution and non-execution (called "waiting") can be arbitrarily controlled by a "task control instruction" from another task. FIG.
In (b), task 1 and task 3 are in an execution state, and task 2 is not executed (standby).
【0006】従って、いくつかのプログラム部品をタス
クとして組み込んでおき(プログラムのモジュール
化)、品種や工程などに応じて、あるプログラム(タス
ク)だけを実行することができる(プログラムの段取り
替え)。Therefore, several program parts can be incorporated as tasks (program modularization), and only certain programs (tasks) can be executed (program changeover) in accordance with the type and process.
【0007】また、必要なときに、必要なプログラムの
みを実行させることができるため、性能(サイクルタイ
ム)向上にも貢献する。Further, only necessary programs can be executed when necessary, which contributes to improvement in performance (cycle time).
【0008】また、プログラムのモジュール化が可能な
ので、デバッグもタスクごとのデバッグが行なえる。Further, since the program can be modularized, debugging can be performed for each task.
【0009】なお、いったん実行とされたタスクは、次
のサイクル以降でも実行される。また、いったん待機と
されたタスクは、他のタスクから実行に戻されない限
り、次のサイクル以降でも待機のままである。Note that a task once executed is also executed in the next cycle and thereafter. Also, the task that has been put on standby remains on standby even after the next cycle unless it is returned to execution from another task.
【0010】従来のプログラムを実行する場合とタスク
を実行する場合の差異を図7を参照しながら模式的に説
明すると、従来は、図7(a)に示す如く、巻物50を
はじめから読んでいくイメージなのに対して、タスク
は、図7(b)に示す如く、カードを個々に読んでいく
イメージである。The difference between the case of executing a conventional program and the case of executing a task will be schematically described with reference to FIG. 7. Conventionally, as shown in FIG. 7 (a), a scroll 50 is read from the beginning. The task is an image in which the card is read individually, as shown in FIG.
【0011】すでに述べたように、タスクの場合、各カ
ードは互いに実行、待機を指示でき、待機とされたカー
ドは読み飛ばされる。実行、待機の指示はタスク制御命
令にて行なう。図7(b)の場合、タスク1からのタス
ク制御命令でタスク2を実行可能状態(活性化)とし、
タスク3を待機(非活性化)としている。As described above, in the case of a task, the respective cards can instruct execution and standby, and the cards on standby are skipped. Instructions for execution and standby are given by task control instructions. In the case of FIG. 7B, the task 2 is made executable (activated) by the task control instruction from the task 1, and
Task 3 is on standby (inactivated).
【0012】[0012]
【発明が解決しようとする課題】ところで、タスクには
サイクル実行タスクと割込みタスクがある。The tasks include a cycle execution task and an interrupt task.
【0013】サイクル実行タスクは、1サイクルに1
回、タスクの状態が「実行可能状態」なら実行されるタ
スクである。The cycle execution task is one per cycle.
If the state of the task is “executable”, the task is executed.
【0014】また、割込みタスクは割込み要因が発生す
ると、サイクル実行タスク実行中でも割り込んで実行さ
れるタスクである。割込みタスクには次の4種類ある。 (1)電断割込みタスク:電源断時に実行 (2)定時割込みタスク:一定時間間隔で実行 (3)I/O割込みタスク:割込み入力ユニットの接点
立ち上がりで実行 (4)外部割込みタスク:外部の高機能ユニット等から
要求があったとき実行Further, the interrupt task is a task that is interrupted and executed during execution of the cycle execution task when an interrupt factor occurs. There are the following four types of interrupt tasks. (1) Power interruption interrupt task: Executed when power is turned off (2) Periodic interruption task: Executed at fixed time intervals (3) I / O interrupt task: Executed at contact rising of interrupt input unit (4) External interrupt task: External Execute when requested by a high-performance unit
【0015】ここで、このようなタスクより構成された
プログラムをデバッグのためシミュレーションしようと
する場合、以下の問題点があった。Here, when trying to simulate a program constituted by such tasks for debugging, there are the following problems.
【0016】(1)サイクル実行タスクはシミュレーシ
ョンできるのでデバッグが行なえるが、割込みタスクは
実機と接続されていないのでシミュレーションできず、
デバッグが行なえない。(1) The cycle execution task can be simulated so that debugging can be performed. However, since the interrupt task is not connected to a real machine, simulation cannot be performed.
I cannot debug.
【0017】そこで、従来はPLCシステムを構築後、
割込み要因を発生させるデバッグ用装置を取り付け、そ
の装置を手動により操作することで行なっていた。Therefore, conventionally, after constructing a PLC system,
This has been done by attaching a debugging device for generating an interrupt factor and manually operating the device.
【0018】しかし、このとき、不具合が発生した場合
には、すでにできあがったプログラムの再度の検証が必
要となり、後処理が面倒であるという問題点があった。
また、別途デバッグ用装置が必要になり、コスト高にな
るという問題点があった。However, at this time, if a problem occurs, it is necessary to verify the already completed program again, and there is a problem that post-processing is troublesome.
In addition, there is a problem that a separate debugging device is required, which increases the cost.
【0019】(2)また、従来は、タスクの内部状態の
変更、すなわち、実行可能状態、待機の変更は、実際に
PLCシステムを構築後、PLCに接続されたプログラ
ミングコンソールやパソコン上のアプリケーションを通
じて、あるいは上記の如き他のタスクからのタスク制御
命令の実行を通じてのみ変更可能であった。(2) Conventionally, the change of the internal state of a task, that is, the change of the executable state and the standby state, is performed through a programming console connected to the PLC or an application on a personal computer after actually constructing the PLC system. Or through execution of a task control instruction from another task as described above.
【0020】従って、タスクの内部状態を変更するデバ
ッグ作業はシステム構築後の工程で行なわれることにな
り、同じく不具合発生時の後処理が面倒であるという問
題点があった。Therefore, the debugging work for changing the internal state of the task is performed in a process after the system is constructed, and the post-processing when a problem occurs is also troublesome.
【0021】(3)また、タスクでプログラムを構成す
る場合でも、なるべくサイクルタイムを短くしなければ
ならないが、そのための特別の構成がなく、サイクルタ
イムの短縮化が困難であるという問題点があった。(3) Even when a program is composed of tasks, the cycle time must be reduced as much as possible. However, there is no special configuration for that, and there is a problem that it is difficult to reduce the cycle time. Was.
【0022】そこで、本発明は、割込みタスクのシミュ
レーションを実機と接続することなく行なえ、また、タ
スクの実行可能状態及び待機の内部状態の変更及びサイ
クルタイムの短縮化をシミュレーションで行なえるPL
Cシミュレータ装置及びシミュレーションするためのプ
ログラムが記録された記録媒体を提供することを目的と
する。Therefore, according to the present invention, a simulation of an interrupt task can be performed without connecting to a real machine, and a task executable state and an internal state of standby can be changed and a cycle time can be reduced by a simulation.
It is an object to provide a C simulator device and a recording medium on which a program for performing a simulation is recorded.
【0023】[0023]
【課題を解決するための手段】本発明は、サイクル実行
タスク及び割込みタスクより構成されるPLCプログラ
ムの命令実行をシミュレーションするPLCシミュレー
タ装置において、特定の割込みタスクを起動するための
割込み要因を発生させる割込み要因発生手段と、上記割
込み要因発生手段で指定された割込みタスクを実行する
割込みタスク実行手段と、を有することを特徴とする。According to the present invention, in a PLC simulator for simulating the execution of an instruction of a PLC program comprising a cycle execution task and an interrupt task, an interrupt factor for activating a specific interrupt task is generated. It is characterized by comprising interrupt factor generating means and interrupt task executing means for executing the interrupt task specified by the interrupt factor generating means.
【0024】ここで、PLCプログラムの命令実行をシ
ミュレーションするとは、PLC上で制御対象機器の動
作を制御する制御プログラムが設計通り動作するか否か
調べるため、パソコン等でPLCプログラムを仮想的に
実行することをいう。従って、PLCシミュレータ装置
とは、そうして使用されるパソコン等をいう。なお、P
LCシミュレータ装置は、PLC、PLCと表示装置の
組み合わせ等でも構成できる。Here, simulating the execution of the instruction of the PLC program means that the PLC program is virtually executed by a personal computer or the like in order to check whether or not the control program for controlling the operation of the controlled device operates on the PLC as designed. To do. Therefore, the PLC simulator device refers to a personal computer or the like used in such a manner. Note that P
The LC simulator device can be configured by a PLC, a combination of a PLC and a display device, or the like.
【0025】ここで、本発明でシミュレーションするP
LCプログラムは、サイクル実行タスクと割込みタスク
より構成されている。Here, P simulated in the present invention
The LC program is composed of a cycle execution task and an interrupt task.
【0026】サイクル実行タスクは、1サイクルに1
回、タスクの状態が「実行可能状態」なら実行されるタ
スクである。The cycle execution task is one per cycle.
If the state of the task is “executable”, the task is executed.
【0027】また、割込みタスクは割込み要因が発生す
ると、サイクル実行タスク実行中でも割り込んで実行さ
れるタスクである。割込みタスクには次の4種類ある。 (1)電断割込みタスク:電源断時に実行 (2)定時割込みタスク:一定時間間隔で実行 (3)I/O割込みタスク:割込み入力ユニットの接点
立ち上がりで実行 (4)外部割込みタスク:外部の高機能ユニット等から
要求があったとき実行The interrupt task is a task that is executed by interruption even when a cycle execution task is executed when an interrupt factor occurs. There are the following four types of interrupt tasks. (1) Power interruption interrupt task: Executed when power is turned off (2) Periodic interruption task: Executed at fixed time intervals (3) I / O interrupt task: Executed at contact rising of interrupt input unit (4) External interrupt task: External Execute when requested by a high-performance unit
【0028】ここで、このようなタスクより構成された
プログラムをデバッグのためシミュレーションしようと
する場合、サイクル実行タスクはシミュレーションでき
るのでデバッグが行なえるが、外部の実機から起動され
る割込みタスクはシミュレーション時、装置は実機と接
続されていないのでシミュレーションできず、デバッグ
が行なえない。Here, when a program composed of such tasks is to be simulated for debugging, the cycle execution task can be simulated, so that debugging can be performed. Since the device is not connected to the actual device, simulation cannot be performed and debugging cannot be performed.
【0029】そこで、本発明では、割込み要因発生手段
で特定の割込みタスクを起動するための割込み要因を発
生させ、タスク実行手段で上記割込み要因発生手段で指
定された割込みタスクを実行する。Therefore, in the present invention, an interrupt factor for activating a specific interrupt task is generated by the interrupt factor generating means, and the task specified by the interrupt factor generating means is executed by the task executing means.
【0030】特定の割込みタスクを起動するための割込
み要因を発生させるとは、実際には電断割込みタスクで
は電源断、定時割込みタスクでは一定時間の到来、I/
O割込みタスクでは割込み入力ユニットの接点立ち上が
り、外部割込みタスクでは外部の高機能ユニット等から
要求等であるが、実施形態では、図2に示したメッセー
ジウィンドウ32上のタスク種別表示部32−2に表示
されたタスク中のうちいずれかの割込みタスクの指定及
びこれに続くポップアップ画面(図示せず)中の「起
動」ボタンのクリックに基づくタスク管理部31の割込
みタスク起動指示である。To generate an interrupt factor for activating a specific interrupt task means that power is actually cut off in a power interruption task, a certain time comes in a periodic interrupt task,
In the O interrupt task, the contact of the interrupt input unit rises, and in the external interrupt task, a request is issued from an external high-performance unit or the like. In the embodiment, the task type display section 32-2 on the message window 32 shown in FIG. This is an interrupt task start instruction of the task management unit 31 based on the designation of any interrupt task among the displayed tasks and the subsequent click of the “start” button in a pop-up screen (not shown).
【0031】また、タスク実行手段で上記割込み要因発
生手段で指定された割込みタスクを実行するとは、実施
形態では、図3のフローチャートのステップ110〜1
16の割込みタスク実行処理である。The execution of the interruption task designated by the interruption factor generation means by the task execution means is defined as steps 110 to 1 in the flowchart of FIG.
This is the 16th interrupt task execution process.
【0032】このように、本発明では、割込みタスクを
シミュレーション上で実行でき、PLCシステムを構築
前にデバッグを行なうことができる。As described above, according to the present invention, an interrupt task can be executed on a simulation, and debugging can be performed before a PLC system is constructed.
【0033】従って、PLCシステム構築後の、すでに
できあがったプログラムの再度の検証等が不要となり、
デバッグ効率が向上する。また、デバッグ用装置が不要
になり、低コストにデバッグを行なうことができる。Therefore, it is not necessary to verify the already completed program again after the construction of the PLC system.
Debugging efficiency is improved. Further, a debugging device is not required, and debugging can be performed at low cost.
【0034】また、本発明は、タスク起動命令とタスク
待機命令によって他のタスクの実行状態を制御できるP
LCプログラムの命令実行をシミュレーションするPL
Cシミュレータ装置において、タスクの内部状態を待機
状態と実行可能状態に相互に変更できる内部状態変更手
段を有することを特徴とする。Further, according to the present invention, the execution state of another task can be controlled by a task start instruction and a task wait instruction.
PL that simulates instruction execution of LC program
The C simulator apparatus is characterized in that it has an internal state changing means that can change the internal state of the task between a standby state and an executable state.
【0035】ここで、タスク起動命令とタスク待機命令
によって他のタスクの実行状態を制御するとは、タスク
を使用したプログラムでは、例えば、図7(b)に示す
如く、タスク1からのタスク制御命令でタスク2を実行
可能状態(活性化)とし、タスク3を待機(非活性化)
としていることをいう。Here, controlling the execution state of another task by a task start instruction and a task wait instruction means that, in a program using a task, for example, as shown in FIG. To make task 2 executable (activated) and wait for task 3 (inactive)
Means that
【0036】このように、タスクを使用したプログラム
では、他のタスクからのタスク制御命令によらなければ
タスク内の実行状態を変更できない。As described above, in a program using a task, the execution state in the task cannot be changed unless a task control instruction is issued from another task.
【0037】そこで、本発明では、内部状態変更手段を
設けて、タスクの内部状態を待機状態と実行可能状態に
相互に変更できるようにする。Therefore, in the present invention, an internal state changing means is provided so that the internal state of a task can be changed between a standby state and an executable state.
【0038】内部状態変更手段は、実施形態では、図4
の処理である。In the embodiment, the internal state changing means is the one shown in FIG.
This is the process.
【0039】従って、同じく、PLCシステム構築後
の、すでにできあがったプログラムの再度の検証等が不
要となり、デバッグ効率が向上する。Therefore, it is not necessary to verify the already completed program again after the construction of the PLC system, and the debugging efficiency is improved.
【0040】また、本発明は、タスク単位で実行される
PLCプログラムの命令実行をシミュレーションするP
LCシミュレータ装置において、タスク中の1命令毎の
実行時または非実行時の処理時間を計測する1命令処理
時間計測手段と、上記1命令処理時間計測手段で計測さ
れた処理時間を積算して1タスクの処理時間を計測する
1タスク処理時間計測手段と、上記1タスク処理時間計
測手段で計測された処理時間を記憶する1タスク処理時
間記憶手段と、を有することを特徴とする。Further, the present invention provides a program for simulating instruction execution of a PLC program executed on a task basis.
In the LC simulator apparatus, one instruction processing time measuring means for measuring the processing time of each instruction in a task during execution or non-execution, and the processing time measured by the one instruction processing time measuring means is integrated to 1 It is characterized by having one-task processing time measuring means for measuring the processing time of a task, and one-task processing time storing means for storing the processing time measured by the one-task processing time measuring means.
【0041】つまり、本発明では、シミュレーションに
おいて、(1)1命令処理時間計測手段で1つのタスク
を構成する1命令ごとの実行時又は非実行時の処理時間
を計測し、(2)1つのタスクの実行が終了すると1タ
スク処理時間計測手段で各命令の処理時間を積算してそ
の1タスクの処理時間を計測し、(3)1タスクの処理
が終ると1タスク処理時間記憶手段でその処理時間を記
憶する。That is, according to the present invention, in the simulation, (1) one instruction processing time measuring means measures execution time or non-execution time of each instruction constituting one task, and (2) one instruction processing time. When the execution of the task is completed, the processing time of each instruction is integrated by the one-task processing time measuring means, and the processing time of the one task is measured. (3) When the processing of one task is completed, the processing time of the one task is stored in the one-task processing time storage means. The processing time is stored.
【0042】このため、タスクごとの実行時間等が分か
り、例えばプログラムの1サイクルタイムが長い場合等
には、そのプログラムを構成する各タスクの実行時間を
検証し、1サイクルタイムの短縮化に資することができ
る等の効果を奏する。For this reason, the execution time of each task can be known. For example, when one cycle time of a program is long, the execution time of each task constituting the program is verified to contribute to shortening of one cycle time. It has effects such as being able to do.
【0043】また、本発明は、サイクル実行タスク及び
割込みタスクより構成されるPLCプログラムの命令実
行をPLCシミュレータ装置でシミュレーションするた
めのプログラムが記録された記録媒体において、特定の
割込みタスクを起動するための割込み要因を発生させる
割込み要因発生手段と、上記割込み要因発生手段で指定
された割込みタスクを実行する割込みタスク実行手段
と、を有することを特徴とする。The present invention also provides a method for activating a specific interrupt task on a recording medium in which a program for simulating the instruction execution of a PLC program comprising a cycle execution task and an interrupt task by a PLC simulator device is recorded. And an interrupt task executing means for executing the interrupt task specified by the interrupt factor generating means.
【0044】ここで、シミュレーションするためのプロ
グラムが記録された記録媒体は、例えば、フロッピィデ
ィスクで構成される。Here, the recording medium on which the program for the simulation is recorded is constituted by, for example, a floppy disk.
【0045】この記録媒体に記録されたプログラムがパ
ソコン等より構成されるPLCシミュレータ装置に読み
取られて実行されると、割込みタスクをシミュレーショ
ン上で実行できる。When the program recorded on the recording medium is read and executed by a PLC simulator device composed of a personal computer or the like, an interrupt task can be executed on a simulation.
【0046】[0046]
【発明の実施の形態】以下、この発明に係わるPLCシ
ミュレータ装置及びシミュレーションするためのプログ
ラムが記録された記録媒体の実施の形態を添付図面を参
照して詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a PLC simulator device according to the present invention and a recording medium on which a program for simulation is recorded will be described in detail with reference to the accompanying drawings.
【0047】図1は、この発明に係わるPLCシミュレ
ータ装置の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a PLC simulator device according to the present invention.
【0048】図1において、PLCシミュレータ装置1
0はパソコン等より構成され、タスクより構成されるP
LCプログラムの命令実行をシミュレーションすること
によってプログラムのデバッグを支援するもので、ラダ
ー実行エンジン20とデバッガ30より構成されてい
る。In FIG. 1, a PLC simulator 1
0 is composed of personal computers, etc., and composed of tasks P
It supports program debugging by simulating the instruction execution of an LC program, and is composed of a ladder execution engine 20 and a debugger 30.
【0049】ここで、ラダー実行エンジン20は、デバ
ッガ30からの指令によってPLCのプログラムを実行
するもので、メイン処理部21、ラダー実行処理部2
2、周辺処理部23より構成されている。The ladder execution engine 20 executes a PLC program in accordance with an instruction from the debugger 30. The ladder execution engine 20 includes a main processing unit 21 and a ladder execution processing unit 2.
2. Peripheral processing unit 23.
【0050】ここで、メイン処理部21はデバッガ30
からの指示によりプログラムの実行、停止、タスクの切
り替え、タスクの内部状態の変更、プログラムの実行時
間の積算処理等を行なう。また、ラダー実行処理部22
及び周辺処理部23の管理を行なう。Here, the main processing unit 21 includes a debugger 30
In response to an instruction from the CPU, the program executes, stops, switches tasks, changes the internal state of the task, and integrates the execution time of the program. The ladder execution processing unit 22
And the peripheral processing unit 23.
【0051】ラダー実行処理部22は、メイン処理部2
1からの指令によりプログラムを1命令ずつ実行する。The ladder execution processing unit 22 includes the main processing unit 2
The program is executed one instruction at a time in accordance with a command from one.
【0052】周辺処理部23は、ラダー実行処理部22
の非実行時、メイン処理部21からの指令により、図示
しない通信機器(例えばPLC)やアプリケーションと
の通信処理を行なう。The peripheral processing unit 23 includes a ladder execution processing unit 22
Is not executed, communication processing with a communication device (for example, a PLC) or an application (not shown) is performed in accordance with a command from the main processing unit 21.
【0053】デバッガ30は、デバッグのためラダー実
行エンジン20に対してプログラムを1命令ずつ実行す
るよう指示するとともに、本実施形態では特に、ラダー
実行エンジン20に対して割込みタスクの起動指示、タ
スクの内部状態の変更指示、及びタスクの実行時間の管
理等が行なえるよう構成され、タスク管理部31とメッ
セージウィンドウ32を具備している。The debugger 30 instructs the ladder execution engine 20 to execute the program one instruction at a time for debugging. In this embodiment, the debugger 30 particularly instructs the ladder execution engine 20 to start an interrupt task, It is configured to be able to issue an instruction to change the internal state, manage the execution time of a task, etc., and has a task management unit 31 and a message window 32.
【0054】ここで、タスク管理部31は、後に詳述す
る如く、PLCプログラムを構成するタスクの管理を行
なうものである。Here, the task management section 31 manages the tasks constituting the PLC program, as will be described in detail later.
【0055】メッセージウィンドウ32はデバッガ30
の行なうプログラムのデバッグを支援するものである。The message window 32 is the debugger 30
It supports the debugging of programs performed by.
【0056】ところで、本実施形態は、PLCプログラ
ムのシミュレーションをタスク単位で行なうものである
が、その際、従来できなかったシミュレーション上での
割込みタスクの実行、シミュレーション上でのタスクの
内部状態の変更、シミュレーション上での各タスクの実
行時間の演算を行なう。In the present embodiment, the simulation of the PLC program is performed on a task basis. At this time, the execution of the interrupt task on the simulation and the change of the internal state of the task on the simulation, which have not been conventionally possible, are performed. Then, the execution time of each task on the simulation is calculated.
【0057】そこで、本実施形態では、デバッガ30の
メッセージウィンドウ32には、図2に示す如きメッセ
ージ画面が表示され、オペレータはこの画面上でマウス
等を利用した各種操作を行なうことで上記の如き処理を
行なう。Therefore, in the present embodiment, a message screen as shown in FIG. 2 is displayed in the message window 32 of the debugger 30, and the operator performs various operations using a mouse or the like on this screen to execute the above operation. Perform processing.
【0058】なお、請求項でいうシミュレーションする
ためのプログラムが記録された記録媒体とは、上記の如
き処理を行なうプログラムが記録された記録媒体であ
り、フロッピィディスク等に記録される。The recording medium on which the program for simulation described in the claims is recorded is a recording medium on which a program for performing the above processing is recorded, and is recorded on a floppy disk or the like.
【0059】なお、図2において、メッセージウィンド
ウ32には、タスク表示切替部32−1、タスク種別表
示部32−2、タスクNo.表示部32−3、タスク設
定表示部32−4、[閉じる]ボタン32−5、メイン
メニュー表示部32−6、モニタボタン32−7、タス
ク起動間隔表示部32−8、タスク状態表示部32−
9、タスク実行回数表示部32−10、タスク実行時間
表示部32−11が設けられている。In FIG. 2, the message window 32 includes a task display switching section 32-1, a task type display section 32-2, a task number. Display section 32-3, task setting display section 32-4, [close] button 32-5, main menu display section 32-6, monitor button 32-7, task activation interval display section 32-8, task state display section 32 −
9, a task execution count display section 32-10, and a task execution time display section 32-11.
【0060】ここで、タスク表示切替部32−1は、こ
の部分をマウスでクリックすることによってタスクの表
示を切り替えるものである。Here, the task display switching unit 32-1 switches the display of the task by clicking this portion with a mouse.
【0061】タスク種別表示部32−2は、タスクの種
別を表示するもので、割込みタスクかサイクル実行タス
クかの種別が表示される。The task type display section 32-2 displays the type of the task, and displays the type of the interrupt task or the cycle execution task.
【0062】タスクNo.表示部32−3はタスクの番
号を表示するものである。Task No. The display unit 32-3 displays a task number.
【0063】タスク設定表示部32−4はタスクの設定
状態を表示するもので、割込みタスクの場合は割込みの
種別、すなわち、「定時」割込みタスクか、「外部」割
込みタスクか、「I/O」割込みタスクか等の種別が表
示される。なお、サイクル実行タスクは種別がないの
で、「サイクル」とのみ表示される。The task setting display section 32-4 displays the setting state of the task. In the case of an interrupt task, the type of the interrupt, that is, a "periodic" interrupt task, an "external" interrupt task, or an "I / O""The type of interrupt task or the like is displayed. Note that the cycle execution task does not have a type, so that only “cycle” is displayed.
【0064】[閉じる]ボタン32−5は、現在の画面
を終了させるものである。The [Close] button 32-5 is for terminating the current screen.
【0065】メインメニュー表示部32−6は「タス
ク」とか「ヘルプ」とかのメインメニューが表示される
ものである。The main menu display section 32-6 displays a main menu such as "task" or "help".
【0066】モニタボタン32−7は、タスクの状態を
モニタするためのスイッチである。The monitor button 32-7 is a switch for monitoring the status of the task.
【0067】タスク起動間隔表示部32−8は定時割込
みタスクの起動間隔を表示するものである。The task start interval display section 32-8 displays the start interval of the periodic interrupt task.
【0068】タスク状態表示部32−9は、サイクル実
行タスクの現在の状態を表示するもので、サイクル実行
タスクは、未実行状態(INI)、実行可能状態(RE
ADY)、実行状態(RUN)、待機状態(WAIT)
の4つの状態を遷移するので、いずれの状態かが表示さ
れる。The task state display section 32-9 displays the current state of the cycle execution task. The cycle execution task has an unexecuted state (INI) and an executable state (RE).
ADY), execution state (RUN), standby state (WAIT)
Since the four states are changed, any one of the states is displayed.
【0069】タスク実行回数表示部32−10は、その
タスクのそれまでの実行回数が表示される。The task execution count display section 32-10 displays the number of executions of the task so far.
【0070】タスク実行時間表示部32−11はそのタ
スクの実行時間が表示される。The task execution time display section 32-11 displays the execution time of the task.
【0071】図3は、シミュレーション上で割込みタス
クを実行する場合の処理手順を示すフローチャートであ
る。FIG. 3 is a flowchart showing a processing procedure when an interrupt task is executed on a simulation.
【0072】この処理では、まず、デバッガ30のタス
ク管理部31よりラダー実行エンジン20のメイン処理
部21に対して割込みタスク起動を指示する(ステップ
100)。これは、図2に示したメッセージウィンドウ
32上でタスク種別表示部32−2に表示されたタスク
中のうちいずれかの割込みタスクをマウスでクリック
し、このクリックでメッセージウィンドウ32には割込
みタスク起動のためのポップアップ画面(図示せず)が
出るので、さらにポップアップ画面中の「起動」ボタン
をクリックすることにより行なう。In this process, first, the task management unit 31 of the debugger 30 instructs the main processing unit 21 of the ladder execution engine 20 to start an interrupt task (step 100). This is done by clicking on any of the interrupt tasks among the tasks displayed in the task type display section 32-2 on the message window 32 shown in FIG. A pop-up screen (not shown) appears, and the user clicks the “start” button in the pop-up screen.
【0073】これによって、メイン処理部21は割込み
要因を受け取る(ステップ102)。なお、割込み要因
とは、実際には電断割込みタスクでは電源断、定時割込
みタスクでは一定時間の到来、I/O割込みタスクでは
割込み入力ユニットの接点立ち上がり、外部割込みタス
クでは外部の高機能ユニット等から要求等であるが、シ
ミュレーション上では、上記の如き、メッセージウィン
ドウ32上のタスク種別表示部32−2に表示されたタ
スク中のうちいずれかの割込みタスクの指定及びこれに
続くポップアップ画面中の「起動」ボタンのクリックに
基づくタスク管理部31の割込みタスク起動指示であ
る。As a result, the main processing section 21 receives the interrupt factor (step 102). Note that the interrupt factors are actually power-off in the power interruption task, arrival of a fixed time in the periodic interruption task, contact rise of the interrupt input unit in the I / O interruption task, and external high-performance units in the external interruption task. In the simulation, any one of the tasks displayed in the task type display unit 32-2 on the message window 32 is specified as an interrupt task, and a This is an interrupt task start instruction of the task management unit 31 based on the click of the “start” button.
【0074】こうして、割込み要因を受け取ると、メイ
ン処理部21は割込み要因の受け取りを記憶するが、こ
の記憶は後にステップ108で判断される。When the interrupt factor is received in this way, the main processing unit 21 stores the reception of the interrupt factor. This storage is determined later in step 108.
【0075】次に、メイン処理部21はラダー実行処理
部22に対して1命令の実行を依頼する(ステップ10
4)。これによって、ラダー実行処理部22は1命令を
実行する(ステップ106)。Next, the main processing unit 21 requests the ladder execution processing unit 22 to execute one instruction (step 10).
4). Thus, the ladder execution processing unit 22 executes one instruction (Step 106).
【0076】次に、ステップ108では割込み要因が発
生しているか否かが調べられる。ここでは、ステップ1
02でメイン処理部21は割込み要因を受け取っている
ので、割込み要因は発生していると判断される(ステッ
プ108でYES)。従って、ステップ110に進み、
メイン処理部21は割込み要因を分析し、該当する割込
みタスクへ実行を移す。該当する割込みタスクとは、ス
テップ102で受け取った割込みタスクである。Next, at step 108, it is checked whether or not an interrupt factor has occurred. Here, step 1
Since the main processing unit 21 has received the interrupt factor in 02, it is determined that the interrupt factor has occurred (YES in step 108). Therefore, proceed to step 110,
The main processing unit 21 analyzes the cause of the interrupt and shifts the execution to the corresponding interrupt task. The corresponding interrupt task is the interrupt task received in step 102.
【0077】次に、該当する割込みタスクの1命令の実
行依頼をメイン処理部21からラダー実行処理部22に
対して行なう(ステップ112)。ラダー実行処理部2
2は1命令を実行する(ステップ114)。Next, the main processing unit 21 requests the ladder execution processing unit 22 to execute one instruction of the corresponding interrupt task (step 112). Ladder execution processing unit 2
2 executes one instruction (step 114).
【0078】次に、割込みタスクの最後のプログラムか
否か、すなわちEND命令か否かが調べられ(ステップ
116)、プログラムの最後でない場合は(ステップ1
16でNO)、ステップ112に戻ってさらに1命令を
行なうが、プログラムの最後の場合は(ステップ116
でYES)、ステップ108に戻って、再度割込み要因
が発生しているか否かが調べられる。Next, it is checked whether or not the program is the last program of the interrupt task, that is, whether or not the program is an END instruction (step 116).
If NO at step 16, the process returns to step 112 to execute one more instruction.
Then, the process returns to step 108 to check again whether an interrupt factor has occurred.
【0079】ここで、割込み要因が発生している場合は
(ステップ108でYES)、再び110に進み、該当
する割込みタスクを実行する。なお、この場合の割込み
要因の発生は、割込みタスク実行中にさらに割込みタス
クの起動があった場合である。If an interrupt factor has occurred (YES in step 108), the process returns to step 110 to execute the corresponding interrupt task. In this case, the occurrence of the interrupt factor occurs when the interrupt task is further activated during the execution of the interrupt task.
【0080】また、割込み要因が発生していない場合は
(ステップ108でNO)、プログラム(PLCプログ
ラム)の最後か否かが調べられ(ステップ118)、プ
ログラムの最後でないの場合は(ステップ118でN
O)、ステップ104に進んでさらに1命令を実行す
る。また、プログラムの最後の場合は(ステップ118
でYES)、メイン処理部21は周辺処理部23に対し
て周辺処理を行なうよう指示する(ステップ120)。
そして、再びステップ104の処理を行なう。If no interrupt factor has occurred (NO in step 108), it is checked whether or not the program (PLC program) is at the end (step 118). If it is not the end of the program (step 118). N
O), proceed to step 104 to execute one more instruction. In the last case of the program (step 118)
YES), the main processing unit 21 instructs the peripheral processing unit 23 to perform the peripheral processing (step 120).
Then, the process of step 104 is performed again.
【0081】以上が、シミュレーション上で割込みタス
クを実行する場合の処理手順である。The above is the processing procedure when the interrupt task is executed on the simulation.
【0082】なお、以上の説明では、割込み要因の発生
方法として、図2に示したメッセージウィンドウ32上
でタスク種別表示部32−2に表示されたタスク中のう
ちいずれかの割込みタスクをマウスでクリックする等し
て行なうようにしたが、その他、実機を接続して特定の
I/Oの入力の変化で割込み要因を発生させるようにす
ることもできる。In the above description, as a method of generating an interrupt factor, one of the tasks displayed in the task type display section 32-2 on the message window 32 shown in FIG. Although the operation is performed by clicking or the like, it is also possible to connect an actual device to generate an interrupt factor due to a change in input of a specific I / O.
【0083】なお、ステップ108で、割込み要因が発
生していると判別された場合は、ステップ110以下の
割込みタスクの実行を行ない、割込みタスクの実行中に
さらに割込み要因が発生した場合は、再度ステップ11
0以下の割込みタスクの実行を行なうようにしたが、こ
れは新しく発生した割込み要因は保留とし、現在実行し
ている割込みタスクが終了すると保留した割込みタスク
を実行するようにしたものである。つまり、割込みタス
クの保留があると、ステップ108では、割込み要因が
発生していると判断する。If it is determined in step 108 that an interrupt factor has occurred, the interrupt task of step 110 and subsequent steps is executed. If another interrupt factor occurs during the execution of the interrupt task, the process is repeated. Step 11
The execution of the interrupt task of 0 or less is performed. In this case, a newly generated interrupt cause is suspended, and the suspended interrupt task is executed when the currently executed interrupt task ends. That is, if the interruption task is suspended, it is determined in step 108 that an interruption factor has occurred.
【0084】このように、図3の処理では、図2に示し
たメッセージウィンドウ32上でタスク種別表示部32
−2に表示されたタスク中のうちいずれかの割込みタス
クをマウスでクリックする等して特定の割込み要因を発
生させ、割込みタスクのシミュレーションを行なうよう
にしたので、PLCシステムの構築前にシミュレーショ
ンによってプログラムのデバッグが行なえ、PLCシス
テムの構築前に割込みタスクを含めた全てのタスクのデ
バックを確実に行なうことができる等の効果を奏する。As described above, in the process of FIG. 3, the task type display section 32 is displayed on the message window 32 shown in FIG.
A specific interrupt factor is generated by, for example, clicking a mouse on any of the interrupted tasks among the tasks displayed in -2, and the interrupt task is simulated. This makes it possible to debug a program and to surely debug all tasks including an interrupt task before constructing a PLC system.
【0085】次に、タスクの内部状態を、シミュレーシ
ョンによって実行可能状態から待機状態に、又は待機状
態から実行可能状態に変更する場合の処理手順を図4の
フローチャートに基づいて説明する。Next, a procedure for changing the internal state of a task from an executable state to a standby state or from a standby state to an executable state by simulation will be described with reference to the flowchart of FIG.
【0086】このタスクの内部状態変更処理では、ま
ず、デバッガ30のタスク管理部31でタスクの内部状
態変更指示を行なう(ステップ130)。次に、この変
更指示は待機状態から実行可能状態への変更指示か否か
が調べられ(ステップ132)、待機状態から実行可能
状態への変更指示の場合は(ステップ132でYE
S)、ラダー実行エンジン20のメイン処理部21は指
定されたタスクの内部状態を実行可能状態にする(ステ
ップ134)。In the internal state change processing of the task, first, the task management section 31 of the debugger 30 issues an instruction to change the internal state of the task (step 130). Next, it is checked whether or not the change instruction is a change instruction from the standby state to the executable state (step 132). If the change instruction is an instruction to change from the standby state to the executable state (YE in step 132).
S), the main processing unit 21 of the ladder execution engine 20 sets the internal state of the specified task to an executable state (step 134).
【0087】また、変更指示が待機状態から実行可能状
態への変更指示でない場合は(ステップ132でN
O)、次に、この変更指示は実行可能状態から待機状態
への変更指示か否かが調べられ(ステップ136)、実
行可能状態から待機状態への変更指示の場合は(ステッ
プ136でYES)、ラダー実行エンジン20のメイン
処理部21は指定されたタスクの内部状態を待機状態に
する(ステップ138)。If the change instruction is not the change instruction from the standby state to the executable state (N in step 132)
O) Next, it is checked whether or not the change instruction is an instruction to change from the executable state to the standby state (step 136). If the change instruction is an instruction to change from the executable state to the standby state (YES in step 136). Then, the main processing unit 21 of the ladder execution engine 20 sets the internal state of the specified task to a standby state (step 138).
【0088】また、変更指示が実行可能状態から待機状
態への変更指示でない場合は(ステップ136でN
O)、当処理を終了する。If the change instruction is not an instruction to change from the executable state to the standby state (N in step 136)
O), the process ends.
【0089】このように、本実施形態では、タスクの内
部状態を、シミュレーションによって実行可能状態から
待機状態に、又は待機状態から実行可能状態に変更でき
る。As described above, in this embodiment, the internal state of a task can be changed from an executable state to a standby state or from a standby state to an executable state by simulation.
【0090】従って、タスクの内部状態を変更するデバ
ッグ作業をシステム構築前に行なうことができ、不具合
発生を事前に防止できる等の効果を奏する。Therefore, the debugging operation for changing the internal state of the task can be performed before the system is constructed, and it is possible to prevent problems from occurring in advance.
【0091】次に、シミュレーション上で各タスクの実
行時間等の演算を行なう場合の処理手順を図5のフロー
チャートに基づいて説明する。Next, the processing procedure for calculating the execution time of each task on a simulation will be described with reference to the flowchart of FIG.
【0092】この処理においては、タスクの実行が開始
されると(ステップ150)、1命令のニモニック(コ
ード)読込みを行ない(ステップ152)、実行条件成
立か否かが判別される(ステップ154)。これは、1
命令について所定の入力条件が成立したか否かが調べら
れているもので、実行条件不成立の場合は(ステップ1
54でNO)、非実行処理時間を読込み(ステップ15
6)、ステップ162に進む。In this process, when execution of a task is started (step 150), a mnemonic (code) of one instruction is read (step 152), and it is determined whether or not execution conditions are satisfied (step 154). . This is 1
It is checked whether a predetermined input condition is satisfied for the instruction. If the execution condition is not satisfied (step 1).
NO in step 54), the non-execution processing time is read (step 15).
6) Go to step 162.
【0093】一方、実行条件成立の場合は(ステップ1
54でYES)、ニモニック処理、すなわち1命令を実
行し(ステップ158)、1命令の実行処理時間を読込
む(ステップ160)。そして、前回までの処理時間に
積算するが(ステップ162)、初めての命令実行の場
合は積算しない。On the other hand, if the execution condition is satisfied (step 1
(YES in 54), mnemonic processing, that is, one instruction is executed (step 158), and the execution processing time of one instruction is read (step 160). Then, it is added to the processing time up to the previous time (step 162), but is not added in the case of the first instruction execution.
【0094】次に、1タスクの実行が終了したか否かが
調べられ(ステップ164)、1タスクの実行が終了し
ない場合は(ステップ164でNO)、ステップ152
に戻り、1タスクの実行を継続するが、1タスクの実行
が終了した場合は(ステップ164でYES)、ステッ
プ166に進み、当該1タスクの処理時間を記憶し、タ
スク数を1インクリメントし(ステップ168)、さら
に最後のタスクか否かが調べられる(ステップ17
0)。Next, it is checked whether or not the execution of one task has been completed (step 164). If the execution of one task has not been completed (NO in step 164), step 152 is executed.
Then, the execution of one task is continued, but when the execution of one task is completed (YES in step 164), the process proceeds to step 166, where the processing time of the one task is stored, and the number of tasks is incremented by one ( (Step 168) It is checked whether the task is the last one (Step 17).
0).
【0095】ここで、最後のタスクでない場合は(ステ
ップ170でNO)、ステップ152に戻り、1タスク
の実行を継続するが、最後のタスクの場合は(ステップ
170でYES)、タスクの総実行時間(プログラムの
総実行時間)を記憶し(ステップ172)、実行した総
タスク数を記憶し(ステップ174)、タスクの実行を
終了する(ステップ176)。Here, if it is not the last task (NO in step 170), the process returns to step 152 and the execution of one task is continued, but if it is the last task (YES in step 170), the total execution of the tasks is performed. The time (total execution time of the program) is stored (step 172), the total number of executed tasks is stored (step 174), and the execution of the task is terminated (step 176).
【0096】このように、本実施形態では、シミュレー
ションにおいて、(1)1つのタスクを構成する1命令
ごとの実行時又は非実行時の処理時間を記憶し、(2)
1つのタスクの実行が終了すると各命令の処理時間を積
算してその1タスクの処理時間を記憶し、(3)全ての
タスクの実行が終了すると、タスクの総実行時間と、プ
ログラムを構成する総タスク数を記憶するようにした。As described above, in the present embodiment, in the simulation, (1) the execution time or non-execution processing time of each instruction constituting one task is stored, and (2)
When the execution of one task is completed, the processing time of each instruction is accumulated and the processing time of the one task is stored. (3) When the execution of all tasks is completed, the total execution time of the task and the program are configured. The total number of tasks is now stored.
【0097】このため、タスクごとの実行時間等が分か
り、例えばプログラムの1サイクルタイムが長い場合等
には、そのプログラムを構成する各タスクの実行時間を
検証し、1サイクルタイムの短縮化に資することができ
る等の効果を奏する。For this reason, the execution time of each task can be known. For example, when one cycle time of a program is long, the execution time of each task constituting the program is verified to contribute to shortening of one cycle time. It has effects such as being able to do.
【0098】[0098]
【発明の効果】以上説明したように、本発明では以下の
効果を奏する。As described above, the present invention has the following effects.
【0099】(1)サイクル実行タスク及び割込みタス
クより構成されるPLCプログラムの命令実行をシミュ
レーションするPLCシミュレータ装置において、特定
の割込みタスクを起動するための割込み要因を発生させ
る割込み要因発生手段と、上記割込み要因発生手段で指
定された割込みタスクを実行する割込みタスク実行手段
と、を具備するようにしたので、割込みタスクをシミュ
レーション上で実行でき、PLCシステムを構築前にデ
バッグを行なうことができる。(1) In a PLC simulator apparatus for simulating the execution of an instruction of a PLC program composed of a cycle execution task and an interrupt task, an interrupt factor generating means for generating an interrupt factor for activating a specific interrupt task; Since an interrupt task executing means for executing an interrupt task specified by the interrupt factor generating means is provided, the interrupt task can be executed on a simulation, and debugging can be performed before a PLC system is constructed.
【0100】従って、PLCシステム構築後の、すでに
できあがったプログラムの再度の検証等が不要となり、
デバッグ効率が向上する。また、デバッグ用装置が不要
になり、低コストにデバッグを行なうことができる。Therefore, it is not necessary to verify the already completed program again after the construction of the PLC system.
Debugging efficiency is improved. Further, a debugging device is not required, and debugging can be performed at low cost.
【0101】(2)また、タスク起動命令とタスク待機
命令によって他のタスクの実行状態を制御できるPLC
プログラムの命令実行をシミュレーションするPLCシ
ミュレータ装置において、タスクの内部状態を待機状態
と実行可能状態に相互に変更できる内部状態変更手段を
具備するようにしたので、タスクの内部状態をシミュレ
ーション上で変更できる。(2) PLC capable of controlling the execution state of another task by a task start instruction and a task wait instruction
In a PLC simulator apparatus for simulating the execution of a program instruction, an internal state changing means for changing the internal state of a task between a standby state and an executable state is provided, so that the internal state of the task can be changed on simulation. .
【0102】従って、同じく、PLCシステム構築後
の、すでにできあがったプログラムの再度の検証等が不
要となり、デバッグ効率が向上する。Accordingly, the verification of the already completed program after the construction of the PLC system is not required again, and the debugging efficiency is improved.
【0103】(3)また、タスク単位で実行されるPL
Cプログラムの命令実行をシミュレーションするPLC
シミュレータ装置において、タスク中の1命令毎の実行
時または非実行時の処理時間を計測する1命令処理時間
計測手段と、上記1命令処理時間計測手段で計測された
処理時間を積算して1タスクの処理時間を計測する1タ
スク処理時間計測手段と、上記1タスク処理時間計測手
段で計測された処理時間を記憶する1タスク処理時間記
憶手段と、を具備するようにしたので、タスクごとの実
行時間等が分かり、例えばプログラムの1サイクルタイ
ムが長い場合等には、そのプログラムを構成する各タス
クの実行時間を検証し、1サイクルタイムの短縮化に資
することができる。(3) The PL executed on a task basis
PLC for simulating C program instruction execution
In the simulator device, one instruction processing time measuring means for measuring the processing time of each instruction in a task during execution or non-execution, and one task by integrating the processing times measured by the one instruction processing time measuring means. And a one-task processing time storage means for storing the processing time measured by the one-task processing time measurement means. When the time or the like is known, for example, when one cycle time of the program is long, the execution time of each task constituting the program is verified, which can contribute to shortening of one cycle time.
【図1】この発明に係わるPLCシミュレータ装置の一
実施形態の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of an embodiment of a PLC simulator device according to the present invention.
【図2】図1に示したPLCシミュレータ装置50で実
行されるPLCプログラムの内容を示す図。FIG. 2 is a view showing the contents of a PLC program executed by the PLC simulator device 50 shown in FIG. 1;
【図3】図2に示したプログラムが実行された場合のデ
バッガ30のメッセージウィンドウ32における表示例
を示す図。FIG. 3 is an exemplary view showing a display example in a message window 32 of the debugger 30 when the program shown in FIG. 2 is executed.
【図4】図1に示した実施形態の処理手順を示すフロー
チャート。FIG. 4 is a flowchart showing a processing procedure of the embodiment shown in FIG. 1;
【図5】同じく図1に示した実施形態の処理手順を示す
フローチャート。FIG. 5 is a flowchart showing a processing procedure of the embodiment shown in FIG. 1;
【図6】タスクでプログラムを構成する場合の説明図
で、(a)は1つの連続したプログラムでPLCプログ
ラム(ユーザプログラム)を構成する場合、(b)は
(a)のプログラムを複数のタスク(同図ではタスク
1,2,3)に分割してプログラムを構成する場合の説
明図である。6A and 6B are explanatory diagrams of a case where a program is composed of tasks, in which FIG. 6A shows a case where a PLC program (user program) is composed of one continuous program, and FIG. 6B shows a case where a program of FIG. FIG. 3 is an explanatory diagram of a case where a program is divided into tasks 1, 2, and 3.
【図7】従来のプログラムを実行する場合とタスクを実
行する場合の差異を模式的に説明する図で、(a)は従
来のプログラムを実行する場合、(b)はタスクを実行
する場合の説明図である。7A and 7B are diagrams schematically illustrating a difference between a case where a conventional program is executed and a case where a task is executed. FIG. 7A illustrates a case where a conventional program is executed, and FIG. 7B illustrates a case where a task is executed. FIG.
【符号の説明】 10 PLCシミュレータ装置 20 ラダー実行エンジン 21 メイン処理部 22 ラダー実行処理部 23 周辺処理部 30 デバッガ 31 タスク管理部 32 メッセージウィンドウ 32−1 タスク表示切替部 32−2 タスク種別表示部 32−3 タスクNo.表示部 32−4 タスク設定表示部 32−5 [閉じる]ボタン 32−6 メインメニュー表示部 32−7 モニタボタン 32−8 タスク起動間隔表示部 32−9 タスク状態表示部 32−10 タスク実行回数表示部 32−11 タスク実行時間表示部[Description of Signs] 10 PLC simulator apparatus 20 Ladder execution engine 21 Main processing section 22 Ladder execution processing section 23 Peripheral processing section 30 Debugger 31 Task management section 32 Message window 32-1 Task display switching section 32-2 Task type display section 32 -3 Task No. Display section 32-4 Task setting display section 32-5 [Close] button 32-6 Main menu display section 32-7 Monitor button 32-8 Task activation interval display section 32-9 Task status display section 32-10 Task execution count display Section 32-11 Task execution time display section
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H220 BB09 BB12 CX03 DD04 HH01 JJ19 JJ26 JJ42 JJ53 KK08 LL01 LL06 5H223 CC03 CC08 DD03 EE19 FF05 FF08 9A001 DD13 HH32 LL05 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5H220 BB09 BB12 CX03 DD04 HH01 JJ19 JJ26 JJ42 JJ53 KK08 LL01 LL06 5H223 CC03 CC08 DD03 EE19 FF05 FF08 9A001 DD13 HH32 LL05
Claims (4)
り構成されるPLCプログラムの命令実行をシミュレー
ションするPLCシミュレータ装置において、 特定の割込みタスクを起動するための割込み要因を発生
させる割込み要因発生手段と、 上記割込み要因発生手段で指定された割込みタスクを実
行する割込みタスク実行手段と、 を有することを特徴とするPLCシミュレータ装置。1. A PLC simulator for simulating the execution of an instruction of a PLC program comprising a cycle execution task and an interrupt task, wherein: an interrupt factor generating means for generating an interrupt factor for activating a specific interrupt task; An interrupt task executing means for executing an interrupt task specified by the factor generating means.
て他のタスクの実行状態を制御できるPLCプログラム
の命令実行をシミュレーションするPLCシミュレータ
装置において、 タスクの内部状態を待機状態と実行可能状態に相互に変
更できる内部状態変更手段を有することを特徴とするP
LCシミュレータ装置。2. A PLC simulator for simulating the execution of an instruction of a PLC program capable of controlling the execution state of another task by a task start instruction and a task standby instruction, wherein the internal state of the task is mutually changed to a standby state and an executable state. P having an internal state changing means capable of
LC simulator device.
ムの命令実行をシミュレーションするPLCシミュレー
タ装置において、 タスク中の1命令毎の実行時または非実行時の処理時間
を計測する1命令処理時間計測手段と、 上記1命令処理時間計測手段で計測された処理時間を積
算して1タスクの処理時間を計測する1タスク処理時間
計測手段と、 上記1タスク処理時間計測手段で計測された処理時間を
記憶する1タスク処理時間記憶手段と、 を有することを特徴とするPLCシミュレータ装置。3. A PLC simulator for simulating the execution of an instruction of a PLC program executed in a task unit, comprising: one instruction processing time measuring means for measuring a processing time of each instruction in a task during execution or non-execution; A one-task processing time measuring means for integrating the processing time measured by the one-command processing time measuring means to measure the processing time of one task; and storing the processing time measured by the one-task processing time measuring means. A PLC simulator device comprising: one task processing time storage means.
り構成されるPLCプログラムの命令実行をPLCシミ
ュレータ装置でシミュレーションするためのプログラム
が記録された記録媒体において、 特定の割込みタスクを起動するための割込み要因を発生
させる割込み要因発生手段と、 上記割込み要因発生手段で指定された割込みタスクを実
行する割込みタスク実行手段と、 を有することを特徴とするシミュレーションするための
プログラムが記録された記録媒体。4. A recording medium on which a program for simulating an instruction execution of a PLC program composed of a cycle execution task and an interrupt task by a PLC simulator device is recorded, wherein an interrupt factor for activating a specific interrupt task is determined. A recording medium in which a program for simulation is recorded, comprising: an interrupt factor generating means for generating; and an interrupt task executing means for executing an interrupt task specified by the interrupt factor generating means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000015550A JP4192380B2 (en) | 2000-01-25 | 2000-01-25 | PLC simulator apparatus, simulation program, and recording medium on which the program is recorded |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000015550A JP4192380B2 (en) | 2000-01-25 | 2000-01-25 | PLC simulator apparatus, simulation program, and recording medium on which the program is recorded |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008034448A Division JP4811678B2 (en) | 2008-02-15 | 2008-02-15 | PLC simulator apparatus, simulation program, and recording medium on which the program is recorded |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001209409A true JP2001209409A (en) | 2001-08-03 |
JP4192380B2 JP4192380B2 (en) | 2008-12-10 |
Family
ID=18542826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000015550A Expired - Lifetime JP4192380B2 (en) | 2000-01-25 | 2000-01-25 | PLC simulator apparatus, simulation program, and recording medium on which the program is recorded |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4192380B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059421A (en) * | 2006-09-01 | 2008-03-13 | Yokogawa Electric Corp | Sequence program editing support device |
CN116643481A (en) * | 2023-07-18 | 2023-08-25 | 河南卫华重型机械股份有限公司 | PLC fault switching standby control system for crane |
-
2000
- 2000-01-25 JP JP2000015550A patent/JP4192380B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059421A (en) * | 2006-09-01 | 2008-03-13 | Yokogawa Electric Corp | Sequence program editing support device |
CN116643481A (en) * | 2023-07-18 | 2023-08-25 | 河南卫华重型机械股份有限公司 | PLC fault switching standby control system for crane |
CN116643481B (en) * | 2023-07-18 | 2024-05-17 | 河南卫华重型机械股份有限公司 | PLC fault switching standby control system for crane |
Also Published As
Publication number | Publication date |
---|---|
JP4192380B2 (en) | 2008-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6216237B1 (en) | Distributed indirect software instrumentation | |
JPH0533423B2 (en) | ||
JP4811678B2 (en) | PLC simulator apparatus, simulation program, and recording medium on which the program is recorded | |
JP3901417B2 (en) | PLC simulator | |
JP5542643B2 (en) | Simulation apparatus and simulation program | |
JP4192380B2 (en) | PLC simulator apparatus, simulation program, and recording medium on which the program is recorded | |
JP2861962B2 (en) | Computer program simulation apparatus and method | |
JP5212508B2 (en) | Debug device | |
JP2000293210A (en) | Developing environment device for control program, controller executing control program, and recording medium for program actualizing them | |
JP2009104490A (en) | Apparatus for testing program | |
JP2005353020A (en) | Simulation system for computer program | |
WO2001097035A1 (en) | Automatic evaluation method and automatic evaluation system and storage medium storing automatic evaluation program | |
JP2010039695A (en) | Multitask operating system and debugging device | |
JP5863332B2 (en) | Information processing apparatus and program | |
JP2001209412A (en) | Simulator for sequence program | |
JP3443184B2 (en) | Programmer for programmable controller | |
JP2533489B2 (en) | Simulation system | |
JPH07105045A (en) | Debugging system for information processor function test program | |
JPH08194506A (en) | Controller | |
JPS63177231A (en) | Debug system for parallel program | |
KR920001103B1 (en) | Test software simulation method for electronic exchanger | |
CN114327648A (en) | Drive debugging method and device, electronic equipment and storage medium | |
JPH08115232A (en) | Trace auxiliary device for program | |
JP2005235047A (en) | Power source intermittent disconnection debugging device and recording medium with program for realizing the method recorded thereon | |
JP2001236247A (en) | Software simulator and simulation processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080314 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080604 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080731 |
|
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: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4192380 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |