상품
연산 명령 등에서 제1 또는 제2 피연산자와 제3 피연산자에 동일한 데이터 메모리를 사용해도 됩니까?
- 등록일
- 2025. 12. 17.
연산 명령 등에서 제1 또는 제2 피연산자와 제3 피연산자에 동일한 데이터 메모리를 사용해도 됩니까?
그림 1과 같이, 가산 명령/0.00의 상승을 포착하여 1스캔만으로 연산 처리가 완결되는 미분형 프로그램에서는 제1(또는 제2) 피연산자와 제3 피연산자가 동일한 DM이어도 특별히 문제될 것은 없습니다. 다만, 연산 처리 실행 후 D100에 저장되어 있던 피가수 데이터가 삭제되어 버리므로, 디버깅이나 소프트웨어 유지보수의 용이성을 고려하면 제3 피연산자에는 다른 DM을 사용하시기를 권장합니다.
■그림 1 설명
D100에는 처음에 123(BCD)이라는 수치가 저장되어 있었으나, 가산 명령 신호/0.00-ON의 상승 시점에 1스캔 동안 아래의 가산 처리가 실행된 결과, D100의 내용이 123에서 246으로 변화했음을 나타냅니다.
(참고) 그림 1을 매 사이클 실행형으로 설정하고, 가산 명령(0.00)이 ON 상태인 동안 A+B=C를 실시간으로 처리하고자 할 경우, C의 DM 주소는 A, B와 반드시 다른 주소로 설정해야 합니다. 동일한 주소를 사용하면 결과 데이터가 스캔 횟수만큼 순환 처리되어 제3오퍼랜드에 예상치 못한 값이 저장될 수 있습니다.