안녕하세요?


이 훈련과정에 들어온지 얼마 되지는 않은 것 같은데, 드디어 실물 PLC를 이용한 실습을 목요일에 들어가 보았고, 이번 포스팅에서는 그 내용을 포스팅 하고자 합니다.



실습에 들어가기 전에 먼저 PLC의 프로그램이라고 해야 할까요? XG5000에서 먼저 Shift+F1을 이용해서 상승엣지라고 해서 rising edge라고 해야 할까요? 이전에 브레드 보드를 가지고서 회로결선 실습을 했을 때, 있었던 내용을 여기서 한번 더 접할 수 있었습니다. 


주로 설명할 내용이라면, 0 -> 1로 바뀔 때-한마디로 펄스가 올라갈 때 전기가 통한다고 합니다. 그래서 시뮬레이션을 실행 시켜서 바로 스위치를 on시키면, F9번을 눌러서 설치한 코일-여기서는 릴레이 계전기가 작동되는 것을 볼 수 있었습니다.



그리고 반대로 N이라고 표시가 되어 있는 것은 Shift+F2를 눌러서 설치할 수 있는 Falling edge라고 해서, 1 -> 0으로 바뀔 때-펄스가 내려갈 때 전류가 흐릅니다. 그래서 위 스크린샷처럼 스위치를 ON시켜도 바로 전류가 흐르지 않는 것을 시뮬레이션 상으로 확인할 수 있었습니다.



위 스크린샷처럼, 스위치를 켰다가 끄자 그제서야 전류가 흐르는 것을 볼 수 있었습니다. 이것으로 Falling edge라고 하강 엣지에 대해서도 실습을 해 보았습니다.



위 스크린샷은 Flip Flop 회로를 PLC의 프로그램인 래더에서 풀어서 그려낸 것입니다. 우선 이 회로는 스위치를 누르면 토글 스위치처럼 작동을 합니다. 그런데 우리의 생각과는 다르게 래더 프로그램은 시퀀스라고 해서 처리하는 순서가 위에서 부터 하래로, 그리고 왼쪽에서 부터 오른쪽으로 가는데 아래와 같습니다.



위 스크린샷에 보시된 숫자대로 래더의 시퀀스가 인식을 해서 처리를 한다고 합니다. 그리고 더 놀라운 것은 전체적인 래더를 한번 스캔해서 처리한 다음 다시 처음부터 위 스크린샷에 표기된 숫자들 순서로 프로그램을 처리한다고 합니다. 이게 왜 중요한가 하면, 아래의 과제를 처리하기 위해서입니다.



과제는 스위치를 누르면 1번, 2번, 3번 램프가 차례로 불이 들어오면서, 이전에 켜져 있는 램프는 꺼지면 안되는 것입니다. 그리고 4번째로 스위치를 누르면 모두 다 램프에 불이 꺼져야 합니다. 그런데 위 스크린샷처럼 제가 래더를 짰더니, 스위치를 끄는 순간에 램프에 불이 들어오곤 해서 문제가 되었습니다.






어떻게 하다보니, 완성하기는 완성했는데, 상당히 많은 릴레이가 사용이 되었고, 출력역시나 많은 문제가 발생을 하였다고 해야 할까요? 너무 래더가 길다는 문제점이 있었습니다. 



정답은 위 스크린샷에 나오는 것과 같이 상당히 간단한 래더입니다. 어디를 놓쳤나 하는 생각이 들었더니, P로 시작하는 실질적인 출력-나중에 설명하겠지만, PLC에서 실질적으로 전기가 통하는 연결선이 있는데, 이 연결선이 프로그램 상에서 일종의 릴레이 접점으로 활용이 가능하다고 합니다.



그래서 시뮬레이션 상에서 처음으로 스위치를 눌렀을 때, 첫번째 램프가 연결된 출력인 P20에 불이 들어온 것을 볼 수 있었습니다. 그리고 자가유지 회로처럼 P20을 B접점으로 래더 안에서 작용을 할 수 있습니다. 그래서 프로그램인 래더에서 설정된 것처럼 P20이라고 명명된 B접점이 P20이라고 표기가 된 코일을 계속 작동 시킬 수 있도록 해 줍니다.



두번째로 스위치를 눌렀을 경우를 시뮬레이션 사에서 상정하고 있습니다. 이번에도 역시 작동을 하는데, 여기서 P20이라고 표시가 된 B접점이 있기 때문에, P20이라고 이름이 붙은 코일이 작동하지 않으면, P21이라고 코일이 작동 할수도 없는 구조입니다.



그리고 세번째로 스위치를 누른기 바로 직전입니다. 여기서는 P21이라고 명명이 된 상단의 B접점이 연결이 된 것을 볼 수 있습니다. 여기서 한번 더 스위치를 누르면 세번째 램프로 이어지는 출력인 P22가 작동이 되게 됩니다.




그리고 세번째로 스위치를 시뮬레이션 상에서 눌렀습니다. 여기서는 P22출력을 담당하는 코일이 드디어 작동을 한 것을 볼 수 있었습니다. 그리고 여기서 네번째로 스위치를 눌러서 완전히 꺼지는 것을 볼 수 있었습니다. 그런데 여기 논리대로라면 큰 문제가 없을 것 같지만, 래더에서 이 순서가 중요한 이유가 있습니다.



위 스크린샷에서 1번째 램프에 들어가는 출력인 P20이 두번째 램프에 들어가는 출력인 P21보다 위에 있는데, 이럴 경우 문제가 생기게 됩니다. 왜냐하면 먼저 P20코일이 처리가 되는데, 이러면 두번째 램프가 켜지지 말아야 하지만, P20 B접점이 아래에 있기 때문에-즉 P20코일보다 나중에 처리되는 위치에 있으면, P20 B접점은 ON되는 상태롤 인식이 되고 맙니다. 그래서 첫번째 램프와 두번째 램프가 동시에 ON이 되는 일이 발생하는 것입니다.


이렇게 되는 이유는 첫째로 제일 위에서 부터 처리를 한다는 것을 생각하면 가능한 것이였습니다. 만약 여기서 P0의 스위치가 Rising edge가 아닌 일반적인 B접점이라면 한번에 램프 3개가 불이 들어오고 맙니다. 그러나 Rising edge인 상승엣지가 한번만 0-> 1이 될때 전류가 흐르기 때문에 가능한 회로입니다.


그래서 전류는 스위치를 누르는 순간만 한번 흐르게 되며, 이 래더에서 먼저 END까지 스캔을 하고 난 다음에 다시 P0를 스캔한다고 합니다. 그때 일반적인 B접점이면 다시 스캔을 해서 두번째 램프를 켜 버리는데, 컴퓨터의 처리 속도가 너무 빨라서 우리 눈에는 동시에 켜지는 것으로 보이는 것입니다. 그래서 Rising edge를 사용하며, 가장 먼저 켜져야 하는 출력인 P20를 가장 아랫쪽에 배치를 하는 것입니다.



이제 실제로 회로를 결선해야 할 시간이 왔습니다. 이번에는 위 사진에 보이는 것과 같이 SMPS라고 해서 교류인 220V를 DC24V로 변환해 주는 장치입니다. 이 장치의 사용법에는 L과 N이라고 되어 있는데, 일단 여기다가 220V의 전류가 흐르는 전선과 연결을 하고-보통은 N이 GDN이라고 해서 접지인데, 제 경우에는 MCCB라는 회로 보호기가 있기 때문에 어느쪽이 되어도 근 상관은 없었던 것으로 보입니다. 여기다가 연결하고, +와 -로 표시가 되어 있는 부분이 바로 DC24V의 +와 -극입니다.



일단 일차적으로 결선을 완료한 사진입니다. 여기서 끝이 아니고, 화요일 수업에 들었는 232라는 시리얼 통신을 여기 PLC가 지원을 하는데, 마치 과거 키보드의 시리얼 포트처럼 생긴 젠더를 통해서 만들어 놓은 USB젠더를 통해서 PC와 연결이 가능하였습니다.




이제 시뮬레이션이 아닌 진짜 PLC에 연결할 차례입니다. 여기서 왜 P20이니 P0니 했는 것이 나오는데, 실제 PLC의 입력쪽과 출력쪽이 P로 시작을 하기 때문에, 사용할 PLC의 출력과 입력 포트라고 해야 할까요? 이 부분을 보고나서 연결을 잘 해야만 합니다. 다시 돌아와서 먼저 접속 설정을 하도록 합니다.



위 스크린샷에 보이는 창이 뜨는데, 여기서는 232방식을 선택한 다음 설정이라는 것을 눌러서 들어가 보도록 합니다.



그리고 여기서 통신포트를 자동 탐색을 누르도록 합니다. 원래는 안될 수도 있지만, 예전에 설치를 하였는 CH341이라는 프로그램이 설치되어 있기 때문에 문제없이 실행이 가능했습니다.



위 스크린샷과 같은 화면이 뜨면 완성입니다.



다음으로는 접속이라는 메뉴를 눌러서 실행을 시키도록 합니다.



위에 있는 모니터라는 아이콘을 누르자 위와 같은 메세지 상자가 나오는 것을 볼 수 있었습니다.



마지막으로 PLC에 프로그램을 전송하는 것으로 볼 수 있었습니다. 여기서 이후 스위치를 누르자, 래더에서 프로그램을 한 것처럼 제대로 LED에 불이 들어오는 것을 볼 수 있었습니다. 이것으로 목요일에 있었던 수업의 내용을 다 정리하였으며, 혹시 부족하거나 좀 이해하기 어렵다는 것이 있으면, 댓글을 남겨 주시기 바랍니다. 제가 아는 범위 안에서 추가적인 포스팅을 올려서라도 이해를 돕고자 합니다.

  1. 리미티등에디션 2018.04.17 09:06 신고

    m0은 어떤걸 뜻 하나요? 램프를 뜻 하는건가요??plc 회로에서 잘 이해가 안가는게 plc연결 후 p20 램프전원을 lamp 라고 변수를 적어두는데 m0은 변수값도 아닌 것 같아서 잘 이해가 안됩니다.

    • m0는 메모리상에 할당된 영역인데, 여기는 변수에 가깝기는 합니다.
      일단 LS산전 PLC는 구조상 기기의 입력점을 프로그램에서 건드리는 것이 불가능 합니다. 그래서 가상의 접점을 만들어서 여기를 프로그램상에서 건드리는 것입니다.

  2. 두빈아빠 2018.06.14 15:31 신고

    잘보고 있습니다. 도움이 되어여 감사합니다.

+ Recent posts

티스토리 툴바