본문 바로가기
PLC 자동제어 학습/미쯔비시 PLC 수업

미쯔비시 PLC의 MC명령어와 펑션블록(Function Block-FB)실습

by 인터넷떠돌이 2018. 2. 21.
반응형

안녕하세요?


준 프로젝트를 빠르게 끝내서 오전에는 크게 할일이 없었기는 했지만, 오후에는 수업에 들어가서, 그 내용을 이번 포스팅에 올리고자 합니다. 먼저 나왔는 것은 MC라고 master control-마스터 컨트롤 이라고 하는 명령어에 관한 것입니다. 그전에 메뉴얼에 있는 상당히 중요한 내용이 있어서 먼저 언급을 하고 넘어가야 겠습니다.


먼저 시리얼 통신 모튤에 계속해서 Error메세지가 남아 있어서 통신을 방해할 수 있습니다. 그래서 각각의 채널에 대해서 오렌지색 박스안의 메모리 영역으로 가서, 에러 정보를 초기화 해야 할 필요성이 가끔씩 있다고 합니다.



다음은 메뉴얼에 있는 MC 명령어의 설명입니다. 일단 마스터 컨트롤 회로라는 저 박스안의 영역을 따로 지정해서, 특정한 조건-MC명령어가 실행이 되면 바로 저 마스터 컨트롤 회로 안의 내용이 실행이 되는 것입니다.



일단 한번 만들어 본 MC 명령어가 있는 래더입니다. 이런 래더가 어떻게 나오냐 하면, 맨 처음 작성할 때는 저렇게 보이지 않다가, PLC에 쓰기나 시뮬레이션을 한번 돌리면 위 스크린샷에 보이는 것처럼 모양이 바뀌어 집니다.



MC 명령어가 종료된 직후 각각의 디바이스가 어떤 상태가 되는지를 보여주는 메뉴얼의 한 부분입니다. 이 부분에서는 SET, RESET말고는 모두 MC가 종료되고 나서 OFF가 된다는 것만 명심하면 될듯 합니다.



이제 Function Block이라는 것을 구현하기 위해서는 프로젝트를 시작하는 단계에서 부터 구조화 프로젝트라고 심플 프로젝트가 아닌 걸로 했지만, 실제로는 이렇게 까지 안해도, 아래에 있는 라벨을 사용이라는 것만 눌러도 사용이 가능합니다.



일단은 기존의 프로젝트를 생성했을 때와는 다르게 무언가가 다르다는 것을 알 수 있었습니다.



하지만 실제로는 위 스크린샷처럼 심플 프로젝트에서 라벨을 사용만 눌러도 충분했습니다.




먼저 위 스크린샷에서 보이는 FB관리라는 메뉴가 새로 생겨 있는데, 여기서 좌클릭을 해서, 데이터 새로 만들기를 불러 오도록 합니다.




그러면 새로운 이 차이 뜨는데, 이제 여기서 세부적인 것을 설정해야 합니다.



일단 데이터 명을 timer_001이라고 지정을 하도록 합니다.



확인을 누르고 나면, 위 스크린샷에서 보이는 것처럼 두개의 새로운 메뉴가 상단에 생긴 것을 볼 수 있습니다.



FB라벨 설정이라는 것을 들어가서, 마치 변수를 선언하듯이 래더의 구성요소를 선언해야 합니다.



어떤 라벨이 들어가며, 이 라벨은 비트인지 워드인지 설정하도록 합니다. 그래서 클래스라는 것은 무언인가 하면, 입력을 받는 곳인지, 아니면 출력을 하는 곳인지를 지정할 수 있습니다.




실제로 비트나 워드 말고도, 카운터나 타이머도 선택을 할 수 있습니다.



위 스크린샷처럼 일련의 라벨을 설정 하도록 합니다.



VAR을 선택해서 타이머와 카운터의 접점도 만들어 주도록 합니다.



이제 옆에 있는 메뉴로 들어가서, 앞에 있는 라벨에서 지정한 것을 다 나오는 것을 볼 수 있습니다. 앞서 언급한 



그리고 이게 제대로 실행이 왜 안되었는지 처음에는 몰랐는데, 변환 + 컴파일 시에는 아랬쪽에 있는 것을 눌러줘야 했습니다.




이것으로 펑션 블록(function block)은 제대로 완성이 된 것을 볼 수 있었습니다. 이제 이걸 어떻게 사용할 수 있느냐 하면, 우선 위 스크린샷에 나와 있는 timer_001이라고 해서 나와있는 이 펑션 블록을 그대로 드레그 & 드롭하면 간단하게 해결이 된다고 합니다.



그러면 여기다가 이렇게 펑션블록 별로 따로 이름을 더 지정해서 추가하면 되는데, 여기서 중요한 것은 이게 단 한번만으로 끝나는 것이 아니라, 같은 FB를 여러번 붙여넣기를 할 수 있습니다. 즉, 반복해서 작업할 필요 없이, 특정한 기능을 블록으로 만들어서 어떻게 만들 수 있다는 것을 볼 수 있습니다.



이렇게 추가하는 데 성공했습니다.



이렇게 기존의 래더를 작성하는 것처럼 몇몇 접점을 추가하는 것만으로도 래더를 짤 수 있습니다.



다시말하지만, 펑션 블록 안에 있는 접점은 메인 래더에서는 큰 영향을 받지 않고, 단지 입력과 출력만이 중요합니다. 그리고 여기에는 언제든지 다양한 접점이 연결될 수 있습니다.



실제로 제대로 작동하는 것을 볼 수 있었습니다. 문제는 아직 이것에 대해서 완벽한 이해는 하지 못했지만, 몇번의 사용을 해서 익숙해지면 아주 강력한 툴이 될 것이라는 생각이 듭니다. 이것으로 지난 월요일에 있었던 수업의 내용을 다 포스팅 하였습니다.

반응형