DATA · MOV
D Register와 MOV: Scan 순서가 값을 바꾸는 방식
D Register는 숫자를 저장하고, MOV의 위치는 같은 Scan에서 비교와 최종 값에 영향을 줍니다.
D RegisterMOVScan order
D는 숫자를 저장한다
X/Y/M이 ON/OFF 상태를 다루는 Bit라면 D Register는 Setpoint, 현재값, 계산 결과 같은 숫자 데이터를 저장합니다.
MOV K100 D0위 명령은 상수 100을 D0에 복사합니다. rung이 OFF됐다고 D0가 자동으로 0이 되는 것은 아닙니다.
같은 Scan에서 순서가 결과를 바꾼다
PLC가 위에서 아래로 실행되기 때문에 MOV를 먼저 실행하면 아래 비교는 새 값을 봅니다. 비교가 위에 있으면 그 Scan에서는 이전 값을 보고, MOV된 값은 다음 Scan의 비교에서 보게 됩니다.
// A
MOV K110 D0
[D0 >= K100] -> Y0 // same scan: new value is seen
// B
[D0 >= K100] -> Y0 // same scan: old value is seen
MOV K110 D0한 D에 여러 MOV가 쓰면
같은 Scan에서 여러 MOV가 같은 D Register에 값을 쓰면 아래쪽 명령이 나중에 실행됩니다. 그래서 Auto/Manual/Stop 우선순위를 rung 순서로 명확히 해야 합니다.
Y0 AND X5 -> MOV D100 D120
Y0 AND /X5 -> MOV D110 D120
/Y0 -> MOV K0 D120HMI와 D Register
HMI Numeric Input은 지정된 D Register에 직접 숫자를 씁니다. 예를 들어 37.5%를 정수 스케일 0–1000으로 표현하면 D110=375처럼 저장할 수 있습니다.