Operator Library: Memory
이 오퍼레이터는 주로 라인 스캔 카메라 사용 시 필요한 탭 정렬(=센서 보정) 기능을 제공합니다. 또한, 관심 영역(ROI) 지원 기능이 포함되어 있습니다. 총 비트 수(Bit Width 곱하기 Parallelism)는 해당 프레임 그래버의 메모리 제한을 초과해서는 안 됩니다.
이 오퍼레이터는 이미지 스트림을 Frame Grabber RAM (DRAM)에 버퍼링합니다. RAM 유형의 VisualApplets 리소스가 하나 필요합니다('Allocation of Device Resources' 참조).
탭 정렬 기능을 통해 판독 체계가 순차적 래스터 스캔 형식을 따르지 않는 센서를 투명하게 지원할 수 있습니다. 듀얼 탭 베이스 카메라(Parallelism 4 사용 시) 및 쿼드 탭 미디엄 카메라에 가장 널리 사용되는 판독 체계를 지원합니다.
다른 Parallelism의 경우, 이 오퍼레이터를 다른 오퍼레이터와 함께 사용할 수 있습니다.
operator의 지연 시간에 대한 정보는 Table 46, 'Individual Latencies of the Operators in Library Memory'를 참조하십시오.
이 오퍼레이터는 FIFO처럼 작동합니다. 입력된 데이터는 즉시 출력으로 전달됩니다. 그러나 후속 오퍼레이터가 입력 대역폭을 처리할 수 없어 출력이 차단되는 등의 이유로 출력이 막히면 오퍼레이터가 데이터를 저장합니다. 따라서 오퍼레이터가 데이터를 출력할 수 없는 경우에만 메모리가 채워집니다. 보통 이 오퍼레이터는 피크 입력 대역폭을 보정하는 데 사용됩니다.
내부적으로 이미지 버퍼는 이미지 라인 단위로 작동합니다. 이러한 내부 라인 버퍼 기능 덕분에 메모리 지연 시간이 매우 짧습니다. 물론 버퍼에 더 많은 라인이 채워지면 지연 시간은 증가합니다. 예를 들어 메모리로 전송되는 이미지는 즉시 출력으로 전달됩니다. 애플리케이션에서 카메라가 나머지 이미지 라인을 전송하는 동안에도 부분적인 카메라 이미지를 PC로 전달할 수 있습니다.
XOffset, XLength, YOffset 및 YLength 파라미터를 사용하여 ROI 크기를 정의할 수 있습니다. 입력 이미지 너비가 XOffset과 XLength의 합보다 작더라도, 오퍼레이터는 매개변수로 설정된 XLength를 그대로 읽습니다. 이 경우 오퍼레이터는 초과하는 픽셀에 대해 정의되지 않은 메모리 콘텐츠를 출력합니다. 입력 이미지 높이가 요청된 출력 이미지 높이보다 작으면, 오퍼레이터는 사용 가능한 라인만 출력합니다.
Line1D 애플리케이션 모드에서는 YOffset 및 YLength 설정이 버퍼에 영향을 주지 않습니다.
버퍼의 Fill 레벨을 측정하기 위해 연산자는 FillLevel과 Overflow의 2가지 파라미터를 제공합니다. FillLevel은 RAM의 Fill 레벨을 25% 단위의 백분율로 보여줍니다. FillLevel이 100%에 가깝거나 도달했고 버퍼에 저장될 다음 이미지가 RAM 용량을 초과할 때 Overflow 파라미터가 1로 설정됩니다. 오버플로가 발생하면 입력 데이터가 폐기되고 입력 이미지 높이가 줄어듭니다. 따라서 불완전한 이미지가 메모리에 저장됩니다. 사용자는 오버플로 파라미터를 폴링(poll)해야 합니다. 오버플로 상태의 지속 시간이 매우 짧을 수 있으므로 연산자의 폴링 주기 사이에 발생했다가 사라질 수 있습니다.
매개변수 InfiniteSource는 오퍼레이터가 카메라에 직접 연결되어 있는지 또는 다른 메모리 오퍼레이터와 시퀀스되어 있는지를 지정하는 데 사용됩니다. 자세한 내용은 'Infinite Sources / Connecting Cameras'를 확인하십시오.
오퍼레이터 제한 사항
-
빈 프레임은 지원되지 않습니다.
라인 길이가 다양한 이미지는 지원되지 않습니다.
입력 라인 너비는 탭 수와 Parallelism을 곱한 값으로 나누어 떨어져야 합니다.
Frame Grabber RAM (DRAM)을 사용하는 연산자를 통과하는 이론적 대역폭[bits/second]은 다음 공식에 따라 계산됩니다.

그러나 실제 대역폭은 DRAM 효율로 인해 항상 이론적 대역폭보다 작습니다.
연산자를 통과하는 최대 대역폭은 Bit Width와 Parallelism의 곱이 내부 RAM 포트 너비(RAM Port Width)와 같을 때 달성됩니다.
![]() |
플랫폼별 값 |
|---|---|
|
RAM Port Width과 System Clock은 플랫폼 종속적입니다. 개별 플랫폼에 대한 자세한 내용은 Device Resources를 참조하십시오. |
|
Bit Width와 Parallelism의 곱은 네이티브 RAM 데이터 너비를 초과할 수 없습니다. 자세한 내용은 Device Resources를 확인하십시오. |
| XOffset | |
|---|---|
| Type | dynamic/static 읽기/쓰기 파라미터 |
| Default | 0 |
| Range | [0, Max.Img Width - XLength] |
|
이 파라미터는 ROI의 왼쪽 상단 모서리 x 좌표를 정의합니다. 스텝 크기는 parallelism입니다. |
|
| XLength | |
|---|---|
| Type | dynamic/static 읽기/쓰기 파라미터 |
| Default | 1024 |
| Range | [2*Parallelism, Max.Img Width - XOffset] |
|
이 파라미터는 ROI의 너비를 정의합니다. 스텝 크기는 parallelism입니다. |
|
| YOffset | |
|---|---|
| Type | dynamic/static 읽기/쓰기 파라미터 |
| Default | 0 |
| Range | [0, 최대 이미지 높이 - YLength] |
|
이 매개변수는 ROI의 왼쪽 상단 모서리의 y 좌표를 정의합니다. |
|
| YLength | |
|---|---|
| Type | dynamic/static 읽기/쓰기 파라미터 |
| Default | 1024 |
| Range | [1, 최대 이미지 높이 - YOffset] |
|
이 매개변수는 ROI의 높이를 정의합니다. |
|
| SensorCorrection | |
|---|---|
| Type | 동적 읽기/쓰기 매개변수 |
| Default | SMODE_UNCHANGED |
| Range | |
|
사용 가능한 옵션은 다음과 같습니다. ![]() 이 파라미터는 연결된 카메라인 센서 판독 체계를 지정합니다. SMODE_UNCHANGED 및 SMODE_REVERSE는 싱글, 듀얼 및 쿼드 탭 카메라를 지원합니다. SMODE_TAPS2_x는 듀얼 탭(베이스) 카메라를 지원합니다. SMODE_TAP4_x는 쿼드 탭(미디엄) 카메라를 지원합니다. |
|
| FillLevel | |
|---|---|
| Type | dynamic read parameter |
| Default | 0 |
| Range | [0%, 100%] |
|
이 파라미터는 DRAM의 Fill 상태를 25% 단위로 제공합니다. |
|
| Overflow | |
|---|---|
| Type | dynamic read parameter |
| Default | 0 |
| Range | [0, 1] |
|
이 파라미터는 버퍼 오버플로를 나타냅니다. |
|
| InfiniteSource | |
|---|---|
| Type | static parameter |
| Default | ENABLED |
| Range | {ENABLED, DISABLED} |
|
이 파라미터는 카메라 오퍼레이터와 같은 무한 소스 오퍼레이터에 대한 지원을 활성화합니다. 자세한 내용은 'Infinite Sources / Connecting Cameras'를 참조하십시오. |
|
ImageBufferSC 오퍼레이터의 사용법은 다음 예시와 같습니다.

![[참고]](../common/images/admon/note.png)



이전

