상품

논록인 어나운서 회로를 알려주세요.

등록일
2025. 12. 17.

논록인 어나운서 회로를 알려주세요.



아나운시어터(annunciator)는 FA 현장의 집중 감시 장치로 널리 사용되는 이상 경보 표시판으로, 논록인 방식과 록인 방식의 두 종류가 있습니다.

<논록인 방식 아나운시어터>
경보 입력 신호의 기억 기능이 없으며, 경보 입력이 ON일 때만 경보 처리를 수행하고, 경보 입력이 OFF가 되면 경보를 중지합니다.

32점식 논록인 아나운시이터 회로를 예로 들어, 아래에 프로그램 구성 방법을 설명합니다.
32点式ノンロックイン・アナンシェータのタイムチャート
32점식 논록인 아나운서터의 타임 차트


<동작 설명>
경보 입력이 ON되면, 입력이 ON인 동안 경보 표시 출력을 1초 간격으로 점멸시키고 경보 부저를 울립니다.
부저 정지 PB를 누르면 부저를 정지시키고 경보 표시 출력도 점등으로 전환합니다.
램프 테스트 버튼을 누르고 있는 동안, 모든 경보 표시 출력을 점등시킵니다.

<프로그램 구성 방법>
이와 같은 32점의 입출력에 대해, 아나운서 회로를 32점 작성하면 프로그램이 커져 이해하기 어려워집니다.
기존에는 이와 같은 동일한 회로를 여러 개 생성할 경우 인덱스 레지스터로 반복 처리를 수행했습니다.
그러나 인덱스 레지스터 방식에서는 포인터 역할을 하는 인덱스 레지스터의 내용을 확인하기 어렵고, 잘못된 반복 처리가 이루어지면 I/O 메모리의 지정 범위를 벗어나 예상치 못한 영역까지 덮어쓰게 되어도 알 수 없는 등의 문제가 있었습니다.
여기서는 이러한 문제를 해결하는 방법으로 ① 주소 오프셋 방식과 ② 기능 블록 방식을 소개합니다.
또한, 말미에 기존의 ③ 인덱스 레지스터 방식에 대해서도 첨부하고 있습니다.
각 방식의 특징과 아래 표의 대응 기종을 확인하시고, 목적에 맞는 적절한 프로그램 작성을 부탁드립니다.

방식
대응 기종
주소 오프셋 방식
CJ2M, CJ2H, NJ ※1, NX ※1
기능 블록 방식
CP1L, CP1H, CJ1M, CS1,
CJ2M, CJ2H, NJ ※1, NX ※1
인덱스 레지스터 방식 CP1L, CP1H, CJ1M, CS1, CJ2M, CJ2H

※1 ・・・ 개발 도구는 Sysmac Studio입니다. (기재 없는 기종은 CX-Programmer로 개발)


① 주소 오프셋 방식

I/O 메모리를 배열 변수로 정의하고, 포인터도 변수 정의함으로써 배열 내 몇 번째 데이터인지를 [ ] 안에 포인터의 첨자로 지정합니다.
경보 입력: AlarmIn은 32점이 있으므로 BOOL형(비트 단위)으로 32개의 배열이 됩니다.
예를 들어 3번째 경보 입력을 참조할 경우 AlarmIn[3]으로 표현하며, 포인터 ptr번째 경보 입력은 AlarmIn[ptr]으로 표현합니다.
포인터 ptr에 가감산을 수행함으로써 참조하고자 하는 위치의 데이터를 지정할 수 있습니다.
포인터 ptr은 UINT형(부호 없는 정수)이므로 내용을 모니터링할 수 있고, 배열 범위를 벗어나지 않았는지도 쉽게 확인할 수 있습니다.

변수 ・・・ 메모리의 서랍과 같은 것으로, 서랍과 마찬가지로 이름의 레이블, 크기나 형태: 형, 칸막이 등이 있습니다.
배열 ・・・ 메모리의 하나의 서랍 안에 칸막이를 넣어 여러 등분으로 나눈 데이터의 집합입니다.

アドレスオフセット方式_ファンクションブロック方式_共通_変数テーブル (①と②共通) 변수 테이블 (①과 ② 공통)


アドレスオフセット方式_ラダープログラム① (ここではモニタのしやすさを考慮し複数スキャンに跨って繰り返し)
래더 프로그램① (여기서는 모니터링 용이성을 고려하여 여러 스캔에 걸쳐 반복)



② 함수 블록 방식

①에서는 I/O 메모리의 32개 접점을 전체 주소 분량으로 묶어 하나의 배열 변수로 만들고 주소 분량만큼 처리를 반복하여 구현했지만, ②에서는 I/O 메모리의 1개 어댑터 분량을 하나의 덩어리(객체)로 만들어 주소 정보를 가지지 않는 함수 블록 정의(설계도)로 묶어 처리합니다.
변수를 사용하는 것은 ①과 같지만, 여기서는 기능 블록 정의로 설계된 어댑터의 처리를 32개 주소 분 인스턴스(제품에 해당)를 나열하여 프로그래밍합니다.
물체(객체)에 주목하여 프로그래밍하기 때문에 이러한 방식을 객체 지향 프로그래밍이라고 부릅니다.
함수 블록 정의의 설계 방법은 단순히 하나의 아날로그 센서를 설계하는 것과 동일한 방법으로 설계할 수 있습니다.
한 번 함수 블록 정의를 설계하면, 아날로그 신호 처리기의 수가 늘어나거나 줄어들어도 인스턴스를 추가하거나 삭제하기만 하면 대응할 수 있으며, 아날로그 신호 처리기의 처리가 변경되어도 정의를 다시 작성하기만 하면 모든 인스턴스에 반영됩니다.
또한 반복 처리가 없으므로 잘못된 I/O 메모리 영역을 재기록할 염려도 없으며, 하나의 아나운서마다 입출력을 도표로 확인하면서 디버깅할 수 있습니다.

ファンクションブロック方式_ラダープログラム②(ファンクションブロックの外側のプログラム)と説明
래더 프로그램②(기능 블록 외부 프로그램)과 설명

ファンクションブロック方式_ファンクションブロック定義:内部変数と入力/出力パラメータ (通常はアドレス情報を持たない) 기능 블록 정의: 내부 변수와 입력/출력 파라미터 (일반적으로 주소 정보를 가지지 않음)

ファンクションブロック方式_ファンクションブロック定義:ラダープログラム (1個のアナンシェータ回路と同じ) 함수 블록 정의: 래더 프로그램 (1개의 아난셰타 회로와 동일)



③ 인덱스 레지스터 방식

기존 방식의 인덱스 레지스터 방식 프로그램은 아래 첨부 자료를 참조하십시오.
~「인덱스 레지스터를 활용하자」 시리즈에서~
indexreg1.pdf