JPS6220029A - プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式 - Google Patents

プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式

Info

Publication number
JPS6220029A
JPS6220029A JP15977185A JP15977185A JPS6220029A JP S6220029 A JPS6220029 A JP S6220029A JP 15977185 A JP15977185 A JP 15977185A JP 15977185 A JP15977185 A JP 15977185A JP S6220029 A JPS6220029 A JP S6220029A
Authority
JP
Japan
Prior art keywords
sequence program
area
instruction
stored
instructions
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.)
Pending
Application number
JP15977185A
Other languages
English (en)
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.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
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 Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Priority to JP15977185A priority Critical patent/JPS6220029A/ja
Publication of JPS6220029A publication Critical patent/JPS6220029A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13005Subroutine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13093Using functions like arithmetic timers in program

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (発明の技術分!?) この発明は、プログラマブルコントローラ(以下、中に
PCとする)における応用命令(以下、ファンクション
命令とする。データ命令ともごう)のプログラミング方
式に関する。
(発明の技術的背景とその問題点) 従来PCにおいては、複数ビットから成るデータ(ワー
ド、バイトデータ)の演算等を行なう場合、PCが持っ
ている基本のファンクション命令を組合せて作成するか
一1PCが使用しているCPU(Central Pr
ocessing Unit)の機械語でプログラムし
たものをFROM(Programmable Rea
dOnly Memory)化して入力する方法が採ら
れていた。しかしながら、前者のファンクション命令を
組合せて作成する方式では、複雑な計算式やループ処理
1量接アドレスを使った計算1判断、ジャンプ等を行な
おうとすると、複雑なラダー図が必要となり解読するの
も困難である欠点があった。また、PROM化する後者
の方式では専用の開発ツールが必要であり、プログラム
内容を簡単に変更することができないと共に、アセンブ
ラ等の専門的な知識を必要とするといつた欠点があった
(95明の目的) この発明は上述のような事情からなされたものであり、
この発明の目的は、簡易ベーシック(RASIC)を用
いてユーザが任意のファンクション命令を定義し、シー
ケンスプログラムからはその命令の起動だけを行なうこ
とによって、複雑な計算式やループ、判断、ジャンプ等
のプログラムを容易に実現できるプログラミング方式を
提供することにある。
(発明の概要) この発明は、プログラマプルコントローラノファンクシ
ョン命令プログラミング方式に関するもので、プログラ
マブルコントローラのシーケンスプログラムエリアに対
して、シーケンスプログラムはトップから順番に格納す
ると共に、ファンクション命令を簡易ベーシックでプロ
グラミングし、コンパイルされた機械語及び中間言語を
上記シーケンスプログラムエリアのラストから順番に格
納するようにしたものであ(発明の実施例) この発明では、PC内のメモリエリアに第1図に示すよ
うにシーケンスプログラムエリアSPAとコンパイルエ
リアCMA とを設け、シーケンスプログラムエリアS
PAのトップアドレスSTから順番にシーケンスプログ
ラムを格納する。そして、シーケンスプログラム内に含
まれるファンクション命令をソフトウェアでコンパイル
したヘーシック中間語及び機械語を、コンパイルエリア
CAMに記憶されたアドレスデータと対応付けて、シー
ケンスプログラムエリアSPAのラストアドレスLSか
ら上方に順番に格納する。この場合、ファンクション命
令Fは後述する簡易ベーシックで記述されており、簡易
ベーシックの中間言語や機械語へのコンパイル処理は周
辺装置側で行なわれる。第2図は簡易ベーシックの中間
語の例を示しており、第3図は機械語の例を示している
。これにより、シーケンスプログラムの実行中にファン
クション命令Fが読出されるとコンパ・イルエリアCA
Mの“’ CAL L″命令アクセスし、シーケンスプ
ログラムエリアSPAの対応するアドレスに格納されて
いる中間語又は機械語を読出して実行する。
ここに、シーケンスプログラムには一般のラター演算(
ビットの論理演算)と、タイマ、力六ンタ、ファンクシ
ョン等のデータを吸う命令とがあり、ラグーvt算はハ
ードウェアで実行する。これに対し、データ命令はハー
ドウェア側からCPUに起動をかけて実行する。この時
、CPUで実行する命令はコンパイルエリアCMAに使
用されている命令の順番に、 CPUのサブルーチン°
“CALL″等の命令で置換えて格納しておく。
これにより、ハードウェアとCpUが交互にパスライン
を切り替えて、プログラミングを実行することが可能で
ある(これに関しては後述する)。また、コンパイルエ
リアCMAにはO5(Operating 5yste
IIl; PCを管理するプログラム)内に内蔵された
基本命令を読出す命令と。
ユーザが定義したファンクション命令とが作成されて格
納される。そして、簡易ベーシックで定義されたファン
クション命令は、周辺装置から任意に読出したり、占換
えたりすることができる。
ところで、ファンクション命令は基本命令とユーザ定義
命令とを用意する。基本命令は転送、変換、演算、比較
、モニタ命令から成り、予めO8の方で用意されている
ものであり、ユーザ定義命令はあるファンクション番号
をユーザが簡易ベーシックで定義できるものである。簡
易ベーシックで第2図のファンクション゛’F100°
゛を定義した場合、第4図に示すようにシーケンスプロ
グラムではファンクション“Floo”の起動条件を与
える。起動条件をエツジでとらえたい場合は、入力条件
を一旦パルス出力命令で受けてこれを起動条件とする。
第5図に示すように、基本命令ではパラメータが必要で
あるが、ユーザ定義命令ではパラメータは必要でない。
次に、この発明に用いる簡易ベーシックの内容について
説す1する。訂語としては以下のものがある。
(1)2吋; A−Z、O〜9.木、/、−、+、 ; 、 ’ 。
<、>、=、(1) (2)数イ11: 数値は整数のみを扱い、ビット、バイト、ワード(2バ
イト)より成る。
(3)変数: 変数には下記に示すものがある。
(a)  ワード型 00000〜[+7737.X/YOOOW〜X/Y7
72W 、ROOOW−R372W、 φ0OQW 〜
φ172W、LOOOW 〜LO32W、5O00−〜
5O32W (b)バイト型 X/YOOOB −X/Y773B、ROOOB −R
373B、φ0008〜φ!73B、L000B、VL
033B、5OOOB −3O33B(c)  ピント
型 X/YOOOO−X/Y7737.ROOOO〜R37
37,φ0000〜φ1737 、LOOOO〜LO3
37,5OOOO〜5O337(d)その他 添字変数i、j、に、又 i=O〜7.j=o〜7.に=o〜31文= O−7D
ijll 、 RijkB、 LojkWの用に添字変
数として使う。
(4)文番号: 文番号はO〜225までの整数で表わし、プログラムは
文番号の/hさいものから実行される。
(5)文; 文には代入文、 0070文、FOR−1IEXT文、
IF −THEH文、PRINT文の5種類がある。
(a)代入文は“変数=式”であり、値を変数に代入す
る。
例!0  DOOOO=123 20  DOOOI=DOOO2本0000330  
 D0004=(X000B+ROO2W)tYO10
W式は演算子と変数、(1)から構成される。演算子二
本、/、+、−、MO[l  (余り) 優先度:符号(+、−)  、木又は/ 、 MOD、
十又は−の順、さらに、()で〈〈った部分は最優先と
なる。
(b) 0070文は“0070文は番号”であり、指
定された文番号にジャンプする。
GOTO10 GOTO+00 (C) FOR−NEXT文は“FOR変数=初期値T
O最終値→NEXT変数”であり、 変fi:ワード型変数、バイト型変数、添字変数を使用 初期値二数値又はワード型変数、バイト型変数 FOR−4EXTでかこまれた文を指定された初期値か
ら最終値まで繰返し、この場合の増分は1つずつ行なう
FORDOOOO=I TO00002FORi=OT
O? NEXT 1 NEXT 00000 (d) IF−THEH文は“IF条件文THEN文番
号1であり、条件文は(変数名又は数値) (変数名又は数値)の形式をとり、 両辺に式を書くことは禁止される。
THEHの後は文番号を指定し1条件文が成立したとき
はこの文番号にジャンプする。
条件が成ケしない時は次の文番号のところに進む。
iF X0OOW ) 110000 T)IEN 1
00iF ROOOB (64THEN 50(e) 
PRINT文は°’PRIN7文字列又は変数名:文字
列又は変数名:・・パ′であり、PRINT文は周辺装
置にメツセージを送るのに使用する。このメツセージは
16段のFIFOに蓄えられ1周辺装置の要求に応じて
順次表示されることになる。1メツセージの文字数は2
0文字以内であり、変数名を指定した吟はその内容を4
ケタの数字に変換して表示される。
PRINT  1.s”  、ooooo、  “AB
NORMAL”2 + 4 + 8 = 14文字 (f)その他 1)演算は基本的にはワード(16ビット)で行なうが
1式の途中に出てくる乗算、除算では(16ビット×1
6ビy )→32ビット)(32ビット÷16ビツト→
1Gビット余り16ビツト)で行ない、精度を七げる。
n000=DOOOOド100←結果は3ビツトになる
が、下位16ビツト だけoooooに格納 ooooo=(oooo を家+00)150←かけ算
の結果32ビツ トを50で割り、商を 00000に格納 DOOO2=DOOO1本100 D0001=DOOOO150乗算で18ビツト以上に
なった時は後の結果 は保障されない。
2)型の異なるものどうしの代入文 ・ワード型二バイト!(00000−X0OOB)下位
8ヒツトにへイトデータが代入さ れ、L位8ビットはクリアされる。
eワード型二ビット型(D0000=ROOOO)最下
位ピッ) (LSB)にビットデータが代入され、残り
15ヒツトはOクリアされる。
一バイト型;ビット型(YOIOB= X0OOO)最
下位ピッ) (LSB)にビットデータが代入され、残
り7ビツトはOクリアさ れる。
・バイト型=ワード型(YOOOB=DOOOO)ワー
ド型の下位8ビツトのみがバイト 型に代入される。
・ビット型=ワード型(YOOOO=XOl0W)ワー
ド型のLSBIビットのみがビット型に代入される。
―ビット型二バイト型(YOOOO=XO108)バイ
ト型のLSBIビットのみがビット型に代入される。
3)型の異なるものどうしの演算が許され。
バイト型やビット型は第6図の様にワード型に変換径演
算する。
4)定数は全てワード型になる。
5)添字変数は値が制限される。
FORi=OTO7 FORj=o TO70≦i≦7 FORk=OTO30≦i≦7 FOR文=OTO70≦に≦3 Dijku=OO≦文≦7 Yijk文=O NEXT   文 NEXT   k NEXT  j NEXT   i 各変数の添字の範囲は下記の様になっている。   −
077370≦i≦7 0≦J≦7j O≦に≦30≦文≦7 X/Y7737 0≦i ≦7  111≦j ≦70
≦に≦3 0≦又≦7 R37370≦i ≦3  0≦j ≦70≦k ≦3
  0≦文≦7 T1737   0≦i ≦l   O≦0 ≦70≦
k ≦3  0≦旦≦7 LO3370≦j ≦3 0≦k ≦3  0≦旦≦7 SO3370≦j ≦3 0≦k ≦3  0≦文≦7 次に、ハードウェアとCPUの切換えについて見開する
。第7図はかかる演算処理方式を実施する。下記の範囲
を越えて指定する場合は保障されない、PCのシステム
構成図である。すなわら、第7図において、PCは列サ
イクリック演算化10、マイクロプロセッサ12(例え
ば、MPtl:80Aを使用することができる)、メモ
リ部14.4辺装置サービス用のシリアル転送インター
フ、−ス16、I10インタフェース18、クロック信
・)発生器20、アラーム出力器22、電源検出器14
、電池バックアップ部26等から構成される装マイクロ
プロセッサ12では、ラダー演算以外の命令の処理のf
IJ2に、実際のI10モジュールにデータ転送したり
、プログラム等の周辺装置に対するサービスやアラーム
検出等を行なう。これらの処理は規定の時間(スキャン
タイム)を適当に配分して行なう。また、メモリ14は
電池バックアップ部26によりバックアップされている
シーケンスプログラム格納エリア30およびI10デー
タ格納エリア32と、PC全体をrtJI御するプログ
ラムO8を格納するROM34 とI’lAM3B と
から構成される。なお、このRAM3Bには、PC運転
開始時にシーケンスプログラムを解析して作成される命
令語が格納される。また、I10命令は、8ビツトパラ
レルにて転送される。
しかるに、列サイクリツク演算部10は、シーケンスプ
ログラムを解読し、ラダー演算命令に対して演算素子に
必要な信号を生成し、演算結果をメモリ部14の■10
データ格納エリア32にセーノトする機能を有する。ま
た、この列サイクリ−2り演算部lOは、ラダー演算以
外の命令に対しては、マイクロプロセッサ12側を起動
させてその命令を実行させる。従って、この列サイクリ
ックvI翼部のハードウェア構成は第8図に示す通りで
あり、次のような主要構成部を有する。
(1)命令語を格納するための16ビツトのレジスタ(
40) (rr )シーケンスプログラムの12ビツトからなる
アドレスカウンタ(42) CU)シーケンスプログラムのアドレスとIloのアド
レスのどちらかを選択する16ビツトのデータセレクト
(40 (+’V)演算素子や前記レジスタ4o、アドレスカウ
ンタ42、データセレクタ44等のコントロール信号を
発生するための18ビツトXI28ワードのマイクロプ
ログラムROM(4B)CV)マイクロプログラムRQ
N48の3ビツトからなるカウンタ(48) (VT)アドレスバスA11l”Al1の3ステートの
バッファ(50) およびデータバスDBo ”DB7の双方向のバッファ
(52) このよ−〉に構成された列サイクリ−2り演算部におけ
る基本動作は、先ずシーケンスプログラムのスキャンの
始めにマイクロプロセッサ12より丁W門ゴr信号が与
えられると、レジスタ40およびアドレスカウンタ42
の内容をクリアする。次いで、マイクロプロセッサ12
よりITETTTT信号が入力されると、マイクロプロ
グラムROM4Bのアドレスカウンタ48が作動する。
その後、最初に命令語の上位バイトが高位8ビツトラツ
チ54にラッチされ、これにより5ビツトの命令コード
がマイクロプログラムl?0N4Bのアドレスに加えら
れて各命令に対応したマイクロプログラムが実行され、
必安なコントロール信号を発生する。この場合。
マイクロプログラムROMでは8サイクルで1命令が完
了するように構成される。なお、参照符号5θは低位8
どlトラッチを示す。
そこで、前記列サイクリツク演算部lOのハードウェア
において、入力部命令および出力命令の一81!(出力
、マスタコントロール開始、マスクコントロール解除)
を処理するようにMhJA、する、また、マイクロプロ
セッサ12においては、出力部命令(タイマ、カウンタ
、ラッチ、シフトレジスタ)およびデータ命令を処理す
るようa成する。この場合、列サイクリツク演算部10
におけるハードウェア品−を最小限にし、しかも処理速
度の向ヒを図るため、列サイクリツク演算部10とマイ
クロプロセッサ12が交互に動作し、その間のパスの干
渉やパラメータの受渡しは考慮しなくてもよいようにす
る。このため、マイクロプロセッサ12において予めシ
ーケンスプログラムを解析し、マイクロプロセッサ12
で行なうべき命令はプログラムの順番に従って、マイク
ロプロセッサ12の命令語に置き換えてメモリに格納す
るようにし、しかもこの場合1つの命令の最後に列サイ
クリツク演算部IOを再起動させる命令R3Tを加えて
おく、さらに、マイクロプロセッサ12と列サイクリッ
ク演算部10のパス切換えは、BUSRQ信号とBUS
AK信号によって行ない、列サイクリツク演算部lOが
作動中の時はマイクロプロセッサ12のバスは全テハイ
インピーダンスにて、マイクロプロセッサ12を待ち状
態となるようにする。
(発明の効果) 以上のようにこの発明のプログラミング方式によれば、
ファンクション命令をユーザが簡易ベーシックで定義で
きるので、従来シーケンス処理命令では困難であった複
雑な計算式やループ、判断、ジャンプ等を簡単にプログ
ラミングすることができる。
【図面の簡単な説明】
第1図はこの発明によるプログラミング方式を説明する
ための図、第2図はベーシック中間語の一例を示す図、
第4図はそのハード構成の一例を示す図、第3図は機械
語の一例を示す図、第5図は基本命令及びユーザ定義命
令を説明するための図、第6図はバイト型及びビット型
の変換を説明するための図、第7図はPCの演算処理方
式の一例を示すシステム4Ig成因、第8図はこの発明
に適用する列サイクリ−7り演算部のシステム構成図で
ある。 lO・・・列す・イクリック演算部、12・・・マイク
ロプロセッサ、20・・・クロック信号発生器、22・
・・アラーム出力器。 出願人代理人  安 形 雄 三 シリアル摩λ式

Claims (1)

    【特許請求の範囲】
  1. プログラマブルコントローラのシーケンスプログラムエ
    リアに対して、シーケンスプログラムはトップから順番
    に格納すると共に、ファンクション命令を簡易ベーシッ
    クでプログラミングし、コンパイルされた機械語及び中
    間言語を前記シーケンスプログラムエリアのラストから
    順番に格納するようにしたことを特徴とするプログラマ
    ブルコントローラのファンクション命令プログラミング
    方式。
JP15977185A 1985-07-19 1985-07-19 プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式 Pending JPS6220029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15977185A JPS6220029A (ja) 1985-07-19 1985-07-19 プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15977185A JPS6220029A (ja) 1985-07-19 1985-07-19 プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式

Publications (1)

Publication Number Publication Date
JPS6220029A true JPS6220029A (ja) 1987-01-28

Family

ID=15700901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15977185A Pending JPS6220029A (ja) 1985-07-19 1985-07-19 プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式

Country Status (1)

Country Link
JP (1) JPS6220029A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0586813A2 (en) * 1992-09-09 1994-03-16 Allen-Bradley Company Programmable controller with ladder diagram macro instructions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0586813A2 (en) * 1992-09-09 1994-03-16 Allen-Bradley Company Programmable controller with ladder diagram macro instructions
EP0586813A3 (en) * 1992-09-09 1996-05-08 Allen Bradley Co Programmable controller with ladder diagram macro instructions

Similar Documents

Publication Publication Date Title
US5504902A (en) Multi-language generation of control program for an industrial controller
CA1151306A (en) Programmable controller
US4177514A (en) Graph architecture information processing system
US5701487A (en) Method and apparatus for displaying locations of errors detected inside software macro calls
JPH0680482B2 (ja) ソース・コードを有するプログラマブル・コントローラ装置及びコントロールプログラムを発生する方法
JPS6220029A (ja) プログラマブルコントロ−ラのフアンクシヨン命令プログラミング方式
JPS6297003A (ja) プログラマブルコントロ−ラにおける高級言語の処理方式
Gero An overview of knowledge engineering and its relevance to CAAD
JP4168224B2 (ja) プログラマブルコントローラのプログラミング装置
JPH0232405A (ja) プログラマブルコントローラ
JPH07295612A (ja) 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ
Buchs et al. Producing prototypes from CO-OPN specifications
JPH06230804A (ja) プログラム作成装置
JPH06138913A (ja) プログラマブルコントローラ
JP2827724B2 (ja) プログラムデバッグ処理方法
JP3533078B2 (ja) シーケンス制御方法及び制御装置
Philippens Designing debugging tools for Simplexys expert systems
JPS59106005A (ja) プログラマブル・コントロ−ラ
Cooper et al. The use of Java to develop a microprocessor emulator
JPS63126007A (ja) プログラマブル・コントロ−ラ
Robinson Jr Design of a PDP 11/40 simulator
JPS61100802A (ja) プログラマブルシ−ケンスコントロ−ラの演算処理方式
Moyd FORTRAN Implementation of Tutorial Input
Shah Implementation of state charts in structured text language
JPS61100803A (ja) I/o転送を高速化したプログラマブルシ−ケンスコントロ−ラ