https://farmauto.tistory.com/33
위 포스팅에서 공개문제1번을 만들어 보았는데
비상정지 동작 시 시퀀스가 의도와 다르게 작동하는 것을 확인했. 이에 따라 CJ(Conditional Jump) 명령어를 사용하여 시퀀스 부분을 점프하는 방식으로 수정했다. (실제 장비에서는 상관이 없다고 합니다.)
요구사항에는 비상정지를 누르면 수행 중이던 동작을 마저 완료한 후 정지해야 하는데 위 프로그램은 바로 멈춰 버리는 오류가 있었다.
프로그램을 수정하며 전체적인 로직을 간소화하고, 불필요하게 산재해 있던 B접점들을 정리했다. 이전 프로그램은 복기용으로 남겨두고, 수정된 프로그램을 이 페이지에 공유합니다.
기존 프로그램은 복기용으로 남겨두고 수정한 프로그램을 이 페이지에 다시 올려보려고 한다.
차후에 이전에 오류가 있었던 것도 다시 보면 의미가 있겠다 싶어서 이다.



이 부분은 초기조건 즉 PB2, PB3를 눌렀을 때 모든 실린더가 초기 상태에 있을때 초기조건으로 했다.

비상해제 부분으로 반드시 비상정지 로직보다 앞서 위치해야 한다.
만약에 비상정지 아래에 있으면 동작하지 않는다. (CJ JUMP1 때문에 비상정지 해제를 해도 프로그램이 작동하지 않음)

비상정지 부분 CJ JUMP1으로 시퀀스 공정을 건너 뛰어 출력부로 점프를 하므로
기존 출력부에서 M 레지스터 조건에 따라 남은 동작을 수행한 뒤 동작을 멈춘다.

PB3를 누르면 연속 레지스터를 자기유지 시키므로 아래에 있는 연속 레지스터에 의해서 매거진에 공작물이 있으면 연속동작을 할 수 있다.
연속 동작을 정지시키기 위해서는 연속동작이 완료 되는 즉 매거진이 공작물이 없는 상태 레지스터 M연속종료를 B접으로 해서 끊어준다. 그리고 비상정지를 해제할때 초기화E 레지스터로 연속을 OFF 해준다.
69) 자기유지를 할때 매거진을 자기유지 밖으로 빼면 정상 동작을 하지 않는다(왜냐하면 공급전진솔이 작동하면 매거진 센서가 OFF 되기 때문이다.)
95) PB2를 누르면 단속 공정, PB3를 누르면 연속을 ON시켜 M공급전진으로 공급실린더가 전진하게 된다.
110) 가공모터 회전과 1초지연은 한 스텝으로 묶었다.

122) 1초지연이 완료되면 가공하강 공정을 한다.
반복 B접점은 연속 동작일때 가공하강-2초지연-가공상승을 반복하기 위한 것이다.

150) 연속동작 일때 C반복 카운터가 2가 아니면 반복 B접이 ON 되어 122)의 M가공하강, T지연2, M가공상승을 OFF 시킨다.
그렇게 되면 150)의 M가공상승이 OFF 되어 반복도 OFF 된다. 그러면 122번의 M가공하강이 ON되어 공정이 다시 반복된다.
150)의 C반복이 ON 되면 모터정지가 ON되어 반복공정을 벗어나 다음 공정으로 이동하게 된다.
단속공정은 연속이 아닐때이므로 PB2를 눌렀을때는 M모터정지를 ON 시켜 반복공정을 하지 않고 다음 공정으로 바로 넘어간다.



금속이 감지되면 금속감지를 ON 한다.
금속센서를 상승펄스, 비금속센서를 하강펄스로 둔 이유는
금속에만 반응하는 금속 센서와 달리, 비금속 센서는 금속과 비금속 모두에 반응한다.
그래서 상승펄스, 하강펄스 중에 상승펄스가 먼저 잡히므로 금속을 상승펄스로 잡고
금속이 아니고 비금속센서가 하강펄스로 잡으면 비금속감지로 구분하여 감지할 수 있다.
M컨베이어를 A접점으로 둔것은 종료했을때 초기화 하기 위해 앞 공정의 레지스터를 놓은 것이다.
226) 금속이 감지 되면 배출해야 되기 때문에 배출실린더에 도착할 시간 만큼 타이머를 작동한다.
타이머 1.3초 흐르면 배출동작을 해서 배출 박스에 넣는다.
234) 비금속은 저장박스에 넣으면 되기 때문에 시간을 넉넉하게 잡는다(배출실린더 작동 안함)
254) 마지막 공정인 컨베이어 정지는 저장박스에 저장하거나 배출박스에 저장하면 M컨베이어중지를 ON시킨다.
프로그램을 조금 더 줄이려면
M컨베이어중지에 M종료를 넣어줘도 무방하다.
만약에 M종료로 넣는다면 출력부를 조금 수정해야 한다.
(317)에 M컨베이어중지를 제거 해도 된다. 왜냐하면 M종료에 의해서 M컨베이어가동도 OFF 되기 때문이다.)

출력부로 실린더와 모터를 가동 또는 중지 시킨다.
주의 해야할 부분은 양솔 실린더 부분으로 비상정지를 해제했을때 다른솔은 단솔이기때문에 OFF되면 다 후진 또는 상승으로 초기화 되는데 공급솔은 양솔이라 공급후진솔을 ON시켜 줘야 공급실린더가 후진이 된다.
여기 출력부는 공개문제01의 테스트 동작에 해당하는 부분은 넣지 않았다.

207) 315) 331) 346)은 비상정지를 누르면 OFF 시킨다.
331) 346)은 부가조건1 이다.
SM412는 0.5초 ON, 0.5초 OFF를 반복하는 1초 타이머이다.
358)은 부가조건3의 비상정지를 눌렀을때 적색L가 깜빡이게 하는 동작이다.
다른 공개문제를 참고 하려면 아래 페이지를 참고하기 바랍니다.
'PLC(미쓰비시)' 카테고리의 다른 글
| 공개문제03-자기유지 방식(테스트, 단속,연속,부가동작) (0) | 2025.12.23 |
|---|---|
| 공개문제02-자기유지 방식(테스트, 단속,연속,부가동작) (0) | 2025.12.23 |
| 공개문제02-테스트(자동화설비기능사) (4) | 2025.12.18 |
| 공개문제01-자기유지 방식(자동화설비기능사 PLC) (0) | 2025.12.16 |
| 공개문제01-ST(자동화설비기능사 PLC) (0) | 2025.12.13 |