제 1의 실시 형태
도 1은 본 발명의 제 1의 실시 형태에 관한 데이터 기록 장치를 도시한 블록도이다.
도 1에 있어서, 데이터 기록 장치는, 데이터 입력 수단(1)과, 데이터 버스 수단(2)과, 데이터 버스 수단(2)을 통하여 데이터 입력 수단(1)에 접속된 데이터 제어 수단(3)과, 데이터 제어 수단(3)에 접속된 데이터 기록 수단(4) 및 데이터 완 충 기억 수단(5)을 구비하고 있다.
데이터 입력 수단(1)은, 검사 또는 측정의 대상이 되는 신호를 계측 데이터로서 받아들이고, 필요에 응하여 데이터 버스 수단(2)에 송출한다. 구체적으로는, 데이터 입력 수단(1)은, A/D 보드 등으로 이루어지고, 측정 대상이 되는 물리 데이터를 받아들여서 디지털 데이터로 변환한다.
데이터 버스 수단(2)은, 데이터 입력 수단(1)을 통하여 받아들여진 계측 데이터를, 데이터 제어 수단(3)에 전송한다. 구체적으로는, 데이터 버스 수단은, 디지털 데이터가 통과하는 cPCI 버스 등으로 이루어지고, 데이터 입력 수단(1)(예를 들면, A/D 보드)과 데이터 제어 수단(3) 사이에서의 데이터 수수(授受)할 때에 기능한다.
데이터 제어 수단(3)은, CPU(MPU)로 이루어지고, 계측 데이터를 데이터 기록 수단(4)에 기록하기 위한 데이터 기록 제어를 행한다. 구체적으로는, 데이터 제어 수단(3)은, CPU(MPU)상에서 동작하는 프로그램(F/W : 펌웨어)으로 이루어지고, 데이터 입력 수단(1)(A/D 보드)에 대해 데이터 취득의 지시를 행함과 함께, 데이터 기록 수단(4)에의 데이터 기록을 지시하기 위한 제어를 행한다.
데이터 기록 수단(4)은, 데이터 제어 수단(3)의 제어하에서, 데이터 버스 수단(2)을 통하여 전송된 계측 데이터를 기록한다. 구체적으로는, 데이터 기록 수단(4)은, 대용량의 디지털 데이터를 기록하는 매체로 이루어지고, 예를 들면, HDD나 대용량 메모리 카드 등에 의해 구성된다.
데이터 완충 기억 장치(5)는, 계측 데이터를 일시적으로 축적하기 위한 버퍼 영역(6)을 포함한다. 구체적으로는, 데이터 완충 기억 수단(5) 내의 버퍼 영역(6)은, 데이터 제어 수단(3)(CPU)이 사용하는 메모리 영역(RAM)으로 이루어지고, CPU의 프로그램 실행시에 데이터를 보존할 때 등에 사용된다.
데이터 제어 수단(3)은, 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 취득한 계측 데이터를, 버퍼 영역(6)에 일시적으로 축적하고 나서, 최종적으로 데이터 기록 수단(4)에 기록하도록 데이터 기록 제어를 실행하도록 되어 있다.
도 2는 도 1에 도시한 데이터 기록 장치의 동작을 도시한 블록도이고, 파선 화살표는 데이터의 흐름을 나타내고 있다.
도 2에서, 데이터 제어 수단(3)은, 데이터 취득 제어 수단(31)과, 데이터 기록 제어 수단(32)의 2개의 동작 기능으로 나눌 수 있다.
데이터 취득 제어 수단(31)은, 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 데이터를 취득하고, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억시킨다.
데이터 기록 제어 수단(32)은, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억되어 있는 데이터를 판독하고, 데이터 기록 수단(4)에 기록시킴과 함께, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억되어 있는 데이터를 소거한다.
도 3은 본 발명의 제 1의 실시 형태에 의한 계측 데이터의 샘플링 동작을 도시한 플로우 차트이고, 도 4는 도 3의 동작 플로를 타이밍 차트로 도시한 설명도이 다. 이하, 도 2 내지 도 4를 참조하면서, 도 1에 도시한 본 발명의 제 1의 실시 형태에 의한 데이터 제어 수단(3)의 동작에 관해 설명한다.
도 3에 있어서, 우선, 샘플링 조건을 지정하고, 샘플링 조건에 응하여, 1회당의 처리 데이터 수(N)를 설정한다(스텝 S1). 또한, 1회당 N개의 데이터를 데이터 기록 수단(4)(예를 들면, HDD)에 기록하는데 필요로 하는 시간(t(N))(후술하는 스텝 S6의 처리 시간)은, 전술한 바와 마찬가지로, 이하의 식(1)으로 표시할 수 있다.
t(N)=δ×N+κ … (1)
또한, 식(1)에 있어서, 6은 1개의 데이터를 데이터 기록 수단(4)(HDD)에 기록하는데 필요로 하는 시간, κ는 (데이터 개수에 관계없이) 1회당에 데이터 기록 수단(4)(HDD)에 기록하는데 필요로 하는 시간(오버헤드)이다. 여기서, 샘플링 주기를 τ로 하고, 일시 기억 처리(후술하는 스텝 S4)에 필요로 하는 시간을 ε라고 하면, 1회당의 처리 데이터 수(N)는, 이하의 식(3)을 충족시키도록 결정되면 좋게 된다.
τ-ε>δ×N+κ … (3)
단, 샘플링 주기(τ)의 한계를 고려할 필요가 있고, 모든 경우에, 처리 데이터 수(N)가 구해진다는 것은 아니고, 원래, 샘플링 주기(τ)가 이하의 식(4) 또는 식(5)의 어느 하나의 조건을 충족시키는 경우에는, 1회당의 처리 데이터 수(N)를 설정할 수가 없다.
τ<δ … (4)
τ<κ … (5)
또한, 어떠한 처리 데이터 수(N)를 갖고서도, 상기 식(3)을 충족시키지 않는 샘플링 주기(τ)에서는, 샘플링이 불가능하고, 식(3)을 충족시키는 처리 데이터 수(N)가 존재하는 샘플링 주기(τ)가, 샘플링 가능한 한계치이기도 한다.
도 3으로 되돌아와, 데이터 제어 수단(3)은, 샘플링 조건의 지정 및 처리 데이터 수(N)의 설정(스텝 S1)에 계속해서, 샘플링을 시작하고(스텝 S2), 계측 데이터의 수가 최종적인 집록 개수에 달하였는지의 여부를 판정한다(스텝 S3).
스텝 S3에서, 집록 개수에 달하지 않았다(즉, NO)라고 판정되면, 데이터 제어 수단(3) 내의 데이터 취득 제어 수단(31)은, 샘플링 주기(τ)마다 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 계측 데이터를 취득하고, 취득한 계측 데이터를 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억시킨다(스텝 S4).
계속해서, 초기 설정시에 O 클리어되고 또한 스텝 S4의 실행 직전에 잉크리먼트되는 계수 카운터(도시 생략)를 참조하여, 스텝 S4의 처리를 N회 실행하였는지(계수 카운터 값=N)의 여부를 판정하고(스텝 S5), N회 실행하지 않았다(즉, NO)고 판정되면, 계수 카운터를 잉크리먼트함과 함께, 스텝 S4를 재차 실행한다.
한편, 스텝 S5에서, 스텝 S4를 N회 실행하였다(즉, YES)고 판정되면, 데이터 제어 수단(3) 내의 데이터 기록 제어 수단(32)은, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억되어 있는 N개의 계측 데이터를 판독하여 데이터 기록 수단(4)에 기록시킴과 함께, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시 적으로 기억되어 있는 N개의 계측 데이터를 소거하고(스텝 S6), 스텝 S3으로 되돌아온다.
이 때, 도 4에 도시한 바와 같이, 버퍼 영역(6)에의 일시 기억 처리(스텝 S4)가 종료될 때마다, 샘플링 주기(τ) 내에서 다른 처리가 실행된다.
마찬가지로, 버퍼 영역(6)에의 일시 기억 처리(스텝 S4) 및 데이터 기록 수단(4)에의 N데이터 기록 처리(스텝 S6)의 종료 후에, 샘플링 주기(τ) 내에서 다른 처리가 실행된다.
스텝 S4 내지 S6의 반복 실행에 의해, 스텝 S3에서, 계측 데이터 수가 최종적인 집록 개수에 달하였다(즉, YES)고 판정되면, 데이터 제어 수단(3) 내의 데이터 기록 제어 수단(32)은, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억되어 있는 모든 계측 데이터를 판독하여 데이터 기록 수단(4)에 기록시키고, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억되어 있는 모든 계측 데이터를 소거하고(스텝 S7), 도 3의 샘플링 처리 루틴을 종료한다(스텝 S8).
상기 처리에 의해, 데이터 기록 수단(4)(HDD)에의 기록 처리 자체를 적게 하여, 1 회당에 데이터 기록 수단(4)에 기록하는 데이터량을 늘릴 수 있고, 상대적으로 데이터 기록 수단(4)에의 기록 오버헤드를 적게 할 수 있다.
이 결과, 데이터 기록 수단(4)으로서, 1회당의 데이터 기록 시간이 긴 대용량 기억 매체(HDD)를 이용한 경우에도, 고속의 샘플링 주기이며 또한 집록 개수가 대규모인(즉, 장시간의) 샘플링 데이터가, 결락하는 일 없이 연속적으로 연결되어 있는 것이 보증된 샘플링을 실현할 수 있다.
또한, 상기 데이터 집록을 실행하고 있는 한창중이라도, 다른 처리에의 영향을 최소한으로 억제할 수가 있다.
또한, 상기 처리에 관한 고가의 전용 설비를 특히 필요로 하지 않기 때문에, 데이터 기록 장치를 염가로 실현할 수 있다.
또한, 도 2에서는, 데이터 기록 제어 수단(32)의 기능을 데이터 제어 수단(3) 내에 마련하였지만, 예를 들면 도 5와 같이, 데이터 기록 제어 수단(32)을 데이터 기록 수단(4) 내에 마련하여도 좋고, 이 경우도, 전술한 것과 동등한 작용 효과를 이룬다.
제 2의 실시 형태
또한, 상기 제 1의 실시 형태(도 1, 도 2 참조)에서는, 데이터 완충 기억 수단(5) 내에 하나의 버퍼 영역(6)을 마련하였지만, 복수의 버퍼 영역을 마련하여도 좋다.
예를 들면, 상기 제 1의 실시 형태에서는, 데이터 기록 처리가 샘플링 처리에 비하여 매우 고속인 경우를 상정하고 있어서, 버퍼 영역(6)을 더블 버퍼 구성으로 할 필요가 없지만, 상기한 것보다도 샘플링 처리가 고속인 경우에는, 데이터 기록 시간이 샘플링 간격에 따라잡지 못하기 때문에, 전술(도 1, 도 2)한 구성으로는 실현 불가능으로 된다.
따라서 고속 샘플링의 경우에는, 예를 들면 더블 버퍼 방식을 채용하고, 한쪽의 버퍼 영역에 데이터 완충(일시 기억)하고 있는 동안에, 다른쪽의 버퍼 영역 내의 계측 데이터를 기록 처리함에 의해, 고속 샘플링 데이터의 확실한 기록을 가 능하게 한 것이 바람직하다.
또한, 더블 버퍼의 용도는 다양하고, 로깅에 있어서는, 데이터를 일괄하여 저장한 후에, 데이터 기록 수단에 정리하여 기록하는 방식이 일반적이다.
도 6은 복수의 버퍼 영역(6a, 6b)을 마련한 본 발명의 제 2의 실시 형태에 관한 데이터 기록 장치를 도시한 블록도이다.
또한, 도 7은 도 6에 도시한 데이터 기록 장치의 동작을 도시한 블록도이고, 파선 화살표는 초기 설정된 데이터의 흐름을 나타내고 있다. 또한, 도 7 내의 1점쇄선 화살표는, 다음회 처리시(사용 버퍼 영역을 역설정시)의 데이터의 흐름을 나타내고 있다.
도 6, 도 7에 있어서, 전술(도 1, 도 2 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 후에 「A」를 붙이고 상세기술을 생략한다.
도 6 및 도 7에 도시한 바와 같이, 데이터 완충 기억 수단(5A)은, 복수의 버퍼 영역(6a, 6b)을 갖고 있다.
또한, 복수의 버퍼 영역(6a, 6b)은, 버퍼 영역(6)의 데이터 영역의 구조가 2중화 된 더블 버퍼(외부에서 보면 단일의 버퍼 영역)에 의해 실현되어도 좋고, 외관적으로 복수개의 버퍼 영역에 의해 실현되어도 좋다.
또한, 데이터 제어 수단(3)은, 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 취득한 금회의 계측 데이터를, 복수의 버퍼 영역(6a, 6b) 중의 한쪽의 버퍼 영역(예를 들면 파선 화살표로 나타내는 바와 같이, 버퍼 영역(6a))에 일시적으로 축적하는 동시에, 복수의 버퍼 영역(6a, 6b) 중의 다른쪽의 버퍼 영역(예를 들면 파선 화살표로 나타내는 바와 같이, 버퍼 영역(6b))에 이미 축적되어 있는 전회의 계측 데이터를 데이터 기록 수단(4)에 기록하도록 데이터 기록 제어를 행한다.
도 8은 본 발명의 제 2의 실시 형태에 의한 계측 데이터의 샘플링 동작을 도시한 플로우 차트이고, 도 9는 도 8의 동작 플로를 타이밍 차트로 도시한 설명도이다.
도 8, 도 9에 있어서, 전술(도 3, 도 4 참조)한 것과 같은 처리에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 부호의 후에 「A」를 붙이고 상세기술을 생략한다.
이하, 도 7 내지 도 9를 참조하면서, 도 8에 도시한 본 발명의 제 2의 실시 형태에 의한 데이터 제어 수단(3)의 동작에 관해 설명한다.
도 8에서, 우선, 샘플링 조건을 지정하고, 1회당의 처리 데이터 수(N)를 설정한다(스텝 S1).
여기서, 1회당 N개의 데이터를 데이터 기록 수단(4)에 기록하는데 필요로 하는 시간(t(N))(후술하는 스텝 S6A의 처리 시간)은, 전술한 바와 마찬가지로, 이하의 식(1)으로 표시할 수 있다.
t(N)=δ×N+κ … (1)
또한, 샘플링 주기를 τ, 일시 기억 처리(스텝 S4A)에 필요로 하는 시간을 ε라고 하면, 1회당의 처리 데이터 수(N)는, 이하의 식(6)을 충족시키도록 결정되 면 좋게 된다.
(τ-ε)×N>δ×N+κ … (6)
단, 전술한 바와 같이, 샘플링 주기(τ)가 식(4) 또는 식(5)의 어느 하나의 조건을 충족시키는 경우에는, 처리 데이터 수(N)의 설정은 불가능하다.
이 경우, 전술한 제 1의 실시 형태에 비하여, 조건적으로 여유가 있지만, 전술한 바와 마찬가지로, 상기 식(6)을 충족시키지 않는 샘플링 주기(τ)에서는, 샘플링이 불가능하고, 식(6)을 충족시키는 처리 데이터 수(N)가 존재하는 샘플링 주기(τ)가, 샘플링 가능한 한계치이기도 한다.
도 8로 되돌아와, 스텝 S1에 계속해서, 샘플링을 시작한다(스텝 S2A).
이 때, 데이터 제어 수단(3) 내의 데이터 취득 제어 수단(31)은, 「버퍼 영역(6a)를 사용한다」고 초기 설정한다.
다음에, 집록 개수에 달하였는지의 여부를 판정하고(스텝 S3), 집록 개수에 달하고 있지 않으면, 데이터 취득 제어 수단(31)은, 샘플링 주기(τ)마다, 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 계측 데이터를 취득하고, 버퍼 영역(6a, 6b)의 설정되어 있는 쪽(초기 설정시에는, 버퍼 영역(6a))에 일시적으로 기억시킨다(스텝 S4A).
계속해서, 스텝 S4A의 처리를 N회 실행하였는지의 여부를 판정하고(스텝 S5), N회 실행하고 있지 않으면 스텝 S4A를 재차 실행한다.
한편, 스텝 S4A의 처리를 N회 실행하고 있으면, 데이터 취득 제어 수단(31)이 사용하는 버퍼 영역을 역으로(예를 들면, 6a→6b) 설정한 후, 데이터 기록 제어 수단(32)은, 전회 사용한 버퍼 영역(예를 들면, 6b)에 대해 판독 처리를 행하고, 일시적으로 기억되어 있는 N개의 계측 데이터를 판독하여 데이터 기록 수단(4)에 기록시키고, 전회 사용한 버퍼 영역(예를 들면, 6b)에 일시적으로 기억되어 있는 N개의 계측 데이터를 소거하고(스텝 S6A), 스텝 S3으로 되돌아온다.
이 때, 도 9에 도시한 바와 같이, 버퍼 영역(6a 또는 6b)에의 일시 기억 처리(스텝 S4A)가 종료할 때마다, 샘플링 주기(τ) 내에서 다른 처리가 실행된다.
또한, 일시 기억 처리의 실행 대상이 역설정(6a→6b)된 후, 스텝 S6A의 계속의 처리가 실행되고, 스텝 S6A의 종료 후에, 샘플링 주기(τ) 내에서 다른 처리가 실행된다.
그 후, 스텝 S3에서, 집록 개수에 달하였다(즉, YES)고 판정되면, 데이터 취득 제어 수단(31)이 사용하는 버퍼 영역을 역으로(예를 들면, 6a→6b) 설정한 후, 데이터 기록 제어 수단(32)은, 전회 사용한 버퍼 영역(예를 들면, 6b)에 대해 판독 처리를 행하고, 일시적으로 기억되어 있는 모든 계측 데이터를 판독하여 데이터 기록 수단(4)에 기록시키고, 전회 사용한 버퍼 영역(예를 들면, 6b)에 일시적으로 기억되어 있는 모든 계측 데이터를 소거하고(스텝 S7A), 샘플링을 종료한다(스텝 S8).
전술한 제 1의 실시 형태(도 3 참조)에서는, 샘플링 데이터가 결락하는 일 없이 연속적으로 연결되어 있는 것을 보증하기 위해서는, 다음회의 일시 기억 처리(스텝 S4)가 시작되기 까지, N회 실행의 판정 처리(스텝 S5)가 반드시 완료할 필요가 있고, 스텝 S5가 1회당의 처리 데이터 수(N)를, 설정된 샘플링 주기(τ)에 응하 여 엄밀하게 조정할 필요가 있다.
그러나, 본 발명의 제 2의 실시 형태(도 8 참조)에 의하면, N회 실행 판정후의 N데이터 기록 처리(스텝 S6A)가, 복수회의 일시 기억 처리(스텝 S4A)에 걸쳐서 간섭하여 실행되어도, 샘플링 데이터가 결락하는 일 없이 연속적으로 연결되어 있는 것을 보증할 수가 있다.
따라서 스텝 S6A가 한번에 처리한 데이터 개수(N)를, 설정된 샘플링 주기(τ)에 응하여 엄밀하게 조정할 필요가 없는, 로버스트한 샘플링을 행할 수가 있다.
구체적으로는, 전술한 제 1의 실시 형태에서는, 샘플링 주기(τ)가 짧아저서 샘플링이 고속화되면, N개를 어떻게 조정하여도, 금회의 스텝 S4A와 다음회의 스텝 S4A 사이에 스텝 S6A가 완료되지 않는 경우가 일어날 수 있지만, 본 발명의 제 2의 실시 형태에서는, 스텝 S6A가 복수의 스텝 S4A에 걸쳐서 실행되어도 좋기 때문에, 샘플링 주기(τ)가 짧게(샘플링 고속화) 되어도 대응할 수 있다.
또한, 본 발명의 제 2의 실시 형태에서도, 샘플링 데이터가 결락하는 일 없이 연속적으로 연결되어 있는 것을 보증하기 위해서는, 데이터 개수(N)의 조정은 필요하고, 스텝 S4A가 N회 실행되는 동안에 스텝 S6A가 완료되도록, 데이터 개수(N)를 조정하면 좋다.
또한, 전술한 바와 마찬가지로, 상기 처리에 관한 고가의 전용 설비를 필요로 하지 않기 때문에, 데이터 기록 장치를 염가로 실현할 수 있다.
제 3의 실시 형태
또한, 상기 제 1 및 2의 실시 형태에서는, 버퍼 영역의 할당(확보)에 관해 언급하지 않았지만, 데이터 제어 수단(3)은, 버퍼 영역(6)(6a, 6b)을 동적으로 할당하여 좋다.
도 10은 본 발명의 제 3의 실시 형태에 관한 데이터 기록 장치의 동작을 부분적으로 도시한 플로우 차트이고, 버퍼 영역을 동적으로 할당하는 경우를 나타내고 있다.
도 10에 있어서, 전술(도 3, 도 8 참조)한 것과 같은 처리에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 도시를 생략하고, 상세기술을 생략한다.
또한, 본 발명의 제 3의 실시 형태에 의한 데이터 기록 장치의 구성으로서는, 도 1, 도 2, 도 5 내지 도 7의 어느 하나에 도시한 것이 적용 가능하다.
우선, 데이터 제어 수단(3)은, 샘플링 조건을 지정하고, 샘플링 조건에 응하여 N을 설정한 후(스텝 S1), N에 응하여 버퍼 영역을 동적으로 할당한다(스텝 S1O).
이하, 전술한 바와 마찬가지로, 샘플링을 시작한다(스텝 S2, S2A).
예를 들면, 전술한 제 1 및 2의 실시 형태에서는, 샘플링 데이터가 결락하는 일 없이 연속적으로 연결되어 있는 것을 보증하기 위해서는, 데이터 개수(N)의 조정이 필요하고, 일시 기억 처리(스텝 S4, S4A)가 N회 실행되는 동안에, N회 실행 판정 후의 N데이터 기록 처리(스텝 S6A)가 완료되도록, 데이터 개수(N)를 조정할 필요가 있다.
이 때, 데이터 개수(N)의 조정을 좌우하는 요소로서, 샘플링 주기, 샘플링 CH수, 데이터 기록 수단(4)에의 1회당의 액세스 처리 시간의 오버헤드 등이 존재하 기 때문에, 이들의 요소를 가미한 데이터 개수(N)를 설정할 필요가 있다.
즉, 샘플링 조건에 응하여 데이터 개수(N)가 조정되는데, 버퍼 영역(6)(6a, 6b)은, N개의 계측 데이터를 격납할 수 있는 사이즈로 확보하여 둘 필요가 있다.
따라서 전술한 제 1 및 2의 실시 형태에서는, 샘플링 데이터가 결락하는 일 없이 연속적으로 연결되어 있는 것을 보증하기 위해서는, 어떠한 샘플링 조건의 설정에 있어서도 N개의 데이터가 들어가는 사이즈(일어날 수 있는 최대 개수(N)의 데이터가 들어가는 사이즈)를 확보할 필요가 있다.
이것은, 비효율적(낭비)이고, 경우에 따라서는, 시스템으로서, 보다 큰 메모리를 탑재할 필요가 있다는 과제가 있다.
이에 대해, 본 발명의 제 3의 실시 형태에서는, 샘플링 조건에 응하여 설정된 1회당의 처리 데이터 수(N)에 응하여, 동적으로 버퍼를 확보(할당)함에 의해, 상술한 낭비를 없애고, 결과로서, 시스템 전체에서 한정된 메모리를 효율적으로 사용할 수 있다.
즉, 데이터 제어 수단(3)은, 계측 데이터의 샘플링 주기에 응한 사이즈로, 또는, 계측 데이터의 채널수에 응한 사이즈로, 또는, 데이터 기록 수단(4)에의 액세스 처리 시간에 응한 사이즈로, 버퍼 영역(6)(6a, 6b)을 동적으로 할당함에 의해, 메모리를 효율적으로 사용할 수 있다.
또한, 상기 처리에 관한 고가의 전용 설비를 필요로 하지 않기 때문에, 데이터 기록 장치를 염가로 실현할 수 있다.
제 4의 실시 형태
또한, 상기 제 3의 실시 형태에서는, 처리 데이터 수(N)를 결정할 때에 이용되는 HDD 기록 시간(δ)이나 오버헤드 시간(κ)의 값으로서, 미리 지정된 고정치를 이용하는 것을 상정하여 설명하였지만, 데이터 제어 수단(3)은, 데이터 기록 수단(4)이 데이터 기록 동작에 필요로 하는 액세스 처리 시간을 실측하고, 실측 시간에 응한 사이즈로, 버퍼 영역(6)(6a, 6b)을 동적으로 할당하여도 좋다.
예를 들면, 고정치인 δ, ε를 이용한 경우, 실제의 시스템의 값과는 동떨어저 버리고, 보다 정확한 처리 데이터 수(N)를 결정할 수 없게 되고, 데이터 기록 처리에서 동작 부적합함을 일으킬 가능성이 있다. 따라서 동적인 할당에 의해, 데이터 기록 처리의 동작 부적합함을 회피하는 것이 바람직하다.
도 11은 본 발명의 제 4의 실시 형태에 관한 데이터 기록 장치의 동작을 도시한 플로우 차트이고, 실측 시간에 응한 사이즈로, 버퍼 영역(6)(6a, 6b)을 동적으로 할당하는 경우를 나타내고 있다.
도 11에 있어서, 전술(도 3, 도 8, 도 1O 참조)한 것과 같은 처리에 관해서는, 전술한 것과 동일 부호를 붙이고, 또는 도시를 생략하고, 상세기술을 생략한다.
또한, 본 발명의 제 4의 실시 형태에 의한 데이터 기록 장치의 구성으로서는, 도 1, 도 2, 도 5 내지 도 7의 어느 하나에 도시한 것이 적용 가능하다.
이 경우, 데이터 제어 수단(3)은, 데이터 기록 수단(4)이 데이터 기록 동작에 필요로 하는 시간에 응한 사이즈로, 버퍼 영역(6)(6a, 6b)을 동적으로 할당한다.
우선, 데이터 제어 수단(3)은, 샘플링 조건을 지정하고(스텝 S1A), 설정된 데이터 기록 수단(4)에 대해 더미의 기록을 행하고, 처리 시간을 계측함에 의해, 1회당의 액세스 처리 시간의 오버헤드를 실측한다(스텝 S1B).
계속해서, 설정된 샘플링 조건 및 실측된 오버헤드의 실측 시간에 응한 데이터 개수(N)를 설정하고(스텝 S1C), 데이터 개수(N)에 응하여 버퍼 영역(6)(6a, 6b)을 동적으로 할당한다(스텝 S10).
이하, 전술한 바와 마찬가지로, 샘플링을 시작한다(스텝 S2, S2A).
또한, 1회당의 액세스 처리 시간의 오버헤드 실측 처리(스텝 S1B)는, 구체적으로는, 이하의 스텝 S11 내지 S13에 의해 실행된다.
우선, 비교적 적은 데이터량의 기록에 필요로 하는 시간(T1)을 실측하고(스텝 S11), 계속해서, 비교적 많은 데이터량의 기록에 필요로 하는 시간(T2)를 실측한다(스텝 S12 ).
최후로, 실측 시간(T2, T1)의 시간차(T2-T1)를 이용하여 오버헤드의 실측 시간을 산출한다(스텝 S13).
구체적으로는, 전술한 식(1)에 의거한 이하의 연립 방정식(1a), (1b)를 풀음에 의해, 식(7), 식(8)과 같이 기록 시간(δ) 및 오버헤드 시간(κ)을 구한다.
T1=t(N1)=δ×N1+κ … (1a)
T2=t(N2)=δ×N2+κ … (lb)
δ=(T1-T2)/(N1-N2) … (7)
κ=T1-N1(T1-T2)/(N1-N2) … (8)
예를 들면, 전술한 제 3의 실시 형태에서는, 샘플링 조건에 응하여 설정되는 데이터 개수(N)에 응하여, 동적으로 버퍼를 확보(할당)하고 있지만(스텝 S1O), 이 때, 샘플링 조건에 응하여 데이터 개수(N)를 설정할 때의 요소로서 가미되는 「데이터 기록 수단(4)에의 1회당의 액세스 처리 시간의 오버헤드」는, 데이터 기록 수단(4)의 종류에 따라 다르다.
따라서 실제로는, 데이터 기록 수단(4)으로서 상정되는 것이지만 최대의 오버헤드에 의해 데이터 개수(N)를 설정할 필요가 있다. 즉, 동적으로 확보하는 버퍼 영역(6) (6a, 6b)의 사이즈도, 최대의 오버헤드에 응하여 조금 크게 할당되게 되고, 비효율적(낭비)이라는 과제가 있다.
이에 대해, 본 발명의 제 4의 실시 형태에서는, 샘플링 조건으로 설정된 데이터 기록 수단(4)에 대해, 1회당의 액세스 처리 시간의 오버헤드를 실측하고, 실측 시간을 이용하여 1회당의 처리 데이터 수(N)를 설정하고, 설정된 데이터 개수(N)에 응하여 할당하는 버퍼 영역(6)(6a, 6b)의 사이즈를 설정하기 때문에, 상술한 바와 같은 낭비를 없애고, 결과로서 시스템 전체에서 한정된 메모리를 효율적으로 사용할 수 있다.
또한, 상기 처리에 관한 고가의 전용 설비를 필요로 하지 않기 때문에, 데이터 기록 장치를 염가로 실현할 수 있다.
제 5의 실시 형태
또한, 상기 제 1 내지 4의 실시 형태에서는, 하나의 데이터 기록 수단(4)를 이용하였지만, 복수의 데이터 기록 수단을 마련하여도 좋다.
도 12는 복수의 데이터 기록 수단(4a, 4b)을 마련한 본 발명의 제 5의 실시 형태에 관한 데이터 기록 장치를 도시한 블록도이다.
도 12에 있어서, 전술(도 1 참조)한 것과 같은 것에 관해서는, 전술한 것과 동일 부호를 붙이고 상세기술을 생략한다. 또한, 데이터 제어 수단(3)은, 예를 들면 도 2에 도시한 바와 같이, 데이터 취득 제어 수단(31) 및 데이터 기록 제어 수단(32)을 포함하는 것으로 한다.
이 경우, 데이터 제어 수단(3)은, 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 취득한 계측 데이터를, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 축적하고 나서, 최종적으로 복수의 데이터 기록 수단(4a, 4b)에 기록하도록 데이터 기록 제어를 실행하도록 되어 있다.
또한, 데이터 제어 수단(3)은, 복수의 데이터 기록 수단(4a, 4b)의 각각의 데이터 기록 동작에 필요로 하는 시간 또는 그 실측 시간에 관해, 각 시간 또는 각 실측 시간을 가미하여, 큰 쪽의 오버헤드(시간 차분치)에 응한 사이즈 또는 가산 시간치에 응한 사이즈로, 버퍼 영역(6)을 동적으로 할당한다.
다음에, 도 13의 플로우 차트를 참조하면서, 도 12에 도시한 본 발명의 제 5의 실시 형태에 의한 샘플링 처리 동작에 관해 설명한다.
도 13에 있어서, 전술(도 3 참조)한 것과 같은 처리에 관해서는, 전술한 것과 동일 부호를 붙이고, 상세기술을 생략한다.
우선, 데이터 제어 수단(3)은, 샘플링 조건을 지정하고, 데이터 기록 수단(4a, 4b)에의 오버헤드가 큰 쪽에 응하여 데이터 개수(N)를 설정한다(스텝 S1D).
이하, 샘플링을 시작하고(스텝 S2), 스텝 S3 내지 S5를 실행하고, 스텝 S4를 N회 실행한 시점에서, 일시 기억 처리(스텝 S6D)를 실행한다.
이 때, 스텝 S6D에서, 데이터 제어 수단(3) 내의 데이터 기록 제어 수단(32)은, 데이터 완충 기억 수단(5)의 버퍼 영역(6)에 일시적으로 기억되어 있는 N개의 계측 데이터를 판독하여 데이터 기록 수단(4a, 4b)에 기록시키고, 버퍼 영역(6)에 일시적으로 기억되어 있는 N개의 계측 데이터를 소거한다.
이하, 스텝 S3에서, 집록 개수에 달하였다(즉, YES)고 판정되면, 스텝 S7 및 S8을 실행하여, 도 13의 샘플링 처리 루틴을 종료한다.
또한, 도 12에서는, 2개의 데이터 기록 수단(4a, 4b)을 마련한 경우를 나타냈지만, 3개 이상의 데이터 기록 수단을 마련하여도 좋다.
본 발명의 제 5의 실시 형태에 의하면, 복수의 데이터 기록 수단(4a, 4b)(HDD 기록 매체)에 대해 샘플링 데이터를 기록할 수 있기 때문에, 용장성에 의한 신뢰성을 확보할 수 있다.
즉, 복수의 데이터 기록 수단(4a, 4b) 중의 한쪽의 기록 매체에 어떠한 트러블(예를 들면, 데이터 제어 수단(3)과 데이터 기록 수단(4a, 4b) 사이의 통신선의 트러블, 또는, 데이터 기록 수단(4a, 4b)의 동작 자체의 트러블)이 발생한 경우에도, 다른쪽의 기록 매체에 기록되어 있는 계측 데이터를 사용할 수 있고, 안전 2중화의 데이터 로깅 시스템을 구축할 수가 있다.
또한, 상기 처리에 관한 고가의 전용 설비를 필요로 하지 않기 때문에, 데이터 기록 장치를 염가로 실현할 수 있다.
또한, 이 경우도, 복수의 데이터 기록 수단(4a, 4b)에의 액세스 처리 시간에 응한 사이즈로, 버퍼 영역(6)을 동적으로 할당함에 의해, 메모리를 효율적으로 사용할 수 있다.
제 6의 실시 형태
또한, 상기 제 1 내지 5의 실시 형태에서는, 하나의 데이터 제어 수단(3)을 마련하였지만, 복수의 데이터 제어 수단을 마련하여도 좋다.
도 14는 복수의 데이터 제어 수단(3a, 3b)을 마련한 본 발명의 제 6의 실시 형태에 관한 데이터 기록 장치를 도시한 블록도이다.
도 14에 있어서, 병렬로 설치된 데이터 제어 수단(3a, 3b)은, 각각의 데이터 완충 기억 수단(5A, 5b)을 구비하고 있고, 각 데이터 완충 기억 수단(5A, 5b)은, 개별의 버퍼 영역(6a, 6b)을 갖고 있다. 즉, 이 경우, 외관적으로도, 복수개의 버퍼 영역(6a, 6b)을 구비하고 있어서도 좋다.
또한, 데이터 기록 수단(4E)은, 각 데이터 제어 수단(3a, 3b)에 개별적으로 대응한 데이터 기록 영역(7a, 7b)을 갖고 있다. 데이터 기록 영역(7a, 7b)은, 구체적으로는, 데이터 기록 파일로 이루어진다.
이 경우, 데이터 제어 수단(3a, 3b)은, 데이터 기록 수단(4E) 내의 데이터 기록 영역(7a, 7b)에서의 데이터 기록 처리의 종류의 수에 대응하고 있다.
즉, 데이터 제어 수단(3a, 3b)은, 데이터 기록 수단(4E)에서의 데이터 기록 처리의 종류의 수에 대응하도록, 데이터 기록 수단(4E)에 대한 데이터 기록 제어를 행한다.
도 15는 도 14에 도시한 장치의 동작을 일부 타이밍 차트로 도시한 설명도이다.
도 15에서, 점선보다도 하단측은 시간의 흐름(타이밍 차트)을 나타내고, 점선보다도 상단측은 데이터의 흐름을 나타내고, 파선 테두리는 데이터 기록 제어 처리를 나타내고 있다.
또한, 스텝 S4a, S4b는, 전술한 스텝 S4(S4A)와 같은 처리이고, 각각, 도 14 내의 데이터 제어 수단(3a, 3b)의 동작에 대응하고 있다.
마찬가지로, 스텝 S6a, S6b는, 전술한 스텝 S6(S6A, S6D)과 같은 처리이고, 각각, 도 14 내의 데이터 제어 수단(3a, 3b)의 동작에 대응하고 있다.
또한, 각 데이터 제어 수단(3a, 3b)의 샘플링 조건으로서, 샘플링(a)(CH1)의 주파수(f1)는 1kHz, 샘플링(b)(CH2)의 주파수(f2)는 2kHz로 한다.
이 경우, 우선, 스텝 S4b에서, 샘플링(b)(2kHz)의 조건하에서 CH2의 「값1」이 버퍼 영역(6b)에 일시 기억되고, 다른 처리에 계속해서, 다음의 스텝 S4b에서, 샘플링(b)(2kHz)의 조건하에서 CH2의 「값2」이 버퍼 영역(6b)에 일시 기억된다.
다음에, 다른 처리에 계속된 스텝 S4a에서, 샘플링(a)(1kHz)의 조건하에서 CH1의 「값3」이 버퍼 영역(6a)에 일시 기억되고, 다른 처리에 계속된 스텝 S4b에서, 샘플링(b)(2kHz)의 조건하에서 CH2의 「값4」이 버퍼 영역(6b)에 일시 기억된다.
계속해서, CH2의 「값4」의 일시 기억 처리(스텝 S4b)의 직후의 스텝 S6b에서, 버퍼 영역(6b) 내의 계측 데이터「값1, 값 2, 값 4」는, 데이터 기록 수단(7E) 내의 데이터 기록 영역(7b)에 전송된다.
데이터 기록 영역(7b)에의 데이터 전송 처리(스텝 S6b)에 계속해서, 다른 처리의 실행 후의 스텝 S4b에서는, 필요에 응하여 CH2의 데이터 값이 버퍼 영역(6b)에 일시 기억된다.
다음에, 다른 처리에 계속된 스텝 S4a에서, 샘플링(a)(1kHz)의 조건하에서 CH1의 「값6」이 버퍼 영역(6a)에 일시 기억된다.
계속해서, CH1의 「값6」의 일시 기억 처리(스텝 S4a)의 직후의 스텝 S6a에서, 버퍼 영역(6a) 내의 계측 데이터「값3, 값 6」은, 데이터 기록 수단(7E) 내의 데이터 기록 영역(7a)에 전송된다.
이하, 데이터 제어 수단(3a, 3b)은, 최종적인 집록 개수에 달할 때까지 상기 처리를 반복하여 실행한다.
본 발명의 제 6의 실시 형태에 의하면, 다른 조건의 샘플링이 복수 있은 경우에도, 각각 독립한 태스크(처리)에 의한 샘플링 처리가 실행 가능하기 대문에, 다른 조건의 샘플링을 동시에 실행할 수 있고, 다른 샘플링의 복수의 로깅을 동시에 실행할 수 있다.
또한, 본 발명의 제 6의 실시 형태의 경우, 상기 처리중의 스텝 S4a, S4b 및 스텝 S6a, S6b에 필요로 하는 처리 내용이, 전술한 제 5의 실시 형태에 비하여 간단하기 때문에, 전체로서의 처리에 필요로 하는 부하가 경감되고, 결과로서, 시스템 전체에서 처리를 고속으로 실행할 수 있다.
또한, 상기 처리에 관한 고가의 전용 설비를 필요로 하지 않기 때문에, 데이 터 기록 장치를 염가로 실현할 수 있다.
단, 도 15로부터 분명한 바와 같이, 샘플링(a, b)은, 서로 독립으로 동작하고 있고, 데이터 기록 영역(7a)과 데이터 기록 영역(7b)의 사이에서의 시간축은 일치하지 않기(동일한 시간축으로 로깅을 실행하지 않기) 때문에, 데이터 기록 영역(7a, 7b)을 같은 그래프로 표시하여도 의미가 없다. 즉, 샘플링(a, b)은, 다른 샘플링 주파수(f1, f2)로 로깅을 실행하고 있기 때문에, 샘플링(a, b)의 각 계측 데이터의 차분(差分)을 취하는 등의 처리를 실행하여도 전혀 의미가 없다.
제 7의 실시 형태
또한, 상기 제 6의 실시 형태(도 14 참조)에서는, 2개의 데이터 제어 수단(3a, 3b)(2개의 태스크)을 이용하여, 각각의 버퍼 영역(6a, 6b)에 대해 개별의 CH 처리를 실행하였지만, 하나의 데이터 제어 수단(3)(하나의 태스크)을 이용하여, 더블 버퍼 구성의 하나인 버퍼 영역(6)에 대해 복수 CH의 처리를 실행하여도 좋다.
도 16은 본 발명의 제 7의 실시 형태에 관한 데이터 기록 장치를 도시한 블록도이고, 하나의 데이터 제어 수단(3)을 이용하여 데이터 기록 영역(7a, 7b)에의 데이터 기록을 제어하는 경우를 나타내고 있다.
또한, 도 16에 있어서, 데이터 완충 기억 수단(5)의 버퍼 영역(6)을 더블 버퍼 구성으로 하여도 좋고, 전술(도 6 참조)한 바와 같이 버퍼 영역(6)을 복수개 설정하여도 좋다.
또한, 상기한 것을 조합하여, 버퍼 영역(6)을 복수개 설정함과 함께, 각각을 더블 버퍼 구성으로 하여도 좋다.
도 17은 도 16에 도시한 장치의 동작을 도시한 플로우 차트이고, 전술(도 3 참조)한 것과 같은 처리에 관해서는, 전술한 것과 동일 부호를 붙이고 상세기술을 생략한다.
도 18은 도 16의 동작 플로를 일부 타이밍 차트로 도시한 설명도이고, 전술(도 15 참조)한 바와 마찬가지로, 샘플링 조건으로서, 샘플링(a)(CH1)의 주파수(f1)는 1kHz, 샘플링(b)(CH2)의 주파수(f2)는 2kHz로 한다.
또한, 도 18은 샘플링(a, b)의 양쪽을, 공통의 버퍼 영역(6)에 로깅한 경우를 나타내고 있다.
이 경우, CH1 및 CH2의 각 샘플링 주파수(f1, f2)의 최소공배수에 대응한 샘플링 주기로, 스텝 S4E의 처리가 실행된다.
즉, 이 경우는, 결과적으로, CH1의 샘플링 주파수(f1)(=1kHz)의 2배가 되는 CH2의 샘플링 주파수(f2)(=2kHz)에 대응한 샘플링 주기(τ2)(=1/f2)로 된다.
즉, 도 18에서는, CH2의 샘플링 주기(τ2)로, 취득하여야 할 CH의 계측 데이터만을 취득하도록 되어 있다.
또한, 취득하여야 할 CH의 데이터가 존재하지 않는 경우에는, 스텝 S4E에서, 아무것도 처리가 실행되지 않는다.
다음에, 도 17 및 도 18을 참조하면서, 도 16에 도시한 본 발명의 제 7의 실시 형태에 의한 동작에 관해 설명한다.
도 17에서, 우선, 복수의 샘플링 조건을 지정하고(스텝 S1E), 샘플링을 시작한다(스텝 S2).
계속해서, 집록 개수에 달하고 있지 않으면, 데이터 취득 제어 수단(31)은, 샘플링 주기(τ)(=τ2)마다, 데이터 입력 수단(1)으로부터 데이터 버스 수단(2)을 통하여 계측 데이터를 취득하고, 버퍼 영역(6)에 일시적으로 기억시킨다(스텝 S4E).
스텝 S4E를 반복하고, 스텝 S4E가 N회 실행된 시점에서, 데이터 기록 제어 수단(32)은, 버퍼 영역(6)에 일시적으로 기억되어 있는 계측 데이터를 판독하고, 샘플링 조건에 응하여, 데이터 기록 수단(4E)의 데이터 기록 영역(7a 또는 7b)에 기록시키고, 버퍼 영역(6)에 일시적으로 기억되어 있는 계측 데이터를 소거한다(스텝 S6E).
이하, 최종적인 집록 개수에 달한 시점에서, 스텝 S7 및 S8을 실행하고, 도 17의 샘플링 처리 루틴을 종료한다.
구체적으로는, 예를 들면 도 18과 같이, 우선, 스텝 S4E에서, CH2의 「값1」이 버퍼 영역(6)에 일시 기억되고, 계속된 스텝 S4E에서, CH2의 「값2」 및 CH1의 「값3」이 버퍼 영역(6)에 일시 기억된다.
또한, 다음의 스텝 S4E에서, CH2의 「값4」이 버퍼 영역(6)에 일시 기억되고, 계속된 스텝 S4E에서, CH2의 「값5」 및 CH1의 「값6」이 버퍼 영역(6)에 일시 기억된다.
다음에, 스텝 S6E에서, 버퍼 영역(6) 내의 CH2의 「값1, 값 2, 값 4, 값 5」이 데이터 기록 수단(4E)의 데이터 기록 영역(7b)에 전송되고, 버퍼 영역(6) 내의 CH1의「값3, 값 6」이 데이터 기록 수단(4E)의 데이터 기록 영역(7a)에 전송된다.
이하, 상기 처리가 반복 실행된다.
본 발명의 제 7의 실시 형태에 의하면, 다른 조건의 샘플링을 동시에 실행할 수 있다.
또한, 데이터 기록 영역(7a)과 데이터 기록 영역(7b)의 사이에서의 시간축이 일치하기 때문에, 데이터 기록 영역(7a, 7b)을 같은 그래프로 표시하여도 의미가 있고, 다른 조건의 샘플링 처리를 동시에 실행한 경우에, 후에 결과를 합쳐서 해석할 수 있다.
또한, 복수 파일 사이의 시간축이 일치하고 있음에 의해, 예를 들면 온도 변화와 같은 느린 데이터 변화와, 유량과 같은 빠른 데이터 변화와의 로깅을, 데이터량이 폭발적으로 증가하는 일 없이 효율적으로 실행할 수 있고, 또한, 후에 정사(精査)할 때에 시간축이 일치한 올바른 해석을 행할 수가 있다.
또한, 도 18에서는, CH1, CH2에 대해 하나의 버퍼 영역(6)을 공통으로 이용한 경우를 나타냈지만, 도 19와 같이, 예를 들면 더블 버퍼 구성을 적용하여 분할된 복수의 버퍼 영역(6a, 6b)을 이용하여도 좋다.
도 19는 샘플링(a, b)을 각각 개별의 버퍼 영역(6a, 6b)에 로깅한 경우를 나타내고 있다. 이 경우, 샘플링마다 복수의 버퍼 영역(6a, 6b)(더블 버퍼)이 마련되어 있다.
도 19에 있어서, 스텝 S4E마다, 한쪽의 버퍼 영역(6a)에는, CH1의 「값3, 값 6」이 순차적으로에 일시 기억되고, 다른쪽의 버퍼 영역(6b)에는, CH2의 「값1, 값 2, 값 4, 값 5」이 순차적으로에 일시 기억된다.
이하, 스텝 S6E에서, 각 버퍼 영역(6a, 6b) 내의 데이터 값이, 각각, 데이터 기록 수단(4E) 내의 데이터 기록 영역(7a, 7b)에 전송된다.
도 19에 도시한 더블 버퍼 구성의 경우, 전술(도 18 참조)한 것에서의 효과에 더하여, 전술(도 6 내지 도 9 참조)한 제 2의 실시 형태에서의 효과도 얻어진다.
또한, 도 20과 같이, 전술한 것과는 다른 샘플링 조건(CH4, CH5)에 대해서도, 도 19의 경우와 같은 구성을 적용할 수 있다.
도 2O의 구성 및 처리는, 기본적으로 도 19의 경우와 동일하고, 샘플링(a, b)을, 각각 개별의 버퍼 영역(6a, 6b)에 로깅한 경우를 나타내고 있다.
단, 도 20에 있어서, 샘플링 조건으로서, 샘플링(a)(CH4)의 주파수(f4)는 2kHz이고, 샘플링(b)(CH5)의 주파수(f5)는 3kHz이다.
따라서 CH4 및 CH5의 각 샘플링 주파수(f4, f5)의 최소공배수는, 6kHz(=2×3[kHz])로 되고, 샘플링 주파수 6kHz에 대응한 샘플링 주기로 일시 기억 처리(스텝 S4E)가 실행되게 된다.
즉, 도 2O에서는, CH4 및 CH5의 각 샘플링 주파수의 최소공배수에 대응한 주기로 스텝 S4E의 처리가 실행되고, 취득하여야 할 CH의 계측 데이터만이 취득된다.
또한, 도 20에 있어서, 버퍼 영역(6a)에의 CH4의 「값5」의 일시 기억 처리(스텝 S4E)에 계속된 스텝 S4E와 같이, 취득하여야 할 CH의 계측 데이터가 존재하지 않는 경우에는, 스텝 S4E에서, 아무것도 처리가 실행되지 않는다.
도 2O에 도시한 데이터 기록 처리에서는, 2개의 샘플링(a, b)(CH4, CH 5)의 관계가, 한쪽의 샘플링 주파수가 다른쪽의 샘플링 주파수의 정수배가 아니기 때문에, 각 샘플링 주파수의 최소공배수에 대응한 주기로 샘플링 처리(스텝 S4E)가 실행된다.
또한, 각 샘플링 처리(스텝 S4E)에서는, 해당하는 계측 데이터가 존재하는 샘플링 CH만을 샘플링하고, 그 밖의 CH에 대해서는 아무것도 샘플링 처리가 실행되지 않기 때문에, 도 20과 같이, 한쪽의 샘플링 주기가 다른쪽의 샘플링 주기의 정수배의 관계가 아닌 경우라도, 상기 작용 효과를 얻을 수 있다.
또한, 데이터 제어 수단(3)(도 16 참조)은, 계측 데이터의 샘플링 주기에 응한 사이즈로, 버퍼 영역(6)을 동적으로 할당 함과 함께, 계측 데이터의 채널수에 응한 사이즈로, 버퍼 영역(6)을 동적으로 할당한다.
이로써, 낭비가 없어지고, 시스템 전체에서 한정된 메모리를 효율적으로 사용할 수 있다.
또한, 도 21과 같이, 특히 다른 샘플링 조건 사이에서 공통으로 로그되는 CH가 존재하는 경우에는, 복수회 집록될 필요는 없고, 전술(도 19 참조)한 바와 같은 더블 버퍼 구성에 대해, 1회의 집록으로 복수처에 기록되게 된다.
여기서, 도 21에서의 샘플링 조건으로서, 샘플링(a)(CH1 및 CH 2)의 주파수(f12)를 1kHz(CHl CH2의 양쪽을 1kHz로 집록)로 하고, 샘플링(b)(CH2)의 주파수(f2)를 2kHz로 한다.
이 경우, 최초의 일시 기억 처리(스텝 S4E)에서, CH2의 「값1」이 버퍼 영역(6b)에 기록되고, 계속된 스텝 S4E에서, CH2의 「값2」이 버퍼 영역(6a, 6b)에 기 록됨과 함께, CH1의 「값3」이 버퍼 영역(6a)에 기록된다.
이하, 마찬가지로, 다음의 스텝 S4E에서, CH2의 「값4」이 버퍼 영역(6b)에 기록되고, 계속된 스텝 S4E에서, CH2의 「값5」이 버퍼 영역(6a, 6b)에 기록됨과 함께, CH1의 「값6」이 버퍼 영역(6a)에 기록된다.
그 후, 스텝 S6E에서, 각 버퍼 영역(6a, 6b) 내의 데이터 값이, 각각, 데이터 기록 수단(4E) 내의 데이터 기록 영역(7a, 7b)에 전송된다.
도 21에 도시한 데이터 기록 처리의 경우도, 상기한 작용 효과를 이룬다.
특히, 복수 파일 사이에서 공통으로 로깅되는 CH는, 복수회에 걸쳐서 집록될 필요는 없고, 1회의 집록으로, 복수처에 기록될 뿐이기 때문에, 전체로서 로깅에 필요로 하는 부하는 경감된다.
즉, 데이터 입력 수단(1)(AD 보드)의 CH로부터의 데이터 취득 처리가 6회에 대해, 데이터 기록 수단(4E)에의 데이터 기록 처리를 8회 실행하는 것으로 되기 때문에, AD 보드의 CH로부터의 데이터 취득에 관한 처리가 용장성이 없고, 그 정도 만큼, AD 보드의 CH로부터의 데이터 취득에 관한 처리를 고속화할 수 있다.
또한, 상기 처리에 관한 고가의 전용 설비를 필요로 하지 않기 때문에, 데이터 기록 장치를 염가로 실현할 수 있다.
제 8의 실시 형태
또한, 상기 제 1 내지 7의 실시 형태에서는, 특히 언급하지 않았지만, 어는 하나의 데이터 기록 장치를 구비한 검사 장치를 구성하여도 동등한 효과를 이룬다.
이 경우, 인텔리전트 검사 유닛으로 이루어지는 검사 장치에 있어서, 데이터 기록 장치에 기록된 계측 데이터를 이용하여 검사 처리를 실행함에 의해, 여가의 검사 장치를 실현할 수 있다.
제 9의 실시 형태
또한, 상기 제 1 내지 7의 실시 형태의 어느 하나의 데이터 기록 장치를 구비한 제어 장치를 구성하여도 동등한 효과를 이룬다.
이 경우, 시퀀서, 모션 컨트롤러, 수치 제어 장치, 로봇 등의 FA 기기로 이루어지는 제어 장치에 있어서, 데이터 기록 장치에 기록된 계측 데이터를 이용하여, 시퀀스 제어 처리 또는 모션 제어 처리를 실행함에 의해, 염가의 제어 장치를 실현할 수 있다.