====== MP STUDIO 2 · Modbus 장비 표 ====== 장비 표는 장비가 Modbus RTU 마스터로 인버터ㆍ온도 조절기ㆍ다른 PLC 같은 상대 장치(슬레이브)의 값을 읽고 쓰는 내용을 장치별 표로 정리하는 기능입니다(V1.1.0부터). 같은 장치의 이어진 주소는 한 번의 통신으로 묶어 읽고, 쓰기는 값이 바뀔 때만 보냅니다. 래더의 ''MBTRIG'' 펑션으로 원하는 순간에만 보내도록 할 수도 있습니다(V1.2.0부터). {{ :products:mp_studio:mb-table.png?1000 |그림 1. 장비 표 창(동봉 Modbus 예제를 표로 옮긴 모습) }} ===== 장비 표 열기 ===== **설정 → Modbus RTU 마스터**를 선택하면 열립니다. 새 프로젝트와 장비 표가 있는 프로젝트는 장비 표 창이 열립니다. 기존 MP STUDIO에서 만든 목록만 있는 프로젝트(동봉 Modbus 예제 등)는 [[products:mp_studio:menus_settings#modbus_rtu_마스터|Modbus RTU 마스터 목록 창]]이 열리며, 그 창의 **표로 옮기기**로 장비 표로 바꿀 수 있습니다([[#옛_목록을_표로_옮기기|아래]]). 통신 포트 창에서 **Modbus RTU Master**로 설정한 포트가 있으면 그 창의 **Modbus 장비 표 열기** 단추로도 열 수 있습니다. ===== 창 구성 ===== ==== 위 줄 ==== ^ 항목 ^ 설명 ^ | 포트 | 장비 표를 쓸 통신포트(통신포트1~통신포트3)를 고릅니다. 포트마다 등록한 장치 수가 함께 표시됩니다. | | 속도 | 그 포트의 통신 설정입니다. 누르면 통신 포트 창이 열립니다. | | 한 바퀴 | 폴링하는 읽기ㆍ쓰기를 한 번 도는 데 걸리는 예상 시간입니다. | | 램ㆍ플래시 | 장비 표가 장비에서 쓰는 메모리입니다. «옛 방식 약 N KB»는 같은 내용을 기존 목록 방식으로 넣었을 때의 크기입니다. | 확인을 누르면 고른 포트가 **Modbus RTU Master**로 바뀌고, 그 포트의 다운로드 사용이 꺼집니다. 아직 Master가 아닌 포트를 고르면 창 위에 이 안내가 표시됩니다. ==== 장치 ==== 왼쪽 목록에서 **+ 장비 추가**로 장치를 더하고, **복제**ㆍ**장비 삭제**로 복사하거나 지웁니다. 장치를 고르면 오른쪽 위에 설정이 표시됩니다. ^ 항목 ^ 기본값 ^ 설명 ^ | 이름 | 장비 N | 표시용 이름입니다. | | 국번 | 비어 있는 번호 | 0~247. 같은 포트에서 겹치지 않아야 합니다. 0은 방송(쓰기만)입니다. | | 응답 대기(ms) | 100 | 20~60000. 응답을 기다리는 시간입니다. | | 다시 시도(회) | 2 | 0~10. 응답이 없을 때 다시 보내는 횟수입니다. | | 재확인 간격(초) | 5 | 1~3600. 다시 시도해도 응답이 없는 장치는 건너뛰고, 이 간격마다 다시 확인합니다. | | 워드 순서 | 하위 워드 먼저 (CDAB) | 2워드(32비트) 값의 워드ㆍ바이트 순서입니다. | | 한 번에 읽는 최대 | 자동 | 한 번의 통신으로 읽는 최대 개수입니다. 비워 두면 기종에 맞게 정해집니다. | | 추가 대기(ms) | 0 | 0~10000. 통신 사이에 더 기다리는 시간입니다. | | 상태 칸 | 비움(안 씀) | 장치 상태를 받을 워드 주소입니다. **자동**을 누르면 비어 있는 D 워드를 고릅니다. | 상태 칸에는 비트 0 = 연결됨, 비트 1 = 건너뛰는 중, 상위 바이트 = 마지막 오류가 들어가며, 0이면 연결되지 않은 상태입니다. ==== 줄 ==== 장치와 주고받을 값을 한 줄씩 적습니다. ^ 칸 ^ 설명 ^ | 방향 | 읽기ㆍ쓰기. 기능에 따라 정해집니다. | | 기능 | ''FC01''~''FC06'', ''FC15'', ''FC16'' 중에서 고릅니다. | | 장비 주소 | 상대 장치의 주소(0~65535)입니다. | | 개수 | 1이면 값 하나, 2 이상이면 PLC 주소부터 이어진 범위입니다. | | PLC 주소 | 값을 주고받을 장비 메모리입니다(예: ''D10''). | | 형 | PLC 주소에 따라 정해지는 자료형입니다. | | 설명 | 메모입니다. | | 트리거 | 비워 두면 폴링합니다. 1~255를 적으면 래더의 ''MBTRIG''가 부를 때만 보냅니다([[#트리거_전송_mbtrig|아래]]). | | 프레임 | 이 줄이 들어간 통신 번호입니다. 아래 **실제로 나가는 프레임** 목록의 번호와 같습니다. | **+ 줄 추가**로 줄을 더합니다. 엑셀에서 «기능 · 장비 주소 · 개수 · PLC 주소 · 설명 · (트리거)» 순서로 복사해 **줄 붙여넣기(엑셀)**를 누르거나 표에 ''Ctrl+V''하면 여러 줄을 한 번에 넣을 수 있습니다. ''Enter''는 다음 줄, ''Ctrl+Delete''는 줄 삭제입니다. 창 아래 **실제로 나가는 프레임**에는 장비가 실제로 보내는 통신이 차례대로 표시되고, 맨 아래에는 «값 N개면 옛 방식 N번 → 표 M번»처럼 기존 목록 방식과 비교한 통신 횟수가 표시됩니다. **확인**을 누르면 적용되며, 프로젝트를 저장해야 파일에 남습니다. ===== 읽기와 쓰기 ===== * **읽기:** 같은 장치ㆍ같은 기능의 이어진 장비 주소는 한 번의 통신으로 묶어 읽습니다. 그림 1의 #1은 주소 5와 6을 한 번에 읽습니다. PLC 쪽 주소는 이어지지 않아도 됩니다. 비어 있는 주소는 채워 읽지 않으며, 한 번에 읽는 최대를 넘으면 나누어 읽습니다. * **차례:** 장치는 한 번에 하나씩 차례로 통신합니다. * **쓰기:** 시작할 때 모든 쓰기 값을 한 번 보내고, 그 뒤에는 값이 바뀌었을 때만 보냅니다. 쓰기만 있는 장치에는 약 5초마다 다시 보냅니다. * **응답이 없을 때:** 다시 시도 횟수만큼 다시 보내고, 그래도 응답이 없으면 그 장치를 건너뛰고 재확인 간격마다 다시 확인합니다. ===== 트리거 전송(MBTRIG) ===== 트리거 번호를 단 줄은 래더의 ''MBTRIG'' 펑션이 부를 때만 보냅니다. 버튼을 눌렀을 때만 설정값을 보내거나, 필요할 때만 값을 읽을 때 사용합니다. - 보낼 줄의 **트리거** 칸에 번호(1~255)를 적어주시기 바랍니다. 창 아래에 트리거 표가 나타납니다. - 보내기가 끝난 것을 래더에서 알고 싶으면 트리거 표의 **완료 칸**에 비트 주소(예: ''M100'')를 적어주시기 바랍니다. - **확인**을 눌러주시기 바랍니다. - 래더에 ''MBTRIG'' 펑션을 넣고 같은 번호를 적어주시기 바랍니다. 펑션 판 **Serialport** 분류의 **MBTRIG: Send Modbus Trigger**를 고르거나, 펑션 삽입 창(''Ctrl+E'')에 ''MBTRIG 1''처럼 입력합니다. {{ :products:mp_studio:mb-trigger.png?1000 |그림 2. 운전지령 쓰기 줄에 트리거 1과 완료 칸 M100을 정한 모습 }} {{ :products:mp_studio:mb-trigger-rung.png?900 |그림 3. M10이 켜질 때 트리거 1을 보내는 렁 }} * ''MBTRIG''의 입력이 꺼짐에서 켜짐으로 바뀔 때마다 그 번호의 줄을 한 번 보냅니다. 입력을 켜 둔 채로는 반복하지 않습니다. 전원을 넣을 때 이미 켜져 있는 입력은 한 번 보냅니다. * 읽기 줄과 쓰기 줄 모두 쓸 수 있습니다. 쓰기 줄은 값이 바뀌지 않았어도 보낼 때의 값을 보냅니다. * 같은 번호의 줄은 함께 나가며, 주소가 이어지면 한 번의 통신으로 묶입니다. 한 포트의 여러 장치에 같은 번호를 쓸 수 있지만, 다른 포트에 같은 번호는 쓸 수 없습니다. * 보내기 전에 여러 번 불리면 한 번만 보내고, 보내는 중에 불리면 끝난 뒤 한 번 더 보냅니다. * 완료 칸은 보내기가 끝나면 성공ㆍ실패와 관계없이 한 스캔 동안 켜집니다. 실패 이유는 그 장치의 상태 칸에서 확인합니다. * 트리거 번호가 있는 줄은 시작할 때 저절로 보내지 않습니다. 번호가 없는 줄은 그대로 폴링합니다. * ''MBTRIG''의 번호는 1~255의 상수이고 장비 표에 있는 번호여야 합니다. 아니면 칸이 붉게 표시되고 컴파일되지 않습니다. 래더에 ''MBTRIG''가 없는 번호의 줄은 트리거 표에 «래더에 MBTRIG 1 이(가) 없어 나가지 않습니다»가 표시됩니다. ===== 옛 목록을 표로 옮기기 ===== 기존 Modbus RTU 마스터 목록이 있는 프로젝트는 목록 창 왼쪽 아래의 **표로 옮기기**를 누르면 장비 표로 바뀝니다. 목록은 비워지고 장비 표 창이 열리며, «옛 목록 4행을 장비 1대의 표로 옮겼습니다»처럼 결과가 표시됩니다. 2워드 값의 줄은 ''FC16'' 줄이 됩니다. * 읽을 수 없는 줄이 있거나 이미 장비 표가 있으면 옮기지 않습니다. * 옮기면 컴파일 결과가 바뀝니다. **편집 → 실행취소**(''Ctrl+Z'')로 되돌릴 수 있습니다. * 장비 표와 기존 목록을 함께 쓸 수는 없습니다. ===== 모니터링 중 장치 상태 ===== 모니터링 중에 장비 표 창을 열면, 상태 칸을 정한 장치의 카드에 상태가 표시됩니다. 상태는 고른 포트의 장치만 읽습니다. ^ 표시 ^ 뜻 ^ | ● 연결됨 | 정상으로 응답합니다. | | ▲ 연결됨 · 오류 | 응답은 있지만 오류가 있습니다(예외 응답 01~06, CRC 오류 등). | | ⏸ 건너뛰는 중 | 응답이 없어 건너뛰고 있습니다. 재확인 간격마다 다시 확인합니다. | | ✕ 연결 안 됨 | 연결되지 않았습니다. | 회색 ○는 장비 프로그램이 이 프로젝트와 다르거나 PLC가 응답하지 않는 등 표시된 상태를 믿을 수 없을 때이며, 그 이유가 함께 표시됩니다. ―는 상태 칸을 정하지 않은 장치입니다. ===== 시뮬레이션 ===== 시뮬레이션하면 장비 표의 장치가 가상 Modbus 슬레이브로 동작하고, 시뮬레이션 막대에 **가상 장비 N대**가 표시됩니다. 장비 표 창의 **가상 장비 값** 탭에서 읽기 값을 바꾸고 쓰기 값을 볼 수 있으며, **응답 없음**을 켜면 그 장치가 응답하지 않는 상황을 시험할 수 있습니다. {{ :products:mp_studio:mb-sim.png?1000 |그림 4. 시뮬레이션 중인 장비 표의 가상 장비 값 }} * 가상 장비의 값은 저장되지 않습니다. * ''MBTRIG''와 완료 칸도 시뮬레이션됩니다. 예외 응답과 CRC 오류는 시뮬레이션되지 않습니다. * 문제가 있는 장비 표와 기존 목록은 시뮬레이션되지 않습니다. ===== 확인할 점 ===== * 장비 표를 쓰는 포트는 **Modbus RTU Master**이고 **이 채널을 다운로드에 사용**이 꺼져 있어야 합니다. 장비 표에서 확인을 누르면 이렇게 바뀝니다. * 장비의 램이 모자라면 컴파일되지 않습니다. 장치나 줄을 줄이거나 메모리 영역 크기를 줄여주시기 바랍니다. * 받는 칸이 [[products:mp_studio:device_clock|장비 시계(RTC)]] 블록과 겹치면 받은 값이 시각으로 덮어써진다는 경고가 표시됩니다. * 장비 표는 프로젝트 파일(''.mpx'')에 저장됩니다. 트리거를 쓴 파일은 V1.1.0에서 열 수 없습니다. ===== 관련 문서 ===== * [[products:mp_studio:menus_settings#modbus_rtu_마스터|Phase 9 · 메뉴와 설정 — Modbus RTU 마스터]] * [[products:mp_studio:download#통신_포트|Phase 6 · 통신 포트]] * [[products:mp_studio:simulation|Phase 8 · 시뮬레이션]] [[products:mp_studio|← MP STUDIO 2 사용설명서로 돌아가기]]