OMRON FINS
FINS (Factory Interface Network Service) 는 일본 OMRON PLC 의 표준 통신 규약입니다. CJ / CS / CP / NJ / NX 시리즈 등 OMRON 의 거의 모든 시리즈가 FINS/TCP 또는 FINS/UDP 를 지원합니다.
자동차 부품 / 식음료 / 의약품 패키징 라인에서 흔히 만나는 PLC 입니다.
등록 폼 입력값
| 입력 칸 | 무엇을 적나요 | 예시 |
|---|---|---|
| IP 주소 | PLC 의 IP | 192.168.0.110 |
| 포트 | FINS 포트 | 9600 (표준) |
| 네트워크 번호 (network) | FINS 네트워크 번호 | 0 (단일 네트워크) |
| 노드 번호 (node) | PLC 의 노드 번호 | 보통 IP 마지막 옥텟 (110) |
| 유닛 번호 (unit) | 멀티 CPU 환경의 unit | 0 |
PLC 의 CX-Programmer / Sysmac Studio 에서 [내장 이더넷 설정] → FINS/TCP 또는 FINS/UDP 가 활성이어야 합니다.
노드 번호의 정답
OMRON 은 흔히 IP 의 마지막 옥텟을 노드 번호로 씁니다 (예: 192.168.0.110 → 노드 110). 그러나 CX-Programmer 의 [PLC 설정] → [내장 이더넷] 에서 임의로 바꿀 수 있으니 PLC 화면값을 따르세요.
태그의 PLC 주소 표기
OMRON 의 메모리 영역과 짧은 표기:
| 표기 | 영역 | 비고 |
|---|---|---|
D100 | Data Memory 100 | 가장 흔함, 16-bit |
W50 | Work Area 50 | 16-bit |
H10 | Holding Area 10 | 16-bit, 전원 OFF 후에도 유지 |
A100 | Auxiliary Area | 16-bit |
CIO0 | Core I/O word 0 | 16-bit |
CIO0.5 | CIO word 0 의 bit 5 | 1 비트 |
E0_100 | Extended DM bank 0, addr 100 | 16-bit |
비트 / 워드 표기
<영역><번호>→ 16-bit 워드 (예:D100)<영역><번호>.<bit>→ 비트 (예:CIO0.5)<영역><번호>:<자료형>→ 자료형 명시 (예:D100:DINT)
데이터 형식 매칭
| PLC 의 값 | 데이터 형식 | 형식 보조 | PLC 주소 예 |
|---|---|---|---|
| 비트 (CIO bit / W bit) | Boolean | (비움) | CIO0.5, W50.0 |
| 16-bit 정수 | Integer | (비움) | D100 |
| 16-bit 부호없는 | Integer | UI | D100 |
| 32-bit 정수 (D100~D101) | Integer | DW | D100 |
| 32-bit 실수 | Float | REAL | D200 |
| 64-bit 실수 | Double | LREAL | D300 |
| 문자열 (BCD/ASCII) | String | STR[N] | D500 |
OMRON 은 32-bit 데이터를 두 워드 묶음 으로 저장합니다 (예: D100 = lower, D101 = upper). DINT / REAL 을 쓰실 때는 충분한 여유 워드를 비워두세요.
흔한 문제와 해결
| 증상 / 메시지 | 가능한 원인 | 해결 |
|---|---|---|
| “Connection refused” | FINS 가 비활성 | CX-Programmer / Sysmac Studio 에서 FINS/TCP 또는 FINS/UDP 활성화 |
| “Network not found” / “Node not found” | network/node 번호 불일치 | PLC 의 [내장 이더넷 설정] 의 네트워크/노드 값 그대로 입력 |
값이 항상 0 | 영역 mismatch (D 인데 W 로 읽음 등) | 매뉴얼에서 “FINS 메모리 영역 코드” 재확인 |
| 32-bit 실수가 깨짐 | 두 워드 순서 (LSWORD/MSWORD) 차이 | 형식 보조에 REAL (기본) 으로 시도 후 안되면 REAL_LSWORD_FIRST |
자주 쓰는 예시
| 태그 이름 | PLC 주소 | 데이터 형식 | 형식 보조 |
|---|---|---|---|
| 운전 플래그 | CIO0.0 | Boolean | (비움) |
| 생산 카운터 | D100 | Integer | (비움) |
| 압력 (kPa) | D200 | Float | REAL |
| 누적 시간 (h) | D102 | Integer | DW |
| 배치 ID | D500 | String | STR[10] |
더 자세한 예제 / 자동화 등록
고급 — REST API 의 FINS 예제를 참고하세요.