GX-WORKS2 타이머
어떤 일이든 그렇지만 PLC프로그램을 잘 작성하기 위해서는 기본이 탄탄해야 합니다.
PLC프로그래밍의 기본은 기본적인 명령어와 특수릴레이, 타이머, 카운터 같은
기능들이 그 대표적인 예입니다.
그중에서 오늘은 GX-WORKS2로 타이머를 사용해 보겠습니다.
먼저 GX-WORKS2를 실행시키고 바로 F5를 눌러서 A접점 입력을 하나 생성해 보겠습니다.
Address(Device)는 M0입니다.
그다음 F7을 눌러서 출력코일을 생성하고 타이머를 집어넣어 보겠습니다.
타이머는 출력코일에 넣어야 하며, 작성법은 (T1 K100)과 같이 영문자 "T"뒤에 타이머번호를 붙이고,
한칸 띄운뒤 영문자"K"와 상수를 붙여서 입력하면 됩니다.
GX-WORKS2에서는 10진수 정수를 입력할때 꼭 앞에 "K"를 붙여야 합니다.
만약에 어떤 지정된 숫자가 아닌 Address로 지정하고 싶다면 "D" Address를 입력하면 됩니다.
작성법은 (T1 D10)입니다.
이렇게 D address를 지정해 두면 D address에 값을 바꾸면 그때마다 해당 Address를 사용하는 타이머의
숫자도 따라서 변경이 되겠지요?
자. 이제 타이머를 만든 화면을 확인해 보면 아래와 같이 되어 있을것입니다.
이 프로그램은 입력접점 M0가 ON되면 타이머 T1이 구동하여 10초가 되면 타이머(T1)의 출력이 ON 됩니다.
K100을 넣었는데 왜 10초냐면 기본적인 "T"로 시작하는 타이머는 일명 "저속타이머"이기 때문에
0.1초 단위로 동작을 합니다.
즉 K1 = 0.1초, K10=1초, K100=10초인 것입니다.
이제 타이머 T1의 출력이 ON되는 것을 확인하기 위해 프로그램을 한줄 더 만들어 보겠습니다.
F5로 입력A접점을 생성한 후 "T1"이라고 입력해 보겠습니다.
그럼 아래쪽 화면과 같이 입력접점T1이 만들어 지는것을 확인 할 수 있습니다.
이 입력접점T1은 타이머T1이 지정된 시간이 모두 흘러서 ON되면, 같이 ON되는 입력접점입니다.
더 정확하게 확인해보기 위해 입력접점T1에 출력코일을 하나 연결해 보겠습니다.
출력코일 Address는 M100으로 지정해 보았습니다.
이제 F4를 눌러 컴파일을 한 뒤 시뮬레이터를 실행해 보겠습니다.
시뮬레이터를 실행한 뒤 M0를 ON시키면 타이머T1이 진행되는것을 확인 할 수 있습니다 (아래화면 참조)
10초가 모두 흐르고 나면 타이머T1의 숫자는 100에서 더이상 증가하지 않으며,
두번째 렁의 입력접점T1이 ON되고 그에 따라
출력코일 M100도 ON되는 것을 확인 할 수 있습니다. (아래화면 참조)
자 만약에 아래화면과 같이 첫번째렁에 M100 Address를 B접점으로 넣어두면 타이머 T1이 10초가 흘러
ON될때마다 M100도 같이 ON되므로 타이머T1을 ON시켜주는 M0로 부터의 신호를 끊어주게 되어
자동으로 리셋하게 됩니다.
그래서 자동으로 계속 다시 타이머 T1을 구동시키고 리셋하게 되는 프로그램으로 바뀝니다.
지금까지 알아본 타이머가 가장 기본이 되는 저속타이머이며,
저속타이머는 아까 위에서 얘기한대로 K 상수와 D 워드를 사용 할 수 있습니다.
아울러 사용가능한 수의 크기는 1~32767까지 유효함을 기억해야 합니다.
타이머에는 저속타이머, 고속타이머, 저속적산타이머, 고속적산타이머가 있습니다.
타이머의 동작과 출력은 아래 표를 참조하시기 바랍니다.
그럼 다음으로 고속타이머를 사용해 보겠습니다.
타이머T1을 더블클릭하면 입력창이 다시 뜨는데, (H T1 K100)이라고 입력 하면 됩니다.
그리고 F4를 눌러 컴파일을 한 뒤, 시뮬레이터를 실행하고 M0를 ON해보겠습니다.
그럼 타이머T1의 숫자 증가가 아까보다 훨씬 빠르다는 것을 알 수 있습니다.
맞습니다. 고속카운터는 저속카운터보다 10배 빠르게 증가합니다.
즉 저속카운터의 K100이 10초였다면, 고속카운터의 K100은 1초입니다.
증가하는 숫자도 저속카운터가 0.1초에 1씩 증가하였다면, 고속카운터는 0.1초에 10씩 증가합니다.
이 내용을 제외하고는 나머지부분은 똑같다고 생각하시면 됩니다.
이제 다음으로 적산타이머를 사용해 보겠습니다.
적산타이머의 경우에도 저속타이머와 고속타이머가 있습니다.
즉 저속 적산타이머, 고속 적산타이머가 존재합니다.
적산타이머를 사용하려면 먼저 Memory용량을 할당해주어야 합니다.
왼쪽 [Project]에서 [Parameter]-[PLC Parameter]-[Device]를 찾아서 들어가면
아래와 같은 화면을 보실 수 있습니다.
여기서 Retentive Timer를 찾으시면 됩니다. (위 화살표 참조)
그리고 Device Points를 0에서 늘려주어야 적산타이머를 사용할 수 있습니다. 중요!!!
저는 16을 늘렸습니다. 1point당 1word이기 때문에 16bit의 사이즈를 차지합니다.
그리고 Check를 눌러서 Error 확인을 하구요.
그다음 아래와 같이 적산타이머를 생성해 보겠습니다.
저속 적산타이머를 만드는 방법은 출력코일에 (ST0 K100)처럼 입력하면 됩니다.
당연히 "ST"뒤에는 적산타이머 넘버를 적어넣으면 되고
K100은 저속타이머와 마찬가지로 10초라고 생각하면 됩니다.
그 다음 F4를 눌러 컴파일 한 뒤 시뮬레이터를 실행시켜 보겠습니다.
그리고 M0를 ON하여 적산타이머ST0를 구동시켰다가 M0를 OFF해 보겠습니다.
아래 화면을 보시면 아까 일반 타이머때와 바뀐점이 보이시나요?
네 맞습니다.
M0가 OFF되어도 진행중이던 적산타이머의 숫자가 리셋되지 않습니다.
적산되어 멈췄다가 다시 M0가 ON되면 기억했던 숫자부터 다시 시작을 합니다.
다시 시작해 보겠습니다. (아래화면 참조)
방금 사용해 본것은 저속 적산타이머이며, 고속 적산타이머는 K100이 1초라고 생각하시면 됩니다.
(저속타이머와 고속타이머의 차이와 동일!!)
오늘은 타이머에 대해서 알아보았으며, 다음 포스팅에서 카운터에 대해서 알아보겠습니다.
감사합니다.