JP5206091B2 - プログラマブルコントローラのデータアクセス方式 - Google Patents
プログラマブルコントローラのデータアクセス方式 Download PDFInfo
- Publication number
- JP5206091B2 JP5206091B2 JP2008114808A JP2008114808A JP5206091B2 JP 5206091 B2 JP5206091 B2 JP 5206091B2 JP 2008114808 A JP2008114808 A JP 2008114808A JP 2008114808 A JP2008114808 A JP 2008114808A JP 5206091 B2 JP5206091 B2 JP 5206091B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- array
- address
- area
- 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.)
- Active
Links
Images
Description
演算対象になるデータを格納したデータメモリと、
アプリケーションプログラムのマシンコードを格納したプログラムメモリとを備え、
前記データメモリは、インスタンスポインタ(IP)により各プログラム構成単位(POU)が使用するインスタンス領域、スタックポインタ(SP)により現在の使用アドレスが示されるスタック領域を有し、
前記プログラムメモリは、プログラムカウンタ(PC)により実行中のアプリケーションプログラムのマシンコード位置を示すプログラム構成単位(POU)の実行領域を有し、
前記インスタンス領域に置かれたプログラム構成単位(POU)のローカル変数は、インスタンスポインタ(IP)が示すアドレスからの相対アドレスでアクセスするマシンコードで設定するよう構成し、
前記データメモリに格納される配列データを含むデータに対して、目的とするデータ要素にアクセスするプログラマブルコントローラのデータアクセス方式であって、
前記演算ASICは、スタックポインタ(SP)が示すスタック領域に、アクセス対象となるデータの配列構成、配列要素i番号、配列要素j番号、配列要素iサイズ、配列要素jサイズおよび目的要素サイズの各項目をパラメータとしてプッシュ命令で予め格納しておく手段と、
前記スタック上の各パラメータに従って、目的とするデータ要素アドレスをオペランド+(配列要素i番号)*(配列要素iサイズ)+(配列要素j番号)*(配列要素jサイズ)で計算し、前記リザルトレジスタ(RR)に対してデータ要素のロード/ストアを実行する手段とを備えたことを特徴とする。
演算対象になるデータを格納したデータメモリと、
アプリケーションプログラムのマシンコードを格納したプログラムメモリとを備え、
前記データメモリは、インスタンスポインタ(IP)により各プログラム構成単位(POU)が使用するインスタンス領域、スタックポインタ(SP)により現在の使用アドレスが示されるスタック領域を有し、
前記プログラムメモリは、プログラムカウンタ(PC)により実行中のアプリケーションプログラムのマシンコード位置を示すプログラム構成単位(POU)の実行領域を有し、
前記インスタンス領域に置かれたプログラム構成単位(POU)のローカル変数は、インスタンスポインタ(IP)が示すアドレスからの相対アドレスでアクセスするマシンコードで設定するよう構成し、
前記データメモリに格納される構造データを含むデータに対して、目的とするデータ要素にアクセスするプログラマブルコントローラのデータアクセス方式であって、
前記演算ASICは、前記スタックポインタ(SP)が示すスタック領域に、アクセス対象となるデータの構造データ構成、親要素オフセット、子要素オフセット、配列要素番号、配列要素サイズおよび目的要素サイズの各項目をパラメータとしてプッシュ命令で予め格納しておく手段と、
前記スタック上の各パラメータに従って、目的とするデータ要素アドレスを計算し、前記リザルトレジスタ(RR)に対してデータ要素のロード/ストアを実行する手段とを備えたことを特徴とする。
(1)一次元配列、二次元配列、構造データの配列で目的とするデータ要素が1つの命令でロード/ストアすることができる。
一次元配列は同じデータタイプの要素が要素数だけ並ぶ。図5は要素数Nの一次元配列の例である。この配列の1つの要素をアクセスするためには配列の先頭アドレスと要素のサイズと要素番号がわかれば良い。
二次元配列は、同じデータタイプの要素が二次元に配置される。図6はN×Mの二次元配列の例である。この配列の1つの要素をアクセスするためには配列の先頭アドレスと要素のサイズと要素番号(2種類)がわかれば良い。
複数のデータタイプから構成されたデータのまとまりである。図7はINT,WORD,DINTから成る構造データの例である。この構造データの1つの要素をアクセスするためには構造データの先頭アドレスと目的とするデータ要素のサイズと目的とするデータ要素までの相対オフセットアドレスがわかれば良い。
配列の要素が構造データになっているものである。図8はINT,WORD,UINT,DINTから成る構造データを要素とする要素数Nの場合の例である。この構造データの1つの要素をアクセスするためには、構造データの先頭アドレスと目的とするデータ要素のサイズと目的とするデータ要素が含まれる配列の要素番号とその配列先頭から目的とするデータ要素までの相対オフセットアドレスがわかれば良い。
構造データの1要素が配列になっているものである。図9は、要素として配列データ1と配列データ2を含む構造データの例である。この構造データの1つの要素をアクセスするためには、構造データの先頭アドレスと目的とするデータ要素のサイズと目的とするデータ要素が含まれる配列までの相対オフセットアドレスとその配列での目的とするデータ要素の要素番号がわかれば良い。
構造データの1要素が構造データになっているものである。図10は、要素として構造データ1と構造データ2を含む構造データの例である。この構造データの1つの要素をアクセスするためには、構造データの先頭アドレスと目的とするデータ要素のサイズと目的とするデータ要素が含まれ構造データまでの相対オフセットアドレスとその構造データでの目的とするデータ要素までの相対オフセットアドレスがわかれば良い。
本実施形態では、一次元配列、二次元配列、構造データの配列において、目的とするデータ要素に対するロード/ストア命令を実現する。ロードとは目的とするデータ要素のデータをリザルトレジスタ12にコピーする動作であり、ストアはその逆向きのコピー動作である。目的とするデータ要素を特定するためのパラメータは複数あり、マシンコード内にすべてのパラメータを置くことは困難である。そのため、必要なパラメータはスタックにプッシュしてから、該当命令を実行するようにする。以下に、具体例を示す。
本実施形態では、構造データ、構造データの構造データ、配列の構造データにおいて、目的とするデータ要素に対するロード/ストア命令を実現する。ロードとは目的とするデータ要素のデータをリザルトレジスタ12にコピーする動作であり、ストアはその逆向きのコピー動作である。これら構造データの目的とするデータ要素を指定するためのパラメータは複数あり、マシンコード内にすべてのパラメータを置くことは困難である。そのため、必要なパラメータはスタックにプッシュしてから、該当命令を実行するようにする。以下に、具体例を示す。
実施形態1、実施形態2はバイト単位のデータの配列や構造データの目的とするデータ要素に対するロード/ストアであるが、ビット単位データであるBOOLデータの配列や構造体においても、要素サイズの単位をビットにした命令を用意すれば、実施形態1や実施形態2で示した方法で目的とするデータ要素に対するロード/ストア命令が実施できる。
20 データメモリ
30 プログラムメモリ
11 演算回路
12 リザルトレジスタ(RR)
13 スタックポインタ(SP)
14 インスタンスポインタ(IP)
15 プログラムカウンタ(PC)
16 その他レジスタ
17 その他制御回路
Claims (3)
- 演算回路とリザルトレジスタ(RR)、各プログラム構成単位(POU)が使用するデータ領域の先頭アドレスを示すスタックポインタ(SP)、インスタンス
領域の先頭アドレスを示すインスタンスポインタ(IP)、プログラム構成単位(POU)のプログラム領域の先頭アドレスを示すプログラムカウンタ(PC)を有して、アプリケーションプログラムのマシンコードを実行する演算ASICと、
演算対象になるデータを格納したデータメモリと、
アプリケーションプログラムのマシンコードを格納したプログラムメモリとを備え、
前記データメモリは、インスタンスポインタ(IP)により各プログラム構成単位(POU)が使用するインスタンス領域、スタックポインタ(SP)により現在の使用アドレスが示されるスタック領域を有し、
前記プログラムメモリは、プログラムカウンタ(PC)により実行中のアプリケーションプログラムのマシンコード位置を示すプログラム構成単位(POU)の実行領域を有し、
前記インスタンス領域に置かれたプログラム構成単位(POU)のローカル変数は、インスタンスポインタ(IP)が示すアドレスからの相対アドレスでアクセスするマシンコードで設定するよう構成し、
前記データメモリに格納される配列データを含むデータに対して、目的とするデータ要素にアクセスするプログラマブルコントローラのデータアクセス方式であって、
前記演算ASICは、
スタックポインタ(SP)が示すスタック領域に、アクセス対象となるデータの配列構成、配列要素i番号、配列要素j番号、配列要素iサイズ、配列要素jサイズおよび目的要素サイズの各項目をパラメータとしてプッシュ命令で予め格納しておく手段と、
前記スタック上の各パラメータに従って、目的とするデータ要素アドレスをオペランド+(配列要素i番号)*(配列要素iサイズ)+(配列要素j番号)*(配列要素jサイズ)で計算し、前記リザルトレジスタ(RR)に対してデータ要素のロード/ストアを実行する手段と、
を備えたことを特徴とするプログラマブルコントローラのデータアクセス方式。 - 演算回路とリザルトレジスタ(RR)、各プログラム構成単位(POU)が使用するデータ領域の先頭アドレスを示すスタックポインタ(SP)、インスタンス
領域の先頭アドレスを示すインスタンスポインタ(IP)、プログラム構成単位(POU)のプログラム領域の先頭アドレスを示すプログラムカウンタ(PC)を有して、アプリケーションプログラムのマシンコードを実行する演算ASICと、
演算対象になるデータを格納したデータメモリと、
アプリケーションプログラムのマシンコードを格納したプログラムメモリとを備え、
前記データメモリは、インスタンスポインタ(IP)により各プログラム構成単位(POU)が使用するインスタンス領域、スタックポインタ(SP)により現在の使用アドレスが示されるスタック領域を有し、
前記プログラムメモリは、プログラムカウンタ(PC)により実行中のアプリケーションプログラムのマシンコード位置を示すプログラム構成単位(POU)の実行領域を有し、
前記インスタンス領域に置かれたプログラム構成単位(POU)のローカル変数は、インスタンスポインタ(IP)が示すアドレスからの相対アドレスでアクセスするマシンコードで設定するよう構成し、
前記データメモリに格納される構造データを含むデータに対して、目的とするデータ要素にアクセスするプログラマブルコントローラのデータアクセス方式であって、
前記演算ASICは、
前記スタックポインタ(SP)が示すスタック領域に、アクセス対象となるデータの構造データ構成、親要素オフセット、子要素オフセット、配列要素番号、配列要素サイズおよび目的要素サイズの各項目をパラメータとしてプッシュ命令で予め格納しておく手段と、
前記スタック上の各パラメータに従って、目的とするデータ要素アドレスを計算し、前記リザルトレジスタ(RR)に対してデータ要素のロード/ストアを実行する手段とを備えたことを特徴とするプログラマブルコントローラのデータアクセス方式。 - 前記演算ASICは、前記配列データまたは構造データがビット単位データになる場合、データ要素サイズの単位をビットにしてロード/ストアを実行することを特徴とする請求項1または2に記載のプログラマブルコントローラのデータアクセス方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008114808A JP5206091B2 (ja) | 2008-04-25 | 2008-04-25 | プログラマブルコントローラのデータアクセス方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008114808A JP5206091B2 (ja) | 2008-04-25 | 2008-04-25 | プログラマブルコントローラのデータアクセス方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009265947A JP2009265947A (ja) | 2009-11-12 |
JP5206091B2 true JP5206091B2 (ja) | 2013-06-12 |
Family
ID=41391722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008114808A Active JP5206091B2 (ja) | 2008-04-25 | 2008-04-25 | プログラマブルコントローラのデータアクセス方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5206091B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61127049A (ja) * | 1984-11-27 | 1986-06-14 | Ricoh Co Ltd | メモリ制御方法 |
JPH0786836B2 (ja) * | 1986-11-18 | 1995-09-20 | 株式会社日立製作所 | 多次元配列のメモリ割付け方式 |
JPS63228228A (ja) * | 1987-03-17 | 1988-09-22 | Nec Corp | 配列割付け方式 |
JPH0348936A (ja) * | 1989-07-17 | 1991-03-01 | Nec Software Ltd | 構造体要素の変位計算方式 |
-
2008
- 2008-04-25 JP JP2008114808A patent/JP5206091B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009265947A (ja) | 2009-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013542499A (ja) | データ処理装置のデバッグ処理 | |
KR20130016246A (ko) | 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑 | |
JPH04172533A (ja) | 電子計算機 | |
EP3329360B1 (en) | Contingent load suppression | |
JP4686435B2 (ja) | 演算装置 | |
US8464016B2 (en) | Method and device for switching over in a memory for a control device | |
JP5206091B2 (ja) | プログラマブルコントローラのデータアクセス方式 | |
JP2000322264A (ja) | 電子機器 | |
JP4760607B2 (ja) | プログラマブルコントローラ | |
CN114047952B (zh) | 用于单片机的处理器、方法、单片机和存储介质 | |
US20080282071A1 (en) | Microprocessor and register saving method | |
JP5590069B2 (ja) | マイクロコンピュータ | |
US8566813B2 (en) | Method and system generating execution file system device | |
JP5644380B2 (ja) | 情報処理装置 | |
JP6295914B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ | |
JP3691986B2 (ja) | プログラマブルコントローラ | |
JP2018537779A (ja) | 制御装置の動作方法ならびに外部バイパスのために設計されている制御装置 | |
US10817288B2 (en) | Combined instruction for addition and checking of terminals | |
JP2006048186A (ja) | 動的コンパイラの生成コードを保護する言語処理系 | |
JP5071943B2 (ja) | 電子制御装置およびプログラム起動切替方法 | |
JP2006018759A (ja) | 制御装置及び方法 | |
JP2005063311A (ja) | プロセッサシステムのパッチ方法およびパッチ適用プログラム | |
JP6525267B2 (ja) | 範囲外参照検出装置、方法およびプログラム | |
JP6603100B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
JP2021060871A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121220 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20121220 |
|
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: 20130122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5206091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |