CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는...

144
1 BASIC 과 LADDER LOGIC 을 동시에 지원하는 산업용 콘트롤러 CUBLOC 레더로직 중심 사용설명서 사용설명서 VERSION 2.0 컴파일 테크놀로지 주식회사 www.comfile.co.kr

Transcript of CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는...

Page 1: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

1

BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러

CUBLOC

레더로직 중심 사용설명서

사용설명서 VERSION 2.0

컴파일 테크놀로지 주식회사

www.comfile.co.kr

Page 2: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

2

등록상표 WINDOWS는 Microsoft Corporation의 등록상표입니다.

CUBLOC은 Comfile Technology의 등록상표입니다.

기타 다른 상표는 해당회사의 등록상표입니다.

명칭 CUBLOC 은 모든 CUBLOC제품군을 통칭하는 이름입니다.

알림 본 설명서의 내용은 사전 통보 없이 변경될 수 있습니다. 본 제품의 기능은 성능 개선을 위하여 사전 통보 없

이 변경될 수 있습니다. 본 제품을 이용하여 만든 제품의 동작여부에 대해, 그리고 2차적인 피해에 대하여 폐

사에서는 어떠한 법적 책임도 지지 않으므로 주의하시기 바랍니다. 본 제품은 컴파일 테크놀로지의 고유 기술

을 사용하여 개발된 제품으로 저작권법에 의한 보호를 받고 있습니다. 따라서 본 제품 (제품에 대한 아이디어

및 설명서 및 기타 포함)의 어떠한 부분도 사전에 폐사와의 문서 동의 없이 복사되거나 변경, 재 생산할 수 없

으며 또한 다른 언어로도 번역될 수 없습니다.

주의사항 인쇄된 설명서는 인쇄된 시점에서는 최신 버전이지만, 인쇄된 후 시간이 경과된 뒤에 새로운 내용이 추가되거

나, 기존내용이 바뀔 가능성이 있습니다. 최신 버전의 설명서는 항상 인터넷 홈페이지 (www.comfile.co.kr)에

서 확인하시기 바랍니다.

본 제품 (CUBLOC및 CUTOUCH, MSB그리고, 부속장치 일체) 를 사용하시다가 생긴 손해 및 손실에 대하여

저희 컴파일 테크놀로지 주식회사는 어떠한 책임도 없음을 명시하는 바입니다. 본 제품을 사용하기 이전에 반

드시 본 사용설명서를 읽어본 뒤 사용하시기 바랍니다. 본 사용설명서를 충분히 읽어보지 않은 상태로 본 제

품을 사용하는 것으로 인해 발생된 피해에도 저희 회사에서는 어떠한 책임도 없음을 명시합니다.

Copyright 컴파일 테크놀로지㈜

Page 3: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

3

머리말

CUBLOC은 베이직언어와 레더로직을 동시에 사용할 수 있는 산업용 임베디드 콘트롤러입니다.

CUBLOC은 여러가지 형태로 출시되고 있습니다.

1. CUBLOC 코어모듈 : PCB보드에 직접 장착할 수 있는 반도체형

2. 일체형 제품 : 바로 현장에 적용할 수 있는 형태의 제품 (MSB 시리즈 또는 CUSB시리즈)

3. CUTOUCH 제품 : 그래픽 LCD와 터치입력을 갖춘 제품

본 사용설명서는 “레더로직”에 대한 부분만을 다루고 있습니다.

따라서 “BASIC 언어”에 대한 설명은 “베이직 언어 중심 사용설명서”를 참조하시기 바랍니다.

이 두 권의 책은 CUBLOC 을 활용하는데 있어서 반드시 읽어야 되는 책입니다. 추가적으로 여러분이

사용하고자 하는 CUBLOC 제품 형태에 따른 설명서를 참고하시면 됩니다.

CUBLOC을 처음 접하시는 분은 “CUBLOC 초보여행”을 먼저 읽어보시기를 권해드립니다.

http://www.comfile.co.kr/download/cubloc/cbstartbook.pdf 이곳에 pdf파일로 공개되어 있습니다.

CB210을 위한 “CB210시작 가이드”도 준비되어 있습니다.

http://www.comfile.co.kr/download/cubloc/cb210_trip.pdf

컴파일 테크놀로지 주식회사

Page 4: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

4

차 례

제 1 장 CUBLOC STUDIO ..................................................................................................................................................... 7

CUBLOC STUDIO 사용법 기초 .............................................................................................................................................. 8

화면 구성 ..................................................................................................................................................................................... 11

LADDER 작성법 ........................................................................................................................................................................ 12

LADDER 편집 ............................................................................................................................................................................ 13

사용할 수 없는 레더 표현 ..................................................................................................................................................... 19

모니터링 ....................................................................................................................................................................................... 20

WATCH POINT ........................................................................................................................................................................... 21

강제 I/O ........................................................................................................................................................................................ 22

MODIFY기능 ............................................................................................................................................................................. 23

메뉴 설명 ..................................................................................................................................................................................... 24

PLC셋업 마법사 ....................................................................................................................................................................... 26

릴레이 사용현황 보기 ............................................................................................................................................................. 28

와치윈도우 .................................................................................................................................................................................. 29

간접 번지 지정........................................................................................................................................................................... 30

D영역 비트단위 제어 ............................................................................................................................................................. 31

제 2 장 레더로직의 기초 .......................................................................................................................................................... 32

LADDER의 기초....................................................................................................................................................................... 33

레더 로직 다이어그램의 기본 구성 ................................................................................................................................... 35

릴레이 및 레지스터 표현 ....................................................................................................................................................... 36

특수릴레이 .................................................................................................................................................................................. 38

I/O포트의 사용 .......................................................................................................................................................................... 40

제 3 장 레더로직 기본명령어 ................................................................................................................................................. 43

CUBLOC LADDER 명령요약 ................................................................................................................................................ 44

LOAD,LOADN, OUT ................................................................................................................................................................. 46

NOT, AND,OR ............................................................................................................................................................................. 47

SETOUT, RSTOUT ..................................................................................................................................................................... 48

DF, DFN ........................................................................................................................................................................................ 49

TON, TAON ................................................................................................................................................................................. 50

TOFF, TAOFF .............................................................................................................................................................................. 51

TMON, TAMON ......................................................................................................................................................................... 52

CTU ................................................................................................................................................................................................ 53

CTD ................................................................................................................................................................................................ 53

RSTCNT ........................................................................................................................................................................................ 55

KCTU ............................................................................................................................................................................................. 56

KCTD ............................................................................................................................................................................................. 56

Page 5: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

5

MCS, MCSCLR ............................................................................................................................................................................ 57

비교명령 ....................................................................................................................................................................................... 60

제 4 장 레더로직 응용명령어 ................................................................................................................................................. 61

응용명령어란 .............................................................................................................................................................................. 62

워드와 더블워드 저장방식 .................................................................................................................................................... 65

16진수 표기법 ........................................................................................................................................................................... 65

WMOV, DWMOV ...................................................................................................................................................................... 66

WXCHG, DWXCHG .................................................................................................................................................................. 67

FMOV ............................................................................................................................................................................................ 68

GMOV ........................................................................................................................................................................................... 69

WINC, DWINC WDEC, DWDEC ............................................................................................................................................ 70

WINV, DWINV ............................................................................................................................................................................ 71

WNEG, DWNEG ......................................................................................................................................................................... 72

WADD, DWADD ........................................................................................................................................................................ 73

WSUB, DWSUB .......................................................................................................................................................................... 74

WMUL ........................................................................................................................................................................................... 75

WDIV, DWDIV ............................................................................................................................................................................ 76

WOR, DWOR ............................................................................................................................................................................... 77

WXOR, DWXOR ........................................................................................................................................................................ 78

WAND, DWAND ........................................................................................................................................................................ 79

WCMP, DWCMP ........................................................................................................................................................................ 80

WROL,DWROL .......................................................................................................................................................................... 81

WROR,DWROR .......................................................................................................................................................................... 82

WRCL,DWRCL ........................................................................................................................................................................... 83

WRCR,DWRCR .......................................................................................................................................................................... 84

DEFCON ....................................................................................................................................................................................... 85

GOTO,LABEL ............................................................................................................................................................................. 86

NOP ................................................................................................................................................................................................ 86

LOOP ............................................................................................................................................................................................. 87

CALLS,SBRT,RET ..................................................................................................................................................................... 88

TND ................................................................................................................................................................................................ 89

DIST ............................................................................................................................................................................................... 90

UNIT .............................................................................................................................................................................................. 91

DECO ............................................................................................................................................................................................. 92

ENCO ............................................................................................................................................................................................. 93

BSHR DBSHR .............................................................................................................................................................................. 94

BSHL DBSHL .............................................................................................................................................................................. 95

WSHL ............................................................................................................................................................................................ 96

WSHR ............................................................................................................................................................................................ 97

WBCD ........................................................................................................................................................................................... 98

WBIN ............................................................................................................................................................................................. 99

WBCNT DWBCNT ................................................................................................................................................................... 100

제 5 장 레더로직 과 베이직 동시사용법 ..................................................................................................................... 101

Page 6: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

6

베이직과의 데이터 공유....................................................................................................................................................... 102

A/D입력 ..................................................................................................................................................................................... 104

PWM출력 .................................................................................................................................................................................. 106

고속카운터 입력 ...................................................................................................................................................................... 107

키패드 입력 ............................................................................................................................................................................... 108

7 세그먼트 디스플레이 ......................................................................................................................................................... 109

LCD디스플레이 : 방법 1 ...................................................................................................................................................... 112

LCD디스플레이 : 방법 2 ...................................................................................................................................................... 114

LCD디스플레이 : 방법 3 ...................................................................................................................................................... 116

레더에서 사운드발생 ............................................................................................................................................................. 119

레더에서 복잡한 연산식 수행 ............................................................................................................................................ 121

LADDER 와 BASIC의 협동 ................................................................................................................................................ 124

방법 1: M릴레이로 AND하기 ............................................................................................................................................ 125

방법 2: 마스터 콘트롤로 제어하기 ................................................................................................................................... 128

방법 3: GOTO로 제어하기 ................................................................................................................................................... 130

방법 4: 레더전체를 ON/OFF를 제어하기 ....................................................................................................................... 131

제 6 장 어플리케이션 노트 ................................................................................................................................................. 132

노트 1. 자기유지 (래치)회로 ............................................................................................................................................... 133

노트 2. 인터록 회로 ................................................................................................................................................................ 136

노트 3. 스위칭 회로 ................................................................................................................................................................ 138

노트 4. 레더에서 온도읽기 .................................................................................................................................................. 140

Page 7: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

7

제 1 장

CUBLOC

STUDIO

Page 8: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

8

CUBLOC STUDIO 사용법 기초

화면 상단의 툴 바를 이용하여 기본적인 조작을 할 수 있습니다.

소스파일은 확장자 .CUL과 .CUB, 두 개의 파일로 저장됩니다. 따라서 파일을 따로 백업하거

나, 이동할 때 반드시 두 개 파일을 같이 옮겨야 합니다.

Page 9: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

9

파일 오픈 시에는 위의 그림처럼 .CUL파일만 표시됩니다. (.CUB파일을 표시하지 않습니다. 하지만 실

제로는 같은 폴더에 들어 있습니다.) .CUL파일을 오픈하면 자동적으로 같은 이름의 CUB파일이 오픈됩

니다.

유저가 작성한 소스는 PC상에만 저장할 수 있습니다. “CUBLOC모듈”에 저장했다가 나중에 다시 불러

오는 “소스 업로드”기능은 지원하지 않으므로, 주의하시기 바랍니다. 소스를 잃어버렸을 경우, CUBLOC

모듈 에서 소스를 다시 불러올 수 있는 방법은 없으므로 소스프로그램의 보관 및 백업에 항상 신경

써 주시기 바랍니다.

메모

CUBLOC 모듈은 기본적으로 “코드 프로텍션”을 지원합니다. 다운로드 된 유저 프로그램을 읽어낼 수

없도록 설계되어 있습니다. 가령, 특수한 장비를 사용하여 반도체 칩 내부의 데이터를 읽어낸다 하더

라도, 암호화되어 알 수 없는 숫자들만 읽혀질 뿐입니다.

Page 10: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

10

RUN을 누르면 (또는 단축키 CTRL-R) 저장-컴파일-다운로드-실행이 됩니다. LADDER와 BASIC모두

RUN 보턴 하나로 컴파일 에서 실행까지 한번에 수행됩니다. 번역도중 에러가 발생되면 에러멧세지가

표시되고, 에러가 발생한 곳으로 커서가 이동합니다.

BASIC은 다음과 같이 작성합니다. CUBLOC Text Editor는 일반적인 에디터와 동일한 사용방법을 가지

고 있으며 칼라링과 일부 특수 기능키를 지원합니다.

레더로직만 사용하는 경우에도 “최소한의 코드”는 작성해주어야 하므로, 텍스트 에디터를 사용하는 방

법에 대해서 알아야 합니다.

기능키 동작설명

CTRL-Z UNDO

CTRL-O OPEN

CTRL-S SAVE

*소스작성 중 자주 CTRL-S 키를 눌러 저장하는 습관을 들이는 것이 좋

습니다.

CTRL-C COPY

CTRL-X CUT

CTRL-V PASTE

CTRL-F FIND

CTRL-HOME 문서의 맨 처음으로

CTRL-END 문서의 맨 끝으로

Page 11: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

11

화면 구성

상단에는 편집 모드를 변경하는 2가지 기본적인 탭이 있습니다.

BASIC 작성 레더로직 작성

BASIC을 누르면 BASIC을 작성할 수 있는 에디터가 표시되며, LADDER를 누르면 레더작성을 위한 에

디터가 표시됩니다.

Page 12: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

12

LADDER 작성법

LADDER 의 가장 끝에는 반드시 END명령이 있어야 합니다. CUBLOC STUDIO는 END 명령이 위치한 곳

까지 번역하고, 저장합니다. END명령 이후에 작성된 부분은 저장되지 않으므로 주의하시기 바랍니다.

Page 13: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

13

LADDER 편집

텍스트 수정

이미 작성되어 있는 TEXT부분을 수정하려면 해당위치에 커서를 놓은 뒤, ENTER키를 누르면, 해당부분

의 TEXT를 수정할 수 있습니다.

종 접속선의 추가 삭제

종 접속이 가능한곳에 위치하면 커서가 아래모양처럼 변합니다. 이때 F6키를 누르면 해당위치에 종접

속선이 표시됩니다.

F6을 누르면 이곳에 종접속선이 표시됩니다.

종 접속 선을 지우려면 해당위치에서 한번 더 F6키를 누르면 지워집니다.

횡 접속선의 추가 삭제

이미 표시되어 있는 곳에서 “-“키를 누르면 횡접속선만 지워집니다.

Page 14: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

14

셀 단위 삭제

현재 커서가 위치한 곳에 있는 선과 텍스트내용을 모두 삭제하고 싶다면 “SPACE키”를 누릅니다.

라인의 삭제

지우고 싶은 라인에 커서를 위치시킨 뒤 CTRL-D 를 누르면 해당 라인이 삭제됩니다.

Page 15: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

15

복구 (UNDO)

방금전에 수정한 사항을 원래대로 복구 시키려면, CTRL-Z를 누릅니다.

셀 단위 삽입과 삭제

현재 커서의 위치에서 DEL키를 누르면 셀이 삭제되고, 뒤에 있던 부분이 당겨지게 됩니다.

INS키를 누르면 빈칸이 삽입되고, 뒷부분은 밀려납니다.

Page 16: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

16

라인 복사

같은 형태의 레더가 계속 반복될 경우 CTRL-A 를 누르면, 바로 윗줄의 라인과 똑 같은 모양의 라인이

생성됩니다. 단, 텍스트 내용은 복사되지 않습니다.

빈라인 삽입

CTRL+I를 누르면 커서위치 바로위에 빈 라인이 삽입됩니다.

코멘트 표시

LADDER프로그램 중 빈 공간에 “주석문 (COMMENT)”를 입력할 수 있습니다. 코멘트는 “어포스토로피”

(‘) 로 시작해야 하며, 반드시 빈 공간이나, 빈 줄에 표시해야 합니다. 코멘트 사이에 세미콜론을 넣으

면 행 바꿈이 되어 두 줄로 코멘트를 입력할 수 있습니다.

Page 17: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

17

텍스트입력 도움창

1. 텍스트 입력시 도움창이 표시됩니다.

위 레더심볼에서 텍스트를 입력할 때, 릴레이 선택을 위한 도움

창이 표시됩니다.

P를 누르면 P릴레이중 별명(Alias)이 있는 접점이 표시됩니다. 이

중 하나를 고른뒤 TAB키를 누르면 해당 릴레이가 선택됩니다.

P 로 시작하는 별명도 함께 표시됩니다. 별명을 선택해도 해당

릴레이가 선택 됩니다.

별명이 할당되진 않았지만, 다른곳에서 사용한적이 있는 릴레이

는 used라고 표시됩니다. 단, 사용여부는 다운로드후 알 수 있으

므로, 레더작성시에 새롭게 사용된 릴레이는 표시되지 않습니다.

2. 명령어 입력시 도움창이 표시됩니다.

펑션심볼에 텍스트를 입력할때는 명령어 선택을 위한 도움창이

표시됩니다.

이중 하나의 명령어를 고른뒤 TAB를 누르면 해당 명령어가 선

택됩니다.

3. 명령어 사용 도움창이 표시됩니다.

명령어를 고르면, 해당 명령어의 사용법을

상단에 표시합니다.

Page 18: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

18

레더의 블록 이동, 복사

레더의 일부분을 선택하여 따로 보관하거나, 이동 복사 등을 할 수 있습니다.

마우스를 이용하여 드레그-드롭한다면 원하는 영역을 선택할 수 있습니다. 선택된 영역은 반전되어 표

시됩니다. 이 상황에서 CTRL-C 를 누르면 선택된 영역이 버퍼로 복사됩니다. 화면에는 아무 변화도 일

어나지 않지만, 선택된 영역이 버퍼에 저장된 것입니다. CTRL-X를 누르면 복사한 뒤, 해당영역을 모두

클리어 합니다.

복사하고자 하는 지점으로 커서를 이동시킨 뒤 CTRL-V 를 누르면 버퍼에 있던 내용이 표시됩니다.

CTRL-V 는 넣을 공간을 확보한 뒤, 표시하고, CTRL-T 는 원래 있던 내용에 겹쳐서 표시됩니다. 따라서

빈자리를 확보하고 CTRL-V를 누르시기 바랍니다.

Page 19: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

19

사용할 수 없는 레더 표현

1. 레더의 흐름이 역행되어서는 안됩니다.

2. 출력심볼의 뒷부분에 다른 레더를 그릴 수 없습니다.

3. 서로 반대인 상태가 동일 출력에 연결되어 있는 경우가 발생되어서는 안됩니다. 이 경우 레더번역

시 특별한 에러 멧세지가 발생되지 않으므로 주의하시기 바랍니다.

Page 20: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

20

모니터링

CUBLOC STUDIO에서는 LADDER LOGIC의 동작상황을 실시간으로 보여주는 “모니터링”기능을 지원합

니다. 화면상단에 있는 툴 바에서 모니터링 ON/OFF 스위치를 누르면 모니터링 상태로 들어가거나, 빠

져 나올 수 있습니다. 또는 F2 키를 누르면 모니터링 상태로 들어갑니다.

다음은 모니터링중인 화면입니다. ON상태인 접점은 “녹색블록”이 표시되며, 타이머, 카운터 등은 현재

값을 표시합니다.

화면하단에는 I/O포트의 상태가 표시됩니다. ON된 접점은 파란색의 볼드체로 표시됩니다. 0부터 63까

지만 표시됩니다.

LADDER 모니터링 상태에서는 편집 및 저장이 불가능합니다. 그리고 LADDER 모니터링 상태에서 다운

로드 및 BASIC의 디버그 창 표시도 불가능합니다. 반드시 LADDER모니터링 상태를 끈 후에 다른 작업

을 하기 바랍니다.

Page 21: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

21

WATCH POINT

특정 릴레이나 메모리의 내용을 보고 싶을 때에는 WATCH POINT를 이용합니다. LADDER중 빈 부분에

“어포스트로피”를 두 개 연달아 작성한 뒤 보고 싶은 릴레이번호를 적어줍니다. (따옴표가 아닌, 어포

스트로피 두 개입니다.) 다운로드 한 뒤, 모니터링 상태에서 와치포인트에 릴레이의 상태가 표시됩니다.

사용 예)

‘’D0 ‘’D12 ‘’T1

C, T, D는 16비트 값으로 표시 되며, 나머지 P, M, F는 접점형태로 표시됩니다. 그리고, END문 밑에 있

는 레더나 문장은 번역되지 않기 때문에 와치포인트는 END문 안에 있어야 합니다..

Page 22: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

22

강제 I/O

온라인 모니터링시 P접점에 “강제 I/O설정” 기능을 사용할 수 있습니다.

하드웨어적인 입력이 들어오지 않더라도 강제 I/O 를 ON 으로

하면 입력이 들어오는것으로 처리합니다.

출력포트도 강제로 ON 또는 OFF 할 수 있습니다.

설정방법은 모니터링상태에서 해당접점을 더블클릭 또는 우클

릭하여, 팝업메뉴가 표시되도록 한뒤, ON또는 OFF를 선택하십

시오.

강제모드를 해제하면, 원래의 기능대로 레더를 수행하는 것입니다. 강제 I/O로 설정된 사항은 전원OFF

시 모두 해제됩니다

* P영역은 P0 부터 P63까지만 강제 I/O설정을 사용할 수 있습니다.

TIPS: 강제 I/O 활용법

강제 I/O 기능은 센서 고장으로 인해 운전에 장애가 발생할 경우에 사용하실 수 있습니다. 문제가 발

생한 포트를 강제로 ON또는 OFF로 설정해 주는것으로 PLC의 동작여부를 계속 확인하실 수 있습

니다.

또는 하드웨어 와이어링이나 입출력 조작없이 간단하게 테스트하는 용도로도 사용하실 수 있습니다.

Page 23: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

23

MODIFY기능

온라인 모니터링 중 아래 그림에서 화살표로 표시한 부분과 같이, D영역값을 표시하고 있는 지점을 더

블클릭 (또는 우클릭)하면 MODIFY창이 표시됩니다.

또는 상단의 아이콘을 클릭하셔도 됩니다.

운영중 D영역의 내용을 임의대로 변경하실 수 있습니다. 레더의 다른부분에서 해당D영역을 갱신하고

있다면, 변경된값이 계속 유지되지 않습니다. 이 동작은 단 1회만 실행되며, 강제로 유지시켜주지는 않

습니다.

Page 24: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

24

메뉴 설명 파일 (File) 메뉴

메뉴 설명

새로만들기 새로운 파일을 작성하기 위해 BASIC과 LADDER영역을 모두 클리어 합니다.

열기 저장해 놓은 CUBLOC 파일을 불러옵니다.

레더 IMPORT 저장해 놓은 CUBLOC 파일 중 LADDER 만 읽어서, 현재 LADDER 편집영역의 커

서가 있는 부분에 삽입시킵니다. 다른 파일에서 레더만 가져올 때 사용하는 메뉴

입니다.

저장하기 편집중인 내용을 파일로 저장합니다.

다른 이름으로 저장 다른 이름으로 저장합니다.

오브젝트만 저장 소스형태로 저장하지 않고, 오브젝트형태로 저장합니다. 오브젝트로 저장한 파일

은 소스로 변환되지 않으므로, 소스 유출을 방지할 수 있습니다. 오브젝트로 저장

한 파일은 아래 “오브젝트 다운로드”에 의해서 다운로드만 가능할 뿐, 편집할 수

없습니다.

LADDER인쇄 LADDER 영역에 있는 레더소스를 프린터로 출력합니다. 아래의 프린터 설정을 먼

저 하신 후 사용하시기 바랍니다.

BASIC인쇄 BASIC 소스를 프린터로 출력합니다. 프린터 설정을 한 뒤, 프린트하도록 되어 있

습니다.

프린터 설정 LADDER영역 프린트를 위한 프린터 설정 창을 띄웁니다.

오브젝트 다운로드 오브젝트 파일을 CUBLOC 모듈로 다운로드 합니다.

최근 편집파일 최근에 편집한 파일 4개를 보여줍니다. 이중 하나를 선택하면, 오픈됩니다.

끝내기 CUBLOC STUDIO를 종료합니다.

실행 (Run) 메뉴

메뉴 설명

실행 BASIC 과 LADDER 를 모두 컴파일하고, 에러가 없으면 CUBLOC 모듈로

다운로드 후 실행합니다.

다운로드 후 자동으로 실행하는 것을 원치 않을 경우, 설정(Setup)의

Studio Option에서 변경할 수 있습니다.

레더로직 RUN 레더로직을 실행상태로 만듭니다.

레더로직 STOP 레더로직을 정지상태로 만듭니다.

리셋 CUBLOC모듈을 리셋 시킵니다.

LADDER모니터링 시작/중지 LADDER모니터링을 시작또는 중지합니다.

BASIC디버그 터미널 BASIC 디버그 터미널을 표시합니다.

소스 중 DEBUG명령이 있다면, RUN후 자동으로 표시됩니다.

CUBLOC 플레쉬 메모리 지움 CUBLOC 플레쉬 메모리의 내용을 모두 클리어 합니다.

Write가능퓨즈 Off CUBLOC 을 ROM 상태로 만듭니다. ROM 상태를 해제하기 위해서는 펌웨

어 다운로드를 해주어야 합니다.

릴레이 사용현황 보기 (컴파일 후) 레더에서 사용한 릴레이를 보여줍니다.

문법체크 문법의 이상유무만 체크해 줍니다.

Page 25: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

25

설정(Setup)메뉴

메뉴 설명

PLC 셋업 마법사 레더를 위한 베이직 소스 자동 생성 마법사

PC인터페이스 설정 PC 와의 인터페이스를 위한 RS232 COM PORT 를 선택하는 메뉴입니다.

COM 1 ~ 4중 하나를 선택합니다.

에디터 환경 설정 BASIC 텍스트 에디터의 환경을 설정하는 메뉴입니다.

레더로직 환경설정 CUBLOC Studio의 세부상황을 선택할 수 있는 메뉴입니다.

펌웨어 다운로드 CUBLOC CORE 의 펌웨어를 다운로드 합니다. 이 메뉴를 사용하지 않아도,

RUN 시에 STUDIO 에서 펌웨어 업그레이드 여부를 판단하여, 질문 창을 띄

워줍니다.

Studio 옵션 설정 창에 대한 자세한 설명입니다.

렁 사이의 간격을 조정합니다.

(레더의 크기는 윈도우 사이즈에 맞추어서 자동으로

조정됩니다.)

레더작성창의 바탕화면 색을 결정합니다.

모니터링 속도를 결정합니다.

다운로드후 자동으로 실행할것인지의 여부를 결정합

니다.

다운로드시 소스를 자동세이브 할 것인지 결정합니

다.

Write가능퓨즈 Off 기능에 대하여…

실행메뉴에 있는 “Write 가능퓨즈 Off”는 개발이 끝나고, 현장에 투입하기 전에 사용하십시오. 이 기능

은 CUBLOC을 ROM상태 즉, Read Only Memory로 바꾸어서, 외부 노이즈 충격등으로 인해 플레시메모

리가 파괴되는 것을 막아줍니다. 한번 ROM 상태로 만들면, 더 이상 다운로드를 하실 수 없습니다. 다

시 다운로드 가능한상태로 만드시려면, 펌웨어 다운로드를 한번 실행시켜 주십시오.

Page 26: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

26

PLC셋업 마법사

CUBLOC에서 LADDER를 사용하기 위해서는 기본적인 BASIC 코드를 작성해 주어야 합니다. 간단한 소

스지만, BASIC를 잘 모르는 분에게는 부담스러운 일이 아닐 수 없습니다. 그래서 CUBLOC 스튜디오에

서는 “PLC 셋업 마법사”기능을 제공하고 있습니다. 설정메뉴에 “PLC셋업 마법사”를 선택하세요.

모델명 선택 레더에서 사용할 포트를 선택하고 입출력 방향 결정

별명 정의 영역

화면에서 볼 수 있듯이 디바이스명과 I/O 상태, 각종 기능의 사용여부를 단지 클릭해주기만 하면

BASIC 코드를 생성해 줍니다. Alias 는 M0=ABCD 와 같이 릴레이명과 별명만 한 줄에 하나씩 작성해

줍니다. Modbus를 사용한다면 use MODBUS on CH1을 체크하시고, 바로 아래에 있는 보레이트와 프

로토콜을 맞춰주기만 하면 됩니다.

Page 27: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

27

생성중인 BASIC 코드의 상태는 상단 탭 [Output BASIC code review]를 누르면 볼 수 있습니다.

A/D와 PWM, COUNT와 같은 기능들은 특정 D영역으로 중계하는 방식으로 사용할 수 있습니다. 예를

들어 ADC0을 체크했다면, A/D채널 0의 변환 값이 D(10)영역에 저장되므로 사용자는 D10영역을 읽어

오기만 하면 A/D채널 0의 값을 알 수 있습니다.

PWM 의 경우, D29 에 특정 값을 써넣으면 이 값이 PWM3 번 채널에 자동적으로 출력됩니다. HIGH

COUNT1을 체크했다면 고속카운터 1의 내용을 D39에서 읽어볼 수 있습니다. 나중에 BASIC부분을 수

정한다면 D영역의 위치를 유저가 임의대로 변경할 수 도 있습니다.

작성이 모두 끝났으면 [Replace Basic Code]를 누르면 최종상태가 BASIC 영역으로 저장됩니다. 이전에

있던 베이직 소스는 모두 지워지게 되므로 주의하시기 바랍니다. 이전 소스상태를 저장할 것인지 물어

보는 박스가 표시됩니다. 이 때 YES를 선택하시면, 이전소스의 상태를 별도파일로 저장할 수 있습니다.

셋업상태를 별도의 파일로 저장해 두려면 화면 하단에 있는 [SAVE AS..]를 누르면 됩니다. 나중에

[LOAD…]를 누르면 다시 이전 상태를 불러올 수 있습니다. CUBLOC 동작을 위해서 셋업상태를 꼭 저

장해야 하는 것은 아닙니다. 어차피 BASIC상태로 변화된 소스 파일이 레더와 함께 저장되기 때문입니

다. 셋업파일을 따로 저장하는 것은 BASIC코드를 유저가 변경했을 경우, 다시 원래 상태로 되돌리거나

다른 프로그램을 만들 때 참고하고기 위해서 입니다.

Page 28: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

28

릴레이 사용현황 보기

레더로직을 작성하다 보면, 특정릴레이를 사용했는지 궁금한 경우가 발생합니다. 이 메뉴를 사용하면

지금 현재 여러분이 작성한 레더로직에서 사용된 릴레이를 모두 볼 수 있습니다. 다운로드 한 뒤, 실행

메뉴-> 릴레이 사용현황 보기를 클릭하면 다음과 같은 윈도우가 표시됩니다.

이 목록을 참조하면 사용하지 않은 릴레이를 쉽게 알 수 있으므로, 소스 추가 및 수정에 도움이 됩니

다.

Page 29: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

29

와치윈도우

화면 상단의 와치윈도우 아이콘을 클릭하면 왼쪽

과 같은 별도의 창이 표시됩니다.

D, T, C영역등을 한꺼번에 볼 수 있는 기능입니다.

PLC와 연결한 상태에서만 사용할 수 있습니다.

Page 30: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

30

간접 번지 지정

WMOV명령을 사용해서, 간접 번지 지정 방식으로 데이터를 이동시키는 방법입니다.

123을 D0 레지스터가 가르키는 곳에 저장합니다. D0레지스터에 12가 들어있었다면 D12에 123이 저

장됩니다.

D0 레지스터가 가르키는 곳에서 값을 가지고 와서 D2에 저장합니다. D0레지스터에 12가 들어있었다

면 D12에 들어있는 값이 D2에 저장됩니다.

D영역내에서만 사용가능하며, 대상범위 초과시 F65 (ERROR) 특수릴레이가 ON되고 WMOV 명령어는

처리되지 않습니다.

간접번지지정은 WMOV명령에서만 사용가능합니다.

Page 31: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

31

D영역 비트단위 제어

다음과 같은 표현을 쓰면 D영역을 비트단위로 제어하실 수 있습니다.

D영역의 번지 비트번호 (0부터 15)

D2.0 과 같이 표현하면 D2영역의 비트 0번을 대상으로 합니다.

위 예제를 보면 P0이 입력되었을 때, D2영역의 비트 0만 1로 만듭니다. 그 결과 D2는 1이 되었습니

다.

비트표현을 입력릴레이에도 사용가능합니다.

Page 32: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

32

제 2 장

레더로직의 기초

Page 33: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

33

LADDER의 기초

하나의 스위치와 하나의 램프가 있는 회로를 동작시키기 위해서는 다음과 같은 회로가 필요합니다.

이 회로에서 전원을 생략하고 그리면 아래 그림처럼 표현할 수 있습니다. 양쪽의 두 선이 전원 선입니

다.

이 회로를 LADDER LOGIC으로 표현하면 다음과 같습니다.

P0 P9

이처럼, LADDER 로직은 전기 회로를 알기 쉬운 기호로 표시한 것입니다. 회로를 구성하는 스위치, 램

프 등의 “기초소자”가 있고, 이 기초소자는 특정 포트나 메모리의 일부분에 연결되어 있습니다. 위의

그림에서 스위치는 P0포트에 연결하고 램프를 P1포트에 연결하는 상황을 가정한 것입니다.

이외에도 “타이머”,”카운터”등의 다양한 소자들과 이들을 서로 연결하는 방법으로 “AND”연결, “OR”연

결등이 등장합니다. 다음은 OR연결과 AND연결이 있는 레더도입니다.

Page 34: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

34

P0

P3

P2 P9

이 회로에서 P0 과 P2 는 AND 연결이고, P0 과 P3 는 OR 연결이 된 것입니다. 이 레더도를 CUBLOC

STUDIO 상에서 표현하면 다음과 같습니다.

CUBLOC STUDIO에서는 오른쪽 모선이 생략되어 있습니다. 이 그림에서 P0, P1, P2로 이름 붙여진 곳

을 “릴레이”라고 합니다. PLC 에서의 “릴레이”는 우리들이 알고 있는 부품형태의 “릴레이”라기 보다는

메모리의 일부분이라고 할 수 있습니다.

Page 35: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

35

레더 로직 다이어그램의 기본 구성

레더로직은 다음과 같은 레더 다이어 그램으로 표현합니다. 레더 다이어그램은 “모선, 입력접점, 출력

접점, 신호선”등으로 구성됩니다. (원래는 오른쪽에도 모선이 있지만, CUBLOC 에서는 오른쪽 모선을

생략하고 있습니다.)

A접점, B접점

A접점은 평상시 열려있다가 신호가 들어오면 닫히는 “Normal Open” 입력입니다. 이와 반대로 B접점

은 평상시 닫혀있다가 신호가 들어오면 열리는 “Normal Close”입력을 말합니다.

(A) Normal Open (B) Normal Close

기능 릴레이 심볼

기능 릴레이 (Function Relay)는 타이머,카운터,연산명령 등의 기능을 가지고 있는 릴레이 표현을 말합

니다.

Function Relay

Page 36: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

36

릴레이 및 레지스터 표현

코어모듈: CB210, CB220, CB280, CB320, CB380, CB400

기타제품 : MSB시리즈, CUSB시리즈

명칭 범위 단위 기능

입출력 릴레이 P P0~P127 1 비트 외부 기기와의 인터페이스

내부릴레이 M M0~M511 1 비트 내부 상태의 보존

특수기능 릴레이 F F0~F127 1 비트 시스템 상태

타이머 T T0~T99 16 비트 (1워드) 타이머용

카운터 C C0~C49 16비트 (1워드) 카운터용

데이터 영역 D D0~99 16비트 (1워드) 데이터보관

P,M,F는 비트단위로 되어 있고, T,C,D는 워드단위로 되어 있습니다. 비트 영역은 릴레이라고 부르고, 워

드영역은 레지스터라고 부릅니다. P, M을 워드단위로 억세스 하려면 WP, WM을 사용합니다.

명칭 범위 단위 기능

WP WP0~7 16 비트 (1워드) P영역의 워드단위 억세스

WM WM0~WM31 16비트 (1워드) M영역의 워드단위 억세스

WP0는 P0~P15까지의 내용을 담고 있으며, P0이 가장아래쪽(LSB)에 P15가 가장 위쪽(MSB)에 위치합

니다. WMOV등과 같은 응용명령어 군에서 사용하면 편리합니다.

P0WP0

WP1

WP2

WP3

P15

P31 P16

P32

P48

P47

P63

Page 37: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

37

코어모듈 : CB290, CB405, CB405RT

기타제품 : CT1721C

명칭 범위 단위 기능

입출력 릴레이 P P0~P127 1 비트 외부 기기와의 인터페이스

내부릴레이 M M0~M2047 1 비트 내부 상태의 보존

특수기능 릴레이 F F0~F127 1 비트 시스템 상태

타이머 T T0~T255 16 비트 (1워드) 타이머용

카운터 C C0~C255 16비트 (1워드) 카운터용

데이터 영역 D D0~D511 16비트 (1워드) 데이터보관

P,M,F는 비트단위로 되어 있고, T,C,D는 워드단위로 되어 있습니다. 비트 영역은 릴레이라고 부르고, 워

드영역은 레지스터라고 부릅니다. P, M을 워드단위로 억세스 하려면 WP, WM을 사용합니다.

명칭 범위 단위 기능

WP WP0~7 16 비트 (1워드) P영역의 워드단위 억세스

WM WM0~WM63 16비트 (1워드) M영역의 워드단위 억세스

WP0는 P0~P15까지의 내용을 담고 있으며, P0이 가장 아래쪽(LSB)에 P15가 가장 위쪽(MSB)에 위치합

니다. WMOV등과 같은 응용명령어 군에서 사용하면 편리합니다.

P0WP0

WP1

WP2

WP3

P15

P31 P16

P32

P48

P47

P63

Page 38: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

38

특수릴레이

특수릴레이를 통하여 CUBLOC의 상태나 타이밍 정보, 시스템정보 등을 알 수 있습니다.

특수릴레이 설명 동작 별명 (Alias)

F0 상시 OFF F_OFF

F1 상시 ON F_ON

F2 최초에 1 SCAN만 ON

Start

1 Scan time

F_INIT

F3 파워온시 1 SCAN만 ON

F3이 먼저 ON된후, 바로뒤에 F2가 ON

됩니다.

Start

1 Scan time

F_POR

F4

F5

F6

F7

F8 10mS마다 1 SCAN만 On 1 Scan time

10mS

F9 100mS마다 1SCAN만 On 1 Scan time

100mS

F_100mS

F10 1초 마다 1 SCAN만 On 1 Scan time

1 Sec

F_1Sec

F11

F12

F13

F14

F15

F16 1스캔타임간격으로 ON/OFF를 반복 1 Scan time

2 scan

F_SCAN

F17 2스캔타임간격으로 ON/OFF를 반복

F18 4스캔타임간격으로 ON/OFF를 반복

F19 8스캔타임간격으로 ON/OFF를 반복

F20 16스캔타임간격으로 ON/OFF를 반복

F21 32스캔타임간격으로 ON/OFF를 반복

F22 64스캔타임간격으로 ON/OFF를 반복

F23 128스캔타임간격으로 ON/OFF를 반복

Page 39: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

39

F24 10mS마다 ON/OFF를 반복 10 mS

20 mS

F_10MS

F25 20mS마다 ON/OFF를 반복 F_20MS

F26 40mS마다 ON/OFF를 반복 F_40MS

F27 80mS마다 ON/OFF를 반복 F_80MS

F28 160mS마다 ON/OFF를 반복 F_160MS

F29 320mS마다 ON/OFF를 반복 F_320MS

F30 640mS마다 ON/OFF를 반복 F_640MS

F31 1.28 초마다 ON/OFF를 반복 F_1.2S

F32 2.56 초마다 ON/OFF를 반복 F_2.5S

F33 5.12 초마다 ON/OFF를 반복 F_5.1S

F34 10.24 초마다 ON/OFF를 반복

F35 20.48 초마다 ON/OFF를 반복

F36 40.96 초마다 ON/OFF를 반복

F37 81.92 초마다 ON/OFF를 반복

F38 163.84 초마다 ON/OFF를 반복

F39 327.68 초마다 ON/OFF를 반복

F40 BASIC으로 INT 발생

:

F65 ERROR 간접번지 범위 벗어나면

1

F_ERR

F66 < WCMP, DWCMP 결과 F_<

F67 > WCMP, DWCMP 결과 F_>

F72 CARRY F_CARRY

F73 ZERO F_ZERO

F2,F3모두 초기화를 위한 레더수행에 사용할 수 있습니다.

*F3, F10, F72, F73 플레그는 CUBLOC STUDIO V3.3.1이후버젼에서 사용가능합니다.

* F40에 1을 써넣으면 BASIC으로 인터럽트를 발생시킬 수 있습니다.

Page 40: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

40

I/O포트의 사용

CUBLOC의 I/O포트는 BASIC과 LADDER에서 모두 사용할 수 있는 “공용 자원”입니다. 특별한 정의를

하지 않는다면, 모든 I/O 포트는 BASIC쪽으로 할당됩니다. LADDER 에서 콘트롤 하려면 “Usepin” 명령

을 사용해서, “앞으로 이 I/O포트는 LADDER에서 사용할 것임”을 분명하게 선언해주어야 합니

다.

USEPIN 0,IN

USEPIN 1,OUT

0번포트를 입력으로 1 번포트를 출력으로 만들고, LADDER 에서 사용하는 포트로 셋팅합니다. USEPIN

으로 선언된 포트는 LADDER 에서 “리플레쉬”합니다. “리플레쉬”란 레더 시작 전에 I/O 상태를

읽어서 P영역에 저장한 뒤, 레더수행 뒤 P영역의 내용을 I/O포트로 다시 써넣는 작업을 말합니다.

INPUT REFLASH

LADDER SCAN

OUTPUT REFLASH

BASIC에서도 IN, OUT명령 등으로 I/O포트를 조작할 수 있는데, 이 것은 직접 I/O 포트에서 값을

읽거나, 써넣는 작업을 합니다. 따라서 LADDER에서 사용하는 I/O포트는 BASIC에서 사용하는 I/O

포트와 구분해서 관리할 필요가 있습니다.

USEPIN으로 선언된 포트는 LADDER에서만 사용할 수 있으며, 리플레쉬의 대상이 되므로, BASIC에서

는 억세스 할 수 없게 됩니다.

USEPIN 0,IN, START

USEPIN 1,OUT, RELAY

위와 같이 USEPIN 명령 뒷부분에 “별명”을 함께 지정할 수도 있습니다. 별명은 I/O 포트 및 릴레이를

쉽게 참조할 수 있도록 도와주는 또 하나의 이름입니다. P영역이 아닌 다른 영역은 ALIAS명령을 사용

해서 별명을 선언합니다.

Page 41: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

41

별명의 사용

P0, P1, M0과 같은 “릴레이 번호”만을 사용해서 LADDER LOGIC을 작성할 경우, 나중에 판독하기 어려

운 상태가 됩니다. 실질적인 역할을 쉽게 알 수 있는 “별명”를 사용하면 보다 쉬운 LADDER LOGIC 을

작성 할 수 있습니다.

이를 위해서 BASIC부에서 이름을 정의해야 합니다. ALIAS라는 명령을 사용하여 릴레이 번호에 “별명”

을 할당하게 됩니다. 아래 BASIC소스는 위 LADDER LOGIC을 위한 최소한의 프로그램입니다.

ALIAS M0 = MAINMOTOR

ALIAS M2 = STATUS1

ALIAS M4 = MOTORSTOP

I/O영역인 P릴레이는 USEPIN명령에서 별명을 지정할 수도 있고, ALIAS명령을 사용하여 별도로 별명

을 지정할 수도 있습니다.

레더의 시작

CUBLOC은 BASIC부터 실행이 시작됩니다. BASIC에서 LADDER를 시작할 수 있도록 “SET LADDER ON”

명령을 써주어야 합니다. 이 명령이 실행되면 LADDER가 일정한 시간간격(스캔타임 : 10mS)으로 실행

됩니다.

SET LADDER ON

* BASIC에서 SET LADDER ON명령을 써주지 않으면 LADDER LOGIC이 있어도 실행되

지 않습니다.

Page 42: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

42

Ladder실행을 위한 최소한의 BASIC프로그램

LADDER를 실행하기 위해서는 다음과 같이 “디바이스 선언”, “포트선언”, “LADDER실행 개시”등을 위한

최소한의 BASIC프로그램이 필요합니다. 실제로는 BASIC프로그램이라기 보다 선언문으로만 구성된 리

스트라고 볼 수 있습니다.

Const Device = CB280 '디바이스 모델을 선언

Usepin 0,In,START '레더에서 사용할 입출력 포트

Usepin 1,In,RESETKEY

Usepin 2,In,BKEY

Usepin 3,Out,MOTOR

Alias M0=RELAYSTATE '별명 선언

Alias M1=MAINSTATE

Set Ladder On '레더의 시작 지시

Do

Loop '무한루프

Page 43: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

43

제 3 장

레더로직

기본명령어

Page 44: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

44

CUBLOC LADDER 명령요약

기본명령어

명령어 Symbol 설명

LOAD

A접점 (Normal Open)의 시작

LOADN

B접점 (Normal Close)의 시작

OUT

연산 결과 출력

NOT

NOT이전의 연산결과를 반전

MCS 마스터 콘트롤 시작

MCSCLR 마스터 콘트롤 종료

DF

입력조건 상승 시 1 스캔타임만 ON출력

DFN

입력조건 하강 시 1 스캔타임만 ON출력

SETOUT 출력을 ON상태로 유지

RSTOUT 출력을 OFF상태로 유지

END 프로그램의 종료

Page 45: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

45

타이머

명령어 Symbol 설명

TON

0.01초 단위 ON 타이머

TOFF

0.01초 단위 OFF 타이머

TAON

0.1초 단위 ON 타이머

TAOFF

0.1초 단위 OFF 타이머

TMON

0.01초 단위 트리거 ON 타이머

TAMON

0.1초 단위 트리거 ON 타이머

카운터

명령어 Symbol 설명

CTU

UP 카운터

CTD

DOWN 카운터

RSTCNT 카운터 클리어

KCTU

UP 카운터 (전원 ON시 초기화 하지 않음)

KCTD

DOWN 카운터 (전원 ON시 초기화 하지 않음)

Page 46: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

46

LOAD,LOADN,

OUT

LOAD는 A접점의 시작, LOADN은 B접점의 시작입니다. OUT은 출력접점입니다.

LOAD

LOADN

OUT

LOAD, LOADN, OUT명령에 사용할 수 있는 릴레이를 정리한 표입니다.

가능영역 P M F C T D 상수

LOAD

LOADN

O O O O O

OUT O O

P릴레이는 I/O포트에 연결되어 있으므로, 포트로부터 입출력 되는 상황이 그대로 전달됩니다. M.F등

다른 릴레이는 메모리 내부에 저장되는 것이므로 외부 I/O포트에 전달되지 않습니다.

P0

P2

P1

P3

Page 47: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

47

NOT,

AND,OR NOT Symbol

AND

OR

NOT 심볼을 만나면 직전까지의 연산결과를 반전시킵니다. 화면 상단의 NOT 심볼을 누르거나 슬레쉬

“/” 키를 누르면 커서위치에 NOT이 표시됩니다.

이 레더는 다음과 같이 써도 동일한 동작을 수행합니다. 즉 A접점과 NOT이 만나면 B접점과 같은 동

작을 수행합니다.

AND연산을 하려면 입력심볼을 나란히 위치시키면 됩니다. 두 개의 입력조건이 모두 “True”일때 연산

결과도 “True”가 됩니다.

OR 연산을 하려면 위아래로 입력심볼을 위치시킵니다. 두 개의 입력조건 중 하나라도 “True”가 되면

연산결과도 “True”가 됩니다.

Page 48: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

48

SETOUT,

RSTOUT

SETOUT 은 입력이 있을 때 출력을 ON하고, ON상태를 계속 유지합니다. 반대로 RSTOUT은 입력이

있을 때 출력을 OFF한 뒤 OFF상태를 계속 유지합니다.

SETOUT, RSTOUT명령에서 사용할 수 있는 릴레이는 아래와 같습니다.

가능영역 P M F C T D 상수

SETOUT O O O

RSTOUT O O O

위의 레더 실행결과를 타임차트로 표시한 것입니다.

P0

P1

P5

Page 49: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

49

DF, DFN

DF는 입력조건에서 상승에지 (OFF -> ON) 상황이 발생하면 출력접점을 1스캔시간 동안 ON 하는 명

령입니다. 반대로, DFN은 입력조건에서 하강에지 (ON -> OFF)상황이 발생하면 1스캔시간 동안 ON하

는 명령입니다.

DF

DFN

DF, DFN은 심볼만으로 동작됩니다. 별도로 릴레이를 할당할 필요가 없습니다. DF, DFN의 동작 파형은

다음과 같습니다.

P0

P1

P5

P6

1 SCAN

1 SCAN

Page 50: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

50

TON, TAON TON [릴레이], 설정값

TAON [릴레이], 설정값 릴레이 : T 릴레이만 사용가능합니다.

설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

입력 조건이 ON이 되면 타이머 값이 증가되어, 설정 치에 도달하면 출력접점이 ON됩니다. 시간 단위

가 틀린 두 종류의 ON TIMER가 있습니다.

타이머종류 분해능 최대치

TON 0.01초 655.35초

TAON 0.1초 6553.5초

TON, TAON명령에는 2개의 인수가 있습니다. 타이머번호는 T레지스터중 하나의 값을 지정하고, 설정

치로는 상수 및 데이터 레지스터등을 사용할 수 있습니다.

위의 LADDER에서 START입력이 들어오면 T0타이머가 증가됩니다. 0.01초마다 1씩 증가되어 증가치

가 100 (1초경과) 이 되면 T0접점이 ON 됩니다. TAON을 사용한 T1타이머의 경우에는 0.1초마다 1

씩 증가되어 10 초가 경과되면 T1 접점이 ON됩니다. 입력신호가 OFF되면 타이머는 초기값으로 설정

되고, 타이머 접점도 OFF됩니다.

START

T0

1sec

Page 51: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

51

TOFF, TAOFF TOFF [릴레이], 설정값

TAOFF [릴레이], 설정값 릴레이 : T 릴레이만 사용가능합니다.

설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

입력 조건이 ON이 되면 타이머접점은 바로 ON됩니다. 이후 입력이 OFF되면 타이머접점은 OFF되지

않고, 설정치 만큼의 시간이 경과된 뒤 OFF됩니다. 시간 단위가 틀린 두 종류의 OFF TIMER가 있습니

다.

타이머종류 분해능 최대치

TOFF 0.01초 655.35초

TAOFF 0.1초 6553.5초

TOFF, TAOFF명령에는 2개의 인수가 있습니다. 타이머번호는 T레지스터중 하나의 값을 지정하고, 설정

치로는 상수 및 데이터 레지스터등을 사용할 수 있습니다.

위의 LADDER 에서 START 입력이 들어오면 T0 접점은 바로 ON 됩니다. 이후 START 접점이 OFF 된 뒤

타이머가 증가됩니다. 0.01초마다 1씩 증가되어 증가치가 100 (1초경과) 이 되면 T0접점이 OFF 됩니

다. TAON을 사용한 T1타이머의 경우에는 0.1초마다 1씩 증가되어 10초가 경과되면 T1접점이 OFF

됩니다.

START

T0

1sec

Page 52: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

52

TMON, TAMON TMON [릴레이], 설정값

TAMON [릴레이], 설정값 릴레이 : T 릴레이만 사용가능합니다.

설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

입력 조건이 잠깐 ON 되도, 바로 타이머 출력 접점이 ON, 시간 경과후 OFF 되는 트리거 타이머 입니

다.

짧은 입력신호에도 일정시간 출력이 유지되야 하는 경우에 사용하십시오.

타이머종류 분해능 최대치

TMON 0.01초 655.35초

TAMON 0.1초 6553.5초

P0

T0

1sec

P0

T0

1sec

입력 신호가 계속 들어오는 경우에라도, 타이머는 정해진 시간만큼 경과된뒤 OFF됩니다.

P0

T0

1sec 1sec

이후 입력이 다시 들어온다면, 타이머는 동작됩니다.

P0

T0

1sec

타이머 동작구간에 중복입력이 되어도, 무시합니다.

Page 53: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

53

CTU CTU [릴레이], 설정값

릴레이 : C 릴레이만 사용가능합니다.

설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

업 카운터 명령입니다. 입력이 들어오면 카운터 값을 1 증가 시킵니다. 카운터 값이 설정치와 일치하

면 카운터 접점을 ON합니다. 리셋 입력이 들어오면 카운터 값은 0이 됩니다. 최대 65535까지만 사용

가능합니다. 설정치에 도달하고, 접점이 ON된 이후에는 입력시그널이 들어와도 무시합니다.

PULSE

RESET

C0

100 pulse

CTD CTD [릴레이], 설정값

릴레이 : C 릴레이만 사용가능합니다.

설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

다운 카운터 명령입니다. 입력이 들어오면 카운터 값을 1 감소 시킵니다. 카운터 값이 0 이 되면 카운

터 접점을 ON합니다. 리셋 입력이 들어오면 카운터 값은 설정치로 초기화 됩니다.

PULSE

RESET

C1

100 pulse

CTU, CTD명령에서 설정치로 상수 및 데이터 영역(C,T,D)을 사용할 수 있습니다.

Page 54: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

54

더블워드 카운터

CTU명령은 최대 65535까지만 카운트가 가능합니다. 만약 그 이상의 값을 카운트하고 싶다면, 다음처

럼 DWINC명령을 사용하시면 됩니다.

P0가 입력되면 D0,D1에 있는 더블워드값이 증가됩니다. 이 값이 100000 에 도달하면 M0가 ON됩니

다. 리셋시 또는 P1이 입력되면 D0,D1이 클리어됩니다.

Page 55: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

55

RSTCNT RSTCNT [릴레이]

릴레이 : C 릴레이만 사용가능합니다.

레더도 실행결과

RSTCNT C0

C0 카운터 레지스터와 C0 카운터 릴

레이를 모두 클리어합니다.

카운터 상태를 보관하고있는 카운터 레지스터와 해당 카운터릴레이를 한번에 모두 클리어하는 명령입

니다.

P2입력이 들어오면 C0레지스터와 C0릴레이가 모두 클리어됩니다. 물론, P1입력이 들어와도 모두 클

리어됩니다.

Page 56: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

56

KCTU

KEEP 이 가능한 업 카운터 명령입니다. 기본적인 사항은 CTU 명령과 동일합니다. 다만, 밧데리 백업이

지원되는 CUBLOC 사용시, 전원 OFF시 현재 상황을 기억하고 있다가, 전원 ON 후에도 지속적으로 카

운트를 수행하게 됩니다. 이에 반해 CTU명령은 전원ON시 초기값으로 자동 리셋 됩니다.

P0

P1

C0

100 pulse

Power off & on리셋신호를먼저

발생시켜주어야합니다

.

이 명령 사용시 최초의 카운터 값은 알 수 없는 값으로 셋팅되어 있을 수 있으므로, 카운터 리셋이 먼

저 수행될 수 있도록 레더를 구성해 주어야 합니다. 즉, 최초 카운터 값 리셋에 대한 부분은 유저프로

그램에서 담당해 주어야 합니다.

KCTD

KEEP 이 가능한 다운 카운터 명령입니다. 기본적인 사항은 CTD 명령과 동일하며, KCTU 처럼 전원 OFF

시 상황을 기억하고 있다가, 전원 ON후에도 지속적인 카운팅이 가능합니다.

Page 57: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

57

MCS,

MCSCLR

레더를 블록단위로 나누어서 제어할 수 있는 명령입니다.

MCS (마스터 콘트롤)의 입력조건이 ON 하면 같은 번호를 가진 MCSCLR 까지 실행하고, 입력조건이

OFF이면 실행하지 않습니다. LADDER LOGIC중 특정블록을 ON하거나 OFF할 수 있는 명령입니다.

M0가 ON되면 MCS 0 ~MCSCLR 0 사이에 있는 LADDER LOGIC이 동작됩니다. M0가 OFF이면 동작되

지 않고, P5와 P6출력은 OFF상태가 됩니다.

MCS번호는 0에서 7까지 사용 가능합니다. 0 부터 사용해서, 1, 2, 3순으로 증가해야 하며, 0번 블록

안에 1번 블록이 있어야 하고, 1번 블록 안에 2번 블록이 있어야 합니다. 이런 식으로 7번 블록까지

사용할 수 있습니다. MCSCLR명령은 블록을 해제하는 명령입니다. 2번 블록을 해제 하면, 2번 블록은

물론, 3번 이후의 블록까지 모두 해제됩니다. 0번 블록을 해제하면 모든 MCS블록이 해제됩니다.

MCS입력조건이 OFF일 경우 해당 블록 안에 있는 모든 출력은 OFF되고, 타이머는 리셋 되며, 카운터

는 정지됩니다. MCS OFF시 상황을 표로 정리하면 다음과 같습니다.

명령어 MCS가 ON일 때 MCS가 OFF일 때

OUT 정상동작 무조건 OFF

SETOUT 정상동작 MCS가 OFF되기 전 상황을 유지

RSTOUT 정상동작 MCS가 OFF되기 전 상황을 유지

타이머 정상동작 초기값으로 리셋

카운터 정상동작 MCS가 OFF되기 전 상황을 유지

기타명령 정상동작 동작안함

Page 58: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

58

다음은 MCS명령의 중첩 사용 예입니다. 낮은 번호 안에 큰 번호의 블록이 들어가도록 해야 합니다.

만약 중첩할 필요가 없다면, 0번만 연속적으로 사용하면 됩니다.

Page 59: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

59

DEMO PROGRAM

다음은 마스터 콘트롤의 동작을 확인할 수 있는 샘플 프로그램입니다. 베이직 부분에는 아래 소스를

입력하세요.

Const Device = CB280

Usepin 0,In

Usepin 1,In

Usepin 2,Out

Set Ladder On

Do

Loop

MCS 0 블록 안에는 “플리커 프로그램”이 들어가

있습니다. P0 에 있는 스위치를 ON 상태로 해주

어야, P2에 연결된 LED가 점멸하는 것을 확인할

수 있습니다. 즉 P0이 MCS0번 블록을 제어하는

것입니다.

P0

P2

CB2805V

Page 60: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

60

비교명령

두 개의 워드(16 비트), 또는 더블워드(32 비트)값을 비교해서 조건을 만족하면 접점을 ON 합니다. 총

12개의 비교명령이 있습니다.

비교명령 비교대상 동작설명

=, s1, s2 워드(16비트) S1 과 s2가 서로 같을 때 접점이 On됩니다.

<>, s1, s2 워드(16비트) S1 과 s2가 서로 다를 때 접점이 On 됩니다.

>, s1, s2 워드(16비트) S1 > s2일 때 접점이 On됩니다.

<, s1, s2 워드(16비트) S1 < s2일 때 접점이 On됩니다.

>=, s1, s2 워드(16비트) S1 >= s2일 때 접점이 On됩니다.

<=, s1, s2 워드(16비트) S1 <= s2일 때 접점이 On됩니다.

D=, s1, s2 더블워드(32비트) S1 과 s2가 서로 같을 때 접점이 On됩니다.

D<>, s1, s2 더블워드(32비트) S1 과 s2가 서로 다를 때 접점이 On 됩니다.

D>, s1, s2 더블워드(32비트) S1 > s2일 때 접점이 On됩니다.

D<, s1, s2 더블워드(32비트) S1 < s2일 때 접점이 On됩니다.

D>=, s1, s2 더블워드(32비트) S1 >= s2일 때 접점이 On됩니다.

D<=, s1, s2 더블워드(32비트) S1 <= s2일 때 접점이 On됩니다.

아래와 같이 여러 개의 조건을 AND, OR접속으로 사용할 수 있습니다.

D0 = T1이고 C0 >= 99 이면 M0이 ON됩니다. 또는 D1 < 100이고 C0 >= 99 이면 M0이 ON됩니다.

마치 베이직에서 IF D0 = T1 AND C0 >= 99 ….와 같은 식으로 AND, OR로 여러 개의 조건을 나열하는

것과 같습니다.

WM을 쓰시면 16개의 M릴레이를 한꺼번에 비교하실 수 있습니다. WM0은 M0부터 M15까지를 의

미합니다. 같은 방법으로 WP를 쓰시면 16개의 P릴레이를 한꺼번에 비교하실 수 있습니다.

Page 61: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

61

제 4 장

레더로직

응용명령어

Page 62: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

62

응용명령어란

응용명령어는 주로 데이터이동, 산술연산, 논리연산에 관련된 명령입니다. 레더로직으로도 간단한 연산

및 데이터 처리가 가능하도록 도와주는 기능입니다.

D영역에는 16비트 값을 저장할 수 있습니다. 주로 D영역에 있는 값을 서로 연산하거나, 이동할 때 응

용명령어를 사용합니다. 베이직에서 처리된 결과를 D영역에 저장해 두었다가, 응용명령어를 사용해서

타이머 값으로 사용할 수도 있습니다.

또는, 카운터 한 값을 응용명령으로 D영역에 카피한 뒤, 베이직에서 가져다가 쓸 수도 있습니다. 이처

럼 응용명령어는 레더의 기능을 더욱더 확장할 수 있도록 도와주는 명령입니다. 모든 응용명령어는 다

음과 같은 형식으로 사용합니다.

일정한 조건이 성립 되었을 때, Funtion Relay ( ) 위에 있는 명령어를 실행합니다. 위와

같이 한다면, M0 릴레이가 ON되었을 때, WMOV 255,D0 명령을 수행합니다.

위 명령에서의 문제점은 M0 릴레이가 ON 되어 있는 동안 계속해서 WMOV 명령을 수행하고 있다는

것입니다. M0 릴레이가 OFF 에서 ON으로 바뀔 때, 딱 한번만 WMOV 명령을 수행하도록 하기 위해

서 아래와 같이 레더를 구성해 줍니다.

이렇게 하면 M0 릴레이가 OFF -> ON되는 시점에, 한번만 WMOV 255,D0명령이 수행됩니다.

Page 63: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

63

명령어 파라메터 설명

전 송 명 령 군

WMOV s,d 데이터 전송

WXCHG s,d 데이터 교환

FMOV s,d,n 데이터 채움 명령

GMOV s,d,n 그룹전송 명령

비 교 명 령

WCMP D1,d2 비교명령

증 감 명 령 군

WINC d 1 증가 명령

WDEC d 1 감소 명령

사 칙 연 산 명 령 군

WADD s1,s2,d 덧셈 명령

WSUB s1,s2,d 뺄셈 명령

WMUL s1,s2,d 곱셈 명령

WDIV s1,s2,d 나눗셈 명령

논 리 연 산 명 령 군

WAND s1,s2,d AND연산 명령

WOR s1,s2,d OR연산 명령

WXOR s1,s2,d XOR연산 명령

WINV d 반전명령

WNEG d 2의보수화 명령

회 전 명 령 군

WROL d 1비트 좌 회전 명령

WROR d 1비트 우 회전 명령

WRCL d 1비트 좌 회전 with CARRY 명령

WRCR d 1비트 우 회전 with CARRY 명령

Page 64: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

64

명령어 파라메터 설명

쉬 프 트 명 령 군

BSHL d,n 비트단위 좌 쉬프트

BSHR d,n 비트단위 우 쉬프트

WSHL S,d 워드단위 좌 쉬프트

WSHR S,d 워드단위 우 쉬프트

분 기 명 령 군

Goto,Label GOTO label

LABEL label

점프 명령

라벨 정의 명령

Calls,Sbrt,Ret CALLS label

SBRT label

RET

서브루틴 콜 명령

서부루틴 정의

리턴 명령

TND Label 조건부 스캔종료 명령

LOOP Label, n 반복명령

변환 명령군

WBIN S,d BCD TO BINARY 변환

WBCD S,d BINARY TO BCD변환

조합/분산명령군

DIST S,d,n 16비트값을 4비트단위로 쪼개 d에 저장

UNIT S,d,n 4개의 워드에서 하위 4비트값만 모아 1워드로 만

DECO S,d S의 하위 4비트를 디코드해서 d에저장

ENCO S,d 엔코드, DECO와 반대동작

기타 명령군

WBCNT S,d ON되어 있는 비트수를 카운트

DEFCON Name, value 상수선언

NOP 아무일도 안함

*편의상 더블워드 처리명령은 본 표에서 생략하였습니다.

Page 65: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

65

워드와 더블워드 저장방식

더블워드는 2개의 워드로 구성되어 있습니다.

1 BYTE

1 WORD

DOUBLE WORD

C, T, D 영역의 경우 1워드단위로 되어 있어, 더블워드를 기억하기 위해서 2워드의 기억장소가 필요합

니다.

다음은 D0에 더블워드 값인 12345678H (16진수) 저장하는 경우입니다. D0에 하위워드인 5678H가 저

장되고, D1위치에 상위워드인 1234H가 저장됩니다.

D0D1D2D3D4

56781234

1워드는 최대 65,535까지 저장가능하며, 더블워드는 최대 4,294,967,295까지 저장가능

합니다.

16진수 표기법

LADDER에서는 다음과 같은 방법으로 16진수를 표기합니다.

16진수 표기방법 1 : 0XABCD

16진수 표기방법 2 : 0ABCDH

10진수는 100, 200, 123과 같은 식으로 표시합니다.

Page 66: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

66

WMOV, DWMOV WMOV s, d

DWMOV s, d

s : 소스 (전송할 값), 상수값 또는 D,C,T레지스터

d : 목적지 (전송할 곳)

WMOV는 1워드전송명령으로, s에 들어있는 값 (또는 상수 값)을 d로 전송합니다. DWMOV는 더블워

드를 대상으로 하는 명령으로, 동작은 WMOV와 동일합니다.

레더도 실행결과

D0 100

D1

D2 1234H

D3 0

D4

M1입력이 들어오면 D0영역에 100을 저장합니다. M2입력이 들어오면 더블워드 값인 1234H를 D2영

역에 저장합니다.

DWMOV명령으로 D2영역에 값을 저장하면, D3영역까지 영향을 준다는 사실을 잊지 않도록 하세요!.

명령어 앞에 DW가 붙어있는 명령어는 Double Word명령이기에, 2개의 워드영역에 영향을 주게 됩니

다.

* DWMOV 1234, D0와 같이, 응용명령어에서 직접 기입하는 상수 값의 경우, 최대 2,147,418,111까지

사용할 수 있습니다. 다른 모든 응용명령어도 마찬가지 입니다.

Page 67: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

67

WXCHG, DWXCHG WXCHG d1, d2

DWXCHG d1, d2

d1 : D,C,T레지스터

d2 : D,C,T레지스터

데이터 교환명령으로, d1에 들어있는 값과 d2에 들어있는 값을 서로 맞교환 합니다. WXCHG는 1워드

를 대상으로, DWXCHG는 더블워드를 대상으로 명령을 수행합니다.

레더도 실행결과

D0 123

D1 100

D2

D3

D4

Page 68: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

68

FMOV FMOV s, d, n

s : 소스 (전송할 값), 상수값 또는 D,C,T레지스터

d : 목적지 (전송할 곳)의 첫번째 레지스터

n : 개수, (100이내의 상수값)

s의 값을 d에 저장합니다. 여기까지는 WMOV명령과 같습니다. FMOV는 n의 숫자만큼 계속해서 저

장합니다. 일정구간을 같은 값으로 채울 수 있습니다. 주로 초기화를 하거나, 메모리 클리어를 하는 목

적으로 사용합니다.

레더도 실행결과

D0 100

D1 100

D2 100

D3 100

D4 100

D5 100

Page 69: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

69

GMOV GMOV s, d, n

s : 소스 (전송할 값)의 첫번째 레지스터

d : 목적지 (전송할 곳)의 첫번째 레지스터

n : 개수, (100이내의 상수값)

여러 개의 데이터를 한꺼번에 전송하는 그룹 전송 명령입니다. 메모리의 일부분을 다른 곳으로 카피할

수 있습니다. s의 값을 d로 지정된 개수 n만큼 복사합니다.

레더도 실행결과

D0 12

D1 34

D2 56

D3 78

D4 90

D5

D6

D7

D8

D9

D10 12

D11 34

D12 56

Page 70: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

70

WINC, DWINC

WDEC, DWDEC WINC d

DWINC d

WDEC d

DWDEC d

d : 레지스터 (D,C,T레지스터 중 하나)

d에 있는 값을 1씩 증가 또는 감소하는 명령입니다. WINC는 1워드 증가, DWINC는 더블워드 증가,

WDEC는 1워드 감소, DWDEC는 더블워드 감소합니다.

레더도 실행결과

WINC실행전

D0 100

WINC실행후

D0 101

플레그 변화

캐리 플레그 (F72) 결과가 저장범위를 초과하면 ON 됩니다.

WINC의 경우 65535를 초과하면 ON 됩니다.

DWINC의 경우 4294967295를 초과하면 ON됩니다.

제로 플레그 (F73)

결과가 0이 되면 ON됩니다.

Page 71: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

71

WINV, DWINV WINV d

DWINV d

d : 레지스터 (D,C,T레지스터 중 하나)

WINV는 d에 있는 16비트 값을 반전시킵니다.

DWINV는 d에 있는 32비트(더블워드) 값을 반전시킵니다.

레더도 실행결과

WINV실행전

D0 0AAH

WINV실행후

D0 0FF55H

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 72: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

72

WNEG, DWNEG WNEG d

DWNEG d

d : 레지스터 (D,C,T레지스터 중 하나)

WNEG는 d에 있는 16비트 값을 부호를 반대로 변환합니다. 즉 , 2의 보수로 만듭니다.

DWNEG는 d에 있는 32비트 값을 부호를 반대로 변환합니다.

레더도 실행결과

WINV실행전

D0 0AAH

WINV실행후

D0 FF56H

컴퓨터에서는 음수를 2의보수로 표현합니다. 2의 보수하는 방법은 반전시킨후 1을 더합니다. -1의

경우 1을 반전시킨값 0FFFEH 에 더하기 1을 해서, 최종값이 0FFFFH가 됩니다.

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 73: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

73

WADD,

DWADD WADD v1, v2, d

DWADD v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

값 1과 값 2를 더해서 d에 저장합니다. WADD는 워드연산, DWADD는 더블워드 연산을 수행합니다.

레더도 실행결과

D0 100

D1 105

D2

위 레더의 수행결과, D1에는 105가 저장됩니다.

플레그 변화

캐리 플레그 (F72) 결과가 저장범위를 초과하면 ON 됩니다.

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 74: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

74

WSUB,

DWSUB WSUB v1, v2, d

DWSUB v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

v1에서 v2를 뺀 뒤, 결과를 d에 저장합니다. WSUB는 워드연산, DWSUB는 더블워드 연산을 수행합니

다.

레더도 실행결과

D0 100

D1 95

D2

플레그 변화

캐리 플레그 (F72) 자리 빌림이 발생하면 ON 됩니다.

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 75: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

75

WMUL WMUL v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

v1과 v2를 곱해서 d에 저장합니다. WMUL는 워드끼리 연산한 뒤, 결과는 더블워드로 저장합니다.

레더도 실행결과

.

D0 1234H

D1 5A90H

D2 14BH

연산결과 D1에는 1234H * 1234H의 결과값인 14B5A90H 가 더블워드로 저장됩니다.

더블워드끼리 곱하는 명령어는 지원하지 않습니다.

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 76: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

76

WDIV,

DWDIV WDIV v1, v2, d

DWDIV v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

S1에서 s2를 나눈 뒤, 몫을 d에 저장하고, 나머지는 d+1위치에 저장합니다. WDIV는 워드연산, DWDIV

는 더블워드 연산입니다.

레더도 실행결과

D0 1234H

D1

D2 3

D3

D4 611H

D5 1

더블워드 나눗셈의 경우 실행결과는 다음과 같습니다.

레더도 실행결과

D0 5678H

D1 1234H

D2 7

D3 0

D4 99C3H

D5 2

D6 1 (나머지

값)

D7 0

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 77: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

77

WOR,

DWOR WOR v1, v2, d

DWOR v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

s1과 s2를 OR연산한 뒤 결과를 d에 저장합니다. WOR는 워드단위 연산, DWOR는 더블워드 단위 연

산을 수행합니다.

레더도 실행결과

.

D0 1200H

D1 34H

D2 1234H

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 78: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

78

WXOR,

DWXOR WXOR v1, v2, d

DWXOR v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

s1과 s2를 XOR연산한 뒤 결과를 d에 저장합니다. WXOR는 워드단위 연산, DWXOR는 더블워드 단위

연산을 수행합니다.

레더도 실행결과

.

D0 1234H

D1 0FFH

D2 12CBH

특정비트를 반전시키고자 할 때, XOR연산을 사용합니다.

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 79: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

79

WAND,

DWAND WAND v1, v2, d

DWAND v1, v2, d

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

d : 저장할 곳 (D,C,T 레지스터)

s1과 s2를 AND연산한 뒤 결과를 d에 저장합니다. WAND는 워드단위 연산, DWAND는 더블워드 단

위 연산을 수행합니다.

레더도 실행결과

.

D0 1234H

D1 0FFH

D2 34H

특정비트만 남기고자 할 때, AND연산을 사용합니다.

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 80: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

80

WCMP,

DWCMP WCMP v1, v2

DWCMP v1, v2

v1 : 값 1 (상수 또는 D,C,T레지스터)

v2 : 값 2 (상수 또는 D,C,T레지스터)

s1과 s2를 비교한뒤 결과는 F릴레이의 플레그에 저장합니다.

레더도

플레그 변화

제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

< 플레그 (F66)

S1 < S2 이면 ON됩니다.

> 플레그 (F67)

S1 > S2 이면 ON 됩니다.

Page 81: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

81

WROL,DWROL WROL d

DWROL d

d : 대상 레지스터 (D,C,T레지스터중 하나)

지정된 번지 d의 내용은 좌로 1비트씩 회전합니다. WROL은 워드단위 좌회전명령이고, DWROL명령

은 더블워드 단위 좌회전명령입니다.

레더도

WROL의 동작을 그림으로 표현한 것입니다.

1

0

1

1

1

0

1

0

0

1

1

1

0

1

0

1 1

MSB

MSB

LSB

LSB

CARRY (F72)

CARRY (F72)

BEFORE

AFTER

Shift to the left

Shift to the left

BIT 15의 내용이 CARRY플레그에 저장됩니다.

Page 82: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

82

WROR,DWROR WROR d

DWROR d

d : 대상 레지스터 (D,C,T레지스터중 하나)

지정된 번지 d의 내용은 우로 1비트씩 회전합니다. WROR은 워드단위 우회전명령이고, DWROR명령

은 더블워드 단위 우회전명령입니다.

레더도

WROR의 동작을 그림으로 표현한 것입니다.

MSB

MSB

LSB

LSB

BEFORE

AFTER

1

0

1

0

1

0

0

1

0

1

1

1

0

1

0

00

CARRY (F72)

CARRY (F72) Shift to the right

Shift to the right

BIT 0의 내용이 CARRY플레그에 저장됩니다.

Page 83: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

83

WRCL,DWRCL WRCL d

DWRCL d

d : 대상 레지스터 (D,C,T레지스터중 하나)

지정된 번지 d의 내용은 좌로 1비트씩 회전합니다. WRCL은 워드단위 좌회전명령이고, DWRCL명령은

더블워드 단위 좌회전명령입니다.

레더도

WRCL 의 동작을 그림으로 표현한 것입니다.

MSB

MSB

LSB

LSB

BEFORE

AFTER

1 11 00 10 0 0

CARRY (F72)Shift to the left

Shift to the left

01 10 01 01 0 0

CARRY (F72)

BIT 15의 내용이 캐리플레그로 이동하고, BIT 0에는 0이 들어갑니다.

Page 84: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

84

WRCR,DWRCR WRCR d

DWRCR d

d : 대상 레지스터 (D,C,T레지스터중 하나)

지정된 번지 d의 내용은 우로 1비트씩 회전합니다. WRCR은 워드단위 우회전명령이고, DWRCR명령

은 더블워드 단위 우회전명령입니다.

레더도

WRCR 의 동작을 그림으로 표현한 것입니다.

MSB

Shift to the right

Shift to the right

MSB

LSB

LSB

BEFORE

AFTER

1 11 00 10 0

0

0

0 00 11 11 0 0

CARRY (F72)

CARRY (F72)

BIT 0의 내용이 캐리플레그로 이동하고, BIT 15에는 0이 들어갑니다.

Page 85: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

85

DEFCON DEFCON name, value

name : 상수명

value : 상수값

상수를 선언하는 명령입니다. 레더로직에서 자주 사용하는 상수값에 이름을 할당합니다.

이후 다른 명령에서 이 이름을 사용하면, 해당되는 값이 할당됩니다.

추후, 상수값을 변경할 때, 일일히 찾아다니면서 바꿔야하는 불편함없이, DEFCON 부분에서만 수정할

수 있습니다.

상수명으로는 명령어로 사용중인 이름을 쓰지 마십시오. 예를들어 DEFCON WMOV 100 과 같이 이미

명령어로 사용중인 WMOV를 상수명으로 사용할 수 없습니다.

Page 86: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

86

GOTO,LABEL GOTO label

LABEL label

GOTO는 지정된 라벨로 점프하는 분기명령입니다. label은 라벨을 선언하기 위한 명령입니다.

START가 ON되면 SK_1으로 점프합니다. 아래와 같이 사용하면 조건 분기명령으로 사용할 수 있습니

다. D0=C0상황이 되면 SK_1으로 점프합니다.

NOP NOP

아무일도 수행하지 않는 명령입니다.

Page 87: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

87

LOOP LOOP label, NumberRegister

lavel : 점프할 라벨명

NumberRegister : 반복횟수가 들어있는 D레지스터 (상수 사용 못함)

반복 수행 명령입니다. NumberRegister 에는 반복 횟수가 들어있는 D 영역 레지스터를 적어줍니다. 이

값이 0이 될 때까지 label로 JUMP합니다.

LOOP명령을 만나면 먼저 NumberRegister를 검사합니다. 이 값이 0이면 JUMP하지 않습니다.

1을 빼고, 그 결과가 0이면 역시 JUMP하지 않습니다. 0이 아니면 label로 JUMP합니다.

위의 예처럼, 최초에 0이던 D1의 값이 5번 반복 WINC명령을 수행한 결과 5가 되었습니다.

Page 88: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

88

CALLS,SBRT,RET CALLS label

SBRT label

서브루틴과 관련된 명령군입니다. CALLS는 서브루틴을 콜하고, SBRT는 서브루틴의 시작위치를 알리는

선언문입니다. RET는 반드시 서브루틴의 맨 끝에 위치해야 합니다.

MAIN program

SUB routine

서브루틴을 작성할 때 주의사항이 있습니다. 메인 프로그램의 끝 지점에는 END가 아닌

RET명령을 사용해서 “메인 프로그램의 끝 지점”을 구분해 주어야 합니다.

RET명령에는 조건을 연결할 수 없습니다. RET명령은 무조건 복귀명령입니다.

LADDER프로그램의 가장 끝 지점에는 “END”를 작성해 주어야 합니다.

* 서브루틴안에 다른 서브루틴을 정의할 수 없습니다.

Page 89: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

89

TND

TND 는 조건부 스캔종료명령입니다. 레더의 특정부분에서 임시로 스캔을 종료하고자 할 때 사용합니

다.

위의 레더는 P0의 입력이 ON이면 스캔을 종료하는 예제입니다.

서브루틴 강제종료에도 사용할 수 있습니다. 위의 예제에서 처럼 서브루틴 실행도중 서브루틴 탈출조

건 (P1)이 ON되면, 루틴을 벗어나는 명령으로 사용합니다. TND명령이 서브루틴안에서 사용되었을 경

우에는 스캔종료가 아니라 조건부 서브루틴 종료명령으로 동작하게 됩니다.

Page 90: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

90

DIST DIST s, d, n

s : 소스 레지스터 (쪼개야할 값이 저장된 D 레지스터)

d : 목적지 (결과를 저장할 곳)의 첫번째 D레지스터

n : 개수, (1 부터 4 사이의 값)

16비트값을 4비트 단위로 쪼개서, d에 저장합니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

N은 최대 4까지만 사용할 수 있습니다. (1부터 4)

위의 래더가 실행되면 D10 에 있는 1234H 가 4비트 단위로 쪼개져서, D12에 1이 들어가고, D13에 2

가 들어가고, …D15에 4가 들어갑니다.

D10 1 2 3 4

1

2

3

4

D12

D13

D14

D15

Page 91: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

91

UNIT UNIT s, d, n

s : 소스 레지스터 (합쳐야 값이 저장된 첫번째 D 레지스터)

d : 목적지 (결과를 저장할 곳)의 D레지스터

n : 개수, (1 부터 4 사이의 값)

DIST와 반대동작을 하는 명령입니다. 하위 4비트만 있는 데이터 영역 (최대 4 워드)를 조합해서 1워드

로 만듭니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

N은 최대 4까지만 사용할 수 있습니다. (1부터 4)

위의 래더가 실행되면 D12부터 D15에 들어있는 4워드를 조합하여 하나의 워드로 만든뒤 D11에 저

장됩니다. 앞에설명한 DIST로 분산시켰던 값들을 다시 조합시켜줍니다.

D11 1 2 3 4

1

2

3

4

D12

D13

D14

D15

Page 92: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

92

DECO DECO s, d

s : 소스 레지스터 또는 상수값

d : 목적지 (결과를 저장할 곳)의 첫번째 D레지스터

s의 하위 4비트를 디코드해서 d에 저장합니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

P0 접점이 ON 되면 D10 에 저장되어 있는 값의 하위 4 비트를 대상으로 합니다. 위의 레더에서는

1234H 이므로 4가 됩니다. 그러면 16비트중 비트 4를 1로 만든 값을 D12에 저장합니다. “비트 4번

을 1로 만들어라”로 이해하시면 됩니다.

BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1

D101 2 3 4

01

0001 0010 0011 0100

0000 0000 0001 0000D12

Page 93: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

93

ENCO ENCO s, d

s : 소스 레지스터 또는 상수값

d : 목적지 (결과를 저장할 곳)의 첫번째 D레지스터

앞에서 설명된 DECO와 반대동작을 하는 명령어입니다. S값에서 비트 1이 위치 된 값을 수로 바꾸어

D에 저장합니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

DECO명령으로 디코드된 값을 다시 ENCO 명령으로 엔코드하는 상황입니다.D12에 들어있는 값을 엔

코드한 최종결과는 D13에 저장됩니다. “비트 4번이 1로된 수를 만들어라.”로 이해하시면 됩니다.

D120 0 1 0

4

0000 0000 0000 0100

0000 0000 0001 0000

D13

여러 개의 비트가 ON되어 있는경우, 가장 왼쪽에 ON된 비트위치를 판단합니다. ON되어 있는 비트

가 하나도 없다면 결과는 0이 됩니다.

Page 94: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

94

BSHR

DBSHR BSHR d, n

DBSHR d, n

d : 쉬프트 대상 레지스터 (D,C,T중 하나)

n : 반복 횟수

비트단위 Right 쉬프트 명령입니다. d에 저장된 값을 n비트만큼 오른쪽으로 쉬프트 합니다. 새로 삽입

되는 비트는 전부 0으로 합니다. BSHR에서 n값은 1부터 15까지 사용가능하고, DBSHR에서 n값은 1

부터 31까지 사용가능합니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

F2에 의해 초기값으로 1234H 가 D10에 들어갑니다. 이후 P0입력이 ON 되면, BSHR 명령에 의해 D10

에 있는값이 4비트만큼 오른쪽으로 이동합니다. 결과는 123H가 됩니다.

DBSHR은 더블워드를 대상으로 합니다.

Page 95: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

95

BSHL

DBSHL BSHL d, n

DBSHL d, n

d : 쉬프트 대상 레지스터 (D,C,T중 하나)

n : 반복 횟수

비트단위 Left 쉬프트 명령입니다. D에 저장된 값을 n비트만큼 왼쪽으로 쉬프트 합니다. 새로 삽입되

는 비트는 전부 0으로 합니다.

BSHL에서 n값은 1부터 15까지 사용가능하고, DBSHL에서 n값은 1부터 31까지 사용가능합니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

F2에 의해 초기값으로 1234H 가 D10에 들어갑니다. 이후 P0입력이 ON 되면, BSHL 명령에 의해 D10

에 있는값이 4비트만큼 왼쪽으로 이동합니다. 결과는 2340H가 됩니다.

DBSHL은 더블워드를 대상으로 합니다.

Page 96: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

96

WSHL WSHL start, end

start : 쉬프트 대상 첫번째 레지스터

end : 쉬프트 대상 마지막 레지스터

워드단위 LEFT 쉬프트 명령입니다. start에서 end까지를 1워드씩 왼쪽으로 쉬프트 합니다. 새로 삽입

되는 워드는 전부 0이됩니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

5678 1234 DEF3 9ABC

1234 DEF3 9ABC 0000

D10 D11 D12 D13

D10 D11 D12 D13

Page 97: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

97

WSHR WSHR start, end

start : 쉬프트 대상 첫번째 레지스터

end : 쉬프트 대상 마지막 레지스터

워드단위 RIGHT 쉬프트 명령입니다. start에서 end까지를 1워드씩 오른쪽으로 쉬프트 합니다. 새로 삽

입되는 워드는 전부 0이됩니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

5678 1234 DEF3 9ABC

0000 5678 1234 DEF3

D10 D11 D12 D13

D10 D11 D12 D13

Page 98: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

98

WBCD WBCD s, d

s : 변환할 값이 저장된 레지스터 (D,C,T중 하나) 또는 상수값

d : 결과를 저장할 레지스터 (D,C,T중 하나)

BINARY 값을 BCD코드로 변환하는 명령입니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

D0 123404D2H

46601234H

D2

Page 99: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

99

WBIN WBIN s, d

s : 변환할 값이 저장된 레지스터 (D,C,T중 하나) 또는 상수값

d : 결과를 저장할 레지스터 (D,C,T중 하나)

BCD코드를 BINARY 값으로 변환하는 명령입니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

D2123404D2H

46601234H

D4

Page 100: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

100

WBCNT

DWBCNT WBCNT s, d

DWBCNT s, d

s : 체크할 값이 저장된 레지스터 (D,C,T중 하나) 또는 상수값

d : 결과를 저장할 레지스터 (D,C,T중 하나)

워드 또는 더블 워드 데이터를 조사해서 1로 되어 있는 비트의 개수를 카운트해줍니다.

결과는 d로 지정된 레지스터에 저장됩니다.

레더도

*16진수모드로 모니터링 되고 있는 상황

WBCNT는 워드(16비트)내에서 비트 1의 숫자를 카운트합니다. DWBCNT는 더블워드 (32비트)내에서

비트 1의 숫자를 카운트합니다.

0

2

0AH = 0 10 00 10 000 00 00 0

BIT 15 BIT 0

Page 101: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

101

제 5 장

레더로직 과

베이직 동시사용법

Page 102: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

102

베이직과의 데이터 공유

레더의 기능을 확장하기 위해서는 베이직 명령어를 사용해야 합니다. 베이직 명령으로 처리한 결과를

레더 쪽으로 저장하거나, 반대로 레더 쪽에서 처리한 결과를 베이직 쪽으로 전달해 주어야 할 경우가

발생합니다.

“CUBLOC”에서는 이것을 처리하기 위해서, BASIC 에서 특정 배열변수를 사용하면 레더의 릴레이 영역

을 억세스 할 수 있도록 되어 있습니다.

레더 억세스용

시스템 배열

억세스 단위 LADDER의 해당영역

_P 비트 단위 _P(0) ~ P(127) P릴레이 영역

_M 비트 단위 _P(0) ~ P(511) M릴레이 영역

_WP 워드단위 _WP(0) ~ _WP(7) P영역을 워드단위로 억세스

_WM 워드단위 _WM(0) ~

_WM(31)

M영역을 워드단위로 억세스

_T 워드단위 _T(0) ~ _T(99) T영역 (타이머)

_C 워드단위 _C(0) ~ _C(49) C영역 (카운터)

_D 워드단위 _D(0) ~ _D(99) D영역 (데이터)

P와 M릴레이는 비트 단위로 억세스 되고, 나머지 C,T,D영역은 워드 단위로 억세스 됩니다. P와 M영

역을 워드단위로 억세스 하려면 _WP, _WD를 사용합니다. 예를 들어 _WP(0)은 P0부터 P15까지 를 1

워드로 합친 것을 의미합니다. 다음은 BASIC에서 LADDER데이터 영역을 억세스 하는 샘플 프로그램입

니다.

FOR I = 0 TO 99

_M(I) = 0

NEXT

이 프로그램은 M0부터 M99까지 0으로 클리어 하는 프로그램입니다.

예제 프로그램에서처럼 앞에 “레더억세스용 시스템 배열”을 사용하면, 레더의 릴레이 영역을 마음대로

억세스 할 수 있습니다.

Page 103: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

103

_D(0) = 1234

_D(1) = 3456

_D(2) = 100

D영역에 어떤 값을 넣을 수도 있습니다.

IF _P(3) = 1 THEN _M(127) = 1

또는 IF문에서 릴레이 영역을 참조해서, 다른 릴레이영역에 값을 넣을 수도 있습니다.

반대로, 레더로직에서 베이직변수의 값을 고치거나, 참조할 수는 없습니다.

Page 104: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

104

A/D입력

BASIC에서 ADIN명령어를 사용해서 A/D입력을 처리한 뒤, 결과값만 레더영역에 저장하도록 합니다.

Const Device = CB280

Set Ladder On

Input 24

Do

_D(0) = Adin(0)

Loop

DO 와 LOOP 사이에 있는 모든 명령어는 “CUBLOC”에 켜져 있는 한 계속 실행됩니다. ADIN 명령어는

A/D변환을 수행하는 명령입니다. _D(0) = Adin(0) 이라는 명령은 A/D 채널 0번에서 입력을 받아서 D0

영역에 저장하라는 것입니다. 따라서 레더가 실행되는 동안 A/D채널 0의 결과는 D0영역에 저장됩니

다.

와치포인트를 사용해서 간단하게 D0영역을 볼 수 있습니

다. 모니터링 상태를 ON 하면 와치포인트에서 지정한 D

영역 값이 위 그림처럼 표시됩니다. (F30특수릴레이는 A/D

입력과는 관계없이, 최소한의 레더구성을 위해 그려놓은

것입니다.)

왼쪽과 같이 볼륨을 사용해서, CB280모듈의 24번 포트와

연결한 뒤, 볼륨을 돌려보시기 바랍니다. 화면상의 와치포

인트 D0에 표시되는 값이 변하는 것을 볼 수 있습니다.

Page 105: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

105

DEMO PROGRAM

다음은 A/D입력결과를 레더로직에 사용한 샘플 프로그램입니다. 베이직 부분에는 아래 소스를 입력하

세요.

Const Device = CB280

Set Ladder On

Input 24

Do

_D(0) = Adin(0)

Loop

24 번 포트에 연결된 볼륨을 돌리면, P2 에 연결

된 LED의 깜박이는 주기가 변경되는 것을 볼 수

있습니다.

모니터링 상태에서 관찰하면, A/D변환결과가 얼

마인지 알 수 있습니다. 값을 500 이내로 조정

하면, LED 의 움직임을 잘 관찰할 수 있습니다.

너무 큰 값으로 하면, LED의 주기가 너무 길어지

기 때문입니다.

Page 106: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

106

PWM출력

레더에서 PWM출력을 제어할 수 있습니다. D2영역에 어떤 값을 저장하면, BASIC쪽에서 그 값을 PWM

채널 0으로 출력하도록 하는 방법을 사용합니다.

Const Device = CB280

Low 5

Set Ladder On

Do

Pwm 0,_D(2),65535

Delay 10

Loop

5 번 포트는 PWM0 번 채널입니다. 5 번포트에

LED를 연결해두면, PWM값에 따라서 LED의 밝

기가 변화하는 것을 볼 수 있습니다.

D2 영역에 60000 정도의 값을 넣어두면 LED 가

밝게 됩니다. 10000미만의 값을 넣으면 LED밝

기가 어두워집니다.

Page 107: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

107

고속카운터 입력

BASIC 에서 측정한 고속카운터 입력을 D 영역에 저장해두면, 레더로직에서 그 값을 이용할 수 있습니

다.

다음은 CB280에서 고속카운터 채널 1을 D1영역에 저장하는 BASIC소스입니다.

Const Device = CB280

Input 15

Set Ladder On

Do

_D(1) = Count(1)

Delay 10

Loop

다음은 고속카운터 채널 0을 D2영역에 저장하는 BASIC소스입니다.

Const Device = CB280

Input 14

Set Count0 On

Set Ladder On

Do

_D(2) = Count(0)

Delay 10

Loop

고속카운터 채널 0을 사용하기 위해서는 프로그램 첫 머리에 SET COUNT0 ON 명령을 써주어야 합니

다. 고속카운터 채널 0을 사용하면 PWM 채널 0,1,2를 사용할 수 없습니다. 이 내용은 BASIC 사용설명

서에 자세하게 언급하고 있습니다.

D2에 있는 값을 다른 곳으로 가져가서, 레더로직의 연산 등에 사용할 수 있습니다.

Page 108: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

108

키패드 입력

키패드의 입력은 BASIC 에서 처리하고 최종결과를 레더로직으로 전달하여 사용합니다. 이 프로그램은

P2에 연결된 LED의 깜박이는 주기를 키패드로부터 입력 받은 값으로 결정하도록 하는 프로그램입니

다. 아래그림처럼 회로를 구성하고 BASIC의 KEYPAD명령을 사용하여 키 입력을 받습니다.

Const Device = CB280

Dim B As Byte

Usepin 2,Out

Set Ladder On

Do

B = Keypad(1)

If B<255 Then

_D(0) = B * 10

End If

Loop

Page 109: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

109

7 세그먼트 디스플레이

컴파일 테크놀로지에서 판매하는 7 세그먼트 디스플레이 모듈 (CSG시리즈)를 사용하여, 간단하게 7세

그먼트 디스플레이를 구현할 수 있습니다. 레더로직에서는 디스플레이 데이터만 BASIC으로 넘겨주고,

BASIC에서 이 데이터를 받아서 CSG모듈로 전송하는 방식으로 디스플레이를 구현합니다.

단순히 CSG모듈을 STUDY BOARD의 CSG소켓에 연결한 뒤, P2를 LED에 연결하기 위한 점퍼 선만 추

가한다면, 아래와 같은 회로연결이 완성되는 것입니다.

Page 110: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

110

베이직에는 다음과 같은 소스를 작성해 주십시오.

CSG가 동작할 수 있도록 SET I2C선언을 하고, DO..LOOP 안에 CSGDEC명령을 써서 D10영역의 내용

을 출력합니다. 레더로직은 다음과 같이 작성하십시오. 이 프로그램을 실행시키면, LED 가 깜박거리고

T1의 내용을 CSG디스플레이로 확인할 수 있습니다.

Page 111: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

111

D10영역을 CSG디스플레이를 위한 중계영역이라고 볼 수 있습니다. 이런 식으로 레더로직에서는 표시

하고 싶은 값을 D10영역에 저장하기만 하면 됩니다.

TIPS

CSG 모듈에 글자가 안나온다구? CSG모듈 뒤에 있는 딥 스위치를 조정하여 “슬레이브 어드레스”가 일

치하는 지 확인해보시기 바랍니다. 하나의 I2C 라인에 여러 개의 CSG 모듈을 연결할 수 있고, 각각의

CSG모듈을 구분하기 위해서 “슬레이브 어드레스”를 사용합니다.

DIP 스위치 상태 슬레이브 어드레스 1 2 3

ON

-

0

1 2 3

ON

1

1 2 3

ON

2

1 2 3

ON

3

베이직에서의 CSGDEC 0 ,_D(10) 에서 0번이 슬레이브 어드레스를 의미하는 숫자입니다. 위의 표를 보

시고, 딥스위치를 조정하시기 바랍니다.

Page 112: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

112

LCD디스플레이 : 방법 1

LCD 는 7 세그먼트보다 디스플레이 영역이 크기 때문에, 위치지정에 관련된 부분을 고려해 주어야 합

니다. 가장 간단한 방법으로는 7세그먼트 디스플레이 모듈에서 사용한 방법으로 표시할 수 있습니다.

CUBLOC STUDY BOARD-1 와 CLCD 모듈을 이

그림처럼 연결한다면, 자동적으로 CUNET포트

와 CLCD가 연결됩니다.

CUNET 포트는 CLCD 모듈과 같은 디스플레이

소자를 연결하기 위한 포트입니다.

CB280 의 경우 P8, P9 와 연결되므로, 향후 이

포트는 레더 쪽에서 사용할 수 없습니다.

P2포트는 LED점멸 동작을 확인하기 위해 LED와 연결합니다. 그리고 다음 베이직 프로그램을 입력하

세요.

SET DISPLAY는 디스플레이 셋팅을 위한 선언문

입니다. 자세한 사용법은 BASIC사용설명서를 참

조하세요.

DO…LOOP 안에서 D10영역과 D11영역에 있는

값을 LCD상에 표시합니다.

LCD에 표시하기 위해 LOCATE명령으로, 표시위

치를 먼저 지정한 뒤, PRINT명령으로 해당 값을

표시하고 있습니다.

Page 113: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

113

레더로직은 아래와 같이 입력하세요. T0은 D10영역으로 보내고, T1은 D11영역으로 보냅니다. F1특수

릴레이는 “상시ON”상태이므로, 계속 해서 동작하라는 뜻입니다.

CB220과 LCD와 연결을 위한 CUNET 회로입니다. P8, P9번포트에 CLCD모듈을 연결합니다.

Page 114: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

114

LCD디스플레이 : 방법 2

LCD는 화면이 넓기 때문에, 어떤 위치에 글자를 표시하고 싶은지, 레더로직 쪽에서 결정할 수 있도록

하는 것이 편리합니다. 다음 방법을 사용하면, LCD상의 위치를 LADDER LOGIC에서 결정할 수 있습니

다.

우선 베이직 쪽에는 다음과 같은 소스를 입력하세요.

이 소스는 D10부터 89까지 읽어와 LCD에 표시

하는 프로그램입니다.

D10~D89 까지의 영역이 무조건 LCD 상에 표시

된다고 말할 수 있습니다.

그래서, 프로그램 시작 전에 이 영역을 SPACE

(ASCII 코드 &h20)으로 모두 채워줍니다.

이 프로그램은 20 by 4 LCD모듈을 사용하는 것

으로 가정하고 있기 때문에, LCD전체 영역을 커

버하기 위해서는 총 80개의 데이터 영역이 필요

합니다.

따라서 D10 부터 D89까지 사용하고 있습니다.

이 프로그램이 실행 중일 때, 레더로직에서는

LCD 표시코멘드에는 신경 쓸 필요 없이, 단순히

D10~D89 영역에 데이터만 기입해 주면, LCD 의

해당 위치에 표시됩니다.

Page 115: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

115

LCD화면에 글자를 표시하기 위해서는 ASCII코드를 사용해 주어야 합니다. ASCII코드는 숫자와 특수문

자, 영문자를 코드로 변환하여 사용하는 일종의 규약입니다. 아래 레더로직을 입력한 뒤 실행하면, LCD

화면에는 “ABCDE”가 표시됩니다.

이 방법을 사용해서 화면 가득히 어떤 문자를 표시하려면 일일이 ASCII코드를 입력해 주어야 하는 번

거로움이 있습니다. 그래서, CUBLOC 스튜디오에서는WMOV ‘E’, D15와 같이 문자 하나를 “어포스트로

피”로 감싼 뒤 사용하면 해당 문자를 ASCII로 바꾸어 입력해 줍니다.

그래도, 여러 개의 문자를 표시하기에는 WMOV 명령어를 반복적으로 써주어야 하는 번거로움이 있습

니다. 이 방법은 LCD화면에 자주 변경하는 숫자 (예를 들면 수량카운트 또는 온도표시)등을 사용할 때

사용하십시오.

LCD화면에 어떤 문장을 표시하거나, 일정한 포맷으로 초기표시를 하고 싶다면 다음에 소개하는 “LCD

디스플레이 3” 방법을 사용하시기 바랍니다.

Page 116: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

116

LCD디스플레이 : 방법 3

레더 쪽에서 간단한 명령만 내리면, LCD화면전체가 새로운 내용으로 바뀌는 방법입니다. 이 방법을 이

해하려면 ON LADDERINT (레더인터럽트)에 대해서 알아야 합니다. “레더 인터럽트”는 레더에서 베이직

으로 인터럽트를 발생시켜 주는 방법입니다.

CUBLOC은 레더와 베이직, 서로 다른 두 개의 논리적인 프로세서가 하나의 공간에서 들어있는 것입니

다. 레더 처리기 쪽에서 베이직 처리기 쪽으로 인터럽트를 발생시켜주는 것을 “레더 인터럽트”라고 합

니다.

예를 들어, TIMER가 발생시켜주는 인터럽트를 “타이머 인터럽트”라고 부릅니다. 마찬가지로 레더가 발

생시켜주는 인터럽트니까 “레더 인터럽트”라고 부릅니다.

레더로직에서 인터럽트를 발생시켜주는 것은 매우 간단합니다. “INTON”이라는 명령만 사용해 주면 됩

니다. INTON은 실제로 WMOV명령과 동일한 기능을 수행합니다. 여기에 한가지 더 일을 하는 것이 특

수릴레이 F40을 1로 만들어 주는 것입니다.

특수릴레이 F40은 레더인터럽트 플래그입니다. 이 릴레이가 ON상태이면 BASIC쪽에 LADDERINT가 발

생되는 것입니다.

WMOV 기능을 추가적으로 수행하는 것은 “인터럽트의 종류”를 파악하기 위해서입니다. 레더 이곳 저

곳에 INTON명령이 있는데, 각각 원하는 일이 있을 것입니다. 그것을 베이직 쪽에서 쉽게 파악하기 위

해서, 서로 약속된 데이터번지를 참조하고 그것에 맞는 일을 수행하기 위해서입니다.

P0입력이 들어오면, D0번지에 3을 저장합니다. 그리고 P1입력이 들어오면 D0번지에 2를 저장합니

다. BASIC에서 LADDERINT가 발생되면, D0번지에 있는 값을 조사해서, 어떤 원인으로 인터럽트가 발

생되었는지를 알 수 있는 것입니다. (D0번지에 2가 들어있다면 P1입력이 들어온 것이겠지요.)

Page 117: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

117

BASIC 에서는 이 인터럽트를 받아서 처리해주는 소스를 작성해주어야 합니다. 기본적인 골격은 다음

과 같습니다.

ON LADDERINT GOSUB ABCD

SET LADDER ON

DO

LOOP

ABCD:

CLS

RETURN

인터럽트 발생시 메인루틴 수행을 멈추고, 인터럽트를 수행합니다. 위 소스의 경우 ABCD 루틴을 수행

합니다. ABCD루틴 끝에는 반드시 RETURN명령어를 두어, 인터럽트루틴의 끝을 알려주어야 합니다.

그럼, 간단한 명령 하나로 LCD전체화면을 새로운 내용으로 바뀌게 하는 방법에 대해서 알아보겠습니

다. 우선 레더 쪽에는 다음과 같은 내용으로 구성합니다.

P1

P0

CB280

5V

5V

P0과 P1 에는 스위치를 연결해 두십시오.각각의

스위치 입력이 있을 때, LCD 상에 다른 내용이

표시되도록 하겠습니다.

Page 118: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

118

베이직에는 다음과 같은 소스를 작성합니다.

인터럽트가 발생되면 D0 번지의 내용

을 조사해서 1 이면 위의 내용을 표시

하고, 2 이면 아래의 내용을 표시합니

다.

LCD 구동을 위해서 소스의 첫 부분에

SET DISPLAY명령을 사용하였습니다.

PRINT 1은 LOCATE 0,0과 같은 기능을

합니다. PRINT 2는 LOCATE 0,1과 같은

기능을 합니다.

프로그램을 실행시키고, P0스위치를 누르면 LCD화면에 초기화면이 표시됩니다. P1스위치를 누르면, 다

른 형태의 초기화면이 표시됩니다.

Page 119: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

119

레더에서 사운드발생

레더 쪽에서 간단한 명령만 내리면, 사운드가 발생되도록 해보겠습니다. 역시 ON LADDERINT인터럽트

를 이용한 방법입니다. 레더로직에서는 사운드를 발생하는 명령이 없지만, BASIC에서는 FREQOUT명령

을 이용하면 간단하게 소리를 만들어 낼 수 있습니다.

다음은 베이직 소스입니다. PWM 0번

채널을 이용해서 소리를 발생합니다.

LOW 5 명령으로 인해 5번 I/O포트가

LOW상태가 됩니다. (최초상태인 입력

상태에서 출력상태로 바꾸어 놓은 것

입니다.)

5번 I/O포트는 PWM 0번 채널입니다.

LADDERINT가 발생되면, D0영역을 조

사해서 1 이면 일정한 주파수를

FREQOUT명령을 사용해서 PWM 0번

채널에 출력합니다.

DELAY 명령으로 약간의 시간을 기다

린 뒤, PWM 0번 채널을 OFF합니다.

같은 방법으로 D0영역이 2일 경우에

대한 처리도 합니다.

이 프로그램을 동작 시키기 위한 회로도는 다음

과 같습니다. 5 번 포트에 PIEZO 를 연결하고, 0

번, 1번포트에는 스위치를 연결합니다.

Page 120: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

120

레더로직은 다음과 같이 구성합니다.

Page 121: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

121

레더에서 복잡한 연산식 수행

실수연산 또는 SIN, COS등의 삼각함수가 필요한 연산을 레더로직에서 수행하려면 어떻게 하면 될까요?

역시 ON LADDERINT를 이용하면 간단하게 처리할 수 있습니다. BASIC에서는 32비트 실수데이터형을

사용할 수 있고, SIN, COS, LOG와 같은 수학함수를 지원합니다.

바로 앞에서 사용한 회로를 사

용해서, P0나 P1에 연결된 스위

치를 누르면 어떤 연산을 수행

하도록 했습니다.

P0이 ON되면, D2에 있는 값의

LOG값을 D3에 저장합니다.

이때 주의할 점은 BASIC 에서는

실수 연산이 되지만, 레더 쪽에

서는 정수만 취급하므로, 소수점

이하가 잘려서 저장됩니다.

P1이 ON되면, 일정한 연산식을

수행한 뒤 결과값을 D3 에 저장

하도록 해 놓았습니다.

여기 있는 프로그램을 응용하여,

여러 가지 연산식을 LADDER

LOGIC 에서도 구현할 수 있습니

다.

DEBUG 명령을 리마크로 막아놓았습니다. 앞에 어포스트로피(‘)를 제거한다면, DEBUG 명령으로 실수결

과 값을 볼 수 있습니다. 물론 디버그 터미널에 표시됩니다. 이때 레더로직 쪽에서는 디버그 기능을 사

용할 수 없으므로, 확인이 다 끝나셨다면, 위 소스 프로그램처럼 DEBUG 명령어를 리마크 해놓으시기

바랍니다.

맨 앞에 SET DEBUG OFF 라는 명령을 추가하셔도, 소스 전체에 있는 DEBUG명령어는 번역되지 않습니

다.

Page 122: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

122

레더로직은 다음과 같이 구성했습니다. 초기화 (F2 릴레이 사용)시에 D2에 연산에 필요한 초기값을 저

장합니다.

모니터링 상태에서 P0또는 P1스위치를 누르면, D3값의 변화상태를 직접 볼 수 있습니다. 이때 베이직

쪽에 있는 DEBUG명령어는 비 활성화 상태이어야 합니다.

Page 123: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

123

레더 인터럽트의 메커니즘

레더로직에서 F40 특수릴레이에 1 을 써넣으면, 베이직 쪽에서 인터럽트가 발생한다는 것이 기본적인

LADDERINT 의 메커니즘입니다. 아래처럼 SETOUT 명령을 써서 F40 특수릴레이에 1 을 기입해도,

LADDERINT는 발생됩니다.

베이직 쪽에서 인터럽트 루틴을 수행하는 동안 F40 특수 릴레이는 1 인 상태를 계속 유지하다가,

BASIC쪽에서 RETURN명령어 바로전에 F40을 클리어 해주어야 합니다.

LADDERINT 수행 중 다른 LADDERINT는 실행될 수 없습니다.

만약 동시에 두개의 레더에서 LADDERINT발생 조건을 만족시켜서 F40을 동시에 1로 만들었다면, 아

래쪽에 있는 LADDERINT가 유효하게 됩니다. 다른 한쪽은 인터럽트 요구 시도자체가 무시되는 것입니

다. 이런 일을 미연에 방지하기 위해서는 F40릴레이를 인터럽트 발생의 입력조건에 AND시키는 방법

이 있습니다.

이렇게 하면 다른 한쪽의 LADDERINT가

수행 중일 때에는 아예 인터럽트 발생

요구를 하지 않게 됩니다.

Page 124: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

124

LADDER 와 BASIC의 협동

CUBLOC을 사용해서, 개발에 들어가기에 앞서, 유저는 먼저 다음과 같은 고민을 하게 됩니다.

1. 레더만 사용해서 프로그램을 완성할 것인가…

2. 베이직만 사용해서 프로그램을 완성할 것인가…

3. 베이직과 레더를 모두 사용해서 프로그램을 완성할 것인가…

물론, 1,2,3번 중 어떤 것을 선택할 것인지는 유저 여러분이 결정해야 될 사항입니다. 프로젝트의 성격

을 잘 파악하신 뒤 결정하시기 바랍니다. 1번과 2번의 경우 특별한 문제가 없습니다만, 3번 “레더와

베이직을 모두사용”하는 경우에는 어떤 언어를 MAIN언어로 할 것인지를 또 생각해 보아야 합니다.

LADDER LOGIC이 메인이 되는 경우

레더로 전체 프로그램을 완성하고, AD입력이나 키패드 입력과 같은 기능을 BASIC에서 처리하는 경우

입니다. 레더는 레더 본연의 임무인 “시퀀스처리”에만 충실하고, 레더에서 처리할 수 없는 기능을

BASIC쪽에서 처리하게 됩니다.

BASIC이 메인 언어가 되는 경우

베이직으로 프로그램의 전체를 완성하고, 레더 로직으로는 부분적인 제어만을 수행하는 경우입니다.

이 경우 BASIC 에서 레더로직을 블록단위로 ON/OFF 해야 하는데, 이때, 마스터 콘트롤을 사용하면 간

단하게 일정한 단위의 블록을 ON 하거나 OFF할 수 있습니다.

If A=1 THEN _M(1) = 1

If B=1 THEN _M(1) = 0

P0

M1

P3

P2 P9

MCS 0

MCSCLR 0

이번 장에서는 BASIC 언어를 메인으로 쓰는 경우, 레더로직을 블록으로 구분하여, 블록 별로 ON 또는

OFF하는 방법에 대해서 설명하도록 하겠습니다.

Page 125: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

125

방법 1: M릴레이로 AND 하기

LADDER LOGIC의 내용이 얼마 안 되는 경우에 사용할 수 있는 비교적 간단한 방법입니다. 설명을 쉽

게 하기 위해서 다음과 같은 회로와 레더로직을 구성하여 보겠습니다. LED1과 LED2가 서로 틀린 주기

로 깜박이게 됩니다.

만약, CUBLUC STUDY BOARD-1을 가진 분이라면, 아래와 같이 점퍼선을 연결하시면 됩니다.

베이직 쪽 소스는 다음과 같습니다.

Const Device = CB280

Usepin 0, In

Usepin 2, Out

Usepin 3, Out

Set Ladder On

Page 126: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

126

다음 레더로직으로 실행시키면, LED1과 LED2가 서로 틀린 주기로 깜박이게 됩니다

여기에, 스위치를 누르면 첫 번째 플리커가 동작하고, 스위치를 OFF하면 두 번째 플리커가 동작하도록

해보겠습니다. 스위치의 입력은 BASIC쪽에서 담당하고, BASIC에서 LADDER의 일부분을 제어하는 방법

입니다.

Page 127: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

127

베이직은 다음과 같이 소스를 고쳐서 입력합니

다.

포트 0의 입력상태를 보고, M0, M1릴레이의 상

태를 바꾸어 줌으로써, 레더로직의 특정부분을

ON하거나 OFF할 수 있습니다.

M0 릴레이가 ON 이 되어야, 첫 번째 플리커가

동작하게 됩니다.

M0릴레이가 AND조건으로 설정되어 있기 때문

입니다.

Page 128: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

128

방법 2: 마스터 콘트롤로 제어하기

레더로직에는 마스터 콘트롤이라는 기능이 있습니다. 레더로직을 몇 개의 블록으로 나누어, 블록단위

로 ON하거나 OFF할 수 있는 기능입니다. 하나의 블록을 MCS와 MCSCLR명령으로 감싼 형태를 가지

고 있습니다.

방법 1 에서 사용한 회로도를 그대로 사용해서, 설명하도록 하겠습니다.

스위치를 누르면 첫 번째 플리커가 동작하고, 스

위치를 OFF하면 두 번째 플리커가 동작하는 기

능을 합니다.

앞에서 설명한 방법 1 과 동일한 동작을 하지만,

블록 안의 내용이 많을 경우에는 이 방법이 훨

씬 간편합니다.

Page 129: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

129

“마스터 콘트롤”을 사용한 레더로직에 대한 설명입니다.

MCS펑션에 연결되어 있는 릴레이가 ON되어야, 해당 MCS블록 안에 있는 레더회로가 동작하게 됩니

다. 동작하지 않는 MCS블록 안에 있는 모든 출력은 OFF상태가 됩니다.

Page 130: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

130

방법 3: GOTO로 제어하기

AND접속이나 마스터콘트롤은 동작하지 않는 회로에서 출력의 상태를 강제로 OFF해줍니다. 기계제어

에서는 출력의 ON/OFF상태를 확실하게 해두어야 하기 때문입니다.

만약, 특정블록을 아예 스캔 하지 않도록 하도록 하고 싶다면 어떻게 할까요? 이럴 때에는 레더로직에

서 GOTO 명령을 사용하면 됩니다.

이렇게 하면, 스위치가 ON 되었을 때, 첫 번째

플리커회로는 스캔 하지 않고, SKIP하게 됩니다.

앞에서 설명했던 AND 제어 또는 마스터콘트롤

제어방식과 차이점이 무엇일까요?

이 방법은 해당블록을 스캔 하지 않고, 건너 뛰

게 되므로, P2출력이 이전 상태를 계속 유지하게

됩니다.

AND제어나 마스터콘트롤에서는 P2출력을 강제

로 OFF하게 됩니다.

이것은 P2출력을 다른 블록에서 제어할 수 있다

는 것을 뜻하기도 합니다.

Page 131: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

131

방법 4: 레더전체를 ON/OFF를 제어하기

아주 단순하게, 레더전체를 ON하거나 OFF하는 방법도 있습니다.

아래 레더로직은 P2에 연결된 LED를 깜박이게 하는 LED FLASH 프로그램입니다.

다음과 같이 베이직을 구성하면, 이 레더로직은 계속 동작하게 됩니다.

Const Device = CB280

Usepin 2,Out

Set Ladder On

Do

Loop

0 번 I/O 포트에 스위치를 연결하고, 다음과 같이 베이직 프로그램을 바꾸면, 0 번 포트가 HIGH 일 때

LADDER LOGIC이 동작하고, LOW일 때는 동작하지 않게 됩니다. 동작하지 않을 때, I/O포트의 상태는

이전상태를 계속 유지하게 됩니다. (아무도 제어하지 않는 상태가 됩니다.)

Const Device = CB280

Usepin 2,Out

Set Ladder On

Do

If In(0) = 1 Then

Set Ladder Off

Else

Set Ladder On

End If

Loop

Page 132: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

132

제 6 장

어플리케이션 노트

Page 133: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

133

노트 1. 자기유지 (래치)회로

레더로직 (또는 시퀀스 회로)를 배울 때, 가장 먼저 배우는 회로입니다. 이 실험을 위해 CUBLOC

STUDY BOARD-1을 사용했습니다. 다음과 같이 회로 (결선)을 구성하세요!

START 스위치를 누르면, 모터가 돌아가고, STOP 스위치를 누르면 모터가 정지하는 상황을 가정해 본

것입니다. 모터의 동작은 P2에 연결된 LED로 확인할 수 있습니다.

Page 134: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

134

베이직 소스를 “PLC 마법사”로 작성해 보겠습니다. 아래 화면과 같이 PLC 마법사를 클릭한 뒤, 디바이

스를 CB280으로 바꾸고, P0, P1,P2를 활성화 시킨 뒤, 입출력상태를 조절하세요!

다 하셨으면, 맨 밑에 있는 Replace Basic Code를 누릅니다.

베이직 탭을 누르면 다음과 같은 베이직 소스가 자동 생성되어 있는 것을 볼 수 있습니다.

Page 135: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

135

레더로직을 입력하신 뒤, RUN보턴을 누르면 실행됩니다.

P0스위치를 누르면 P2 LED에 불이 들어오고, P1스위치를 누르면, P2스위치에 불이 꺼집니다. 이것이

바로 자기유지 입니다. P2의 상태를 붙잡아 놓을 수 있다고 해서 “자기 유지”라고 합니다. 타이밍 차트

로 보면 더욱 쉽게 알 수 있습니다.

레더를 보면 출력으로 사용한 P2 릴레이를 입력에서 사용한 것을 볼 수 있습니다. 이처럼 레더로직에

서는 출력 릴레이를 입력으로 사용하는 것이 가능합니다. 출력 릴레이를 입력으로 사용할 경우, 출력

을 상태를 가지고 있게 됩니다. 출력 상태를 변화시키지는 못하지만, 출력상태가 무엇인지는 알 수 있

는 것입니다.

Page 136: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

136

노트 2. 인터록 회로

한 회로가 동작 중일 때 다른 회로의 동작을 막아주는 회로를 “인터록”회로 라고 합니다. 이 것을 설

명하기 위해 2개의 자기유지 회로가 있는 레더로직을 만들어 보겠습니다.

다음 베이직 소스를 입력하세요.

4개의 입력과 2개의 출력을 위해 총 6개의 입

출력 포트에 대한 USEPIN 설정이 필요합니다.

레더로직은 똑 같은 2개의 “자기유지”회로를 구

성해 보았습니다. 이 프로그램을 실행시키면, 두

개의 자기유지가 동작됩니다.

Page 137: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

137

이 회로에 약간의 수정만 더 하면, “인터록”회로를 구성할 수 있습니다.

이렇게 한다면, 어느 한쪽이 동작 중일 때 다른 한쪽은 동작할 수 없는 상태가 됩니다. 이처럼, 여러

개의 회로간에 서로조건을 추가하여 동작을 금지시키거나, 동작이 되도록 만드는 회로를 “인터록”회로

라고 부릅니다.

Page 138: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

138

노트 3. 스위칭 회로

한 개의 보턴으로 한번 누르면 출력이 ON 되고, 한번 더 누르면 출력이 OFF 되는 회로입니다. 일종의

TOGGLE동작이라고 할 수 있습니다. 다음과 같이 회로를 구성하세요.

CUBLOC STUDY BOARD-1 이 있으신 분은 다음과 같이 결선하십시오.

한번 누르면 모터가 돌아가고, 한번

더 누르면 모터가 멈추는 상황을 생

각하시면 됩니다.

Page 139: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

139

아래와 같은 레더로직을 작성하고, 실행시켜 보세요. P0 스위치를 누르면 LED 에 불이 들어오고, 다시

한 번 누르면 LED에 불이 꺼집니다.

이 동작을 타이밍 차트로 표현하면 다음과 같습니다.

Page 140: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

140

노트 4. 레더에서 온도읽기

레더로직에서 온도센싱을 하기 위해서는 BASIC 프로그램의 도움이 필요합니다. BASIC 프로그램에서

A/D컨버터를 통해, 온도센서에서 값을 읽어 들인 후, 테이블 변환을 통해 실제 온도 값으로 환산하여,

D영역에 저장합니다.

그러면, 레더에서 D영역에 있는 값을 읽어서 원하는 처리를 하게 됩니다.

온도센서의 종류에는 열전쌍, PT100센서, NTC, PTC써미스터등 다양한 종류가 있습니다. 본 노트에서는

NTC서미스터를 이용한 온도센싱 방법에 대하여 소개하겠습니다.

NTC서미스터는 온도에 민감한 저항으로 만들어진 센서로 볼 수 있습니다. 온도에 따라 저항 값이 바

뀌기 때문에, 이를 이용하여 온도를 알아낼 수 있습니다. NTC서미스터 중 세라믹으로 되어 있는 타입

은 –20도~130도 정도의 온도를 검출해 낼 수 있습니다.

마치 다이오드처럼 생긴 NTC 서미스터가 있는데, 이 센서를 사용하면 –30 도~250 도까지 온도센싱이

가능합니다.

제조사의 홈페이지를 통하여 선택한 센서의 R-T변환 테이블 (저항-온도)를 구할 수 있습니다. 만약 여

러분이 온도센서를 파는 상점에 가셨다면 “다이오드 타입 10 K오옴, NTC서미스터”를 찾는다고 하면,

쉽게 구할 수 있을 것입니다.

온도 최저치 중간치 최대치

0 31260.0 32610.0 33987.7

1 29725.7 30993.7 32286.7

2 28275.6 29466.8 30680.6

3 26904.5 28023.9 29163.6

4 25607.8 26660.0 27730.3

5 24381.0 25370.2 26375.7

6 23220.0 24150.1 25094.9

7 22120.9 22995.7 23883.7

8 21080.1 21903.1 22737.7

9 20094.1 20868.5 21653.3

10 19159.9 19888.7 20626.7

11 18274.4 18960.5 19654.6

12 17434.8 18080.8 18733.8

13 16638.5 17246.9 17861.4

14 15883.1 16456.1 17034.4

15 15166.2 15706.0 16250.4

16 14485.7 14994.4 15506.9

17 13839.6 14318.9 14801.5

18 13225.9 13677.7 14132.2

19 12642.8 13068.7 13496.9

20 12088.7 12490.3 12893.6

21 11561.9 11940.6 12320.7

Page 141: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

141

22 11061.0 11418.2 11776.4

23 10584.6 10921.6 11259.2

24 10131.3 10449.3 10767.5

25 9700.0 10000.0 10300.0

26 9281.3 9572.5 9864.0

차트를 보면 저항 값과 온도 값의 변환곡선이 일정치 않음을 알 수 있습니다. 저항 값을 일정한 계산

공식에 의해 온도 값으로 환산하기 쉽지 않기 때문에, 테이블에 의한 변환방식을 사용합니다. 온도센

싱을 위해서 다음과 같은 회로를 사용합니다. CUBLOC 코어모듈로 유입되는 과전압을 차단하기 위해서

제너다이오드를 반드시 사용해야 합니다.

NTC TH.

5.1V

ZENER

DIODE 0.47uF CUBLOC

A/D CHANNEL 0

1Kohm.

1%

회로에서 알 수 있듯이 온도센서와 1K저항 사이에서 분압된 전압 값을 A/D변환기로 읽어내는 방법을

온도센싱을 수행합니다. CUBLOC에는 10BIT A/D변환기가 내장되어 있어, 0~1024의 값으로 변환됩니

다. 이 값을 온도 값으로 변환하는 테이블을 작성하는 것이 본 어플리케이션 노트의 핵심입니다.

다음은 R-T 변환 테이블의 저항 값이 A/D 변환 후 어떤 값으로 변환되는지를 계산해 놓은 표입니다.

(일부 온도범위만 기재해 놓았습니다.)

온도 저항 값 전압 A/D변환 값

-30 175996.6 4.971750865 1018

-29 165473.9 4.969965259 1018

-28 155643.6 4.968080404 1017

-27 146456.3 4.966091647 1017

-26 137866.4 4.963994167 1017

-25 129831.7 4.961782976 1016

-24 122313.4 4.959452909 1016

-23 115275.4 4.956998627 1015

-22 108684.3 4.954414614 1015

-21 102509.3 4.951695171 1014

-9 52288.3 4.90617073 1005

-8 49549.7 4.901087406 1004

-7 46970.5 4.895769279 1003

-6 44540.6 4.890207868 1002

-5 42250.5 4.884394522 1000

-4 40091.5 4.878320427 999

-3 38055.4 4.871976604 998

-2 36134.4 4.865353924 996

-1 34321.5 4.858443112 995

0 32610.0 4.851234752 994

1 30993.7 4.8437193 992

2 29466.8 4.835887094 990

3 28023.9 4.827728362 989

4 26660.0 4.819233234 987

5 25370.2 4.810391755 985

6 24150.1 4.801193902 983

7 22995.7 4.79162959 981

8 21903.1 4.781688696 979

9 20868.5 4.771361072 977

Page 142: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

142

10 19888.7 4.760636561 975

11 18960.5 4.749505017 973

12 18080.8 4.737956327 970

13 17246.9 4.725980424 968

14 16456.1 4.713567319 965

15 15706.0 4.700707114 963

16 14994.4 4.68739003 960

17 14318.9 4.673606431 957

18 13677.7 4.659346849 954

19 13068.7 4.644602011 951

20 12490.3 4.629362861 948

21 11940.6 4.613620595 945

22 11418.2 4.597366683 942

23 10921.6 4.580592903 938

24 10449.3 4.563291365 935

25 10000.0 4.545454545 931

26 9572.5 4.527075313 927

27 9165.6 4.508146964 923

28 8778.3 4.488663246 919

29 8409.4 4.468618396 915

30 8058.1 4.448007162 911

31 7723.3 4.426824842 907

32 7404.3 4.405067304 902

33 7100.2 4.382731022 898

34 6810.2 4.359813102 893

35 6533.7 4.336311306 888

36 6269.8 4.312224084 883

37 6018.0 4.287550592 878

38 5777.7 4.262290722 873

39 5548.3 4.236445118 868

50 3606.1 3.914475937 802

51 3472.1 3.881948015 795

52 3343.7 3.848917708 788

53 3220.8 3.815397329 781

54 3103.1 3.781399998 774

55 2990.2 3.746939622 767

56 2882.1 3.712030877 760

57 2778.4 3.676689176 753

58 2679.0 3.640930651 746

59 2583.6 3.604772114 738

81 1220.4 2.748157207 563

82 1181.9 2.7084025 555

83 1144.8 2.668747011 547

84 1109.0 2.629210536 538

85 1074.5 2.589812422 530

86 1041.3 2.550571543 522

87 1009.2 2.511506263 514

88 978.3 2.472634416 506

89 948.5 2.433973277 498

90 919.8 2.395539544 491

91 892.0 2.357349316 483

92 865.3 2.319418079 475

93 839.4 2.281760687 467

94 814.5 2.244391354 460

95 790.4 2.207323646 452

96 767.1 2.170570465 445

97 744.7 2.134144055 437

98 723.0 2.098055989 430

99 702.0 2.062317177 422

100 681.8 2.026937858 415

'

' NTC THERMISTOR READ TABLE

' 10K DIODE TYPE

' With Ladder Logic

Page 143: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

143

Const Device = cb280

Const Integer TH_TABLE = (992,990,989,987,985,983,981,979,977,975,

973,970,968,965,963,960,957,954,951,948,

945,942,938,935,931,927,923,919,915,911,

907,902,898,893,888,883,878,873,868,862,

857,851,845,839,833,827,821,815,808,802,

795,788,781,774,767,760,753,746,738,731,

723,716,708,700,692,684,677,669,661,652,

644,636,628,620,612,604,596,587,579,571,

563,555,547,538,530,522,514,506,498,491,

483,475,467,460,452,445,437,430,422,415)

Dim a As Integer,b As Integer

Set Ladder on

Do

b = Tadin(0)

If b > 990 Or b < 400 Then

_D(10) = 65535 ‘범위를 벗어날 경우에는 &hffff를 저장

Else

For a=0 To 100

If b > TH_TABLE(a) Then Exit For

Next

_D(10) = a ‘ 결과값을 D10에 저장

End If

Delay 500 ‘ 0.5초마다 한번씩 갱신

Loop

A/D변환을 위해 TADIN 라이브러리를 사용하면, 자동적으로 10번의 A/D변환 결과의 평균치를 리턴하

기 때문에, 좀더 정밀한 측정이 가능합니다. 본 샘플프로그램은 0~100 도까지의 측정결과만을 표시합

니다. 좀더 넓은 범위의 온도센싱을 하려면 본 소스를 적절히 바꾸어 사용하시기 바랍니다.

R-T 온도 테이블에서 A/D 변환 값을 산출해 내는 공식은 다음과 같습니다. 먼저 서미스터의 저항 값

(THR)을 가지고 1K옴의 저항과 5V를 분압했을 때의 전압은 다음 공식으로 계산합니다.

V를 10비트 분해능의 A/D변환기를 넣으면 0~1024사이의 값으로 변환됩니다. 최종 결과값을 얻으려

면 V를 204.8과 곱해줍니다. 서미스터 제조회사에서 제공하는 R-T변환 테이블을 EXCEL에 입력한 뒤

위의 공식을 대입한다면, 쉽게 최종 결과값을 얻을 수 있습니다

Page 144: CUBLOC Ladder Logic - Comfile · 2020. 8. 24. · 1 BASIC과 LADDER LOGIC을 동시에 지원하는 산업용 콘트롤러 CUBLOC 더로직 중심 사용설명서 사용설명서

144

레더에서는 단순히 D10영역의 값을 비교해서, 원하는 범위에 들어갔을 때, 출력을 ON /OFF할 수 있

습니다. 다음 레더를 실행시키면

모니터링 상태에서 D10의 값을 보면, 다음과 같습니다. (92도 이상일 때 M1이 ON됩니다.)