JP4588671B2 - Programmable controller - Google Patents

Programmable controller Download PDF

Info

Publication number
JP4588671B2
JP4588671B2 JP2006199742A JP2006199742A JP4588671B2 JP 4588671 B2 JP4588671 B2 JP 4588671B2 JP 2006199742 A JP2006199742 A JP 2006199742A JP 2006199742 A JP2006199742 A JP 2006199742A JP 4588671 B2 JP4588671 B2 JP 4588671B2
Authority
JP
Japan
Prior art keywords
unit
device area
address
boundary
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.)
Expired - Fee Related
Application number
JP2006199742A
Other languages
Japanese (ja)
Other versions
JP2008027236A (en
Inventor
治彦 竹山
孝幸 鈴木
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006199742A priority Critical patent/JP4588671B2/en
Publication of JP2008027236A publication Critical patent/JP2008027236A/en
Application granted granted Critical
Publication of JP4588671B2 publication Critical patent/JP4588671B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

この発明は、メモリ空間上に複数のデバイス領域を割り当てて使用するプログラマブルコントローラに関するもので、特に、プログラム中のインデックス修飾によってユーザーが意図していない領域に対して行われるメモリアクセスを検出する機構を有するプログラマブルコントローラに関するものである。   The present invention relates to a programmable controller that allocates and uses a plurality of device areas on a memory space. In particular, the invention relates to a mechanism for detecting a memory access made to an area that is not intended by a user by index modification in a program. The present invention relates to a programmable controller.

プログラマブルコントローラはユーザーが記述したプログラムに従って動作する。ユーザーが記述するプログラムでは、ユーザーはX1,Y10,D100といったデバイス種別とデバイス番号を用いて処理を記述する。ここで、X,Y,Dはデバイス種別であり、その後の数字はデバイス番号である。ユーザーが作成したプログラムはプログラマブルコントローラが実行可能な形式に変換され、プログラマブルコントローラのプログラム記憶領域に格納される。その際にデバイス種別やデバイス番号といった情報はプログラマブルコントローラからアクセスできるメモリ空間内の絶対アドレスに置き換えられる。その後、プログラマブルコントローラはプログラム記憶領域にあるプログラムを順に実行する。   The programmable controller operates according to a program written by the user. In the program written by the user, the user describes the processing using the device type and device number such as X1, Y10, and D100. Here, X, Y, and D are device types, and the subsequent numbers are device numbers. The program created by the user is converted into a format that can be executed by the programmable controller and stored in the program storage area of the programmable controller. At that time, information such as the device type and device number is replaced with an absolute address in the memory space accessible from the programmable controller. Thereafter, the programmable controller sequentially executes the programs in the program storage area.

ユーザープログラム中で異なるデバイス種別として記述されるX,Y,Dは、上記絶対アドレスへの変換によって同じメモリ空間内の異なる領域に割り当てられる。そのため、ユーザープログラムによる誤ったインデックス修飾によって、本来はアクセスできない異なるデバイス種別の領域へアクセスをすることがある。例えば、インデックスレジスタZ0を用いてX1000Z0と記載した場合、Z0の値によってはXデバイス領域を越え、X領域以外の領域に対してアクセスを行う可能性がある。この場合、Z0の値はプログラム実行中に変化するため、プログラム記述時点ではわからないことが多い。このような現象が発生した場合に、プログラムミスにより意図しない同種デバイスのデータを壊すだけでなく、異なる種類のデバイスデータが壊れるというユーザーから考えると想像し難い現象が発生する。   X, Y, and D described as different device types in the user program are assigned to different areas in the same memory space by conversion to the absolute address. For this reason, an area of a different device type that cannot be originally accessed may be accessed due to incorrect index modification by the user program. For example, when X1000Z0 is described using the index register Z0, there is a possibility that an area other than the X area may be accessed beyond the X device area depending on the value of Z0. In this case, since the value of Z0 changes during program execution, it is often unknown at the time of program description. When such a phenomenon occurs, not only the data of the same kind of device that is not intended to be destroyed due to a program mistake, but also a phenomenon that is difficult to imagine from the viewpoint of a user who breaks different types of device data.

アクセスできない領域に対してアクセスを防ぐために、一般的にメモリ保護といわれる機能がある。しかし、メモリ保護によって保護される領域はプロセスやスレッドと呼ばれる一連のプログラム毎に定められており、上記に示したようにインデックス修飾によってアクセスする領域が変化したことを検出する機能ではない。   In order to prevent access to an inaccessible area, there is a function generally called memory protection. However, the area protected by memory protection is determined for each series of programs called processes and threads, and is not a function for detecting that the area to be accessed has changed due to index modification as described above.

このような課題への対策として、特許文献1の先行事例に示すように、インデックスレジスタに制限を設ける方法がある。この先行事例では、主な適用例として、配列変数へのアクセスにインデックスレジスタを用いた場合が取り上げられている。配列変数の先頭要素に対してインデックス修飾を行った結果得られるアドレスが、配列変数として確保した領域から逸脱したことを検出するために、インデックスレジスタの値に対して上下限値を事前に設定している。プログラム実行中には、インデックスレジスタへのライトを検出し、ライトデータが該上下限値から逸脱した場合に処理を停止している。   As a countermeasure to such a problem, there is a method of providing a restriction on the index register as shown in the prior example of Patent Document 1. In this preceding case, the case where an index register is used for accessing an array variable is taken up as a main application example. In order to detect that the address obtained as a result of index modification on the first element of an array variable has deviated from the area reserved as an array variable, upper and lower limit values are set in advance for the value of the index register. ing. During the execution of the program, a write to the index register is detected, and the process is stopped when the write data deviates from the upper and lower limit values.

この先行事例では、予め確保した配列領域を逸脱しないようにインデックスレジスタの上下限値を設定することができるため、確保した配列領域に対して厳密な領域管理が可能であることが特徴である。ここで記載されている配列領域をデバイス領域と考えて、先行事例に記載された方法をプログラマブルコントローラのデバイス領域逸脱検出に適用することが可能である。   The preceding example is characterized in that the upper and lower limit values of the index register can be set so as not to deviate from the previously secured array area, and therefore strict area management is possible for the secured array area. The array region described here is considered as a device region, and the method described in the previous example can be applied to device region deviation detection of the programmable controller.

しかし、このようなプログラマブルコントローラでは通常インデックスレジスタの数が限られているため、プログラマブルコントローラが実行するプログラム中で同一のインデックスレジスタを異なる領域に対する修飾に用いる場合には、インデックスレジスタの上下限値設定を変更しなければならない。また、プログラマブルコントローラのデバイス領域は該領域中の任意のアドレスに対してインデックス修飾を行うことが可能であり、先行事例を適用する場合に、同一デバイス領域中であっても、X0Z0とX100Z0のように、修飾されるアドレスが変わる度にインデックスレジスタが許される上下限値が変更になるため、上下限値を再設定する必要がある。これらの処理は一般的にプログラマブルコントローラが実行するプログラム中に記載されるため、プログラマブルコントローラとしての処理速度が低下する。   However, in such a programmable controller, the number of index registers is usually limited, so when using the same index register for modifying different areas in the program executed by the programmable controller, the upper and lower limit values of the index register are set. Must be changed. In addition, the device area of the programmable controller can be index-modified for an arbitrary address in the area, and when applying the preceding case, even in the same device area, such as X0Z0 and X100Z0 In addition, since the upper and lower limit values allowed for the index register change every time the address to be modified changes, it is necessary to reset the upper and lower limit values. Since these processes are generally described in a program executed by the programmable controller, the processing speed as the programmable controller decreases.

また、先行事例では、上下限値のチェックをインデックスレジスタへのライト時に行っているため、インデックスレジスタを単なるレジスタとして通常の演算に用いる場合には、上下限値設定を解除する必要がある。そのためインデックス修飾を行う命令の大部分に上下限値の設定や解除を行う処理が必要となり、上下限値設定のための命令を処理する時間が必要となるか、又は命令コードと併せて上下限値に関する情報を保持する領域が必要となる。これらの理由により、先行事例をデバイス領域の逸脱検出に適用する場合には、プログラム実行中に必要となる追加情報・追加処理が大きいため適していない。   In the preceding example, the upper and lower limit values are checked when writing to the index register. Therefore, when the index register is used as a simple register for normal calculation, it is necessary to cancel the upper and lower limit value settings. Therefore, it is necessary to set or cancel the upper and lower limit values for most of the instructions that perform index modification, and it takes time to process the instructions for setting the upper and lower limit values, or the upper and lower limit values are combined with the instruction code. An area for holding information about values is required. For these reasons, it is not suitable to apply the preceding case to the deviation detection of the device area because additional information and additional processing required during program execution are large.

特開平5−241650号公報(段落0004)JP-A-5-241650 (paragraph 0004)

従来のプログラマブルコントローラは以上のように構成されているので、インデックス修飾後の領域逸脱検出処理をプログラマブルコントローラが実行するプログラム中で行うと、プログラムの実行に伴い、インデックス修飾されるアドレスが変化したときのインデックスレジスタの上下限値設定や解除等の処理が必要となり、プログラマブルコントローラとしての処理速度が低下するという課題があった。   Since the conventional programmable controller is configured as described above, if the area deviation detection process after index modification is performed in the program executed by the programmable controller, the index-modified address changes as the program is executed This requires processing such as setting and canceling the upper and lower limit values of the index register, and the processing speed as a programmable controller is reduced.

この発明は上記のような課題を解決するためになされたもので、インデックス修飾後の領域逸脱検出処理をプログラマブルコントローラが実行するプログラム中で行う必要がなく、処理速度を低下させないプログラマブルコントローラを得ることを目的とする。   The present invention has been made to solve the above-described problems, and it is not necessary to perform a region deviation detection process after index modification in a program executed by the programmable controller, and to obtain a programmable controller that does not reduce the processing speed. With the goal.

この発明に係るプログラマブルコントローラは、インデックス修飾に使用される値を保持しているインデックスレジスタと、命令コードに含まれるレジスタ番号に基づき上記インデックスレジスタに保持されている値を取得し、上記命令コードが要求するアクセス幅が単位アクセス幅を超える場合に、上記命令コードに含まれるアドレスと上記インデックスレジスタから取得した値に基づき、インデックス修飾後の実際にアクセスする開始アドレスを算出し、算出した開始アドレスと上記命令コードに含まれるアドレス幅を出力するインデックス修飾部と、該インデックス修飾部により算出されたインデックス修飾後の実際にアクセスするアドレスが、上記命令コードに含まれるアドレスに対応するメモリマップ上のデバイス領域を逸脱するか否かを判定する領域逸脱判定部とを備え、上記領域逸脱判定部は、上記インデックス修飾部により出力された実際に最初にアクセスする開始アドレスとアドレス幅に基づき、最後にアクセスする最終アドレスを算出する最終アドレス計算部と、
上記メモリマップ上に連続して確保されている複数のデバイス領域の下限値又は上限値を境界アドレスとして、上記連続して確保されているデバイス領域の順番に格納しているデバイス領域設定レジスタと、命令コードに含まれるアドレスが、上記デバイス領域設定レジスタにおける連続するどの境界アドレス間のアドレスであるかをチェックして、上記メモリマップ上のどのデバイス領域にあるかを判定するデバイス領域判定部と、上記デバイス領域設定レジスタを参照して、上記デバイス領域判定部により判定されたデバイス領域の連続する境界アドレスを選択する上下限値選択部と、上記インデックス修飾部により出力された開始アドレスと上記最終アドレス計算部により算出された最終アドレスが、上記上下限値選択部により選択された連続する境界アドレスの範囲内であるか否かを判定する範囲内判定部とを備えたものである。
The programmable controller according to the present invention acquires an index register holding a value used for index modification and a value held in the index register based on a register number included in the instruction code. When the requested access width exceeds the unit access width, the actual access start address after index modification is calculated based on the address included in the instruction code and the value acquired from the index register , and the calculated start address and An index modifier that outputs the address width included in the instruction code , and a device on the memory map in which the address that is actually accessed after the index modification calculated by the index modifier corresponds to the address included in the instruction code Depart from the area A whether determining regions deviation determining unit, the region deviation determining unit, based on the start address and the address width for accessing actually the first output by the index modification unit, calculating a final address to access the last A final address calculator to
A device area setting register that stores the lower limit value or the upper limit value of a plurality of device areas continuously secured on the memory map as a boundary address in the order of the device areas secured continuously; A device area determination unit that checks which address between successive boundary addresses in the device area setting register the address included in the instruction code is in which device area on the memory map; Referring to the device area setting register, upper and lower limit value selection sections for selecting continuous boundary addresses of the device area determined by the device area determination section, and the start address and the last address output by the index modification section The final address calculated by the calculation unit is selected by the upper / lower limit value selection unit. And it is whether it is within the bounds consecutive addresses that a range determination unit determines.

この発明によれば、インデックス修飾後の領域逸脱検出処理をプログラマブルコントローラが実行するプログラム中で行う必要がなく、プログラマブルコントローラとしての処理速度を低下させないという効果が得られる。   According to the present invention, it is not necessary to perform the area deviation detection process after index modification in a program executed by the programmable controller, and the effect of not reducing the processing speed as the programmable controller can be obtained.

実施の形態1.
図1はこの発明の実施の形態1で想定するメモリマップ10とデバイス領域設定レジスタ101を示す図である。メモリマップ10上に複数のデバイス領域が確保されており、それぞれのデバイス領域の下限値と上限値がデバイス領域下限レジスタ101aとデバイス領域上限レジスタ101bに格納されており、これらをまとめてデバイス領域設定レジスタ101とする。図1の例では一つのメモリ空間上に4つのデバイス領域を割り当てており、デバイス領域設定レジスタ101にそれぞれのデバイス領域の上限値と下限値が格納されている。デバイス領域下限レジスタ101aとデバイス領域上限レジスタ101bはプログラムとは別のパラメータとしてプログラムの実行前に設定される。図1ではメモリマップ10上のデバイス領域の最大数を仮に4として記載しているが、デバイス領域数を変更することは可能である。
Embodiment 1 FIG.
FIG. 1 is a diagram showing a memory map 10 and a device area setting register 101 assumed in the first embodiment of the present invention. A plurality of device areas are secured on the memory map 10, and the lower limit value and the upper limit value of each device area are stored in the device area lower limit register 101a and the device area upper limit register 101b. The register 101 is assumed. In the example of FIG. 1, four device areas are allocated on one memory space, and the upper limit value and the lower limit value of each device area are stored in the device area setting register 101. The device area lower limit register 101a and the device area upper limit register 101b are set as parameters different from the program before the execution of the program. In FIG. 1, the maximum number of device areas on the memory map 10 is described as four, but the number of device areas can be changed.

ユーザーによって記述されるプログラム中にはデバイス領域に対してアクセスを行う命令コードがある。この命令コードには、アクセスするデバイス領域のアドレスとインデックス修飾に用いるレジスタ番号が含まれており、命令コードに含まれるアドレスとインデックス修飾用に指定されたレジスタの値を加算して実際にアクセスするアドレスを算出する。このアドレス加算処理をインデックス修飾と呼び、この処理を行うため命令コードに含まれているアドレスと実際にアクセスを行うアドレスは異なる場合がある。   There is an instruction code for accessing the device area in the program described by the user. This instruction code includes the address of the device area to be accessed and the register number used for index modification. The address included in the instruction code and the value of the register specified for index modification are added for actual access. Calculate the address. This address addition process is called index modification, and the address included in the instruction code for performing this process may be different from the address actually accessed.

図2はこの発明の実施の形態1によるプログラマブルコントローラの構成を示すブロック図である。このプログラマブルコントローラは、プログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100を備え、領域逸脱判定部100は、デバイス領域設定レジスタ101、デバイス領域判定部102、上下限値選択部103及び範囲内判定部104を備えている。   FIG. 2 is a block diagram showing the configuration of the programmable controller according to the first embodiment of the present invention. The programmable controller includes a program storage unit 11, an instruction code acquisition unit 12, an index register 13, an index modification unit 14, an access execution unit 15, and a region departure determination unit 100, and the region departure determination unit 100 is a device region setting register 101. , A device region determination unit 102, an upper and lower limit value selection unit 103, and an in-range determination unit 104.

図2において、プログラム格納部11は命令コードを含むプログラムを格納し、命令コード取得部12はプログラム格納部11に格納されているプログラムの命令コードを取得する。インデックスレジスタ13はインデックス修飾に使用される値を保持し、インデックス修飾部14は、命令コード取得部12により取得された命令コードに含まれるレジスタ番号に基づきインデックスレジスタ13に保持されている値を取得し、命令コードに含まれるアドレスとインデックスレジスタ13から取得した値を加算して、インデックス修飾後の実際にアクセスするアドレスを算出する。   In FIG. 2, a program storage unit 11 stores a program including an instruction code, and an instruction code acquisition unit 12 acquires an instruction code of a program stored in the program storage unit 11. The index register 13 holds a value used for index modification, and the index modification unit 14 acquires the value held in the index register 13 based on the register number included in the instruction code acquired by the instruction code acquisition unit 12. Then, the address included in the instruction code and the value acquired from the index register 13 are added to calculate the address to be actually accessed after the index modification.

領域逸脱判定部100は、命令コード取得部12により取得された命令コードに含まれるアドレスを入力し、インデックス修飾部14により算出されたインデックス修飾後の実際にアクセスするアドレスが、命令コードに含まれるアドレスに対応するメモリマップ10上のデバイス領域を逸脱するか否かを判定する。すなわち、領域逸脱判定部100は、命令コード取得部12により取得された命令コードに含まれるアドレスからメモリマップ10上のデバイス領域を判定し、判定したデバイス領域の下限値と上限値を選択し、インデックス修飾部14により算出された実際にアクセスするアドレスが選択した下限値と上限値の範囲内であるか否かを判定し、実際にアクセスするアドレスがデバイス領域の下限値と上限値の範囲内である場合にはアクセス許可を出力し、実際にアクセスするアドレスがデバイス領域の下限値と上限値の範囲内でない場合には停止要求を出力する。   The area deviation determination unit 100 inputs an address included in the instruction code acquired by the instruction code acquisition unit 12, and an actually accessed address after index modification calculated by the index modification unit 14 is included in the instruction code. It is determined whether or not the device area on the memory map 10 corresponding to the address deviates. That is, the area deviation determination unit 100 determines a device area on the memory map 10 from an address included in the instruction code acquired by the instruction code acquisition unit 12, selects a lower limit value and an upper limit value of the determined device area, It is determined whether the actually accessed address calculated by the index modifier 14 is within the selected lower limit and upper limit range, and the actually accessed address is within the lower limit and upper limit range of the device area. If it is, the access permission is output, and if the address to be actually accessed is not within the range between the lower limit value and the upper limit value of the device area, a stop request is output.

アクセス実行部15は、領域逸脱判定部100から出力されたアクセス許可に基づき、インデックス修飾部14から出力された実際にアクセスするアドレスを用いてデバイス領域へのアクセスを行う。   Based on the access permission output from the area deviation determination unit 100, the access execution unit 15 accesses the device area using the actual access address output from the index modification unit 14.

領域逸脱判定部100において、デバイス領域設定レジスタ101は、メモリマップ10上の複数のデバイス領域の下限値と上限値を、各デバイス領域下限レジスタ101aとデバイス領域上限レジスタ101bに格納している。デバイス領域判定部102は、命令コード取得部12により取得された命令コードに含まれるアドレスが、デバイス領域設定レジスタ101におけるどのデバイス領域下限レジスタ101aとデバイス領域上限レジスタ101bの間のアドレスであるかをチェックして、メモリマップ10上のどのデバイス領域にあるかを判定する。上下限値選択部103は、デバイス領域設定レジスタ101を参照して、デバイス領域判定部102により判定されたデバイス領域の下限値と上限値を選択する。   In the area deviation determination unit 100, the device area setting register 101 stores the lower limit value and upper limit value of a plurality of device areas on the memory map 10 in each device area lower limit register 101a and device area upper limit register 101b. The device area determination unit 102 determines which device area lower limit register 101a and device area upper limit register 101b in the device area setting register 101 the address included in the instruction code acquired by the instruction code acquisition unit 12 is. A check is made to determine which device area on the memory map 10 is present. The upper / lower limit selection unit 103 refers to the device area setting register 101 and selects the lower limit value and upper limit value of the device area determined by the device area determination unit 102.

範囲内判定部104は、インデックス修飾部14により算出された実際にアクセスするアドレスが、上下限値選択部103により選択されたデバイス領域の下限値と上限値の範囲内であるか否かを判定し、実際にアクセスするアドレスがデバイス領域の下限値と上限値の範囲内である場合には、すなわち、次の式(1)を満足していれば、インデックス修飾後のアドレスがデバイス領域を逸脱するものではないと判定して、アクセス実行部15にアクセス許可を出力する。
下限値≦アドレス≦上限値 (1)
The in-range determination unit 104 determines whether the actually accessed address calculated by the index modification unit 14 is within the range between the lower limit value and the upper limit value of the device area selected by the upper / lower limit value selection unit 103. If the address to be actually accessed is within the range between the lower limit and upper limit of the device area, that is, if the following expression (1) is satisfied, the address after index modification deviates from the device area. It is determined that the access is not to be performed, and the access permission is output to the access execution unit 15.
Lower limit value ≤ address ≤ upper limit value (1)

一方、範囲内判定部104は、実際にアクセスするアドレスがデバイス領域の下限値と上限値の範囲内でない場合には、すなわち、上記式(1)を満足していなければ、インデックス修飾後のアドレスがデバイス領域を逸脱するものであると判定して、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力すると共にユーザーに通知する。   On the other hand, if the address to be actually accessed is not within the range between the lower limit value and the upper limit value of the device area, that is, if the above formula (1) is not satisfied, the in-range determination unit 104 determines the address after index modification. Is determined to depart from the device area, a stop request for processing as a programmable controller is output to a control unit (not shown) that controls the entire programmable controller and the user is notified.

このような構成により、命令コードに含まれるアドレスに対してインデックス修飾を行うと共に、命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属することを判定した後に、デバイス領域のアクセスを行うことが可能となる。   With such a configuration, index modification is performed on the address included in the instruction code, and after determining that the address included in the instruction code and the address after index modification belong to the same device area, the device area is accessed. Can be done.

以上のように、この実施の形態1によれば、領域逸脱判定部100が命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するか否かを判定することにより、インデックス修飾後の領域逸脱検出処理をプログラマブルコントローラが実行するプログラム中で行う必要がなく、プログラマブルコントローラとしての処理速度を低下させないという効果が得られる。   As described above, according to the first embodiment, the area deviation determination unit 100 determines whether or not the address included in the instruction code and the address after index modification belong to the same device area. It is not necessary to perform the area deviation detection process in the program executed by the programmable controller, and the effect of not reducing the processing speed as the programmable controller can be obtained.

実施の形態2.
図3はこの発明の実施の形態2によるプログラマブルコントローラの構成を示すブロック図である。このプログラマブルコントローラは、上記実施の形態1の図2に示すプログラマブルコントローラと同様に、プログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100を備えているが、領域逸脱判定部100の構成が図2と異なる。
Embodiment 2. FIG.
FIG. 3 is a block diagram showing a configuration of a programmable controller according to the second embodiment of the present invention. This programmable controller is similar to the programmable controller shown in FIG. 2 of the first embodiment, and includes a program storage unit 11, an instruction code acquisition unit 12, an index register 13, an index modification unit 14, an access execution unit 15, and an area departure determination unit. 100, but the configuration of the area departure determination unit 100 is different from that shown in FIG.

図3において、領域逸脱判定部100は、デバイス領域設定レジスタ101、デバイス領域判定部102、上下限値選択部103、範囲内判定部104及び最終アドレス計算部105を備え、範囲内判定部104は、下限値判定部104a、上限値判定部104b及び結果判定部104cを備えている。
なお、この発明の実施の形態2で想定するメモリマップ10とデバイス領域設定レジスタ101を示す図は、上記実施の形態1の図1と同じである。
In FIG. 3, the area deviation determination unit 100 includes a device area setting register 101, a device area determination unit 102, an upper / lower limit value selection unit 103, an in-range determination unit 104, and a final address calculation unit 105. , A lower limit determination unit 104a, an upper limit determination unit 104b, and a result determination unit 104c.
The diagram showing the memory map 10 and the device area setting register 101 assumed in the second embodiment of the present invention is the same as FIG. 1 in the first embodiment.

上記実施の形態1では、命令コードが要求するアクセス幅が単位アクセス幅を超えない場合を想定しているが、この実施の形態2では、命令コードが要求するアクセス幅が、16ビット(2バイト)アクセス、32ビット(4バイト)アクセスのように、単位アクセス幅を超える場合について説明する。命令コードが要求するアクセス幅が、単位アクセス幅を超える場合には、インデックス修飾部14により算出された実際にアクセスするアドレスは、最初にアクセスする開始アドレスを示し、最後にアクセスする最終アドレスは開始アドレスと異なったものとなる。すなわち、最初にアクセスする開始アドレスがデバイス領域を逸脱するものではなくても、最後にアクセスする最終アドレスがデバイス領域を逸脱する場合がある。   In the first embodiment, it is assumed that the access width requested by the instruction code does not exceed the unit access width. However, in this second embodiment, the access width requested by the instruction code is 16 bits (2 bytes). A case where the unit access width is exceeded, such as access and 32-bit (4-byte) access, will be described. When the access width requested by the instruction code exceeds the unit access width, the actually accessed address calculated by the index modifier 14 indicates the start address to be accessed first, and the last address to be accessed last is the start It will be different from the address. That is, even if the start address accessed first does not deviate from the device area, the last address accessed last may deviate from the device area.

インデックス修飾部14は、命令コード取得部12により取得された命令コードに含まれるレジスタ番号に基づきインデックスレジスタ13に保持されている値を取得し、命令コードに含まれるアドレスとインデックスレジスタ13から取得した値を加算して、インデックス修飾後の実際にアクセスする開始アドレスを算出し、算出した開始アドレスと命令コードに含まれるアドレス幅を出力する。   The index modification unit 14 acquires the value held in the index register 13 based on the register number included in the instruction code acquired by the instruction code acquisition unit 12, and acquires the address included in the instruction code and the index register 13. The value is added to calculate the actual access start address after the index modification, and the calculated start address and the address width included in the instruction code are output.

最終アドレス計算部105は、インデックス修飾部14により出力された実際に最初にアクセスする開始アドレスとアドレス幅に基づき、次の式(2)を用いて最後にアクセスする最終アドレスを算出する。
最終アドレス=開始アドレス+アクセス幅−1 (2)
The final address calculation unit 105 calculates the final address to be accessed last using the following equation (2) based on the start address and address width that are actually accessed first and output from the index modification unit 14.
Final address = start address + access width -1 (2)

範囲内判定部104は、インデックス修飾部14により出力された開始アドレスと最終アドレス計算部105により算出された最終アドレスが、上下限値選択部103により選択されたデバイス領域の下限値と上限値の範囲内であるかを判定する。   The in-range determination unit 104 uses the lower limit value and the upper limit value of the device area selected by the upper / lower limit value selection unit 103 based on the start address output from the index modification unit 14 and the final address calculated by the final address calculation unit 105. Determine if it is within range.

範囲内判定部104における下限値判定部104aは、インデックス修飾部14により算出された実際に最初にアクセスする開始アドレスが、上下限値選択部103により選択されたデバイス領域の下限値以上であるか否かを判定する。また、範囲内判定部104における上限値判定部104bは、最終アドレス計算部105により算出された実際に最後にアクセスする最終アドレスが、上下限値選択部103により選択されたデバイス領域の上限値以下であるか否かを判定する。   The lower limit determination unit 104 a in the in-range determination unit 104 determines whether the actual first access address calculated by the index modification unit 14 is greater than or equal to the lower limit value of the device region selected by the upper and lower limit selection unit 103. Determine whether or not. Further, the upper limit determination unit 104 b in the in-range determination unit 104 is configured such that the final address actually accessed last calculated by the final address calculation unit 105 is less than or equal to the upper limit of the device region selected by the upper / lower limit selection unit 103. It is determined whether or not.

範囲内判定部104における結果判定部104cは、下限値判定部104aにより実際に最初にアクセスする開始アドレスがデバイス領域の下限値以上であると判定され、かつ、上限値判定部104bにより実際に最後にアクセスする最終アドレスがデバイス領域の上限値以下であると判定された場合に、インデックス修飾後のアドレスがデバイス領域を逸脱するものではないと判定して、アクセス実行部15にアクセス許可を出力し、それ以外の場合には、インデックス修飾後のアドレスがデバイス領域を逸脱するものであると判定して、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力すると共にユーザーに通知する。   The result determination unit 104c in the in-range determination unit 104 determines that the first access address actually accessed first by the lower limit determination unit 104a is greater than or equal to the lower limit of the device area, and the upper limit determination unit 104b actually When it is determined that the last address to access the device area is less than or equal to the upper limit value of the device area, it is determined that the address after index modification does not depart from the device area, and the access permission is output to the access execution unit 15 In other cases, it is determined that the address after the index modification deviates from the device area, and a control unit (not shown) that controls the entire programmable controller is requested to stop processing as a programmable controller. Output and notify the user.

アクセス実行部15は、領域逸脱判定部100から出力されたアクセス許可に基づき、インデックス修飾部14から出力された実際にアクセスするアドレスとアドレス幅を用いてデバイス領域へのアクセスを行う。   Based on the access permission output from the area deviation determination unit 100, the access execution unit 15 accesses the device area using the actual access address and address width output from the index modification unit 14.

その他のプログラム格納部11、命令コード取得部12、インデックスレジスタ13、デバイス領域設定レジスタ101、デバイス領域判定部102及び上下限値選択部103の処理は、上記実施の形態1と同様である。   Other processes of the program storage unit 11, the instruction code acquisition unit 12, the index register 13, the device area setting register 101, the device area determination unit 102, and the upper / lower limit value selection unit 103 are the same as those in the first embodiment.

このような構成により、命令コードが要求するアクセス幅が単位アクセス幅を超える場合にも、命令コードに含まれるアドレスに対してインデックス修飾を行うと共に、命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属することを判定した後に、デバイス領域のアクセスを行うことが可能となる。   With such a configuration, even when the access width requested by the instruction code exceeds the unit access width, index modification is performed on the address included in the instruction code, and the address included in the instruction code and the address after index modification are performed. Can be accessed after determining that they belong to the same device area.

以上のように、この実施の形態2によれば、命令コードが要求するアクセス幅が単位アクセス幅を超える場合にも、領域逸脱判定部100が命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するか否かを判定することにより、インデックス修飾後の領域逸脱検出処理をプログラマブルコントローラが実行するプログラム中で行う必要がなく、プログラマブルコントローラとしての処理速度を低下させないという効果が得られる。   As described above, according to the second embodiment, even when the access width requested by the instruction code exceeds the unit access width, the area deviation determining unit 100 determines the address included in the instruction code and the address after index modification. By determining whether or not they belong to the same device area, there is no need to perform the area deviation detection process after index modification in the program executed by the programmable controller, and the effect of not reducing the processing speed as the programmable controller can be obtained. .

実施の形態3.
この発明の実施の形態3によるプログラマブルコントローラの構成を示すブロック図は、上記実施の形態2の図3と同じであり、上記実施の形態2と同様に、命令コードが要求するアクセス幅が単位アクセス幅を超える場合について説明する。
Embodiment 3 FIG.
The block diagram showing the configuration of the programmable controller according to the third embodiment of the present invention is the same as FIG. 3 of the second embodiment, and the access width required by the instruction code is the unit access as in the second embodiment. A case where the width is exceeded will be described.

図4はこの発明の実施の形態3で想定するメモリマップ10とデバイス領域設定レジスタ101を示す図である。図4に示すように、メモリマップ10上に複数のデバイス領域0〜6が連続して確保されており、それぞれのデバイス領域0〜6の上限値又は下限値が境界レジスタとして、連続して確保されているデバイス領域0〜6の順番にデバイス境界レジスタ101cに格納されており、これらをまとめてデバイス領域設定レジスタ101とする。このように、メモリマップ10上に複数のデバイス領域が連続して確保され、それぞれのデバイス領域の上限値又は下限値を境界アドレスとして、連続して確保されているデバイス領域0〜6の順番にデバイス領域設定レジスタ101に格納することにより、デバイス領域設定レジスタ101のレジスタ数を削減することができる。   FIG. 4 is a diagram showing the memory map 10 and the device area setting register 101 assumed in the third embodiment of the present invention. As shown in FIG. 4, a plurality of device areas 0 to 6 are continuously secured on the memory map 10, and the upper limit value or lower limit value of each device area 0 to 6 is continuously secured as a boundary register. Are stored in the device boundary register 101c in the order of the device areas 0 to 6, and these are collectively referred to as a device area setting register 101. In this way, a plurality of device areas are continuously secured on the memory map 10, and the upper limit value or lower limit value of each device area is used as a boundary address in the order of the continuously secured device areas 0-6. By storing in the device area setting register 101, the number of registers in the device area setting register 101 can be reduced.

メモリ空間中の連続した領域にデバイス領域を確保する場合、隣接するデバイス領域の上限値と下限値は連続する値となり、上限値に関するチェックは隣接する次のデバイス領域の下限値を用いて実現可能となる。すなわち、デバイス領域n−1の上限値はデバイス領域nの下限値と連続しており、次の式(3)が成立する。
(デバイス領域n−1の上限値)+1=(デバイス領域nの下限値) (3)
When securing device areas in contiguous areas in the memory space, the upper limit value and lower limit value of the adjacent device area are consecutive values, and the upper limit check can be performed using the lower limit value of the next adjacent device area. It becomes. That is, the upper limit value of the device region n-1 is continuous with the lower limit value of the device region n, and the following expression (3) is established.
(Upper limit value of device area n-1) + 1 = (Lower limit value of device area n) (3)

そこで、デバイス領域設定レジスタ101のデバイス境界レジスタ101cにそれぞれのデバイス領域の下限値が格納されている場合には、デバイス領域判定部102は、命令コード取得部12により取得された命令コードに含まれるアドレスが、デバイス領域設定レジスタ101におけるどの境界レジスタの間のアドレスであるかをチェックして、メモリマップ10上のどのデバイス領域にあるかを判定する。上下限値選択部103は、デバイス領域設定レジスタ101を参照して、デバイス領域判定部102により判定されたデバイス領域の連続する境界アドレス(デバイス領域判定部102により判定されたデバイス領域の下限値とメモリマップ10上に確保されている次のデバイス領域の下限値)を選択する。   Therefore, when the lower limit value of each device area is stored in the device boundary register 101c of the device area setting register 101, the device area determination unit 102 is included in the instruction code acquired by the instruction code acquisition unit 12. The boundary between the boundary registers in the device area setting register 101 is checked to determine which device area on the memory map 10 is located. The upper / lower limit value selection unit 103 refers to the device area setting register 101 and refers to the continuous boundary address of the device area determined by the device area determination unit 102 (the lower limit value of the device area determined by the device area determination unit 102 and The lower limit value of the next device area secured on the memory map 10 is selected.

範囲内判定部104は、インデックス修飾部14により算出された最初にアクセスする開始アドレス及び最終アドレス計算部105により算出された最後にアクセスする最終アドレスが、上下限値選択部103により選択されたデバイス領域の連続する境界アドレス(上下限値選択部103により選択されたデバイス領域の下限値とメモリマップ10上に確保されている次のデバイス領域の下限値)の範囲内であるか否かを判定する。すなわち、範囲内判定部104は、デバイス領域nについて領域逸脱の判定を行う場合には、次の式(4)により判定を行う。
(デバイス領域nの下限値)≦アドレス<(デバイス領域n+1の下限値) (4)
上記式(4)において、アドレスは開始アドレス及び最終アドレスを表している。
The in-range determination unit 104 is a device in which the first access start address calculated by the index modification unit 14 and the last access last address calculated by the final address calculation unit 105 are selected by the upper / lower limit value selection unit 103. It is determined whether or not the area is within a range of boundary addresses (the lower limit value of the device area selected by the upper / lower limit value selection unit 103 and the lower limit value of the next device area secured on the memory map 10). To do. In other words, the in-range determination unit 104 performs the determination based on the following equation (4) when determining the departure from the region for the device region n.
(Lower limit value of device area n) ≦ Address <(Lower limit value of device area n + 1) (4)
In the above formula (4), the address represents a start address and a final address.

このとき、範囲内判定部104における上限値判定部104bは、最終アドレス計算部105により算出された実際に最後にアクセスする最終アドレスが、上下限値選択部103により選択されたデバイス領域n+1の下限値未満であるか否かを判定する。また、範囲内判定部104における下限値判定部104aは、インデックス修飾部14により算出された実際に最初にアクセスする開始アドレスが、上下限値選択部103により選択されたデバイス領域nの下限値以上であるか否かを判定する。   At this time, the upper limit determination unit 104 b in the in-range determination unit 104 determines the lower limit of the device region n + 1 in which the last address actually accessed last calculated by the final address calculation unit 105 is selected by the upper / lower limit value selection unit 103. It is determined whether it is less than the value. In addition, the lower limit determination unit 104 a in the in-range determination unit 104 has a start address that is actually accessed first calculated by the index modification unit 14 greater than or equal to the lower limit value of the device region n selected by the upper and lower limit selection unit 103. It is determined whether or not.

一方、デバイス領域設定レジスタ101のデバイス境界レジスタ101cにそれぞれのデバイス領域の上限値が格納されている場合には、デバイス領域判定部102は、命令コード取得部12により取得された命令コードに含まれるアドレスが、デバイス領域設定レジスタ101におけるどの境界レジスタの間のアドレスであるかをチェックして、上下限値選択部103は、デバイス領域設定レジスタ101を参照して、デバイス領域判定部102により判定されたデバイス領域の連続する境界アドレス(デバイス領域判定部102により判定されたデバイス領域のメモリマップ10上に確保されている前のデバイス領域の上限値とデバイス領域判定部102により判定されたデバイス領域の上限値)を選択する。   On the other hand, when the upper limit value of each device area is stored in the device boundary register 101c of the device area setting register 101, the device area determination unit 102 is included in the instruction code acquired by the instruction code acquisition unit 12. The boundary between the boundary registers in the device area setting register 101 is checked, and the upper / lower limit value selection unit 103 is determined by the device area determination unit 102 with reference to the device area setting register 101. Continuous boundary addresses of the device area (the upper limit value of the previous device area secured on the memory map 10 of the device area determined by the device area determination unit 102 and the device area determined by the device area determination unit 102) Select (upper limit).

範囲内判定部104は、インデックス修飾部14により算出された最初にアクセスする開始アドレス及び最終アドレス計算部105により算出された最後にアクセスする最終アドレスが、上下限値選択部103により選択されたデバイス領域の連続する境界アドレス(上下限値選択部103により選択されたデバイス領域のメモリマップ10上に確保されている前のデバイス領域の上限値とデバイス領域判定部102により判定されたデバイス領域の上限値)の範囲内であるか否かを判定する。
すなわち、範囲内判定部104は、デバイス領域nについて領域逸脱の判定を行う場合には、次の式(5)により判定を行う。
(デバイス領域n−1の上限値)<アドレス≦(デバイス領域nの上限値) (5)
上記式(5)において、アドレスは開始アドレス及び最終アドレスを表している。
The in-range determination unit 104 is a device in which the first access start address calculated by the index modification unit 14 and the last access last address calculated by the final address calculation unit 105 are selected by the upper / lower limit value selection unit 103. Consecutive boundary addresses of the areas (the upper limit value of the previous device area secured on the memory map 10 of the device area selected by the upper / lower limit value selection unit 103 and the upper limit of the device area determined by the device area determination unit 102 Value).
In other words, the in-range determination unit 104 performs determination based on the following equation (5) when determining the departure from the region for the device region n.
(Upper limit value of device area n−1) <Address ≦ (Upper limit value of device area n) (5)
In the above formula (5), the address represents a start address and a final address.

このとき、範囲内判定部104における上限値判定部104bは、最終アドレス計算部105により算出された実際に最後にアクセスする最終アドレスが、上下限値選択部103により選択されたデバイス領域nの上限値以下であるか否かを判定する。また、範囲内判定部104における下限値判定部104aは、インデックス修飾部14により算出された実際に最初にアクセスする開始アドレスが、上下限値選択部103により選択されたデバイス領域n−1の上限値を超えるか否かを判定する。   At this time, the upper limit determination unit 104 b in the in-range determination unit 104 determines the upper limit of the device area n in which the last address actually accessed last calculated by the final address calculation unit 105 is selected by the upper / lower limit selection unit 103. It is determined whether or not it is less than or equal to the value. In addition, the lower limit determination unit 104 a in the in-range determination unit 104 has an upper limit of the device region n−1 in which the first access address calculated by the index modification unit 14 is selected by the upper and lower limit selection unit 103. Determine whether the value is exceeded.

範囲内判定部104における結果判定部104cは、下限値判定部104a及び上限値判定部104bによる判定結果が上記式(4)又は式(5)を満足している場合には、インデックス修飾後のアドレスがデバイス領域を逸脱するものではないと判定して、アクセス実行部15にアクセス許可を出力し、下限値判定部104a及び上限値判定部104bによる判定結果が上記式(4)又は式(5)を満足していない場合には、インデックス修飾後のアドレスがデバイス領域を逸脱するものであると判定して、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力すると共にユーザーに通知する。   The result determination unit 104c in the in-range determination unit 104, after the determination result by the lower limit determination unit 104a and the upper limit determination unit 104b satisfies the above formula (4) or formula (5), It is determined that the address does not deviate from the device area, access permission is output to the access execution unit 15, and the determination result by the lower limit determination unit 104a and the upper limit determination unit 104b is the above formula (4) or formula (5). ) Is not satisfied, it is determined that the address after index modification deviates from the device area, and the control unit (not shown) that controls the entire programmable controller stops processing as a programmable controller. Output the request and notify the user.

その他のプログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15、デバイス領域設定レジスタ101及び最終アドレス計算部105の処理は、上記実施の形態2と同様である。   The other processes of the program storage unit 11, instruction code acquisition unit 12, index register 13, index modification unit 14, access execution unit 15, device area setting register 101, and final address calculation unit 105 are the same as those in the second embodiment. is there.

以上のように、この実施の形態3によれば、メモリマップ10上に複数のデバイス領域を連続して確保し、それぞれのデバイス領域の上限値又は下限値を境界アドレスとしてデバイス領域設定レジスタ101に順番に格納し、領域逸脱判定部100が命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するか否かを判定することにより、上記実施の形態2より少ないデバイス領域設定レジスタ101のレジスタ数で、上記実施の形態2と同じ効果が得られる。   As described above, according to the third embodiment, a plurality of device areas are continuously secured on the memory map 10, and the upper limit value or lower limit value of each device area is used as a boundary address in the device area setting register 101. By storing in order, the area deviation determination unit 100 determines whether the address included in the instruction code and the address after index modification belong to the same device area, thereby reducing the device area setting register 101 as compared with the second embodiment. With the number of registers, the same effect as in the second embodiment can be obtained.

実施の形態4.
図5はこの発明の実施の形態4で想定するメモリマップ10とデバイス領域設定レジスタ101を示す図である。図5に示すメモリマップ10には、上記実施の形態3の図4と同様に、複数のデバイス領域0〜6が連続して確保されているが、それぞれのデバイス領域の境界アドレスがデバイス境界レジスタ101cに順不同に格納されており、これらをまとめてデバイス領域設定レジスタ101としている点が図4と異なっている。このように、このデバイス境界レジスタ101cには境界アドレスを任意に設定することができる。なお、それぞれのデバイス領域の境界アドレスとしてはデバイス領域0〜6の上限値又は下限値が格納されているものとする。
Embodiment 4 FIG.
FIG. 5 is a diagram showing the memory map 10 and the device area setting register 101 assumed in the fourth embodiment of the present invention. In the memory map 10 shown in FIG. 5, a plurality of device areas 0 to 6 are continuously secured as in FIG. 4 of the third embodiment, but the boundary address of each device area is a device boundary register. 101c is stored in random order, and these are collectively used as the device area setting register 101, which is different from FIG. Thus, the boundary address can be arbitrarily set in the device boundary register 101c. It is assumed that the upper limit value or the lower limit value of the device areas 0 to 6 is stored as the boundary address of each device area.

図6はこの発明の実施の形態4によるプログラマブルコントローラの構成を示すブロック図である。このプログラマブルコントローラは、上記実施の形態1の図2に示すプログラマブルコントローラと同様に、プログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100を備えているが、領域逸脱判定部100の構成が図2と異なる。
図6において、領域逸脱判定部100は、デバイス領域設定レジスタ101、デバイス境界比較部(第1のデバイス境界比較部)106、デバイス境界比較部(第2のデバイス境界比較部)107及び比較結果判定部109を備えている。
FIG. 6 is a block diagram showing a configuration of a programmable controller according to the fourth embodiment of the present invention. This programmable controller is similar to the programmable controller shown in FIG. 2 of the first embodiment, and includes a program storage unit 11, an instruction code acquisition unit 12, an index register 13, an index modification unit 14, an access execution unit 15, and an area departure determination unit. 100, but the configuration of the area departure determination unit 100 is different from that shown in FIG.
In FIG. 6, the region deviation determination unit 100 includes a device region setting register 101, a device boundary comparison unit (first device boundary comparison unit) 106, a device boundary comparison unit (second device boundary comparison unit) 107, and a comparison result determination. Part 109 is provided.

デバイス境界比較部106は命令コード取得部12により取得された命令コードに含まれるアドレスとデバイス領域設定レジスタ101の全てのデバイス境界レジスタ101cに格納されている境界アドレスとの大小比較を行って比較結果を出力する。例えば、デバイス境界比較部106は、命令コードに含まれるアドレスがデバイス領域設定レジスタ101におけるデバイス境界レジスタ0の境界アドレスより大きいか否かをチェックして成立すれば「1」とし、次に命令コードに含まれるアドレスがデバイス領域設定レジスタ101におけるデバイス境界レジスタ1の境界アドレスより大きいか否かをチェックして成立すれば「1」とし、以下、順に、命令コードに含まれるアドレスとデバイス領域設定レジスタ101におけるデバイス境界レジスタ2〜7の境界アドレスとの比較を行い、8ビットの比較結果を得て出力する。   The device boundary comparison unit 106 compares the addresses included in the instruction code acquired by the instruction code acquisition unit 12 with the boundary addresses stored in all the device boundary registers 101c of the device area setting register 101, and compares the result. Is output. For example, the device boundary comparison unit 106 checks whether the address included in the instruction code is larger than the boundary address of the device boundary register 0 in the device area setting register 101, and sets “1”. If it is established by checking whether the address included in the device area setting register 101 is greater than the boundary address of the device boundary register 1 in the device area setting register 101, the address is set to “1”. A comparison is made with the boundary addresses of the device boundary registers 2 to 7 in 101, and an 8-bit comparison result is obtained and output.

デバイス境界比較部107は、デバイス境界比較部106と同様にして、インデックス修飾部14により算出された実際にアクセスするアドレスとデバイス領域設定レジスタ101の全てのデバイス境界レジスタ101cに格納されている境界アドレスとの大小比較を行って例えば8ビットの比較結果を出力する。   Similar to the device boundary comparison unit 106, the device boundary comparison unit 107 and the boundary address stored in all the device boundary registers 101 c of the device area setting register 101 and the actual access address calculated by the index modification unit 14. And a comparison result of, for example, 8 bits is output.

比較結果判定部109は、デバイス境界比較部106により出力された例えば8ビットの比較結果とデバイス境界比較部107により出力された例えば8ビットの比較結果が一致した場合には、命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するものと判定し、インデックス修飾後のアドレスがデバイス領域を逸脱するものではないと判定して、アクセス実行部15にアクセス許可を出力する。   The comparison result determination unit 109 is included in the instruction code when, for example, the 8-bit comparison result output from the device boundary comparison unit 106 matches the 8-bit comparison result output from the device boundary comparison unit 107, for example. It is determined that the address and the address after index modification belong to the same device area, it is determined that the address after index modification does not depart from the device area, and access permission is output to the access execution unit 15.

一方、比較結果判定部109は、デバイス境界比較部106により出力された例えば8ビットの比較結果とデバイス境界比較部107により出力された例えば8ビットの比較結果が一致しない場合には、命令コードに含まれるアドレスとインデックス修飾後のアドレスが異なるデバイス領域に属するものと判定し、インデックス修飾後のアドレスがデバイス領域を逸脱するものであると判定して、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力すると共にユーザーに通知する。   On the other hand, if the comparison result determination unit 109 does not match the 8-bit comparison result output from the device boundary comparison unit 106 with the 8-bit comparison result output from the device boundary comparison unit 107, for example, A control unit (not shown) that determines that the included address and the address after index modification belong to different device areas, determines that the address after index modification deviates from the device area, and controls the entire programmable controller. A request to stop the process as a programmable controller and notify the user.

その他のプログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14及びアクセス実行部15の処理は、上記実施の形態1と同様である。   Other processes of the program storage unit 11, the instruction code acquisition unit 12, the index register 13, the index modification unit 14, and the access execution unit 15 are the same as those in the first embodiment.

以上のように、この実施の形態4によれば、メモリマップ10上に複数のデバイス領域を連続して確保し、それぞれのデバイス領域の境界アドレスをデバイス領域設定レジスタ101に順不同に格納し、領域逸脱判定部100が、命令コードに含まれるアドレスとデバイス領域設定レジスタ101に格納されている全ての境界アドレスを比較し、インデックス修飾後のアドレスとデバイス領域設定レジスタ101に格納されている全ての境界アドレスを比較して、命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するか否かを判定することにより、それぞれのデバイス領域の境界アドレスをデバイス領域設定レジスタ101に順不同に格納しても、上記実施の形態1より少ないデバイス領域設定レジスタ101のレジスタ数で、上記実施の形態1と同じ効果が得られる。   As described above, according to the fourth embodiment, a plurality of device areas are continuously secured on the memory map 10, and boundary addresses of the respective device areas are stored in the device area setting register 101 in any order. The deviation determination unit 100 compares the address included in the instruction code with all the boundary addresses stored in the device area setting register 101, and the index-modified address and all the boundaries stored in the device area setting register 101 By comparing the addresses and determining whether the address included in the instruction code and the address after index modification belong to the same device area, the boundary address of each device area is stored in the device area setting register 101 in any order. Even so, there are fewer device area setting registers than in the first embodiment. Register number of 101, the same effect as the first embodiment can be obtained.

実施の形態5.
図7はこの発明の実施の形態5によるプログラマブルコントローラの構成を示すブロック図である。このプログラマブルコントローラは、上記実施の形態1の図2に示すプログラマブルコントローラと同様に、プログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100を備えているが、領域逸脱判定部100の構成が図2と異なる。
Embodiment 5 FIG.
FIG. 7 is a block diagram showing a configuration of a programmable controller according to the fifth embodiment of the present invention. This programmable controller is similar to the programmable controller shown in FIG. 2 of the first embodiment, and includes a program storage unit 11, an instruction code acquisition unit 12, an index register 13, an index modification unit 14, an access execution unit 15, and an area departure determination unit. 100, but the configuration of the area departure determination unit 100 is different from that shown in FIG.

図7において、領域逸脱判定部100は、デバイス領域設定レジスタ101、最終アドレス計算部105、デバイス境界比較部(第1のデバイス境界比較部)106、デバイス境界比較部(第2のデバイス境界比較部)107、デバイス境界比較部(第3のデバイス境界比較部)108及び比較結果判定部109を備えており、上記実施の形態4の図6に示す領域逸脱判定部100に、最終アドレス計算部105及びデバイス境界比較部108を追加したものであり、この実施の形態5では、上記実施の形態2と同様に、命令コードが要求するアクセス幅が単位アクセス幅を超える場合について説明する。
なお、この発明の実施の形態5で想定するメモリマップ10とデバイス領域設定レジスタ101を示す図は、上記実施の形態4の図5と同じである。
In FIG. 7, the area deviation determination unit 100 includes a device area setting register 101, a final address calculation unit 105, a device boundary comparison unit (first device boundary comparison unit) 106, a device boundary comparison unit (second device boundary comparison unit). ) 107, a device boundary comparison unit (third device boundary comparison unit) 108, and a comparison result determination unit 109. The region deviation determination unit 100 shown in FIG. In the fifth embodiment, a case where the access width required by the instruction code exceeds the unit access width will be described in the fifth embodiment.
The diagram showing the memory map 10 and the device area setting register 101 assumed in the fifth embodiment of the present invention is the same as FIG. 5 in the fourth embodiment.

最終アドレス計算部105は、上記実施の形態2の最終アドレス計算部105と同様にして、インデックス修飾部14により出力された実際に最初にアクセスする開始アドレスとアドレス幅に基づき、最後にアクセスする最終アドレスを算出する。   The final address calculation unit 105 is the same as the final address calculation unit 105 of the second embodiment described above, based on the start address and the address width that are actually accessed first and output by the index modification unit 14. Calculate the address.

デバイス境界比較部108は、上記実施の形態4のデバイス境界比較部106と同様にして、最終アドレス計算部105により算出された実際に最後にアクセスする最終アドレスとデバイス領域設定レジスタ101の全てのデバイス境界レジスタ101cに格納されている境界アドレスとの大小比較を行って例えば8ビットの比較結果を出力する。   The device boundary comparison unit 108 is the same as the device boundary comparison unit 106 of the fourth embodiment, and the last address actually accessed last calculated by the final address calculation unit 105 and all devices in the device area setting register 101. A size comparison with the boundary address stored in the boundary register 101c is performed and, for example, an 8-bit comparison result is output.

比較結果判定部109は、デバイス境界比較部106により出力された例えば8ビットの比較結果とデバイス境界比較部107により出力された例えば8ビットの比較結果とデバイス境界比較部108により出力された例えば8ビットの比較結果とが全て一致した場合には、命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するものと判定し、インデックス修飾後のアドレスがデバイス領域を逸脱するものではないと判定して、アクセス実行部15にアクセス許可を出力する。   For example, the comparison result determination unit 109 outputs an 8-bit comparison result output from the device boundary comparison unit 106, an 8-bit comparison result output from the device boundary comparison unit 107, and an output from the device boundary comparison unit 108, for example, 8 If all bit comparison results match, it is determined that the address included in the instruction code and the address after index modification belong to the same device area, and the address after index modification does not deviate from the device area. And the access permission is output to the access execution unit 15.

一方、比較結果判定部109は、デバイス境界比較部106により出力された例えば8ビットの比較結果とデバイス境界比較部107により出力された例えば8ビットの比較結果とデバイス境界比較部108により出力された例えば8ビットの比較結果とが一致しない場合には、命令コードに含まれるアドレスとインデックス修飾後のアドレスが異なるデバイス領域に属するものと判定し、インデックス修飾後のアドレスがデバイス領域を逸脱するものであると判定して、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力すると共にユーザーに通知する。   On the other hand, the comparison result determination unit 109 outputs, for example, the 8-bit comparison result output from the device boundary comparison unit 106, the 8-bit comparison result output from the device boundary comparison unit 107, and the device boundary comparison unit 108. For example, when the 8-bit comparison result does not match, it is determined that the address included in the instruction code and the address after index modification belong to different device areas, and the address after index modification deviates from the device area. It judges that there exists and outputs the stop request | requirement of the process as a programmable controller to the control part (not shown) which controls the whole programmable controller, and notifies a user.

アクセス実行部15は、上記実施の形態2と同様に、領域逸脱判定部100から出力されたアクセス許可に基づき、インデックス修飾部14から出力された実際にアクセスするアドレスとアドレス幅を用いてデバイス領域へのアクセスを行う。   As in the second embodiment, the access execution unit 15 uses the address and address width actually accessed output from the index modification unit 14 based on the access permission output from the region departure determination unit 100. Access to.

その他のプログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、デバイス領域設定レジスタ101、デバイス境界比較部106及びデバイス境界比較部107の処理は、上記実施の形態4と同様である。   Other processes of the program storage unit 11, the instruction code acquisition unit 12, the index register 13, the index modification unit 14, the device area setting register 101, the device boundary comparison unit 106, and the device boundary comparison unit 107 are the same as those in the fourth embodiment. It is.

以上のように、この実施の形態5によれば、メモリマップ10上に複数のデバイス領域を連続して確保し、それぞれのデバイス領域の境界アドレスをデバイス領域設定レジスタ101に順不同に格納し、領域逸脱判定部100が、命令コードに含まれるアドレスとデバイス領域設定レジスタ101に格納されている全ての境界アドレスを比較し、インデックス修飾後の最初のアクセスの開始アドレスとデバイス領域設定レジスタ101に格納されている全ての境界アドレスを比較し、インデックス修飾後の最後のアクセスの最終アドレスとデバイス領域設定レジスタ101に格納されている全ての境界アドレスを比較して、命令コードに含まれるアドレスとインデックス修飾後のアドレスが同じデバイス領域に属するか否かを判定することにより、それぞれのデバイス領域の境界アドレスをデバイス領域設定レジスタ101に順不同に格納しても、命令コードが要求するアクセス幅が単位アクセス幅を超える場合でも、上記実施の形態1より少ないデバイス領域設定レジスタ101のレジスタ数で、上記実施の形態1と同じ効果が得られる。   As described above, according to the fifth embodiment, a plurality of device areas are continuously secured on the memory map 10, and boundary addresses of the respective device areas are stored in the device area setting register 101 in any order. The deviation determination unit 100 compares the address included in the instruction code with all the boundary addresses stored in the device area setting register 101, and stores the first access start address after the index modification and the device area setting register 101. All boundary addresses are compared, the last address of the last access after index modification is compared with all boundary addresses stored in the device area setting register 101, and the address included in the instruction code is after index modification. To determine whether the addresses belong to the same device area Even if the boundary addresses of the respective device areas are stored in the device area setting register 101 in random order, even if the access width requested by the instruction code exceeds the unit access width, the device area setting register is smaller than that in the first embodiment. With the number of registers of 101, the same effect as in the first embodiment can be obtained.

実施の形態6.
図8はこの発明の実施の形態6によるプログラマブルコントローラの構成を示すブロック図である。このプログマブルコントローラは、上記実施の形態1の図2に示すプログラマブルコントローラと同様に、プログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100を備えているが、領域逸脱判定部100の構成は、上記実施の形態1の図2、上記実施の形態2の図3、上記実施の形態4の図6、上記実施の形態5の図7のいずれの構成でも良い。
Embodiment 6 FIG.
FIG. 8 is a block diagram showing a configuration of a programmable controller according to the sixth embodiment of the present invention. This programmable controller is similar to the programmable controller shown in FIG. 2 of the first embodiment, and includes a program storage unit 11, an instruction code acquisition unit 12, an index register 13, an index modification unit 14, an access execution unit 15, and an area deviation. Although the determination unit 100 is provided, the configuration of the region departure determination unit 100 is as shown in FIG. 2 of the first embodiment, FIG. 3 of the second embodiment, FIG. 6 of the fourth embodiment, and the fifth embodiment. Any of the configurations shown in FIG.

上記各実施の形態では、領域逸脱判定部100が領域逸脱判定を実施してアクセス実行部15にアクセス許可を出力後に、アクセス実行部15がインデックス修飾部14から出力されたインデックス修飾後の実際にアクセスするアドレスを用いてデバイス領域へのアクセスを行っている。この実施の形態6では、アクセス実行部15がデバイス領域へのライトアクセスを行う場合には、上記各実施の形態と同様の処理を行うが、アクセス実行部15がデバイス領域へのリードアクセスを行う場合には、領域逸脱判定部100による領域逸脱判定の結果を待たずにデバイス領域へのリードアクセスを行い、デバイス領域へのリードアクセス中に、領域逸脱判定部100が領域逸脱判定を実施して、デバイス領域を逸脱している場合に、アクセス実行部15にアクセス無効を出力してリードアクセスを停止させ、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力すると共にユーザーに通知する。   In each of the above-described embodiments, after the region departure determination unit 100 performs region departure determination and outputs access permission to the access execution unit 15, the access execution unit 15 actually performs the index modification output from the index modification unit 14. The device area is accessed using the address to be accessed. In the sixth embodiment, when the access execution unit 15 performs write access to the device area, the same processing as in each of the above embodiments is performed, but the access execution unit 15 performs read access to the device area. In this case, read access to the device area is performed without waiting for the result of the area departure determination by the area departure determination unit 100, and the area departure determination unit 100 performs the area departure determination during the read access to the device area. When the device area is deviated, an access invalidity is output to the access execution unit 15 to stop the read access, and a control unit (not shown) that controls the entire programmable controller requests a process stop as a programmable controller. And notify the user.

デバイス領域へのリードアクセスの場合には、本来アクセスすべきデバイス領域を逸脱してリードアクセスを行っても、デバイス領域のデータ破壊等の実害がないため、リードアクセスの場合には、領域逸脱判定部100による領域逸脱判定後にアクセス実行部15によるデバイス領域へのリードアクセスという手順を踏まずに、アクセス実行部15によるデバイス領域へのリードアクセス中に領域逸脱判定部100による領域逸脱判定を実施する。この処理により、命令コードによるプログマブルコントローラとしての処理をライトアクセスの場合と比較して高速にすることができる。   In the case of read access to the device area, even if read access is performed outside the device area that should be accessed, there is no actual damage such as data destruction in the device area. The region departure determination unit 100 performs the region departure determination during the read access to the device region by the access execution unit 15 without following the procedure of read access to the device region by the access execution unit 15 after the region departure determination by the unit 100. . By this processing, the processing as a programmable controller by the instruction code can be made faster than in the case of write access.

以上のように、この実施の形態6によれば、上記実施の形態1から上記実施の形態5と同じ効果が得られると共に、デバイス領域へのリードアクセスの場合には、デバイス領域へのリードアクセス中に、領域逸脱判定部100による領域逸脱判定を実施することにより、プログマブルコントローラとしての処理をライトアクセスの場合と比較して高速にすることができるという効果が得られる。   As described above, according to the sixth embodiment, the same effects as those of the first to fifth embodiments can be obtained, and in the case of read access to the device area, read access to the device area. In particular, by executing the region departure determination by the region departure determining unit 100, the effect as a programmable controller can be speeded up as compared with the case of write access.

実施の形態7.
図9はこの発明の実施の形態7で想定するメモリマップ10とデバイス領域設定レジスタ101を示す図である。図9では、メモリマップ10上に複数のデバイス領域が連続して確保されており、それぞれのデバイス領域0〜6の上限値又は下限値が境界アドレスとしてデバイス領域設定レジスタ101のデバイス境界レジスタ101cに順番に格納されている点は、上記実施の形態3の図4と同じであるが、図9では、さらにデバイス領域属性レジスタ101dを追加し、デバイス境界レジスタ101cとデバイス領域属性レジスタ101dをまとめてデバイス領域設定レジスタ101としている。このデバイス境界レジスタ101cで区切られたデバイス領域に対して、デバイス領域属性レジスタ101dによって該デバイス領域の属性情報を設定することができる。
Embodiment 7 FIG.
FIG. 9 is a diagram showing the memory map 10 and the device area setting register 101 assumed in the seventh embodiment of the present invention. In FIG. 9, a plurality of device areas are continuously secured on the memory map 10, and the upper limit value or lower limit value of each of the device areas 0 to 6 is stored in the device boundary register 101c of the device area setting register 101 as a boundary address. The points are stored in order as in FIG. 4 of the third embodiment. In FIG. 9, a device area attribute register 101d is further added, and the device boundary register 101c and the device area attribute register 101d are combined. The device area setting register 101 is used. With respect to the device area delimited by the device boundary register 101c, attribute information of the device area can be set by the device area attribute register 101d.

デバイス領域の属性情報としては、要求する処理内容を記述した属性情報である、例えばプログラム停止要求や、ユーザーへの不正通知要求や、デバイス領域のアクセス禁止要求や、不正通知の有無や、異常発生時のプログラム停止の有無等がある。   The device area attribute information is attribute information describing the requested processing content, for example, a program stop request, an unauthorized notification request to the user, an access prohibition request for the device area, the presence or absence of an unauthorized notification, or an error There is the presence or absence of program stop at the time.

図10はこの発明の実施の形態7によるプログラマブルコントローラの構成を示すブロック図である。このプログラマブルコントローラは、上記実施の形態2及び上記実施の形態3の図3に示すプログラマブルコントローラと同様に、プログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100を備えているが、領域逸脱判定部100の構成が図3と異なる。   FIG. 10 is a block diagram showing a configuration of a programmable controller according to the seventh embodiment of the present invention. This programmable controller is similar to the programmable controller shown in FIG. 3 of the second embodiment and the third embodiment, and includes a program storage unit 11, an instruction code acquisition unit 12, an index register 13, an index modification unit 14, and an access execution unit. 15 and the region departure determination unit 100, the configuration of the region departure determination unit 100 is different from that of FIG.

図10において、領域逸脱判定部100は、デバイス領域設定レジスタ101、デバイス領域判定部102、上下限値選択部103、範囲内判定部104、最終アドレス計算部105及びデバイス領域属性選択部110を備え、デバイス領域設定レジスタ101はデバイス境界レジスタ101c及びデバイス領域属性レジスタ101dを備え、範囲内判定部104は、下限値判定部104a、上限値判定部104b及び結果判定部104cを備えており、図3の構成と比較して、デバイス領域属性レジスタ101d及びデバイス領域属性選択部110が追加されている。   In FIG. 10, the area departure determination unit 100 includes a device area setting register 101, a device area determination unit 102, an upper / lower limit value selection unit 103, an in-range determination unit 104, a final address calculation unit 105, and a device area attribute selection unit 110. The device area setting register 101 includes a device boundary register 101c and a device area attribute register 101d, and the in-range determination unit 104 includes a lower limit determination unit 104a, an upper limit determination unit 104b, and a result determination unit 104c. Compared with the configuration of FIG. 8, a device area attribute register 101d and a device area attribute selection unit 110 are added.

デバイス領域判定部102は、命令コード取得部12により取得された命令コードに含まれるアドレスが、デバイス領域設定レジスタ101のデバイス境界レジスタにおけるどの境界レジスタ間のアドレスであるかをチェックして、メモリマップ10上のどのデバイス領域にあるかを判定する。上下限値選択部103は、デバイス領域設定レジスタ101のデバイス境界レジスタ101cを参照して、デバイス領域判定部102により判定されたデバイス領域の連続する境界アドレス(下限値又は上限値)を選択する。   The device area determination unit 102 checks which boundary register in the device boundary register of the device area setting register 101 the address included in the instruction code acquired by the instruction code acquisition unit 12 is memory map 10 to determine which device region is present. The upper / lower limit value selection unit 103 refers to the device boundary register 101c of the device area setting register 101, and selects the boundary address (lower limit value or upper limit value) of the device area determined by the device area determination unit 102.

デバイス領域属性選択部110は、デバイス領域設定レジスタ101のデバイス属性レジスタ101dを参照して、デバイス領域判定部102により判定されたデバイス領域の属性情報を選択する。範囲内判定部104における結果判定部104cは、下限値判定部104a及び上限値判定部104bによりインデックス修飾後のアドレスがデバイス領域を逸脱するものであると判定した場合には、デバイス領域属性選択部110により選択されたデバイス領域の属性情報に基づいて要求する処理内容を出力する。   The device area attribute selection unit 110 refers to the device attribute register 101 d of the device area setting register 101 and selects the attribute information of the device area determined by the device area determination unit 102. When the result determination unit 104c in the in-range determination unit 104 determines that the address after index modification deviates from the device region by the lower limit determination unit 104a and the upper limit determination unit 104b, the device region attribute selection unit The processing content requested based on the attribute information of the device area selected in 110 is output.

結果判定部104cは、選択されたデバイス領域の属性情報が異常発生時のプログラム停止要求であれば、プログラマブルコントローラ全体を制御する制御部(図示せず)にプログラマブルコントローラとしての処理の停止要求を出力し、属性情報がユーザーへの不正通知要求であれば、ユーザーへの不正通知要求を出力する。また、結果判定部104cは、属性情報がデバイス領域のアクセス禁止要求であれば、アクセス実行部15に対してアクセス許可の出力を停止することによりアクセス禁止を実現する。このとき、結果判定部104cは、上記実施の形態5に示したように、リードアクセスは常に実施し、ライトアクセスのみを禁止することも可能である。   If the attribute information of the selected device area is a program stop request when an abnormality occurs, the result determination unit 104c outputs a request to stop processing as a programmable controller to a control unit (not shown) that controls the entire programmable controller. If the attribute information is a request for fraud notification to the user, the fraud notification request to the user is output. In addition, if the attribute information is a device area access prohibition request, the result determination unit 104c realizes access prohibition by stopping the access execution unit 15 from outputting access permission. At this time, as shown in the fifth embodiment, the result determination unit 104c can always perform read access and prohibit only write access.

その他のプログラム格納部11、命令コード取得部12、インデックスレジスタ13、インデックス修飾部14、アクセス実行部15、最終アドレス計算部105、下限値判定部104a及び上限値判定部104bの処理は、上記実施の形態3と同様である。   The processing of the other program storage unit 11, instruction code acquisition unit 12, index register 13, index modification unit 14, access execution unit 15, final address calculation unit 105, lower limit determination unit 104a, and upper limit determination unit 104b is performed as described above. This is the same as the third embodiment.

以上のように、この実施の形態7によれば、上記実施の形態3と同じ効果が得られると共に、設定された属性情報に基づき要求する処理を出力することができるという効果が得られる。   As described above, according to the seventh embodiment, the same effect as in the third embodiment can be obtained, and an effect that the requested process can be output based on the set attribute information can be obtained.

実施の形態8.
図11はこの発明の実施の形態8で想定するメモリマップ10を示す図である。プログラム格納部11にプログラムと共にそのプログラム用のデバイス領域に関するデバイス領域情報を格納し、実行プログラムの切り替え時にデバイス領域設定レジスタ101を変更することにより、プログラム毎にメモリマップ10を変更することが可能である。図11ではプログラム格納部11におけるプログラム1を格納する領域にプログラム1用のデバイス領域情報51を格納し、プログラム2を格納する領域にプログラム2用のデバイス領域情報52を格納している。例えば、デバイス領域情報51にはデバイス境界レジスタ101cとデバイス領域属性レジスタ101dに設定すべき情報が含まれており、プログラム1の実行前に該情報をデバイス境界レジスタ101cとデバイス領域属性レジスタ101dに設定してからプログラム1を実行する。
Embodiment 8 FIG.
FIG. 11 is a diagram showing a memory map 10 assumed in the eighth embodiment of the present invention. It is possible to change the memory map 10 for each program by storing device area information regarding the device area for the program together with the program in the program storage unit 11 and changing the device area setting register 101 when switching the execution program. is there. In FIG. 11, device area information 51 for program 1 is stored in an area for storing program 1 in program storage unit 11, and device area information 52 for program 2 is stored in an area for storing program 2. For example, the device area information 51 includes information to be set in the device boundary register 101c and the device area attribute register 101d, and the information is set in the device boundary register 101c and the device area attribute register 101d before the program 1 is executed. Then, program 1 is executed.

図12はこの発明の実施の形態8によるプログラマブルコントローラの構成を示すブロック図である。このプログラマブルコントローラは、上記実施の形態7の図10に示すプログラマブルコントローラに、実行プログラム指示部16及びデバイス領域設定部17を追加したものであり、その他の構成は図10と同じである。   12 is a block diagram showing a configuration of a programmable controller according to an eighth embodiment of the present invention. This programmable controller is obtained by adding an execution program instruction unit 16 and a device area setting unit 17 to the programmable controller shown in FIG. 10 of the seventh embodiment, and the other configurations are the same as those in FIG.

図12において、プログラム格納部11はプログラムとそのプログラム用のデバイス領域に関するデバイス領域情報を格納している。実行プログラム指示部16は、ユーザーからの指示又は割り込みによるイベント発生時の指示に基づき、命令コード取得部12及びデバイス領域設定部17に実行するプログラムを通知する。命令コード取得部12は実行プログラム指示部16より通知されたプログラムの命令コードをプログラム格納部11から取得する。   In FIG. 12, a program storage unit 11 stores device area information relating to a program and a device area for the program. The execution program instruction unit 16 notifies the instruction code acquisition unit 12 and the device area setting unit 17 of the program to be executed based on an instruction from the user or an instruction when an event occurs due to an interrupt. The instruction code acquisition unit 12 acquires the instruction code of the program notified from the execution program instruction unit 16 from the program storage unit 11.

デバイス領域設定部17は、実行プログラム指示部16より通知されたプログラムについて、そのプログラム用のデバイス領域情報をプログラム格納部11から取得し、取得したデバイス領域情報に基づき、指示されたプログラムに対応するデバイス境界レジスタ101c及びデバイス属性レジスタ101dを設定する。
その他のインデックスレジスタ13、インデックス修飾部14、アクセス実行部15及び領域逸脱判定部100の処理は、上記実施の形態7と同様である。
The device area setting unit 17 acquires device area information for the program notified from the execution program instruction unit 16 from the program storage unit 11 and corresponds to the instructed program based on the acquired device area information. The device boundary register 101c and the device attribute register 101d are set.
The other processes of the index register 13, the index modification unit 14, the access execution unit 15, and the area departure determination unit 100 are the same as those in the seventh embodiment.

この実施の形態8では、領域逸脱判定部100の構成を上記実施の形態7と同じ構成を使用しているが、上記実施の形態1から上記実施の形態5の領域逸脱判定部100の構成を使用しても良い。   In the eighth embodiment, the configuration of the region departure determining unit 100 is the same as that of the seventh embodiment, but the configuration of the region departure determining unit 100 of the first to fifth embodiments is the same. May be used.

以上のように、この実施の形態8によれば、上記実施の形態7と同じ効果が得られると共に、デバイス領域設定部17が、プログラム格納部11から取得したデバイス領域情報に基づき、指示されたプログラムに対応してデバイス領域設定レジスタ101を設定することにより、プログラム毎にアクセス可能なローカルデバイス領域を実現することができるという効果が得られる。   As described above, according to the eighth embodiment, the same effect as in the seventh embodiment can be obtained, and the device area setting unit 17 is instructed based on the device area information acquired from the program storage unit 11. By setting the device area setting register 101 corresponding to a program, an effect is obtained that a local device area accessible for each program can be realized.

この実施の形態8では、デバイス領域が連続して割り当てられているが、デバイス領域が連続して割り当てられていない場合には、アクセスできない領域に、属性情報としてアクセス禁止要求を割り当てることにより、この実施の形態8を実現することができる。   In the eighth embodiment, the device area is continuously allocated. However, when the device area is not continuously allocated, an access prohibition request is allocated as attribute information to an inaccessible area. The eighth embodiment can be realized.

実施の形態9.
図13はこの発明の実施の形態8で想定するメモリマップ10を示す図である。この実施の形態9は、デバイス領域設定レジスタ101におけるデバイス境界レジスタ101cとデバイス領域属性レジスタ101dを、プログラムにより変更可能な機構を持ち、プログラムの実行状況に応じてこれらのデバイス領域設定レジスタ101を変更し、各時点で必要なチェックを実現することによって、仮想的にデバイス領域の数を増加させるものである。この方式では最低1組のデバイス領域設定レジスタ101が存在すれば実現可能であるが、ここでは複数のデバイス領域設定レジスタ101が存在することを利用して、できるだけ変更回数の少ない方法を採用することが可能である。
Embodiment 9 FIG.
FIG. 13 shows a memory map 10 assumed in the eighth embodiment of the present invention. In the ninth embodiment, a device boundary register 101c and a device area attribute register 101d in the device area setting register 101 have a mechanism that can be changed by a program, and these device area setting registers 101 are changed according to the execution state of the program. In addition, the number of device areas is virtually increased by realizing necessary checks at each time point. This method can be realized if there is at least one set of device area setting register 101, but here, using the existence of a plurality of device area setting registers 101, a method with as few changes as possible is adopted. Is possible.

この発明の実施の形態9によるプログマブルコントローラの構成を示すブロック図は、上記実施の形態8の図12と同じである。
図12において、デバイス領域設定部17は、上記実施の形態8と同様に、実行プログラム指示部16より通知されたプログラム1について、そのプログラム1用のデバイス領域情報51をプログラム格納部11から取得し、取得したデバイス領域情報51に基づき、指示されたプログラム1に対応するデバイス領域設定レジスタ101におけるデバイス境界レジスタ101c及びデバイス属性レジスタ101dを設定する。
The block diagram showing the configuration of the programmable controller according to the ninth embodiment of the present invention is the same as FIG. 12 of the eighth embodiment.
In FIG. 12, the device area setting unit 17 acquires the device area information 51 for the program 1 from the program storage unit 11 for the program 1 notified from the execution program instruction unit 16 as in the eighth embodiment. Based on the acquired device area information 51, the device boundary register 101c and the device attribute register 101d in the device area setting register 101 corresponding to the designated program 1 are set.

また、デバイス領域設定部17は、プログラム1に含まれているデバイス領域の変更命令1−4,1−5に基づき、デバイス領域設定レジスタ101におけるデバイス境界レジスタ101c及びデバイス属性レジスタ101dの設定を変更する。   The device area setting unit 17 changes the settings of the device boundary register 101c and the device attribute register 101d in the device area setting register 101 based on the device area change instructions 1-4 and 1-5 included in the program 1. To do.

すなわち、図13では、仮想的にプログラム1を、プログラム1−1,1−2,1−3の3つに分割し、プログラム1−2とプログラム1−3の実行前にデバイス領域の変更命令1−4,1−5が設けられている。デバイス領域設定部17は、例えばデバイス領域1,2のように全てのプログラムで使用する領域に関する設定は変更せず、デバイス領域3−1,3−2,3−3のようにプログラム中の一部分でしか使用しないデバイス領域に関する設定を途中で変更することにより、図13に示す例では、5つのデバイス領域1,2,3−1,3−2,3−3を3組のデバイス領域設定レジスタ101で実現することが可能である。   That is, in FIG. 13, the program 1 is virtually divided into three programs 1-1, 1-2, and 1-3, and a device area change instruction is executed before the execution of the programs 1-2 and 1-3. 1-4 and 1-5 are provided. For example, the device area setting unit 17 does not change the settings related to the areas used in all programs such as the device areas 1 and 2, and a part of the program such as the device areas 3-1, 3-2 and 3-3. In the example shown in FIG. 13, five device areas 1, 2, 3-1, 3-2, and 3-3 are grouped into three sets of device area setting registers. 101 can be realized.

なお、プログラム1中にデバイス領域の変更命令1−4,1−5を埋め込む方法としては、コンパイラや開発環境による自動挿入が可能であるが、ユーザーにデバイス領域変更命令を開示し、ユーザーがプログラム1中にデバイス領域変更命令1−4,1−5を記述することにより、デバイス領域内のユーザーが指定した任意の箇所について、デバイス領域からの逸脱検出が可能となる。   As a method of embedding the device area change instructions 1-4 and 1-5 in the program 1, automatic insertion by a compiler or a development environment is possible. However, the device area change instruction is disclosed to the user, and the user program By describing the device area change instructions 1-4 and 1-5 in 1, deviation from the device area can be detected at any location designated by the user in the device area.

以上のように、この実施の形態9によれば、上記実施の形態8と同じ効果が得られると共に、プログラム1によりデバイス領域設定レジスタ101の設定を変更することができ、デバイス領域設定レジスタ101の数が少ない場合でも、多くのデバイス領域を動的に設定することができるという効果が得られる。   As described above, according to the ninth embodiment, the same effect as in the eighth embodiment can be obtained, and the setting of the device area setting register 101 can be changed by the program 1, and the device area setting register 101 Even when the number is small, it is possible to dynamically set many device areas.

この発明の実施の形態1で想定するメモリマップとデバイス領域設定レジスタを示す図である。It is a figure which shows the memory map and device area | region setting register which are assumed in Embodiment 1 of this invention. この発明の実施の形態1によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 1 of this invention. この発明の実施の形態2によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 2 of this invention. この発明の実施の形態3で想定するメモリマップとデバイス領域設定レジスタを示す図である。It is a figure which shows the memory map and device area | region setting register which are assumed in Embodiment 3 of this invention. この発明の実施の形態4で想定するメモリマップとデバイス領域設定レジスタを示す図である。It is a figure which shows the memory map and device area | region setting register which are assumed in Embodiment 4 of this invention. この発明の実施の形態4によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 4 of this invention. この発明の実施の形態5によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 5 of this invention. この発明の実施の形態6によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 6 of this invention. この発明の実施の形態7で想定するメモリマップとデバイス領域設定レジスタを示す図である。It is a figure which shows the memory map and device area | region setting register which are assumed in Embodiment 7 of this invention. この発明の実施の形態7によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 7 of this invention. この発明の実施の形態8で想定するメモリマップを示す図である。It is a figure which shows the memory map assumed in Embodiment 8 of this invention. この発明の実施の形態8によるプログラマブルコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the programmable controller by Embodiment 8 of this invention. この発明の実施の形態9で想定するメモリマップを示す図である。It is a figure which shows the memory map assumed in Embodiment 9 of this invention.

符号の説明Explanation of symbols

10 メモリマップ、11 プログラム格納部、12 命令コード取得部、13 インデックスレジスタ、14 インデックス修飾部、15 アクセス実行部、16 実行プログラム指示部、17 デバイス領域設定部、51 プログラム1用デバイス領域情報、52 プログラム2用デバイス領域情報、100 領域逸脱判定部、101 デバイス領域設定レジスタ、101a デバイス領域下限レジスタ、101b デバイス領域上限レジスタ、101c デバイス境界レジスタ、101d デバイス領域属性レジスタ、102 デバイス領域判定部、103 上下限値選択部、104 範囲内判定部、104a 下限値判定部、104b 上限値判定部、104c 結果判定部、105 最終アドレス計算部、106 デバイス境界比較部、107 デバイス境界比較部、108 デバイス境界比較部、109 比較結果判定部、110 デバイス領域属性選択部。   DESCRIPTION OF SYMBOLS 10 Memory map, 11 Program storage part, 12 Instruction code acquisition part, 13 Index register, 14 Index modification part, 15 Access execution part, 16 Execution program instruction part, 17 Device area setting part, 51 Device area information for program 1 52 Device area information for program 2, 100 area deviation determination section, 101 device area setting register, 101a device area lower limit register, 101b device area upper limit register, 101c device boundary register, 101d device area attribute register, 102 device area determination section, 103 Lower limit selection unit, 104 In-range determination unit, 104a Lower limit determination unit, 104b Upper limit determination unit, 104c Result determination unit, 105 Final address calculation unit, 106 Device boundary comparison unit, 107d Chair boundary comparator unit, 108 device boundary comparator unit, 109 comparison result determination unit, 110 device region attribute selecting unit.

Claims (7)

インデックス修飾に使用される値を保持しているインデックスレジスタと、
命令コードに含まれるレジスタ番号に基づき上記インデックスレジスタに保持されている値を取得し、上記命令コードが要求するアクセス幅が単位アクセス幅を超える場合に、上記命令コードに含まれるアドレスと上記インデックスレジスタから取得した値に基づき、インデックス修飾後の実際にアクセスする開始アドレスを算出し、算出した開始アドレスと上記命令コードに含まれるアドレス幅を出力するインデックス修飾部と、
該インデックス修飾部により算出されたインデックス修飾後の実際にアクセスするアドレスが、上記命令コードに含まれるアドレスに対応するメモリマップ上のデバイス領域を逸脱するか否かを判定する領域逸脱判定部とを備え
上記領域逸脱判定部は、
上記インデックス修飾部により出力された実際に最初にアクセスする開始アドレスとアドレス幅に基づき、最後にアクセスする最終アドレスを算出する最終アドレス計算部と、
上記メモリマップ上に連続して確保されている複数のデバイス領域の下限値又は上限値を境界アドレスとして、上記連続して確保されているデバイス領域の順番に格納しているデバイス領域設定レジスタと、
命令コードに含まれるアドレスが、上記デバイス領域設定レジスタにおける連続するどの境界アドレス間のアドレスであるかをチェックして、上記メモリマップ上のどのデバイス領域にあるかを判定するデバイス領域判定部と、
上記デバイス領域設定レジスタを参照して、上記デバイス領域判定部により判定されたデバイス領域の連続する境界アドレスを選択する上下限値選択部と、
上記インデックス修飾部により出力された開始アドレスと上記最終アドレス計算部により算出された最終アドレスが、上記上下限値選択部により選択された連続する境界アドレスの範囲内であるか否かを判定する範囲内判定部とを備えたプログラマブルコントローラ。
An index register holding values used for index modification;
The value stored in the index register is acquired based on the register number included in the instruction code, and when the access width requested by the instruction code exceeds the unit access width, the address included in the instruction code and the index register Based on the value obtained from the above, the index modification unit that calculates the actual access start address after index modification, and outputs the calculated start address and the address width included in the instruction code ,
An area departure determining unit that determines whether an address that is actually accessed after index modification calculated by the index modification unit deviates from a device area on a memory map corresponding to an address included in the instruction code; Prepared ,
The region departure determination unit
A final address calculation unit that calculates a final address to be accessed last based on a start address and an address width that are actually accessed first and output by the index modification unit;
A device area setting register that stores the lower limit value or the upper limit value of a plurality of device areas continuously secured on the memory map as a boundary address in the order of the device areas secured continuously;
A device area determination unit that checks which address between successive boundary addresses in the device area setting register the address included in the instruction code is in which device area on the memory map;
With reference to the device area setting register, an upper and lower limit value selection unit that selects continuous boundary addresses of the device area determined by the device area determination unit;
A range for determining whether the start address output by the index modifier and the final address calculated by the final address calculator are within the range of consecutive boundary addresses selected by the upper / lower limit value selector. A programmable controller comprising an internal determination unit .
領域逸脱判定部において、
デバイス領域設定レジスタは要求する処理内容を記述した各デバイス領域の属性情報を格納し、
上記デバイス領域設定レジスタを参照して、デバイス領域判定部により判定されたデバイス領域の属性情報を選択するデバイス領域属性選択部を備え、
範囲内判定部は、開始アドレスと最終アドレスが連続する境界アドレスの範囲内でないと判定した場合に、上記デバイス領域属性選択部により選択されたデバイス領域の属性情報に基づき要求する処理内容を出力することを特徴とする請求項記載のプログラマブルコントローラ。
In the area deviation determination unit,
The device area setting register stores the attribute information of each device area describing the requested processing contents.
A device area attribute selection unit that refers to the device area setting register and selects attribute information of the device area determined by the device area determination unit,
When it is determined that the start address and the final address are not within the range of the continuous boundary address, the in-range determination unit outputs the processing content requested based on the device area attribute information selected by the device area attribute selection unit. The programmable controller according to claim 1 .
命令コードを含むプログラムを格納していると共に、複数のデバイス領域の境界アドレスと各デバイス領域の属性情報を含む上記プログラム用のデバイス領域情報を格納しているプログラム格納部と、
指示されたプログラム用のデバイス領域情報を上記プログラム格納部から取得し、取得したデバイス領域情報に基づき、上記複数のデバイス領域の境界アドレスと各デバイス領域の属性情報をデバイス領域設定レジスタに設定するデバイス領域設定部とを備えたことを特徴とする請求項記載のプログラマブルコントローラ。
A program storage unit that stores a program including an instruction code, and stores device area information for the program including boundary addresses of a plurality of device areas and attribute information of each device area;
A device that acquires device area information for an instructed program from the program storage unit, and sets boundary addresses of the plurality of device areas and attribute information of each device area in a device area setting register based on the acquired device area information The programmable controller according to claim 2, further comprising an area setting unit.
デバイス領域設定部は、プログラムに含まれているデバイス領域の変更命令に基づき、デバイス領域設定レジスタに設定されている複数のデバイス領域の境界アドレスと各デバイス領域の属性情報を変更することを特徴とする請求項記載のプログラマブルコントローラ。 The device area setting unit is configured to change a boundary address of a plurality of device areas set in a device area setting register and attribute information of each device area based on a device area change instruction included in the program. The programmable controller according to claim 3 . 領域逸脱判定部は、
メモリマップ上に連続して確保されている複数のデバイス領域の下限値又は上限値を境界アドレスとして順不同に格納しているデバイス領域設定レジスタと、
命令コードに含まれるアドレスと上記デバイス領域設定レジスタに格納されている全ての境界アドレスとの大小比較を行って比較結果を出力する第1のデバイス境界比較部と、
インデックス修飾部により算出された実際にアクセスするアドレスとデバイス領域設定レジスタに格納されている全ての境界アドレスとの大小比較を行って比較結果を出力する第2のデバイス境界比較部と、
上記第1のデバイス境界比較部により出力された比較結果と上記第2のデバイス境界比較部により出力された比較結果が一致するか否かを判定する比較結果判定部とを備えたことを特徴とする請求項1記載のプログラマブルコントローラ。
The area deviation determination unit
A device area setting register that stores a lower limit value or an upper limit value of a plurality of device areas continuously secured on the memory map as boundary addresses in random order; and
A first device boundary comparison unit that compares the address included in the instruction code with all boundary addresses stored in the device area setting register and outputs a comparison result;
A second device boundary comparison unit that compares the actual access address calculated by the index modification unit with all boundary addresses stored in the device area setting register and outputs a comparison result;
A comparison result determination unit for determining whether or not the comparison result output from the first device boundary comparison unit and the comparison result output from the second device boundary comparison unit match; The programmable controller according to claim 1.
インデックス修飾部は、命令コードが要求するアクセス幅が単位アクセス幅を超える場合に、上記命令コードに含まれるアドレスとインデックスレジスタから取得した値に基づき、インデックス修飾後の実際にアクセスする開始アドレスを算出し、算出した開始アドレスと命令コードに含まれるアドレス幅を出力し、
領域逸脱判定部において、
上記インデックス修飾部により出力された実際に最初にアクセスする開始アドレスとアドレス幅に基づき、最後にアクセスする最終アドレスを算出する最終アドレス計算部と、
該最終アドレス計算部により算出された実際に最後にアクセスする最終アドレスとデバイス領域設定レジスタに格納されている全ての境界アドレスとの大小比較を行って比較結果を出力する第3のデバイス境界比較部とを備え、
比較結果判定部が第1のデバイス境界比較部により出力された比較結果と第2のデバイス境界比較部により出力された比較結果と上記第3のデバイス境界比較部により出力された比較結果とが一致するか否かを判定することを特徴とする請求項記載のプログラマブルコントローラ。
When the access width required by the instruction code exceeds the unit access width, the index modification unit calculates the actual access start address after index modification based on the address included in the instruction code and the value obtained from the index register. Output the calculated start address and the address width included in the instruction code,
In the area deviation determination unit,
A final address calculation unit that calculates a final address to be accessed last based on a start address and an address width that are actually accessed first and output by the index modification unit;
A third device boundary comparison unit that compares the final address actually accessed last calculated by the final address calculation unit with all boundary addresses stored in the device area setting register and outputs the comparison result And
The comparison result output from the first device boundary comparison unit is compared with the comparison result output from the second device boundary comparison unit and the comparison result output from the third device boundary comparison unit. 6. The programmable controller according to claim 5, wherein it is determined whether or not to perform.
インデックス修飾部から出力された実際にアクセスするアドレスを用いてデバイス領域へのアクセスを行うアクセス実行部を備え、
該アクセス実行部がデバイス領域へのリードアクセス中に、領域逸脱判定部が領域逸脱判定を実施して、デバイス領域を逸脱している場合に、上記アクセス実行部にアクセス無効を出力してリードアクセスを停止させることを特徴とする請求項1記載のプログラマブルコントローラ。
It has an access execution unit that accesses the device area using the actual access address output from the index modification unit,
When the access execution unit performs read access to the device area, the area departure determination unit performs the area departure determination, and when the access execution unit is out of the device area, the access execution unit outputs an invalid access to read access. The programmable controller according to claim 1, wherein the programmable controller is stopped.
JP2006199742A 2006-07-21 2006-07-21 Programmable controller Expired - Fee Related JP4588671B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006199742A JP4588671B2 (en) 2006-07-21 2006-07-21 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006199742A JP4588671B2 (en) 2006-07-21 2006-07-21 Programmable controller

Publications (2)

Publication Number Publication Date
JP2008027236A JP2008027236A (en) 2008-02-07
JP4588671B2 true JP4588671B2 (en) 2010-12-01

Family

ID=39117801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006199742A Expired - Fee Related JP4588671B2 (en) 2006-07-21 2006-07-21 Programmable controller

Country Status (1)

Country Link
JP (1) JP4588671B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5224923B2 (en) * 2008-06-13 2013-07-03 三菱電機株式会社 Control device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730175A (en) * 1980-07-30 1982-02-18 Fujitsu Ltd Information processor
JPH11161304A (en) * 1997-11-25 1999-06-18 Matsushita Electric Works Ltd Programmable controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730175A (en) * 1980-07-30 1982-02-18 Fujitsu Ltd Information processor
JPH11161304A (en) * 1997-11-25 1999-06-18 Matsushita Electric Works Ltd Programmable controller

Also Published As

Publication number Publication date
JP2008027236A (en) 2008-02-07

Similar Documents

Publication Publication Date Title
KR102383900B1 (en) Region identifying operation for identifying region of a memory attribute unit corresponding to a target memory address
KR102160916B1 (en) Data processing apparatus and method using secure domain and less secure domain
US6615324B1 (en) Embedded microprocessor multi-level security system in flash memory
JP6189039B2 (en) Data processing apparatus and method using secure domain and low secure domain
CN109840410A (en) The method and system of data isolation and protection in a kind of process
US8195946B2 (en) Protection of data of a memory associated with a microprocessor
US8549325B2 (en) Reducing information leakage between processes sharing a cache
JPH10228421A (en) Memory access control circuit
CN110442379A (en) Conditional presumptive instruction is protected to execute
JP2009157542A (en) Information processing apparatus and method of updating stack pointer
JP7432586B2 (en) Validating the stack pointer
KR102346255B1 (en) Admission control for conditional memory access program instructions
US20130205413A1 (en) Data processing apparatus and method using secure domain and less secure domain
US20080244229A1 (en) Information processing apparatus
US7958296B2 (en) System management and advanced programmable interrupt controller
CN109472172B (en) Method for preventing unauthorized data access from memory
US7774587B2 (en) Dynamic redundancy checker against fault injection
JP4588671B2 (en) Programmable controller
KR100876637B1 (en) Apparatus and method for detecting software attacks on linux
EP1713000A1 (en) Memory protection system
KR102186221B1 (en) Method for randomzing address space layout of embedded system based on hardware and apparatus using the same
JP4335940B2 (en) Data processing apparatus and peripheral device protection method in data processing apparatus
JP4828996B2 (en) Information processing apparatus and unauthorized execution prohibition method of security release program using the same
US8478970B2 (en) Accessing value for local variable from function call stack upon offset matching with instruction extracted stack pointer offset or from cache
CN107710162B (en) Electronic control device and stack using method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100803

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: 20100831

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: 20100908

R150 Certificate of patent or registration of utility model

Ref document number: 4588671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees