====== MP STUDIO 2 · 장비 시계(RTC) ====== 장비 시계는 장비에 연결한 외장 DS3231 시계 모듈의 날짜와 시각을 장비가 0.1초마다 D 영역 16칸에 올려, 래더에서 바로 읽을 수 있게 하는 기능입니다(V1.2.0부터). PC 시각으로 맞추는 창과, 시계 모듈이 없을 때 장비가 스스로 시각을 세는 내부 시계도 함께 제공합니다. 장비에는 시계 모듈이 들어 있지 않으므로 DS3231 모듈(I²C 주소 0x68)을 장비의 I²C 단자에 연결해 사용합니다. 연결 핀은 제품별 페이지에서 확인해주시기 바랍니다. 모듈은 캐릭터 LCD 등 다른 I²C 장치와 같은 선을 함께 씁니다. ===== 켜기 ===== - **설정 → RTC(시계)…**를 선택해주시기 바랍니다. - **장비 시계(RTC) 쓰기**를 켜주시기 바랍니다. - **시작 주소**에 D 영역 주소를 적어주시기 바랍니다(기본 ''D100''). 시작 주소부터 16칸(''D100''~''D115'')을 씁니다. - **확인**을 누른 뒤 프로그램을 다운로드해주시기 바랍니다. 다운로드한 뒤부터 장비가 0.1초마다 시각을 올립니다. {{ :products:mp_studio:rtc-settings.png?640 |그림 1. RTC(시계) 창 }} 창 아래에는 이 기능이 쓰는 플래시ㆍ램과 처리 시간(0.1초마다 약 0.4 ms)이 표시됩니다. 끄면 컴파일되는 프로그램은 한 바이트도 바뀌지 않습니다. **심볼 표에 이름 넣기**를 누르면 ''RTC_YEAR''…''RTC_REQ'' 이름이 심볼 테이블에 들어가 래더에서 주소 대신 이름으로 쓸 수 있습니다(선택). ===== 16칸 구성 ===== 값은 10진수로 들어갑니다. 아래는 시작 주소가 ''D100''일 때입니다. ^ 주소 ^ 읽기(장비가 0.1초마다 씀) ^ 범위 ^ | ''D100'' | 년 | 2000~2099 | | ''D101'' | 월 | 1~12 | | ''D102'' | 일 | 1~31 | | ''D103'' | 요일 | 1~7(1 = 일요일) | | ''D104'' | 시 | 0~23 | | ''D105'' | 분 | 0~59 | | ''D106'' | 초 | 0~59 | | ''D107'' | 상태 | 0 정상 · 1 모듈 없음(내부 시계) · 2 멈췄던 적 있음 | ^ 주소 ^ 맞추기(PCㆍHMIㆍ래더가 씀) ^ 설명 ^ | ''D108''~''D114'' | 맞출 년ㆍ월ㆍ일ㆍ요일ㆍ시ㆍ분ㆍ초 | 범위는 읽기와 같습니다. | | ''D115'' | 맞추기 요청 | 1을 쓰면 맞춥니다. 끝나면 0, 값이 잘못되었으면 2가 됩니다(시계는 그대로). | 래더나 HMI에서 시각을 맞추려면 ''D108''~''D114''에 맞출 값을 쓴 뒤 ''D115''에 1을 써주시기 바랍니다. 상태가 2이면 모듈 배터리가 빠지는 등으로 시계가 멈췄던 적이 있다는 뜻이니 시각을 다시 맞춰주시기 바랍니다. ===== PC 시각으로 맞추기 ===== - 장비 시계를 켜고 다운로드한 장비를 모니터링(''Ctrl+M'')해주시기 바랍니다. 시뮬레이션 중에도 쓸 수 있습니다. - **실행 → 장비 시계 맞추기…**를 선택해주시기 바랍니다. - **PC 시각으로 맞추기**를 눌러주시기 바랍니다. {{ :products:mp_studio:rtc-sync.png?540 |그림 2. 장비 시계 맞추기 창(시뮬레이션 중이라 가상 시계로 표시) }} 창에는 PC 시각과 장비 시각, 그 차이(«맞음 (±1 초)» 또는 «장비가 N 느림ㆍ빠름»)가 표시됩니다. 맞추기는 다음 초가 바뀌는 순간에 닿도록 보내고, 맞춘 뒤 장비 시각을 다시 읽어 실제로 맞았는지 확인합니다. * 장비 시계가 켜져 있고, 모니터링 또는 시뮬레이션 중이며, 장비 프로그램이 이 프로젝트와 같다고 확인될 때만 맞출 수 있습니다. 조건이 맞지 않으면 단추가 꺼지고 이유가 한 줄로 표시됩니다. * 장비 프로그램이 같다는 것은 이 PC의 MP STUDIO 2로 그 포트(COM 또는 IP)에 이 프로그램을 다운로드한 기록으로 확인합니다. 확인되지 않으면 다운로드한 뒤 모니터링을 다시 켜주시기 바랍니다. * 시계 모듈이 없으면 장비 내부 시계를 맞추며, 전원을 끄면 시각을 잃는다고 안내합니다. * S1 포트는 값 쓰기를 받지 않아 맞출 수 없습니다. 다운로드 포트로 연결해주시기 바랍니다. ===== 모니터링을 켤 때 확인 ===== 실제 장비의 모니터링을 켤 때 장비 시각이 PC와 5초 이상 다르면 «장비 시계가 PC 보다 N 느립니다 — PC 시각으로 맞출까요?»처럼 한 번 묻습니다. **예**를 누르면 위와 같은 방법으로 맞춥니다. 시계가 멈췄던 적이 있으면(상태 2) 모듈 배터리를 확인하라는 질문이 대신 표시됩니다. 장비 프로그램이 이 프로젝트와 같다고 확인될 때만 묻고, 시뮬레이션에서는 묻지 않습니다. ===== 시계 모듈이 없을 때(내부 시계) ===== * 모듈이 없거나 빠지거나 읽기에 실패하면 상태가 1이 되고, 장비가 스스로 시각을 세어 계속 올립니다. 스캔은 멈추지 않습니다. * 모듈 없이 전원을 넣으면 2000-01-01 00:00:00부터 셉니다. 전원을 끄면 시각을 잃습니다. * 모듈을 다시 꽂으면 모듈의 시각을 따릅니다. 배터리가 없어 시각을 잃은 모듈도 그 값을 따르므로 다시 맞춰주시기 바랍니다. * 내부 시계는 모듈보다 덜 정확합니다(한 장비에서 하루 약 -2.3초). ===== 시뮬레이션 ===== 시뮬레이션에서는 가상 시계가 동작합니다. 시뮬레이션을 시작할 때 PC 시각에서 출발해 시뮬레이션 시간에 따라 흐르며, 일시 정지나 한 스캔씩 진행하면 PC보다 늦어집니다. 시뮬레이션을 다시 시작하면 PC 시각으로 돌아갑니다. 상태는 항상 0입니다. 래더의 ''DS3231_RD''ㆍ''DS3231_WR'' 펑션도 같은 가상 시계를 씁니다. ===== 확인할 점 ===== * 16칸 블록이 정전유지(EEPROM) D 구간과 겹치면 컴파일과 다운로드가 되지 않습니다. 시각 칸이 계속 바뀌어 EEPROM 수명을 빠르게 줄이기 때문입니다. 블록을 정전유지 구간 밖으로 옮기거나 구간을 줄여주시기 바랍니다([[products:mp_studio:memory_symbols#데이터_메모리|데이터 메모리]]). * 래더가 읽기 칸(''D100''~''D107'')에 쓰거나 [[products:mp_studio:modbus_device_table|Modbus 장비 표]]의 받는 칸이 블록과 겹치면 노란 경고가 표시됩니다. 경고는 컴파일을 막지 않습니다. * 시계 모듈은 SDA 핀을 쓰므로, 같은 핀을 카운터ㆍ엔코더 입력으로 쓸 수 없습니다. * 장비 시계를 쓴 프로젝트 파일(''.mpx'')은 V1.1.0에서 열 수 없습니다. ===== 관련 문서 ===== * [[products:mp_studio:monitoring|Phase 7 · 모니터링과 데이터 테이블]] * [[products:mp_studio:memory_symbols|Phase 5 · 메모리와 심볼]] * [[products:mp_studio:menus_settings|Phase 9 · 메뉴와 설정]] [[products:mp_studio|← MP STUDIO 2 사용설명서로 돌아가기]]