반응형

기본 명령어에 대해 얼추 알았으니 이제부터 명령어를 활용하여 Program을 작성해 보도록 하겠습니다.

 

 

 

메뉴얼을 보면 D로 지정된 디바이스 부터 n점을 왼쪽으로 1비트씩 시프트 한다고 나와 있습니다.

 

비트를 왼쪽으로 시프트한다고 하는데 정확히 어떤 동작인지 Program을 통해 확인 하겠습니다.

 

아래 사진과 같이 Program 작성 했습니다.

BSFL 사용하여 간단한 스탭 Program을 구성하였습니다.

 

그럼 Program을 설명 해드리겠습니다.

 

0번 Step을 보시면 X0이 펄스입력으로 들어가면 Set 명령어에 의해 M100이 Set됩니다.

 

2번  Step에서 M100이 셋되어 BSFL명령어가 실행됩니다.

       (BSFL M100 K8은 무슨뜻인가? M100부터 M108까지 들어가있는 데이터를 왼쪽으로 1회 쉬프트 하라는 뜻입니다.)

      BSFL이 실행되며 M100이 M101로 이동 되며 M100은 0이 되어 Reset됩니다.

 

3번 Step에서 M101이 ON되어 타이머 T101 ON되어 2초후 BSFL 명령어가 다시 ON 되어 M101이 M102로 이동됩니다.

      M102로 이동하며 M101은 OFF 됩니다. 이러한 동작을 M106까지 작동하며 M107이되면 스스로를 RST 시켜 

      Step이 종료 됩니다.

 

M100번부터 Step 01로 사용하여되 되나, 스텝 번호와 M영역을 맞추면 보기 편리하기에 M100은 Step 시작 bit로 사용하였습니다. 

 

 

실제로 사용할때는 타이머 부분에 인터락, 즉 Step이 진행 되기 위한 조건을 넣어주면 됩니다.

 

예를들어 첫번째 동작이 실린더가 전진하고 다음 스탭 진행 으로 가정아겠습니다.

M101이 On되었을 경우 츨력단에 M101로 Sol V/V를 On시켜주면 됩니다.

그리고 다음스탭으로 진행되기 위해서는 실린더가 전진 상태가 되어야 하기때문에

M101 뒤에 T101대신 실린더 센서 X??을 입력해 주면,

 

실린더가 전진한걸 확인한 후에 다음 스탭이 진행되게 됩니다.

 

        

 

동영상을  통해 스탭 진행을 확인해 보세요

 

 

 

이번시간에는 BSFL을 사용한 Step제어를 알아보았습니다.

 

다음시간에는 BSFL Step제어를 이용하여 자동 Program을 작성해 보도록 하겠습니다.

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

11. Bit? Word?  (0) 2020.11.13
10. 데이터 디바이스(D) 와 MOV 명령어  (0) 2020.11.13
9. FF 명령어 ( flip-flop 회로)  (1) 2020.11.11
8. 상승펄스? 하강펄스?  (0) 2020.11.11
4. 인터록?  (2) 2020.11.07
반응형

이번 시간에는 PLC에서 bit, word에 대해 알아보겠습니다.

 

모든 PLC는 비트(bit)를 가지고 데이터를 표현합니다.

이런 비트(bit)가 모여 데이터 단위를 형성합니다.

 

1. 비트(bit)

비트(bit)는 2진수의 약어 입니다.

하나의 비트(bit)는 0 또는 1을 표현하는 최소 정보 단위 입니다.

2. 니블(Nibble)

니블(nibble)은 4bit로 구성된 단위이며

16가지 수 0~15까지 표현 가능합니다.

 

2. 바이트(byte)

바이트(byte)는 2nibble, 8bit로 이루어진 단위 입니다.

바이트는 문자열 사용시 최소 단위 이기도 합니다.

 

바이트는 256가지 수표현이 가능하며

Unsigned 일경우 0~255 까지

Signed일 경우 -128~127까지 표현 가능 합니다.

 

Unsigned와 Signed는 부호가 있고 없고를 나타내는 뜻입니다.

 

3. 워드(Word)

워드(word)는 2byte = 4nibble = 16bit로 이루어진 단위 입니다.

대부분의 PLC에서 1 word 단위로 계산하고 처리합니다.

워드는 bit를 0~15까지 배열 해놓은 구조이며,

 

65,536가지 수를 표현가능 하며 0 ~ 65,535까지 표현이 가능합니다.

단 바이트와 마찬가지로 부호를 포함한 Signed일 경우 -32,768 ~ 32,767까지의 표현이 가능합니다.

 

문자열을 표시할때 바이트 단위로 쪼개어 상위/하위 바이트로 구분되어

문자열이 저장 됩니다.

 

데이터 표시에 있어 최상위 비트는 부호를 결정하는 비트 입니다.

최상위 비트가 0이면 양수, 1이면 음수를 나타냅니다.

 

이제 데이터 표현법을 알아보겠습니다.

D0이라는 Word에 18,799라는 Data가 들어 있을때를 가정하여 표현 하였습니다.

 

bit단위로 쪼개어 표현한게 2진수 Binary

nibble 단위로 쪼개어 표현한게 16진수 Hex(Hexadecimal)

Word 단위로 표현시 10진수 Dec(decimal) 

             

 

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

12. BSFL을 사용한 Step Program  (0) 2020.11.18
10. 데이터 디바이스(D) 와 MOV 명령어  (0) 2020.11.13
9. FF 명령어 ( flip-flop 회로)  (1) 2020.11.11
8. 상승펄스? 하강펄스?  (0) 2020.11.11
4. 인터록?  (2) 2020.11.07
반응형

이번에는 데이터 디바이스 (D) 와 MOV명령어에 대해 알아 보도록 하겠습니다.

 

데이터 디바이스(D)는 수치데이터 (-32,768~+32,767 또는 0000h~FFFFh)를 저장하는

16bit 크기의 메모리 입니다. 필요에따라 데이터 디바이스(D) 2개를 조합하여 32bit 크기의

메모리로 사용 할 수 있습니다. 

 

* MOV 명령에는 4가지 형태의 MOV명령이 있습니다.

  1. MOV : 데이터 전송 명령            

  2. FMOV : 동일데이터 일괄 전송 명령 

  3. BMOV : 블럭 데이터 일괄 전송 명령

  4. $MOV : 문자 전송 명령 (이건 나중에...)

 

위 데이터 디바이스(D)와 MOV 명령을 Program을 통해 알아 보도록 하겠습니다.

 

X0입력 후 F8을 누른뒤 Mov K1 D0 을 입력해 줍니다.

그 다음 줄에 Mov K2 d1을 입력해 줍니다. 이어서 D2까지 입력해줍니다.

 *세로 라인을 그리는법은 해당위치에서 Ctrl + 방향키로 라인을 그리시면 됩니다. (좌 우  위 아래 다가능)

다음 Fmov를 사용해보도록 합니다.

다음과 같이 Fmov k0 d0 k20를 입력해줍니다. (X0과 라인 분리해주세요)

다음은 Bmov입니다.

Bmov d0 d10 k3을 입력해 줍니다.

프로그램 설명해 드리겠습니다.

X을 입력하면 D0에 1이라는 값을 저장합니다. D1에는 2, D2에는 3을 저장합니다.

 

그 다음 X2를 입력해봅시다.

X2를 입력하면 D0~D2에 저장되어있는 데이터를 D10~D12에 저장해라 라는 뜻입니다.

[Bmov D0 D10 K3]에서 D0은 전송할 데이터의 선두영역, D10 저장할 데이터의 선두영역.  K3는 개수를 뜻합니다.

즉, D0~D2에 있는 데이터를 D10~D12에 1:1로 전송합니다.

 

데이터를 확인 하기 위해 디바이스 모니터를 켜줍니다.

Alt + O → M → B 또는 아이콘

디바이스 모니터 아이콘

디바이스 모니터를 보면 현재 D0 D1 D2에 각각 데이터가 저장된걸 볼 수 있습니다.

그럼 여기서 X2를 ON해보겠습니다.

 

X2를 ON하자 D10 D11 D12에 D0 D1 D2에 대응하여 데이터가 저장되었습니다.

즉, BMOV는 1:1 맞대응인걸 확인 할 수 있습니다.

 

이번엔 X1을 입력하여 Fmov는 어떻게 바뀌는지 확인해 봅시다.

 

 

X1을 ON하자 데이터들이 모두 지워졌습니다.

 

Fmov는 똑같은 데이터를 일괄 전송하는 명령어인데요

 

[FMOV K0 D0 K20]은 0이란 값을 D0부터 D19 전송해라 라는뜻입니다.

 

근데 여기서 한가지 더!

 

데이터 디바이스(D)는 데이터를 저장하는 word 형식 말고 bit 형식으로도 사용 가능합니다. 

 

예를들어 2가지 정도만 프로그램을 통해 어떻게 사용하는지보여 드리겠습니다.

 

위와같이 데이터를 저장하는 형태가아닌 bit 형태로 Lamp 등을 On / Off 할 수 있습니다.

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

12. BSFL을 사용한 Step Program  (0) 2020.11.18
11. Bit? Word?  (0) 2020.11.13
9. FF 명령어 ( flip-flop 회로)  (1) 2020.11.11
8. 상승펄스? 하강펄스?  (0) 2020.11.11
4. 인터록?  (2) 2020.11.07
반응형

이번에는 명령어 FF에대해 알아보겠습니다.

 

FF명령어는 스위치를 한번떼면 출력이 On되고, 다시 한번 눌렀다 떼면 OFF되는 명령어 입니다.

 

즉, 스위치 하나로 ON/OFF와 자기유지까지 동시에 이뤄지는 명령어입니다.

 

프로그램 실습을 통해 알아보겠습니다.

 

명령어 입력 방법은  F8을 누른 뒤 [FF M1]을 입력해 주면 됩니다.

 

 

X0을 ON하면 FF명령어를 통해 Y1 Lamp가 ON되는걸 확인 할 수 있습니다. 

다음 X0을 OFF 시켜보겠습니다.

X0을 OFF 시켜도 M1이 ON되어 있어 Y1 Lamp가 ON되어 있습니다.

다시 한번 X0을 ON 시켜 보겠습니다.

X0이 ON되는 순간 FF명령어가 OFF되면서 M1이 OFF되었습니다. 그 결과 Y1 Lamp가 OFF됩니다.

 

위의 명령어 FF는 flip-flop회로를 명령어로 표현한 것이며,

 

이번엔 flip-flop 회로를 명령어를 사용하지 않고 래더로 표현해 봅시다.

 

래더에서 flip-flop 회로는 저게 되나? 싶지만 

 

PLC에서는 래더는 스캔 방식으로 프로그램을 처리합니다.

 

쉽게 말해 위에서부터 아래로 진행되기때문에 가능하답니다.

 

 

지난시간에 배운 상승 펄스를 활용한 flip-flop회로

 

그렇다면 PLS 같은 명령어를 사용해도 구성 할수 있겠죠?

펄스명령어 사용하지 않은 flip-flop회로 

 

같은 동작이 나오는지 확인 하시려면 동영상을 통해 확인해 보세요.

 

 

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

11. Bit? Word?  (0) 2020.11.13
10. 데이터 디바이스(D) 와 MOV 명령어  (0) 2020.11.13
8. 상승펄스? 하강펄스?  (0) 2020.11.11
4. 인터록?  (2) 2020.11.07
3. 내부릴레이M을 사용한 자기유지 회로  (0) 2020.11.07
반응형

이번 시간에는  Works2에서 상승펄스와 하강펄스 신호에 대해 알아보겠습니다.

 

상승펄스 하강펄스 그게 뭐냐?

 

우선 메뉴얼 상의 타이밍 차트를 보겠습니다. 타이밍 차트를 보면 대강 감이 오실겁니다.

상승 펄스 타이밍 차트 하강 펄스 타이밍 차트

상승 펄스는 입력신호가 들어오는 순간 신호가 1회 출력되며

하강 펄스는 입력신호가 떨어지는 순간 신호가 1회 출력됩니다.

 

즉, 상승 펄스는 스위치를 누르는 순간, 하강 펄스는 스위치를 누르고 떼는 순간 신호가 출력된다고 보시면 됩니다.

 

그럼 이번엔 프로그램을 통해 상승 펄스, 하강 펄스에는 어떤 명령어가 있고 어떻게 사용하는지 알아봅시다.

 

1. Shift + F7을 누른 후 X0을 입력후 출력 Lamp Y0을 만들어줍니다.

   

   X0을 입력 하는 순간 Y0이 On 되었다 Off되는걸 볼 수 있습니다.

 

   (스캔 처리상 보이지 않기에 동작테스트는 직접 해보시길 바랍니다.)

    

2. 이번엔 하강 펄스 프로그램을 작성 해줍니다. Shift + F8을 누른 후 X1 입력후 출력 Lamp Y1을 만들어 줍니다.

 

   X1을 강제입력 해제 하는 순간 Y1이 On 되었다 Off되는걸 볼 수 있습니다.

 

3. Works2에서는 펄스를 쓰는법이 몇가지 존재 하여 그부분만 짚고 마무리 짓도록 하겠습니다.

 

   상승펄스 : 모두 다 같은 표현 입니다.

                 2번째 라인의 ↑는 해당 위치에서 Alt+F5를 눌러주면 됩니다.

                 3번째 라인의 PLS는 출력쪽에 입력 할 수 있는 상승 펄스 입니다.

   하강펄스 : 마찬가지로 모두 같은 표현입니다.

                 2번째 라인의 ↓ 는 해당 위치에서 Ctrl + Alt + F5를 눌러주면 됩니다.

 

사람마다 프로그램 방식이 다 다르므로 알고 계시면 내 프로그램 말고 다른사람의 프로그램을 봤을때

 

당황하지 않고 해석 가능 하실겁니다.

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

10. 데이터 디바이스(D) 와 MOV 명령어  (0) 2020.11.13
9. FF 명령어 ( flip-flop 회로)  (1) 2020.11.11
4. 인터록?  (2) 2020.11.07
3. 내부릴레이M을 사용한 자기유지 회로  (0) 2020.11.07
2. A접점? B접점?  (0) 2020.11.05
반응형

오늘은 PLC 프로그램에서의 인터록 개념을 알아 보고자 합니다.

 

인터록을 검색해보면....

인터락(interlock) 또는 인터로크는 2개의 매커니즘 또는 기능의 상태를 서로 의존되도록 만들어주는 기능이다. 유한 상태 기계에서 원치 않는 상태를 예방하기 위해 사용할 수 있으며 어떠한 전기적, 전자적, 기계적 장치나 시스템으로도 구성될 수 있다. 대부분의 환경에서는 기계가 조작자나 스스로에게 위해를 끼치지 못하도록 하기 위해 사용되며 이는 다른 요소의 상태로 인해 요소의 상태가 변경되는 것을 막음으로써 수행된다.

 

굉장히 어렵게 설명 해놨다... 저런 어려운 말은 뒤로 해놓고 쉽게 풀어서 알아보도록 합시다.

 

 

걸음걸이를 프로그램으로 표현해 보도록 하겠습니다.

위와 같은 프로그램으로 작성을 했습니다.

 

다들 한걸음 해보셔서 알겠지만. 오른발이 움직이는 중에는 왼발은 움직일수가 없습니다.

 

또 오른발이 전진한 후 오른발 또 오른발 불가능 하죠 (가능하신분 있을수도;;)

 

보통 사람은 왼발 오른발 순차적으로 걷죠..

 

그럼 프로그램을 구동 시켜 보겠습니다.

 

 

1. 오른발 먼저 동작 하도록 하겠습니다. 뇌에서 X0 오른발 동작하라는 신호를 주고 Y0 오른발이 동작을 합니다.

 

 

 

2. 발이 바닥에 닿아 오른발 동작 완료 X2 신호를 뇌에다 전달해 줍니다. 여기서 다시한번 오른발을 움직이려 해도

 

   오른발은 움직이지 않습니다. 왜냐 Y2 오른발 동작 완료신호가 동작 신호를 막고 있기 때문입니다.

 

   그렇다면 이번엔 왼발 X1 을 움직여 보도록 하겠습니다.

 

 

3.왼발을 움직이니 오른발 동작 완료 Y2가 OFF가되었으나, 아직 왼발이 동작 중이기에 오른발은 움직일 수 없습니다.

 

4. 왼발 동작 완료 Y3 가 ON 되고, 오른발 동작이 가능한 상태가 되었습니다.

위와 같이 상호간의 움직임, 기능에 조건을 걸어주는게 인터록이라고 생각하시면 될 것 같습니다.

반응형
반응형

오늘은 내부릴레이 M을 이용한 자기 유지 회로를 작성해 보도록 하자

 

회로란 입력 신호를 받아 출력이 송출되는데

 

자기유지 회로란 입력신호가 제거가 되어도 계속 출력이 송출되는 회로를 말한다.

 

일반적인 스위치가 달린 회로를 보면 스위치가 ON 되었을때만 출력이 ON되며 스위치 OFF시 출력도 같이 OFF된다.

 

쉽게말해 스위치를 누르고 있을때는 청소기가 작동하며 스위치에서 손을떼면 청소기 작동이 멈춘다고 보면 된다.

 

이 얼마나 불편한가....

 

그럼 위 회로를 자기 유지 회로로 변경해 보도록 하자.

 

자기유지 회로는 크게 어려운점 없이 스위치 아래에 출력 접점을 동시에 걸어서 병렬로 엮어주면 된다.

위 회로를 실제 프로그램으로 돌리면 너무 빠른 속도로 작동하여 눈으로 볼수 없기에 순차적으로 살펴 보겠습니다.

 

1.  X0이 ON되며, M1 출력이 ON

2. M1 출력 ON과 동시에 자기유지 

3. M1 자기유지와 동시에 Y1 출력 ON

4. X0 스위치 Off 이후 M1 자기유지 회로에의한 Y1 출력 ON

자기 유지 프로그램에서 M1 대신 Y1을 자기유지 하여도 되나. 실제 현장에서 자기유지 회로 구성 할때는 

 

내부릴레이 M을 사용하여 돌려서 많이 표현합니다. 정확한 이유는 모르겠습니다.

 

개인적인 생각으론 나중에 배울 MC 마스터 컨트롤등을 사용하기위해, 입력측과 출력측을 나눠서 프로그램 하기위해

 

즉, 프로그램을 다양하게 표현 하기 위해서 인것 같습니다.

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

10. 데이터 디바이스(D) 와 MOV 명령어  (0) 2020.11.13
9. FF 명령어 ( flip-flop 회로)  (1) 2020.11.11
8. 상승펄스? 하강펄스?  (0) 2020.11.11
4. 인터록?  (2) 2020.11.07
2. A접점? B접점?  (0) 2020.11.05
반응형

오늘은 래더에서 가장 많이 쓰이고 가장 기초인 접점에 대해 알아보는 시간을 갖도록 하겠습니다.

 

A접점 B접점을 Program을 통해 알아보겠습니다.

 

이전시간에 배운대로 Program을 실행시켜 Project를 생성해줍니다.

 

상단의 툴바를 이용하여도 되나 빠른 작업을 위해 자주사용하는 접점등은 단축키를 외워 둡시다. .

 

우선 F5를 눌러 줍니다. (F5는 A접점의 단축키 입니다.) 

래더 입력창이 생기게 되며 입력창에는 X,Y 등과 같은 디바이스를 입력해주면 됩니다. 디바이스 설정도 있으나 그부분은 나중에 알아보도록 하고

 

우선 X0 입력 후 엔터를 누르도록 합시다.

 

지난번 설정을 잘 따라 하셨다면 위와 같이 코멘트 입력창이 나타나게됩니다. 저는 여기다 멍뭉이 라는 코멘트를 넣겠습니다.

코멘트를 입력했는데 보이지 않는다면

Tool → Options → Program Editor → Ladder → Comment 에서 Device Comment를 체크해줍니다.

또는 Ctrl + F5를 누르면  코멘트가 보이게 됩니다.

다음은 F7을 눌러 출력(코일) Y0을 넣어 줍니다. 

 

마찬가지로 코멘트를 입력하면 됩니다. 저는 주인 이라는 코멘트를 넣도록 하겠습니다.

 

여기까지 오면 한줄의 회로가 완성된 것입니다.

이제 여기서 F4를 눌러 줍니다. F4는 현재 편집중인 프로그램 전환으로 C언어로 치면 빌드랄까?

 

F4를 눌러 이렇게 바뀌게 되면 시뮬레이션을 통해 확인을 해보도록 합시다.

ALT + B → S 단축키를 통해 시뮬레이션을 진행합니다. 

여기서 Close를 누르면 창이닫히면서 왼쪽 상단에 RUN에 녹색 램프가 점등되면 시뮬레이터 준비가 완료 됩니다.

 

여기서 A접점의 개념을 쉽게 설명하기 위해 이미지 치환을 하도록 하겠습니다.

 

멍뭉이&주인 치환

멍뭉이가 주인에게 가기위해 서는 끊어진 길이 연결되어야 갈 수 있습니다.

 

여기서 끊어진 길의 상태를 A접점이라 하며, Nomal Open = N.O로도 표현합니다. (대부분의 센서에 N.O , N.C로 표현)

 

멍뭉이와 주인을 만나게 하기 위해서 정부에서 길을 새로 깔아 준다면 멍뭉이와 주인은 만날 수있게 되겠죠?

 

그럼 길을 생성해 주도록 합시다.

 

Program에서 커서가 X0에 오도록 조작한 후 시키고 X0접점에서 SHIFT + ENTER를 눌러줍니다.

SHIFT + ENTER는 강제 입력 명령으로 신호를 강제로 ON / OFF 시킬수 있는 명령입니다.

강제명령으로 인해 X0 이 ON되어 출력 Y0가 ON 되었습니다.

 

멍뭉이&주인 치환

SHIFT + ENTER 명령으로 길을 생성해주고,

멍뭉이와 주인이 만난 상태를 Y0이 ON된 상태로 이해하시면 쉽게 이해하실 수 있으실겁니다.

 

그러면 B접점은 뭐냐?

 

A접점의 반대로 생각하시면 됩니다.

 

래더로 표현하기 위해 ALT + B → S 단축키를 눌러 시뮬레이터를 종료 해줍니다.

 

X0위치에서 F6(B접점 입력)을 누른 후 엔터를 눌러줍니다.

 

그럼 기존 A접점과는 달리 칸안에 / 표시가 들어간게 보이실겁니다. 위와 동일하게 F4로 빌드를 해주고

다시 시뮬레이터를 돌려줍니다.

 

그럼 아까 A접점과는 다르게 X0, Y0가 바로 ON 된상태를 확인 할 수있을겁니다.

 

 

여기서 X0에 강제 명령을 준다면 X0 , Y0가 OFF되었을 겁니다.

 

즉 B접점은 평상시 붙어있다 동작시 끊어지는 접점으로 Nomal Close = N.C라고 표현합니다.

 

다시 정리하면

 

A접점은 평상시 끊어져 있는 상태 Nomal Open = N.O

B접점은 평상시 연결되어 있는 상태 Nomal Close = N.C

 

 

반응형

'PLC > Mitsubishi Q' 카테고리의 다른 글

10. 데이터 디바이스(D) 와 MOV 명령어  (0) 2020.11.13
9. FF 명령어 ( flip-flop 회로)  (1) 2020.11.11
8. 상승펄스? 하강펄스?  (0) 2020.11.11
4. 인터록?  (2) 2020.11.07
3. 내부릴레이M을 사용한 자기유지 회로  (0) 2020.11.07

+ Recent posts