디필의 요모조모

[과제] 지게차, 크래인 자동공정화 프로그램 본문

Program/Intouch HMI

[과제] 지게차, 크래인 자동공정화 프로그램

Diphylleia12 2019. 12. 20. 17:36

오늘은 최근 대학교에서 진행했던 팀플 과제를 올려볼까 합니다~

 

물론 프로그램 자체는 저 혼자 만들었기에 블로그에 올리는데 따로 허락은 안받아도 되서 편하네요 ㅋㅋㅋ

이번 과제는 INTOUCH HMI 프로그램을 사용해 제작되었는데요

 

과제 주제가 실생활에 쓰이는 걸 주제로 제작하는 거였기에

처음에 뭐할까 고민하다가..

 

유튜브에서 외국인분이 CRANE을 HMI로 제작하는 영상이 있길래 그걸 따라 먼저 크래인 프로그램을 만들었습니다 ㅋㅋ

하지만 이대로는 그냥 베껴내기 같은 느낌인지라

저는 저 나름대로 프로그램을 하나 만들어야 할 것 같은 생각이 들어

이번에는 크래인이랑 비슷하게 공장에서 자주 보일 것 같은 지게차를 모티브로 프로그램 제작을 준비했습니다

 

마침 HMI에 지게차 그림이 있길래 다행이었어요 ㅎㅎ

 

처음엔 지게차를 움직이는게 생각보다 신경쓸게 많아서 고민 좀 했답니다 ㅠㅠ

 

그럼 이제 본격적으로 프로그램에 대한 소개를 해드릴게요

 

먼저 프로그램을 RUNTIME 했을 때, CRANE과 FORKLIFT 윈도우를 띄울 수 있게 콘솔 윈도우를 먼저 만들어 주었습니다.

각 프로그램 화면을 띄울 수 있는 콘솔 윈도우.

 

그리고 이번엔 지게차의 제작 화면인데요?

이건 좀 고민 많이 했답니다 만들 때... 어휴

 

일단 간단하게 설명하자면 WORK로 지게차의 포크 부분을 위 아래로 움직일 수 있게끔 만들었구요

MOVE로는 지게차를 앞뒤로 움직일 수 있게 하였고,

MOVE2로는 지게차가 최대 범위까지 전진했을 때, 들고 있는 상자를 내려놓은 채 본체만 후진해 돌아오도록 만들었답니다.

 

이 일련의 과정을 상하, 좌우, 복귀 버튼으로 실행 할 수 있게 해놨구요.

자동 버튼은 일련의 과정들을 한번에 모아 반복 행동을 할 수 있게 해놨습니다.

 

리셋 버튼은 생각하시는 그대로 모든 행동을 멈추고 전체 초기화를 시켜주는 버튼이구요 ㅎㅎ

 

기능 하나하나 설명하면 글이 너무 길어 질것 같아서 궁금하신 기능은 직접 프로그램을 돌려가며 해결해 주세요 ㅠㅠ

아니면 댓글 남겨주시면 제가 친절히 설명 도와 드리도록 하겠습니다 ㅎㅎ

지게차 윈도우

지게차의 윈도우 스크립트 코딩

IF BT1 THEN
    WORK1 = WORK1 + 1; 
ELSE 
    WORK1 = WORK1 - 1;
ENDIF;

IF BT2 THEN
    MOVE1 = MOVE1 + 1; 
ELSE 
    MOVE1 = MOVE1 - 1;
ENDIF;

IF BT3 THEN
    BT1 = 0;
    BT2 = 0;
    MOVE2 = MOVE2 + 2;
    MOVE1 = 0;
ELSE
    MOVE2 = 0;
ENDIF;

IF MOVE2 >= 100 THEN
    BT3 = 0;
ENDIF;

IF BT4 THEN
    IF (MOVE1 < 100) AND (WORK1 < 100) AND (BT3 == 0) THEN
        BT1 = 1;
        BT2 = 1; 
    ELSE
        IF (MOVE1 >= 100) THEN
            BT1 = 0;
            IF (WORK1 < 0) THEN
                BT3 = 1;
            ENDIF;
        ENDIF;
    ENDIF;
ENDIF;

IF BT5 THEN
    BT1 = 0;
    BT2 = 0;
    BT3 = 0;
    BT4 = 0;
    WORK1 = 0;
    MOVE1 = 0;
ENDIF;

그리고 이번엔 크래인의 화면입니다.

이번 프로그램은 지게차와 달리 그리 어려운 점은 없었어요.

기능도 그저 HEIGHT와 이동인 HORIZONTAL과 VERTICAL 밖에 사용 안됐어요 ㅋㅋㅋ

 

기능은 단순하게 스위치를 실행하면

크래인이 물건을 집어 옮기고 트럭에 싣고, 그걸 다시 원래 위치로 되돌리고... 이걸 계속 반복하는 그런 프로그램이죠

 

그렇게 어렵진 않죠?

그걸 슬라이더로 20정도인가 범위를 나눠서 0~20은 무엇을 해라, 21~40은 무엇을 해라 이런 식으로 눈에 보이게 설계 해놨구요 ㅋㅋ

 

그래도 마찬가지로 모르시겠는 점이 있다면

언제든 댓글로 물어봐주세요 ㅎㅎ

 

사실 저는 관심이 고프답니다.. 아직 댓글이 0개.. ㅜ

 

크래인 윈도우

크래인 윈도우 스크립트 코딩

IF SW  THEN
    IF CRANE >= 0 AND CRANE <= 120 THEN
    CRANE = CRANE + 2;
    ENDIF;
    IF CRANE > 120 THEN
    CRANE = 0;
    ENDIF;
ENDIF;

 

전체 완성된 프로그램은 압축해서 여기에 올려드릴게요.

자동공정화.7z
0.03MB

Comments