• 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

PLC에서 연산하고 싶은데 도와주세요.

PLC 기종 Q

 

((현재값/32000)x368+32=

 

4mA-20mA

yokogawa 온도 컨트롤에서 PLC로 아날로그 신호를 받아 화면에 표시할려고 합니다.

 

위에 공식을 PLC에서

적용하면 소수점들이 잘려나가 연산값이 이상하게 나오더라고요

 

 

d/ 현재값 k32000 d100

d* d100 368 d200

d+ d200 k32 d300

 

이렇게했었는데 잘못된곳이 있나요? 

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 6

1등 touro 2021.07.28. 23:52
질문에 명확하게 하지 않은 부분이 있어 제가 이해한 수준에서 설명 드립니다.
현재값을 분해능(32000)으로 나누면 d100에는 몫이, d102에는 나머지가 저장됩니다.
이 경우 무조건 d100(더블워드)에는 0이 저장됩니다.
그러니 4-20mA의 범위값 368과 현재값을 먼저 곱한 후 분해능으로 나누어야 합니다.
그리고 만약 소숫점 한자리를 얻고 싶으면 3680을 곱하고, 소수점 두자리를 얻고 싶으면 36800을 곱하여야 합니다.
소수점 한자리 예
d* 현재값 k3680 d100
d/ d100 k32000 d200
d+ d200 k320 d300
연아아빠 작성자 2021.07.29. 11:37
touro
그렇군요.. 답변 정말 감사합니다. ^^ 많은 도움이 됐습니다.
2등 LKI 2021.07.29. 09:28

질문자님이 하신 프로그램은 정수데이터를 연산하는 방법입니다.

소수점 데이터를 연산하려면 부동소수점데이터로 변환해서 연산해야합니다.

아래의 샘플은 제가 간단히 작성한것이니 참고해서 해보시기 바랍니다.

1.png

연아아빠 작성자 2021.07.29. 11:38
LKI
이런 방법도 있었군요.. 이방법도 적용해서 한번 사용해 보겠습니다. 좋은 정보 감사합니다.^^
3등 아쿠 2021.12.03. 21:25
상세한 설명 감사합니다
권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?