JPH1115507A - シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体 - Google Patents

シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体

Info

Publication number
JPH1115507A
JPH1115507A JP9165555A JP16555597A JPH1115507A JP H1115507 A JPH1115507 A JP H1115507A JP 9165555 A JP9165555 A JP 9165555A JP 16555597 A JP16555597 A JP 16555597A JP H1115507 A JPH1115507 A JP H1115507A
Authority
JP
Japan
Prior art keywords
instruction
circuit
sequence
sequence program
register
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
JP9165555A
Other languages
English (en)
Other versions
JP3315350B2 (ja
Inventor
Yoshihiko Okayama
喜彦 岡山
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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP16555597A priority Critical patent/JP3315350B2/ja
Publication of JPH1115507A publication Critical patent/JPH1115507A/ja
Application granted granted Critical
Publication of JP3315350B2 publication Critical patent/JP3315350B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】本発明は、シーケンスプログラムがファンクシ
ョン要素を含む場合にも、図形イメージのまま実行でき
るようにするとともに、作成元となったチャートへ簡単
に逆変換できるようにする技術の提供を目的とする。 【解決手段】1列構成のラダー演算回路に対して、分岐
情報と接点情報とを列サイクリックに設定するときにあ
って、行対応に設けられるレジスタで構成される演算用
レジスタを用意し、更に、チャートの作成にあたって、
回路要素間を同一行で接続する構成を採ることで、その
演算用レジスタの中から、ファンクション要素の配置位
置の指定する行番号の指すレジスタを作業域として用い
て、ファンクション要素の指す演算を行う構成を採る。
これにより、ファンクション要素を含む場合にもコンパ
イル操作が不要になって、図形イメージのままの実行
と、作成元チャートへの簡単な逆変換とが実現できるよ
うになる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シーケンスプログ
ラムを実行するシーケンス制御装置と、シーケンスプロ
グラムを作成するシーケンスプログラム作成装置と、シ
ーケンスプログラム作成装置の実現に用いられるプログ
ラムを記憶するプログラム記憶媒体とに関し、特に、シ
ーケンスプログラムがファンクション要素を含む場合に
も図形イメージのまま実行できるとともに、作成元とな
ったチャートへ簡単に逆変換できるようにするシーケン
ス制御装置と、そのシーケンス制御装置で実行するシー
ケンスプログラムを作成するシーケンスプログラム作成
装置と、そのシーケンスプログラム作成装置の実現に用
いられるプログラムが記憶されるプログラム記憶媒体と
に関する。
【0002】ハードウェア構成のラダー演算回路を使っ
てラダーシーケンスを実行するシーケンス制御装置で
は、ラダー回路をその図形イメージのまま実行する構成
を採っている。これから、コンパイルの操作を必要とせ
ずに、図形を使ってシーケンスプログラムの作成が可能
になるとともに、この図形イメージのシーケンスプログ
ラムから作成元のラダー回路の表示が可能になることか
ら、ユーザにとって極めて使い易いマンマシンインタフ
ェースを持つという特徴がある。
【0003】一方、近年、シーケンスプログラムが複雑
になるに従って、ラダー回路だけでシーケンスプログラ
ムを作成するのは無理となってきた。このようなことを
背景にして、IEC1131.3で、データの流れを記述
する図示言語を使って、シーケンス制御装置で実行する
ファンクションやファンクションブロックを規格化する
提案がなされている。
【0004】ラダー演算回路を使ってラダーシーケンス
を実行するシーケンス制御装置では、このようなファン
クションやファンクションブロックに対しても、その図
形イメージのまま実行できる構成を構築していくこと
で、ユーザにとって極めて使い易いマンマシンインタフ
ェースを実現するという特徴を生かしていく必要があ
る。
【0005】
【従来の技術】ラダー演算回路を使ってラダーシーケン
スを実行するシーケンス制御装置では、図21に示すよ
うに、ラダー回路中にプログラミングされる行間の接続
情報である分岐データをラッチするための分岐用ラッチ
回路100と、ラダー回路中にプログラミングされる接
点回路要素の接点データをセットするための接点用ラッ
チ回路101と、1列分のラダー演算を実行するラダー
演算基本回路102と、ラダー演算基本回路102の出
力値を保持するとともに、その出力値をラダー演算基本
回路102の入力段にフィードバックする演算結果ラッ
チ回路103とを備える。
【0006】このラダー演算基本回路102は、図22
に示すように、行間数に対応して備えられるNANDゲ
ート200が、隣接する上の行との間の連結性を示す分
岐データと上の行からの電力の有無データとの論理積を
演算して、注目対象の行のNANDゲート203に入力
し、行間数に対応して備えられるNANDゲート201
が、隣接する下の行との間の連結性を示す分岐データと
下の行からの電力の有無データとの論理積を演算して、
注目対象の行のNANDゲート203に入力し、行数に
対応して備えられるNANDゲート202が、前列同一
行との間の伝導性を示す接点データと前列同一行からの
電力の有無データとの論理積を演算して、注目対象の行
のNANDゲート203(“0”のOR回路をなす)に
入力するとともに、このNANDゲート203が、演算
結果ラッチ回路103に出力値を出力する構成を採って
いる。
【0007】このように構成されるラダー演算回路を使
ってラダーシーケンスを実行するシーケンス制御装置で
は、図23に示すようなラダー回路が与えられると、第
1ステップで、アドレスa1(後述するI/Oテーブル
15のアドレス)の指す接点データを接点用ラッチ回路
101の第1行目のラッチ回路にセットし、アドレスa
2の指す接点データの反転値(B接点であるので反転値
となる)を接点用ラッチ回路101の第2行目のラッチ
回路にセットし、第2行と第3行とを接続する分岐デー
タを分岐用ラッチ回路100の対応するラッチ回路にセ
ットすることで、ラダー演算基本回路102が、第1列
目のラダー演算を実行するように処理する。
【0008】続いて、第2ステップで、アドレスa3の
指す接点データを接点用ラッチ回路101の第1行目の
ラッチ回路にセットし、アドレスa4の指す接点データ
を接点用ラッチ回路101の第2行目のラッチ回路にセ
ットし、アドレスa5の指す接点データを接点用ラッチ
回路101の第3行目のラッチ回路にセットし、第1行
と第2行とを接続する分岐データを分岐用ラッチ回路1
00の対応するラッチ回路にセットし、第2行と第3行
とを接続する分岐データを分岐用ラッチ回路100の対
応するラッチ回路にセットすることで、ラダー演算基本
回路102が、第2列目のラダー演算を実行するように
処理する。
【0009】続いて、第3ステップで、アドレスa6の
指す接点データを接点用ラッチ回路101の第1行目の
ラッチ回路にセットすることで、ラダー演算基本回路1
02が、第3列目のラダー演算を実行するように処理す
る。
【0010】続いて、第4ステップで、演算結果ラッチ
回路103の第1行目のラッチ回路の保持値をアドレス
a6の指す領域(後述するI/Oテーブル15の領域)
に出力する。
【0011】このように、ラダー演算回路を使ってラダ
ーシーケンスを実行するシーケンス制御装置では、ラダ
ー回路をその図形イメージのまま実行する構成を採って
いる。
【0012】これから、コンパイルの操作を必要とせず
に、シーケンスプログラムの作成が可能になるととも
に、このシーケンスプログラムから作成元のラダー回路
の表示が可能になることから、ユーザにとって極めて使
い易いマンマシンインタフェースを持つという特徴があ
る。図24に、図23のラダー回路を実現するこの図形
イメージのシーケンスプログラムを図示する。なお、図
中に示す“E”は、行の終わりを示すコードである。こ
の“E”は、その行の最終の命令に記録されることがあ
るが、ここでは分かり易くするために命令とは別に記載
してある。
【0013】この図形イメージのシーケンスプログラム
を作成する従来のシーケンスプログラム作成装置では、
ADD命令のようなラダー回路で表せないファンクショ
ン命令については、変数やスタックを作業領域とするコ
ンパイル操作を行うことで、シーケンスプログラムを作
成するという構成を採っていた。
【0014】具体例に従って、従来技術について説明す
るならば、図25に示すように、ラダー回路に、第1行
のラダー演算の結果が“1”を示すときには、I/Oテ
ーブルの100ワード番地のデータを取り込み、I/O
テーブルの200ワード番地のデータを取り込んで、そ
れらを加算してから、I/Oテーブルの300ワード番
地に格納しろという命令が記述されるときには、コンパ
イル操作により、I/Oテーブルの100ワード番地の
データをスタックに書き込むことを指示する「BW 1
00W」命令と、I/Oテーブルの200ワード番地の
データをスタックに書き込むことを指示する「BW 2
00W」命令と、スタックの0番地のデータと1番地の
データとを加算して0番地に書き込むことを指示する
「ADD」命令と、スタックの0番地のデータをI/O
テーブルの300ワード番地に格納することを指示する
「SW 300W」とからなる、図26に示すような命
令を生成するという方法を採っていた。
【0015】これから、図27に示すように、IEC1
131.3で規定する図示言語を使って、ラダー回路に、
第1行のラダー演算の結果が“1”を示すときには、I
/Oテーブルの100ワード番地のデータを取り込み、
I/Oテーブルの200ワード番地のデータを取り込ん
で、それらを加算してから、I/Oテーブルの300ワ
ード番地に格納しろという命令が記述されるときにも、
同様のコンパイル操作により、「BW 100W」命令
と「BW 200W」命令と「ADD」命令と「SW
300W」とからなる、図26に示すような命令を生成
することで、この図示言語の命令を実行するという方法
を採っていた。
【0016】また、四則演算回路(ALU)を使って実
行するAND命令のような簡単な命令ではなくて、CP
U上で走行するプログラムを使って演算を実行する複雑
な命令の場合には、スタックを作業領域とする命令を生
成するのではなくて、変数を作業領域とする命令を生成
するという方法を採っていた。
【0017】具体的に従って説明するならば、プロセス
のPV(状態値)と、プロセスのSP(設定値)と、P
IDのパラメータと、MODE(自動モード・マニュア
ルモード)と、M MV(マニュアル出力)と、LOA
D(SPなどのロード指示)とを入力として、PID演
算を行い、プロセスに対するMV(操作値)と、ALM
(アラーム)と、PIDのパラメータとを出力とするい
う図28に示すような図示言語がラダー回路に記述され
るときには、入力するPVを変数α1に格納し、入力す
るLOADを変数α2に格納し、入力するSPを変数α
3に格納し、入力するMODEを変数α4に格納し、入
力するM MVを変数α5に格納し、入力するPIDパ
ラメータを変数α6に格納し、出力するALMを変数β
1に格納し、出力するMVを変数β2に格納し、出力す
るPIDパラメータを変数β3に格納する命令を生成す
ることで、図29に示すようなアーギュメントを作成す
るとともに、このアーギュメントを指定してPID演算
を実行するプログラムを起動する命令を生成すること
で、このPID演算の図示言語の命令を実行するという
方法を採っていた。
【0018】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術に従っていると、ラダー回路については、
その図形イメージのまま実行することが可能であるのに
対して、ADD命令やPID演算命令のようなラダー回
路で表せないファンクション命令については、C言語な
どにコンパイルしてからでないと実行できないという問
題点があった。
【0019】そして、このような従来技術に従っている
と、ラダー回路のみからなるシーケンスプログラムにつ
いては、その図形イメージのまま実行することが可能で
あることから、シーケンスプログラムからその作成元と
なったラダー回路を簡単に求めることができるものの、
ADD命令やPID演算命令のようなラダー回路で表せ
ないファンクション命令の入っているシーケンスプログ
ラムについては、コンパイル操作が入っていることか
ら、シーケンスプログラムからその作成元となったチャ
ート(ファンクション命令の混在するラダー回路)を簡
単に求めることができないという問題点があった。
【0020】これから、従来技術に従っていると、図形
イメージのままシーケンスプログラムを実行できるとと
もに、シーケンスプログラムから作成元のチャートへの
変換を容易に実行できるという、ハードウェア構成のラ
ダー演算回路を使ってラダーシーケンスを実行する構成
を採るシーケンス制御装置が持つ特徴を発揮できないと
いう問題点があった。
【0021】本発明はかかる事情に鑑みてなされたもの
であって、シーケンスプログラムがファンクション要素
を含む場合にも図形イメージのまま実行できるととも
に、作成元となったチャートへ簡単に逆変換できるよう
にする新たなシーケンス制御装置の提供と、そのシーケ
ンス制御装置で実行するシーケンスプログラムを作成す
る新たなシーケンスプログラム作成装置の提供と、その
シーケンスプログラム作成装置の実現に用いられるプロ
グラムが記憶される新たなプログラム記憶媒体の提供と
を目的とする。
【0022】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は本発明を具備するシーケンス制
御装置であって、出力データを入力段にフィードバック
するn行×1列のラダー演算回路に対して、行間の分岐
情報と外部機器の接点情報とを列を単位としてサイクリ
ックに設定していくことでシーケンスプログラムを実行
するもの、2は本発明を具備するシーケンスプログラム
作成装置であって、シーケンス制御装置1の実行するシ
ーケンスプログラムを作成するもの、3はシーケンスプ
ログラム作成装置2の備える対話装置であって、画面を
表示するとともに、マウスのような入力装置を備えるこ
とで、ユーザと対話するものである。
【0023】シーケンス制御装置1は、ラダー演算回路
10と、演算用レジスタ14と、I/Oテーブル15
と、解読手段16と、第1の実行手段17と、第2の実
行手段18と、第3の実行手段19とを備える。
【0024】このラダー演算回路10は、行間の分岐情
報と外部機器の接点情報とを入力する入力回路11と、
1列分のラダー演算を実行するn行×1列構成(n>
1)のラダー演算基本回路12と、ラター演算基本回路
12の演算結果を保持して入力回路11にフィードバッ
クする保持回路13とを備えることで、1列分のラダー
演算を実行する。
【0025】演算用レジスタ14は、ラダー演算回路1
0の行対応に設けられるレジスタで構成されて、演算デ
ータを格納する。I/Oテーブル15は、外部機器の接
点情報や、外部機器に出力するデータを保持する。解読
手段16は、シーケンスプログラム作成装置2の作成す
るシーケンスプログラムを読み込んで解読する。
【0026】第1の実行手段17は、ラダー演算回路1
0の入力回路11に対して、シーケンスプログラムの指
定する分岐情報を設定するとともに、I/Oテーブル1
5からシーケンスプログラムの指定する接点情報を読み
出して設定する。第2の実行手段18は、演算用レジス
タ14に対してのアクセスを実行する。第3の実行手段
19は、演算用レジスタ14及び保持回路13をアクセ
ス先として、データを入力し、指定される演算を行い、
その演算結果を出力する。
【0027】一方、シーケンスプログラム作成装置2
は、配置手段20と、読取手段21と、第1の生成手段
22と、第2の生成手段23と、第3の生成手段24と
を備える。
【0028】この配置手段20は、n行×m列(m>
1)のマトリックスに対して、分岐情報を持つ接点回路
要素を示す図形と、ファンクション要素を示す図形と、
ファンクション要素のアクセス情報とを配置すること
で、シーケンスプログラムの骨組みとなる情報を作成す
る。読取手段21は、配置手段20の配置情報を列順に
読み取る。
【0029】第1の生成手段22は、シーケンス制御装
置1の備えるラダー演算回路10に対して、分岐情報及
び接点情報を設定することを指示する命令を生成する。
第2の生成手段23は、シーケンス制御装置1の備える
演算用レジスタ14に対してのアクセスを指示する命令
を生成する。第3の生成手段24は、ファンクション要
素の指す演算を行うことを指示する命令を生成する。
【0030】ここで、本発明のシーケンスプログラム作
成装置2の持つシーケンスプログラムの作成機能は具体
的にはプログラムで実現されるものであり、このプログ
ラムは媒体から提供され、シーケンスプログラム作成装
置2にインストールされてメモリ上で動作することで、
本発明のシーケンスプログラム作成装置2を実現するこ
とになる。
【0031】このように構成される本発明のシーケンス
プログラム作成装置2では、配置手段20は、対話装置
3のディスプレイ画面にn行×m列のマトリックスを表
示し、対話装置3を介してユーザと対話することで、そ
のマトリックスに、分岐情報を持つ接点回路要素を示す
図形と、ファンクション要素を示す図形と、ファンクシ
ョン要素のアクセス情報とを配置するとともに、その配
置した接点回路要素のアクセス情報を設定する。この配
置にあたって、配置手段20は、配置される接点回路要
素の図形や、配置されるファンクション要素の図形や、
配置されるアクセス情報が同一行で接続されるように
と、ファンクション要素の図形を列方向に伸長したり縮
小する処理を行う。
【0032】このようにして、配置手段20は、n行×
m列のマトリックスに、同一行で接続する形態に従いつ
つ、分岐情報を持つ接点回路要素を示す図形と、ファン
クション要素を示す図形と、ファンクション要素のアク
セス情報とを配置するとともに、その配置した接点回路
要素のアクセス情報を設定する処理を行う。
【0033】この配置手段20の処理を受けて、読取手
段21は、配置手段20の配置する配置情報を行番号を
特定しつつ列順に読み取り、これを受けて、第1の生成
手段22は、読取手段21が接点回路要素を読み取る
と、接点回路要素の配置される行番号の指す入力回路1
1の回路部分に対して、接点回路要素に対応付けて定義
される分岐情報と、接点回路要素に対応付けて設定され
るアクセス情報の指す接点情報とを入力することを指示
する命令を生成する。
【0034】一方、第2の生成手段23は、読取手段2
1がファンクション要素のアクセス情報を読み取ると、
そのアクセス情報の指すアクセス命令を生成すべく、そ
のアクセス情報とファンクション要素との間の接続行番
号(同一行接続の行番号)を特定して、演算用レジスタ
14の内のその同一行接続の行番号の指すレジスタに対
してのアクセスを指示する命令を生成する。
【0035】一方、第3の生成手段24は、読取手段2
1がファンクション要素を読み取ると、そのファンクシ
ョン要素の指すファンクション命令を生成すべく、その
ファンクション要素と他のファンクション要素や接点回
路要素との間の接続行番号(同一行接続の行番号)を特
定して、演算用レジスタ14の内のその同一行接続の行
番号の指すレジスタと、保持回路13の内のその同一行
接続の行番号の指す回路部分とをアクセス先として、デ
ータを入力し、そのファンクション要素の指す演算を行
い、その演算結果を出力することを指示する命令を生成
する。
【0036】このようにして、シーケンスプログラム作
成装置2は、シーケンス制御装置1の実行するシーケン
スプログラムを作成する。このシーケンスプログラムの
作成を受けて、本発明のシーケンス制御装置1では、解
読手段16は、作成されたシーケンスプログラムを行番
号を特定しつつ列順に読み込んで解読し、これを受け
て、第1の実行手段17は、解読手段16が接点回路要
素の命令を解読すると、第1の生成手段22の生成する
命令に従って、入力回路11に対して、分岐情報を入力
するとともに、I/Oテーブル15から対応の接点情報
を読み出して入力する処理を行う。
【0037】一方、第2の実行手段18は、解読手段1
6がファンクション要素のアクセス情報の命令を解読す
ると、第2の生成手段23の生成する命令に従って、演
算用レジスタ14の内の同一行接続の行番号の指すレジ
スタに対してのアクセスを実行することで、I/Oテー
ブル15からデータを読み出して演算用レジスタ14に
格納したり、演算用レジスタ14からデータを読み出し
てI/Oテーブル15に格納する処理を行う。
【0038】一方、第3の実行手段19は、解読手段1
6がファンクション要素の命令を解読すると、第3の生
成手段24の生成する命令に従って、演算用レジスタ1
4の内の同一行接続の行番号の指すレジスタと、保持回
路13の内の同一行接続の行番号の指す回路部分とをア
クセス先として、データを入力し、そのファンクション
要素の指す演算を行い、その演算結果を出力すること
で、演算用レジスタ14や保持回路13からデータを読
み出して、ファンクション要素の指す演算を行い、その
演算結果を演算用レジスタ14や保持回路13に格納す
る。
【0039】このように、本発明では、シーケンス制御
装置が1列構成のラダー演算回路10を列サイクリック
に起動していくことでシーケンスプログラムを実行する
ときにあって、ラダー演算回路10の行対応に設けられ
るレジスタで構成される演算用レジスタ14をファンク
ション要素の指す演算の作業域として用意し、更に、シ
ーケンスプログラムの作成元となるチャートの作成にあ
たって、回路要素間を同一行で接続する構成を採ること
で、その演算用レジスタ14の中から、ファンクション
要素の配置位置の指定する行番号の指すレジスタを作業
域として用いてファンクション要素の指す演算を行う構
成を採る。
【0040】これにより、シーケンスプログラムの作成
元となるチャートがファンクション要素を含む場合に
も、コンパイル操作を必要とせずにシーケンスプログラ
ムが作成できるようになるとともに、ファンクション要
素の演算を接点回路要素と同一の手法により実行できる
ようになる。
【0041】これから、ファンクション要素を含む場合
にも、シーケンスプログラムを図形イメージのまま実行
できるようになるとともに、シーケンスプログラムか
ら、その作成元となったチャートへの変換を簡単に実行
できるようになる。
【0042】
【発明の実施の形態】以下、実施の形態に従って本発明
を詳細に説明する。図2及び図3にシーケンス制御装置
1の一実施例、図4にシーケンスプログラム作成装置2
の一実施例を図示する。
【0043】シーケンス制御装置1は、図2に示すよう
に、ラダー演算回路10と、演算用レジスタ14と、I
/Oテーブル15と、入出力モジュール30と、CPU
31と、ALU32と、インデックスレジスタ33と、
ユーザメモリ34と、命令実行プログラム35と、イン
タフェース回路36とを備える。
【0044】このラダー演算回路10は、図21に示し
た分岐用ラッチ回路100/接点用ラッチ回路101/
ラダー演算基本回路102/演算結果ラッチ回路103
で構成されて、1列分のラダー演算を実行する。
【0045】以下、説明の便宜上、ラダー演算回路10
は、16行×1列の回路構成を有することを想定する。
これから、図3に示すように、分岐用ラッチ回路100
は、1ビットのラッチ回路が15個配列されることで構
成され、接点用ラッチ回路101は、1ビットのラッチ
回路が16個配列されることで構成され、演算結果ラッ
チ回路103は、1ビットのラッチ回路が16個配列さ
れることで構成されることになる。
【0046】演算用レジスタ14は、ラダー演算回路1
0の行対応に設けられる16個のレジスタで構成され
て、演算データを格納する。更に詳細に説明すると、図
3に示すように、32ビットで構成される演算データを
格納する領域と、4ビットで構成される演算データの型
(浮動小数点型など)を格納する領域とで構成されてい
る。
【0047】I/Oテーブル15は、16ビット(1ワ
ード)のデータを6554個格納するメモリ域で構成さ
れて、外部機器からサンプリングされる接点情報を保持
するとともに、外部機器に出力するデータを保持する。
入出力モジュール30は、外部機器からのデータをI/
Oテーブル15に書き込んだり、I/Oテーブル15の
データを外部機器に出力する。
【0048】CPU31は、図示しないプログラムに従
って、装置全体の制御処理を実行するとともに、PID
演算のようなシーケンス制御のファンクション命令を実
行する。ALU32は、四則演算のようなシーケンス制
御のハードウェア演算命令を実行する。
【0049】インデックスレジスタ33は、I/Oテー
ブル15のアドレスを指定する際のアドレス修飾用に用
意される。ここで、33aは後述するビット入力命令用
のインデックスレジスタ、33bは後述するビット出力
命令用のインデックスレジスタ、33cは後述するブリ
ング命令用のインデックスレジスタ、33dは後述する
センド命令用のインデックスレジスタである。
【0050】ユーザメモリ34は、シーケンスプログラ
ム作成装置2の作成するシーケンスプログラムを格納す
る。命令実行プログラム35は、ユーザメモリ34から
シーケンスプログラムを読み出して実行することで、シ
ーケンス制御を実行する。インタフェース回路36は、
命令実行プログラム35と、それ以外の機構部分との間
のインタフェース用に用意される。
【0051】一方、シーケンスプログラム作成装置2
は、図4に示すように、対話装置3と、作成プログラム
40と、2次元内部メモリ41と、変換プログラム42
と、シーケンスメモリ43と、ローダ44とを備える。
【0052】この対話装置3は、画面を表示するととも
に、マウスのような入力装置を備えることで、ユーザと
対話する。作成プログラム40は、プログラム記憶媒体
からインストールされて、ユーザとの対話処理に従っ
て、回路要素の図示言語をマトリックス上に配置するこ
とで、図形イメージで表現されるシーケンスプログラム
を作成する。2次元内部メモリ41は、作成プログラム
40の作成する図形イメージのシーケンスプログラムを
2次元の形式で格納する。
【0053】変換プログラム42は、プログラム記憶媒
体からインストールされて、2次元内部メモリ41に格
納されるシーケンスプログラムを内部コードに変換する
ことでシーケンス制御装置1の実行対象となるシーケン
スプログラムを作成する。シーケンスメモリ43は、変
換プログラム42の作成するシーケンスプログラムを格
納する。ローダ44は、シーケンスメモリ43に格納さ
れるシーケンスプログラムをシーケンス制御装置1のユ
ーザメモリ34にローディングする。
【0054】図5ないし図7に、シーケンス制御装置1
の実行する命令コードの一実施例を図示する。シーケン
ス制御装置1の実行する命令は、大きく分けて、図5に
示すビット入力命令及びビット出力命令と、図6に示す
ブリング命令及びセンド命令と、図7に示すハードウェ
ア演算命令及びCPU命令という3種類がある。
【0055】このビット入力命令は、ラダー演算回路1
0の分岐用ラッチ回路100に対しての分岐データのセ
ットと、ラダー演算回路10の接点用ラッチ回路101
に対しての接点データのセットとを実行する命令であ
る。また、ビット出力命令は、ラダー演算回路10の演
算結果ラッチ回路103に保持される最終的なラダー演
算結果の出力を実行する命令である。
【0056】一方、ブリング命令は、I/Oテーブル1
5から演算用レジスタ14へのデータ転送と、演算用レ
ジスタ14への定数データのセットを実行する命令であ
る。更に、ブリング命令は、インデックスレジスタ33
a,b,c,dに対してインデックスをセットするため
の命令としても用いられている。また、センド命令は、
演算用レジスタ14からI/Oテーブル15へのデータ
転送を実行する命令である。
【0057】一方、ハードウェア演算命令は、四則演算
などの演算命令(ALU32を使って実行することにな
る)を実行する命令である。また、CPU命令は、PI
D演算などのファンクション命令(CPU31で走行す
るプログラムを使って実行することになる)を実行する
命令である。
【0058】このハードウェア演算命令やCPU命令
は、演算用レジスタ14の格納する演算データや、演算
結果ラッチ回路103の保持するビットデータを入力し
て、規定の演算を行い、その演算結果を、演算用レジス
タ14や演算結果ラッチ回路103に格納する処理を行
うことになる。
【0059】次に、各命令のコード体系について説明す
る。ビット入力命令は、図5(a)に示すように、“0
01”に従って、ビット入力命令であることが表示され
る。Eビットは、行の終了となる命令であるのか否かを
示すフラグ、pビット(エッジ接点のとき有効となる)
は、前回の実行時(シーケンスプログラムは繰り返し実
行される形態がとられる)の接点データ、nnnnは、
ビット入力命令の生成に用いた図示言語の配置位置の行
番号、ビット番号(4ビット)は、アドレスで指定され
るI/Oテーブル15の16ビットデータの内のどれを
入力するのかを指定するもの、ワードアドレスオフセッ
トは、インデックスレジスタ33aのインデックスと加
算されて、I/Oテーブル15のアドレスを生成するも
のである。
【0060】「x=000」は、分岐なしのA接点を示
し、指定されるI/Oテーブル15の接点データをnn
nnの指す接点用ラッチ回路101にそのまま入力する
ことを示す。「x=100」は、分岐ありのA接点を示
し、「x=000」の規定する接点データの入力に加え
て、nnnnの指す分岐用ラッチ回路100に分岐デー
タを入力することを示す。
【0061】「x=001」は、分岐なしのB接点を示
し、指定されるI/Oテーブル15の接点データをnn
nnの指す接点用ラッチ回路101に反転して入力する
ことを示す。「x=101」は、分岐ありのB接点を示
し、「x=001」の規定する接点データの入力に加え
て、nnnnの指す分岐用ラッチ回路100に分岐デー
タを入力することを示す。
【0062】「x=010」は、分岐なしの立ち上がり
接点を示し、指定されるI/Oテーブル15の接点デー
タが“1”に立ち上るときに、nnnnの指す接点用ラ
ッチ回路101にパルス形式の“1”を入力することを
示す。「x=110」は、分岐ありの立ち上がり接点の
入力を示し、「x=010」の規定する接点データの入
力に加えて、nnnnの指す分岐用ラッチ回路100に
分岐データを入力することを示す。
【0063】「x=011」は、分岐なしの立ち下がり
接点を示し、指定されるI/Oテーブル15の接点デー
タが“0”に立ち下がるときに、nnnnの指す接点用
ラッチ回路101にパルス形式の“1”を入力すること
を示す。「x=111」は、分岐ありの立ち下がり接点
を示し、「x=011」の規定する接点データの入力に
加えて、nnnnの指す分岐用ラッチ回路100に分岐
データを入力することを示す。
【0064】一方、ビット出力命令は、図5(b)に示
すように、“010”に従って、ビット出力命令である
ことが表示される。Eビット/pビットの意味は、ビッ
ト入力命令と同じであり、nnnnは、ビット出力命令
の生成に用いた図示言語の配置位置の行番号、ビット番
号(4ビット)は、アドレスで指定されるI/Oテーブ
ル15の16ビットデータの内のどこへ出力するのかを
指定するもの、ワードアドレスオフセットは、インデッ
クスレジスタ33bのインデックスと加算されて、I/
Oテーブル15のアドレスを生成するものである。
【0065】「x=000」は、通常出力を示し、nn
nnの指す演算結果ラッチ回路103のビットデータを
指定されるI/Oテーブル15にそのまま出力すること
を示す。「x=001」は、反転出力を示し、nnnn
の指す演算結果ラッチ回路103のビットデータを指定
されるI/Oテーブル15に反転して出力することを示
す。
【0066】「x=100」は、ラッチ出力を示し、n
nnnの指す演算結果ラッチ回路103のラッチデータ
が“1”のときに、指定されるI/Oテーブル15に
“1”を出力し、“0”のときには保持することを示
す。「x=101」は、アンラッチ出力を示し、nnn
nの指す演算結果ラッチ回路103のラッチデータが
“1”のときに、指定されるI/Oテーブル15に
“0”を出力し、“0”のときには保持することを示
す。
【0067】「x=010」は立ち上がり出力を示し、
nnnnの指す演算結果ラッチ回路103のビットデー
タが“1”に立ち上るときに、指定されるI/Oテーブ
ル15にパルス形式の“1”を出力することを示す。
「x=011」は立ち下がり出力を示し、nnnnの指
す演算結果ラッチ回路103のビットデータが“0”に
立ち下るときに、指定されるI/Oテーブル15にパル
ス形式の“1”を出力することを示す。
【0068】一方、ブリング命令は、図6(a)に示す
ように、“100”に従って、ブリング命令であること
が表示される。Eビットの意味は、ビット入力命令と同
じであり、pビットは、この命令では意味を持たない。
nnnnは、ブリング命令の入力位置の行番号(ブリン
グ命令がインデックスのセット用に用いられるときに
は、インデックスレジスタのIDを指定する)、ttt
tは、演算用レジスタ14に格納するデータの型、ワー
ドアドレスオフセットは、インデックスレジスタ33c
のインデックスと加算されて、I/Oテーブル15のア
ドレスを生成するものである。ここで、ワードアドレス
オフセットには、アドレスオフセットの代わりに定数デ
ータが格納されることがある。
【0069】「x=000」は、BWHモードのブリン
グ命令を示し、指定されるI/Oテーブル15のデータ
(16ビット)をnnnnの指す演算用レジスタ14の
レジスタの上位側に格納することを示す。「x=01
0」は、BWLモードのブリング命令を示し、指定され
るI/Oテーブル15のデータ(16ビット)をnnn
nの指す演算用レジスタ14のレジスタの下位側に格納
することを示す。
【0070】「x=001」は、KWHモードのブリン
グ命令を示し、指定される定数データ(16ビット)を
nnnnの指す演算用レジスタ14のレジスタの上位側
に格納することを示す。「x=011」は、KWLモー
ドのブリング命令を示し、指定される定数データ(16
ビット)をnnnnの指す演算用レジスタ14のレジス
タの下位側に格納することを示す。
【0071】「x=100」は、BX1モードのブリン
グ命令を示し、指定されるインデックスをインデックス
33aに格納することを示す。「x=101」は、BX
2モードのブリング命令を示し、指定されるインデック
スをインデックス33bに格納することを示す。「x=
110」は、BX3モードのブリング命令を示し、指定
されるインデックスをインデックス33cに格納するこ
とを示す。「x=111」は、BX4モードのブリング
命令を示し、指定されるインデックスをインデックス3
3dに格納することを示す。
【0072】一方、センド命令は、図6(b)に示すよ
うに、“101”に従って、センド命令であることが表
示される。Eビットの意味は、ビット入力命令と同じで
あり、pビットは、この命令では意味を持たない。nn
nnは、センド命令の入力位置の行番号、ttttは、
演算用レジスタ14に格納されるデータの型、ワードア
ドレスオフセットは、インデックスレジスタ33dのイ
ンデックスと加算されて、I/Oテーブル15のアドレ
スを生成するものである。
【0073】「x=000」は、SWHモードのセンド
命令を示し、nnnnの指す演算用レジスタ14のレジ
スタの上位側データ(16ビット)を指定されるI/O
テーブル15に格納することを示す。「x=010」
は、SWLモードのセンド命令を示し、nnnnの指す
演算用レジスタ14のレジスタの下位側データ(16ビ
ット)を指定されるI/Oテーブル15に格納すること
を示す。一方、ハードウェア演算命令は、「ソース+デ
ィスティネーション→ディスティネーション」の演算形
態をとるものであり、図7(a)に示すように、“11
0”に従って、ハードウェア演算命令であることが表示
される。Eビットの意味は、ビット入力命令と同じであ
り、pビットは、この命令では意味を持たない。sss
sは、ハードウェア演算命令の生成に用いた図示言語の
持つソース側の行番号、ddddは、ハードウェア演算
命令の生成に用いた図示言語の持つディスティネーショ
ン側の行番号、eeeeは、ハードウェア演算命令の生
成に用いた図示言語の持つイネーブル端子の行番号、w
wwwは、ハードウェア演算命令の生成に用いた図示言
語の列数、オペコード(8ビット)は、ハードウェア演
算命令のID、無条件実行/条件実行は、イネーブル信
号に応じて演算処理に入るものなのか無条件に演算処理
に入るものなのかの表示フラグ、αは、16ビット演算
のものなのか32演算のものなのかの表示フラグ、β
は、16ビット演算時の上位ワードに符号拡張を行うも
のなのかクリアするものなのかの表示フラグである。
【0074】例えば、図8に示すように、ハードウェア
演算命令のADD演算には、無条件に演算処理に入るも
のと、イネーブル信号(ラダー演算回路10から与えら
れる)に応じて演算処理に入るものがあり、更に、ハー
ドウェア演算命令には、SUB演算など色々なものがあ
るので、オペコードを使って、どの演算であるのかを管
理するとともに、無条件実行/条件実行の表示フラグを
使って、イネーブル信号に応じて演算処理に入るものな
のか、無条件に演算処理に入るものなのかを管理するの
である。そして、この図8に示すような図示言語の大き
さを管理するために、列数を管理するのである。
【0075】一方、CPU命令は、図7(b)に示すよ
うに、“111”に従って、CPU命令であることが表
示される。Eビットの意味は、ビット入力命令と同じで
あり、pビットは、この命令では意味を持たない。nn
nnは、CPU命令の生成に用いた図示言語の先頭行位
置の行番号、mmmmは、CPU命令の生成に用い図示
言語の行数、wwwwは、CPU命令の生成に用いた図
示言語の列数、s〜sは、CPU命令の生成に用いた図
示言語の持つ入力端子の位置を示すビットパターン、d
〜dは、CPU命令の生成に用いた図示言語の持つ出力
端子の位置を示すビットパターン、ファンクション番号
は、CPU命令のID、無条件実行/条件実行は、イネ
ーブル信号に応じて演算処理に入るものなのか無条件に
演算処理に入るものなのかの表示フラグである。
【0076】このs〜sと、d〜dは、例えば、最下位
の行を起点として、入力位置(出力位置)となるときに
は“1”、入力位置(出力位置)とならないときには
“0”を記録することで、CPU命令の図示言語の持つ
入出力位置を示すものであり、図9に示すPID演算の
図示言語で説明するならば、s〜sは「11111
1」、d〜dは「100011」となる。このビットパ
ターンによる管理形態をとることで、図示言語が移動さ
れるようなことがあっても、nnnnを変えるだけで済
むという特徴がある。
【0077】図10及び図11に、シーケンスプログラ
ム作成装置2の備える作成プログラム40の実行する処
理フローの一実施例、図12及び図13に、シーケンス
プログラム作成装置2の備える変換プログラム42の実
行する処理フローの一実施例、図14及び図15に、シ
ーケンス制御装置1の備える命令実行プログラム35の
実行する処理フローの一実施例を図示する。
【0078】次に、これらの処理フローに従って、この
ように構成される本発明の処理について詳細に説明す
る。先ず最初に、作成プログラム40の実行する処理に
ついて説明する。
【0079】作成プログラム40は、ユーザからシーケ
ンスプログラムの作成要求があると、図10及び図11
の処理フローに示すように、先ず最初に、ステップ1
で、対話装置3のディスプレイ画面に、16行×m列
(但し、m>1)のマトリックスを表示する。続いて、
ステップ2で、対話装置3の備えるマウスの指す位置を
取得することで、マトリックスの枡目位置に設定され
る、ビット入力命令やビット出力命令やハードウェア演
算命令やCPU命令の図示言語の入力位置を取得する。
なお、ブリング命令やセンド命令については、単にアド
レス情報を指定すれば足りるので、図示言語は用意して
おらず、アドレス情報の入力位置を取得することにな
る。
【0080】続いて、ステップ3で、ユーザと対話する
ことで、取得した入力位置に貼り付ける図示言語を選択
して、それを取得した入力位置に描画する。この図示言
語の選択処理は、ディスプレイ画面に、図16に示すよ
うな図示言語選択のためのウィンドウ画面を表示して、
それを使ってユーザと対話することで実行する。なお、
ブリング命令やセンド命令の入力要求が発行されるとき
には、このステップ3の処理は行わない。
【0081】続いて、ステップ4で、ディスプレイ画面
に貼り付けた図示言語が接点回路要素の図示言語、すな
わち、ビット入力命令やビット出力命令の図示言語であ
るのか否かを判断して、接点回路要素の図示言語である
ことを判断するときには、ステップ5に進んで、同一行
に位置する隣の接点回路要素の図示言語との間を接続し
てから、続くステップ6で、ユーザと対話することで、
その入力した接点回路要素の図示言語に割り付けるアド
レス情報を入力する処理を行う。
【0082】すなわち、ビット入力命令に係る接点回路
要素の図示言語を入力するときには、I/Oテーブル1
5から接点データを読み出すことになるので、そのとき
のI/Oテーブル15のアドレス(図5(a)のワード
アドレスオフセット・ビット番号となる)を入力し、ビ
ット出力命令に係る接点回路要素の図示言語を入力する
ときには、I/Oテーブル15にラダー演算結果を書き
込むことになるので、そのときのI/Oテーブル15の
アドレス(図5(b)のワードアドレスオフセット・ビ
ット番号となる)を入力するのである。
【0083】一方、ステップ4で、ディスプレイ画面に
貼り付けた図示言語が接点回路要素のものでないことを
判断するときには、ステップ7に進んで、ディスプレイ
画面に貼り付けた図示言語がファンクション要素の図示
言語、すなわち、ハードウェア演算命令やCPU命令の
図示言語であるのか否かを判断して、ファンクション要
素の図示言語でないと判断するとき、すなわち、ブリン
グ命令やセンド命令の入力要求であることを判断すると
きには、ステップ8に進んで、ユーザと対話すること
で、ブリング命令やセンド命令のアドレス情報を入力し
て、それをディスプレイ画面に表示する処理を行う。
【0084】すなわち、ブリング命令の入力要求である
ときには、I/Oテーブル15から演算用レジスタ14
にデータを転送することになるので、そのときのI/O
テーブル15のアドレス(図6(a)のワードアドレス
オフセットとなる)を入力し、センド命令の入力要求で
あるときには、演算用レジスタ14からI/Oテーブル
15にデータを転送することになるので、そのときのI
/Oテーブル15のアドレス(図6(b)のワードアド
レスオフセットとなる)を入力するのである。なお、K
WHモードやKWLモードのブリング命令では、アドレ
スの代わりに定数データを入力し、BX1〜4モードの
ブリング命令では、アドレスの代わりにインデックスを
入力することになる。
【0085】ここで、ブリング命令では、演算用レジス
タ14がデータ転送先となるが、この転送先は、ブリン
グ命令の入力位置の指す行番号により自動的に決定され
ることになるので、ユーザは入力する必要がない。ま
た、センド命令では、演算用レジスタ14がデータ転送
元となるが、この転送元は、センド命令の入力位置の指
す行番号により自動的に決定されることになるので、ユ
ーザは入力する必要がない。
【0086】一方、ステップ7で、ディスプレイ画面に
貼り付けた図示言語がファンクション要素の図示言語で
あることを判断するとき、すなわち、ハードウェア演算
命令やCPU命令の図示言語であることを判断するとき
には、ステップ9に進んで、ユーザと対話することで、
ディスプレイ画面に貼り付けた他のファンクション要素
の図示言語や、ディスプレイ画面に貼り付けた接点回路
要素の図示言語や、ディスプレイ画面に表示したブリン
グ命令やセンド命令のアドレス情報との間の接続情報を
入力する。この入力処理は、例えば、ユーザに対して、
接続する2点をマウスで指定させることで行う。
【0087】続いて、ステップ10で、ステップ9で入
力した接続情報がマトリックスの水平線(行方向の直
線)となるのか否かを判断して、水平線とならないこと
を判断するときには、ステップ11(図11の処理フロ
ー)に進んで、ディスプレイ画面に貼り付けたファンク
ション要素の図示言語を列方向に伸長縮小することで、
水平線による接続の実現を試みる。
【0088】本発明では、ハードウェア演算命令やCP
U命令については、その図示言語の持つ入力端子の位置
する行番号の指す演算用レジスタ14のレジスタをアク
セス先として自動的に設定する構成を採っているので、
ハードウェア演算命令やCPU命令の図示言語と、他の
ファンクション要素の図示言語や、接点回路要素の図示
言語や、ブリング命令やセンド命令のアドレス情報との
間は、水平線で接続されなければならない。もし、水平
線で接続されないと、データを渡す方が使用する演算用
レジスタ14のレジスタと、データを受け取る方が使用
する演算用レジスタ14のレジスタとが一致しないこと
になって、データを受け渡せないことになるからであ
る。
【0089】ステップ11で水平線による接続の実現を
試みると、続くステップ12で、それが実現できたのか
否かを判断して、実現できないことを判断するときに
は、ステップ13に進んで、ユーザに対して接続変更を
指示してから、ステップ9に戻っていくことで、水平線
による接続の実現を達成する。
【0090】一方、ステップ12で、水平線による接続
を実現できたことを判断するときと、ステップ10で、
水平線による接続が指定されたことを判断するときと、
ステップ6/ステップ8の処理を終了するときには、ス
テップ14に進んで、ユーザから終了要求が発行された
のか否かを判断して、終了要求が発行されないことを判
断するときには、ステップ2に戻って、次の入力に進ん
でいく。
【0091】一方、ステップ14で、ユーザから終了要
求が発行されたことを判断するときには、ステップ15
に進んで、入力したデータを2次元内部メモリ41(デ
ィスプレイ画面と同じ2次元形式でデータを格納する構
成を採っている)に格納して処理を終了する。
【0092】このようにして、作成プログラム40は、
図17に示すように、ディスプレイ画面に16行×m列
のマトリックスを表示して、そのマトリックスに、ファ
ンクション要素の図示言語を列方向に伸長縮小しなが
ら、ファンクション要素の図示言語が他のものと水平線
で接続されることを実現しつつ、ファンクション要素の
図示言語や、接点回路要素の図示言語や、ブリング命令
やセンド命令のアドレス情報を配置していくことで、ユ
ーザの希望するシーケンスプログラムの図形イメージを
作成するのである。
【0093】この図17に示す例では、PID演算の図
示言語を図18に示すように列方向に伸長することで、
PID演算の図示言語の入力側に位置するADD演算の
図示言語や、接点回路要素の図示言語や、ブリング命令
やセンド命令のアドレス情報(図中に示すBW,BM)
との間を水平線で接続することを実現しているととも
に、PID演算の図示言語の出力側に位置するMV
NTの図示言語や、PARA DISPの図示言語や、
接点回路要素の図示言語との間を水平線で接続すること
を実現している。
【0094】なお、図17では、BW,BM,SMと記
述してあるが、これらは、それぞれ、BWモードのブリ
ング命令のアドレスと、BMモード(BWHモードとB
WLモードのブリング命令を実行することで32ビット
のデータ転送を指示する命令)のブリング命令のアドレ
スと、センド命令のアドレスを示している。
【0095】また、図10及び図11の処理フローでは
説明しなかったが、ハードウェア演算命令やCPU命令
の図示言語に入力されるデータの型は決められており、
これから、接点回路要素の図示言語と接続されるときに
は、演算用レジスタ14がアクセス先となるのではなく
て、ラダー演算回路10の演算結果ラッチ回路103が
アクセス先となるということが自動的に求められること
になるとともに、他のファンクション要素の図示言語
や、ブリング命令やセンド命令のアドレス情報と接続さ
れるときには、ラダー演算回路10の演算結果ラッチ回
路103がアクセス先となるのではなくて、演算用レジ
スタ14がアクセス先となるということが自動的に求め
られることになる。
【0096】次に、シーケンスプログラム作成装置2の
備える変換プログラム42の実行する処理について説明
する。変換プログラム42は、作成プログラム40の作
成するシーケンスプログラムが2次元内部メモリ41に
格納されると、図12及び図13の処理フローに示すよ
うに、先ず最初に、ステップ1で、2次元内部メモリ4
1の列位置を示す変数iに“0”をセットするととも
に、2次元内部メモリ41の行位置を示す変数jに
“0”をセットする。
【0097】続いて、ステップ2で、2次元内部メモリ
41から変数(i,j)の指す回路要素を取り出し、続
くステップ3で、この回路要素を取り出させたのか否か
を判断して、取り出せないことを判断するときには、ス
テップ9に進んで、変数iの値を1つインクリメントす
る。
【0098】一方、ステップ3で、2次元内部メモリ4
1から回路要素を取り出せたことを判断するときには、
ステップ4に進んで、取り出した回路要素が接点回路要
素であるのか否かを判断して、接点回路要素であること
を判断するときには、ステップ5に進んで、図5に示し
たコード体系を持つビット入力命令/ビット出力命令を
生成してシーケンスメモリ43に格納してから、ステッ
プ9に進んで、変数iの値を1つインクリメントする。
【0099】一方、ステップ4で、取り出した回路要素
が接点回路要素でないことを判断するときには、ステッ
プ6に進んで、取り出した回路要素がファンクション要
素であるのか否かを判断して、ファンクション回路要素
でないと判断するときには、ステップ7に進んで、図6
に示したコード体系を持つブリング命令/センド命令を
生成してシーケンスメモリ43に格納してから、ステッ
プ9に進んで、変数iの値を1つインクリメントする。
【0100】一方、ステップ6で、取り出した回路要素
がファンクション要素であることを判断するときには、
ステップ8に進んで、図7に示したコード体系を持つハ
ードウェア演算命令/CPU命令を生成してシーケンス
メモリ43に格納してから、ステップ9に進んで、変数
iの値を1つインクリメントする。
【0101】ステップ9で、変数iの値を1つインクリ
メントすると、続いて、ステップ10(図13の処理フ
ロー)に進んで、変数iの値が最大値を超えたのか否か
を判断して、超えていないことを判断するときには、ス
テップ2に戻る。
【0102】一方、ステップ10で、変数iの値が最大
値を超えたことを判断するときには、ステップ11に進
んで、最後に生成した命令の行終了フラグ(図5ないし
図7に示したEフラグ)に行終了をセットしてから、ス
テップ12に進んで、変数iに“0”をセットするとと
もに、変数jの値を1つインクリメントする。
【0103】そして、続くステップ13で、変数jの値
が最大値を超えたのか否かを判断して、超えたことを判
断するときには、処理を終了し、超えていないことを判
断するときには、ステップ2に戻っていく。
【0104】このようにして、変換プログラム42は、
作成プログラム40の作成した2次元かつ図形イメージ
のシーケンスプログラムから、シーケンス制御装置1の
実行する図5ないし図7に示した命令コードを持つ1次
元のシーケンスプログラムを作成して、シーケンスメモ
リ43に格納するのである。このとき行う変換処理は、
C言語などにコンパイルするような複雑な処理ではなく
て、極めて簡単な処理となる。
【0105】図17に示したシーケンシャル・ファンク
ション・チャートで具体的に説明するならば、変換プロ
グラム42は、このシーケンシャル・ファンクション・
チャートから、図19及び図20に示すような、図5な
いし図7に示した命令コードを持つ1次元のシーケンス
プログラムを作成するのである。
【0106】ここで、図19及び図20に示す回路要素
の右側に記載される“ai(i=1〜16)”は、ブリ
ング命令/センド命令に割り付けられるI/Oテーブル
15のアドレス、また、回路要素の右側に記載される
“bi(i=18)”は、ビット入力命令/ビット出力
命令に割り付けられるI/Oテーブル15のアドレス、
また、回路要素の左側に記載される数値は配置位置の行
番号を示している。なお、行の終了を示すEフラグは、
その行の最終の命令に記録されることになるが、ここで
は分かり易くするために命令とは別に記載してある。
【0107】この図19及び図20に示すシーケンスプ
ログラムから分かるように、シーケンスプログラム作成
装置2により作成されるシーケンスプログラムは、ファ
ンクション要素についても図形イメージのままの実行形
態をとっている。従って、このシーケンスプログラムを
見れば、その作成元となったシーケンシャル・ファンク
ション・チャートを簡単に求めることができるという特
徴がある。
【0108】この特徴を実現できるようになったのは、
ラダー演算回路10の行対応に設けられるレジスタで構
成される演算用レジスタ14を用意して、行番号で特定
されるその演算用レジスタ14のレジスタをアクセス先
として、ファンクション要素の命令を実行する構成を採
ったからである。
【0109】このようにしてシーケンスメモリ43に格
納されたシーケンスプログラムは、シーケンスプログラ
ム作成装置2の備えるローダ44の処理に従って、シー
ケンス制御装置1のユーザメモリ34にとローディング
されることになる。
【0110】次に、シーケンス制御装置1の備える命令
実行プログラム35の処理について説明する。命令実行
プログラム35は、ユーザメモリ34に格納されたシー
ケンスプログラムの実行要求が発行されると、規定の周
期に従って図14及び図15に示す処理フローを実行す
ることでシーケンス制御を行う。
【0111】すなわち、命令実行プログラム35は、規
定の周期に到達することで起動されると、図14及び図
15の処理フローに示すように、先ず最初に、ステップ
1で、ユーザメモリ34から1次元配列の順番に従って
命令を1つ取り出す。続いて、ステップ2で、命令を1
つ取り出せたのか否かを判断して、取り出せないことを
判断するときには、全ての命令に対しての処理を終了し
たので、処理を終了する。
【0112】一方、ステップ2で、命令を1つ取り出せ
たことを判断するときには、ステップ3に進んで、取り
出した命令がCPU命令/ハードウェア演算命令である
か否かを判断して、CPU命令/ハードウェア演算命令
であることを判断するときには、ステップ4に進んで、
CPU命令であるときには、CPU31に対して、その
命令の実行を指示し、ハードウェア演算命令であるとき
には、ALU32に対して、その命令の実行を指示す
る。
【0113】このようにして起動されると、CPU31
は、CPU命令の先頭行位置番号及びビットパターン
(図7(b)に示すnnnn,s〜s,d〜d)で指定
される演算用レジスタ14/接点用ラッチ回路101を
アクセス先として、データを読み出して、命令の指す内
容の演算を行い、その演算結果を書き込んでいくこと
で、シーケンスプログラムの指定する演算を実行する。
【0114】また、このようにして起動されると、AL
U32は、ハードウェア演算命令の行番号(図7(a)
に示すssss,dddd,eeee)で指定される演
算用レジスタ14/接点用ラッチ回路101をアクセス
先として、データを読み出して、命令の指す内容の演算
を行い、その演算結果を書き込んでいくことで、シーケ
ンスプログラムの指定する演算を実行する。
【0115】続いて、ステップ5で、取り出した命令の
持つEフラグが行終了を表示しているのか否かを判断し
て、行終了を表示していることを判断するときには、ス
テップ6に進んで、ラダー演算回路10にラダー演算に
入ることを指示してからステップ1に戻り、行終了を表
示していないことを判断するときには、ステップ6の処
理を行わずに、直ちにステップ1に戻っていく。
【0116】一方、ステップ3で、取り出した命令がC
PU命令/ハードウェア演算命令でないことを判断する
ときには、ステップ7に進んで、取り出した命令がブリ
ング命令/センド命令であるのか否かを判断して、ブリ
ング命令/センド命令であることを判断するときには、
ステップ8に進んで、図2では図示しなかったデータ転
送のハードウェア機構に対して、その命令の実行を指示
する。
【0117】このようにして起動されると、そのデータ
転送のハードウェア機構は、ブリング命令の行番号(図
6(a)に示すnnnn)で指定される演算用レジスタ
14をデータ転送先として、ブリング命令の指定するア
ドレスに従ってI/Oテーブル15からデータを読み出
してデータ転送を行うことで、シーケンスプログラムの
指定するデータ転送を実行する。また、センド命令の行
番号(図6(b)に示すnnnn)で指定される演算用
レジスタ14をデータ転送元としてデータを読み出し
て、センド命令の指定するアドレスの指すI/Oテーブ
ル15の格納領域にデータ転送を行うことで、シーケン
スプログラムの指定するデータ転送を実行する。
【0118】続いて、ステップ9で、取り出した命令の
持つEフラグが行終了を表示しているのか否かを判断し
て、行終了を表示していることを判断するときには、ス
テップ10に進んで、ラダー演算回路10にラダー演算
に入ることを指示してからステップ1に戻り、行終了を
表示していないことを判断するときには、ステップ10
の処理を行わずに、直ちにステップ1に戻っていく。
【0119】一方、ステップ7で、取り出した命令がブ
リング命令/センド命令でないことを判断するとき、す
なわち、取り出した命令がビット入力命令/ビット出力
命令であることを判断するときには、ステップ11に進
んで、I/Oテーブル15からビット入力命令の指定す
る接点データを読み出して、それとビット入力命令の指
定する分岐データとを分岐用ラッチ回路100/接点用
ラッチ回路101にセットしていくことでビット入力命
令を実行する。また、演算結果ラッチ回路103から演
算結果データを読み出し、それをビット出力命令の指定
するI/Oテーブル15の格納領域に書き込んでいくこ
とでビット出力命令を実行する。
【0120】続いて、ステップ12で、取り出した命令
の持つEフラグが行終了を表示しているのか否かを判断
して、行終了を表示していることを判断するときには、
ステップ13に進んで、ラダー演算回路10にラダー演
算に入ることを指示してからステップ1に戻り、行終了
を表示していないことを判断するときには、ステップ1
3の処理を行わずに、直ちにステップ1に戻っていく。
【0121】このようにして、命令実行プログラム35
は、シーケンスプログラム作成装置2の作成したシーケ
ンスプログラムに従い、演算用レジスタ41をハードウ
ェア演算命令/CPU命令の作業用レジスタとして使い
ながら、シーケンスプログラムを実行していくように処
理するのである。
【0122】
【発明の効果】以上説明したように、本発明では、シー
ケンス制御装置が1列構成のラダー演算回路を列サイク
リックに起動していくことでシーケンスプログラムを実
行するときにあって、ラダー演算回路の行対応に設けら
れるレジスタで構成される演算用レジスタをファンクシ
ョン要素の指す演算の作業域として用意し、更に、シー
ケンスプログラムの作成元となるチャートの作成にあた
って、回路要素間を同一行で接続する構成を採ること
で、その演算用レジスタの中から、ファンクション要素
の配置位置の指定する行番号の指すレジスタを作業域と
して用いてファンクション要素の指す演算を行う構成を
採る。
【0123】これにより、シーケンスプログラムの作成
元となるチャートがファンクション要素を含む場合に
も、コンパイル操作を必要とせずにシーケンスプログラ
ムが作成できるようになるとともに、ファンクション要
素の演算を接点回路要素と同一の手法により実行できる
ようになる。
【0124】これから、ファンクション要素を含む場合
にも、シーケンスプログラムを図形イメージのまま実行
できるようになるとともに、シーケンスプログラムから
その作成元となったチャートへの変換を簡単に実行でき
るようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】シーケンス制御装置の一実施例である。
【図3】シーケンス制御装置の一実施例である。
【図4】シーケンスプログラム作成装置の一実施例であ
る。
【図5】命令コードの説明図である。
【図6】命令コードの説明図である。
【図7】命令コードの説明図である。
【図8】ハードウェア演算命令の説明図である。
【図9】CPU命令の説明図である。
【図10】作成プログラムの実行する処理フローであ
る。
【図11】作成プログラムの実行する処理フローであ
る。
【図12】変換プログラムの実行する処理フローであ
る。
【図13】変換プログラムの実行する処理フローであ
る。
【図14】命令実行プログラムの実行する処理フローで
ある。
【図15】命令実行プログラムの実行する処理フローで
ある。
【図16】ファンクション選択画面の説明図である。
【図17】ディスプレイ画面の説明図である。
【図18】作成プログラムの処理の説明図である。
【図19】シーケンスプログラムの説明図である。
【図20】シーケンスプログラムの説明図である。
【図21】シーケンス制御装置の説明図である。
【図22】ラダー演算基本回路の説明図である。
【図23】ラダー回路の説明図である。
【図24】シーケンスプログラムの説明図である。
【図25】従来技術の説明図である。
【図26】従来技術の説明図である。
【図27】従来技術の説明図である。
【図28】図示言語の説明図である。
【図29】アーギュメントの説明図である。
【符号の説明】
1 シーケンス制御装置 2 シーケンスプログラム作成装置 3 対話装置 10 ラダー演算回路 11 入力回路 12 ラダー演算基本回路 13 保持回路 14 演算用レジスタ 15 I/Oテーブル 16 解読手段 17 第1の実行手段 18 第2の実行手段 19 第3の実行手段 20 配置手段 21 読取手段 22 第1の生成手段 23 第2の生成手段 24 第3の生成手段

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 保持回路を使って出力データを入力段に
    フィードバックするn行×1列のラダー演算回路に対し
    て、行間の分岐情報と外部機器の接点情報とを列サイク
    リックに設定することで、シーケンスプログラムを実行
    するシーケンス制御装置において、 ラダー演算回路の行対応に設けられるレジスタで構成さ
    れる演算用レジスタと、 画面に表示されるn行×m列のマトリックスに、分岐情
    報を持つ接点回路要素とファンクション要素と該ファン
    クション要素のアクセス情報とが同一行で接続される形
    態に従いつつ配置されることで作成されるシーケンスプ
    ログラムを、列順に読み込んで解読する解読手段と、 上記解読手段が接点回路要素の命令を解読するときに、
    ラダー演算回路に、分岐情報及び接点情報を入力する第
    1の実行手段と、 上記解読手段が上記アクセス情報の命令を解読するとき
    に、上記演算用レジスタの内の上記同一行接続の行番号
    の指すレジスタに対してのアクセスを実行する第2の実
    行手段と、 上記解読手段がファンクション要素の命令を解読すると
    きに、上記同一行接続の行番号の指す上記レジスタ及び
    上記保持回路をアクセス先として、データを入力し、該
    ファンクション要素の指す演算を行い、その演算結果を
    出力する第3の実行手段とを備えることを、 特徴とするシーケンス制御装置。
  2. 【請求項2】 請求項1記載のシーケンス制御装置にお
    いて、 第3の実行手段は、シーケンスプログラムの指定するビ
    ットパターンに従って、ファンクション要素の持つ同一
    行接続の行番号を特定することを、 特徴とするシーケンス制御装置。
  3. 【請求項3】 保持回路を使って出力データを入力段に
    フィードバックするn行×1列のラダー演算回路に対し
    て、行間の分岐情報と外部機器の接点情報とを列サイク
    リックに設定するシーケンス制御装置で実行されるシー
    ケンスプログラムの作成処理を司るシーケンスプログラ
    ム作成装置において、 画面にn行×m列のマトリックスを表示し、その上に、
    同一行で接続する形態に従いつつ、分岐情報を持つ接点
    回路要素を示す図形と、ファンクション要素を示す図形
    と、該ファンクション要素のアクセス情報とを配置する
    配置手段と、 上記配置手段の配置情報を列順に読み取る読取手段と、 上記読取手段が接点回路要素を読み取るときに、ラダー
    演算回路に、分岐情報及び接点情報を入力することを指
    示する命令を生成する第1の生成手段と、 上記読取手段が上記アクセス情報を読み取るときに、ラ
    ダー演算回路の行対応に設けられるレジスタで構成され
    るシーケンス制御装置の持つ演算用レジスタの内の上記
    同一行接続の行番号の指すレジスタに対してのアクセス
    を指示する命令を生成する第2の生成手段と、 上記読取手段がファンクション要素を読み取るときに、
    上記同一行接続の行番号の指す上記レジスタ及び上記保
    持回路をアクセス先として、データを入力し、該ファン
    クション要素の指す演算を行い、その演算結果を出力す
    ることを指示する命令を生成する第3の生成手段とを備
    えることを、 特徴とするシーケンスプログラム作成装置。
  4. 【請求項4】 請求項3記載のシーケンスプログラム作
    成装置において、 配置手段は、ファンクション要素の図形を列方向に伸長
    縮小することで、同一行接続を実現するように処理する
    ことを、 特徴とするシーケンスプログラム作成装置。
  5. 【請求項5】 請求項3又は4記載のシーケンスプログ
    ラム作成装置において、 第3の生成手段は、ビットパターンを使って、ファンク
    ション要素の持つ同一行接続の行番号を指定する命令を
    生成することを、 特徴とするシーケンスプログラム作成装置。
  6. 【請求項6】 保持回路を使って出力データを入力段に
    フィードバックするn行×1列のラダー演算回路に対し
    て、行間の分岐情報と外部機器の接点情報とを列サイク
    リックに設定するシーケンス制御装置で実行されるシー
    ケンスプログラムの作成処理を司るシーケンスプログラ
    ム作成装置の実現に用いられるプログラムを記憶するプ
    ログラム記憶媒体であって、 画面にn行×m列のマトリックスを表示し、その上に、
    同一行で接続する形態に従いつつ、分岐情報を持つ接点
    回路要素を示す図形と、ファンクション要素を示す図形
    と、該ファンクション要素のアクセス情報とを配置する
    配置手段と、 上記配置手段の配置情報を列順に読み取る読取手段と、 上記読取手段が接点回路要素を読み取るときに、ラダー
    演算回路に、分岐情報及び接点情報を入力することを指
    示する命令を生成する第1の生成手段と、 上記読取手段が上記アクセス情報を読み取るときに、ラ
    ダー演算回路の行対応に設けられるレジスタで構成され
    るシーケンス制御装置の持つ演算用レジスタの内の上記
    同一行接続の行番号の指すレジスタに対してのアクセス
    を指示する命令を生成する第2の生成手段と、 上記読取手段がファンクション要素を読み取るときに、
    上記同一行接続の行番号の指す上記レジスタ及び上記保
    持回路をアクセス先として、データを入力し、該ファン
    クション要素の指す演算を行い、その演算結果を出力す
    ることを指示する命令を生成する第3の生成手段とを実
    現するプログラムが記憶されることを、 特徴とするプログラム記憶媒体。
JP16555597A 1997-06-23 1997-06-23 シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体 Expired - Fee Related JP3315350B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16555597A JP3315350B2 (ja) 1997-06-23 1997-06-23 シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16555597A JP3315350B2 (ja) 1997-06-23 1997-06-23 シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体

Publications (2)

Publication Number Publication Date
JPH1115507A true JPH1115507A (ja) 1999-01-22
JP3315350B2 JP3315350B2 (ja) 2002-08-19

Family

ID=15814597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16555597A Expired - Fee Related JP3315350B2 (ja) 1997-06-23 1997-06-23 シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体

Country Status (1)

Country Link
JP (1) JP3315350B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
CN109188994A (zh) * 2017-06-30 2019-01-11 沈阳新松机器人自动化股份有限公司 一种梯形图编译方法及相应的plc系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01100604A (ja) * 1987-10-14 1989-04-18 Fanuc Ltd プログラマブル・コントローラ及びその実行方式
JPH043205A (ja) * 1990-04-20 1992-01-08 Yokogawa Electric Corp データ・アクセス・システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01100604A (ja) * 1987-10-14 1989-04-18 Fanuc Ltd プログラマブル・コントローラ及びその実行方式
JPH043205A (ja) * 1990-04-20 1992-01-08 Yokogawa Electric Corp データ・アクセス・システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
CN109188994A (zh) * 2017-06-30 2019-01-11 沈阳新松机器人自动化股份有限公司 一种梯形图编译方法及相应的plc系统

Also Published As

Publication number Publication date
JP3315350B2 (ja) 2002-08-19

Similar Documents

Publication Publication Date Title
TWI584198B (zh) 使用階層式結構分析資料
TW201423581A (zh) 用於狀態機引擎之結果產生
JPH031708B2 (ja)
JP3315350B2 (ja) シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体
JP2862369B2 (ja) 画像表示制御装置
JPH07121357A (ja) 並行プログラム系生成方式と装置
JP3162095B2 (ja) 画像表示制御装置
JP2743727B2 (ja) デバッガによる配列データ表示方式
JP2002073120A (ja) プログラマブルコントローラのプログラミング装置とその方法
JPS636675A (ja) 画像処理装置
JPH05100718A (ja) プログラマブルコントローラの周辺装置
JPH05204573A (ja) 画面表示方式
JPH0724022B2 (ja) プログラム言語変換方法
JP2526710B2 (ja) プログラマブルコントロ―ラのプログラミング方法
JPH06348549A (ja) ソフトウエア処理装置
JPH0644389A (ja) データ駆動型情報処理装置
JPS6213690B2 (ja)
JPH10232945A (ja) 文字画像処理装置及び方法
JPH0420481B2 (ja)
Lee Design and simulation of a simple digital computer central processing unit using computer-aided design software on a personal computer
JPH0319570B2 (ja)
JP2003122628A (ja) デジタル信号処理装置、プログラム変換装置、及びデジタル信号処理装置を有する通信システム
JPH06342277A (ja) 文字表示装置
JPH03248235A (ja) デバッグシステムにおけるビットパターン表示処理方式
JPH11175114A (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080607

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees