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초마다 시각을 올립니다.
창 아래에는 이 기능이 쓰는 플래시ㆍ램과 처리 시간(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 시각으로 맞추기를 눌러주시기 바랍니다.
창에는 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 수명을 빠르게 줄이기 때문입니다. 블록을 정전유지 구간 밖으로 옮기거나 구간을 줄여주시기 바랍니다(데이터 메모리).
- 시계 모듈은 SDA 핀을 쓰므로, 같은 핀을 카운터ㆍ엔코더 입력으로 쓸 수 없습니다.
- 장비 시계를 쓴 프로젝트 파일(
.mpx)은 V1.1.0에서 열 수 없습니다.


