KR101781324B1 - A/d 변환장치, d/a 변환장치, 및 plc - Google Patents

A/d 변환장치, d/a 변환장치, 및 plc Download PDF

Info

Publication number
KR101781324B1
KR101781324B1 KR1020177020860A KR20177020860A KR101781324B1 KR 101781324 B1 KR101781324 B1 KR 101781324B1 KR 1020177020860 A KR1020177020860 A KR 1020177020860A KR 20177020860 A KR20177020860 A KR 20177020860A KR 101781324 B1 KR101781324 B1 KR 101781324B1
Authority
KR
South Korea
Prior art keywords
area
data
digital data
stored
converter
Prior art date
Application number
KR1020177020860A
Other languages
English (en)
Other versions
KR20170093986A (ko
Inventor
도미히토 고토
사토루 우케나
Original Assignee
미쓰비시덴키 가부시키가이샤
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 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20170093986A publication Critical patent/KR20170093986A/ko
Application granted granted Critical
Publication of KR101781324B1 publication Critical patent/KR101781324B1/ko

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)와, 제1 및 제2 영역으로 분할되는 일시기억영역(141, 241)을 구비하는 공용메모리(140, 240)와, 상기 일시기억영역(141, 241)에 있어서, 미리 결정된 데이터량의 액세스가 있었을 경우에, 당해 액세스가 있던 어드레스에 격납되는 데이터를 출력시키는 제어부(122) 또는 당해 어드레스에 새로운 데이터를 격납시키는 제어부(222)를 구비한다.

Description

A/D 변환장치, D/A 변환장치, 및 PLC
본 발명은 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 변환장치의 기억부의 용량에 의존하는 일 없이, 고속 및 대용량의 로깅(logging)이 가능하며, 또한, D/A 변환장치의 공용메모리의 용량에 의존하는 일 없이 고속 및 대용량의 파형 출력이 가능한 PLC를 얻는다.
본 발명의 제1 발명에 따른 A/D 변환장치는 아날로그 데이터를 디지털 데이터로 변환하는 A/D 변환부와, 제1 및 제2 영역으로 분할되어 상기 A/D 변환부에 의한 변환 후의 디지털 데이터를 격납하는 링 버퍼 구조의 일시기억영역을 구비하는 기억부와, 상기 A/D 변환부에 의한 변환 후의 디지털 데이터를 상기 일시기억영역의 상기 제1 영역에 격납시켜 당해 격납한 디지털 데이터의 데이터량이 상기 제1 영역에 할당된 데이터량과 일치했을 경우에, 상기 제1 영역에 격납되어 있는 디지털 데이터를 출력 가능하게 하는 것과 함께 상기 A/D 변환부에 의해 새로 변환된 디지털 데이터를 상기 제2 영역에 격납시키는 제어부를 구비한다.
또한, 제2 발명에 따른 D/A 변환장치는 디지털 데이터를 아날로그 데이터로 변환하는 D/A 변환부와, 제1 및 제2 영역으로 분할되어 상기 D/A 변환부로 변환되는 디지털 데이터를 격납하는 링 버퍼 구조의 일시기억영역을 구비하는 기억부와, 상기 제1 및 상기 제2 영역 각각에 상기 D/A 변환부로 변환되는 디지털 데이터가 격납되어 있는 경우에 상기 일시기억영역의 상기 제1 영역에 격납되어 있는 디지털 데이터를 상기 D/A 변환부에 출력시켜, 당해 출력한 디지털 데이터의 데이터량이 상기 제1 영역에 할당된 데이터량과 일치했을 경우에, 상기 제1 영역에 상기 D/A 변환부에 의해 새로 변환되는 디지털 데이터를 기입 가능하게 하는 것과 함께 상기 제2 영역에 격납되어 있는 디지털 데이터를 상기 D/A 변환부에 출력시키는 제어부를 구비한다.
또한, 제3 발명에 따른 PLC는 제1 발명에 따른 A/D 변환장치와, 제2 발명에 따른 D/A 변환장치와, 디지털 데이터를 격납하는 내부메모리를 구비하고, 상기 A/D 변환장치가 상기 A/D 변환장치의 일시기억영역에 격납되어 있는 디지털 데이터를 출력하면 당해 디지털 데이터를 상기 내부메모리에 격납하고, 상기 D/A 변환장치의 일시기억영역에 격납하는 디지털 데이터를 상기 내부메모리로부터 출력하는 CPU 장치를 구비한다.
본 발명의 제1 발명에 의하면, A/D 변환한 디지털 데이터를 기억부에 격납하면서, 기억부에 격납되어 있는 디지털 데이터를 CPU 장치에 전송할 수 있으므로, 고속 A/D 변환을 계속해서 실행할 수 있다.
또한, 제2 발명에 의하면, CPU 장치로부터 D/A 변환하는 디지털 데이터를 기억부에 전송하면서, 기억부에 격납되어 있는 디지털 데이터를 D/A 변환할 수 있으므로, 고속 D/A 변환을 계속해서 실행할 수 있다.
또한, 제3 발명에 의하면, A/D 변환장치의 기억부의 용량에 의존하는 일 없이, 고속 및 대용량의 로깅이 가능하며, 또한, D/A 변환장치의 기억부의 용량에 의존하는 일 없이 고속 및 대용량의 파형 출력이 가능한 PLC를 얻을 수 있다.
도 1은 본 발명에 따른 PLC 시스템의 구성도이다.
도 2는 본 발명의 실시 형태 1을 나타내는 A/D 변환장치의 구성도이다.
도 3은 본 발명의 실시 형태 1을 나타내는 A/D 변환장치의 로그 데이터 일시기억영역 및 로그 데이터 일시기억영역에 격납되는 데이터의 구조를 나타내는 도면이다.
도 4는 본 발명의 실시 형태 1을 나타내는 A/D 변환장치의 제어부의 동작을 나타내는 순서도이다.
도 5는 본 발명의 실시 형태 1을 나타내는 로그 데이터 일시기억영역의 상태 천이를 설명하는 도면이다.
도 6은 본 발명의 실시 형태 1을 나타내는 인터럽트 프로그램 실행부의 동작을 나타내는 순서도이다.
도 7은 본 발명의 실시 형태 2를 나타내는 D/A 변환장치의 구성도이다.
도 8은 본 발명의 실시 형태 2를 나타내는 D/A 변환장치의 파형 데이터열 일시기억영역 및 파형 데이터열 일시기억영역에 격납되는 데이터의 구조를 나타내는 도면이다.
도 9는 본 발명의 실시 형태 2를 나타내는 D/A 변환장치의 제어부의 동작을 나타내는 순서도이다.
도 10은 본 발명의 실시 형태 2를 나타내는 파형 데이터열 일시기억영역의 상태 천이를 설명하는 도면이다.
도 11은 본 발명의 실시 형태 2를 나타내는 인터럽트 프로그램 실행부의 동작을 나타내는 순서도이다.
실시 형태 1.
도 1은 본 발명에 따른 PLC 시스템의 구성도이다. PLC 시스템은 PLC(1000) 및 주변장치(2000)를 구비한다. PLC(1000)는 적어도 A/D 변환장치(100), D/A 변환장치(200) 및 CPU 장치(300)를 구비한다. PLC(1000)는, 예를 들면, 외부메모리(400), 외부 기기의 입출력 제어를 실현하는 I/O 제어장치, PLC 네트워크를 실현하기 위한 네트워크 통신장치 등을 구비하고 있어도 된다. PLC(1000)가 구비하는 각 장치는 서로 유닛간 버스(500)를 통해서 접속된다. 주변장치(2000)는 예를 들면 퍼스널 컴퓨터이며, 유저 프로그램의 설정 또는 내부메모리(330)의 데이터 상태의 표시 등을 행한다.
D/A 변환장치(200)는 PLC(1000)가 제어 대상으로 하는 산업용 기기 등에 대해, 전류값이나 전압값 등의 아날로그 데이터의 출력을 행한다.
CPU 장치(300)는 유저 프로그램, 유저 프로그램의 실행에 필요로 되는 데이터, 및 유저 프로그램의 실행 결과인 데이터를 격납하는 외부메모리(400)에 액세스하기 위한 인터페이스인 외부메모리 I/F(310)와, 유저 프로그램의 실행이나 CPU 장치(300) 전체의 제어를 실행하는 연산부(320)와, 유저 프로그램의 실행에 필요로 되는 데이터, 유저 프로그램의 실행 결과, 로그 데이터를 격납하기 위한 메모리인 내부메모리(330)와, 주변장치(2000)를 접속하기 위한 인터페이스인 주변장치 I/F(340)와, 유닛간 버스(500)를 통해서 접속한 장치와 통신을 행하기 위한 통신 인터페이스인 버스 I/F(350)를 구비한다. 연산부(320)는 인터럽트 프로그램을 실행하는 인터럽트 프로그램 실행부(321)를 구비한다.
CPU 장치(300)는 PLC(1000)가 구비하는 각 장치를 동작시켜 산업용 기기를 제어하기 위한 프로그램인 유저 프로그램의 실행과, 실행 결과의 출력과, 유저 프로그램이 사용하는 값 등의 입력값 취득을 소정의 주기로 반복한다. 이 반복 동작은 사이클릭(cyclic) 처리라고 불린다.
도 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/F(150)를 구비한다. 입력 연산기(120)는 카운터(121), 제어부(122), 파라미터 격납영역(123), 디지털값 입력부(124)를 구비한다. 공용메모리(140)는 기억부이다. A/D 변환장치(100)는 PLC(1000)가 제어 대상으로 하는 산업용 기기 등에 관한 여러 가지의 관측치, 예를 들면 유량, 압력, 온도 등을 관측하여 전류값이나 전압값으로서 출력하는 센서로부터의 아날로그 데이터의 입력을 접수하고, 당해 아날로그 데이터를 디지털 데이터로 변환하여, 내부에 구비하는 공용메모리(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/F(340)를 통해서 주변장치(2000)로 읽어낼 수 있다.
로그 데이터 일시기억영역(141)은 링 버퍼 구조로 되어 있다. 즉, 로그 데이터 일시기억영역(141)에는 로그 데이터가 선두 어드레스로부터 차례로 시계열순으로 기입된다. 그리고, 로그 데이터의 격납 어드레스가 최후미에 도달하면, 랩어라운드(wraparound)하여 다시 선두 어드레스로부터 로그 데이터가 덮어쓰기 된다.
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/F(150), 유닛간 버스(500) 및 버스 I/F(350)를 통해서, CPU 장치(300)의 연산부(320)에 통지한다. 또한, 제어부(122)는 영역 (a)에 할당된 데이터량, 및 로그 데이터 일시기억영역(141)에 있어서 최후에 로그 데이터를 격납한 어드레스도, CPU 장치(300)의 연산부(320)에 통지한다. 연산부(320)는 당해 통지를 받으면, 인터럽트 프로그램 실행부(321)에 의해, 인터럽트 프로그램을 실행시킨다. 연산부(320)는, 당해 인터럽트 프로그램에 의해, 로그 데이터 일시기억영역(141)의 전송영역에 격납되어 있는 로그 데이터를 내부메모리(330)에 읽어낸다.
상기 절차를 반복 실행함으로써, 샘플링 주기와 사이클릭 처리의 주기의 차이의 영향을 받는 일 없이 고속 및 대용량의 로그 데이터를 내부메모리(330)에 읽어낼 수 있다. 내부메모리(330)는 일반적으로 A/D 변환장치(100)의 공용메모리(140)보다 큰 영역을 가진다. 그렇지만, 더욱 로깅 용량을 확대하기 위해, 내부메모리(330)에 일정량의 로그 데이터가 격납된 시점에서, 외부메모리 I/F(310)를 통해 외부메모리(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)은 제1 영역, 제2 영역, 제3 영역, 및 제4 영역의 4개의 영역으로 분할되어, 제1 영역에의 로그 데이터의 격납이 완료된 상태를 나타내고 있다.
도 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)의 카운트값을 클리어(clear)하고, 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)와, 제1 및 제2 영역으로 분할되어 A/D 변환부(130)에 의한 변환 후의 디지털 데이터를 격납하는 링 버퍼 구조의 로그 데이터 일시기억영역(141)을 구비하는 공용메모리(140)와, A/D 변환부(130)에 의한 변환 후의 디지털 데이터를 로그 데이터 일시기억영역(141)의 제1 영역에 격납시켜 당해 격납한 디지털 데이터의 데이터량이 제1 영역에 할당된 데이터량과 일치했을 경우에, 제1 영역에 격납되어 있는 디지털 데이터를 출력 가능하게 하는 것과 함께 A/D 변환부(130)에 의해 새로 변환된 디지털 데이터를 제2 영역에 격납시키는 제어부(122)를 구비한다. 이것에 의해, A/D 변환을 계속하면서 전송영역에 격납되는 로그 데이터를 CPU 장치(300)의 내부메모리(330)에 전송할 수 있으므로, 고속 A/D 변환을 계속해서 실행할 수 있다.
또한, 이 실시 형태에 있어서의 A/D 변환장치(100)에 있어서는, 로그 데이터 일시기억영역(141)은 제1, 제2 및 제3 영역으로 분할되고, 제어부(122)는 제2 영역에 격납한 디지털 데이터의 데이터량이 제2 영역에 할당된 데이터량과 일치했을 때에 제1 영역에 격납되어 있는 디지털 데이터를 출력하고 있는 경우에, 제2 영역에 격납되어 있는 디지털 데이터를 출력 가능하게 하는 것과 함께 제1 영역에 격납되어 있는 디지털 데이터의 출력을 계속하고 A/D 변환부(130)에 의해 새로 변환된 디지털 데이터를 제3 영역에 격납시킨다. 이것에 의해, 실행영역에의 로그 데이터의 격납을 완료했을 때에 전송영역에 격납되어 있는 로그 데이터의 전송이 완료되지 않은 경우에, 제어부(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 시스템에 접속되는 데이터 로거(data logger) 등에 의해, 로그 데이터의 판독이 행해져도 된다.
또한, 샘플링 주기가 사이클릭 처리의 주기보다 길어도 시스템이 만족하는 경우, 인터럽트 프로그램을 사용하지 않고, 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/F(250)를 구비한다. 공용메모리(240)는 기억부이다. D/A 변환장치(200)는 CPU 장치(300) 내에서 처리된 디지털 데이터를 아날로그 데이터로 변환하고, 그 아날로그 데이터 (D/A 변환값)를 PLC(1000)가 제어 대상으로 하는 산업용 기기 등에 출력한다. 공용메모리(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/F(250), 유닛간 버스(500) 및 버스 I/F(350)를 통해서, CPU 장치(300)의 연산부(320)에 통지한다. 또한, 제어부(222)는 실행영역에 할당된 데이터량, 및 파형 데이터열 일시기억영역(241)에 있어서 최후에 파형 데이터열을 출력한 어드레스도, CPU 장치(300)의 연산부(320)에 통지한다. 연산부(320)는 당해 통지를 받으면, 인터럽트 프로그램 실행부(321)에 의해, 인터럽트 프로그램을 실행시킨다. 연산부(320)는, 당해 인터럽트 프로그램에 의해, 내부메모리(330)로부터 파형 데이터열 일시기억영역(241)의 전송영역에 파형 데이터열을 전송한다.
상기 절차를 반복 실행함으로써, 샘플링 주기와 사이클릭 처리의 주기의 차이의 영향을 받는 일 없이 고속 및 대용량의 파형 데이터열을 출력할 수 있다. 내부메모리(330)는 일반적으로 D/A 변환장치(200)의 공용메모리(240)보다 큰 영역을 가진다. 그렇지만, 더욱 출력 파형 용량을 확대하기 위해, 외부메모리(400)에 내부메모리(330)의 용량보다 대용량의 파형 데이터열을 준비해도 된다. 이 경우, 내부메모리(330)로부터 일정량의 파형 데이터열을 전송한 시점에서, 외부메모리 I/F(310)를 통해 외부메모리(400)로부터 연속하는 파형 데이터열을 내부메모리(330)에 전송한다. 여기서, 외부메모리(400)는 전용 메모리여도, SD 메모리카드 및 CF 카드 등의 범용 기억 매체여도 된다.
D/A 변환장치(200)는 파형 출력을 계속해서 실행한다. 이 때문에, CPU 장치(300)가 전송영역에 파형 데이터열의 전송을 끝마치기 전에, 제어부(222)가 실행영역에 격납되는 파형 데이터열의 출력을 끝마친 경우, 파형 데이터열 일시기억영역(241)에 격납되어, 이미 출력되어 있는 파형 데이터열을 재출력해 버릴 가능성이 있다. 이것을 막기 위해, 파형 데이터열 일시기억영역(241)은, 실행영역과 전송영역 외에 마진영역을 구비한다. CPU 장치(300)의 파형 데이터열 전송이 늦어진 경우, 디지털값 출력부(224)는 마진영역에 격납되어 있는 파형 데이터열을 출력한다. 이것에 의해, 파형 데이터열 일시기억영역(241)에 격납되어 있는 파형 데이터열을 재출력해 버리는 것을 막을 수 있다. 또한, 파형 데이터열 일시기억영역(241)을 4 이상의 영역으로 분할했을 경우, 하나의 영역을 실행영역, 다른 하나의 영역을 전송영역, 나머지 복수의 영역을 마진영역으로 한다. 이것에 의해, 마진영역을 확대할 수 있다. 또한, 파형 데이터열 일시기억영역(241)의 분할 수는, 유저가 적당히 변경할 수 있는 구성으로 해도 된다.
다음으로, 도 8 및 도 9에 기초하여, 이 실시 형태에 있어서의 D/A 변환장치(200)에 의한 파형 출력의 절차를 설명한다. 도 9는 이 실시 형태에 있어서의 D/A 변환장치(200)의 제어부(222)의 동작을 나타내는 순서도이다. 도 8은 파형 데이터열 일시기억영역(241)은 제1 영역, 제2 영역, 제3 영역, 및 제4 영역의 4개의 영역으로 분할되어, 제1 영역에 격납된 파형 데이터열의 출력이 완료된 상태를 나타내고 있다.
도 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에 있어서, 제어부(222)는 영역 (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)와, 제1 및 제2 영역으로 분할되어 D/A 변환부(230)로 변환되는 디지털 데이터를 격납하는 링 버퍼 구조의 파형 데이터열 일시기억영역(241)을 구비하는 공용메모리(240)와, 제1 및 제2 영역 각각에 D/A 변환부(230)로 변환되는 디지털 데이터가 격납되어 있는 경우에 파형 데이터열 일시기억영역(241)의 제1 영역에 격납되어 있는 디지털 데이터를 D/A 변환부(230)에 출력시켜, 당해 출력한 디지털 데이터의 데이터량이 제1 영역에 할당된 데이터량과 일치했을 경우에, 제1 영역에 D/A 변환부(230)에 의해 새로 변환되는 디지털 데이터를 기입 가능하게 하는 것과 함께 제2 영역에 격납되어 있는 디지털 데이터를 D/A 변환부(230)에 출력시키는 제어부(222)를 구비한다. 이것에 의해, D/A 변환을 계속하면서 CPU 장치(300)의 내부메모리(330)로부터 전송된 파형 데이터열을 전송영역에 격납할 수 있으므로, 고속 D/A 변환을 계속해서 실행할 수 있다.
또한, 이 실시 형태에 있어서의 D/A 변환장치(200)에 있어서는, 파형 데이터열 일시기억영역(241)은 제1, 제2 및 제3 영역으로 분할되어, 제1, 제2 및 제3 영역 각각에 D/A 변환부(230)로 변환되는 디지털 데이터를 격납하고, 제어부(222)는 제2 영역에 격납되어 있는 디지털 데이터를 D/A 변환부(230)에 출력을 끝마쳤을 때에 제1 영역에 D/A 변환부(230)에 의해 새로 변환되는 디지털 데이터의 격납을 행하고 있는 경우에, 제2 영역에 D/A 변환부(230)에 의해 새로 변환되는 디지털 데이터를 기입 가능하게 하는 것과 함께 제1 영역에의 D/A 변환부(230)에 의해 새로 변환되는 디지털 데이터의 격납을 계속하고 제3 영역에 격납되어 있는 디지털 데이터를 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)에 대해 파형 데이터열의 취득 요구를 통지할 수 있다.
또한, 본 발명에 따른 PLC(1000)에 있어서는, 실시 형태 1에 기재된 A/D 변환장치(100)와, 실시 형태 2에 기재의 D/A 변환장치(200)와, 디지털 데이터를 격납하는 내부메모리(330)를 구비하고, A/D 변환장치(100)가 A/D 변환장치(100)의 로그 데이터 일시기억영역(141)에 격납되어 있는 디지털 데이터를 출력하면 당해 디지털 데이터를 내부메모리(330)에 격납하고, D/A 변환장치(200)의 파형 데이터열 일시기억영역(241)에 격납하는 디지털 데이터를 내부메모리(330)로부터 출력하는 CPU 장치(300)를 구비한다. 이것에 의해, PLC(1000)는 고속 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의 처리를 생략해도 된다.
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 주변장치

Claims (9)

  1. 아날로그 데이터를 디지털 데이터로 변환하는 A/D 변환부와,
    상기 A/D 변환부에 의한 변환 후의 디지털 데이터를 격납하는 일시기억영역을 구비하는 기억부와,
    상기 A/D 변환부에 의한 변환 후의 디지털 데이터를 상기 일시기억영역에 격납시키고, 상기 일시기억영역 중 상기 A/D 변환부에 의한 변환 후의 디지털 데이터를 최후에 격납한 어드레스의 다음 어드레스에 상기 A/D 변환부에 의해 새로 변환된 디지털 데이터를 격납시키는 것과 함께, 상기 일시기억영역에 격납되고 또한 전송되지 않은 디지털 데이터 중 최초로 격납된 디지털 데이터를 전송시키는 제어부를 구비하고,
    상기 일시기억영역은 제1 및 제2 영역으로 분할되고,
    상기 제어부는 상기 A/D 변환부에 의한 A/D 변환 후의 디지털 데이터를 상기 제1 영역에 격납시키고, 당해 격납한 디지털 데이터의 데이터량이 상기 제1 영역에 할당된 데이터량과 일치했을 경우에, 상기 제1 영역에 격납되어 있는 디지털 데이터를 출력 가능하게 하는 것과 함께 상기 A/D 변환부에 의해 새로 변환된 디지털 데이터를 상기 제2 영역에 격납시키는 A/D 변환장치.
  2. 청구항 1에 있어서,
    상기 일시기억영역은 제1, 제2 및 제3 영역으로 분할되고,
    상기 제어부는, 상기 제2 영역에 격납한 디지털 데이터의 데이터량이 상기 제2 영역에 할당된 데이터량과 일치했을 때에 상기 제1 영역에 격납되어 있는 디지털 데이터를 출력하고 있는 경우에, 상기 제2 영역에 격납되어 있는 디지털 데이터를 출력 가능하게 하는 것과 함께 상기 제1 영역에 격납되어 있는 디지털 데이터의 출력을 계속하고 상기 A/D 변환부에 의해 새로 변환된 디지털 데이터를 상기 제3 영역에 격납시키는 A/D 변환장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 제어부는, 상기 기억부에, 상기 일시기억영역을 구성하는 각 영역에 할당된 데이터량 및 상기 A/D 변환부에 의한 변환 후의 디지털 데이터가 최후에 격납된 어드레스를 격납시키고, 상기 일시기억영역 중 어느 영역에 격납된 디지털 데이터의 데이터량이 당해 영역에 할당된 데이터량과 일치했을 경우에, 당해 영역에 격납되어 있는 디지털 데이터의 취출 요구와 당해 영역에 할당된 데이터량과 상기 A/D 변환부에 의한 변환 후의 디지털 데이터가 최후에 격납된 어드레스를 출력하는 A/D 변환장치.
  4. 디지털 데이터를 아날로그 데이터로 변환하는 D/A 변환부와,
    상기 D/A 변환부로 변환되는 디지털 데이터를 격납하는 일시기억영역을 구비하는 기억부와,
    상기 일시기억영역에 상기 D/A 변환부로 변환되는 디지털 데이터가 격납되어 있는 경우에, 당해 디지털 데이터를 상기 D/A 변환부에의 출력을 계속하면서 상기 D/A 변환부에 이미 출력되어 있는 디지털 데이터가 격납되어 있는 어드레스에 새로 읽어낸 디지털 데이터를 기입하는 제어부를 구비하고,
    상기 일시기억영역은 제1 및 제2 영역으로 분할되고,
    상기 제어부는 상기 제1 및 상기 제2 영역 각각에 상기 D/A 변환부로 변환되는 디지털 데이터가 격납되어 있는 경우에 상기 일시기억영역의 상기 제1 영역에 격납되어 있는 디지털 데이터를 상기 D/A 변환부에 출력시키고, 당해 출력한 디지털 데이터의 데이터량이 상기 제1 영역에 할당된 데이터량과 일치했을 경우에, 상기 제1 영역에 상기 D/A 변환부에 의해 새로 변환되는 디지털 데이터를 기입 가능하게 하는 것과 함께 상기 제2 영역에 격납되어 있는 디지털 데이터를 상기 D/A 변환부에 출력시키는 D/A 변환장치.
  5. 청구항 4에 있어서,
    상기 일시기억영역은 제1, 제2 및 제3 영역으로 분할되어, 상기 제1, 제2 및 제3 영역 각각에 상기 D/A 변환부로 변환되는 디지털 데이터를 격납하고,
    상기 제어부는, 상기 제2 영역에 격납되어 있는 디지털 데이터를 상기 D/A 변환부에 출력을 끝마쳤을 때에 상기 제1 영역에 상기 D/A 변환부에 의해 새로 변환되는 디지털 데이터의 격납을 행하고 있는 경우에,
    상기 제2 영역에 상기 D/A 변환부에 의해 새로 변환되는 디지털 데이터를 기입 가능하게 하는 것과 함께 상기 제1 영역에의 상기 D/A 변환부에 의해 새로 변환되는 디지털 데이터의 격납을 계속하고 상기 제3 영역에 격납되어 있는 디지털 데이터를 상기 D/A 변환부에 출력시키는 D/A 변환장치.
  6. 청구항 4 또는 청구항 5에 있어서,
    상기 제어부는, 상기 기억부에, 상기 일시기억영역을 구성하는 각 영역에 할당된 데이터량 및 상기 D/A 변환부로 변환되는 디지털 데이터가 최후에 출력된 어드레스를 격납시키고, 상기 일시기억영역 중 어느 영역에 격납된 디지털 데이터의 출력을 끝마친 경우에, 당해 영역에의 디지털 데이터의 취득 요구와 당해 영역에 할당된 데이터량과 상기 D/A 변환부로 변환되는 디지털 데이터가 최후에 출력된 어드레스를 출력하는 D/A 변환장치.
  7. 청구항 1에 기재된 A/D 변환장치와,
    청구항 4에 기재된 D/A 변환장치와,
    디지털 데이터를 격납하는 내부메모리를 구비하고, 상기 A/D 변환장치가 상기 A/D 변환장치의 일시기억영역에 격납되어 있는 디지털 데이터를 출력하면 당해 디지털 데이터를 상기 내부메모리에 격납하고, 상기 D/A 변환장치의 일시기억영역에 격납하는 디지털 데이터를 상기 내부메모리로부터 출력하는 CPU 장치를 구비하는 PLC.
  8. 삭제
  9. 삭제
KR1020177020860A 2015-01-30 2015-01-30 A/d 변환장치, d/a 변환장치, 및 plc KR101781324B1 (ko)

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
KR20170093986A KR20170093986A (ko) 2017-08-16
KR101781324B1 true KR101781324B1 (ko) 2017-09-22

Family

ID=56542574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177020860A KR101781324B1 (ko) 2015-01-30 2015-01-30 A/d 변환장치, d/a 변환장치, 및 plc

Country Status (6)

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

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 オムロン株式会社 制御装置及びデータ記録方法
WO2020105173A1 (ja) 2018-11-22 2020-05-28 三菱電機株式会社 データ制御装置、プログラマブルロジックコントローラ及びデータ制御方法
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 武汉中岩科技有限公司 一种同时读写存储器的数据采集装置
WO2010109584A1 (ja) * 2009-03-23 2010-09-30 三菱電機株式会社 A/d変換装置およびプログラマブルコントローラシステム
US8963756B2 (en) * 2010-09-28 2015-02-24 Mitsubishi Electric Corporation D/A converter, peripheral device, and PLC
DE112011104749T5 (de) * 2011-01-21 2013-11-07 Mitsubishi Electric Corporation Analogeingabeeinheit und programmierbare Steuereinrichtung
CN102157914B (zh) * 2011-04-02 2014-03-12 山东电力研究院 一种新的继电保护装置的半波快速检测方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101781324B1 (ko) A/d 변환장치, d/a 변환장치, 및 plc
US9934160B1 (en) Bit-mapped DMA and IOC transfer with dependency table comprising plurality of index fields in the cache for DMA transfer
US6782465B1 (en) Linked list DMA descriptor architecture
CN104360967B (zh) 存储器系统、主机控制器以及dma的控制方法
CN102004711B (zh) 一种基于fpga的单中断实时数据传输方法
US20060161720A1 (en) Image data transmission method and system with DMAC
US10698851B1 (en) Data bit width converter and system on chip thereof
JP6470955B2 (ja) プログラマブルコントローラ及びプログラマブルコントローラの拡張ユニット
CN102082577B (zh) 一种高速循环冗余校验crc装置及其实现方法
US20140006647A1 (en) Bridge device, storage device and program
CN105161132A (zh) 一种基于FPGA的NVMe SSD只读保护方法
EP2829988B1 (en) Storage apparatus, and system and method for executing access operations
US9767054B2 (en) Data transfer control device and memory-containing device
CN110968538B (zh) 一种数据缓冲方法和装置
CN112764673B (zh) 高光谱线阵数据存储速率优化方法、装置和存储介质
CN115599719A (zh) 一种基于fpga的fifo接口多通道dma控制器
JP5404294B2 (ja) データ演算装置の制御回路及びデータ演算装置
TWI436181B (zh) 可程式邏輯控制器
CN109327284B (zh) 数据传输方法、装置及电子设备
US3248701A (en) Data transfer control system
US2891238A (en) Memory systems
JP4086676B2 (ja) データ転送装置
US20240013817A1 (en) Readout integrated circuit and operation method thereof
JP5850724B2 (ja) データ処理装置およびその制御方法
JP2023137515A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant