JPWO2016120906A1 - A/d変換装置、d/a変換装置、及びplc - Google Patents

A/d変換装置、d/a変換装置、及びplc Download PDF

Info

Publication number
JPWO2016120906A1
JPWO2016120906A1 JP2015553699A JP2015553699A JPWO2016120906A1 JP WO2016120906 A1 JPWO2016120906 A1 JP WO2016120906A1 JP 2015553699 A JP2015553699 A JP 2015553699A JP 2015553699 A JP2015553699 A JP 2015553699A JP WO2016120906 A1 JPWO2016120906 A1 JP WO2016120906A1
Authority
JP
Japan
Prior art keywords
area
data
digital data
stored
converter
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
JP2015553699A
Other languages
English (en)
Other versions
JP5987203B1 (ja
Inventor
富仁 後藤
富仁 後藤
智 浮穴
智 浮穴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5987203B1 publication Critical patent/JP5987203B1/ja
Publication of JPWO2016120906A1 publication Critical patent/JPWO2016120906A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15118Shared memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21137Analog to digital conversion, ADC, DAC
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Analogue/Digital Conversion (AREA)
  • Recording Measured Values (AREA)

Abstract

高速のA/D変換を継続して実行できるA/D変換装置、高速D/A変換を継続して実行できるD/A変換装置、及び前記A/D変換装置と前記D/A変換装置を備えるPLCを得る。データ変換部130、230と、第一及び第二の領域に分割される一時記憶領域141、241を備える共用メモリ140、240と、前記一時記憶領域141、241において、予め決められたデータ量のアクセスがあった場合に、当該アクセスのあったアドレスに格納されるデータを出力させる制御部122または当該アドレスに新たなデータを格納させる制御部222とを備える。

Description

この発明は、A/D変換装置、D/A変換装置、前記A/D変換装置及び前記D/A変換装置を備えたプログラマブルコントローラ(PLC)に関する。
PLCにアナログデータを入力する場合、入力されるアナログデータをデジタルデータに変換するA/D変換装置が用いられる。一般的に、入力されるアナログデータをデジタルデータに変換するA/D変換装置のA/D変換のサンプリング周期と、PLC全体を制御するCPUの制御周期とは非同期であり、かつサンプリング周期の方が短い場合が多い。そこで、A/D変換装置にCPUから常時アクセス可能な共用メモリを設け、A/D変換したデータを共用メモリに一時的に格納することにより、A/D変換のサンプリング速度を落とさずにアナログデータを入力する技術が知られている(例えば、特許文献1)。
また、PLCからアナログデータを出力する場合、PLC内で処理されるデジタルデータをアナログデータに変換するD/A変換装置が用いられる。一般的に、D/A変換装置においても、D/A変換のサンプリング周期と、CPUの制御周期とは非同期であり、かつサンプリング周期の方が短い場合が多い。そこで、D/A変換装置にCPUから常時アクセス可能な共用メモリを設け、D/A変換するデータを共用メモリに一時的に格納することにより、D/A変換のサンプリング速度を落とさずにアナログデータを出力する技術が知られている(例えば、特許文献2)。
特許第5122000号公報(第6頁、第1図) 特許第5327395号公報(第6頁、第1図)
しかしながら、特許文献1に記載のA/D変換装置にあっては、高速に大容量のアナログデータをデジタルデータに変換する場合、A/D変換装置の共用メモリの記憶容量すべてにデジタルデータが格納される毎に、当該デジタルデータをCPUへ出力する必要がある。この場合、デジタルデータをCPUへ出力している間、A/D変換を一時停止しなければならず、A/D変換の高速化の妨げとなっていた。
また、特許文献2に記載のD/A変換装置にあっては、高速に大容量のデジタルデータをアナログデータに変換する場合、D/A変換装置の共用メモリに格納されるデジタルデータをすべてD/A変換した後、CPUから新たなデジタルデータを取得する必要がある。この場合、デジタルデータをCPUから取得している間、D/A変換を一時停止しなければならず、D/A変換の高速化の妨げとなっていた。
これらの問題は、いずれも、A/D変換装置またはD/A変換装置が備える共用メモリの容量を増やすことにより、一時的に解決できるが、共用メモリの容量を増やすことでコストの増大を招いてしまう。
この発明は、上記の問題点を解決するためになされたものであり、A/D変換装置の共用メモリの容量に依存することなく、高速のA/D変換を継続して実行できるA/D変換装置を得る。
また、D/A変換装置の共用メモリの容量に依存することなく、高速D/A変換を継続して実行できるD/A変換装置を得る。
また、A/D変換装置の記憶部の容量に依存することなく、高速かつ大容量のロギングが可能であり、さらに、D/A変換装置の共用メモリの容量に依存することなく高速かつ大容量の波形出力が可能であるPLCを得る。
この発明の第一の発明に係るA/D変換装置は、アナログデータをデジタルデータに変換するA/D変換部と、第一及び第二の領域に分割され前記A/D変換部による変換後のデジタルデータを格納するリングバッファ構造の一時記憶領域を備える記憶部と、前記A/D変換部による変換後のデジタルデータを前記一時記憶領域の前記第一の領域に格納させ当該格納したデジタルデータのデータ量が前記第一の領域に割り当てられたデータ量と一致した場合に、前記第一の領域に格納されているデジタルデータを出力可能にするとともに前記A/D変換部により新たに変換されたデジタルデータを前記第二の領域に格納させる制御部とを備える。
また、第二の発明に係るD/A変換装置は、デジタルデータをアナログデータに変換するD/A変換部と、第一及び第二の領域に分割され前記D/A変換部に変換されるデジタルデータを格納するリングバッファ構造の一時記憶領域を備える記憶部と、前記第一及び前記第二の領域それぞれに前記D/A変換部に変換されるデジタルデータが格納されている場合に前記一時記憶領域の前記第一の領域に格納されているデジタルデータを前記D/A変換部へ出力させ、当該出力したデジタルデータのデータ量が前記第一の領域に割り当てられたデータ量と一致した場合に、前記第一の領域に前記D/A変換部により新たに変換されるデジタルデータを書き込み可能にするとともに前記第二の領域に格納されているデジタルデータを前記D/A変換部へ出力させる制御部とを備える。
また、第三の発明に係るPLCは、第一の発明に係るA/D変換装置と、第二の発明に係るD/A変換装置と、デジタルデータを格納する内部メモリを備え、前記A/D変換装置が前記A/D変換装置の一時記憶領域に格納されているデジタルデータを出力すると当該デジタルデータを前記内部メモリに格納し、前記D/A変換装置の一時記憶領域に格納するデジタルデータを前記内部メモリから出力するCPU装置とを備える。
この発明の第一の発明によれば、A/D変換したデジタルデータを記憶部に格納しながら、記憶部に格納されているデジタルデータをCPU装置へ転送できるので、高速A/D変換を継続して実行できる。
また、第二の発明によれば、CPU装置からD/A変換するデジタルデータを記憶部へ転送しながら、記憶部に格納されているデジタルデータをD/A変換できるので、高速D/A変換を継続して実行できる。
また、第三の発明によれば、A/D変換装置の記憶部の容量に依存することなく、高速かつ大容量のロギングが可能であり、さらに、D/A変換装置の記憶部の容量に依存することなく高速かつ大容量の波形出力が可能であるPLCを得られる。
この発明に係るPLCシステムの構成図である。 この発明の実施の形態1を示すA/D変換装置の構成図である。 この発明の実施の形態1を示すA/D変換装置のログデータ一時記憶領域及びログデータ一時記憶領域に格納されるデータの構造を示す図である。 この発明の実施の形態1を示すA/D変換装置の制御部の動作を示すフローチャートである。 この発明の実施の形態1を示すログデータ一時記憶領域の状態遷移を説明する図である。 この発明の実施の形態1を示す割込みプログラム実行部の動作を示すフローチャートである。 この発明の実施の形態2を示すD/A変換装置の構成図である。 この発明の実施の形態2を示すD/A変換装置の波形データ列一時記憶領域及び波形データ列一時記憶領域に格納されるデータの構造を示す図である。 この発明の実施の形態2を示すD/A変換装置の制御部の動作を示すフローチャートである。 この発明の実施の形態2を示す波形データ列一時記憶領域の状態遷移を説明する図である。 この発明の実施の形態2を示す割込みプログラム実行部の動作を示すフローチャートである。
実施の形態1.
図1は、この発明に係るPLCシステムの構成図である。PLCシステムは、PLC1000及び周辺装置2000を備える。PLC1000は、少なくともA/D変換装置100、D/A変換装置200及びCPU装置300とを備える。PLC1000は、例えば、外部メモリ400、外部機器の入出力制御を実現するI/O制御装置、PLCネットワークを実現するためのネットワーク通信装置等を備えていても良い。PLC1000が備える各装置は、互いにユニット間バス500を介して接続される。周辺装置2000は、例えばパーソナルコンピュータであり、ユーザプログラムの設定または内部メモリ330のデータの状態の表示等を行う。
D/A変換装置200は、PLC1000が制御対象とする産業用機器などに対し、電流値や電圧値などのアナログデータの出力を行う。
CPU装置300は、ユーザプログラム、ユーザプログラムの実行に必要となるデータ、及びユーザプログラムの実行結果であるデータを格納する外部メモリ400にアクセスするためのインタフェースである外部メモリI/F310と、ユーザプログラムの実行やCPU装置300全体の制御を実行する演算部320と、ユーザプログラムの実行に必要となるデータ、ユーザプログラムの実行結果、ログデータを格納するためのメモリである内部メモリ330と、周辺装置2000を接続するためのインタフェースである周辺装置I/F340と、ユニット間バス500を介して接続した装置と通信を行うための通信インタフェースであるバスI/F350と、を備える。演算部320は、割込みプログラムを実行する割込みプログラム実行部321を備える。
CPU装置300は、PLC1000が備える各装置を動作させて産業用機器を制御するためのプログラムであるユーザプログラムの実行と、実行結果の出力と、ユーザプログラムが使用する値などの入力値の取得と、を所定の周期で繰り返す。この繰り返しの動作はサイクリック処理と呼ばれる。
図2は、この実施の形態におけるA/D変換装置100の構成図である。A/D変換装置100は、A/D変換装置100全体を制御する演算部110、A/D変換した値を演算するための入力演算器120、アナログデータをA/D変換するA/D変換部130、A/D変換装置100がデータを高速に書き込むことができ、かつCPU装置300が煩雑な通信処理を実行することなく格納されるA/D変換値を読み出すことができる共用メモリ140、ユニット間バス500を介して接続した装置と通信を行うための通信インタフェースであるバスI/F150とを備える。入力演算器120は、カウンタ121、制御部122、パラメータ格納領域123、デジタル値入力部124を備える。共用メモリ140は、記憶部である。A/D変換装置100は、PLC1000が制御対象とする産業用機器などに関する種々の観測値、例えば流量、圧力、温度などを観測して電流値や電圧値として出力するセンサからのアナログデータの入力を受け付け、当該アナログデータをデジタルデータに変換し、内部に備える共用メモリ140に前記デジタルデータ(A/D変換値)を格納する。共用メモリ140に格納されているA/D変換値は、前述のサイクリック処理に含まれる入力値の取得として、CPU装置300に読み取られる。
次に、A/D変換装置100内の共用メモリ140について説明する。図3は、この実施の形態におけるA/D変換装置100のログデータ一時記憶領域141及びログデータ一時記憶領域141に格納されるデータの構造を示す図である。共用メモリ140には、CPU装置300によるサイクリック処理により読み出されるA/D変換値が格納される。通常、アナログデータをサンプリングしてデジタルデータに変換する周期(サンプリング周期)は、サイクリック処理の周期より短いため、CPU装置300が共用メモリ140に格納されたA/D変換値を取りこぼすことなく読み出してロギングすることは難しい。そこで、A/D変換装置100がデータを高速に格納することができ、かつCPU装置300が煩雑な通信処理を実行することなくA/D変換値を読み出すことができる共用メモリ140に、A/D変換値をログデータとして格納するための一時記録領域であるログデータ一時記憶領域141を確保している。なお、ログデータ一時記憶領域141に格納されているログデータは、ユニット間バス500、CPU装置300、周辺装置I/F340を介して周辺装置2000に読み出すことができる。
ログデータ一時記憶領域141は、リングバッファ構造となっている。すなわち、ログデータ一時記憶領域141には、ログデータが先頭アドレスから順番に時系列順に書き込まれる。そして、ログデータの格納アドレスが最後尾に到達すると、ラップアラウンドして再び先頭アドレスからログデータが上書きされる。
A/D変換装置100から高速にログデータを取得する場合、CPU装置300の演算部320は、制御部122によりログデータ一時記憶領域141に格納されているログデータが上書きされる前に、内部メモリ330に読み出す必要がある。そこで、ログデータ一時記憶領域141を3以上の領域に分割し、それぞれ、転送領域、実行領域、マージン領域のいずれかに割り当てる。図3において、ログデータ一時記憶領域141は、4つの領域に分割され、領域(a)は、実行領域、領域(b)、領域(c)、領域(d)は、マージン領域である。制御部122は、A/D変換部130を起動し、ロギングを開始すると、デジタル値入力部124に対し、ログデータをログデータ一時記憶領域141の実行領域に格納させるよう制御する。制御部122は、当該実行領域へのログデータの格納が完了すると、当該実行領域を転送領域とし、次の領域に新たなログデータを格納させるよう制御する。図3において、制御部122は、領域(a)へのログデータの格納を終えると、領域(a)を転送領域とし、領域(b)を実行領域として、領域(b)へログデータを格納させる。入力演算器120の制御部122は、ログデータ一時記憶領域141の前記実行領域分のロギングが完了したことを、バスI/F150、ユニット間バス500及びバスI/F350を介して、CPU装置300の演算部320へ通知する。また、制御部122は、領域(a)に割り当てられたデータ量、及びログデータ一時記憶領域141において最後にログデータを格納したアドレスも、CPU装置300の演算部320へ通知する。演算部320は、当該通知を受けると、割込みプログラム実行部321により、割込みプログラムを実行させる。演算部320は、当該割込みプログラムにより、ログデータ一時記憶領域141の転送領域に格納されているログデータを内部メモリ330に読み出す。
前記手順を繰り返し実行することにより、サンプリング周期とサイクリック処理の周期との差の影響を受けることなく高速かつ大容量のログデータを内部メモリ330に読み出すことができる。内部メモリ330は、一般的にA/D変換装置100の共用メモリ140より大きな領域を有する。しかしながら、更にロギング容量を拡大するため、内部メモリ330に一定量のログデータが格納された時点で、外部メモリI/F310を通して外部メモリ400に保存しても良い。ここで、外部メモリ400は専用メモリでも、SDメモリカード及びCFカード等の汎用記憶媒体でも良い。
A/D変換装置100は、ロギングを継続して実行する。このため、CPU装置300が転送領域に格納されるログデータの読み出しを終える前に、制御部122が実行領域へのログデータの格納を終えた場合、ログデータ一時記憶領域141に格納され、内部メモリ330に読み出されていないログデータは、新たにA/D変換されたログデータにより上書きされる可能性がある。これを防ぐため、ログデータ一時記憶領域141は、実行領域と転送領域の他にマージン領域を備える。CPU装置300のログデータ取得が遅れた場合、デジタル値入力部124は、新たにA/D変換されたログデータを、ログデータ一時記憶領域141のマージン領域に格納する。これにより、ログデータ一時記憶領域141に格納され、内部メモリ330に読み出されていないログデータが新たにA/D変換されたログデータにより上書きされる恐れがなくなる。なお、ログデータ一時記憶領域141を4以上の領域に分割した場合、一つの領域を実行領域、他の一つの領域を転送領域、残りの複数の領域をマージン領域とする。これにより、マージン領域を拡大できる。なお、ログデータ一時記憶領域141の分割数は、ユーザが適宜変更できる構成にしても良い。
次に、図3及び図4に基づいて、この実施の形態におけるA/D変換装置100によるロギングの手順を説明する。図4は、この実施の形態におけるA/D変換装置100の制御部122の動作を示すフローチャートである。図3において、ログデータ一時記憶領域141は、第一の領域、第二の領域、第三の領域、及び第四の領域の4つの領域に分割され、第一の領域へのログデータの格納が完了した状態を示している。
図4において、ステップ(以下、Sと称す。)101で、制御部122は、ログデータ一時記憶領域141における各領域のデータ量を決定する。具体的には、制御部122は、ログデータ一時記憶領域141の容量Nワードを分割する領域の数で割り、各領域のデータ量を決定する。図3において、Nワードを4つの領域に分割するので、各領域のデータ量はN/4ワードである。
S102で、制御部122は、S101で決定した各領域のデータ量を記憶部である共用メモリ140に格納する。
S103で、制御部122は、A/D変換部130を起動し、ロギングを開始する。
S104で、制御部122は、デジタル値入力部124に対し、A/D変換部130で変換されたログデータをログデータ一時記憶領域141の実行領域に格納するよう制御する。実行領域にログデータが格納されていない場合、デジタル値入力部124は、A/D変換部130で変換されたログデータを実行領域の先頭アドレスに格納させる。実行領域にログデータが格納されている場合、デジタル値入力部124は、A/D変換部130で変換されたログデータを、最後にログデータが格納されたアドレスの次のアドレスに格納させる。なお、1アドレスには、1ワードのログデータが格納される。
S105で、制御部122は、S104でログデータを格納したアドレスを記憶部である共用メモリ140に格納する。
S106で、制御部122は、S104で格納したデータ量の分、カウンタ121をカウントアップさせる。
S107で、制御部122は、カウンタ121のカウント値が共用メモリ140に格納されている領域のデータ量に達したかを判断する。制御部122は、カウンタ121のカウント値が共用メモリ140に格納されている領域のデータ量に達した場合、S108に進む。一方、制御部122は、カウンタ121のカウント値が共用メモリ140に格納されている領域のデータ量に達していない場合、S105に戻り、ロギングを継続する。
S108で、制御部122は、CPU装置300に対し、ログデータ取出要求、最後にログデータを格納したアドレス、S102で共用メモリ140に格納した領域のデータ量を通知する。制御部122は、ログデータ取出要求を通知すると、ログデータ一時記憶領域141の実行領域を転送領域とし、最後にログデータを格納したアドレスの次のアドレスを含む領域を実行領域とする。図3において、制御部122は、領域(a)を転送領域とし、領域(b)を実行領域とする。
S109で、制御部122は、カウンタ121のカウント値をクリアして、S104に戻り、ロギングを継続する。
次に、図5及び図6に基づいて、この実施の形態におけるログデータ一時記憶領域141の転送領域に格納されるログデータをCPU装置300の内部メモリ330へ転送する割込みプログラムの動作を説明する。図5は、この実施の形態におけるログデータ一時記憶領域141の領域の状態遷移を説明する図である。図6は、この実施の形態における割込みプログラム実行部321の動作を示すフローチャートである。図4において、S108で、制御部122がCPU装置300に対し、ログデータ取出要求を通知すると、割込みプログラム実行部321は、転送領域のログデータを内部メモリ330に転送する割込みプログラムを実行する。
図5において、左図は、領域(a)を実行領域、領域(b)、領域(c)、領域(d)をマージン領域とし、実行領域へのログデータの格納を終えた状態を示す。実行領域へのログデータの格納を終えると、制御部122は、CPU装置300に対し、領域(a)に格納されるログデータの取出要求、最後にログデータを格納したアドレス、領域(a)に割り当てられたデータ量を通知する。最後にログデータを格納したアドレスとは、図5の左図において、時刻(N/4)Tのログデータを格納しているアドレスである。中央図は、領域(a)を転送領域、領域(b)を実行領域、領域(c)、領域(d)をマージン領域とし、領域(b)にログデータを格納している状態を示す。CPU装置300が領域(a)に格納されるログデータを読み取っている間、制御部122は、領域(b)にA/D変換部130から出力されるログデータを格納させる。右図は、領域(b)を転送領域、領域(c)を実行領域、領域(d)及び領域(a)をマージン領域とし、領域(c)にログデータを格納している状態を示す。CPU装置300が領域(b)に格納されるログデータを読み取っている間、制御部122は、領域(c)にA/D変換部130から出力されるログデータを格納させる。
図6において、S201で、割込みプログラム実行部321は、ログデータ一時記憶領域141の転送領域から、ログデータを読み取り、内部メモリ330に格納する。
S202で、割込みプログラム実行部321は、読み取ったデータ量が共用メモリ140に格納されている領域のデータ量に達したかを判断する。割込みプログラム実行部321は、読み取ったデータ量が共用メモリ140に格納されている領域のデータ量に達した場合、S203に進む。一方、割込みプログラム実行部321は、読み取ったデータ量が共用メモリ140に格納されている領域のデータ量に達していない場合、S201に戻り、ログデータの読み取りを継続する。
S203で、割込みプログラム実行部321は、内部メモリ330に格納したデータ量が予め決められたデータ量に達したかを判断する。割込みプログラム実行部321は、内部メモリ330に格納したデータ量が予め決められたデータ量に達した場合、S204に進む。一方、割込みプログラム実行部321は、内部メモリ330に格納したデータ量が予め決められたデータ量に達していない場合、割込みプログラムを終了する。
S204で、割込みプログラム実行部321は、内部メモリ330に格納されているログデータを外部メモリ400へ転送し、割込みプログラムを終了する。なお、PLCシステムが外部メモリ400を備えない場合、S203とS204を省略する。
なお、S201で、ログデータ一時記憶領域141の転送領域からログデータを読み取る方式は、ログデータを1点ずつ読み取っても良いし、複数点まとめて読み取っても良い。
以上述べたように、この実施の形態におけるA/D変換装置100にあっては、サンプリング周期がサイクリック処理の周期よりも短い場合であっても、A/D変換部130のサンプリング速度を落とさずにロギングが可能であり、ロギングしたデータを取りこぼすことなくCPU装置300の内部メモリ330へ転送できる。また、ログデータ一時記憶領域141内に、実行領域及び転送領域の他に、マージン領域を設けることにより、CPU装置300の演算部320がログデータ取出要求通知に対する割込みプログラムよりも優先度の高いプログラムを実行している場合であっても、転送領域に格納されているログデータが上書きされてしまうことを防げる。さらに、PLCシステムが外部メモリ400を備える場合、CPU装置300の内部メモリ330に格納されたログデータを外部メモリ400へ転送するので、A/D変換装置100の共用メモリ140の容量に依存することなく、高速かつ大容量のロギングを実行できる。
また、この実施の形態におけるA/D変換装置100にあっては、アナログデータをデジタルデータに変換するA/D変換部130と、第一及び第二の領域に分割されA/D変換部130による変換後のデジタルデータを格納するリングバッファ構造のログデータ一時記憶領域141を備える共用メモリ140と、A/D変換部130による変換後のデジタルデータをログデータ一時記憶領域141の第一の領域に格納させ当該格納したデジタルデータのデータ量が第一の領域に割り当てられたデータ量と一致した場合に、第一の領域に格納されているデジタルデータを出力可能にするとともにA/D変換部130により新たに変換されたデジタルデータを第二の領域に格納させる制御部122とを備える。これにより、A/D変換を継続しながら転送領域に格納されるログデータをCPU装置300の内部メモリ330に転送できるので、高速A/D変換を継続して実行することができる。
また、この実施の形態におけるA/D変換装置100にあっては、ログデータ一時記憶領域141は、第一、第二及び第三の領域に分割され、制御部122は、第二の領域に格納したデジタルデータのデータ量が第二の領域に割り当てられたデータ量と一致したときに第一の領域に格納されているデジタルデータを出力している場合に、第二の領域に格納されているデジタルデータを出力可能にするとともに第一の領域に格納されているデジタルデータの出力を継続しA/D変換部130により新たに変換されたデジタルデータを第三の領域に格納させる。これにより、実行領域へのログデータの格納を完了したときに転送領域に格納されているログデータの転送が完了していない場合に、制御部122は、A/D変換後のデジタルデータであるログデータをマージン領域に格納させるので、転送されていないログデータが新たにA/D変換されたログデータに上書き消去される恐れがなくなる。
また、この実施の形態におけるA/D変換装置100にあっては、制御部122は、記憶部に、ログデータ一時記憶領域141を構成する各領域に割り当てられたデータ量及びA/D変換部130による変換後のデジタルデータが最後に格納されたアドレスを格納させ、ログデータ一時記憶領域141のいずれかの領域に格納されたデジタルデータのデータ量が当該領域に割り当てられたデータ量と一致した場合に、当該領域に格納されているデジタルデータの取出要求と当該領域に割り当てられたデータ量とA/D変換部130による変換後のデジタルデータが最後に格納されたアドレスとを出力する。これにより、CPU装置300は、制御部122から通知された情報に基づいて、ログデータを取得できる。
また、この実施の形態におけるA/D変換装置100にあっては、ログデータ一時記憶領域141のいずれかの領域に格納されたデジタルデータのデータ量をカウントするカウンタ121を備え、制御部122は、カウンタ121のカウント値が当該領域に割り当てられたデータ量と一致した場合に、カウント値をリセットする。これにより、制御部122は、カウンタ121のカウント値が予め決められた値に達した場合に、CPU装置300に対しログデータの取出要求を通知することができる。
なお、ログデータ一時記憶領域141は、3つ以上の領域に分割されるとしたが、2つの領域に分割されても良い。この場合、制御部122は、ログデータ一時記憶領域141の一方の領域にログデータを格納させながら、他方の領域に格納されているログデータをCPU装置300の内部メモリ330に転送できる。これにより、サンプリング周期とサイクリック処理の周期との差の影響を受けることなく高速かつ大容量のログデータを内部メモリ330に読み出すことができる。
なお、内部メモリ330は、ログデータ一時記憶領域141と同様のリングバッファ構造としても良い。この場合、演算部320は、ログデータ一時記憶領域141から内部メモリ330へ格納したログデータが最後尾に到達したとき、ラップアラウンドして再び先頭アドレスからログデータを上書きする。
なお、A/D変換装置100は、一つのリングバッファ構造のメモリをログデータ一時記憶領域141として備えるとしたが、これに限らない。A/D変換装置100は、一般的に、入力チャネルを複数備えるため、複数のリングバッファ構造のメモリを実装し、並列に処理を行っても良い。
なお、CPU装置300が、ログデータ一時記憶領域141に格納されるログデータを読み取るとしたが、これに限らない。例えば、PLCシステムに接続されるデータロガー等により、ログデータの読み取りが行われても良い。
なお、サンプリング周期がサイクリック処理の周期より長くてもシステムが満足する場合、割込みプログラムを使用せずに、CPU装置300のサイクリック処理の周期毎にデータの読み取りを行っても良い。この場合、図4における、S101及びS106からS109の処理を省略しても良い。
実施の形態2.
図1は、この発明に係るPLCシステムの構成図である。この実施の形態におけるPLCシステムは、実施の形態1と同態様である。
図7は、この実施の形態におけるD/A変換装置200の構成図である。D/A変換装置200は、D/A変換装置全体を制御する演算部210、D/A変換して出力する値を演算するための出力演算器220、デジタルデータをD/A変換するD/A変換部230、CPU装置300から書き込み可能な共用メモリ240、ユニット間バス500を介して接続した装置と通信を行うための通信インタフェースであるバスI/F250とを備える。共用メモリ240は、記憶部である。D/A変換装置200は、CPU装置300内で処理されたデジタルデータをアナログデータに変換し、該アナログデータ(D/A変換値)を、PLC1000が制御対象とする産業用機器等に出力する。共用メモリ240に格納されているデジタルデータは、前述のサイクリック処理に含まれる産業用機器を制御するためのプログラムであるユーザプログラムの実行結果の出力として、CPU装置300から転送される。
次に、D/A変換装置200内の共用メモリ240について説明する。図8は、この実施の形態におけるD/A変換装置200の波形データ列一時記憶領域241及び波形データ列一時記憶領域241に格納されるデータの構造を示す図である。共用メモリ240には、CPU装置300によるサイクリック処理により出力されるデジタルデータを波形データ列として記憶するための一時記憶領域である波形データ列一時記憶領域241を備える。波形データ列とは、複数のデジタル値からなるデジタルデータ列である。波形データ列は任意の点数から構成することができる。点数とは、データ量を意味する。1点は、例えば16ビットまたは32ビットに相当し、1つのデジタル値に対応する。通常、デジタルデータをサンプリングしてアナログデータに変換する周期(サンプリング周期)は、サイクリック処理の周期より短い。このため、D/A変換装置200が波形データ列一時記憶領域241に書き込まれた波形データ列を連続して出力するためには、D/A変換装置200は、波形を出力しながら、CPU装置300の内部メモリ330から波形データ列を読み取る必要がある。そこで、D/A変換装置200が高速にデータを読み出すことができ、かつCPU装置300が煩雑な通信処理を実行することなく波形データ列の書き込むことができる共用メモリ240に、波形データ列一時記憶領域241を確保している。
波形データ列一時記憶領域241は、リングバッファ構造となっている。すなわち、波形データ列一時記憶領域241に格納された波形データ列は、先頭アドレスから順番に読み出される。そして、波形データ列の読み出しアドレスが最後尾に到達すると、ラップアラウンドして再び先頭アドレスから波形データ列が読み出される。
D/A変換装置200から高速かつ大容量の連続的な波形出力を行う場合、先ずCPU装置300の演算部320は、内部メモリ330上に大容量の波形データ列を用意し、波形データ列一時記憶領域241の容量分の波形データ列を波形出力開始前に転送しておく。波形出力開始後は、D/A変換装置200の制御部222は、波形データ列一時記憶領域241に格納している波形データ列をすべて出力する前に、内部メモリ330から波形データ列を読み出す必要がある。そこで、波形データ列一時記憶領域241を3以上の領域に分割し、それぞれ、転送領域、実行領域、マージン領域のいずれかに割り当てる。図8において、波形データ列一時記憶領域241は、4つの領域に分割され、領域(a)は、実行領域、領域(b)、領域(c)、領域(d)は、マージン領域である。制御部222は、D/A変換部230を起動し、波形出力を開始すると、デジタル値出力部224に対し、波形データ列一時記憶領域241の実行領域から波形データ列を読み出すよう制御する。制御部222は、当該実行領域からの波形データ列の読み出しが完了すると、当該実行領域を転送領域とし、次の領域から波形データ列を読み出すよう制御する。図8において、制御部222は、領域(a)からの波形データ列の出力を終えると領域(a)を転送領域とし、領域(b)を実行領域として、領域(b)に格納される波形データ列を出力させる。出力演算器220の制御部222は、波形データ列一時記憶領域241の実行領域分の波形データ列の読み出しが完了したことを、バスI/F250、ユニット間バス500及びバスI/F350を介して、CPU装置300の演算部320へ通知する。また、制御部222は、実行領域に割り当てられたデータ量、及び波形データ列一時記憶領域141において最後に波形データ列を出力したアドレスも、CPU装置300の演算部320へ通知する。演算部320は、当該通知を受けると、割込みプログラム実行部321により、割込みプログラムを実行させる。演算部320は、当該割込みプログラムにより、内部メモリ330から波形データ列一時記憶領域241の転送領域へ波形データ列を転送する。
前記手順を繰り返し実行することにより、サンプリング周期とサイクリック処理の周期との差の影響を受けることなく高速かつ大容量の波形データ列を出力することができる。内部メモリ330は、一般的にD/A変換装置200の共用メモリ240より大きな領域を有する。しかしながら、更に出力波形容量を拡大するため、外部メモリ400に内部メモリ330の容量より大容量の波形データ列を用意しても良い。この場合、内部メモリ330から一定量の波形データ列を転送した時点で、外部メモリI/F310を通して外部メモリ400から連続する波形データ列を内部メモリ330に転送する。ここで、外部メモリ400は専用メモリでも、SDメモリカード及びCFカード等の汎用記憶媒体でも良い。
D/A変換装置200は、波形出力を継続して実行する。このため、CPU装置300が転送領域へ波形データ列を転送し終える前に、制御部122が実行領域に格納される波形データ列を出力し終えた場合、波形データ列一時記憶領域241に格納され、すでに出力されている波形データ列を再出力してしまう可能性がある。これを防ぐため、波形データ列一時記憶領域241は、実行領域と転送領域の他にマージン領域を備える。CPU装置300の波形データ列転送が遅れた場合、デジタル値出力部224は、マージン領域に格納されている波形データ列を出力する。これにより、波形データ列一時記憶領域241に格納されている波形データ列を再出力してしまうのを防げる。なお、波形データ列一時記憶領域241を4以上の領域に分割した場合、一つの領域を実行領域、他の一つの領域を転送領域、残りの複数の領域をマージン領域とする。これにより、マージン領域を拡大できる。なお、波形データ列一時記憶領域241の分割数は、ユーザが適宜変更できる構成にしても良い。
次に、図8及び図9に基づいて、この実施の形態におけるD/A変換装置200による波形出力の手順を説明する。図9は、この実施の形態におけるD/A変換装置200の制御部222の動作を示すフローチャートである。図8は、波形データ列一時記憶領域241は、第一の領域、第二の領域、第三の領域、及び第四の領域の4つの領域に分割され、第一の領域に格納された波形データ列の出力が完了した状態を示している。
図9において、S301で、制御部222は、波形データ列一時記憶領域241における各領域のデータ量を決定する。具体的には、制御部222は、波形データ列一時記憶領域241の大きさNワードを分割する領域の数で割り、各領域のデータ量を決定する。図8では、Nワードを4つの領域に分割するので、各領域のデータ量はN/4ワードである。
S302で、制御部222は、S301で決定した領域のデータ量を記憶部である共用メモリ240に格納する。
S303で、制御部222は、CPU装置300の内部メモリ330から、波形データ列一時記憶領域241の容量分の波形データ列を読み出し、波形データ列一時記憶領域241に格納する。
S304で、制御部222は、D/A変換部230を起動し、波形出力を開始する。
S305で、制御部222は、デジタル値出力部224に対し、波形データ列一時記憶領域241の実行領域から波形データ列を読み出し、D/A変換部230へ出力するよう制御する。実行領域に格納されている波形データ列がまだ読み出されていない場合、デジタル値出力部224は、実行領域の先頭アドレスに格納されている波形データ列を読み出してD/A変換部230へ出力させる。実行領域に格納されている波形データ列の一部が読み出されている場合、デジタル値出力部224は、最後に読み出された波形データ列の次のアドレスに格納されている波形データ列を読み出してD/A変換部230へ出力させ。なお、1アドレスには、1ワードの波形データ列が格納されている。
S306で、制御部222は、波形データ列を出力したアドレスを記憶部である共用メモリ240に格納する。
S307で、制御部222は、S305で出力したデータ量の分、カウンタ221をカウントアップさせる。
S308で、制御部222は、カウンタ221のカウント値が共用メモリ240に格納されている領域のデータ量に達したかを判断する。制御部222は、カウンタ221のカウント値が共用メモリ240に格納されている領域のデータ量に達した場合、S309に進む。一方、制御部222は、カウンタ221のカウント値が共用メモリ240に格納されている領域のデータ量に達していない場合、S306に戻り、波形出力を継続する。
S309で、制御部222は、CPU装置300に対し、波形データ列取得要求、最後に波形データ列を出力したアドレス、S302で共用メモリ240に格納した領域のデータ量を通知する。制御部222は、波形データ列取得要求を通知すると、波形データ列一時記憶領域241の実行領域を転送領域とし、最後にデータを格納したアドレスの次のアドレスを含む領域を実行領域とする。図8において、制御部122は、領域(a)を転送領域とし、領域(b)を実行領域とする。
S310で、制御部222は、カウンタ221のカウント値をクリアして、S305に戻り、波形出力を継続する。
次に、図10及び図11に基づいて、この実施の形態におけるCPU装置300の内部メモリ330に格納される波形データ列を波形データ列一時記憶領域241の転送領域へ転送する割込みプログラムの動作を説明する。図10は、この実施の形態における波形データ列一時記憶領域241の領域の状態遷移を説明する図である。図11は、この実施の形態における割込みプログラム実行部321の動作を示すフローチャートである。図9において、S309で、制御部222がCPU装置300に対し、波形データ列取得要求を通知すると、割込みプログラム実行部321は、CPU装置300の内部メモリ330に格納される波形データ列を転送領域へ転送する割込みプログラムを実行する。
図10において、左図は、領域(a)を実行領域、領域(b)、領域(c)、領域(d)をマージン領域とし、実行領域に格納されている波形データ列の出力を終えた状態を示す。実行領域からの波形データ列の出力を終えると、制御部222は、CPU装置300に対し、領域(a)への波形データ列取得要求、最後に波形データ列を出力したアドレス、S302で共用メモリ240に格納した領域のデータ量を通知する。最後に波形データ列を出力したアドレスとは、図10の左図において、波形データ列(N/4)を格納しているアドレスである。中央図は、領域(a)を転送領域、領域(b)を実行領域、領域(c)、領域(d)をマージン領域とし、領域(b)に格納されている波形データ列を出力している状態を示す。CPU装置300が領域(a)へ波形データ列を転送している間、制御部222は、領域(b)に格納されている波形データ列を出力させる。右図は、領域(b)を転送領域、領域(c)を実行領域、領域(d)及び領域(a)をマージン領域とし、領域(c)に格納されている波形データ列を出力している状態を示す。CPU装置300が領域(b)へ波形データ列を転送している間、制御部222は、領域(c)に格納されている波形データ列を出力させる。
図11において、S401で、割込みプログラム実行部321は、内部メモリ330から波形データ列を読み取り、波形データ列一時記憶領域241の転送領域に格納する。
S402で、割込みプログラム実行部321は、内部メモリ330から波形データ列一時記憶領域241へ転送したデータ量が共用メモリ240に格納されている領域のデータ量に達したかを判断する。割込みプログラム実行部321は、転送したデータ量が共用メモリ240に格納されている領域のデータ量に達した場合、S403に進む。一方、割込みプログラム実行部321は、転送したデータ量が共用メモリ240に格納されている領域のデータ量に達していない場合、S401に戻り、波形データ列の転送を継続する。
S403で、割込みプログラム実行部321は、内部メモリ330から転送したデータ量が予め決められたデータ量に達したかを判断する。割込みプログラム実行部321は、内部メモリ330から転送したデータ量が予め決められたデータ量に達した場合、S404に進む。一方、割込みプログラム実行部321は、内部メモリ330から転送したデータ量が予め決められたデータ量に達していない場合、割込みプログラムを終了する。
S404で、割込みプログラム実行部321は、外部メモリ400から波形データ列を読み出して内部メモリ330に格納し、割込みプログラムを終了する。なお、PLCシステムが外部メモリ400を備えない場合、S403とS404を省略する。
なお、S401で、波形データ列一時記憶領域241の転送領域へ波形データ列を転送する方式は、波形データ列を1点ずつ転送しても良いし、複数点まとめて転送しても良い。
以上述べたように、この実施の形態におけるD/A変換装置200にあっては、サンプリング周期がサイクリック処理の周期よりも短い場合であっても、D/A変換部230のサンプリング速度を落とさずに波形出力が可能であり、大容量の波形データ列をCPU装置300の内部メモリ330から読み出せる。また、波形データ列一時記憶領域241実行領域及び転送領域の他に、マージン領域を設けることにより、CPU装置300の演算部320が波形データ列取得要求通知に対する割込みプログラムよりも優先度の高いプログラムを実行している場合であっても、転送領域に格納されているデータを再出力してしまうことを防げる。さらに、PLCシステムが外部メモリ400を備える場合、外部メモリ400からCPU装置300の内部メモリ330に波形データ列を転送するので、D/A変換装置200の共用メモリ240の容量に依存することなく、高速かつ大容量の波形出力を実行できる。
また、この実施の形態におけるD/A変換装置200にあっては、デジタルデータをアナログデータに変換するD/A変換部230と、第一及び第二の領域に分割されD/A変換部230に変換されるデジタルデータを格納するリングバッファ構造の波形データ列一時記憶領域241を備える共用メモリ240と、第一及び第二の領域それぞれにD/A変換部230に変換されるデジタルデータが格納されている場合に波形データ列一時記憶領域241の第一の領域に格納されているデジタルデータをD/A変換部230へ出力させ、当該出力したデジタルデータのデータ量が第一の領域に割り当てられたデータ量と一致した場合に、第一の領域にD/A変換部230により新たに変換されるデジタルデータを書き込み可能にするとともに第二の領域に格納されているデジタルデータをD/A変換部230へ出力させる制御部222とを備える。これにより、D/A変換を継続しながらCPU装置300の内部メモリ330から転送された波形データ列を転送領域に格納できるので、高速D/A変換を継続して実行することができる。
また、この実施の形態におけるD/A変換装置200にあっては、波形データ列一時記憶領域241は、第一、第二及び第三の領域に分割され、第一、第二及び第三の領域それぞれにD/A変換部230に変換されるデジタルデータを格納し、制御部222は、第二の領域に格納されているデジタルデータをD/A変換部230へ出力し終えたときに第一の領域へD/A変換部230により新たに変換されるデジタルデータの格納を行っている場合に、第二の領域にD/A変換部230により新たに変換されるデジタルデータを書き込み可能にするとともに第一の領域へのD/A変換部230により新たに変換されるデジタルデータの格納を継続し第三の領域に格納されているデジタルデータをD/A変換部230へ出力させる。これにより、実行領域に格納されている波形データ列をD/A変換部230へ出力し終えたときにCPU装置300の内部メモリ330から転送領域への波形データ列の転送が完了していない場合に、制御部222は、マージン領域に格納されているデータをD/A変換部230へ出力するので、D/A変換済みの波形データ列を再出力する恐れがなくなる。
また、この実施の形態におけるD/A変換装置200にあっては、制御部222は、記憶部に、波形データ列一時記憶領域241を構成する各領域に割り当てられたデータ量及びD/A変換部230に変換されるデジタルデータが最後に出力されたアドレスを格納させ、波形データ列一時記憶領域241のいずれかの領域に格納されたデジタルデータを出力し終えた場合に、当該領域へのデジタルデータの取得要求と当該領域に割り当てられたデータ量とD/A変換部230に変換されるデジタルデータが最後に出力されたアドレスとを出力する。これにより、CPU装置300は、制御部222から通知された情報に基づいて、波形データ列を転送できる。
また、この実施の形態におけるD/A変換装置200にあっては、波形データ列一時記憶領域241のいずれかの領域から出力されたデジタルデータのデータ量をカウントするカウンタ221を備え、制御部222は、カウンタ221のカウント値が当該領域に割り当てられたデータ量と一致した場合に、カウント値をリセットする。これにより、制御部222は、カウンタ221のカウント値が予め決められた値に達した場合に、CPU装置300に対し波形データ列の取得要求を通知することができる。
また、この発明に係るPLC1000にあっては、実施の形態1に記載のA/D変換装置100と、実施の形態2に記載のD/A変換装置200と、デジタルデータを格納する内部メモリ330を備え、A/D変換装置100がA/D変換装置100のログデータ一時記憶領域141に格納されているデジタルデータを出力すると当該デジタルデータを内部メモリ330に格納し、D/A変換装置200の波形データ列一時記憶領域241に格納するデジタルデータを内部メモリ330から出力するCPU装置300とを備える。これにより、PLC1000は、高速A/D変換を継続して実行しながらログデータを取得でき、かつ、高速D/A変換を継続して実行しながら波形データ列を出力できる。
なお、波形データ列一時記憶領域241は、3つ以上の領域に分割されるとしたが、2つの領域に分割されても良い。この場合、制御部222は、波形データ列一時記憶領域241の一方の領域に格納される波形データ列を出力させながら、他方の領域にCPU装置300の内部メモリ330から取得した波形データ列を格納させられる。これにより、サンプリング周期とサイクリック処理の周期との差の影響を受けることなく高速かつ大容量の波形出力が可能になる。
なお、内部メモリ330は、波形データ列一時記憶領域241と同様のリングバッファ構造としても良い。この場合、演算部320は、外部メモリ400から内部メモリ330へ格納した波形データ列が最後尾に到達したとき、ラップアラウンドして再び先頭アドレスから波形データ列を上書きする。
なお、D/A変換装置200は、一つのリングバッファ構造のメモリを波形データ列一時記憶領域241として備えるとしたが、これに限らない。D/A変換装置200は、一般的に、出力チャネルを複数備えるため、複数のリングバッファ構造のメモリを実装し、並列に処理を行っても良い。
なお、サンプリング周期がサイクリック処理の周期より長くてもシステムが満足する場合、割込みプログラムを使用せずに、CPU装置300のサイクリック処理の周期毎にデータの転送を行っても良い。この場合、図9における、S301及びS307からS310及びS108の処理を省略しても良い。
100 A/D変換装置、110 演算部、120 入力演算器、121 カウンタ、122 制御部、124 デジタル値入力部、130 A/D変換部、140 共用メモリ、141 ログデータ一時記憶領域、150 バスI/F、200 D/A変換装置、210 演算部、220 出力演算器、221 カウンタ、222 制御部、224 デジタル値出力部230 D/A変換部、240 共用メモリ、241 波形データ列一時記憶領域、300 CPU装置、310 外部メモリI/F、320 演算部、321 割込みプログラム実行部、330 内部メモリ、340 周辺装置I/F、350 バスI/F、400 外部メモリ、500 ユニット間バス、1000 PLC、2000 周辺装置
この発明の第一の発明に係るA/D変換装置は、アナログデータをデジタルデータに変換するA/D変換部と、記A/D変換部による変換後のデジタルデータを格納する一時記憶領域を備える記憶部と、前記A/D変換部による変換後のデジタルデータを前記一時記憶領域に格納させ、当該格納したデジタルデータを格納した順に出力するとともに前記デジタルデータが格納されていないアドレスに前記A/D変換部により新たに変換されたデジタルデータを格納させる制御部とを備える。
また、第二の発明に係るD/A変換装置は、デジタルデータをアナログデータに変換するD/A変換部と、前記D/A変換部に変換されるデジタルデータを格納する一時記憶領域を備える記憶部と、前記一時記憶領域に前記D/A変換部に変換されるデジタルデータが格納されている場合に、当該デジタルデータを前記D/A変換部へ出力させるとともに前記D/A変換部へ出力したデジタルデータが格納されているアドレスに前記D/A変換部により新たに変換されるデジタルデータを書き込む制御部とを備える。
S305で、制御部222は、デジタル値出力部224に対し、波形データ列一時記憶領域241の実行領域から波形データ列を読み出し、D/A変換部230へ出力するよう制御する。実行領域に格納されている波形データ列がまだ読み出されていない場合、デジタル値出力部224は、実行領域の先頭アドレスに格納されている波形データ列を読み出してD/A変換部230へ出力させる。実行領域に格納されている波形データ列の一部が読み出されている場合、デジタル値出力部224は、最後に読み出された波形データ列の次のアドレスに格納されている波形データ列を読み出してD/A変換部230へ出力させ。なお、1アドレスには、1ワードの波形データ列が格納されている。
この発明の第一の発明に係るA/D変換装置は、アナログデータをデジタルデータに変換するA/D変換部と、前記A/D変換部による変換後のデジタルデータを格納する一時記憶領域を備える記憶部と、前記A/D変換部による変換後のデジタルデータを前記一時記憶領域に格納させ、前記一時記憶領域に格納されているデジタルデータを転送させる制御部とを備え、前記制御部は、前記一時記憶領域のうち前記A/D変換部による変換後のデジタルデータを最後に格納したアドレスの次のアドレスに前記A/D変換部により新たに変換されたデジタルデータを格納させるとともに、前記一時記憶領域に格納されかつ転送されていないデジタルデータのうち最初に格納されたデジタルデータを転送させる
また、第二の発明に係るD/A変換装置は、デジタルデータをアナログデータに変換するD/A変換部と、前記D/A変換部に変換されるデジタルデータを格納する一時記憶領域を備える記憶部と、前記一時記憶領域に前記D/A変換部に変換されるデジタルデータが格納されている場合に、当該デジタルデータを前記D/A変換部へ出力を継続させながら前記D/A変換部へすでに出力されているデジタルデータが格納されているアドレスに新たに読み出したデジタルデータを書き込む制御部とを備える。

Claims (9)

  1. アナログデータをデジタルデータに変換するA/D変換部と、
    第一及び第二の領域に分割され前記A/D変換部による変換後のデジタルデータを格納するリングバッファ構造の一時記憶領域を備える記憶部と、
    前記A/D変換部による変換後のデジタルデータを前記一時記憶領域の前記第一の領域に格納させ当該格納したデジタルデータのデータ量が前記第一の領域に割り当てられたデータ量と一致した場合に、前記第一の領域に格納されているデジタルデータを出力可能にするとともに前記A/D変換部により新たに変換されたデジタルデータを前記第二の領域に格納させる制御部と
    を備えるA/D変換装置。
  2. 前記一時記憶領域は、第一、第二及び第三の領域に分割され、
    前記制御部は、前記第二の領域に格納したデジタルデータのデータ量が前記第二の領域に割り当てられたデータ量と一致したときに前記第一の領域に格納されているデジタルデータを出力している場合に、前記第二の領域に格納されているデジタルデータを出力可能にするとともに前記第一の領域に格納されているデジタルデータの出力を継続し前記A/D変換部により新たに変換されたデジタルデータを前記第三の領域に格納させる請求項1に記載のA/D変換装置。
  3. 前記制御部は、前記記憶部に、前記一時記憶領域を構成する各領域に割り当てられたデータ量及び前記A/D変換部による変換後のデジタルデータが最後に格納されたアドレスを格納させ、前記一時記憶領域のいずれかの領域に格納されたデジタルデータのデータ量が当該領域に割り当てられたデータ量と一致した場合に、当該領域に格納されているデジタルデータの取出要求と当該領域に割り当てられたデータ量と前記A/D変換部による変換後のデジタルデータが最後に格納されたアドレスとを出力する請求項1または請求項2に記載のA/D変換装置。
  4. 前記一時記憶領域のいずれかの領域に格納されたデジタルデータのデータ量をカウントするカウンタを備え、
    前記制御部は、前記カウンタのカウント値が当該領域に割り当てられたデータ量と一致した場合に、前記カウント値をリセットする請求項1から請求項3のいずれか一項に記載のA/D変換装置。
  5. デジタルデータをアナログデータに変換するD/A変換部と、
    第一及び第二の領域に分割され前記D/A変換部に変換されるデジタルデータを格納するリングバッファ構造の一時記憶領域を備える記憶部と、
    前記第一及び前記第二の領域それぞれに前記D/A変換部に変換されるデジタルデータが格納されている場合に前記一時記憶領域の前記第一の領域に格納されているデジタルデータを前記D/A変換部へ出力させ、当該出力したデジタルデータのデータ量が前記第一の領域に割り当てられたデータ量と一致した場合に、前記第一の領域に前記D/A変換部により新たに変換されるデジタルデータを書き込み可能にするとともに前記第二の領域に格納されているデジタルデータを前記D/A変換部へ出力させる制御部と
    を備えるD/A変換装置。
  6. 前記一時記憶領域は、第一、第二及び第三の領域に分割され、前記第一、第二及び第三の領域それぞれに前記D/A変換部に変換されるデジタルデータを格納し、
    前記制御部は、前記第二の領域に格納されているデジタルデータを前記D/A変換部へ出力し終えたときに前記第一の領域へ前記D/A変換部により新たに変換されるデジタルデータの格納を行っている場合に、
    前記第二の領域に前記D/A変換部により新たに変換されるデジタルデータを書き込み可能にするとともに前記第一の領域への前記D/A変換部により新たに変換されるデジタルデータの格納を継続し前記第三の領域に格納されているデジタルデータを前記D/A変換部へ出力させる請求項5に記載のD/A変換装置。
  7. 前記制御部は、前記記憶部に、前記一時記憶領域を構成する各領域に割り当てられたデータ量及び前記D/A変換部に変換されるデジタルデータが最後に出力されたアドレスを格納させ、前記一時記憶領域のいずれかの領域に格納されたデジタルデータを出力し終えた場合に、当該領域へのデジタルデータの取得要求と当該領域に割り当てられたデータ量と前記D/A変換部に変換されるデジタルデータが最後に出力されたアドレスとを出力する請求項5または請求項6に記載のD/A変換装置。
  8. 前記一時記憶領域のいずれかの領域から出力されたデジタルデータのデータ量をカウントするカウンタを備え、
    前記制御部は、前記カウンタのカウント値が当該領域に割り当てられたデータ量と一致した場合に、前記カウント値をリセットする請求項5から請求項7のいずれか一項に記載のD/A変換装置。
  9. 請求項1から請求項4のいずれか1項に記載のA/D変換装置と、
    請求項5から請求項8のいずれか1項に記載のD/A変換装置と、
    デジタルデータを格納する内部メモリを備え、前記A/D変換装置が前記A/D変換装置の一時記憶領域に格納されているデジタルデータを出力すると当該デジタルデータを前記内部メモリに格納し、前記D/A変換装置の一時記憶領域に格納するデジタルデータを前記内部メモリから出力するCPU装置と
    を備えるPLC。
JP2015553699A 2015-01-30 2015-01-30 A/d変換装置、d/a変換装置、及びplc Active JP5987203B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/000417 WO2016120906A1 (ja) 2015-01-30 2015-01-30 A/d変換装置、d/a変換装置、及びplc

Publications (2)

Publication Number Publication Date
JP5987203B1 JP5987203B1 (ja) 2016-09-07
JPWO2016120906A1 true JPWO2016120906A1 (ja) 2017-04-27

Family

ID=56542574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015553699A Active JP5987203B1 (ja) 2015-01-30 2015-01-30 A/d変換装置、d/a変換装置、及びplc

Country Status (6)

Country Link
JP (1) JP5987203B1 (ja)
KR (1) KR101781324B1 (ja)
CN (1) CN107210750A (ja)
DE (1) DE112015006089T5 (ja)
TW (1) TW201633168A (ja)
WO (1) WO2016120906A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7067260B2 (ja) * 2018-05-18 2022-05-16 オムロン株式会社 制御装置及びデータ記録方法
JP6625278B1 (ja) 2018-11-22 2019-12-25 三菱電機株式会社 入出力制御ユニット、plc及びデータ制御方法
JP7358772B2 (ja) * 2019-05-09 2023-10-11 オムロン株式会社 制御装置、制御方法、制御プログラム
CN111313220A (zh) * 2020-04-15 2020-06-19 武汉博联特科技有限公司 基于三菱plc的qcw激光器控制系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289847A (ja) * 1992-04-06 1993-11-05 Toshiba Corp リングバッファ管理装置
JP3569592B2 (ja) * 1996-02-20 2004-09-22 ヤマハ株式会社 符復号装置
JP2959519B2 (ja) * 1997-04-24 1999-10-06 日本電気株式会社 グラフィックス表示装置
JP2002042422A (ja) * 2000-07-19 2002-02-08 Sharp Corp ディスク再生装置
JP2002374167A (ja) * 2001-06-12 2002-12-26 Nissin Electric Co Ltd 監視制御のアナログ入力装置
JP4969315B2 (ja) * 2007-05-18 2012-07-04 株式会社キーエンス プログラマブルコントローラ
CN101632068B (zh) * 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
CN201345098Y (zh) * 2009-02-27 2009-11-11 武汉中岩科技有限公司 一种同时读写存储器的数据采集装置
CN102362232B (zh) * 2009-03-23 2014-10-29 三菱电机株式会社 A/d变换装置以及可编程控制器系统
JP5327395B2 (ja) * 2010-09-28 2013-10-30 三菱電機株式会社 D/a変換装置、周辺装置、及びplc
US20130304402A1 (en) * 2011-01-21 2013-11-14 Mitsubishi Electric Corporation Analog input unit and programmable controller
CN102157914B (zh) * 2011-04-02 2014-03-12 山东电力研究院 一种新的继电保护装置的半波快速检测方法

Also Published As

Publication number Publication date
DE112015006089T5 (de) 2017-10-19
WO2016120906A1 (ja) 2016-08-04
CN107210750A (zh) 2017-09-26
TW201633168A (zh) 2016-09-16
JP5987203B1 (ja) 2016-09-07
KR20170093986A (ko) 2017-08-16
KR101781324B1 (ko) 2017-09-22

Similar Documents

Publication Publication Date Title
JP5987203B1 (ja) A/d変換装置、d/a変換装置、及びplc
JP5459325B2 (ja) キャッシュ装置、キャッシュプログラム、及び通信装置
KR102161448B1 (ko) 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법
CN108292277B (zh) 用于存储器存取命令的传送描述符
DE102011086098A1 (de) Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle
JP7216781B2 (ja) データ記憶方法、データ記憶装置、データ読み取り方法及びデータ読み取り装置
JP6470955B2 (ja) プログラマブルコントローラ及びプログラマブルコントローラの拡張ユニット
WO2016070668A1 (zh) 一种实现数据格式转换的方法、装置及计算机存储介质
JP2016045899A (ja) データ転送制御装置
CN114003375A (zh) 一种芯片采样控制方法、装置、系统、设备及存储介质
JP2008046771A (ja) ダイレクトメモリアクセスコントローラ
CN110968538B (zh) 一种数据缓冲方法和装置
JP6498557B2 (ja) プログラマブルコントローラ
JP2018132948A (ja) 読込プログラム、読込方法および情報処理装置
US20150278113A1 (en) Data transfer control device and memory-containing device
US20150058532A1 (en) Memory device, information-processing device and information-processing method
JP5404294B2 (ja) データ演算装置の制御回路及びデータ演算装置
JP4170330B2 (ja) 情報処理装置
JP2009157441A (ja) 情報処理装置、ファイル再配置方法およびプログラム
JP2015185103A (ja) 記憶装置、情報処理装置、データアクセス方法、およびプログラム
JP7180681B2 (ja) 情報処理装置、制御方法、及びプログラム
JP5850724B2 (ja) データ処理装置およびその制御方法
JP2014142757A (ja) インターフェース制御装置、データ記憶装置及びインターフェース制御方法
JP2013200802A (ja) 半導体記憶装置
JP6631063B2 (ja) 電子装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160718

R151 Written notification of patent or utility model registration

Ref document number: 5987203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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