JP2021002279A - Control system - Google Patents

Control system Download PDF

Info

Publication number
JP2021002279A
JP2021002279A JP2019116534A JP2019116534A JP2021002279A JP 2021002279 A JP2021002279 A JP 2021002279A JP 2019116534 A JP2019116534 A JP 2019116534A JP 2019116534 A JP2019116534 A JP 2019116534A JP 2021002279 A JP2021002279 A JP 2021002279A
Authority
JP
Japan
Prior art keywords
sub
module
access
address
space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019116534A
Other languages
Japanese (ja)
Other versions
JP7294912B2 (en
Inventor
満 曽我
Mitsuru Soga
満 曽我
光洋 今井
Mitsuhiro Imai
光洋 今井
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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2019116534A priority Critical patent/JP7294912B2/en
Publication of JP2021002279A publication Critical patent/JP2021002279A/en
Application granted granted Critical
Publication of JP7294912B2 publication Critical patent/JP7294912B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】演算モジュールと2以上のサブ演算モジュールとの間のデータ転送を同時に行う。【解決手段】コントロールシステムは、演算モジュールが接続される接続部と複数のサブ演算モジュールがそれぞれ接続される複数のサブ接続部とに関連付けられたバスとを備える。演算モジュールにおいて、バスの空間が、2以上のサブ接続部にそれぞれ対応した2以上の空間である2以上の個別空間と、2以上のサブ接続部に共通の空間である共通空間とを含む。2以上のサブ接続部に2以上のサブ演算モジュールが接続されている場合、演算モジュールは、いずれかのサブ演算モジュールとの間でデータ転送を行うことであるシングルアクセスを当該サブ演算モジュールに対応した個別空間を用いて行うことと、2以上のサブ演算モジュールとの間で同時にデータ転送を行うことであるブロードキャストアクセスを共通空間を用いて行うこととを選択的に行う。【選択図】 図1PROBLEM TO BE SOLVED: To transfer data between an arithmetic module and two or more sub arithmetic modules at the same time. A control system includes a connection unit to which an arithmetic module is connected and a bus associated with a plurality of sub-connection units to which a plurality of sub-arithmetic modules are connected. In the arithmetic module, the bus space includes two or more individual spaces, which are two or more spaces corresponding to two or more sub-connections, and a common space, which is a space common to two or more sub-connections. When two or more sub-arithmetic modules are connected to two or more sub-connection units, the arithmetic module corresponds to the single access that is to transfer data to or from any of the sub-arithmetic modules. Selectively perform the broadcast access using the individual space, which is the simultaneous data transfer between the two or more sub-operation modules, and the broadcast access using the common space. [Selection diagram] Fig. 1

Description

本発明は、概して、設備や機械システムの動作をシーケンスプログラムによって制御するプログラマブルコントローラ(PLC)のようなコントロールシステムに関し、特に、演算モジュールとサブ演算モジュール間でのデータ転送の改良に関する。 The present invention generally relates to control systems such as programmable controllers (PLCs) that control the operation of equipment and mechanical systems by sequence programs, and particularly to improved data transfer between arithmetic modules and sub-arithmetic modules.

特許文献1(特開2004−362327号公報)には、「プラントの監視制御設備における監視用パーソナルコンピュータと制御用PLCをネットワークで接続した分散型監視制御システムにおいて、監視用汎用パーソナルコンピュータに制御用汎用PLCの情報管理ファイルを設け、前記制御用汎用PLCに、この制御用汎用PLCの情報自動掃出ツールを設けて、前記汎用パーソナルコンピュータに入力された情報と前記汎用制御用PLCのプロセス情報を汎用ソフトウェアで統合管理することを特徴とする分散型監視制御システム。」が開示されている(請求項1参照)。 Patent Document 1 (Japanese Unexamined Patent Publication No. 2004-362327) states that "in a distributed monitoring and control system in which a monitoring personal computer and a control PLC in a plant monitoring and control facility are connected by a network, a general-purpose monitoring personal computer is used for control. An information management file of the general-purpose PLC is provided, and an information automatic sweeping tool of the general-purpose PLC for control is provided in the general-purpose PLC for control, and information input to the general-purpose personal computer and process information of the general-purpose control PLC are input. A distributed monitoring and control system characterized by integrated management by general-purpose software. ”(See claim 1).

特許文献2(特開2006−178818号公報)には、「リアルタイムOSと、メモリと、ラダー言語プログラムをモーション制御周期に同期させて実行する実行手段と、前記ラダー言語プログラムとC言語プログラムの両方が動作するマイクロプロセッサとを備えたモーションコントローラにおいて、エンジニアリングツールのプロジェクト設定ファイルに従ってロードされた前記C言語プログラムがタスク型プロジェクトであれば前記リアルタイムOSのタスクとして動作させ、前記C言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態で前記メモリに格納することを特徴とするモーションコントローラ。」が開示されている(請求項1参照)。 Patent Document 2 (Japanese Unexamined Patent Publication No. 2006-178818) states that "a real-time OS, a memory, an execution means for executing a ladder language program in synchronization with a motion control cycle, and both the ladder language program and the C language program". In a motion controller equipped with a microprocessor that operates, if the C language program loaded according to the project setting file of the engineering tool is a task type project, it is operated as a task of the real-time OS, and the C language program is a functional type. If it is a project, a motion controller is stored in the memory in a state where it can be called as a function from another task. ”(See claim 1).

特許文献3(特開2017−27539号公報)には、「CPUモジュールと、1以上のIOモジュールと、前記両モジュールをつなぐ外部バスとを備え、前記CPUモジュールは、前記IOモジュール個々のアドレス空間の任意アドレスを指定し、前記IOモジュールは、指定された前記任意アドレスから当該アドレスをインクリメントまたはデクリメントして当該IOモジュール内の連続したアドレス空間に対してIO処理を実行することを特徴とするプログラマブルコントローラ。」が開示されている(請求項1参照)。 Patent Document 3 (Japanese Unexamined Patent Publication No. 2017-27539) states that "a CPU module, one or more IO modules, and an external bus connecting both modules are provided, and the CPU module has an address space for each IO module. The IO module specifies an arbitrary address of, and the IO module increments or decrements the address from the specified arbitrary address to execute IO processing for a continuous address space in the IO module. Controller. ”(See claim 1).

特開2004−362327号公報Japanese Unexamined Patent Publication No. 2004-362327 特開2006−178818号公報Japanese Unexamined Patent Publication No. 2006-178818 特開2017−27539号公報Japanese Unexamined Patent Publication No. 2017-27539

特許文献1には、「しかしながら、従来の分散型監視制御システム41は、オペレータズテーション50a〜50n、ディジタル制御装置60a〜60n、伝送路52a〜52n、基幹伝送路42、伝送路61a〜61n等が分散型監視制御システムメーカ毎の専用機器であり、高価かつ、他メーカー製品と互換性がないため、拡張性が劣り、また、近年のパソコン等汎用機器の性能向上に伴い、能力的にも専用機器を凌ぐものもあるにもかかわらず、汎用機器が使用されていない。」と記載されている(0004段落参照)。 Patent Document 1 states, "However, the conventional distributed monitoring and control system 41 includes operator displacement 50a to 50n, digital control devices 60a to 60n, transmission lines 52a to 52n, trunk transmission lines 42, transmission lines 61a to 61n, and the like. It is a dedicated device for each distributed monitoring and control system manufacturer, and it is expensive and incompatible with other manufacturers' products, so it is inferior in expandability, and with the recent improvement in the performance of general-purpose devices such as personal computers, it is also dedicated in terms of capacity. No general-purpose equipment is used, even though some are superior to the equipment. ”(See paragraph 0004).

分散型監視制御システムメーカ毎の専用機器はプログラマブルロジックコントローラであり、このような装置構成とする背景には、プログラマブルロジックコントローラはI/Oユニット等の制御を行うものであり、工場内の生産や搬送等に用いられる装置に接続されるため、制御に遅延が生じると工場内の装置等の動作が不安定になったり、予期しない動作が生じたりする場合がある。そのため、従来のプログラマブルロジックコントローラは、複雑な処理をさせないようになっていた。特許文献1に開示される発明も同様に複雑な処理をさせないようにし、監視用汎用パーソナルコンピュータに制御用汎用プログラマブルロジックコントローラの情報管理ファイルを設けることで、プログラマブルロジックコントローラの制御に影響を与えないようにすることが開示されている。 The dedicated equipment for each distributed monitoring and control system manufacturer is a programmable logic controller, and in the background of such a device configuration, the programmable logic controller controls the I / O unit, etc., and is used for production in factories. Since it is connected to a device used for transportation or the like, if a delay occurs in control, the operation of the device or the like in the factory may become unstable or unexpected operation may occur. Therefore, the conventional programmable logic controller has been prevented from performing complicated processing. Similarly, the invention disclosed in Patent Document 1 is prevented from being complicatedly processed, and the control of the programmable logic controller is not affected by providing the information management file of the general-purpose programmable logic controller for control in the general-purpose personal computer for monitoring. It is disclosed to do so.

したがって、特許文献1は、プログラマブルロジックコントローラ内で、情報処理を行うことは考慮されていない。 Therefore, Patent Document 1 does not consider performing information processing in the programmable logic controller.

特許文献2の課題の欄には、「ラダー言語アプリケーションプログラムとC言語アプリケーションプログラムが異なるマイクロプロセッサ上で動作するため、ラダー言語アプリケーションからC言語アプリケーションプログラムを関数としてコールすることができないという問題もあった。」と記載されている。 In the problem column of Patent Document 2, there is also a problem that "because the ladder language application program and the C language application program operate on different microprocessors, the C language application program cannot be called as a function from the ladder language application. It is stated.

すなわち、特許文献2は、同一のマイクロプロセッサ上で、ラダー言語アプリケーションプログラムがC言語アプリケーションプログラムを関数としてコールすることを目的としている。 That is, Patent Document 2 aims at a ladder language application program calling a C language application program as a function on the same microprocessor.

特許文献3には、CPUモジュールとIOモジュール間とで、連続したアドレス空間に対して高速連続アクセスを行う方法が開示されている。但し、アクセス時では、CPUモジュールのような演算モジュールとIOモジュールのようなサブ演算モジュールは1対1の関係であることが前提になっている。なぜなら、演算モジュールとサブ演算モジュールは外部バスにつながっており、一般に、バスでは、1:1通信が前提となるからである。一方、演算モジュールとサブ演算モジュールを有するコントロールシステム(例えば、産業用コントローラ)は、通常、制御対象装置が存在する工場のような現場に設置されるが、エッジコンピューティングの適用またはその他の理由から、コントロールシステムがセンサまたはその他のデバイスから取得したデータをネットワークを介してクラウドシステムのようなリモートのシステムに送信することに代えて、コントロールシステムが当該データを処理することが望ましいケースがあり得る。例えば、コントロールシステムが行う制御では、制御対象装置の状態を読み込みまたは書き込み(取得または更新)をするスキャン動作をスキャンタイム内で行う必要があるという高いリアルタイム性が求められることから、コントロールシステムにおいてデータ処理がされることが望ましいケースがあり得る。このようなケースにおいては、演算モジュールと複数のサブ演算モジュール間での同時データ転送が実現されると、コントロールシステムにおけるデータ処理の高速化が期待される。 Patent Document 3 discloses a method of performing high-speed continuous access to a continuous address space between a CPU module and an IO module. However, at the time of access, it is premised that the arithmetic module such as the CPU module and the sub arithmetic module such as the IO module have a one-to-one relationship. This is because the arithmetic module and the sub arithmetic module are connected to an external bus, and in general, 1: 1 communication is premised on the bus. On the other hand, a control system having an arithmetic module and a sub arithmetic module (for example, an industrial controller) is usually installed in a field such as a factory where a controlled device is present, but for application of edge computing or other reasons. In some cases, it may be desirable for the control system to process the data instead of sending the data acquired from the sensor or other device over the network to a remote system such as a cloud system. For example, in the control performed by the control system, high real-time performance is required in which a scan operation for reading or writing (acquiring or updating) the state of the controlled device must be performed within the scan time. Therefore, data in the control system is required. There may be cases where it is desirable to be processed. In such a case, if simultaneous data transfer between the arithmetic module and a plurality of sub arithmetic modules is realized, it is expected that the speed of data processing in the control system will be increased.

本発明は以上の点を考慮してなされたもので、演算モジュールと2以上のサブ演算モジュールとの間のデータ転送を同時に行うことを目的とする。 The present invention has been made in consideration of the above points, and an object of the present invention is to simultaneously transfer data between an arithmetic module and two or more sub arithmetic modules.

コントロールシステムは、演算モジュールと、演算モジュールが接続される接続部と複数のサブ演算モジュールがそれぞれ接続される複数の接続部である複数のサブ接続部とに関連付けられたバスとを備える。演算モジュールにおいて、バスの空間が、2以上のサブ接続部にそれぞれ対応した2以上の空間である2以上の個別空間と、2以上のサブ接続部に共通の空間である共通空間とを含む。2以上のサブ接続部に2以上のサブ演算モジュールが接続されている場合、演算モジュールは、いずれかのサブ演算モジュールとの間でデータ転送を行うことであるシングルアクセスを当該サブ演算モジュールに対応した個別空間を用いて行うことと、2以上のサブ演算モジュールとの間で同時にデータ転送を行うことであるブロードキャストアクセスを共通空間を用いて行うこととを選択的に行う。 The control system includes a calculation module and a bus associated with a connection unit to which the calculation module is connected and a plurality of sub-connection parts which are a plurality of connection parts to which the plurality of sub-calculation modules are connected to each other. In the arithmetic module, the bus space includes two or more individual spaces, which are two or more spaces corresponding to two or more sub-connections, and a common space, which is a space common to two or more sub-connections. When two or more sub-calculation modules are connected to two or more sub-connection units, the arithmetic module corresponds to the single access that transfers data to or from any of the sub-operation modules. Selectively perform the broadcast access using the individual space, which is the simultaneous data transfer between the two or more sub-operation modules, and the broadcast access using the common space.

本発明によれば、演算モジュールと2以上のサブ演算モジュールとの間のデータ転送を同時に行うことが可能となる。 According to the present invention, it is possible to simultaneously transfer data between an arithmetic module and two or more sub arithmetic modules.

図1は、本発明の実施例に係るプログラマブルコントローラの構成図である。FIG. 1 is a configuration diagram of a programmable controller according to an embodiment of the present invention. 図2は、サブCPUモジュールが備えるBUSコントローラの内部ブロックの構成図である。FIG. 2 is a configuration diagram of an internal block of a BUS controller included in the sub CPU module. 図3は、通常のIOモジュールに対するライトアクセス時のタイムチャートである。FIG. 3 is a time chart at the time of write access to a normal IO module. 図4は、通常のIOモジュールに対するリードアクセス時のタイムチャートである。FIG. 4 is a time chart at the time of read access to a normal IO module. 図5は、サブCPUモジュールに対するライト時の高速連続アクセスのタイムチャートである。FIG. 5 is a time chart of high-speed continuous access to the sub CPU module at the time of writing. 図6は、サブCPUモジュールに対するリード時の高速連続アクセスのタイムチャートである。FIG. 6 is a time chart of high-speed continuous access at the time of reading to the sub CPU module. 図7は、プログラマブルコントローラ(PLC)の動作を示すフローチャートである。FIG. 7 is a flowchart showing the operation of the programmable controller (PLC). 図8は、CPUモジュールの外部バス空間のアドレスマップとスロット選択信号との関係を表すイメージ図である。FIG. 8 is an image diagram showing the relationship between the address map of the external bus space of the CPU module and the slot selection signal. 図9は、図8に示す関係の一変形例を表すイメージ図である。FIG. 9 is an image diagram showing a modified example of the relationship shown in FIG.

以下に、本発明の実施例について、図を参照しながら説明する。 Hereinafter, examples of the present invention will be described with reference to the drawings.

図1は、本発明の実施例に係るPLCの構成図である。 FIG. 1 is a block diagram of a PLC according to an embodiment of the present invention.

このPLCは、CPUスロットと2以上のサブCPUスロットを有する。CPUスロットにはCPUモジュール1が実装され、サブCPUスロットにはサブCPUモジュール2が実装される。 This PLC has a CPU slot and two or more sub CPU slots. The CPU module 1 is mounted in the CPU slot, and the sub CPU module 2 is mounted in the sub CPU slot.

CPUモジュール1は、シーケンスプログラムの演算を行うMPU(MicroProcessor Unit)11、パソコン等の周辺機器と通信するための通信ポート12、シーケンスプログラムやシステムプログラムを格納するためのROM(Read Only Memory)13、シーケンスプログラムの演算に使用するデータを格納するRAM(Random Access Memory)14、該RAM14と外部バス3(バスの一例)に接続されるサブCPUモジュールとのデータ転送(例えば、DMA(Direct Memory Access))を行うDMAC(DMA Controller)15、外部バス3とのインタフェースでありアドレス出力部およびデータ入出力部を持つBUSコントローラM16(Mは「マスタ」を表す)、から構成される。また、CPUモジュール1は、後述するサブCPUモジュール2に対する高速連続アクセスのために、連続アクセス数をカウントするカウンタを備える。このカウンタは、ハード的にまたはソフト的に構成することができるものである。そのため、図1のCPUモジュール1内には図示をしていない。MPU11が、演算部の一例である。ROM13およびRAM14のうちの少なくとも一つが、メモリ部の一例である。 The CPU module 1 includes an MPU (MicroProcessor Unit) 11 that calculates a sequence program, a communication port 12 for communicating with peripheral devices such as a personal computer, and a ROM (Read Only Memory) 13 for storing a sequence program and a system program. Data transfer (for example, DMA (Direct Memory Access)) between a RAM (Random Access Memory) 14 for storing data used for calculation of a sequence program, and a sub CPU module connected to the RAM 14 and an external bus 3 (an example of a bus). ), A BUS controller M16 (M represents a "master") which is an interface with the external bus 3 and has an address output unit and a data input / output unit. Further, the CPU module 1 includes a counter that counts the number of continuous accesses for high-speed continuous access to the sub CPU module 2 described later. This counter can be configured hard or soft. Therefore, it is not shown in the CPU module 1 of FIG. MPU 11 is an example of a calculation unit. At least one of the ROM 13 and the RAM 14 is an example of the memory unit.

CPUモジュール1は、サブCPUスロット#0、サブCPUスロット#1、・・・サブCPUスロット#nに、どのようなサブCPUモジュール2が接続されているのか、あらかじめ把握する必要がある。そこで、サブCPUモジュール2が、ステータス情報として、入出力タイプやデータサイズといった情報を例えばROMに保持しており、ステータス情報をCPUモジュール1に外部バス3経由で送信する。このステータス情報が、高速連続アクセスに対応可能か否かの情報を含む。これにより、CPUモジュール1から、高速連続アクセス対応可能なサブCPUモジュール2がどのサブCPUスロットに実装されているか判断可能となる。なお、ステータス情報は、ブロードキャストに対応可能か否かの情報を含み、CPUモジュール1から、ブロードキャスト対応可能なサブCPUモジュール2がどのサブCPUスロットに実装されているか判断可能でよい。 The CPU module 1 needs to know in advance what kind of sub CPU module 2 is connected to the sub CPU slot # 0, the sub CPU slot # 1, ..., The sub CPU slot # n. Therefore, the sub CPU module 2 holds information such as an input / output type and a data size as status information in, for example, a ROM, and transmits the status information to the CPU module 1 via the external bus 3. This status information includes information on whether or not high-speed continuous access can be supported. As a result, it is possible to determine from the CPU module 1 which sub CPU slot the sub CPU module 2 capable of supporting high-speed continuous access is mounted. The status information includes information on whether or not the broadcast can be supported, and it may be possible to determine from the CPU module 1 which sub CPU slot the sub CPU module 2 that can support the broadcast is mounted.

デジタル信号やアナログ信号用のIOモジュール(入力モジュールや出力モジュール)や通信モジュールといったモジュールが、サブCPUモジュール2の一例である。このサブCPUモジュール2は、モジュール内部に例えば2ポートRAM21を備え、CPUモジュール1とサブCPUモジュール2と間で、データが、この2ポートRAM21を介して転送される。その際のCPUモジュール1側からのアクセス時に、サブCPUモジュール2は、外部バス3を介して取得したアドレスにより内部の2ポートRAM21にアクセスするか、または、そのアドレスに対してCPUモジュール1から送られる連続アクセス数分のインクリメントまたはデクリメントしたアドレスを送出して内部の2ポートRAM21にアクセスする。このアクセスを可能にするために、サブCPUモジュール2は、BUSコントローラS22(Sは「スレーブ」を表す)を備える。アドレスは番地ともいう。また、サブCPUモジュール2は、RAM21の他に、MPUおよびROMも有する。サブCPUモジュール2のMPUが、サブ演算部の一例である。サブCPUモジュール2ROMおよびRAM21のうちの少なくとも一つが、サブメモリ部の一例である。 Modules such as IO modules (input modules and output modules) and communication modules for digital signals and analog signals are examples of the sub CPU module 2. The sub CPU module 2 includes, for example, a 2-port RAM 21 inside the module, and data is transferred between the CPU module 1 and the sub CPU module 2 via the 2-port RAM 21. At the time of access from the CPU module 1 side at that time, the sub CPU module 2 accesses the internal 2-port RAM 21 by the address acquired via the external bus 3, or sends from the CPU module 1 to the address. The internal 2-port RAM 21 is accessed by sending an incremented or decremented address corresponding to the number of consecutive accesses. To enable this access, the sub CPU module 2 includes a BUS controller S22 (S stands for "slave"). The address is also called the street address. The sub CPU module 2 also has an MPU and a ROM in addition to the RAM 21. The MPU of the sub CPU module 2 is an example of the sub calculation unit. At least one of the sub CPU module 2 ROM and the RAM 21 is an example of the sub memory unit.

外部バス3は、CPUモジュール1およびサブCPUスロット#0〜#nに接続された各種サブCPUモジュール2をつなぎ、アドレス、データおよび制御情報をやり取りする。本実施例では、外部バス3は、アドレスとデータで共用するマルチプレクスバスである。なお、図1で、外部バス3を構成する信号線の内、後述するモード信号(mode_n)およびストローブ信号(strobe_n)のための信号線を分離した形で示している。また、外部バス3は、バックプレーンのようなベースボードに含まれていてよい。この場合、CPUモジュール1やサブCPUモジュール2を外部バス3に接続することは、CPUモジュール1やサブCPUモジュール2をベースボードに接続することでよい。外部バス3には、CPUモジュール1が接続される接続部(例えばポート)と、複数のサブCPUモジュール2がそれぞれ接続される複数の接続部である複数のサブ接続部(例えばポート)とが関連付けられている。結果として、接続部にCPUモジュール1が接続されたり、サブ接続部にサブCPUモジュール2が接続されたりすれば、外部バス3に、CPUモジュール1やサブCPUモジュール2が電気的に接続される。複数のサブ接続部の全部または一部である2以上のサブ接続部にそれぞれ2以上のサブCPUモジュール2が接続される。各接続部は、スロットを含む要素であってよい。 The external bus 3 connects the CPU module 1 and various sub CPU modules 2 connected to the sub CPU slots # 0 to # n, and exchanges addresses, data, and control information. In this embodiment, the external bus 3 is a multiplex bus shared by addresses and data. Note that, in FIG. 1, among the signal lines constituting the external bus 3, the signal lines for the mode signal (mode_n) and the strobe signal (strobe_n), which will be described later, are shown in a separated form. Further, the external bus 3 may be included in a base board such as a backplane. In this case, connecting the CPU module 1 or the sub CPU module 2 to the external bus 3 may be performed by connecting the CPU module 1 or the sub CPU module 2 to the base board. The external bus 3 is associated with a connection portion (for example, a port) to which the CPU module 1 is connected and a plurality of sub connection portions (for example, a port) which are a plurality of connection portions to which a plurality of sub CPU modules 2 are connected to each other. Has been done. As a result, if the CPU module 1 is connected to the connection portion or the sub CPU module 2 is connected to the sub connection portion, the CPU module 1 and the sub CPU module 2 are electrically connected to the external bus 3. Two or more sub CPU modules 2 are connected to each of two or more sub connection portions that are all or a part of the plurality of sub connection portions. Each connection may be an element that includes a slot.

本発明は、外部バスをこのマルチプレクスバスに限定するものではなく、セパレート型のバス形態であってもよい。ただし、マルチプレクスバスは、セパレート型のバスと比べ必要となる信号線を減らしピン数を低減することができる。 The present invention does not limit the external bus to this multiplex bus, and may be a separate type bus form. However, the multiplex bus can reduce the number of pins by reducing the number of signal lines required as compared with the separate type bus.

図2は、サブCPUモジュール2が備えるBUSコントローラS22の内部ブロックの構成図である。 FIG. 2 is a configuration diagram of an internal block of the BUS controller S22 included in the sub CPU module 2.

外部バス3とのインタフェースであるBUSコントローラS22は、アドレスを記憶するフリップフロップ(FF)31、このフリップフロップ(FF)が出力するアドレスをインクリメントまたはデクリメントする増減カウンタ32およびアドレス選択用のセレクタ33から構成される。外部バス3は、マルチプレクスバスであることから、この外部バス3からの入力データの内、データについてはそのまま2ポートRAMの方へ送り、アドレスについてはセレクタ33へ送られる。なお、図2では、モード信号(mode_n)およびストローブ信号(strobe_n)のための信号線は省略されている。 The BUS controller S22, which is an interface with the external bus 3, has a flip-flop (FF) 31 that stores an address, an increase / decrease counter 32 that increments or decrements the address output by the flip-flop (FF), and a selector 33 for address selection. It is composed. Since the external bus 3 is a multiplex bus, among the input data from the external bus 3, the data is sent to the 2-port RAM as it is, and the address is sent to the selector 33. Note that in FIG. 2, the signal lines for the mode signal (mode_n) and the strobe signal (strobe_n) are omitted.

フリップフロップ(FF)31は、その入力として、CPUモジュール1から外部バス3を介して入力されるアドレス、またはフリップフロップ(FF)31自身が記憶しているアドレスを増減カウンタ32によりインクリメントまたはデクリメントしたアドレスをセレクタ33により選択する。すなわち、フリップフロップ(FF)31は、通常アクセス時には、外部バス3からのアドレスが選択されて記憶および/または出力することとなり、高速連続アクセス時には、上記インクリメントまたはデクリメントしたアドレスが選択されて順次記憶および/または出力することとなる。このセレクタ33による選択には、後述するモード信号(mode_n)が使用される。また、増減カウンタ32がインクリメントするかデクリメントするかには、後述するモード信号(mode_n)およびストローブ信号(strobe_n)が使用される。 The flip-flop (FF) 31 increments or decrements the address input from the CPU module 1 via the external bus 3 or the address stored by the flip-flop (FF) 31 itself as its input by the increase / decrease counter 32. The address is selected by the selector 33. That is, at the time of normal access, the flip-flop (FF) 31 selects and stores and / or outputs the address from the external bus 3, and at the time of high-speed continuous access, the incremented or decremented address is selected and sequentially stored. And / or output. A mode signal (mode_n) described later is used for selection by the selector 33. Further, a mode signal (mode_n) and a strobe signal (strobe_n), which will be described later, are used to increment or decrement the increase / decrease counter 32.

CPUモジュール1と各サブCPUモジュール2との間では、当該サブCPUモジュール2が高速連続アクセスの対応が可能か否かに応じて、データアクセス(データ転送)が異なる。データアクセスの違いを、タイムチャートを使って説明する。 Data access (data transfer) differs between the CPU module 1 and each sub CPU module 2 depending on whether or not the sub CPU module 2 can support high-speed continuous access. The difference in data access will be explained using a time chart.

先ず、図3および図4は、CPUモジュール1が通常のサブCPUモジュール(高速連続アクセスの対応が不可のサブCPUモジュール)に対するリフレッシュ処理を行う場合のタイムチャート(通常アクセス(通常のI/Oアクセス)が行われる場合のタイムチャート)である。図3がライト時のタイムチャートであり、図4がリード時のタイムチャートである。 First, FIGS. 3 and 4 show a time chart (normal access (normal I / O access)) when the CPU module 1 performs a refresh process on a normal sub CPU module (a sub CPU module that cannot support high-speed continuous access). ) Is performed (time chart). FIG. 3 is a time chart at the time of writing, and FIG. 4 is a time chart at the time of reading.

外部バス3は、アドレスとデータで共用するマルチプレクスバスであり、やり取りを行う信号は、各スロットの選択信号(cs_n)、アドレスストローブ信号(as_n)、データストローブ信号(wr_n/rd_n)および16ビットのアドレス/データ信号(ad[15:0])から構成される。外部バス3は、これらの信号がそれぞれ流れる複数の信号線を含む。例えば、外部バス3は、選択信号(cs_n)が流れる信号線を含む。 The external bus 3 is a multiplex bus shared by addresses and data, and the signals to be exchanged are a selection signal (cs_n), an address strobe signal (as_n), a data strobe signal (wr_n / rd_n), and 16 bits of each slot. Address / data signal (ad [15: 0]). The external bus 3 includes a plurality of signal lines through which these signals flow. For example, the external bus 3 includes a signal line through which a selection signal (cs_n) flows.

例えば、32点(ビット)の出力モジュールに対するリフレッシュ処理は、図3に示すライトアクセスを2回行うことになる。また、8チャネルのアナログ入力モジュールに対するリフレッシュ処理は、1チャネルが16ビットであることから、図4に示すリードアクセスを8回行うことになる。 For example, in the refresh process for the output module of 32 points (bits), the write access shown in FIG. 3 is performed twice. Further, in the refresh process for the 8-channel analog input module, since one channel has 16 bits, the read access shown in FIG. 4 is performed eight times.

次に、図5および図6は、CPUモジュール1とサブCPUモジュール2との間で高速連続アクセスを行う場合のタイムチャートである。図5がライト時のタイムチャートであり、図6がリード時のタイムチャートである。 Next, FIGS. 5 and 6 are time charts when high-speed continuous access is performed between the CPU module 1 and the sub CPU module 2. FIG. 5 is a time chart at the time of writing, and FIG. 6 is a time chart at the time of reading.

CPUモジュール1は、サブCPUモジュール2に対して、アクセスするアドレス空間のアドレス(ADR)を指定する(任意アドレスの指定)と共に、通常アクセスか高速連続アクセスかを識別するためのモード信号(mode_n)をアドレス出力と同じタイミングで出力する。サブCPUモジュール2側は、アドレスストローブ信号(as_n)の立ち上がり時に、モード信号(mode_n)のレベルによって、通常アクセスまたは高速連続アクセスのどちらでCPUモジュール1がアクセスしているのか判断する(図5および図6では、モード信号(mode_n)のLレベルの時が高速連続アクセスである)。 The CPU module 1 specifies the address (ADR) of the address space to be accessed to the sub CPU module 2 (designation of an arbitrary address), and also a mode signal (mode_n) for identifying normal access or high-speed continuous access. Is output at the same timing as the address output. When the address strobe signal (as_n) rises, the sub CPU module 2 side determines whether the CPU module 1 is accessing by normal access or high-speed continuous access depending on the level of the mode signal (mode_n) (FIG. 5 and FIG. In FIG. 6, high-speed continuous access occurs at the L level of the mode signal (module_n)).

高速連続アクセスのデータサイクル時には、ストローブ信号(strobe_n)のレベル変化に応じて通信モジュール内部のアドレスが更新される。すなわち、ストローブ信号(strobe_n)のレベルの変化開始時点(LレベルからHレベルへの立ち上がり時)のモード信号(mode_n)のレベルにより、インクリメントまたはデクリメントが選択される(図5および図6では、ストローブ信号(strobe_n)のLレベルからHレベル変化開始時に、モード信号(mode_n)が、Lレベルであればインクリメント、Hレベルであればデクリメント)。 During the high-speed continuous access data cycle, the address inside the communication module is updated according to the level change of the strobe signal (strobe_n). That is, increment or decrement is selected depending on the level of the mode signal (mode_n) at the start of the level change of the strobe signal (strobe_n) (at the time of rising from the L level to the H level) (in FIGS. 5 and 6, the strobe is selected. When the mode signal (mode_n) starts to change from the L level to the H level of the signal (strobe_n), the mode signal (mode_n) is incremented if it is L level, and decremented if it is H level).

そして、CPUモジュール1は、高速連続アクセスに係る連続アクセス数(連続するアドレス空間)を指定する。CPUモジュール1は、内部に設けたカウンタを用いて、サブCPUモジュール2に対して、連続したアドレス空間に対応する連続アクセス数分パルス化したストローブ信号(strobe_n)を送信する。サブCPUモジュール2が備えるBUSコントローラS22の増減カウンタ32は、このパルス化したストローブ信号を受けて、指定された任意アドレスからこの連続アクセス数分インクリメントまたはデクリメントすることになる。 Then, the CPU module 1 specifies the number of continuous accesses (continuous address space) related to high-speed continuous access. The CPU module 1 uses a counter provided inside to transmit a strobe signal (strobe_n) pulsed by the number of continuous accesses corresponding to the continuous address space to the sub CPU module 2. The increase / decrease counter 32 of the BUS controller S22 included in the sub CPU module 2 receives the pulsed strobe signal and increments or decrements by the number of continuous accesses from the designated arbitrary address.

また、CPUモジュール1に代えて、高速連続アクセスに対応していないCPUモジュールが採用され、且つ、サブCPUモジュールとして、高速連続アクセスに対応可能なサブCPUモジュールが採用された場合でも、通常アクセスに必要な制御信号(cs_n、as_n、wr_nおよびrd_n)の出力方法は互換性があるので、CPUモジュールとサブCPUモジュール間で通常アクセスは可能である。 Further, even if a CPU module that does not support high-speed continuous access is adopted instead of the CPU module 1, and a sub CPU module that supports high-speed continuous access is adopted as the sub CPU module, normal access is possible. Since the output methods of the required control signals (cs_n, as_n, wr_n and rd_n) are compatible, normal access is possible between the CPU module and the sub CPU module.

本実施例では、サブCPUモジュール2は、内部に2ポートRAMを備えているが、2ポートRAMに代えて、1ポートRAMと1ポートRAMに対して付加された調停回路(アービタ)を備えてもよい。 In this embodiment, the sub CPU module 2 is provided with a 2-port RAM internally, but is provided with a 1-port RAM and an arbitration circuit (arbiter) added to the 1-port RAM instead of the 2-port RAM. May be good.

図7は、PLCの動作を示すフローチャートである。PLCは、通常、データの入力に係る入力リフレッシュ、入力データに基づくシーケンス演算および演算結果に伴うデータの出力に係る出力リフレッシュの一連の処理フローを、電源オフのような停止操作が発生するまでの間、サイクリックに実行する。そして、IOリフレッシュ(入力リフレッシュ+出力リフレッシュ)およびシーケンス演算の実行による一連のサイクリック処理に掛かる時間を「スキャンタイム」と呼んでいる。そうすると、シーケンス演算の実行時間が一定であれば、スキャンタイムはIOリフレッシュに掛かる時間に左右されることになる。 FIG. 7 is a flowchart showing the operation of the PLC. The PLC normally performs a series of processing flows of input refresh related to data input, sequence operation based on input data, and output refresh related to output of data accompanying the calculation result until a stop operation such as power off occurs. In the meantime, run cyclically. The time required for a series of cyclic processes by executing IO refresh (input refresh + output refresh) and sequence operation is called "scan time". Then, if the execution time of the sequence operation is constant, the scan time depends on the time required for IO refresh.

次に、上記フローチャートに従い、高速連続アクセスの有無によりどの程度サイクリックな演算性能、すなわちスキャンタイムに差異がでるのかを説明する。ここで、PLCの構成例としては、図1に示す通り、サブCPUスロット#0およびサブCPUスロット#1に、8,192ワードのデータを扱うサブCPUモジュール2が実装されていて、サブCPUスロット#2に、1ワードのデータを扱う入力モジュールとしてのサブCPUモジュール2が実装されていて、サブCPUスロット#3に、1ワードのデータを扱う出力モジュールとしてのサブCPUモジュール2が実装されているものとする。また、IOアクセスの単位時間を“1μsec”として、図7のフローチャートが示す、一連のサイクリック処理に掛かるスキャンタイムを算出する。また、以下の説明では、サブCPUスロット#xに実装されたサブCPUモジュール2を「サブCPUモジュール#x」と称することがある。 Next, according to the above flowchart, how much the cyclic calculation performance, that is, the scan time will differ depending on the presence or absence of high-speed continuous access will be described. Here, as a configuration example of the PLC, as shown in FIG. 1, a sub CPU module 2 that handles 8,192 words of data is mounted in the sub CPU slot # 0 and the sub CPU slot # 1, and the sub CPU module 2 is mounted. A sub CPU module 2 as an input module that handles one word of data is mounted in # 2, and a sub CPU module 2 as an output module that handles one word of data is mounted in sub CPU slot # 3. It shall be. Further, assuming that the unit time of IO access is "1 μsec", the scan time required for a series of cyclic processes shown in the flowchart of FIG. 7 is calculated. Further, in the following description, the sub CPU module 2 mounted in the sub CPU slot # x may be referred to as "sub CPU module # x".

図3および図4に示すサブCPUモジュール(高速連続アクセスに対応不可のサブCPUモジュール)に対するアクセスが行われた場合を想定する。サブCPUモジュール#0および#1の各々は最大で8,192ワードのデータを扱うことから、入力リフレッシュおよび出力リフレッシュを通常アクセスで行うと、IOリフレッシュは、最大で“16,384μsec”(約16msec)の時間を要することとなる。また、シーケンス演算に要する時間は、ユーザが作成するシーケンスプログラムの容量に依存するところ、通常の目安として“1msec(=1,000μsec)”である。そうすると、スキャンタイムは、最大“17,384μsec”で、17msec程度となる。 It is assumed that the sub CPU module shown in FIGS. 3 and 4 (the sub CPU module that cannot support high-speed continuous access) is accessed. Since each of the sub CPU modules # 0 and # 1 handles a maximum of 8,192 words of data, when input refresh and output refresh are performed by normal access, the maximum IO refresh is "16,384 μsec" (about 16 msec). ) Will be required. Further, the time required for the sequence calculation depends on the capacity of the sequence program created by the user, and is usually "1 msec (= 1,000 μsec)" as a guideline. Then, the maximum scan time is "17,384 μsec", which is about 17 msec.

一方、サブCPUモジュール2に対するIOリフレッシュを、図5および図6に示す高速連続アクセスで行う場合、サブCPUモジュール2内部ではアドレスを更新するだけの処理となる。そうすると、CPUモジュール1から順次アドレスを取得するよりも高速にアドレス更新が可能である。サブCPUモジュール2内部でのアドレス更新時間は、通常120nsec程度であるので、“0.1μsec”とすると、サブCPUモジュール2のIOリフレッシュに要する時間は、最大“819μsec”程度と捉えることができる。これに、サブCPUモジュール#2(入力モジュール)およびサブCPUモジュール#3(出力モジュール)としての通常のIOアクセス分(2μsec)を加えて、IOリフレッシュとしては、最大“1,640μsec”となる。更に、シーケンス演算時間(1msec)を加えたスキャンタイムは、最大“2,640μsec”となる。すなわち、上記の通常のIOアクセスの場合のスキャンタイムと比べて約6.6倍の性能アップとなることが判る。 On the other hand, when the IO refresh for the sub CPU module 2 is performed by the high-speed continuous access shown in FIGS. 5 and 6, only the address is updated inside the sub CPU module 2. Then, the address can be updated at a higher speed than the address is sequentially acquired from the CPU module 1. Since the address update time inside the sub CPU module 2 is usually about 120 nsec, if it is set to "0.1 μsec", the time required for IO refresh of the sub CPU module 2 can be regarded as about "819 μsec" at the maximum. By adding the normal IO access (2 μsec) as the sub CPU module # 2 (input module) and the sub CPU module # 3 (output module) to this, the maximum IO refresh is “1,640 μsec”. Further, the scan time including the sequence calculation time (1 msec) is a maximum of "2,640 μsec". That is, it can be seen that the performance is improved by about 6.6 times as compared with the scan time in the case of the above-mentioned normal IO access.

データ通信の際には、番地の指定を1度行い、指定された番地にデータ通信を行った後には、指定番地以降または以前の番地に対して、リードまたはライトの順次データ通信ができるため、この順次データ通信を行う際に、番地の指定を行わなくてよいこととなる。これにより、番地指定の通信に要する時間を減らすことが可能となる。つまり、一のサブCPUモジュールが通信を開始する際に、データ通信を行う前にデータ通信をする番地の指定を行った後は、一と他のサブCPUモジュールは、それぞれ順次データ通信することを設定またはその情報を有しているため、データ通信を繰り返し行うこととなる。例えば、指定番地nを指定する通信を行い、指定番地nのデータ通信後には、番地n+1、n+2・・・またはn−1、n−2・・・に対しては、番地を指定する通信が不要となるため、全体のデータ通信速度を向上させることが可能となる。なお、便宜上n+1,n+2・・・等と記載したが、データ通信するバス数等に応じて指定番地以降または以前の番地は適宜変更されるため、一般化すると順次データ通信が行われる番地は、n+m、n+2mとなる。 In data communication, the address is specified once, and after data communication is performed to the specified address, read or write sequential data communication can be performed to the address after or before the specified address. It is not necessary to specify the address when performing this sequential data communication. This makes it possible to reduce the time required for the communication of specifying the address. That is, when one sub CPU module starts communication, after specifying the address for data communication before performing data communication, the one and the other sub CPU modules sequentially perform data communication. Since it has the settings or its information, data communication will be repeated. For example, a communication that specifies a designated address n is performed, and after data communication at the designated address n, a communication that specifies an address is performed for addresses n + 1, n + 2 ... Or n-1, n-2 ... Since it is unnecessary, it is possible to improve the overall data communication speed. Although it is described as n + 1, n + 2, etc. for convenience, the addresses after or before the designated address are appropriately changed depending on the number of buses for data communication, etc. Therefore, when generalized, the addresses where data communication is sequentially performed are It becomes n + m and n + 2m.

以上、図1〜図7を参照した説明によれば、本実施例においては、CPUモジュール1のIOリフレッシュ処理において、連続したエリア(アドレス空間)に対するアクセスを上記の高速連続アクセスとすることにより、処理を高速化することが可能となる。すなわち、連続したアドレス空間に対するCPUモジュール1からのバスアクセスを1回の任意アドレスの指定出力後に、テータストローブ信号をアクセスサイズ分トグルすることによりリードまたはライトが可能となり、高速にデータ転送が行える。また、データ転送を高速に行うことで、CPUモジュール1での演算周期が速くなり、外部機器に対する制御を高速に処理実行することが可能となる。 As described above, according to the description with reference to FIGS. 1 to 7, in the present embodiment, in the IO refresh process of the CPU module 1, the access to the continuous area (address space) is set to the above-mentioned high-speed continuous access. It is possible to speed up the processing. That is, after bus access from the CPU module 1 to the continuous address space is output once at an arbitrary address, the data strobe signal is toggled by the access size to enable read or write, and high-speed data transfer can be performed. Further, by performing the data transfer at high speed, the calculation cycle in the CPU module 1 becomes fast, and it becomes possible to process and execute the control for the external device at high speed.

以上、図1〜図7を参照した説明を、例えば下記のように総括することができる。 As described above, the description with reference to FIGS. 1 to 7 can be summarized as follows, for example.

コントロールシステム(例えば、PLC)が、演算モジュール(例えば、CPUモジュール1)と、1以上のサブ演算モジュール(例えば、1以上のサブCPUモジュール2)と、それらのモジュールをつなぐバス(例えば、外部バス3)とを備える。演算モジュールは、サブ演算モジュール個々のアドレス空間の任意のアドレスまたはサブ演算モジュール内の連続したアドレス空間に対応する連続アクセス数を指定する。サブ演算モジュールは、指定された任意のアドレスから当該アドレスを連続アクセス数分のインクリメントまたはデクリメントして当該サブ演算モジュール内の連続したアドレス空間に対してIO処理を実行する。バスには、連続したアドレス空間に対するIO処理の実行とアドレスのインクリメントまたはデクリメントとを指定するモード信号を通信する第1の信号線、および、アドレスをインクリメントまたはデクリメントする更新タイミングを規定するストローブ信号を通信する第2の信号線、が付設される。 A control system (for example, PLC) has an arithmetic module (for example, CPU module 1), one or more sub arithmetic modules (for example, one or more sub CPU modules 2), and a bus (for example, an external bus) connecting those modules. 3) and. The operation module specifies an arbitrary address in the address space of each sub-operation module or the number of consecutive accesses corresponding to the consecutive address spaces in the sub-operation module. The sub-calculation module increments or decrements the address from any specified address by the number of continuous accesses, and executes IO processing on the continuous address space in the sub-operation module. The bus has a first signal line that communicates a mode signal that specifies the execution of IO processing and address increment or decrement on a contiguous address space, and a strobe signal that specifies the update timing for incrementing or decrementing the address. A second signal line for communication is attached.

アドレスをインクリメントまたはデクリメントする更新タイミングは、ストローブ信号のレベル変化時でよい。 The update timing for incrementing or decrementing the address may be when the level of the strobe signal changes.

サブ演算モジュールは、ストローブ信号として連続アクセス数分のパルス化した信号を出力してよい。 The sub-calculation module may output a pulsed signal for the number of continuous accesses as a strobe signal.

本実施例では、通常アクセスおよび高速連続アクセスのいずれも、外部バス3経由のシングルアクセス(CPUモジュール1とサブCPUモジュール2間の1:1でのデータ転送)であることもあれば、外部バス3経由のブロードキャストアクセス(CPUモジュール1とCPUモジュール2間での1:多での同時データ転送)であることもある。外部バス3経由でのブロードキャストアクセスは、以下のようにして実現される。 In this embodiment, both normal access and high-speed continuous access may be single access (1: 1 data transfer between the CPU module 1 and the sub CPU module 2) via the external bus 3, or via the external bus 3. It may be a broadcast access (1: multiple simultaneous data transfer between CPU module 1 and CPU module 2). Broadcast access via the external bus 3 is realized as follows.

図8は、CPUモジュール1の外部バス空間のアドレスマップとスロット選択信号(cs_n)との関係を表すイメージ図である。 FIG. 8 is an image diagram showing the relationship between the address map of the external bus space of the CPU module 1 and the slot selection signal (cs_n).

外部バス空間800のアドレスマップが、BUSコントローラM16によりCPUモジュール1のMPU11に提供される。外部バス空間800は、上述したアドレス空間の一部でよい。アドレスマップによれば、外部バス空間800は、複数のサブCPUスロットにそれぞれマッピングされている複数の個別IO空間801と、全サブCPUスロットにマッピングされている共通IO空間802とを含む。個別IO空間801には、該当の1つの選択信号(例えば、当該選択信号をアサートするセレクタ803)が関連付けられており)、共通IO空間802には、全選択信号(例えば、全選択信号をそれぞれ選択するための全セレクタ803)が関連付けられている。選択信号の関連付けは、選択信号線の関連付けに相当する。 The address map of the external bus space 800 is provided to the MPU 11 of the CPU module 1 by the BUS controller M16. The external bus space 800 may be a part of the address space described above. According to the address map, the external bus space 800 includes a plurality of individual IO spaces 801 mapped to the plurality of sub CPU slots and a common IO space 802 mapped to all the sub CPU slots. The individual IO space 801 is associated with one corresponding selection signal (for example, a selector 803 that asserts the selection signal), and the common IO space 802 is associated with a full selection signal (for example, a full selection signal). All selectors 803) for selection are associated. The association of selection signals corresponds to the association of selection signal lines.

通常、サブCPUスロット#nに実装されるサブCPUモジュール#nに対してCPUモジュール1がアクセスする場合、サブCPUスロット#n(サブCPUモジュール#n)を選択する選択信号(cs_n)をアサートすることで、サブCPUモジュール#nを選択する。これにより、いずれのサブCPUモジュール2が任意のサブCPUスロットに実装された場合でもCPUモジュール1側からサブCPUモジュール2へアクセス可能となる。これはCPUモジュール1側にて図8に示すアドレスマップに従い、アドレスをデコードすることで各サブCPUスロット用の個別に準備されるモジュール選択信号のうち、1つのサブCPUスロットを選択することで実施できる。 Normally, when the CPU module 1 accesses the sub CPU module # n mounted in the sub CPU slot # n, a selection signal (cs_n) for selecting the sub CPU slot # n (sub CPU module # n) is asserted. By doing so, the sub CPU module #n is selected. As a result, even if any of the sub CPU modules 2 is mounted in any sub CPU slot, the sub CPU module 2 can be accessed from the CPU module 1 side. This is performed by selecting one sub CPU slot from the module selection signals individually prepared for each sub CPU slot by decoding the address according to the address map shown in FIG. 8 on the CPU module 1 side. it can.

具体的には、例えば、CPUモジュール1のMPU11は、サブCPUモジュール#1との間でシングルアクセスを行う場合、個別IO空間801−1に対してIOを行う。結果として、サブCPUスロット#1を選択する選択信号(cs_n)がアサートされ、CPUモジュール1とサブCPUモジュール#1間のシングルアクセスとして、図3〜図6のいずれかに従うアクセスが行われる。より具体的には、例えば、CPUモジュール1は高速連続アクセスを行うサブCPUモジュール#0を個別に指定する場合においては、IO空間801−0にアクセスすることで、その対象となるスロット#0のcs_nのみ出力される。 Specifically, for example, the MPU 11 of the CPU module 1 performs IO to the individual IO space 801-1 when performing single access with the sub CPU module # 1. As a result, the selection signal (cs_n) for selecting the sub CPU slot # 1 is asserted, and the access according to any one of FIGS. 3 to 6 is performed as a single access between the CPU module 1 and the sub CPU module # 1. More specifically, for example, when the CPU module 1 individually specifies the sub CPU module # 0 that performs high-speed continuous access, by accessing the IO space 801-0, the target slot # 0 can be accessed. Only cs_n is output.

また、例えば、CPUモジュール1のMPU11は、実装されている全サブCPUモジュール2との間でブロードキャストアクセスを行う場合、共通IO空間802に対してIOを行う。結果として、全選択信号がアサートされ、CPUモジュール1と実装されている全サブCPUモジュール2間でのブロードキャストアクセスとして、同時に、CPUモジュール1と実装されている各サブCPUモジュール2間で図3〜図6のいずれかに従うアクセスが行われる。つまり、全cs_nが同時に出力され、全サブCPUモジュール2に同時にCPUモジュール1からデータを転送することが可能である。例えば、CPUモジュール1の他に、高速連続アクセス可能なサブCPUモジュール#0および#1のみが実装されている場合、CPUモジュール1は、共通IO空間802(ブロードキャスト用IO空間)を通じて、サブCPUモジュール#0および#1に対し同時に高速連続アクセスを行うことができる。このため、最大“2,642μsec”のスキャン時間は819少ない最大“1,823μsec”まで高速化可能となる。なお、「同時」とは、データ転送の開始および終了の少なくとも一つが同時であることでもよいし、データ転送の開始および終了の少なくとも一つが異なっていても全サブCPUモジュール2に対するデータ転送が並行して行われることでよい。 Further, for example, the MPU 11 of the CPU module 1 performs IO in the common IO space 802 when performing broadcast access with all the mounted sub CPU modules 2. As a result, the all-select signal is asserted, and as a broadcast access between the CPU module 1 and all the sub CPU modules 2 mounted, at the same time, between the CPU module 1 and each of the sub CPU modules 2 mounted, FIGS. Access is made according to any of FIG. That is, all cs_n are output at the same time, and data can be transferred from the CPU module 1 to all the sub CPU modules 2 at the same time. For example, when only the sub CPU modules # 0 and # 1 capable of high-speed continuous access are mounted in addition to the CPU module 1, the CPU module 1 is the sub CPU module through the common IO space 802 (broadcast IO space). High-speed continuous access to # 0 and # 1 can be performed at the same time. Therefore, the scan time of the maximum "2,642 μsec" can be increased to the maximum "1,823 μsec" which is 819 less. Note that "simultaneous" may mean that at least one of the start and end of data transfer is simultaneous, and even if at least one of the start and end of data transfer is different, data transfer to all sub CPU modules 2 is parallel. It may be done by.

以上のようにして、外部バス3経由のデータ転送においてブロードキャストアクセスが実現される。 As described above, broadcast access is realized in the data transfer via the external bus 3.

以上のように、本実施例においては、CPUモジュールのIOリフレッシュ処理において、連続したエリア(アドレス空間)に対するアクセスを上記の高速連続アクセスとすることにより、大幅に処理時間を高速化することが可能となり、更に複数のモジュールに対して同時にデータ転送が行えるため、モーション制御等に代表される同期システムの構築に容易に対応可能となる。例えば、実装されている全サブCPUモジュール2に対して同時に高速連続アクセスに従うライトが行われることで、実装されている全サブCPUモジュール2に共通のデータ(例えば、1以上のセンサからのデータ)が同時にライトされ、全サブCPUモジュール2が並行して当該データを処理する(例えば分析する)ことができる。 As described above, in the IO refresh process of the CPU module, the processing time can be significantly increased by setting the access to the continuous area (address space) as the above-mentioned high-speed continuous access in the IO refresh process as described above. Further, since data can be transferred to a plurality of modules at the same time, it is possible to easily support the construction of a synchronization system represented by motion control and the like. For example, by simultaneously lighting all the mounted sub CPU modules 2 according to high-speed continuous access, data common to all the mounted sub CPU modules 2 (for example, data from one or more sensors). Are lit at the same time, and all sub CPU modules 2 can process (for example, analyze) the data in parallel.

なお、図9に例示するように、個別IO空間801は、通常アクセス用の空間801aと高速連続アクセス用の区間801bとに区切られていてもよい。共通IO空間802も、通常アクセス用の空間802aと高速連続アクセス用の区間802bとに区切られていてもよい。この場合、下記のうちの少なくとも一つが行われてよい。
・CPUモジュール1が、サブCPUモジュール#nとの間で通常アクセスを行う場合、サブCPUモジュール#nに対応した個別IO空間801のうちの空間801aにアクセスする。
・CPUモジュール1が、サブCPUモジュール#nとの間で高速連続アクセスを行う場合、サブCPUモジュール#nに対応した個別IO空間801のうちの空間801bにアクセスする。
・CPUモジュール1が、全サブCPUモジュール2との間で同時に通常アクセスを行う場合(例えば、全サブCPUモジュール2のうちの少なくとも一つが高速連続アクセス対応不可のモジュールの場合)、共通IO空間801のうちの空間802aにアクセスする。
・CPUモジュール1が、全サブCPUモジュール2との間で同時に高速連続アクセスを行う場合、共通IO空間801のうちの空間802bにアクセスする。
As illustrated in FIG. 9, the individual IO space 801 may be divided into a space 801a for normal access and a section 801b for high-speed continuous access. The common IO space 802 may also be divided into a space 802a for normal access and a section 802b for high-speed continuous access. In this case, at least one of the following may be performed.
-When the CPU module 1 normally accesses the sub CPU module # n, it accesses the space 801a of the individual IO spaces 801 corresponding to the sub CPU module # n.
-When the CPU module 1 performs high-speed continuous access with the sub CPU module # n, it accesses the space 801b of the individual IO spaces 801 corresponding to the sub CPU module # n.
-When the CPU module 1 normally accesses all the sub CPU modules 2 at the same time (for example, when at least one of all the sub CPU modules 2 is a module that cannot support high-speed continuous access), the common IO space 801 Access the space 802a of.
-When the CPU module 1 simultaneously performs high-speed continuous access with all the sub CPU modules 2, it accesses the space 802b of the common IO space 801.

外部バス3に2以上のサブCPUモジュール2が接続されていることをCPUモジュール1が特定した場合、CPUモジュール1は、シングルアクセスとするかブロードキャストアクセスとするかを選択し、選択したアクセスを行う。例えば、CPUモジュール1は、アクセス対象のデータが、一つのサブCPUモジュール2との間でのみの対象か、或いは、実装されている全てのサブCPUモジュール2に共通の対象かを判断し、前者の場合にシングルアクセスを選択し、後者の場合にブロードキャストアクセスを選択してよい。なお、当該後者の場合、下記のうちの少なくとも一つが行われてよい。
・CPUモジュール1は、1つでもブロードキャスト対応不可のサブCPUモジュール2があれば、シングルアクセスを選択し、全てのサブCPUモジュールがブロードキャスト対応可能であれば、ブロードキャストアクセスを選択する。
・CPUモジュール1は、1つでも高速連続アクセス不可のサブCPUモジュール2があれば、全サブCPUモジュール2に対するブロードキャストアクセスとしての通常アクセスを選択し、全てのサブCPUモジュールが高速連続アクセス対応可能であれば、全サブCPUモジュール2に対するブロードキャストアクセスとしての高速連続アクセスを選択してよい。
When the CPU module 1 specifies that two or more sub CPU modules 2 are connected to the external bus 3, the CPU module 1 selects whether to use single access or broadcast access, and performs the selected access. .. For example, the CPU module 1 determines whether the data to be accessed is a target only with one sub CPU module 2 or a target common to all the mounted sub CPU modules 2 and determines the former. In the latter case, single access may be selected, and in the latter case, broadcast access may be selected. In the latter case, at least one of the following may be performed.
-The CPU module 1 selects single access if there is even one sub CPU module 2 that cannot support broadcast, and selects broadcast access if all sub CPU modules can support broadcast.
-If there is even one sub CPU module 2 that cannot be accessed continuously at high speed, the CPU module 1 can select normal access as broadcast access to all sub CPU modules 2 and all sub CPU modules can support high speed continuous access. If so, high-speed continuous access as broadcast access to all sub CPU modules 2 may be selected.

また、本実施例では、次の構成が採用されてよい。すなわち、CPUモジュール1は、1以上の制御対象装置に接続された1以上のI/Oポート(例えば通信ポート)の少なくとも1つのI/Oポートにアクセスすることにより当該I/Oポートに接続された制御対象装置の動作を制御するサブCPUモジュール2(例えばI/Oモジュール)に外部バス3を介して接続され制御対象装置の情報を演算するMPU11とMPU11の演算結果を記憶するRAM14とを有する。外部バス3に接続されるサブCPUモジュール2は、制御対象装置の情報を演算するMPU(サブ演算部の一例)と当該MPUの演算結果を記憶するRAM21(サブメモリ部の一例)とを有する。2以上のサブCPUモジュールは外部バス3に接続され得る。CPUモジュール1は、接続された(実装された)全てのサブCPUモジュール2を特定する。各サブCPUモジュール2は、RAM21の指定されたアドレスから次または前のアドレスへ向かって順次にデータの読み込みまたは書き込みを行う(例えばDMAにより行う)第一の通信モード(例えば、シングルアクセス用のモード)を有する。CPUモジュール1に加えてサブCPUモジュール2も、図8または図9に例示のアドレスマップを有してよい。言い換えれば、CPUモジュール1とサブCPUモジュール2の各々に、当該サブCPUモジュール2に対する個別のデータが書き込まれる個別領域と、全サブCPUモジュール2に対する共通のデータが書き込まれる共通領域とが、論理アドレス空間として存在してよい。論理アドレス空間は、RAM14または21に基づく空間でよい。2以上のサブCPUモジュール2の各々は、共通のデータを格納する領域(例えば、共通IO空間802)を読み込みまたは書き込みのためにRAM21の指定されたアドレスの情報を読み込みまたは書き込みを行う第二の通信モード(例えば、ブロードキャストアクセス用のモード)を有している。 Further, in this embodiment, the following configuration may be adopted. That is, the CPU module 1 is connected to the I / O port by accessing at least one I / O port of one or more I / O ports (for example, a communication port) connected to one or more controlled devices. It has an MPU 11 that is connected to a sub CPU module 2 (for example, an I / O module) that controls the operation of the controlled target device via an external bus 3 and calculates information on the controlled target device, and a RAM 14 that stores the calculation result of the MPU 11. .. The sub CPU module 2 connected to the external bus 3 has an MPU (an example of a sub calculation unit) that calculates information on a controlled device and a RAM 21 (an example of a sub memory unit) that stores the calculation result of the MPU. Two or more sub CPU modules may be connected to the external bus 3. The CPU module 1 identifies all connected (mounted) sub CPU modules 2. Each sub CPU module 2 sequentially reads or writes data from the designated address of the RAM 21 toward the next or previous address (for example, by DMA) in a first communication mode (for example, a mode for single access). ). In addition to the CPU module 1, the sub CPU module 2 may also have the address map illustrated in FIG. 8 or 9. In other words, in each of the CPU module 1 and the sub CPU module 2, the individual area in which the individual data for the sub CPU module 2 is written and the common area in which the common data for all the sub CPU modules 2 are written are the logical addresses. It may exist as a space. The logical address space may be a space based on RAM 14 or 21. Each of the two or more sub CPU modules 2 reads or writes the information of the specified address of the RAM 21 for reading or writing the area for storing the common data (for example, the common IO space 802). It has a communication mode (for example, a mode for broadcast access).

1…CPUモジュール、2…サブCPUモジュール、3…外部バス、
11…MPU、12…通信ポート、13…ROM、14…RAM、15…DMAC、
16…BUSコントローラM、21…2ポートRAM、22…BUSコントローラS、
31…フリップフロップ(FF)、32…増減カウンタ、33…セレクタ
1 ... CPU module, 2 ... Sub CPU module, 3 ... External bus,
11 ... MPU, 12 ... communication port, 13 ... ROM, 14 ... RAM, 15 ... DMAC,
16 ... BUS controller M, 21 ... 2-port RAM, 22 ... BUS controller S,
31 ... Flip-flop (FF), 32 ... Increase / decrease counter, 33 ... Selector

Claims (6)

演算モジュールと、
前記演算モジュールが接続される接続部と複数のサブ演算モジュールがそれぞれ接続される複数の接続部である複数のサブ接続部とに関連付けられたバスと
を備え、
前記演算モジュールにおいて、前記バスの空間が、前記複数のサブ接続部の全部または一部である2以上のサブ接続部にそれぞれ対応した2以上の空間である2以上の個別空間と、前記2以上のサブ接続部に共通の空間である共通空間とを含み、
前記2以上のサブ接続部に2以上のサブ演算モジュールが接続されている場合、前記演算モジュールは、いずれかのサブ演算モジュールとの間でデータ転送を行うことであるシングルアクセスを当該サブ演算モジュールに対応した個別空間を用いて行うことと、前記2以上のサブ演算モジュールとの間で同時にデータ転送を行うことであるブロードキャストアクセスを前記共通空間を用いて行うこととを選択的に行う、
コントロールシステム。
Arithmetic module and
It is provided with a connection portion to which the arithmetic module is connected and a bus associated with a plurality of sub-connection portions which are a plurality of connection portions to which a plurality of sub arithmetic modules are connected.
In the arithmetic module, two or more individual spaces in which the space of the bus is two or more spaces corresponding to two or more sub-connections which are all or a part of the plurality of sub-connections, and two or more individual spaces. Including the common space, which is a common space in the sub-connection part of
When two or more sub-operation modules are connected to the two or more sub-connection units, the operation module makes a single access to transfer data to or from any of the sub-operation modules. Selectively perform broadcast access using the common space, which is to simultaneously transfer data between the two or more sub-operation modules, and to use the individual space corresponding to the above.
Control system.
前記2以上の個別空間の各々には、当該個別空間に対応したサブ接続部に接続されたサブ演算モジュールを選択する選択信号が関連付けられており、
前記共通空間には、前記2以上のサブ接続部にそれぞれ対応した2以上の選択信号の全てが関連付けられており、
前記演算モジュールは、
前記シングルアクセスを選択する場合、当該シングルアクセスに従うサブ演算モジュールに対応した個別空間にアクセスすることにより、当該個別空間に関連付けられた選択信号をアサートし、
前記ブロードキャストアクセスを選択する場合、前記共通空間にアクセスすることにより、当該共通空間に関連付けられた全選択信号を同時にアサートする、
請求項1に記載のコントロールシステム。
Each of the two or more individual spaces is associated with a selection signal for selecting a sub-calculation module connected to the sub-connection unit corresponding to the individual space.
All of the two or more selection signals corresponding to the two or more sub-connections are associated with the common space.
The arithmetic module
When the single access is selected, the selection signal associated with the individual space is asserted by accessing the individual space corresponding to the sub-arithmetic module that follows the single access.
When the broadcast access is selected, the all-selection signals associated with the common space are simultaneously asserted by accessing the common space.
The control system according to claim 1.
前記演算モジュールは、
転送対象のデータがいずれかのサブ演算モジュールに対するデータである場合、当該サブ演算モジュールに対するシングルアクセスを選択し、
転送対象のデータが前記2以上のサブ演算モジュールに共通のデータである場合、ブロードキャストアクセスを選択する、
請求項1に記載のコントロールシステム。
The arithmetic module
If the data to be transferred is data for one of the sub-operation modules, select single access to that sub-operation module, and select
When the data to be transferred is the data common to the two or more sub-arithmetic modules, broadcast access is selected.
The control system according to claim 1.
転送対象のデータが前記2以上のサブ演算モジュールに共通のデータである場合、前記演算モジュールは、
前記2以上のサブ演算モジュールに高速連続アクセス不可のサブ演算モジュールが1つでもあれば、前記ブロードキャストアクセスとしての通常アクセスを選択し、
前記2以上のサブ演算モジュールのいずれも高速連続アクセス可能であれば、前記ブロードキャストアクセスとしての高速連続アクセスを選択する、
請求項3に記載のコントロールシステム。
When the data to be transferred is the data common to the two or more sub-calculation modules, the arithmetic module is
If there is at least one sub-operation module that cannot be accessed continuously at high speed in the two or more sub-operation modules, normal access as the broadcast access is selected.
If any of the two or more sub-arithmetic modules can be accessed continuously at high speed, high-speed continuous access as the broadcast access is selected.
The control system according to claim 3.
前記演算モジュールは、サブ演算モジュール個々のアドレス空間の任意のアドレスまたはサブ演算モジュール内の連続したアドレス空間に対応する連続アクセス数を指定するようになっており、
各サブ演算モジュールは、指定された任意のアドレスから当該アドレスを連続アクセス数分のインクリメントまたはデクリメントして当該サブ演算モジュール内の連続したアドレス空間に対してIO処理を実行するようになっており、
前記バスには、連続したアドレス空間に対するIO処理の実行とアドレスのインクリメントまたはデクリメントとを指定するモード信号を通信する第1の信号線、および、アドレスをインクリメントまたはデクリメントする更新タイミングを規定するストローブ信号を通信する第2の信号線、が付設されており、
前記演算モジュールは、前記第1の信号線および前記第2の信号線を用いて、通常アクセスと高速連続アクセスのいずれかを選択する、
請求項4に記載のコントロールシステム。
The arithmetic module is designed to specify an arbitrary address in the address space of each sub arithmetic module or the number of continuous accesses corresponding to the continuous address space in the sub arithmetic module.
Each sub-operation module increments or decrements the address from any specified address by the number of continuous accesses, and executes IO processing for the continuous address space in the sub-operation module.
The bus contains a first signal line that communicates a mode signal that specifies the execution of IO processing and address increment or decrement on a continuous address space, and a strobe signal that specifies the update timing for incrementing or decrementing the address. A second signal line, which communicates with, is attached,
The arithmetic module uses the first signal line and the second signal line to select either normal access or high-speed continuous access.
The control system according to claim 4.
前記演算モジュールは、1以上の制御対象装置に接続された1以上のI/Oポートの少なくとも1つのI/Oポートにアクセスすることにより当該I/Oポートに接続された制御対象装置の動作を制御するサブ演算モジュールに前記バスを介して接続され制御対象装置の情報を演算する演算部と、当該演算部の演算結果を記憶するメモリ部とを有し、
前記サブ演算モジュールは、制御対象装置の情報を演算するサブ演算部と、当該サブ演算部の演算結果を記憶するサブメモリ部とを有し、
各サブ演算モジュールは、指定されたアドレスから次または前のアドレスへ向かって順次にデータの読み込みまたは書き込みを行うシングルアクセスのための第一の通信モードを有し、
前記サブ演算モジュールは、前記共通空間に対するデータの読み込みまたは書き込みのために指定されたアドレスのデータを読み込みまたは書き込みを行うブロードキャストアクセスのための第二の通信モードを有する、
請求項2に記載のコントロールシステム。
The arithmetic module operates the control target device connected to the I / O port by accessing at least one I / O port of the one or more I / O ports connected to the control target device. It has a calculation unit that is connected to the sub-calculation module to be controlled via the bus and calculates information of the controlled device, and a memory unit that stores the calculation result of the calculation unit.
The sub-calculation module has a sub-calculation unit that calculates information on a controlled device and a sub-memory unit that stores the calculation result of the sub-calculation unit.
Each sub-calculation module has a first mode of communication for single access that reads or writes data sequentially from a specified address to the next or previous address.
The sub-arithmetic module has a second communication mode for broadcast access that reads or writes data at a designated address for reading or writing data to the common space.
The control system according to claim 2.
JP2019116534A 2019-06-24 2019-06-24 control system Active JP7294912B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019116534A JP7294912B2 (en) 2019-06-24 2019-06-24 control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019116534A JP7294912B2 (en) 2019-06-24 2019-06-24 control system

Publications (2)

Publication Number Publication Date
JP2021002279A true JP2021002279A (en) 2021-01-07
JP7294912B2 JP7294912B2 (en) 2023-06-20

Family

ID=73995126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019116534A Active JP7294912B2 (en) 2019-06-24 2019-06-24 control system

Country Status (1)

Country Link
JP (1) JP7294912B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021006773T5 (en) 2021-01-08 2023-12-14 Autonetworks Technologies, Ltd. Switching device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS626361A (en) * 1985-07-03 1987-01-13 Hitachi Ltd Data transfer method between multiple processors
JPS63116210A (en) * 1986-11-05 1988-05-20 Mitsubishi Electric Corp Input/output control system for sequence controller
JPH10171770A (en) * 1996-12-06 1998-06-26 Meidensha Corp Multiprocessor system
JP2001067107A (en) * 1999-08-30 2001-03-16 Mitsubishi Electric Corp Programmable controller system and information transmission control method thereof
JP2017027539A (en) * 2015-07-28 2017-02-02 株式会社日立産機システム Programmable controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS626361A (en) * 1985-07-03 1987-01-13 Hitachi Ltd Data transfer method between multiple processors
JPS63116210A (en) * 1986-11-05 1988-05-20 Mitsubishi Electric Corp Input/output control system for sequence controller
JPH10171770A (en) * 1996-12-06 1998-06-26 Meidensha Corp Multiprocessor system
JP2001067107A (en) * 1999-08-30 2001-03-16 Mitsubishi Electric Corp Programmable controller system and information transmission control method thereof
JP2017027539A (en) * 2015-07-28 2017-02-02 株式会社日立産機システム Programmable controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021006773T5 (en) 2021-01-08 2023-12-14 Autonetworks Technologies, Ltd. Switching device

Also Published As

Publication number Publication date
JP7294912B2 (en) 2023-06-20

Similar Documents

Publication Publication Date Title
CA1241766A (en) Communication controller using multiported random access memory
US6675226B1 (en) Network interface for industrial controller providing application programmer interface
JP2004252960A (en) Memory controller
JP4323241B2 (en) Memory controller for increasing bus bandwidth, data transmission method using the same, and computer system including the same
KR20020008955A (en) Bus system and execution scheduling method for access commands thereof
US20200356503A1 (en) Pcie root complex message interrupt generation method using endpoint
US8499113B2 (en) Circuit configurations and method for controlling a data exchange in a circuit configuration
JP2021002279A (en) Control system
JP6498557B2 (en) Programmable controller
JP2591502B2 (en) Information processing system and its bus arbitration system
CN100422978C (en) Integrated circuit with multiple digital signal processors in communication with each other
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
CN100587678C (en) External device access apparatus and system LSI
JP2008198148A (en) Programmable controller
JP4874065B2 (en) Bus relay apparatus and system
CN217157097U (en) Double-bus circuit for realizing multi-master priority control output
CN119166565B (en) SPDK architecture multi-control storage expansion method and device based on memory sharing
JP4765003B2 (en) Multiprocessor system
JPH01133108A (en) Programmable controller
JP4642398B2 (en) Shared bus arbitration system
JP4854598B2 (en) Data transfer control device
JP2730189B2 (en) Distributed controller
KR100584583B1 (en) Serial bus control device and method
JP6535516B2 (en) Multi-programmable device system and control method thereof
KR101328944B1 (en) apparatus and method for processing control information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230608

R150 Certificate of patent or registration of utility model

Ref document number: 7294912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150