- 0
- 코주부
- 조회 수 7627
질문)
제가 xgt plc 인데 가스량을 일일 적산하려고 합니다.
아날로그 레인지는 0-16000 이고 레치 영역 D500에 저장할려고 합니다.
물런 1일 리셋인데 그건 제가 plc타이머 받아서 24시 되면 클리어 해주면 돼고요.
필요한거 적산하는 프로그램 예제 좀 부탁드릴께요
답변)
가스량의 단위가 어떻게 되는지 알아야 하지요. 0~16000 이라는 값이 순시유량인것 같은데
시간당 인지 분당 인지 알아야 합니다.
만일 분당(Liter/min) 유량이라면
{순시값 + 나머지값} / 60 = 몫(결과값) --> 초당 순시값
몫(결과값) + 적산값 = 적산값 --> 초 간격으로 누적하여 적산량 산출(정주기 1초 태스크에서 수행)
{순시값 + 나머지값} % 60 = 나머지값 --> 나머지를 피제수에 되돌려 주어 오차를 보정
주) / 는 제산 몫 구하기 명령, % 는 제산 나머지 구하기 명령입니다.
특히 주의할 점은 위의 프로그램은 반드시 정주기 태스크 프로그램에서 작성하고 태스크 수행 주기를 1초로 설정해야 합니다.
위의 내용 이외의 프로그램은 모두 스켄 프로그램에서 작성합니다.
만일 순시값 단위가 시간당(Liter/hr)이면 제수를 3600으로 하면 됩니다.
마지막으로 산출된 적산값은 용량단위에 맞는 공업치로 환산하여야 합니다.
보통 이정도면 정확한 적산값이 나오는데 좀더 적확하게 하려면 유량 변화가 1초 동안에도 크게 변한다면
아날로그 모듈의 샘플링 주기를 알아내어 만일 10msec 라면 1초 동안에 100번 샘플링하므로 아날로그펑션에서
횟수평균(50회 정도)으로하여 입력값을 적용하고, 필터상수값을 50~80 정도로 적용하면 노이즈 등에 의한 허수를
제거하여 더욱 적확한 값을
얻을 수 있습니다.
또한 정주기 태스크 주기를 0.5초로 하고 제수를 분당의 경우 120, 시간당의 경우 제수를 7200 으로 하면
같은 결과가 나오는데 정확도는 더 높아지겠지요.
그러나 유량변동 곡선이 대체로 완만한 경우에는 위에 설명한 간단한 프로그램으로도 충분합니다.
댓글 0
권한이 없습니다.