- 2
- 임꺽
- 조회 수 12558
XGB 프로그램기법 2
우선 공부할 내용부터 나열해 드렸습니다. 시간이 허락되면 서서히 내용을 채우도록 하겠습니다.
1) 전기기능장실기에 잘나오는 입력패턴
(1) 원버턴회로
- 기본소자를 이용한 원버턴 프로그래밍입니다. PB1을 한번 눌렀을때 내부릴레이 M01, M03, P40이 ON되고, 떼면 M01만 OFF
- 이때 다시 PB1을 누르면 M02가 ON 되고 M03,P40은 OFF됩니다. PB1을 떼면 M02도 OFF됩니다.
- 한번 눌렀을때 P40(PL1)이 ON되고 한번 눌렀을때 P40이 OFF되는 PB하나를 이용한 ON/OFF제어 회로 입니다.
- 카운터를 이용한 원버턴 ON/OFF제어회로 이며, 한번누를때 두번의 신호를 받게 됩니다. -[P]-접점은 PB1을 누를때 ON
-[N]-접점은 PB1을 눌렀다 뗄때 ON되어 카운터는 한번누를때 두번의 펄스 신호가 들어갑니다.
- [>= C01 1] 이부분은 비교회로 부분으로 카운터값이 1보다 크거나 같을때 P40을 ON하라는 명령어 입니다.
- 그리고 PB1을 누를때 카운터값은 1 뗄대 카운터 값은 2 다시 PB1을 누를때 카운터 값은 3 뗄때 카운터값은 4가되어
카운터 값이 4가되면 C01 접점이 붙어 C01 카운터 값은 0가 되고 P40은 OFF가 됩니다.
이런 동작조건을 이용하여 버턴 하나로 ON/OFF제어를 할 수 있게 됩니다. (가장 많이 사용하는 회로입니다. )
<응용문제 1> 프로그래밍 능력이 향상됩니다. 꼭 스스로 해 보시기 바랍니다.
위의 프로그램은 버턴을 누를때 P40이 ON되고 눌렀다 뗄때 P40이 OFF되는 회로입니다.
여기서, 반대로 버턴을 누르고 뗄때 P40이 ON되고 한번더 버턴을 누를때 P40이 OFF되는 회로를 작성하시오~
캡쳐하여 댓글에 사진올려 주세요~ (정답은 추후에)
[힌트] 비교명령어를 응용하세요~
- FF응용명령어를 사용한 원버턴 회로 입니다. XGB를 사용하는 이점이 여기에서 나옵니다. 설명이 필요없습니다. ㅎ
<참고> 원버턴 회로는 이것 말고도 많은 회로가 있습니다. 이것을 다 알 필요는 없고요 카운터와 FF응용명령어를 이용한
회로만은 반드시 기억하고 외워 두셔야 합니다.
(2) 버턴 ON/OFF 타이밍 잡기
이미 앞부분에서 배워버렸는데요~ 그래도 한번더 정리하는 차원에서 시작하도록 하겠습니다.
태양광 실기 공부하랴~ 살빼랴~ 여기 XGB강의하랴~ 정신이 없네요~ ^^; 누가 시켜서는 못할 일입니다.
- 누름과 동시에 ON/OFF 하라는 말이 실기문제에서 등장합니다. 이것은 무엇을 뜻할까요?
우리가 시퀸스로 회로를 구성할때 기본적으로 구사가 됩니다. 스위치 두개로 ON 스위치는 a접점을 사용하고
OFF 스위치는 b접점을 사용한 기본 자기유지 회로로 말이죠~ 하지만, 원버턴 회로에서는 좀 달라집니다.
이미 앞서 카운터 회로에서 배웠지만 이런 기능을 수행하기 위해서는 버턴을 누르는 동작과 떼는 동작시점을
찾아줘야 합니다.
- 동작설명은 PB1(P00)을 눌렀을때 -[P]- 접이 한사이클동안 ON 되어 카운터가 1이 올라가고 뗄때 -[N]-접점
이 한사이클 동안 ON되어 카운터가 2로 됩니다. 두번째 PB1(P00)을 눌렀을때도 마찬가지로 동작을 합니다.
- [ >= C001 1 ] 조건식은 C01의 카운터 값이 1보다 커거나 같을 때를 나타내고
- [ < C001 3 ] 조건식은 C01의 카운터 값이 3보다 작을때를 나타냅니다.
- 상기 내용으로 볼때 아래의 원버턴 ON/OFF회로는 카운터 값이 1, 2 일경우 P40이 ON되는 회로라 알 수 있습니다.
- P40이 ON되는 시점은 카운터값이 1 즉 버턴을 한번 누를때, 카운터 값 2 즉 버턴을 한번 눌렀다가 뗄때와
두번 누르기 전까지 입니다.
- 눌렀다 놓을때 ON/OFF 는 아래와 같이 조건식을 사용하면 됩니다.
- [ > C01 1 ] 조건식은 C01 카운터 값이 1보다 클 경우에 P40을 ON 시켜라는 명령어 입니다. 즉 다시 말하면
P00버턴을 한번 누르면 카운터 값이 1이되어 P40이 ON되고 떼면 카운터 값이 2 그리고 한번더 누르면 카운터
값이 3이되어 두 조건다 카운터 값이 1보다 커기 때문에 P40이 계속 ON되어 있습니다. 여기서 P00을 떼면
카운터 값이 4가되고 C01접점이 ON되어 C01카운터 값이 1보다 작은 0으로 리셋되기 때문에 P40은 OFF가 됩니다.
- 누를때 ON 다시 눌렀다 놓을때 OFF 회로는 아래와 같습니다. 설명생략
조건등호가 헷갈리신다면 아래와 같이 OR회로로 구성해도 됩니다.
- 눌렀다 뗄때 ON 다시 눌렀을때 OFF 회로는 아래와 같습니다. 설명생략
(3) 누름횟수 캐치회로
- 버턴을 두번 눌렀을때 ON되고 네번째 눌렀을때 OFF되며, 다시 버턴을 두번 누르면 앞의 동작을 반복하는 원버턴 회로입니다.
- 이 회로도 마찬가지로 카운터를 사용하면 쉽게 풀립니다. 원버턴 회로와 동일한 방식이기 때문에 설명을 생략하겠습니다.
- 버턴을 세번째 누르면 ON 네번째 누르면 OFF, 단, 버턴을 7초이내에 세번을 눌러야 ON되면 세번을 누르지 않은 상태에서
최초 버턴을 누를 시점으로 부터 7초가 지나면 자동으로 버턴 ON횟수가 0으로 리셋된다.
- 7초 대기시간 타이머는 최초 입력부터 기간을 감산하는 기능이 있는 "TMON" 기능을 이용하여 P00이 여러번 ON 되어도
최초 누른 시점부터 감산이 되어 버턴을 7초안에 3번을 누르지 않으면 카운터 값을 0로 리셋시키는 용도로 사용함.
- 상기 P00이 초기에 리셋되는 것을 방지하기 위한 회로는 P00을 최초 누르면 M00이 ON되고 M00접점에 의해 자기유지 됩니다.
여기에서 [ >= C01 1 ] 조건에 의해 카운터 계수값이 1이 되면 M00이 OFF가 되도록 하는 회로고 "TMON"에 의하여 리셋되는
것을 카운터 값이 1이상일때만 리셋이 되도록 프로그램을 안정화 하였습니다.
(4) 재입력 방지회로 (채터링방지)
- XGB는 입력필터링 기능이 파라메타 설정에 있기 때문에 이런 회로가 필요가 없지만 구형 PLC는 카운터가 이런 기능이 없는
것이 있기 때문에 센스에서 입력되는 값이나 스위치에서 입력시 채터링에 의해 카운터가 많이 되는 경우가 생깁니다.
- 이를 방지하기 위해 입력신호를 타이머를 이용하여 일정시간(0.5최 이내)을 지연시켜 프로그램이 안정적으로 동작하게 하기
위해 이런 회로를 사용합니다. 타이머 값 5는 0.5sec를 말합니다. 이 시간을 너무 많이 줘 버리면 시스템의 동작속도가 늦어질
수 있으니 적당히 가감을 합니다.
- 입력 타이밍 조절입니다.
SENSOR1과 SENSOR2가 있는데요 이송중인 물건이 SENSOR1을 먼저 감지하고 동시 또는 0.5초 지연되어 SENSOR2가 감지가
된다고 가정을 하였을때 SENSOR1,2가 동시에 들어오면 P40 출력을 5초간 ON하는 회로를 짜 보겠습니다. 우리가 지금까지 배운
간단한 기본 명령어로 충분히 작성이 됩니다.
<참고> 위의 두 회로는 기능장에는 나오진 않았으며 실무에서 많이 사용됩니다.
- 일단 센스나 스위치에 대해서 잘 알아야 합니다.
- 앞서 배운것과 같이 기계적특성에 의해 ON시점에 채터링이 발생을 합니다. 그래서 채터링방지회로를 겸해서 SENSOR1이 0~0.5초
시간차를 두고 SENSOR2가 동작을 한다고 했으니까 이 시간차의 최대값(0.5sec)를 SENSOR1의 채터링방지회로 타임값에 가산만
해주면 간단히 해결이 됩니다.
- "rroy"님이 말씀하신대로 plc입력이 모자라 sensor1,2를 직렬연결해서 사용하신다면 타이밍 잡기가 좀 어렵지 않을까 생각합니다.
생각보다 내용이 많아 지네요~ 출력패턴을 다음글에서 다뤄보겠습니다.
자세히 알려주셔서 감사드립니다.