PLC 소수점 계산 하는 방법 문의
- 고도리표
- 4938
- 1
안녕하세요. 전기 초보입니다.
다름이 아니라 plc 공부를 하고 있는데요.
소수점 자리가 나오는 것을 도저히 해결을 못하겠네요.
프로그램은 master-k 입니다.
식은 0.005 * (X - 48) 이고 X의 범위는 48-4047 이구요.
만약 49가 입력이 되었을때 D0000에 저장을 한다면 저장되는 값은 얼마인가요?
그리고 D0000을 터치 모니터로 출력하였을 나오는 값을 얼마로 나올까요? (터치모니터는 소수점 자리 표시되게 설정)
0.005 일까요? 아님 그냥 0으로 나오는건가요?
만약 0으로 나온다면 저놈을 0.005로 나오게 할 방법은 없는가요?
일단 수의 범위를 먼저 알고 가셔야 합니다. d0의 최대값(16bit)은 -32768~+32767입니다.
혹은 0~65535입니다. x가 0이 나올수 있다 가정하면 음수를 포함하게 되므로 위의 범위에서 생각하도록 하겠습니다.
일단 수의 트릭을 가지고 사용해 보지요. 무슨 말이냐 하면 1000을 곱해서 생각하는 것입니다.
그러면 0.005는 5로 계산 하는것이지요.
그러면 0이면 -48*5 = 240
그리고 5*(4047-48) = 19995입니다.
그러면 위에서 표시한 부분과 일치하게 됩니다.
하지만 터치에다가 위같이 표시 할수 없지요.
그래서 만들어진것이 스케일입니다. plc에서 값이 얼마일때 hmi에서는 뭐로 표시하겠다 하는 규칙을 정하는 것이지요.
한마디로 위의 계산이 별필요가 없습니다. 그냥 x-48한 값을 d0에 넣으면 됩니다.
hmi에서 정해놓은 스케일로 그냥 읽으면 문제는 바로 해결됩니다.