JPWO2014141476A1 - Programmable display, its program - Google Patents
Programmable display, its program Download PDFInfo
- Publication number
- JPWO2014141476A1 JPWO2014141476A1 JP2015505204A JP2015505204A JPWO2014141476A1 JP WO2014141476 A1 JPWO2014141476 A1 JP WO2014141476A1 JP 2015505204 A JP2015505204 A JP 2015505204A JP 2015505204 A JP2015505204 A JP 2015505204A JP WO2014141476 A1 JPWO2014141476 A1 JP WO2014141476A1
- Authority
- JP
- Japan
- Prior art keywords
- access
- data
- access destination
- processing
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 353
- 238000000034 method Methods 0.000 claims description 190
- 230000001788 irregular Effects 0.000 claims description 51
- 230000006870 function Effects 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 29
- 230000010354 integration Effects 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 11
- 230000000737 periodic effect Effects 0.000 claims description 2
- 230000006854 communication Effects 0.000 description 119
- 238000004891 communication Methods 0.000 description 106
- 125000004122 cyclic group Chemical group 0.000 description 65
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000009529 body temperature measurement Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/125—Frame memory handling using unified memory architecture [UMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Programmable Controllers (AREA)
- Information Transfer Between Computers (AREA)
Abstract
共有メモリ(55)には、アイテム処理部(62)等によるアイテム表示に係わるアクセス先等と、ロジック処理部(64)等によるロジック処理に係わるアクセス先等が格納される。格付け判定処理部(70)は、共有メモリ(55)に格納されている、ロジック処理に係わる各アクセス先の格上げ判定等を行う。最適コマンド生成部(69)は、アイテム表示に係わるアクセス先だけでなく、格上げされたアクセス先も用いて、最適コマンドリスト(54)を生成する。The shared memory (55) stores an access destination related to item display by the item processing unit (62) and the like, and an access destination related to logic processing by the logic processing unit (64) and the like. The rating judgment processing unit (70) judges the upgrade of each access destination related to the logic processing stored in the shared memory (55). The optimum command generation unit (69) generates the optimum command list (54) using not only the access destination related to the item display but also the upgraded access destination.
Description
本発明は、プログラマブル表示器に関する。 The present invention relates to a programmable display.
プログラマブル表示器は、一般的に、PLC本体や温調装置等の各種接続機器と接続して、これら接続機器の状態表示を行う数値表示やランプ等のアイテムや、ユーザが任意の指示を出す為のスイッチ等のアイテムの画像を表示する。尚、アイテムは、画面部品等とも呼ばれている。プログラマブル表示器の画面(操作表示画面と呼ぶものとする)には、通常、複数の画面部品(アイテム)の画像が表示される。 In general, a programmable display is connected to various connected devices such as a PLC main body and a temperature control device, and items such as numerical displays and lamps for displaying the status of these connected devices, and for users to give arbitrary instructions. Displays an image of items such as switches. An item is also called a screen component or the like. Usually, images of a plurality of screen components (items) are displayed on the screen of the programmable display (referred to as an operation display screen).
この様な操作表示画面(スクリーン)を表示する為のデータ等(画面データ等と呼ばれる)は、予め不図示の支援装置において開発者等によって任意に作成されて、支援装置からプログラマブル表示器にダウンロードされている。 Data for displaying such an operation display screen (screen) (called screen data etc.) is created in advance by a developer or the like in a support device (not shown) and downloaded from the support device to a programmable display. Has been.
上記画面データには、上記各アイテム毎に、そのアイテムの画像(スイッチの画像やランプの画像;あるいは画像の識別ID等)や表示位置座標、更に後述する外部メモリの所定領域のアドレス(割当メモリアドレス)等のデータが含まれている。更に何らかのプログラム等が含まれている場合もある。 The screen data includes, for each item, an image of the item (switch image, lamp image; or image identification ID, etc.), display position coordinates, and an address (assignment memory) of a predetermined area of an external memory to be described later. Address) and the like are included. In addition, some programs may be included.
上記各アイテムは、例えば、それぞれが任意の接続機器の任意の構成要素に対応して、当該構成要素の状態表示を行ったり、当該構成要素のON/OFFの指示を受け付けるものである。例えば、温調装置の温度測定値を数値表示するアイテムの場合、随時、現在の温度を数値で表示することになる。 Each of the items is for displaying the state of the component or accepting an ON / OFF instruction for the component corresponding to an arbitrary component of an arbitrary connected device, for example. For example, in the case of an item that displays the temperature measurement value of the temperature control device as a numerical value, the current temperature is displayed as a numerical value as needed.
プログラマブル表示器における上記各種アイテムに係る表示制御は、上記各アイテム毎に、例えば定期的に所定の処理を実行することで実現される。所定の処理とは、例えば、接続機器内のメモリデバイス(外部メモリとする)の上記所定領域(割当メモリアドレスの領域)の格納データを読出して、この読み出した格納データ(“取得データ”)に基づいてアイテムの表示内容を決定・表示するものである。尚、接続機器は、随時、上記外部メモリの所定領域の格納データを更新している(例えば上記温調装置において上記温度測定値を随時更新している)。 Display control related to the various items in the programmable display is realized, for example, by periodically executing predetermined processing for each item. Predetermined processing refers to, for example, reading stored data in the predetermined area (area of allocated memory address) of a memory device (external memory) in the connected device, and using this read stored data ("acquired data") Based on this, the display content of the item is determined and displayed. The connected device updates the stored data in a predetermined area of the external memory as needed (for example, the temperature measurement value is updated as needed in the temperature control device).
また、上記外部メモリから読出したデータを、プログラマブル表示器内のメモリデバイス(内部メモリとする)の所定領域に一時的に格納して、この格納データに基づいてアイテムの表示内容を決定・表示する構成もある。 Further, the data read from the external memory is temporarily stored in a predetermined area of a memory device (referred to as internal memory) in the programmable display, and the display contents of the item are determined and displayed based on the stored data. There is also a configuration.
この例の場合、外部メモリの格納データを読み出して内部メモリに格納する処理は、プログラマブル表示器の所定の機能部(ここでは不図示の通信部とする)が、例えば定期的に実行する。上記通信部は、例えば、上記PLC本体や温調装置等の各種接続機器と通信を行って、接続機器内の上記外部メモリの所定の記憶領域の格納データを取得して、このデータを上記内部メモリの所定領域に上書き格納する。そして、プログラマブル表示器における上記各種アイテムに係る表示制御を行う機能部(アイテム処理部というものとする)は、定期的に内部メモリにアクセスすることで、アイテム表示内容を制御する。 In the case of this example, the process of reading the data stored in the external memory and storing it in the internal memory is executed, for example, periodically by a predetermined functional unit (here, a communication unit not shown) of the programmable display. The communication unit communicates with various connected devices such as the PLC main body and the temperature control device, for example, acquires data stored in a predetermined storage area of the external memory in the connected device, and stores the data in the internal device Overwrite and store in a predetermined area of memory. And the function part (it shall be called an item process part) which performs the display control which concerns on the said various items in a programmable display controls an item display content by accessing an internal memory regularly.
上記支援装置には、予め各種アイテムの画像が記憶されている。これは、例えば各アイテム種別(スイッチ、ランプ、メータ等)毎に様々なデザインのアイテム画像が、予め作成されて支援装置の記憶部に記憶されている。 In the support device, images of various items are stored in advance. For example, item images of various designs are created in advance for each item type (switch, lamp, meter, etc.) and stored in the storage unit of the support apparatus.
上記アイテム画像は、例えば上記スイッチに関して、複数種類のスイッチ画像(例えばON用とOFF用;スイッチON画像とスイッチOFF画像)が、予め作成されて登録されている。同様に、ランプに関しても、複数種類のランプ画像(例えばON用とOFF用;ランプON画像とランプOFF画像)が、予め作成されて登録されている。 For the item image, for example, a plurality of types of switch images (for example, for ON and OFF; switch ON image and switch OFF image) are created and registered in advance. Similarly, a plurality of types of lamp images (for example, for ON and OFF; lamp ON image and lamp OFF image) are created and registered in advance.
開発者等は、任意のアイテムに係る上記アイテム画像を画面上の所望の位置に配置することでアイテムの選択・配置を行う。また、アイテムの配置を行うだけでなく、配置した各アイテム毎に、上記割当メモリアドレスを設定する作業も行われる。 A developer or the like selects and arranges an item by arranging the item image related to an arbitrary item at a desired position on the screen. Further, not only the arrangement of items but also the operation of setting the allocated memory address for each arranged item is performed.
図21、図22は、従来のプログラマブル表示器の機能ブロック図(1/2)、(2/2)である。尚、以下、特に区別せずに、“図21等”などと記すものとする。
従来のプログラマブル表示器200は、CPU211、RAM213、グラフィックコントローラ215、ディスプレイ219等を有し、更に、不図示の不揮発性の記憶装置(フラッシュメモリ等)を有する。この記憶装置には、画面データ222や所定のアプリケーションプログラム等が記憶される。21 and 22 are functional block diagrams (1/2) and (2/2) of a conventional programmable display. In the following description, “FIG. 21” and the like will be described without particular distinction.
A conventional
CPU211が、例えば上記所定のアプリケーションプログラムを実行することにより、例えば図21等において点線内に示す各種処理機能部が実現される。すなわち、図示のアイテム生成部261、アイテム処理部262、通信処理部263(263−1、263−2等)、ロジック処理部264、アイテム処理スケジュール部265、共有メモリ生成処理部266、ロジック処理スケジュール部267、ロジック指令生成部268、最適コマンド生成部269等の各種処理機能部の処理機能が実現される。
When the CPU 211 executes the predetermined application program, for example, various processing function units shown in dotted lines in FIG. That is, the
アイテム生成部261は、上記画面データ222等に基づいて、アイテムリスト251を生成する。これは、例えば、画面データ222の一部をコピーする形で生成する。
共有メモリ生成処理部266は、上記アイテム生成部261によって生成されたアイテムリスト251に応じたデータを、共有メモリ255に格納する。換言すれば、共有メモリ255の格納データを更新する。The
The shared memory
共有メモリ255には、アイテムリスト251における各アイテムに応じた上記“取得データ”が記憶される。この“取得データ”の記憶内容は、通信処理部263によって更新される。
The shared
各通信処理部263は、通信ライン6を介して、各接続機器4との通信を行って、その外部メモリの所定領域(割当メモリ領域)の格納データを取得する。そして、この“取得データ”を、共有メモリ255の該当領域に上書き格納する。
Each communication processing unit 263 communicates with each connected
通信処理部263は、最適コマンドリスト254に基づいて、上記割当メモリ領域の格納データを取得する処理を行う。
最適コマンドリスト254は、最適コマンド生成部269が、共有メモリ255に基づいて生成する。これは、共有メモリ255に格納されている各アイテム毎のアクセス先(割当メモリ領域)を、まとめてアクセスするようにアクセス先を生成するものである。The communication processing unit 263 performs a process of acquiring the stored data in the allocated memory area based on the optimum command list 254.
The optimal command list 254 is generated by the optimal
アイテム処理部262は、アイテム処理スケジュール部265によって例えば定期的に(サイクリックに)呼び出されて、上記共有メモリ255の格納データ等に基づいて、各アイテム毎に、その表示内容の更新等に係わる処理を実行する。
The
以上が、主に表示操作画面の各アイテムの表示内容の決定・更新処理(リフレッシュ処理)に係わる既存の処理機能部やデータ等である。
ここで、プログラマブル表示器では、上記サイクリックなリフレッシュ処理だけでなく、ユーザが任意に作成したロジックプログラム(例えばif〜then〜else文などを用いる何らかのプログラム)によるロジック処理も、実施している場合がある。このロジック処理中に、任意のアクセス先(任意の接続機器内の任意の外部メモリの任意の記憶領域)の格納データを、不定期に(突発的に)取得する必要が生じる場合がある。The above is mainly the existing processing function units and data related to the determination / update processing (refresh processing) of the display contents of each item on the display operation screen.
Here, in the programmable display, not only the cyclic refresh process described above but also a logic process by a logic program arbitrarily created by the user (for example, some program using an if-then-else statement, etc.) is performed. There is. During this logic processing, it may be necessary to obtain stored data of an arbitrary access destination (an arbitrary storage area of an arbitrary external memory in an arbitrary connected device) irregularly (suddenly).
上記の様なロジック処理に係わる処理機能部が、上記ロジック処理部264、ロジック処理スケジュール部267、ロジック指令生成部268等である。
ロジック指令生成部268は、ロジック指令リスト252を生成する。ロジック指令リスト252には、例えば、上記任意のアクセス先と、当該アクセス先の格納データに応じた処理実行条件(分岐の条件など)等が格納される。The processing function units related to the logic processing as described above are the
The logic
ロジック処理部264は、ロジック処理スケジュール部267によるスケジュール管理の元で、ロジック指令リスト252に応じたデータ取得処理等を行う。例えば、ロジック指令リスト252に格納された上記アクセス先を、共有メモリ255に格納すると共に、当該アクセス先等を含むコマンドを、コマンドリスト(FIFO)253に格納する。
The
ここで、ロジック処理部264が、データ取得するまで待機状態となる場合が少なくない。例えば、If文に係わるデータを取得する場合、データを取得しなければthenとelseのどちらを実行するのか分からないからである。
Here, the
通信処理部263は、コマンドリスト253に1以上のコマンドが格納されている場合、例えば先頭のコマンドを取り出して、当該コマンドに含まれる上記アクセス先にアクセスする処理も行う。そして、アクセス先からの取得データを共有メモリ255に格納すると共に、データ取得完了をロジック処理部264に通知する。
When one or more commands are stored in the command list 253, for example, the communication processing unit 263 also retrieves the top command and performs processing for accessing the access destination included in the command. Then, the acquired data from the access destination is stored in the shared
この通知を受けたロジック処理部264は、共有メモリ255の格納データを取得することで、上記待機状態となっていたロジック処理を再開する。
また、例えば、特許文献1、2に記載の従来技術が知られている。Receiving this notification, the
Further, for example, conventional techniques described in
特許文献1の発明は、下記の各工程を有する。
・定期的に外部機器のメモリのデータを読込むメモリデータ読込工程;
・該メモリデータ読込工程により前記メモリのデータを読込むに際し、予め指定された時間内に1読み込みコマンドでメモリデータ読み込み処理が終了するように、前記読み込みコマンドによって読み込むメモリデータ長を調整する読込データ長調整工程;
また、特許文献2の発明は、外部接続機器のメモリデータを読み込む際に、読込コマンドに、前記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ1つのみ設定して読み込みを実行する電子機器における通信コマンド最適化方法に関する。The invention of
・ Memory data reading process to read data from external device memory periodically;
Read data for adjusting the memory data length read by the read command so that the memory data read process is completed with one read command within a predetermined time when the memory data is read in the memory data read step Length adjustment process;
In the invention of Patent Document 2, when reading the memory data of the externally connected device, the memory device storing the memory data, the memory address, and the size of the memory data read from the memory address are respectively read in the read command. The present invention relates to a method for optimizing communication commands in an electronic device in which only one is set to execute reading.
そして、特許文献2の発明では、同一データ群分類工程、第1の時間算出工程、第2の時間算出工程、通信時間比較工程、メモリデータ読込工程等を有する。
・同一データ群分類工程は、外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する。
・第1の時間算出工程は、分類された前記同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して前記読込コマンドの1回の実行で読み込みを行なう場合の連結データ読出通信時間を、算出する。これは、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する;
・第2の時間算出工程は、分類された前記同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行なう場合の非連結データ読出通信時間を、算出する。これは、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する。
・通信時間比較工程は、前記連結データ読出通信時間と前記非連結データ読出通信時間とを比較する。
・メモリデータ読込工程は、該通信時間の比較において、前記連結データ読出通信時間のほうが前記非連結データ読出通信時間よりも速いときは前記所望のメモリデータを連結して前記読込コマンドの1回の実行で読み込みを行う。また、前記連結データ読出通信時間よりも前記非連結データ読出通信時間のほうが速いときは前記所望のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行う。The invention of Patent Document 2 includes the same data group classification step, a first time calculation step, a second time calculation step, a communication time comparison step, a memory data reading step, and the like.
In the same data group classification step, memory data is classified for each externally connected device and each memory device, and classified into memory data groups of the same classification.
In the first time calculation step, the memory data group of the same classification is connected with a plurality of desired memory data of the memory data group and read by one execution of the read command. In this case, the connection data reading communication time is calculated. This is calculated from the communication speed of the externally connected device having the memory data group, the transmission time of the read command, and the reception time of the desired memory data corresponding to the read command;
The second time calculating step reads the memory data group of the same classification, by executing the read command a plurality of times without connecting a plurality of desired memory data of the memory data group. The unconnected data read communication time when performing is calculated. This is calculated from the communication speed of the externally connected device having the memory data group, the transmission time of the read command, and the reception time of the desired memory data corresponding to the read command.
The communication time comparison step compares the linked data read communication time with the unlinked data read communication time.
In the memory data reading step, in the comparison of the communication times, when the linked data read communication time is faster than the unlinked data read communication time, the desired memory data is linked and one read command is executed. Read by execution. Further, when the unconnected data read communication time is faster than the connected data read communication time, reading is performed by executing the read command a plurality of times without connecting the desired memory data.
上記特許文献1,2には、例えば2つのアクセス先のアドレスがあるために2回の通信が必要であったものを、当該2つのアドレスを連結することで1回の通信で済むようにすることが開示されている。例えば特許文献2の図6には、アドレス‘X0000’とアドレス‘x0010’とを連結することで、1回の通信でアドレス‘X0000〜X0010’のデータを一括して取得することが開示されている。また、これら2つのアドレス間のデータは、一括して読み込まれた後に捨て去られるデータである旨、開示されている。
上記のように、従来では、例えばロジック処理部264は、任意のロジック処理実行に伴って、任意のアクセス先(任意の接続機器4内の任意の外部メモリの任意の記憶領域)からデータを取得する必要が生じた場合、下記のようになる。
As described above, conventionally, for example, the
コマンドリスト253に、上記アクセス先からのデータ取得の為のコマンドを格納した後、データ取得するまで待機状態となる。
従って、場合によっては待機時間が長くなり、処理効率が低下することになる。After a command for data acquisition from the access destination is stored in the command list 253, the command list 253 is in a standby state until data acquisition.
Accordingly, in some cases, the standby time is lengthened, and the processing efficiency is lowered.
また、通信処理部263は、上記外部メモリからのデータ取得処理の為に、通信ライン6を介した接続機器4との通信を行う必要があり、通常、この様な外部との通信を伴う処理は、内部的な処理に比べて時間が掛かるものである。そして、通信処理部263は、この様な通信を伴う外部メモリアクセス処理を、上記リフレッシュ処理に伴うサイクリックなアクセス処理だけでなく、上記ロジック処理に伴うアクセス処理も行うことになる。特に、上記ロジック処理に伴うアクセス処理は、不定期に(突発的に)発生するものであり、その都度、アクセス処理を実行することになる。
In addition, the communication processing unit 263 needs to perform communication with the
この為、ロジック処理に伴う外部メモリアクセス処理の頻度が高い場合(例えばロジック処理部264が頻繁に動作するような状況/設定では)、通信処理部263の処理負荷が増大して処理時間が掛かる状態となる。その結果、双方の(リフレッシュ処理とロジック処理)動作が著しく遅くなる場合があった(ボトルネック)。
For this reason, when the frequency of external memory access processing accompanying logic processing is high (for example, in a situation / setting in which the
上記のように、特にロジック処理実行に伴う外部メモリアクセスの頻度が高い状態では、リフレッシュ処理または/及びロジック処理の動作が遅くなる場合があるという問題がある。 As described above, there is a problem that the refresh process and / or the logic process may be slowed down particularly when the frequency of external memory access accompanying the execution of the logic process is high.
本発明の課題は、表示画面上のアイテム表示のリフレッシュ処理に係わる外部メモリアクセスと、ロジック処理実行に伴う外部メモリアクセスとを行うプログラマブル表示器に関して、ロジック処理実行に伴う外部メモリアクセスの頻度が高い状態となっても、動作が遅くならないようにできるプログラマブル表示器、そのプログラム等を提供することである。 An object of the present invention relates to a programmable display that performs external memory access related to refresh processing of item display on a display screen and external memory access associated with execution of logic processing, and the frequency of external memory access associated with execution of logic processing is high. It is to provide a programmable display, a program, and the like that can prevent the operation from slowing down even when a situation occurs.
本発明のプログラマブル表示器は、任意の接続機器に接続されたプログラマブル表示器であって、例えば、下記の各手段を有する。
・表示画面上の各アイテムに応じた各アクセス先を示すアクセス情報が記憶されるアイテム情報記憶手段;
・定期的に、前記アクセス情報に基づいて、前記接続機器内の各アクセス先からデータを取得して内部メモリに記憶する第1データ取得手段;
・任意のロジック処理を実行すると共に、該ロジック処理に伴うアクセス先である不定期アクセス先へのアクセス処理が生じた場合、該不定期アクセス先が前記アクセス情報に統合されているか否かを判定し、該不定期アクセス先が前記アクセス情報に統合されている場合には、前記内部メモリから該不定期アクセス先に対応するデータを取得するロジック処理実行手段;
・所定期間経過する毎に、アクセス頻度が所定の第1閾値以上である前記不定期アクセス先を、格上状態アクセス先とする格付け手段;
・前記格上状態アクセス先となっている不定期アクセス先を、前記アクセス情報に統合する統合手段;The programmable display of this invention is a programmable display connected to arbitrary connection apparatuses, Comprising: For example, it has the following means.
Item information storage means for storing access information indicating each access destination corresponding to each item on the display screen;
First data acquisition means for periodically acquiring data from each access destination in the connected device based on the access information and storing it in an internal memory;
-Arbitrary logic processing is executed, and when an access processing to an irregular access destination that is an access destination accompanying the logic processing occurs, it is determined whether or not the irregular access destination is integrated into the access information. And logic processing execution means for acquiring data corresponding to the irregular access destination from the internal memory when the irregular access destination is integrated with the access information;
A rating means that sets the irregular access destination whose access frequency is equal to or higher than a predetermined first threshold every time a predetermined period elapses as an upper-level access destination;
Integration means for integrating the irregular access destination, which is the above-mentioned access status, into the access information;
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のプログラマブル表示器1を含むシステム全体の概略構成図である。
図1に示すプログラマブルコントローラシステムは、各種接続機器4と、通信ライン6を介して各種接続機器4に接続するプログラマブル表示器1とを有する。更に、プログラマブル表示器1が、通信ライン3を介して作画エディタ装置5(支援装置)に接続された構成であってもよい。プログラマブル表示器1には、複数の通信インタフェース2(通信ポート)が備えられており、各通信インタフェース2に接続された通信ライン3/通信ライン6によって各種接続機器4や作画エディタ装置5と接続されている。Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a schematic configuration diagram of the entire system including the
The programmable controller system shown in FIG. 1 includes
但し、作画エディタ装置5は、必ずしもプログラマブル表示器1に接続されている必要があるわけではない(一例を示しているに過ぎない)。例えば、プログラマブル表示器1に画面データをインストールする際に、作画エディタ装置5をプログラマブル表示器1に接続するようにしてもよい。これによって、作画エディタ装置5で作成される画面データ等が、作画エディタ装置5から通信ライン3を介してプログラマブル表示器1にダウンロードされる。勿論、この例に限らない。
However, the drawing editor device 5 does not necessarily need to be connected to the programmable display device 1 (only an example is shown). For example, when the screen data is installed in the
また、上記通信ライン3を介したダウンロードの代わりに、不図示の可搬型記録媒体(メモリカード等)を介して、上記画面データ等をプログラマブル表示器1に渡すようにしてもよい。何れにしても、基本的には、作画エディタ装置5で作成/更新等される画面データを、プログラマブル表示器1に記憶させることになる。そして、プログラマブル表示器1では、この画面データ等に基づいて、上記操作表示画面を表示することになる。
In addition, instead of downloading via the communication line 3, the screen data or the like may be passed to the
あるいは、プログラマブル表示器1は、上述した任意のロジック処理(ロジックプログラム)を実行する場合がある。本手法は、基本的に、この様なロジック処理も実行するプログラマブル表示器1において、処理効率の向上を図り、以って上述した問題点(課題)を解決するものである。
Or the
尚、以下の説明では、作画エディタ装置5を支援装置5と記す場合もあるものとする。
図2は、本例のプログラマブル表示器1のハードウェア構成例である。
図示のプログラマブル表示器1は、表示操作制御装置10と、タッチパネル18、ディスプレイ19、上記通信インタフェース2等を有する。In the following description, the drawing editor device 5 may be referred to as the support device 5.
FIG. 2 is a hardware configuration example of the
The illustrated
表示操作制御装置10は、CPU11、ROM12(フラッシュメモリ等)、RAM13、通信コントローラ14、グラフィックコントローラ15、タッチパネルコントローラ16等より成り、これらがバス17に接続されている。
The display
CPU11は、表示操作制御装置10全体を制御する中央処理装置(演算プロセッサ)である。CPU11は、ROM12に予め格納されているプログラム(例えば後述する本体プログラム21等)を実行することで、所定の演算動作(処理)を行う。所定の処理とは、例えば上記操作表示画面の各アイテム毎の表示内容をサイクリックに更新する処理(上記リフレッシュ処理)である。その為に、各アイテムに対応する上記外部メモリへのアクセス処理(各アイテムの割当メモリ領域の格納データを取得する処理)を行う。そして、当該“取得データ”に基づく画面表示制御等を行う。尚、これらの処理は、上記の通り、従来技術である。
The
更に、ここでは、本体プログラム21には、ユーザ等が任意に作成したプログラム(ロジックプログラムと呼ぶ)も含まれるものとする。このロジックプログラムによる処理(ロジック処理)は、様々であるが、上記外部メモリにアクセスする処理が含まれる場合がある。上記の通り、このロジック処理自体は、従来でも存在するものである。そして、上述した通り、ロジック処理が上記リフレッシュ処理に影響して、例えばリフレッシュ処理とロジック処理の両方とも時間が掛かる等の問題が生じることになる。
Further, here, the
また、本体プログラム21実行に伴う演算結果等は、例えばRAM13やROM12に格納される。
また、ROM12には、上記背景技術で説明した画面データ(後述する画面データ22)等が格納されている。上記のように、画面データ22は、例えば上述したスイッチ、ランプ等の各アイテム毎に、その表示位置座標や大きさ等の表示に係わるデータや、上記割当メモリアドレス(割当メモリ領域)等のメモリアクセスに係わるデータ等を有する。また、画面データ22には、各アイテムの画像(あるいはアイテム画像の識別ID等)が含まれている。In addition, the calculation results associated with the execution of the
The
上記本体プログラム21等を用いるCPU11の処理には、上記の通り“各アイテム毎の割当メモリ領域の格納データ”を取得する処理等が含まれる。この“取得データ”は、例えば後述する共有メモリ55に一時的に格納される。尚、共有メモリ55は、上記RAM13やROM12の記憶領域の一部であってもよいし、不図示の他のメモリであってもよい。
The processing of the
また、上記CPU11の処理によって、例えば上記画面データや上記取得データ等に基づく表示対象データが、例えばRAM13(あるいは不図示のビデオRAM)上に展開(描画)される。この描画に基づいてグラフィックコントローラ15が、ディスプレイ19上に上述した操作表示画面等を表示する。
Further, display target data based on the screen data, the acquired data, and the like are developed (drawn) on, for example, the RAM 13 (or a video RAM (not shown)) by the processing of the
尚、従来より、画面データ22には、各アイテム毎に、例えばON用とOFF用の2種類のアイテム画像が含まれている。そして、プログラマブル表示器1側では、例えば上記取得データが‘0’であればランプ消灯画像、‘1’であればランプ点灯画像が、上記表示対象データとなる(例えばビデオRAM上に描画される)。
Conventionally, the
ディスプレイ19は、例えば液晶パネル等より成り、この液晶パネル上に重ねるようにしてタッチパネル18が設けられる。従来では、ディスプレイ19上には、基本的には、複数のアイテムそれぞれのアイテム画像が、所定位置に配置されて成る操作表示画面が表示される。
The
また、通信コントローラ14は、通信インタフェース2を介して、不図示のPLC本体等や温調装置等である接続機器4や作画エディタ装置5との通信(データ送受信等)を行う。
Further, the communication controller 14 performs communication (data transmission / reception and the like) with the
オペレータ等によるタッチパネル18上での押圧操作(タッチ)位置の検知結果は、タッチパネルコントローラ16を介してCPU11等に取り込まれて解析される。例えば各アイテムの上記表示位置座標や大きさのデータ等に基づいて、解析することになる。例えば、上記スイッチの画像の表示位置をオペレータ等がタッチすると、CPU11等は、このスイッチに対する操作が行われたものと解析することになる。
The detection result of the pressing operation (touch) position on the touch panel 18 by an operator or the like is taken into the
図3に、上記本システムのソフトウェア構成図を示す。
プログラマブル表示器1においては、本体プログラム21、画面データ22、通信プログラム23等の各種プログラム/データが、例えば上記ROM12(フラッシュメモリ等)に格納されている。これらのプログラム/データ等をCPU11が読出し・実行/参照等することで、プログラマブル表示器用の上記操作表示画面等の表示制御等が行なわれる。FIG. 3 shows a software configuration diagram of the system.
In the
この操作表示画面は、従来と同様に、上述した数値表示、ランプ、スイッチ等の各種アイテムの画像表示から成り、各アイテム画像の表示内容は、例えば上記“取得データ”を反映させる形で随時更新される。 This operation display screen is composed of the above-described numerical display, image display of various items such as lamps, switches, etc., as in the past, and the display content of each item image is updated as necessary, for example, reflecting the above “acquired data” Is done.
基本的には、CPU11が、本体プログラム21と画面データ22とに基づく処理を行うことで、上記操作表示画面が表示される。そして、この操作表示画面上の各画面部品の表示内容(温度等の数値表示やランプの点灯/消灯など)は、通信プログラム23による各接続機器4との通信結果(上記“取得データ”等)等に基づいて、随時、更新等されるものである。更に、本体プログラム21には上記ロジックプログラムが含まれており、CPU11は、このロジックプログラムも実行することで、ユーザが作成した任意の処理も実行する。
Basically, the operation display screen is displayed by the
上記画面データ22は、例えば予め作画エディタ装置5側で任意に作成された画面データファイル32の一部または全部が、プログラマブル表示器1にダウンロードされて格納されたものである。尚、画面データファイル32と画面データ22とを特に区別せずに、画面データ22と呼ぶ場合もあるものとする。
The
また、上記通信プログラム23も、例えば予め作画エディタ装置5側に格納されていた通信プログラムファイル33の一部が、プログラマブル表示器1にダウンロードされて格納されたものである。
The communication program 23 is also a part of the
上述したように、基本的には、CPU11が、本体プログラム21と画面データ22と上記外部メモリからの“取得データ”等に基づく上記操作表示画面の表示制御を行う。例えば、数値表示やランプ等のアイテムに関して、定期的に、そのアイテムの割当メモリ領域からデータを読み出して、そのアイテムの表示内容を当該読出データに基づいて更新する。あるいは、例えばスイッチ等のアイテムに関しては、ユーザが、この操作表示画面上の所望のスイッチをタッチすると(ON/OFF操作すると)、スイッチON画像表示/スイッチOFF画像表示が行われる。
As described above, basically, the
また、CPU11は、このスイッチ操作に応じた接続機器4の制御も行う。例えば、スイッチに対応する割当メモリ領域の格納データ(スイッチのON/OFFを示すフラグ等)を、スイッチ操作に応じて更新する。これによって、接続機器4側の不図示コントローラ等が、このフラグに応じた動作を実行する。
The
尚、既に従来で述べたように、上記外部メモリは、接続機器4が備えるメモリデバイスであって、各アイテムのメモリ割当が行われるメモリデバイスである。上記のように、各アイテムの表示内容は、この割当メモリ領域の格納データに基づいて決定・更新される。
As already described in the related art, the external memory is a memory device included in the
そして、従来で述べたように、この割当メモリ領域からの読出しデータを、プログラマブル表示器1内の上記内部メモリに一時的に格納し、これに基づいてアイテム表示制御を行う構成例がある。
As described above, there is a configuration example in which the read data from the allocated memory area is temporarily stored in the internal memory in the
本例では、例えば後述する各通信処理部63等によって定期的に、接続機器4内のメモリデバイス(外部メモリ)の所定の記憶領域からデータを読み出して、この読出データ(上記“取得データ”)を内部メモリ(後述する共有メモリ55)に格納する処理が行われる。そして、例えば後述するアイテム処理部62によって、上記内部メモリの格納データ等に基づいて、上記操作表示画面の表示制御が行われることになる。これによって、操作表示画面の表示内容は、各アイテムに対応する割当メモリ領域の現在の格納データの内容を反映させたものとなる(現在の制御対象の状態等に応じた表示内容となる)。
In this example, data is periodically read out from a predetermined storage area of a memory device (external memory) in the
また、支援装置5の作画エディタ31は、開発者等が所望の画面データファイル32を作成するのを支援する機能を有する。また、支援装置5は、予め記憶される各種通信プログラム群である通信プログラムファイル33から、任意の1以上の通信プログラムをプログラマブル表示器1にダウンロードして、上記通信プログラム23として記憶させる機能も有する。但し、これらの支援装置5の機能は、既存機能であり、ここではこれ以上説明しない。
The drawing
尚、作画エディタ装置5は、例えばパソコン等であり、特に図示しないが一般的な汎用コンピュータの構成(CPU、記憶部(ハードディスク、メモリ等)、通信部、操作部(マウス等)、ディスプレイ)を有している。記憶部に予め記憶されているアプリケーションプログラムを、CPUが実行することにより、上記既存機能が実現される。 Note that the drawing editor device 5 is, for example, a personal computer or the like, and has a general-purpose computer configuration (CPU, storage unit (hard disk, memory, etc.), communication unit, operation unit (mouse, etc.), display) although not particularly shown. Have. The CPU executes an application program stored in advance in the storage unit, thereby realizing the existing function.
図4、図5は、本例のプログラマブル表示器1の処理機能図(1/2)、(2/2)である。尚、以下、特に区別せずに、“図4等”などと記すものとする。
プログラマブル表示器1には、画面データ22等が記憶される。4 and 5 are processing function diagrams (1/2) and (2/2) of the
The
CPU11が、例えば上記ROM12に記憶されている所定のプログラム(例えば上記本体プログラム21、通信プログラム23等)を実行することにより、例えば図4等において点線内に示す各種処理機能部が実現される。すなわち、図示のアイテム生成部61、アイテム処理部62、通信処理部63(63−1、63−2等)、ロジック処理部64、アイテム処理スケジュール部65、共有メモリ生成処理部66、ロジック処理スケジュール部67、ロジック指令生成部68、最適コマンド生成部69、格付け判定処理部70等の各種処理機能部の処理機能が実現される。
When the
尚、これら各種処理機能部61〜70のうち、処理機能部61〜63、65〜69は、基本的には従来と略同様の処理を行うものと見做して構わない。但し、後述するサイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87の何れかにに係わる処理が、実行される場合もある。後述するサイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87は、基本的には従来では存在しない情報である。よって、基本的に、これらカウンタやフラグに係わる処理は、本手法による新規の処理と見做して構わない。
Of these various
また、ロジック処理部64も、基本的な処理機能は、従来と略同様と見做しても構わない。但し、ロジック処理部64の機能の一部である後述する突発メモリアクセス部64aは、従来とは異なる。
Also, the
格付け判定処理部70は、従来では存在しない処理機能部である。
尚、通信処理部63は、本体プログラム21と通信プログラム23とによって実現される。通信処理部63以外の処理機能部は、基本的には本体プログラム21によって実現されるが、この例に限るわけではない。The rating
The
アイテム生成部61は、上記画面データ22等に基づいて、アイテムリスト51を生成する。これは、例えば、画面データ22の一部をコピーする形で生成する(更に後述する処理済みフラグ118を追加する)。
The
共有メモリ生成処理部66は、上記アイテム生成部61によって生成されたアイテムリスト51に応じたデータ(アクセス先など)を、共有メモリ55に格納する。換言すれば、共有メモリ55の各格納データ(各アクセス先など)を更新する。
The shared memory
尚、上記アイテムリスト51や共有メモリ55の格納データは、例えば、現在表示中の操作表示画面(スクリーン)上の各アイテムに対応したものとなる。よって、スクリーン切替えが行われる毎に、再生成されることになる。また、共有メモリ55には、更に、ロジック処理に伴うアクセス先などのデータも、格納されることになる。詳しくは後述する。
Note that the data stored in the
共有メモリ55には、上記現在表示中の操作表示画面(スクリーン)上の各アイテムに応じた上記“取得データ”が、通信処理部63によって格納される(サイクリックに更新される)。
In the shared
通信処理部63は、各接続機器4(4−1、4−2)毎に備えられる通信処理部63−1、63−1である。すなわち、図示の通信処理部63−1は、接続機器4−1に対応する通信ポートWAY1を使用して、通信ライン6を介して、接続機器4−1との通信を行って、その外部メモリの所定領域(割当メモリ領域)の格納データを取得する。そして、この“取得データ”を、共有メモリ55の該当領域に上書き格納する。
The
同様に、図示の通信処理部63−2は、接続機器4−2に対応する通信ポートWAY2を使用して、通信ライン6を介して、接続機器4−2との通信を行って、その外部メモリの所定領域(割当メモリ領域)の格納データを取得する。そして、この“取得データ”を、共有メモリ55の該当領域に上書き格納する。
Similarly, the illustrated communication processing unit 63-2 communicates with the connection device 4-2 via the communication line 6 using the communication port WAY2 corresponding to the connection device 4-2, and externally transmits the communication port WAY2. Data stored in a predetermined area (allocated memory area) of the memory is acquired. Then, this “acquired data” is overwritten and stored in the corresponding area of the shared
上記各通信処理部63による上記外部メモリからのデータの取得処理と当該“取得データ”による共有メモリ55の格納データの更新処理は、定期的に(サイクリックに)実行される。
The process of acquiring data from the external memory by the
ここで、本例の通信処理部63は、最適コマンドリスト54(54−1,54−2)に基づいて、上記割当メモリ領域の格納データを取得する処理を行う。最適コマンドリスト54は、最適コマンド生成部69が、共有メモリ55に基づいて各接続機器4に応じて生成する。図示の最適コマンドリスト54−1は接続機器4−1に応じたものであり,最適コマンドリスト54−2は接続機器4−2に応じたものである。
Here, the
最適コマンド生成部69は、例えば上記特許文献1,2等(特開2009−54056号公報、特開2009−54055号公報など)に開示されている既存の処理(上述したアドレスの連結など)を行う機能部であるので、ここでは特に説明しない。
The optimum
但し、簡単に説明するならば、共有メモリ55に格納されている各アイテム毎のアクセス先(割当メモリ領域)を、まとめてアクセスするようにアクセス先を生成するものである。例えば、アイテムA,B,Cがあり、それぞれ、D101番地、D105番地、D108番地が割当メモリ領域である場合、D101番地〜D108番地までの領域を、まとめて1つのアクセス先として最適コマンドリスト54に格納するものである。
However, in brief, the access destination is generated so that the access destinations (allocated memory areas) for each item stored in the shared
当然、この処理では、不要なデータも取得することになるので、必要なデータ(D101番地、D105番地、D108番地の各データ)のみを選別して共有メモリ55の該当領域に格納する。そして、不要なデータは捨てる。
Naturally, in this process, unnecessary data is also acquired. Therefore, only necessary data (data at addresses D101, D105, and D108) is selected and stored in the corresponding area of the shared
通常、通信ライン6を介した接続機器4との通信処理に時間が掛かるものであり、従って、取得するデータ量が多少増えて選別処理が加わったとしても、処理時間は短縮されることになる。
Usually, it takes time to perform communication processing with the
但し、上記のようにアドレスをひとまとめにして通信回数を減らすことで、必ずしも処理時間が短縮されるとは限らないので、最適コマンドリスト54の生成は必須でない。しかし、最適コマンドリスト54を生成しない場合でも、本手法では、後述するロジック処理に係わる外部メモリアクセスを、アイテム表示に係わるサイクリックな外部メモリアクセスに含める場合がある。
However, since the processing time is not necessarily shortened by reducing the number of communications by grouping addresses as described above, the generation of the
尚、上記の通り、通信処理部63や最適コマンドリスト54(更に後述するコマンドリスト53等)は、各接続機器4に応じて設けられる。よって、接続機器4が複数ある場合には、通信処理部63や最適コマンドリスト54等も複数設けられることになる。しかし、本説明では、通信処理部63や最適コマンドリスト54等について、各接続機器4(4−1,4−2)毎に説明せずに、まとめて説明するものとする。
As described above, the
尚、最適コマンド生成部69は、基本的には、例えばスクリーン切替えに伴ってアイテムリスト51が更新され、更にこれに伴って共有メモリ55が更新されたときに、当該新たな共有メモリ55の格納内容に応じた新たな最適コマンドリスト54を生成するものである。換言すれば、基本的には、このとき以外は最適コマンドリスト54の内容は変化しないものとする。但し、本手法では、格付け判定処理部70によって最適コマンドリスト54の内容が変化する場合がある。例えば後述するロジック処理部64等によるアクセス先が、最適コマンドリスト54に追加される場合がある。尚、その際に、最適コマンド生成部69によってロジック処理部64等によるアクセス先も含めた最適化処理(上記アドレスの連結等;アドレスをひとまとめにする等)を行って、最適コマンドリスト54を再生成することが望ましい。詳しくは後述する。
The optimum
アイテム処理部62は、上記共有メモリ55の格納データ(“取得データ”)等に基づいて、各アイテム毎に、その表示内容の更新(例えばON用画像/OFF用画像切替)等に係わる処理を実行する。つまり、アイテム処理部62は、例えば直近の上記割当メモリ領域からの取得データ等に基づいて、上記表示操作画面の表示内容を決定・更新する。
The
上記アイテム処理部62の処理も、定期的に行うものであり、そのスケジュール管理はアイテム処理スケジュール部65が行う。すなわち、アイテム処理スケジュール部65は、アイテム処理部62による各アイテムの表示更新処理等のスケジュール管理を行う。つまり、アイテム処理スケジュール部65は、例えば定期的にアイテム処理部62を呼び出して例えば後述する図8の処理を実行させる(換言すれば、図8の処理をサイクリックに実行させる)。
The processing of the
以上、主に表示操作画面上の各アイテムの表示内容の決定・更新処理(リフレッシュ処理)に係わる処理機能部、データ等について説明した(但し、格付け判定処理部70は除く)。 The processing function unit, data, and the like related to the determination / update processing (refresh processing) of the display contents of each item on the display operation screen have been described above (excluding the rating determination processing unit 70).
一方、上記の通り、CPU11は、上記ロジック処理も実行する。このロジック処理実行に係わる処理機能部、データ等が、図示のロジック処理部64、ロジック処理スケジュール部67、ロジック指令生成部68、ロジック指令リスト52、コマンドリスト53(53−1、53−2)等である。
On the other hand, as described above, the
上記ロジック処理実行に係わる処理機能部、データ等は、基本的に、ロジック処理部64以外は従来と略同様であってよいので、以下、簡単に説明する。
ロジック指令生成部68は、任意のロジックプログラムに関して、任意のアクセス先(任意の接続機器4の任意の外部メモリデバイスの任意のアドレス)のデータに基づく処理(例えば分岐処理;if〜then〜else文など)に係わる情報を、ロジック指令リスト52に格納する。ロジック指令リスト52については具体例を後に示して説明する。The processing function unit, data, and the like related to the execution of the logic processing may be basically the same as those in the prior art except for the
The logic
ロジック処理部64は、ロジック処理スケジュール部67によるスケジュール管理の元で、ロジック指令リスト52に応じたデータ取得処理等を行う。例えば、ロジック指令リスト52に格納された上記アクセス先を、共有メモリ55に格納すると共に、当該アクセス先に基づくコマンドを生成してコマンドリスト(FIFO)53に格納する。
The
尚、以下の説明における「アクセス処理」とは、基本的に「外部メモリへのアクセス処理」を意味するものとする。同様に、「アクセス先」とは、基本的に「任意の接続機器4の任意の外部メモリデバイスの任意のアドレス」を意味するものとする。
In the following description, “access processing” basically means “access processing to external memory”. Similarly, “access destination” basically means “any address of any external memory device of any
ここで、本例の通信処理部63は、上記最適コマンドリスト54に基づくアクセス処理だけでなく、コマンドリスト53に基づくアクセス処理も実行する。すなわち、コマンドリスト53に何らかのコマンド(例えば、後述するコマンド130等)が格納されている場合には、このコマンドを取り出して、このコマンドに基づくアクセス処理を行う。そして、アクセス処理結果(アクセス先からの“取得データ”)を、共有メモリ55の該当領域に格納する。
Here, the
ロジック処理部64は、通信処理部63によって上記“取得データ”が上記共有メモリ55の該当領域に格納されるのを待ち、格納されたら、当該取得データに基づく上記処理(例えば分岐処理等)を実行する。特に分岐処理の場合、thenとelseのどちらを実行するのかは、上記取得データが得られるまで分からないので、それまで待つことになる。この為、待機時間が長くなる場合もあり得る。また、この様なロジック処理に伴う不定期の(突発的な)アクセス処理が頻繁に行われると、上記リフレッシュ処理に係わるアクセス処理に影響し、表示内容更新に時間が掛かる場合にあり得る。
The
これより、本手法では、ロジック処理に伴う不定期の(突発的な)アクセス処理のアクセス先のなかに、頻繁にアクセス処理が行われるアクセス先がある場合には、このアクセス先が最適コマンドリスト54に含まれるようにする。これによって、このアクセス先に関しては、ロジック処理に伴う不定期の(突発的な)アクセス処理の発生の有無に関係なく、上記サイクリックなアクセスが行われて取得データが共有メモリ55の該当領域に格納されることになる。
As a result, in this method, if there is an access destination that frequently performs access processing among the access destinations of irregular (sudden) access processing that accompanies logic processing, this access destination is the optimal command list. 54. As a result, regarding this access destination, the cyclic access is performed and the acquired data is stored in the corresponding area of the shared
そして、ロジック処理部64は、アクセス先への不定期の(突発的な)アクセス処理が発生した場合、共有メモリ55の該当領域の格納データを取得することになる。これによって上記待機時間が殆ど掛からなくなると共に、上記リフレッシュ処理に係わるアクセス処理の邪魔をすることもない。よって、アイテム表示内容の更新処理が遅くなることもない。
Then, when an irregular (sudden) access process to the access destination occurs, the
尚、ロジック処理部64には、不図示の後述する突発メモリアクセス部64aの処理機能も含まれるものとする。これより、ロジック処理部64は、後述する図10、図11の処理だけでなく、後述する図12、図13の処理も行うものとする。詳しくは後述する。
The
以下、上記各種処理機能部や各種データについて、更に詳しく説明する。
まず、通信処理部63について、その詳細な処理例について説明する。
図6、図7は、各通信処理部63(63−1、63−2)が、それぞれ、例えば定期的に(サイクリックに)実行する外部メモリアクセス処理のフローチャート図(1/2)、(2/2)である。尚、以下、特に区別せずに“図6等”などと記すものとする。Hereinafter, the various processing function units and various data will be described in more detail.
First, a detailed processing example of the
FIGS. 6 and 7 are flowchart diagrams (1/2) and (1/2) of external memory access processing executed by each communication processing unit 63 (63-1, 63-2), for example, periodically (cyclically). 2/2). In the following description, “FIG. 6” and the like are not particularly distinguished.
図6等に示す処理例では、基本的には、上記リフレッシュ処理に係わるサイクリックな通信処理を実行するが、上記ロジック処理に係わる不定期の(突発的な)通信処理が必要な状況では当該通信処理を行う。尚、不定期な(突発的な)通信処理が必要な状況とは、例えば上記コマンドリスト53に何等からのコマンド(アクセス先を示すもの;例えば後述するコマンド130等)が格納されたときである。
In the processing example shown in FIG. 6 and the like, basically, cyclic communication processing related to the refresh processing is executed, but in the situation where irregular (sudden) communication processing related to the logic processing is necessary, Perform communication processing. Note that the situation in which irregular (sudden) communication processing is necessary is when, for example, a command (indicating an access destination; for example, a
尚、図6等に示す通信処理部63の処理自体は、既存技術であってよい。また、当該処理に係わる各種データ(最適コマンドリスト54、共有メモリ55、後述する図19に示す例のコマンド130)も、そのデータ構造自体は既存技術であってよい。但し、データの内容が、既存技術とは異なる場合がある。つまり、最適コマンドリスト54には、上記サイクリックな通信処理に係わるアクセス先だけでなく、上記突発的な通信処理に係わるアクセス先も含まれる場合がある。詳しくは後述する。
Note that the processing itself of the
上記サイクリックな通信処理に関しては、まず、最適コマンドリスト54から任意のメモリアクセスコマンドを取得する(ステップS11)。これは、例えば、最適コマンドリスト54内の不図示の実行indexをキーにして該当するコマンドを取り出す。
Regarding the cyclic communication process, first, an arbitrary memory access command is acquired from the optimum command list 54 (step S11). For example, a corresponding command is extracted using an execution index (not shown) in the
ここで、図19に、上記コマンドのデータ構造例を示す。尚、最適コマンドリスト54やコマンドリスト53は、例えば図19に示すようなコマンド130をリスト化したものである。
Here, FIG. 19 shows an example of the data structure of the command. The
図19に示す例のコマンド130は、コマンド種別131、メモリブロック数132、各メモリブロック133(N個のメモリブロック133)等から成る。
コマンド種別131は、例えば一例しては、“ブロックリード”、“複数ブロックリード”等である。これらも既存技術であるので、特に詳細には説明しないが、簡単に説明するならば、下記の通りとなる。
・ブロックリード;任意の先頭アドレスとデータ数を指定するコマンド。先頭アドレスからデータ数分の領域のデータが取得されることになる。メモリブロック数132は固定的に‘1’となる。
・複数ブロックリード;ブロックリードを拡張したコマンドであり、複数のアクセス先を指定可能。つまり、メモリブロック数132は‘2’以上となる。19 includes a
The
• Block read: A command that specifies an arbitrary start address and number of data. Data corresponding to the number of data is acquired from the head address. The
・ Multiple block read: This is an extended block read command, and multiple access destinations can be specified. That is, the number of memory blocks 132 is “2” or more.
メモリブロック数132は、メモリブロック133の数である。
各メモリブロック133は、例えば図示の例では、ポート141、デバイス142、アドレス143、データ数144の各データ項目より成る。ポート141とデバイス142とアドレス143が、アクセス先(例えば上記割当メモリ領域の先頭アドレス)を示すものである。つまり、ポート141は、アクセス先の接続機器4に対応するポートの識別番号等である。デバイス142は、アクセス先の接続機器4内のアクセス先のメモリデバイスの識別情報等である。アドレス143は、当該メモリデバイスにおけるアクセス先の記憶領域の先頭アドレス等である。The
Each
そして、当該先頭アドレスからデータ数144分の領域が、アクセス先の記憶領域を意味し、当該記憶領域の格納データが読み出されることになる。
すなわち、図7等の処理において、上記ステップS11の処理で取得したコマンド130を、アクセス先の接続機器4に送信することで(ステップS12)、接続機器4側では上記各メモリブロック133が示す上記アクセス先の記憶領域から、格納データを読出して返信する。この返信を受信すると(ステップS13)、この返信に含まれる“取得データ”(上記アクセス先の記憶領域から読み出したデータ)を、共有メモリ55の該当領域に格納する(ステップS14)。この処理自体は、従来と同様であってよいが、本例の場合、上記“取得データ”には、上記アイテム表示の為のサイクリックな通信処理に係わるデータだけでなく、上記突発的な通信処理に係わるデータも含まれる場合がある。Then, an area corresponding to the number of
That is, in the process of FIG. 7 and the like, the
最後に、例えば上記最適コマンドリスト54内の不図示の実行indexを、次のコマンドへと進める(ステップS15)。つまり、次の処理対象のコマンド130を指定しておく。
Finally, for example, an execution index (not shown) in the
続いて、コマンドリスト53に格納されている1以上のコマンド130群から先頭のコマンド130を取得する(ステップS16)。但し、コマンドリスト53にコマンド130が1つも無い場合には(ステップS17,NO)、本処理を終了する。
Subsequently, the
コマンドリスト53から任意の1つのコマンド130を取得できた場合には(ステップS17,YES)、当該処理対象のコマンド130についても、上記最適コマンドリスト54から取得したコマンド130に係わるステップS12,S13,S14の処理と略同様の処理を行う(ステップS18,S19,S20)。
When one
すなわち、上記ステップS16で取得したコマンド130を、アクセス先の接続機器4に送信することで(ステップS18)、接続機器4側ではアクセス先の記憶領域から格納データを読出して返信する。この返信を受信すると(ステップS19)、この返信に含まれる“取得データ”を、共有メモリ55の該当領域に格納する(ステップS20)。
That is, by transmitting the
そして、最後に、上記処理対象のコマンド130の要求元(例えばロジック処理部64)に対して、完了を通知する(ステップS21)。この完了通知を受けたロジック処理部64等は、共有メモリ55から上記ステップS20で格納されたデータ等を読み出すことになる。
Finally, the request source of the
ここで、図16(a)には共有メモリ55のデータ構造例を示す。
図16(a)に示す例では、共有メモリ55の格納データは、ポート81、デバイス名82、アドレス83、データ84、サイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87の各データ項目より成る。Here, FIG. 16A shows a data structure example of the shared
In the example shown in FIG. 16A, the data stored in the shared
これらのうち、ポート81、デバイス名82、アドレス83、データ84は、従来と同様であってよく、以下、簡単に説明する。
ポート71は、上記通信ポートの識別情報等であり、実質的には通信相手の接続機器4を識別する情報となる。デバイス72は、通信相手の接続機器4内のメモリデバイス(外部メモリ)の識別情報である。アドレス73は、デバイス72が示す外部メモリにおける所定の記憶領域のアドレスであり、データ74にはこの記憶領域から取得したデータが格納される。尚、ポート71とデバイス名72とアドレス73とが、各アイテムの上記“割当メモリアドレス”に相当すると見做してよい。Among these, the
The
上記従来のデータ項目に加えて、本例では上記サイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87が設けられている。これらについては後に説明するが、ここでは概略的に説明するものとする。
In addition to the conventional data items, the
まず、共有メモリ55には、上記リフレッシュ処理に係わるアクセス先や当該アクセス先からの取得データ等が格納されるが、上記突発的なアクセス処理に係わるアクセス先や当該アクセス先からの取得データ等も格納される。そして、上記リフレッシュ処理に係わるレコードに関しては、サイクリックアクセスカウンタ85には強制的に所定の値(+1等)が記憶されると共に、突発頻度アクセスカウンタ86と格上げ判定フラグ87は使用されない。一方、上記突発的なアクセス処理に係わるレコードに関しては、サイクリックアクセスカウンタ85には強制的に‘0’等が記憶されると共に、突発頻度アクセスカウンタ86と格上げ判定フラグ87が使用される。
First, the shared
ここで、これらカウンタ86やフラグ87の使用方法について簡単に説明するならば、任意の上記突発的なアクセス処理が実行される毎に、対応するレコードの突発頻度アクセスカウンタ86をカウントアップする。そして、カウンタ86の値が所定の閾値を超えた場合、格上げ判定フラグ87をフラグONする。そして、上記サイクリックな通信処理の処理対象を、サイクリックアクセスカウンタ85が所定値(+1等)であるレコードだけでなく、格上げ判定フラグ87がフラグONであるレコードも含まれるものとする。
Here, if the usage method of the
尚、上記突発頻度アクセスカウンタ86は定期的にリセットされる。これより、上記突発的なアクセス処理であっても、所定期間内にカウンタ86の値が上記閾値を超えるアクセス、すなわち頻繁に実行されるアクセスである場合には、サイクリックなアクセス処理に含めるようにする。そして、従来と同様、本手法では、サイクリックなアクセス処理に関しては最適化が行われる。これによって、突発的なアクセス処理を含めた外部メモリアクセス処理全体のアクセス効率が向上する。但し、この例に限らない。最適化が行われることなく、上記突発的なアクセス処理が単にサイクリックなアクセス処理に含まれるようにしてもよい。
The sudden
次に、図8を参照して、アイテム処理部62の処理について説明する。
図8は、アイテム処理部62の処理フローチャート図である。
アイテム処理部62は、上記のようにアイテム処理スケジュール部65によって定期的に呼び出されて、図8の処理を実行するものである。Next, processing of the
FIG. 8 is a processing flowchart of the
The
図示の処理例では、まず、アイテムリスト51の全レコードの処理済みフラグ119を初期化(フラグOFF)する(ステップS31)。
ここで、図17(b)に、アイテムリスト51のデータ構成図を示す。In the illustrated processing example, first, the processed flag 119 of all records in the
Here, FIG. 17B shows a data configuration diagram of the
図示の例のアイテムリスト51は、アイテムタイプ111、座標112、サイズ113、ポート114、デバイス名115、アドレス116、アイテムタイプ毎のデータ117、処理済みフラグ118の各データ項目より成る。アイテムリスト51の各レコードが、操作表示画面の各アイテムに対応するものである。尚、図示の例に限らず、更に各アイテムの識別番号等があってもよい。
The
アイテムタイプ111には、そのアイテムの種別(スイッチ、ランプ、数値表示等)を示すアイテム種別識別情報が格納される。
また、ポート114とデバイス名115とアドレス116は、各アイテムに関するメモリ割当情報であり、上記割当メモリアドレスに相当する。つまり、ポート114に対応する接続機器4内のデバイス名115が示す外部メモリにおけるアドレス116が示す記憶領域が、そのアイテムに割り当てられた領域(上記割当メモリ領域)である。この割当メモリ領域の格納データが、そのアイテムに係わる制御/監視対象等の現在の状態を示すものである。例えばアイテムタイプ111がランプであれば、ランプの点灯/消灯を示すフラグデータ等が上記格納データである。The item type 111 stores item type identification information indicating the type of the item (switch, lamp, numerical display, etc.).
The
アイテムタイプ毎のデータ117は、例えばそのアイテムの画像(例えば、ランプON画像とランプOFF画像等)である。座標62とサイズ63は、このアイテム画像の表示位置と大きさを示すものである。
The
図8の説明に戻る。
上記ステップS31の処理に続いて、アイテムリスト51から任意の未処理のアイテム(その処理済みフラグ119がOFFであるレコードに係わるアイテム)を、処理対象アイテムとする(ステップS32)。そして、共有メモリ55において上記処理対象アイテムに対応する該当レコードのデータ84等を、メモリ情報71として取得する(ステップS33)。Returning to the description of FIG.
Subsequent to the process of step S31, an arbitrary unprocessed item (item related to a record whose processed flag 119 is OFF) is set as a process target item from the item list 51 (step S32). And the
尚、例えば、そのポート81とデバイス名82とアドレス84が、上記処理対象アイテムのポート114とデバイス名115とアドレス116と同一であるレコードが、上記該当レコードである。
For example, a record in which the
ここで、図17(a)に上記メモリ情報71の一例を示す。
図示の例のメモリ情報71は、データ101、サイクリックアクセスカウンタ102、突発頻度アクセスカウンタ103、格上げ判定フラグ104等から成る。これらは、例えば上記該当レコードのデータ84、サイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87をコピーしたものである。An example of the
The
但し、上記の例に限らず、例えばメモリ情報71は上記データ101のみであっても構わない。
そして、上記取得したメモリ情報71等を用いて、上記処理対象アイテムに係わる表示を行う(ステップS34)。勿論、その際には、アイテムリスト51における上記処理対象アイテムのデータ(座標112やサイズ113やアイテム画像等)も用いて、表示処理を行うことになる。However, the present invention is not limited to the above example, and the
And the display regarding the said process target item is performed using the said acquired
最後に、アイテムリスト51における上記処理対象アイテムのレコードの処理済みフラグ118を処理済み(フラグON)にする(ステップS35)。そして、アイテムリスト51に未処理のアイテムが残っている場合には(ステップS36,YES)、ステップS32に戻る。アイテムリスト51の全レコード(全アイテム)について上記ステップS32〜S35の処理を実行したら(ステップS36,NO)、本処理を終了する。
Finally, the processed
次に、共有メモリ生成処理部66について説明する。
図9は、共有メモリ生成処理部66の処理フローチャート図である。
共有メモリ生成処理部66は、例えば、アイテム生成部61から呼び出される毎に、図9の処理を実行する。アイテム生成部61は、例えば画面データ22に基づいてアイテムリスト51に新規リスト(新規レコード)を生成する毎に、共有メモリ生成処理部66を呼び出す。その際、アイテム生成部61は、上記生成した新規リスト(新規レコード)を示す情報(ポインタ)等を、共有メモリ生成処理部66に渡す。Next, the shared memory
FIG. 9 is a process flowchart of the shared memory
For example, each time the shared memory
これより、共有メモリ生成処理部66は、アイテムリスト51における上記生成した新規リスト(新規レコード)を参照して、そのポート114、デバイス名115、アドレス116等を取得する(ステップS51)。
Accordingly, the shared memory
そして、この取得データに基づいて、該当するレコードが既に共有メモリ55に登録済みか否かを判定する(ステップS52)。例えば、共有メモリ55において、そのポート81、デバイス名82、アドレス83が、上記取得したポート114、デバイス名115、アドレス116と同一であるレコードが存在する場合には、登録済みと判定する(ステップS52、YES)。この場合には、ステップS53の処理を行うことなく、ステップS54の処理へ移行する。
Then, based on the acquired data, it is determined whether or not the corresponding record has already been registered in the shared memory 55 (step S52). For example, in the shared
一方、登録済みではない場合には(ステップS52、NO)、共有メモリ55に上記該当するレコードを追加登録する(ステップS53)。すなわち、共有メモリ55に新規レコードを追加して、そのポート81、デバイス名82、アドレス83に、上記ステップS51で取得したポート114、デバイス名115、アドレス116の各データを格納する。そして、ステップS54の処理へ移行する。
On the other hand, if it has not been registered (step S52, NO), the corresponding record is additionally registered in the shared memory 55 (step S53). That is, a new record is added to the shared
ステップS54では、共有メモリ55における上記登録済みのレコードまたは上記ステップS53で追加したレコードにおける上記サイクリックアクセスカウンタ85を更新(+1など)する(更新ではなく、強制的に所定値(ここでは‘1’)にするものと見做してもよい)。これによって、例えば後述するステップS72の判定はNOとなる。そして、本処理を終了する。
In step S54, the cyclic access counter 85 in the registered record in the shared
次に、ロジック処理部64の処理について説明する。
図10、図11は、ロジック処理部64の処理フローチャート図(1/2)、(2/2)である。尚、以下、特に区別せずに“図10等”などと記すものとする。Next, processing of the
10 and 11 are process flowchart diagrams (1/2) and (2/2) of the
尚、ここでは、上記の通り、ロジック処理部64は、後述する図12、図13の処理も行うものとする。
図10等に示す処理例では、まず、ロジック指令リスト52の全レコードの処理済みフラグ127を、初期化(フラグOFF)する(ステップS41)。Here, as described above, the
In the processing example shown in FIG. 10 and the like, first, the processed
ここで、ロジック指令リスト52について説明する。
図18は、ロジック指令リスト52の具体例である。
図示の例のロジック指令リスト52は、実行条件121、ポート122、デバイス名123、アドレス124、命令行数125、各命令126、処理済みフラグ127、指令メモリ前回値128等のデータ項目を有する。Here, the
FIG. 18 is a specific example of the
The
ポート122とデバイス名123とアドレス124が、アクセス先を示すものである。すなわち、ポート122に対応する接続機器4内のデバイス名123が示す外部メモリデバイスにおけるアドレス124が示す記憶領域が、アクセス先である。これは、外部メモリへのアクセスを伴う任意のロジック処理に係わるアクセス先(以下、指令メモリと呼ぶ場合もあるものとする)である。そして、当該任意のロジック処理に係わる命令が、各命令126に1行ずつ格納される。そして、この命令126の数(行数)が、命令行数125に格納される。
The
そして、実行条件121には、上記各命令126を実行する為の条件が格納される。これは、基本的に、上記アクセス先の格納データに基づく条件となる。例えば、上記アクセス先の格納データが1ビットのフラグである場合、例えば、フラグOFF状態からフラグON状態への切り替わりが、実行条件121となる。この例では、例えば、ロジック処理部64は、上記アクセス先のフラグが、OFFからONに切り替わったと判定した場合に、上記各命令126を実行することになる。
The
上記実行条件121に係わる判定には、例えば指令メモリ前回値128が用いられる。すなわち、後述するように、ロジック処理部64は、上記アクセス先の格納データを新たに取得する毎に、この取得データと指令メモリ前回値128とに基づいて上記判定を行う。例えば取得データがフラグONで且つ指令メモリ前回値128がフラグOFFの場合に、OFFからONに切り替わったと判定する。また、判定結果に関係なく、上記アクセス先の格納データを新たに取得する毎に、この取得データを新たな指令メモリ前回値128として格納する。
For the determination related to the
尚、上記ロジック指令リスト52における各レコード(特にその実行条件121、ポート122、デバイス名123、アドレス124、命令行数125、各命令126等)は、ロジック指令生成部68が生成する。これは、例えば任意のロジックプログラムに基づいて生成する。この生成処理自体は、既存の処理であり、ここでは特に図示・説明はしないものとする。そして、ロジック処理部64が、上記生成されたロジック指令リスト52等を用いて図10等の処理を実行する。図10等の説明に戻る。
Each record in the logic command list 52 (particularly its
上記ステップS41の処理を実行したら、上記ロジック指令リスト52の各レコードを順次処理対象として図示のステップS42−ステップS46間の処理を繰り返す。
すなわち、上記ロジック指令リスト52から未処理のレコード(ロジック指令)を参照して(ステップS42)、例えばそのアクセス先(指令メモリ)を認識して、共有メモリ55から、当該アクセス先から取得・格納されたデータであるデータ84を取得する(ステップS43)。すなわち、例えば、共有メモリ55においてそのポート81、デバイス名82、アドレス83が、上記処理対象のポート122、デバイス名123、アドレス124と同一であるレコードにおけるデータ84を、取得する。If the process of the said step S41 is performed, the process between step S42-step S46 of illustration will be repeated by making each record of the said logic instruction | command list |
That is, an unprocessed record (logic instruction) is referred to from the logic instruction list 52 (step S42), for example, the access destination (command memory) is recognized, and acquired / stored from the access destination from the shared
そして、取得したデータ84と上記指令メモリ前回値128等に基づいて、指令メモリのデータに変化があったか否かを判定する(ステップS44)。例えば上記一例のようにフラグOFFからフラグONの変化(あるいは逆に、フラグONからフラグOFFの変化)等があった場合には、指令メモリのデータに変化があったと判定する(ステップS44,YES)。この場合、更に、上記実行条件121等に基づいて、実行トリガか否かを判定する(ステップS47)。
Then, based on the acquired
上記一例では、フラグOFFからフラグONの変化であった場合には、実行トリガであると判定し(ステップS47,YES)、ステップS48の処理を実行し、その後、ステップS49の処理を実行することになる。一方、上記一例では、フラグONからフラグOFFの変化であった場合には、実行トリガではないと判定し(ステップS47,NO)、ステップS48の処理を実行することなく、ステップS49の処理を実行することになる。 In the above example, if the flag is changed from OFF to ON, it is determined that the trigger is an execution trigger (step S47, YES), the process of step S48 is executed, and then the process of step S49 is executed. become. On the other hand, in the above example, if the flag is changed from ON to OFF, it is determined that the trigger is not an execution trigger (NO in step S47), and the process of step S49 is executed without executing the process of step S48. Will do.
ステップS48の処理は、上記処理対象のロジック指令における上記各命令126を順次実行する処理である(1行目〜N行目までを順次実行する)。そして、各命令126の順次実行に伴って、任意の外部メモリアクセスが発生する毎に、例えばロジック処理部64が有する不図示の突発メモリアクセス部64aによって、後述する図12等の処理を実行させる。各ロジック指令毎に、ステップS47がYESになるときしかステップS48の処理は行われないので、図12等の処理による外部メモリアクセスは、不定期の(突発的な)外部メモリアクセス処理となる。尚、アクセス先を示す情報は、例えば、命令126に含まれている。
The process of step S48 is a process of sequentially executing each
また、ステップS49の処理は、上記処理対象のロジック指令における上記指令メモリ前回値128を、上記ステップS43で取得したデータ84によって更新する処理である。
The process in step S49 is a process for updating the command memory
そして、最後に、上記処理対象のロジック指令における上記処理済みフラグ127を処理済み(フラグON)とする(ステップS45)。
そして、上記ロジック指令リスト52に未処理のレコード(ロジック指令)がある場合には(ステップS46,YES)、ステップS42に戻る。未処理のレコード(ロジック指令)がない状態になったら(ステップS46,NO)、本処理を終了する。Finally, the processed
If there is an unprocessed record (logic instruction) in the logic instruction list 52 (YES in step S46), the process returns to step S42. When there is no unprocessed record (logic command) (step S46, NO), this process ends.
図12、図13は、ロジック処理に伴う外部メモリアクセス処理(すなわち、上記不定期の(突発的な)アクセス処理)が生じた際のロジック処理部64の処理フローチャート図(1/2)、(2/2)である。尚、以下、特に区別せずに“図12等”などと記すものとする。
FIGS. 12 and 13 are process flowchart diagrams (1/2) and (1/2) of the
尚、上記の通り、図12等の処理は、ロジック処理部64が有する不図示の突発メモリアクセス部64aが実行するものと見做してもよい。但し、本説明では、突発メモリアクセス部64aについては特に言及せずに、ロジック処理部64が実行するものと記す場合が多いものとする。
Note that, as described above, the processing in FIG. 12 and the like may be considered to be executed by the unexpected
図12等に示す処理では、ロジック処理部64は、上記発生した不定期の(突発的な)アクセス処理のアクセス先を認識しており、このアクセス先のデータが共有メモリ55に上記データ84として格納されている場合には(換言すれば、サイクリックなアクセス処理に含まれている場合には)、このデータ84を取得する。これは、例えば、まず、上記アクセス先が共有メモリ55に登録されているか否かを判定する(ステップS61)。これは、例えば、そのポート81、デバイス名82、アドレス83が、上記アクセス先(そのポート、デバイス名、アドレス)と同一であるレコードが、共有メモリ55に存在する場合には、登録されている(ステップS61,YES)と判定する。
In the processing shown in FIG. 12 and the like, the
そして、もし、上記アクセス先が共有メモリ55に登録されていないならば(ステップS61,NO)、当該アクセス先を共有メモリ55に新規登録する(ステップS62)。これは、例えば、共有メモリ55に新規レコードを追加して、当該新規レコードのポート81、デバイス名82、アドレス83に、上記アクセス先(そのポート、デバイス名、アドレス)を格納する。また、当該新規レコードのサイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87は、予め決められた初期状態に設定する。すなわち、例えば、サイクリックアクセスカウンタ85と突発頻度アクセスカウンタ86は初期値‘0’に設定する。格上げ判定フラグ87はフラグOFFに設定する。
If the access destination is not registered in the shared memory 55 (step S61, NO), the access destination is newly registered in the shared memory 55 (step S62). For example, a new record is added to the shared
次に、共有メモリ55から、該当レコード(上記アクセス先に係わる登録済みレコードまたは上記新規レコード)のデータ84、サイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87を、メモリ情報71として取得する。これらは、上記データ101、サイクリックアクセスカウンタ102、突発頻度アクセスカウンタ103、格上げ判定フラグ104として取得される(ステップS63)。
Next, from the shared
そして、上記メモリ情報71に基づいて、サイクリックなアクセス対象か否かを判定する(ステップS64)。これは、ステップS63で取得したメモリ情報71におけるサイクリックアクセスカウンタ102が‘1’以上である場合もしくは格上げ判定フラグ104がフラグONである場合は、サイクリックなアクセス対象であると判定する(ステップS64,YES)。
Then, based on the
尚、上記該当レコードが上記新規レコードである場合には、当然、ステップS64の判定はNOとなる。
尚、ロジック処理に係わるアクセス先であっても後述する“格上げ”されたものに関しては、ステップS64の判定はYESとなる。つまり、この様なアクセス先に関しては上記サイクリックなアクセス対象に含まれている。よって、上記アイテム表示に係わるサイクリックなアクセス処理と一緒にアクセスしているはずである。詳しくは後述する。If the corresponding record is the new record, the determination in step S64 is naturally NO.
Note that even if the access destination is related to logic processing, the determination in step S64 is YES for those that are "upgraded" to be described later. That is, such an access destination is included in the cyclic access target. Therefore, it should be accessing together with the cyclic access processing related to the item display. Details will be described later.
サイクリックなアクセス対象である場合には(ステップS64,YES)、ステップS63で取得したデータ84(メモリ情報71におけるデータ101)が、今回のアクセス処理で取得すべきデータであるはずである。つまり、サイクリックなアクセス処理によって上記アクセス先の記憶領域から取得された最新の(直近の)データが、データ84として格納されているはずである。よって、この場合には、取得したデータ84を用いて所定のロジック処理を実行することになる。そして、共有メモリ55における上記アクセス先に係わる登録済みレコードの突発頻度アクセスカウンタ86を更新して(+1インクリメントする)(ステップS68)、本処理を終了する。
If it is a cyclic access target (step S64, YES), the
一方、サイクリックなアクセス対象ではない場合には(ステップS64,NO)、既存のアクセス処理を実行する。すなわち、上記アクセス先(ポート、デバイス名、アドレス)を含む上記コマンド130を生成して、これをコマンドリスト53に追加格納する(ステップS65)。そして、通信処理部63がこのコマンド130について上記図6等の処理を実行して上記ステップS21のアクセス完了イベント通知を行うのを待つ(ステップS66)。そして、アクセス完了イベント通知を受信したら、そのときには上記該当レコードのデータ84には上記アクセス先の最新の(直近の)データが格納されているはずである。よって、このデータ84を取得して(ステップS67)、取得したデータ84を用いて上記所定のロジック処理を実行することになる。そして、共有メモリ55における上記アクセス先に係わるレコードの突発頻度アクセスカウンタ86を更新して(+1インクリメントする)(ステップS68)、本処理を終了する。
On the other hand, when it is not a cyclic access target (step S64, NO), an existing access process is executed. That is, the
上記突発的なアクセスに係わる既存のアクセス処理では、上記ステップS66の待ち時間が非常に長くなる場合もある。これは、例えば、コマンドリスト53に他のコマンド130が既に格納されていて順番待ちを強いられる場合等である。これに対して、上記ステップS64の判定がYESとなる場合には、共有メモリ55から取得したデータ84を用いて直ちにロジック処理を実行することができる。つまり、処理時間を短縮できる。また、コマンドリスト53に格納されるコマンド130に係わる通信処理部63の処理負荷を軽減できる。そして、突発的なアクセス処理によって上記リフレッシュ処理に係わるアクセス処理が邪魔されることが少なくなる。
In the existing access processing related to the sudden access, the waiting time in step S66 may be very long. This is the case, for example, when another
また、ロジック処理に係わるアクセス先であっても後述する“格上げ”されたものに関しては、上記最適コマンド生成部69による最適化の対象となるので、効率よくアクセス先のデータが取得されることが期待できる。詳しくは後述する。
Further, even if the access destination is related to logic processing, the “upgraded” which will be described later is subject to optimization by the optimum
上記“格上げ”等は、格付け判定処理部66が行う。
図14、図15は、格付け判定処理部66の処理フローチャート図(1/2)、(2/2)である。尚、以下、特に区別せずに“図14等”などと記すものとする。The above-mentioned “upgrade” or the like is performed by the rating
14 and 15 are process flowchart diagrams (1/2) and (2/2) of the rating
格付け判定処理部66は、図14等に示す処理を定期的に実行する。
まず、共有メモリ55の各レコードを順次処理対象として、処理対象レコードについてステップS71〜S78の処理を実行することを繰り返す。The rating
First, each record in the shared
すなわち、まず、処理対象レコードのデータ84、サイクリックアクセスカウンタ85、突発頻度アクセスカウンタ86、格上げ判定フラグ87を、メモリ情報71として取得する(ステップS71)。但し、以下の説明では、メモリ情報71の上記‘101’、‘102’等の符号を用いることなく、上記‘84’、‘85’等の符号をそのまま用いるものとする。
That is, first, the processing
上記メモリ情報71を用いて、まず、格付け対象か否かを判定する(ステップS72)。上記ロジック処理に伴う突発的なアクセスに係わるレコードが、格付け対象となる。よって、上記処理対象レコードのサイクリックアクセスカウンタ85が‘1’以上である場合には、処理対象レコードは上記リフレッシュ処理に係わるレコードであることになるので、格付け対象ではないと判定する(ステップS72,NO)。
Using the
一方、サイクリックアクセスカウンタ85が‘1’未満である(本例では‘0’である)場合には、処理対象レコードは格付け対象であると判定し(ステップS72,YES)、続いて、処理対象レコードが格上げ対象であるか否かを判定する(ステップS73)。これは、例えば、処理対象レコードの突発頻度アクセスカウンタ86の値が、予め設定される第1の閾値以上である場合には、格上げ対象であると判定する(ステップS73,YES)。そして、この場合には(ステップS73,YES)、処理対象レコードの格上げ判定フラグ87をフラグONすることで“格上げ”する(ステップS74)。そして、ステップS77の処理へ移行する。
On the other hand, when the
尚、ここでは“格上げ”とは、処理対象レコードに係わる突発的なアクセス処理が、上記リフレッシュ処理に係わるサイクリックなアクセス処理に含まれるようにすることを意味する。 Here, “upgrade” means that the sudden access process related to the processing target record is included in the cyclic access process related to the refresh process.
また、処理対象レコードが格上げ対象ではないと判定された場合(ステップS73,NO)、処理対象レコードが格下げ対象であるか否かを判定する(ステップS75)。これは、例えば、処理対象レコードの突発頻度アクセスカウンタ86の値が、予め設定される第2の閾値未満である場合には、格下げ対象であると判定する(ステップS75,YES)。そして、この場合には(ステップS75,YES)、処理対象レコードの格上げ判定フラグ87をフラグOFFすることで“格下げ”する(ステップS76)。そして、ステップS77の処理へ移行する。
If it is determined that the processing target record is not the upgrade target (step S73, NO), it is determined whether or not the processing target record is the downgrade target (step S75). For example, if the value of the sudden occurrence
つまり、本例では、処理対象レコードに係わる突発的なアクセス処理が、サイクリックなアクセス処理に含まれる状態となった後、ずっとこの状態を維持するとは限らず、サイクリックなアクセス処理から除外する場合(つまり“格下げ”する場合)もあり得るものとしている。尚、それ故に、上記の通り、ステップS64がYESとなる場合であっても、ステップS68の処理(突発頻度アクセスカウンタ86を更新(+1)する処理)を実行している。 In other words, in this example, after the sudden access process related to the record to be processed becomes a state included in the cyclic access process, this state is not always maintained and is excluded from the cyclic access process. In some cases (ie, “downgrading”) it is possible. Therefore, as described above, even if step S64 is YES, the process of step S68 (the process of updating (+1) the sudden frequency access counter 86) is executed.
尚、上記第1の閾値と第2の閾値の値は、任意に設定してよいが、「第1の閾値≧第2の閾値」の条件を満たすように設定することが望ましい。
また、尚、ステップS75の判定がNOの場合には、そのままステップS77の処理へ移行する。尚、格上げ判定フラグ87がフラグOFFであった場合には、強制的にステップS75の判定をNOとするようにしてもよい。The values of the first threshold value and the second threshold value may be set arbitrarily, but are preferably set so as to satisfy the condition of “first threshold ≧≧ second threshold”.
If the determination in step S75 is NO, the process proceeds to step S77 as it is. If the
図14等の処理は、上記の通り定期的に(所定期間経過毎に)実行されるものであり、その都度、後述するステップS77の処理によって、処理対象レコードの突発頻度アクセスカウンタ86を初期状態(‘0’)に戻している。これより、図14等の処理の際の突発頻度アクセスカウンタ86の値は、上記所定期間内に突発的なアクセスが生じた回数(各アクセス先毎にロジック処理に伴って図12等の処理が発生した回数)を、示すものと言える。
The processing in FIG. 14 and the like is executed periodically (every predetermined period of time) as described above, and each time the unexpected
ここで、任意の所定期間Aとその後の所定期間Bがあるものとする。そして、仮に、所定期間Aにおいては任意のアクセス先に係わる突発的なアクセスの発生頻度が高かった為、所定期間A経過時の図14等の処理ではステップS74の格上げ処理が実行されたものとする。これより、このアクセス先に関しては、その後の所定期間中の図12等の処理では、ステップS64がYESとなるが、上記の通りこの場合でもステップS68の処理が実行される。ここで、仮に、所定期間Bにおいては上記アクセス先に係わる突発的なアクセスの発生頻度が低かった場合、所定期間B経過時の図14等の処理ではステップS76の格下げ処理が実行される場合もあり得ることになる。 Here, it is assumed that there is an arbitrary predetermined period A and a predetermined period B thereafter. In the predetermined period A, since the frequency of sudden access related to an arbitrary access destination is high, the upgrade process in step S74 is executed in the process of FIG. 14 when the predetermined period A has elapsed. To do. As a result, regarding this access destination, step S64 is YES in the process of FIG. 12 and the like during the subsequent predetermined period, but the process of step S68 is also executed in this case as described above. Here, if the occurrence frequency of the sudden access related to the access destination is low in the predetermined period B, the downgrade process in step S76 may be executed in the process of FIG. It will be possible.
そして、上述したステップS72,S73,S75の判定結果が何であっても、処理対象レコードの突発頻度アクセスカウンタ86を初期状態(‘0’クリア)にする(ステップS77)。そして、共有メモリ55に未処理のレコードがある場合には(ステップS78,YES)、ステップS71に戻る。
Then, no matter what the determination results of steps S72, S73, and S75 described above are, the incident
共有メモリ55の各レコードを順次、上記処理対象レコードとして、上述した処理を実行し、全てのレコードについて処理実行したら(ステップS78,NO)ステップS79へ移行する。
Each record in the shared
ステップS79、S80の処理は、上記ステップS71〜S78の処理後の共有メモリ55に基づいて、最適コマンドリスト54を再作成するものである。
すなわち、まず、上記ステップS71〜S78の処理後の共有メモリ55に基づいて、サイクリックアクセスメモリリスト72を生成する(ステップS79)。これは、共有メモリ55の各レコードのなかで、所定の条件を満たすレコードを全て抽出して、当該抽出したレコードに基づいてサイクリックアクセスメモリリスト72を生成する。上記所定の条件とは、サイクリックアクセスカウンタ85が1以上であるか、格上げ判定フラグ87がONであることである(どちらか一方を満たせばよい)。In the processes in steps S79 and S80, the
That is, first, the cyclic
尚、ステップS79,S80の処理は、各ポート(接続機器4)を順次処理対象として処理実行するものである。よって、厳密には、上記所定の条件には更に、ポート81が処理対象のポートであることも含まれる。
Note that the processes in steps S79 and S80 are executed by sequentially processing each port (connected device 4) as a processing target. Therefore, strictly speaking, the predetermined condition further includes that the
ここで、サイクリックアクセスメモリリスト72の具体例を、図16(b)に示す。
図16(b)に示す例では、サイクリックアクセスメモリリスト72は、デバイス名91、アドレス92から成る。この例では、上記抽出した各レコードのデバイス名82、アドレス83が、デバイス名91、アドレス92に格納されることになる。A specific example of the cyclic
In the example shown in FIG. 16B, the cyclic
そして、生成したサイクリックアクセスメモリリスト72を最適コマンド生成部69に渡す等して、最適コマンド生成部69によって新たな最適コマンドリスト54を生成させる(ステップS80)。尚、最適コマンド生成部69による最適コマンドリスト54の生成処理は、上記特許文献1,2等に開示されている既存技術であるので、ここでは特に説明しないものとする。
Then, the generated cyclic
最後に、未処理のポートがある場合には(ステップS81,YES)、ステップS79に戻り、次の処理対象のポートに関しても上記ステップS79,S80の処理を実行する。そして、全ポートについて処理実行したら(ステップS81,NO)、本処理を終了する。 Finally, if there is an unprocessed port (step S81, YES), the process returns to step S79, and the processes of steps S79 and S80 are executed for the next processing target port. When the process is executed for all the ports (step S81, NO), this process is terminated.
ここで、図20に、本例のプログラマブル表示器1の処理機能図を示す。
尚、処理機能図は既に図4等に示しているが、図20は他の観点から示したものである。Here, in FIG. 20, the processing function figure of the
The processing function diagram is already shown in FIG. 4 and the like, but FIG. 20 is shown from another viewpoint.
図20に示す処理機能図では、プログラマブル表示器1は、ロジック制御部151、外部メモリ参照受付部152、データキャッシュ読込部153、参照頻度更新部154、格付け判定部155、統合部156、サイクリック読取部157、通信処理部158の各処理機能部を有する。尚、これら各種処理機能部は、例えば、上記CPU11が上記ROM12等に予め格納されているアプリケーションプログラムを実行することによって実現される。
In the processing function diagram shown in FIG. 20, the
ロジック制御部151は、任意のロジック処理を実行すると共に、該ロジック処理に伴う任意のアクセス先への不定期な(突発的な)アクセス処理が生じた場合、外部メモリ参照受付部152を介してアクセス先のデータを取得する。これは、例えば、外部メモリ参照受付部152に対して、アクセス先を示す外部メモリ識別子162を渡して、アクセス先からのデータ取得を依頼する。外部メモリ識別子162は、例えば、任意の接続機器4内の任意の外部メモリの任意のアドレス等である。
The
外部メモリ参照受付部152は、この依頼に応じて、データキャッシュ読込部153を介してデータバース160から上記アクセス先のデータ(外部メモリデータ161)を取得して、ロジック制御部151に渡す。更に、参照頻度更新部154によって、データベース160に記憶される上記アクセス先に係わる参照頻度データを更新させる。
In response to this request, the external memory
尚、データベース160は、例えば上記共有メモリ55に相当するものと見做してもよい。そして、データベース160には、例えば、アクセス先、データキャッシュ(アクセス先からの取得データ)、参照頻度、格付け状態等の各種データが記憶される。
The
また、尚、外部メモリ参照受付部152は、上記依頼されたアクセス先がデータベース160に未登録の場合には、当該アクセス先等をデータベース160に登録する。
また、尚、通信処理部158は、基本的に、何らかのデータ取得要求(アクセス処理)に応じて、通信線を介して接続機器4との通信処理を行う処理機能部である。そして、この通信処理によって取得したデータは、要求元に渡すか、あるいはデータベース160に格納する。In addition, when the requested access destination is not registered in the
The
ここで、外部メモリ参照受付部152は、上記依頼に応じてデータバース160から該当データを取得する処理を、依頼を受けて直ちに行う場合と、通信処理部158によって接続機器4からデータ取得させてデータベース160に格納させた後に行う場合とがある。尚、後者は、既存技術のデータ取得方法と見做しても構わない。尚、これら2つの方法のどちらを行う場合でも、上記参照頻度データの更新は行う。
Here, the external memory
外部メモリ参照受付部152は、上記ロジック制御部151から依頼されたアクセス先が、後述する統合部156によって後述するサイクリックアクセス先群に統合されている場合には、直ちにデータベース160から該当データを取得する。一方、統合されていない場合には、上記依頼されたアクセス先を通信処理部158に渡してデータ取得を要求する。尚、上記統合されているか否かの判定は、例えば上記格付け状態に基づいて行う。例えば、上記格付け状態が後述する格上状態である場合には、統合されていると判定する。
When the access destination requested by the
上記データ取得要求を受けた通信処理部158は、接続機器4との通信処理を行って上記アクセス先のデータを取得し、この取得データをデータベース160に格納すると共に、データ取得完了を外部メモリ参照受付部152に通知する。
Upon receiving the data acquisition request, the
この通知を受けた外部メモリ参照受付部152は、データベース160から上記取得データを読出して、これを上記外部メモリデータ161としてロジック制御部151に渡す。
Receiving this notification, the external memory
また、サイクリック読取部157は、不図示のサイクリックアクセス先群を保持しており、例えばサイクリックに、当該サイクリックアクセス先群の各アクセス先からのデータ取得を、上記通信処理部158を介して行う。不図示のサイクリックアクセス先群は、例えば上記リフレッシュ処理に係わる各アイテム毎のアクセス先である。
The
尚、上記不図示のサイクリックアクセス先群とは、例えば上述したリフレッシュ処理に係わるアクセス先群に相当する。つまり、上記表示画面上の各アイテムに係わるアクセス先群に相当する(特に、上記最適コマンドリスト54に相当するが、この例に限らない)。
The cyclic access destination group (not shown) corresponds to, for example, the access destination group related to the refresh process described above. That is, it corresponds to an access destination group related to each item on the display screen (in particular, it corresponds to the
ここで、格付け判定部155は、例えば定期的に、上記データベース160に登録された各アクセス先毎に、対応する上記参照頻度データに基づいて、格付け判定を行い、判定結果を上記格付け状態として記憶する。格付け状態とは、普通状態と格上状態等である。格付け判定結果は、格上げ、格下げ、現状維持等である。普通状態において格上げと判定された場合には、格上状態に移行する。格上状態において格下げと判定された場合には普通状態に移行する。
Here, the
例えば、参照頻度が所定の第1閾値以上であるならば、格上げと判定する。参照頻度が所定の第2閾値未満であるならば、格下げと判定する。尚、閾値の値は任意に設定してよいが、「第1閾値≧第2閾値」の条件を満たすように設定することが望ましい。 For example, if the reference frequency is equal to or higher than a predetermined first threshold, it is determined that the upgrade is made. If the reference frequency is less than the predetermined second threshold, it is determined that the rating is downgraded. The threshold value may be set arbitrarily, but is preferably set so as to satisfy the condition “first threshold ≧ second threshold”.
外部メモリ参照受付部152は、依頼されたアクセス先の格付け状態が、格上状態である場合には、上述した「直ちにデータベース160から該当データを取得する処理」を行う。一方、普通状態である場合には、上述したように、通信処理部158によるデータ取得を行わせることになる。
When the requested access destination is in the upgraded state, the external memory
そして、統合部156は、例えば定期的に(所定期間経過する毎に)、データベース160において上記格付け状態が上記“格上状態”となっているアクセス先を判別する。そして、当該判別したアクセス先を格上状態アクセス先とし、該格上状態アクセス先を上記サイクリックアクセス先群に統合する。これによって、上記ロジック処理に伴うアクセス先であっても、上記リフレッシュ処理等に伴うサイクリックな接続機器4の外部メモリへのアクセス処理と一緒に、まとめて定期的にアクセス処理が行われることになる。そして、サイクリック読取部157は、当該サイクリックなアクセス処理で取得されたデータを、データベース160の該当領域に上書き格納する。
Then, the
尚、統合部156は、格下げと判定されたアクセス先を、上記サイクリックアクセス先群から除外する処理も行うようにしてもよい。
また、尚、サイクリックアクセス先群は、一例として、上記最適コマンドリスト54に相当するものであってもよい。そして、この例の場合には、統合部156は、上記最適コマンド生成部69に相当する処理機能も有するものであってよい。また、この例の場合、格付け判定部155及び統合部156が、上記格付け判定処理部70に相当するものと見做してもよい。Note that the
In addition, the cyclic access destination group may correspond to the
但し、上記サイクリックアクセス先群は、必ずしも最適化されたものでなくてもよい。つまり、サイクリックアクセス先群は、単なる上記リフレッシュ処理に係わる各アクセス先の集まりであっても構わない。 However, the cyclic access destination group does not necessarily have to be optimized. That is, the cyclic access destination group may be simply a collection of access destinations related to the refresh process.
上述したように、本例のプログラマブル表示器1は、基本的に、表示画面上のアイテム表示のリフレッシュ処理に係わる外部メモリアクセスと、ロジック処理実行に伴う(不定期な;突発的な)外部メモリアクセスとを行うプログラマブル表示器を前提とする。そして、ロジック処理実行に伴う外部メモリアクセスの頻度が高い状態となっても、動作が遅くならないようにできる。
As described above, the
すなわち、本例のプログラマブル表示器1では、例えばロジック処理実行に伴う外部メモリアクセスのなかでアクセス頻度が高いアクセス先を、リフレッシュ処理に係わるアクセス先群に統合する。これによって、ロジック処理実行に伴う外部メモリアクセスが、リフレッシュ処理に係わる外部メモリアクセス処理を大きく妨げる事態を抑止できる。
That is, in the
特に、ロジック処理実行に伴う外部メモリアクセスのなかでアクセス頻度が高いアクセス先をリフレッシュ処理に係わるアクセス先群に含めたうえで最適化を行って上記最適コマンドリスト54を生成する。これによって、外部メモリアクセスに係わる全体的な処理効率が向上する。
In particular, the
更に、ロジック処理実行に伴う突発的な外部メモリアクセスが生じる毎に逐一外部メモリアクセスする必要がなくなるので、ロジック処理に係わる処理効率が向上する。
尚、本例のプログラマブル表示器1は、例えば不図示の下記の処理機能部を有するもの見做すこともできる。Furthermore, since it is not necessary to access the external memory every time a sudden external memory access accompanying the execution of the logic processing occurs, the processing efficiency related to the logic processing is improved.
In addition, the
・表示画面上の各アイテムに応じた各アクセス先を示すアクセス情報が記憶されるアイテム情報記憶部;
・定期的に、上記アクセス情報に基づいて、上記接続機器内の各アクセス先からデータを取得して内部メモリに記憶する第1データ取得手段;
・任意のロジック処理を実行すると共に、該ロジック処理に伴うアクセス先である不定期アクセス先へのアクセス処理が生じた場合、該不定期アクセス先が上記アクセス情報に統合されているか否かを判定する。そして、該不定期アクセス先が上記アクセス情報に統合されていると判定した場合には、上記内部メモリから該不定期アクセス先に対応するデータを取得するロジック処理実行部;
・所定期間経過する毎に、アクセス頻度が所定の第1閾値以上である上記不定期アクセス先を、格上状態アクセス先とする格付け部;
・上記格上状態アクセス先となっている不定期アクセス先を、上記アクセス情報に統合する統合部;
・上記ロジック処理実行部によって不定期アクセス先がアクセス情報に統合されていないと判定された場合に、接続機器内の当該不定期アクセス先からデータを取得する第2データ取得部;
また、例えば、上記第1データ取得部は、任意の1以上の上記不定期アクセス先が上記アクセス情報に統合されている場合には、該各不定期アクセス先からもデータを取得して上記内部メモリに記憶する。An item information storage unit that stores access information indicating each access destination corresponding to each item on the display screen;
First data acquisition means for periodically acquiring data from each access destination in the connected device and storing it in an internal memory based on the access information;
-Arbitrary logic processing is executed, and when access processing to an irregular access destination that is an access destination accompanying the logic processing occurs, it is determined whether or not the irregular access destination is integrated with the access information. To do. And a logic processing execution unit that acquires data corresponding to the irregular access destination from the internal memory when it is determined that the irregular access destination is integrated with the access information;
A rating unit that sets the above-mentioned irregular access destination whose access frequency is equal to or higher than a predetermined first threshold every time a predetermined period elapses as an upgraded state access destination;
-An integration unit that integrates the above-mentioned access information into the irregular access destination that is the above-mentioned access status;
A second data acquisition unit that acquires data from the irregular access destination in the connected device when the logic process execution unit determines that the irregular access destination is not integrated with the access information;
In addition, for example, when any one or more of the irregular access destinations are integrated with the access information, the first data acquisition unit acquires data from each of the irregular access destinations and stores the internal data Store in memory.
また、例えば、上記ロジック処理実行部は、上記不定期アクセス先が上記アクセス情報に統合されているか否かに係わらず、任意の上記不定期アクセス先へのアクセス処理が生じる毎に、該不定期アクセス先に係わる上記アクセス頻度を更新する。 In addition, for example, the logic processing execution unit performs the irregular processing every time access processing to any irregular access destination occurs regardless of whether the irregular access destination is integrated into the access information. The access frequency related to the access destination is updated.
また、例えば、上記格付け部は、上記格上状態アクセス先となっている上記不定期アクセス先に関する上記アクセス頻度が、所定の第2閾値未満である場合には、格下げを行うことで上記アクセス情報に統合させないようにする。 In addition, for example, when the access frequency related to the irregular access destination that is the upgraded access destination is less than a predetermined second threshold, the rating unit performs the downgrade to perform the access information. Do n’t integrate with
また、例えば、上記表示画面上の各アイテムに応じた各アクセス先に基づいて、最適化された上記アクセス情報を生成するアクセス最適化部を更に有するものであってもよい。
この例の場合、例えば、上記統合部は、上記表示画面上の各アイテムに応じた各アクセス先と上記格上状態アクセス先とに基づく上記最適化処理を上記最適化部で実行させることで、上記最適化されたアクセス情報を再生成させる。Further, for example, an access optimization unit that generates the optimized access information based on each access destination corresponding to each item on the display screen may be included.
In the case of this example, for example, the integration unit causes the optimization unit to execute the optimization process based on each access destination according to each item on the display screen and the above-described upper-level access destination. The optimized access information is regenerated.
また、この例の場合、上記第1データ取得部は、該再生成された上記最適化されたアクセス情報に基づいて、上記各アクセス先からのデータ取得と上記内部メモリへ記憶する処理を実行する。上記第1データ取得部によって取得された、上記各アイテムに応じた各アクセス先のデータを用いて、上記表示画面上の各アイテムの表示内容を制御するアイテム表示制御部を更に有するものであってもよい。 In the case of this example, the first data acquisition unit executes processing for acquiring data from each access destination and storing it in the internal memory based on the regenerated optimized access information. . The apparatus further includes an item display control unit that controls the display contents of each item on the display screen using the data of each access destination corresponding to each item acquired by the first data acquisition unit. Also good.
上記アイテム情報記憶部は、例えばアイテムリスト51に相当すると見做してもよい。
上記第1データ取得手段は、例えば、上記サイクリック読取部157に相当すると見做してもよいし、最適コマンドリスト54及び通信処理部63に相当すると見做してもよい。The item information storage unit may be regarded as corresponding to the
For example, the first data acquisition unit may be regarded as corresponding to the
上記ロジック処理実行部は、例えば上記ロジック処理部64等に相当すると見做してもよいし、上記ロジック制御部151及び外部メモリ参照受付部152に相当すると見做してもよい。
The logic processing execution unit may be considered to correspond to, for example, the
上記格付け部は、例えば上記格付け判定部155に相当すると見做してもよい。
上記統合部は、例えば上記統合部156に相当すると見做してもよい。
あるいは、上記格付け部及び上記統合部が、上記格付け判定処理部70に相当すると見做してもよい。The rating unit may be regarded as corresponding to the
The integration unit may be regarded as corresponding to the
Alternatively, it may be considered that the rating unit and the integrating unit correspond to the rating
上記第2データ取得部は、例えば、上記外部メモリ参照受付部152及び通信処理部158に相当すると見做してもよい。あるいは、上記第2データ取得部は、上記コマンドリスト53及び通信処理部63に相当すると見做してもよい。
The second data acquisition unit may be regarded as corresponding to the external memory
上記アクセス最適化部は、例えば上記最適コマンド生成部69に相当すると見做してもよい。
例えば、アイテム表示に係わるアクセス先として、D102番地とD105番地があるものとする。この場合、上記最適コマンド生成部69で生成される最適コマンドリスト54では、アクセス先が「D102番地〜D105番地」となっている。よって、1回の通信で接続機器4から「D102番地〜D105番地」の格納データを纏めて取得することになる。これ自体は、上記の通り、既存技術である。The access optimization unit may be considered to correspond to the optimum
For example, it is assumed that there are addresses D102 and D105 as access destinations related to item display. In this case, in the
ここで、例えば、ロジック処理に係わる不定期アクセス先として例えばD108番地があるものとする。この例の場合、従来では、定期的に「D102番地〜D105番地」の格納データを纏めて取得する。そして、ロジック処理に伴って不定期に(突発的に)D108番地の格納データを取得することになる。よって、従来では、D108番地へのアクセス処理が頻繁に行われると、「D102番地〜D105番地」へのアクセス処理に影響し、リフレッシュ処理とロジック処理の両方の動作が遅くなる場合もあった。 Here, for example, it is assumed that there is an address D108 as an irregular access destination related to logic processing. In the case of this example, conventionally, the stored data of “address D102 to address D105” is acquired periodically. Then, the stored data at address D108 is acquired irregularly (suddenly) with the logic processing. Therefore, conventionally, if the access process to the address D108 is frequently performed, the access process to the "address D102 to address D105" is affected, and both the refresh process and the logic process may be delayed.
これに対して、本手法では、上記不定期アクセス先が格上げされた場合、上記最適コマンド生成部69で生成される最適コマンドリスト54では、アクセス先が「D102番地〜D108番地」となるはずである。よって、1回の通信で接続機器4から「D102番地〜D108番地」の格納データを纏めて取得することになる。従って、上述した従来の問題を解消できることになる。
On the other hand, in this method, when the irregular access destination is upgraded, the access destination should be “address D102 to address D108” in the
また、従来では、上記D108番地へのアクセス処理が発生する毎に、逐一、例えばコマンドリスト53にコマンド130を格納することでアクセス処理を依頼して、データが取得されるまで待機する必要があった。これに対して、本手法では、上記定期的なリフレッシュ処理に伴って共有メモリ55に格納されているデータを読み出せばよいので、ロジック処理に係わる処理効率が向上する。
Conventionally, every time access processing to the address D108 occurs, it is necessary to request access processing by storing the
Claims (9)
表示画面上の各アイテムに応じた各アクセス先を示すアクセス情報が記憶されるアイテム情報記憶手段と、
定期的に、前記アクセス情報に基づいて、前記接続機器内の各アクセス先からデータを取得して内部メモリに記憶する第1データ取得手段と、
任意のロジック処理を実行すると共に、該ロジック処理に伴うアクセス先である不定期アクセス先へのアクセス処理が生じた場合、該不定期アクセス先が前記アクセス情報に統合されているか否かを判定し、該不定期アクセス先が前記アクセス情報に統合されている場合には、前記内部メモリから該不定期アクセス先に対応するデータを取得するロジック処理実行手段と、
所定期間経過する毎に、アクセス頻度が所定の第1閾値以上である前記不定期アクセス先を、格上状態アクセス先とする格付け手段と、
前記格上状態アクセス先となっている不定期アクセス先を、前記アクセス情報に統合する統合手段と、
を有することを特徴とするプログラマブル表示器。A programmable display connected to any connected device,
Item information storage means for storing access information indicating each access destination corresponding to each item on the display screen;
First data acquisition means for periodically acquiring data from each access destination in the connected device based on the access information and storing the data in an internal memory;
When arbitrary logic processing is executed and access processing to an irregular access destination that is an access destination accompanying the logic processing occurs, it is determined whether or not the irregular access destination is integrated into the access information. When the irregular access destination is integrated with the access information, logic processing execution means for acquiring data corresponding to the irregular access destination from the internal memory;
A rating means that sets the irregular access destination whose access frequency is equal to or higher than a predetermined first threshold every time a predetermined period elapses as an upgraded state access destination;
An integration unit that integrates the non-periodic access destination that is the above-mentioned upper-level access destination into the access information;
A programmable display device comprising:
前記統合手段は、前記表示画面上の各アイテムに応じた各アクセス先と前記格上状態アクセス先とに基づく前記最適化処理を前記最適化手段で実行させることで、前記最適化されたアクセス情報を再生成させ、
前記第1データ取得手段は、該再生成された前記最適化されたアクセス情報に基づいて、前記データの取得と前記内部メモリへの記憶を行うことを特徴とする請求項1記載のプログラマブル表示器。Further comprising access optimization means for generating the optimized access information based on each access destination corresponding to each item on the display screen,
The integration unit is configured to cause the optimization unit to execute the optimization process based on each access destination corresponding to each item on the display screen and the upgraded state access destination, so that the optimized access information is obtained. Is regenerated,
2. The programmable display device according to claim 1, wherein the first data obtaining unit obtains the data and stores the data in the internal memory based on the regenerated optimized access information. 3. .
表示画面上の各アイテムに応じた各アクセス先を示すアクセス情報が記憶されるアイテム情報記憶手段と、
定期的に、前記アクセス情報に基づいて、前記接続機器内の各アクセス先からデータを取得して内部メモリに記憶する第1データ取得手段と、
任意のロジック処理を実行すると共に、該ロジック処理に伴うアクセス先である不定期アクセス先へのアクセス処理が生じた場合、該不定期アクセス先が前記アクセス情報に統合されているか否かを判定し、該不定期アクセス先が前記アクセス情報に統合されている場合には、前記内部メモリから該不定期アクセス先に対応するデータを取得するロジック処理実行手段と、
所定期間経過する毎に、アクセス頻度が所定の第1閾値以上である前記不定期アクセス先を、格上状態アクセス先とする格付け手段と、
前記格上状態アクセス先となっている不定期アクセス先を、前記アクセス情報に統合する統合手段、
として機能させるためのプログラム。
Programmable display computer connected to any connected device
Item information storage means for storing access information indicating each access destination corresponding to each item on the display screen;
First data acquisition means for periodically acquiring data from each access destination in the connected device based on the access information and storing the data in an internal memory;
When arbitrary logic processing is executed and access processing to an irregular access destination that is an access destination accompanying the logic processing occurs, it is determined whether or not the irregular access destination is integrated into the access information. When the irregular access destination is integrated with the access information, logic processing execution means for acquiring data corresponding to the irregular access destination from the internal memory;
A rating means that sets the irregular access destination whose access frequency is equal to or higher than a predetermined first threshold every time a predetermined period elapses as an upgraded state access destination;
Integration means for integrating the irregular access destination that is the above-mentioned access status destination into the access information;
Program to function as.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/057507 WO2014141476A1 (en) | 2013-03-15 | 2013-03-15 | Programmable display unit and program for same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5931276B2 JP5931276B2 (en) | 2016-06-08 |
JPWO2014141476A1 true JPWO2014141476A1 (en) | 2017-02-16 |
Family
ID=51536170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015505204A Active JP5931276B2 (en) | 2013-03-15 | 2013-03-15 | Programmable display, its program |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5931276B2 (en) |
CN (1) | CN104937508B (en) |
WO (1) | WO2014141476A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6627571B2 (en) * | 2016-02-26 | 2020-01-08 | オムロン株式会社 | Programmable controller, programmable controller control method, and programmable controller control program |
JP6869428B2 (en) * | 2019-04-11 | 2021-05-12 | 三菱電機株式会社 | Data creator, data transfer method and data transfer program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002099498A (en) * | 2000-09-25 | 2002-04-05 | Mitsubishi Electric Corp | Program performance device and program development support device |
JP2009054055A (en) * | 2007-08-28 | 2009-03-12 | Hakko Denki Kk | Method for adjusting length of data to be read and programmable indicator |
JP4972493B2 (en) * | 2007-08-28 | 2012-07-11 | 発紘電機株式会社 | COMMUNICATION COMMAND OPTIMIZATION METHOD, PROGRAM, AND PROGRAMMABLE DISPLAY |
JP2010128612A (en) * | 2008-11-25 | 2010-06-10 | Panasonic Electric Works Co Ltd | Sequence control system |
KR101392085B1 (en) * | 2010-01-20 | 2014-05-07 | 미쓰비시덴키 가부시키가이샤 | programmable controller system and development system |
JP5307111B2 (en) * | 2010-12-16 | 2013-10-02 | 株式会社デジタル | Programmable display and data display program |
-
2013
- 2013-03-15 WO PCT/JP2013/057507 patent/WO2014141476A1/en active Application Filing
- 2013-03-15 JP JP2015505204A patent/JP5931276B2/en active Active
- 2013-03-15 CN CN201380069680.6A patent/CN104937508B/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP5931276B2 (en) | 2016-06-08 |
CN104937508A (en) | 2015-09-23 |
CN104937508B (en) | 2017-10-13 |
WO2014141476A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8375007B2 (en) | Status tool to expose metadata read and write queues | |
US20150195179A1 (en) | Method and system for customizing toolbar buttons based on usage | |
JP6006399B2 (en) | Programmable display, its program | |
CN109902255B (en) | Page mixed browsing record generation method, device, equipment and storage medium | |
CA2866544A1 (en) | Cohort-based presentation of user interaction data | |
JP2019109580A (en) | Industrial control system and supporting device therefor, control supporting method and program | |
US20160110069A1 (en) | Information processing apparatus and method of controlling information processing apparatus | |
US11249737B2 (en) | Methods, apparatuses and computer program products for improving productivity for building applications | |
CN112487036A (en) | Data processing method and device | |
CN103677519A (en) | Method for collecting multimedia resource, terminal and server | |
JP5931276B2 (en) | Programmable display, its program | |
CN115438087A (en) | Data query method and device based on cache library, storage medium and equipment | |
JP2015095219A (en) | Information processor, information processing method and storage medium | |
CN111552521A (en) | Application data reporting method, device, server and storage medium | |
CN103729166A (en) | Method, device and system for determining thread relation of program | |
CN114185874A (en) | Big data based modeling method and device, development framework and equipment | |
WO2015059816A1 (en) | Programmable display device, and program | |
US9519497B1 (en) | Managing visual updates | |
WO2015181921A1 (en) | Programmable display device and rendering software | |
CN112306413B (en) | Method, device, equipment and storage medium for accessing memory | |
CN115203210A (en) | Hash table processing method, device and equipment and computer readable storage medium | |
JP2009223471A (en) | Simulation system | |
CN115113989A (en) | Transaction execution method and device, computing equipment and storage medium | |
JPWO2014128918A1 (en) | Programmable display, its program | |
JP2022505016A (en) | Methods and equipment for optimizing processor memory for deep learning training tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5931276 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |