- 7
- 버그맨
- 조회 수 3102
PLC에서 정수 나눗셈시 주의사항.
1. 나누기 명령을 사용하면 나머지를 사용하지 않아도 나머지가 저장되는 메모리를
다른 용도로 사용하면 원치 않는 결과가 올수 있습니다.
[/ D100 D101 D102] 하면 D102에 몫, D103에 나머지가 저장 됩니다.
이때 D103 메모리를 다른 용도로 사용하면 원치않는 결과가 올수 있습니다.
2. 정수 나눗셈지 소수점 처리
D1 에 34가 저장되어있고 이 값을 10으로 나누면 3.4 가 됩니다.
이값에서 3은 D2에 저장하려 하고 0.4는 D3에 저장하려 합니다.
에서 0.4는 나머지가 아닙니다. 소수점 아래 값입니다.
예) 34 / 10 = 3.4 이지만 ------> 3(몫) + 4(나머지)
34 / 8 = 4.25 이지만 ------> 4(몫) + 2(나머지)
그래서 소수점아래 값이 필요할 경우 어떻게 해야 할까요.
나누기전에 10, 100, 1000을 곱하여 나누어 사용합니다. 물론 소수점은 안찍힘니다.
그래서 x0.1, x0.01, x0.001등의 단위계를 프로그램하는 사람이 묵시적으로 정해놓고 사용합니다.
예를들면 QD75에서 설정단위를 mm로 하면 더블워드 정수인 위치값의 단위계가 x0.1um (x0.0001mm)로 사용합니다.
예) 위치값 = 123456 이면 12.3456mm or 12345.6um 입니다.
이런 경우 굳이 실수를 사용하시겠다면 말리지는 않겠습니다. ^_^
주의할점 한가지 추가.
만약 데이터 영역으로 나눗셈을 할때는 0으로 나누는지 꼭 확인하고 사용하세요.
실수로 0으로 나누면 에러 발생합니다.
잘봤습니다 좋은 지식 나눔 감사합니다.