270
TinyPLC TPC9X User’s Manual - 1 - TinyPLC TPC9X 시리즈 제품 사용설명서 MANUAL VERSION : 201910 TPC9X 업로드를 지원하지 않습니다. LCD 7 세그먼트를 쓰시려면 CUBLOC 적합합니다. TPC3X 시리즈 (SB 시리즈) 사용하시는 분은 TPC3X 매뉴얼을 참조하세요. TPC 시리즈는 기술지원이 중단되었습니다. 새로운 프로젝트에는 CUBLOC 을사용해주십시오. 컴파일 테크놀로지㈜

TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

  • Upload
    others

  • View
    6

  • Download
    1

Embed Size (px)

Citation preview

Page 1: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 1 -

TinyPLC

TPC9X시리즈 제품 사용설명서

MANUAL VERSION : 201910

TPC9X는 업로드를 지원하지 않습니다. LCD나 7세그먼트를 쓰시려면 CUBLOC이 더 적합합니다.

TPC3X 시리즈 (SB시리즈) 사용하시는 분은 TPC3X매뉴얼을 참조하세요.

TPC시리즈는 기술지원이 중단되었습니다. 새로운 프로젝트에는

CUBLOC을사용해주십시오.

컴파일 테크놀로지㈜

Page 2: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 2 -

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

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

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

알림

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

수 있습니다. 본 제품을 이 자료에서 설명한 용도 외에서 사용할 경우, 폐사에서는 어떠한 법적 책임도 지지 않으므로

주의하시기 바랍니다. 본 제품은 컴파일 테크놀로지의 고유 기술을 사용하여 개발된 제품으로 저작권법에 의한 보호를

받고 있습니다. 따라서 본 제품 (제품에 대한 아이디어 및 설명서 및 기타 포함)의 어떠한 부분도 사전에 폐사와의 문서

동의 없이 복사되거나 변경, 재 생산할 수 없으며 또한 다른 언어로도 번역될 수 없습니다.

주의사항

인쇄된 설명서는 인쇄된 시점에서는 최신 Version이지만, 인쇄된 후 시간이 경과된 뒤에 새로운 내용이 추가되거나, 기

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

기 바랍니다.

본 제품 (TinyPLC및 부속장치 일체) 를 사용하시다가 생긴 손해 및 손실에 대하여 저희 컴파일 테크놀로지 주식회사는

어떠한 (민,형사상의 법적 )책임도 없음을 명시하는 바입니다. 본 제품을 사용하기 이전에 반드시 본 사용설명서를 읽

어본 뒤 사용하시기 바랍니다. 본 사용설명서를 충분히 읽어보지 않은 상태로 본 제품을 사용하는 것으로 인해 발생된

피해에도 저희 회사에서는 어떠한 민,형사상의 책임도 없음을 명시합니다.

Page 3: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 3 -

머리말 TPC9X 시리즈는 반도체형 Programmable Logic Controller입니다. 주로 자동화용 전용기 제작, 원보드형 콘트롤러 제작등의 분야에 널리 이용되고 있습니다. TPC 9X코어모듈은 유저여러분이 PCB와 I/O회로를 구성해주어야 하는 제품입니다. PCB제작에 대한 기술이 없다면 MSB (CUBLOC 일체형 제품)를 사용해주시기 바랍니다.

컴파일 테크놀로지㈜

Page 4: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 4 -

유저여러분께 당부드리는 말씀 1. 본 제품을 현장에 바로 설치하지 마시고, 충분히 사전 검토작업을 거쳐서 동작에 대한 확신이 있을 때 현장적용을 하시기 바랍니다. 2. 인체에 유해를 가할수 있는 어플리케이션에는 사용을 금지하여 주시기 바랍니다. (예 : 의료용 장비, 각종 절단기) 3. 기존 타사 PLC에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다. 4. PLC의 특성상 열악한 환경에서 동작하는 경우가 많습니다. 전원입력단에 노이즈필터를 연결하는 등, 각종 노이즈 대책에 신경써 설치하여 주십시오. 5. 문의전화가 폭주하고 있습니다. 대부분의 문의전화는 본 사용설명서에 있는 내용을 물어보는 것이였습니다. 본 사용설명서를 반드시 숙지하신뒤에 사용해주시기 바랍니다. 특히 다운로드가 안된다는 문의전화가 많습니다. 본 사용설명서 맨 뒷부분에 있는 <다운로드 에러시 문제 해결방법>에 해결방법을 정리해두었습니다. 전화주시기 전에 먼저 참고해주시기 바랍니다.

Page 5: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 5 -

노이즈 대책 노이즈를 줄이기위해서는 배선이 무엇보다도 중요합니다. 다음과 같은 룰을 지켜준다면 노이즈를 줄일수 있습니다.

1. 전원선은 가능한 한 굵은 선을 사용하고, 트위스트 할 것 2. 트랜스 2차측은 트위스트로 하고, PLC와 최단거리로 배선할 것 3. PLC전원입력부에 반드시 노이즈필터를 사용할 것 4. 접지는 반드시 할 것. 5. AC입출력 선과 DC입출력선을 하나의 덕트안에 혼용하지 말 것 6. 신호선과 동력선은 별도의 덕트에 설치하고, 가능한한 20cm이상 떨어뜨릴 것 7. 입력 신호선과 출력신호선도 가능하면 따로따로 덕트를 통해 배선할 것 8. 전자 계폐기, 접촉기, 파워 릴레이등은 가능한한 콘트롤러와 멀리 배치할 것 9. 앞에서 설명한 “서지 킬러”를 릴레이, 접촉기에 부착할 것

특히, 전원공급장치의 용량을 확인하고, 그 사용범위안에서 부하를 연결하는 것이 중요합니다. 전원공급장치에 과부하가 발생하면, 발열이 되면서 결국은 시스템이 멈추게 됩니다. 여름철 제어반 내부의 온도상승으로 인해, 시스템이 오동작하는 것을 막기위해 가능한한 팬을 설치하여 공기가 흐르도록 해주는 것이 좋습니다. 간혹, PLC가 리셋된다거나, 이상 동작한다고 전화주시는 분들이 있는데, 실제 현장에 가보면, 노이즈 대책이 부족한 경우가 대 부분입니다. 전원입력부에 노이즈 필터나, 접촉기에 서지킬러도 부착하지 않은채 배선이 엉켜있는 경우가 많았습니다.

노이즈로부터 안전한 시스템을 꾸미는데 있어서 유저여러분의 노력과 관심이 필요합니다.

좁은 공간에 배선이 엉켜있어 ,

실제 운영시에 에러가 발생할

확률이 매우 높습니다.

Page 6: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 6 -

자주묻는 질문과 답변 Q. 타이머 또는 카운터 영역을 정전시 유지시킬 수 있습니까?

TPC9X 시리즈에서는 지원하지 않습니다. MSB시리즈를 사용하십시오. Q. TSB를 사용중입니다. 포트확장이 가능합니까?

TSB시리즈는 포트확장이 불가능합니다. Q. 모드버스 마스터 기능을 사용할 수 있습니까?

모드버스는 슬레이브 기능만 지원하고 있습니다. Q. 다운로드된 프로그램을 다시 업로드할 수 있습니까?

불법복제 방지를 위해 업로드 기능을 넣지 않았습니다. Q.다운로드중 RS232통신에러가 발생하였습니다. 해결방법은? 본 사용설명서 가장 뒤쪽에 있는 “통신에러시 해결방법”을 참조하시기 바랍니다. Q. LCD에 멧세지를 표시하는 기능을 주로 사용합니다. TinyPLC로 가능합니까? 가능하지만, LCD표시기능을 주로하신다면 CUBLOC제품이 더 적합합니다. Q. 통신처리를 주로 사용합니다. TinyPLC로 가능합니까? 통신처리가 필요하다면 CUBLOC이 더 편리합니다. BASIC언어를 사용할 수 있기 때문입니다. Q. 고속카운터로 엔코더 A,B상 입력을 받을 수 있습니까? 불가능합니다.

Page 7: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 7 -

Q. “다운로드가 안됩니다.”

고객여러분의 PC이상, 케이블이상, 접속부주의등이 원인이였습니다. 본 설명서 가장 뒷부분에 있는 “다운로드시 문제해결방법”에 자세하게 원인체크방법과 해결방법을 기록해두었습니다. 참고하시기 바랍니다.

Q. “디바이스가 일치하지 않습니다.” 에러가 납니다.

TSB시리즈는 TPC92A모듈이 장착되어 있습니다. 따라서 PLC (Device) Select에서 TPC92A를 선택하여 주십시오. 그리고 I/O Setup에 있는 Auto Setup에서 해당제품을 선택하시면 됩니다.

Q. 레더가 이상 동작합니다. 원인좀 찾아주세요.

유저가 작성하신 레더에서 버그를 찾아 달라는 전화가 많습니다.

실제현장에서의 입출력상황이나 전체적인 개념에 대한 이해없이 전화상으로 레더를 작성하거나 버그를 찾는 것은 거의 불가능한 일임을 양지하시고, 이해하여 주시기를 바랍니다.

Q. 동작중 리셋이 됩니다.

이런 경우 대부분의 원인은 노이즈 (또는 서지)입니다. TinyPLC도 일반 타사의 PLC와 마찬가지로 노이즈 대책이 필요합니다. 중계릴레이에 스파크킬러 (써지 킬러)를 꼭 부착해주십시오. 또한 220V AC입력부에 노이즈 필터를 부착해주어야 합니다. 콘트롤러용 전원과 중계릴레이 구동용 전원을 분리하는 것도 잊지마세요. 콘트롤려용 전원에 노이즈 (또는 서지)가 유입되지 않게 하기위해서는 배선 엔지니어의 경험과 노우하우가 중요합니다.

Page 8: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 8 -

차 례

제 1 장 TINYPLC 소개 ................................................................................................................... 13

TINYPLC의 개요 .......................................................................................................................... 14 반도체형 PLC의 장점은 무엇인가? ........................................................................................... 15 LADDER LOGIC은 무엇인가? ................................................................................................... 16 TINYPLC의 특징은? .................................................................................................................... 19 I/O의 차이 .................................................................................................................................... 20

제 2 장 TPC9X 시리즈 코어모듈 ................................................................................................... 21

코어모듈 ....................................................................................................................................... 22 다운로드 케이블 연결.................................................................................................................. 25 다운로드 케이블 연결 (TPC9X와 연결) .................................................................................... 26 코어모듈비교 ............................................................................................................................... 27 TPC91A / TPC92A ........................................................................................................................ 28 TPC93A ......................................................................................................................................... 30 외형치수 ....................................................................................................................................... 34 코어모듈의 I/O ............................................................................................................................. 35

제 3 장 메모리 맵 ............................................................................................................................. 37

TINYPLC의 메모리 ...................................................................................................................... 38 TPC91A와 92A/93A의 메모리 ................................................................................................... 39 정전시 데이터 보관 (K영역) ...................................................................................................... 44 스탭 릴레이 .................................................................................................................................. 47 특수릴레이 ................................................................................................................................... 48 TPC91A의 메모리맵 ................................................................................................................... 51 TPC92A, TPC93A의 메모리맵 ................................................................................................... 52 주변장치 제어 레지스터 .............................................................................................................. 53 리얼타임 클록 .............................................................................................................................. 55 시스템 제어 레지스터.................................................................................................................. 55 간접 번지 지정 ............................................................................................................................. 56 D영역 비트단위 제어 .................................................................................................................. 57

제 4 장 기본명령어 .......................................................................................................................... 58

기본명령어 ................................................................................................................................... 59 LOAD,LOADN, OUT ................................................................................................................... 61 NOT, AND,OR .............................................................................................................................. 62 SETOUT, RSTOUT ...................................................................................................................... 65 DF, DFN ........................................................................................................................................ 67

Page 9: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 9 -

TON, TAON .................................................................................................................................. 68 TOFF, TAOFF ............................................................................................................................... 69 TMON, TAMON ........................................................................................................................... 70 CTU ............................................................................................................................................... 72 CTD ............................................................................................................................................... 73 RSTCNT ........................................................................................................................................ 74 MCS, MCSCLR ............................................................................................................................. 76 STEPSET ....................................................................................................................................... 79 STEPOUT ...................................................................................................................................... 82 비교명령 ....................................................................................................................................... 83

제 5 장 응용명령어 .......................................................................................................................... 84

응용명령어 종류 .......................................................................................................................... 85 워드와 더블워드 저장방식 .......................................................................................................... 87 16진수 표기법.............................................................................................................................. 87 WMOV, DWMOV ........................................................................................................................ 88 WXCHG, DWXCHG .................................................................................................................... 89 FMOV............................................................................................................................................ 90 GMOV ........................................................................................................................................... 91 WINC, DWINC WDEC, DWDEC ................................................................................................ 92 WINV, DWINV ............................................................................................................................. 93 WNEG, DWNEG .......................................................................................................................... 94 WADD, DWADD .......................................................................................................................... 95 WSUB, DWSUB ........................................................................................................................... 96 WMUL .......................................................................................................................................... 97 WDIV, DWDIV ............................................................................................................................. 98 WOR, DWOR ................................................................................................................................ 99 WXOR, DWXOR ........................................................................................................................ 100 WAND, DWAND ........................................................................................................................ 101 WCMP, DWCMP ........................................................................................................................ 102 WROL,DWROL .......................................................................................................................... 103 WROR,DWROR ......................................................................................................................... 104 WRCL,DWRCL .......................................................................................................................... 105 WRCR,DWRCR .......................................................................................................................... 106 DEFCON ..................................................................................................................................... 107 GOTO,LABEL ............................................................................................................................ 108 NOP ............................................................................................................................................. 108 LOOP ........................................................................................................................................... 109 CALLS,SBRT,RET ..................................................................................................................... 110 TND ............................................................................................................................................. 111 DIST ............................................................................................................................................ 112 UNIT............................................................................................................................................ 113 DECO .......................................................................................................................................... 114 ENCO .......................................................................................................................................... 115

Page 10: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 10 -

BSHR DBSHR............................................................................................................................. 116 BSHL DBSHL ............................................................................................................................. 117 WSHL .......................................................................................................................................... 118 WSHR.......................................................................................................................................... 119 WBCD ......................................................................................................................................... 120 WBIN .......................................................................................................................................... 121 WBCNT DWBCNT ..................................................................................................................... 122

제 6 장 FUNC형 명령어 소개 ...................................................................................................... 123

FUNC형 명령어란.. ................................................................................................................... 124 FUNC형 명령어에서의 연산식 ................................................................................................ 127 연산자 사용법 ............................................................................................................................ 128 +, - 연산자 ................................................................................................................................... 130 *, / 연산자 ................................................................................................................................... 130 MOD 연산자 ............................................................................................................................... 131 ^ 연산자 ...................................................................................................................................... 131 AND 연산자 ................................................................................................................................ 132 OR 연산자 ................................................................................................................................... 132 XOR 연산자 ................................................................................................................................ 133 << 연산자 (좌 쉬프트) ................................................................................................................ 133 >> 연산자 (우 쉬프트) ................................................................................................................ 133 비교하기 ..................................................................................................................................... 134 IF ................................................................................................................................................. 134

제 7 장 A/D, PWM, 고속카운터 ................................................................................................... 138

A/D변환 ..................................................................................................................................... 139 A/D입력 사용시 주의사항 ........................................................................................................ 140 PWM............................................................................................................................................ 149 FREQOUT ................................................................................................................................... 154 PWM 듀티비 출력 ...................................................................................................................... 155 펄스 출력 .................................................................................................................................... 158 STEPPULSE ................................................................................................................................ 159 STEPSTOP .................................................................................................................................. 159 가감속 펄스 출력........................................................................................................................ 162 STEPACCEL ............................................................................................................................... 162 고속 카운터 ................................................................................................................................ 163 COUNT 입력............................................................................................................................... 164 COUNTRESET ........................................................................................................................... 164

제 8 장 LCD 디스플레이 ............................................................................................................... 166

TINYPLC에서의 LCD디스플레이 ........................................................................................... 167 CLS .............................................................................................................................................. 170

Page 11: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 11 -

CSROFF ...................................................................................................................................... 170 CSRON ........................................................................................................................................ 170 PRINT.......................................................................................................................................... 171 LOC ............................................................................................................................................. 171 DEC ............................................................................................................................................. 172 HEX ............................................................................................................................................. 173 FLOAT ........................................................................................................................................ 174 FP( ) ............................................................................................................................................. 174

제 9 장 7 세그먼트 디스플레이 .................................................................................................... 176

TINYPLC에서의 7세그먼트 디스플레이 ................................................................................ 177 CSGDEC ..................................................................................................................................... 179 CSGHEX ..................................................................................................................................... 179 CSGNPUT ................................................................................................................................... 180 CSGXPUT ................................................................................................................................... 181 CSGNDEC .................................................................................................................................. 182 CSGNHEX .................................................................................................................................. 182 CSGDECDOT ............................................................................................................................. 183 CSGHEXDOT ............................................................................................................................. 183

제 10 장 MODBUS 데이터 통신 ................................................................................................... 186

MODBUS 데이터 통신 .............................................................................................................. 187 어드레스 ..................................................................................................................................... 188 MODBUS에 대하여… .............................................................................................................. 190 펑션코드 01 : READ COIL STATUS .............................................................................................. 192 펑션코드 02 : READ INPUT STATUS ............................................................................................ 192 펑션코드 03 : READ HOLDING REGISTERS ................................................................................. 194 펑션코드 04 : READ INPUT REGISTERS ....................................................................................... 194 펑션코드 05 : FORCE SINGLE COIL ............................................................................................. 195 펑션코드 06 : PRESET SINGLE REGISTERS .................................................................................. 196 펑션코드 15 : FORCE MULTIPLE COILS ...................................................................................... 197 펑션코드 16 : PRESET MULTIPLE REGS ...................................................................................... 198 에러처리 ..................................................................................................................................... 199 MODBUS 셋업하기 ................................................................................................................... 200

제 11 장 TPCWORKS 사용법 ...................................................................................................... 202

TPCWORKS의 개요..................................................................................................................... 203 TPCWORKS 설치 ......................................................................................................................... 204 TPCWORKS 사용법 기초 .......................................................................................................... 207 PLC SETUP ................................................................................................................................. 208 이름짓기 ..................................................................................................................................... 212 파일의 오픈 및 저장 ................................................................................................................... 215

Page 12: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 12 -

다운로드와 실행 ........................................................................................................................ 217 레더작성용 아이콘 툴바 ............................................................................................................ 218 LADDER 작성법 ........................................................................................................................ 219 LADDER 편집 ............................................................................................................................ 220 사용할 수 없는 레더 표현 .......................................................................................................... 226 모니터링 ..................................................................................................................................... 227 WATCH POINT .......................................................................................................................... 228 강제 I/O ....................................................................................................................................... 229 MODIFY기능 ............................................................................................................................. 230 메뉴 설명 .................................................................................................................................... 231 환경설정 ..................................................................................................................................... 233 릴레이 사용현황 보기................................................................................................................ 234 와치윈도우 ................................................................................................................................. 235 북마크 ......................................................................................................................................... 236

제 12 장 입출력 회로 .................................................................................................................... 237

다운로드 케이블 연결................................................................................................................ 238 USB-RS232케이블 사용 ............................................................................................................ 241 다운로드 시 발생되는 에러멧세지 ........................................................................................... 243 TINYPLC 기본회로 ..................................................................................................................... 244 입출력 회로 구성법.................................................................................................................... 245

제 13 장 응용 노트 ........................................................................................................................ 248

노트 1. 자기유지 (래치)회로 ..................................................................................................... 249 노트 2. 인터록 회로.................................................................................................................... 252 노트 3. 스위칭 회로.................................................................................................................... 254

부록 ................................................................................................................................................. 256

다운로드에러시 문제 해결방법 ................................................................................................ 257 INDEX ......................................................................................................................................... 268

Page 13: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 13 -

제 1 장

TinyPLC 소개

Page 14: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 14 -

TinyPLC의 개요 전통적으로 PLC는 아래 사진처럼 생긴 장치를 말합니다. 주로 공장자동화분야에서 시퀀스제어나 자동제어의 메인 콘트롤러로 사용되고 있습니다.

이 장치의 내부구성을 보면 다음 그림과 같이 CPU, MEMORY, POWER SUPPLY 그리고 I/O, RELAY등으로 구성되어 있습니다.

CPUI/O

RELAY

OPTOINPUT

Traditional PLC

MEMORY

POWER SUPPLY

TinyPLC는 위의 그림중 CPU, MEMORY, I/O부분만을 반도체형으로 따로 제작한 것이며, 다른 PLC와 마찬가지로 LADDER LOGIC으로 프로그램을 작성합니다.

CPUI/O

RELAY

OPTOINPUT

TinyPLC

MEMORY

POWER SUPPLY

즉, 기존 PLC에서 핵심 코어부분만을 “반도체형”으로 제작한 제품이 TinyPLC9X 시리즈입니다.

Page 15: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 15 -

반도체형 PLC의 장점은 무엇인가? PLC를 사용해서, 제어반을 만들어 보신 분들은 그 불편함과 비용부담에 대해서 잘 알고 계실것입니다. 작은 기계, 여러 개를 반복적으로 생산하기에는 적합하지 않은 방식이라는 것에 대해서도 어느정도 공감하시리라 생각됩니다.

그래서, “원칩마이컴 (MCU)”등으로 바꾸는 경우도 많이 있습니다만, 원칩마이컴에서 사용하는 언어와 개발환경등은 PLC유저가 감당하기에는 매우 벅찹니다. 뿐만 아니라 현장에서 문제가 발생했을 경우의 유지보수에도 문제가 있습니다.

TinyPLC는 “반도체형 PLC”로 마치 원칩마이컴 처럼 PCB에 장착하여 사용할 수 있는 제품입니다. PLC에서 사용하는 프로그래밍 방식인 “레더 로직”을 그대로 사용할 수 있고, PC와 RS232로 연결하여, 간단하게 다운로드 및 모니터링을 할 수 있습니다. TinyPLC는 PLC의 장점과 “원칩마이컴”의 장점을 모두 가지고 있는 제품이라 하겠습니다.

PLC는 노트북하고 RS232 케이블 하나

만 있으면 개발할 수 있는데…

MCU로 개발하려면 에뮬레이터, 컴파일러가

있어야하고, C언어로 개발해야되!

개발하는데 시간도 오래걸리고, 현장에서 문

제생기면 정말 골치가 아파!

이런식으로는 하루에 1개 만드는것도 어

렵겠어

Page 16: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 16 -

LADDER LOGIC은 무엇인가? 레더로직은 한마디로 전기회로의 또 다른 표현 방식입니다. 다음은 모터를 On/Off할 수 있는 전기 회로입니다.

M

START

STOP

3

2

이 회로를 레더도로 표현하면 다음과 같이 됩니다.

M0

M

STARTSTOP

POWERLINE

POWERLINE

32

일반적인 전기회로는 도면상에서 자유롭게 전기소자를 배치하고, 배선을 하는 방식으로 회로를 그립니다.

M

Page 17: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 17 -

레더도에서는 몇가지 원칙을 지켜가면서 회로를 그리는 것입니다. 첫번째, 양쪽끝에 수직으로 전원선을 그려줍니다.

POWERLINE

POWERLINE

두번째, 마치 책을 쓰듯이 회로의 왼쪽에서 오른쪽으로, 그리고 위에서 아래쪽으로 회로를 작성해 갑니다.

M0

STARTSTOP

STOP

POWERLINE

POWERLINE

POWERLINE

POWERLINE

32

세번째, 전기소자 또는 디바이스의 심볼위에 이름을 적어줍니다. 위에 레더도에서 START, STOP과 같은 이름을 말합니다.

Page 18: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 18 -

이름을 적어주는데에는 몇가지 규칙이 있습니다. 예를 들어 내부 릴레이는 M0과 같은식으로 영문자 M과 숫자(M릴레이 번호)로 구성됩니다. 네번쨰, 역할에 따라 정해진 심볼을 사용하는 것을 권장합니다. 다음과 같이 A접점과 B접점에 따라 사용하는 심볼의 모양이 다릅니다.

A접점 B접점 (누르면 ON됨) (누르면 OFF됨)

출력접점은 둥근 원으로 표현합니다.

Output

PLC 제조회사에 따라 Ladder Logic의 모양은 다소 차이가 있을수 있지만, 전체적인 모양은 거의 비슷합니다. 앞의 레더도를 TinyPLC에서 입력하면 다음과 같은 형태가 됩니다.

P1포트에 MOTOR를 연결하는 것으로 가정한 것입니다.

Page 19: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 19 -

TinyPLC의 특징은? 기존 PLC의 장점과 “MCU (마이크로 콘트롤러)”의 장점을 모두 가지고 있는 제품입니다. 기존 PLC와 비슷한점은…

1. 레더로직을 주언어로 사용합니다. 2. PC와 RS232케이블로 연결하여, 다운로드 및 모니터링합니다. 3. 플레쉬메모리에 계속 새로운 프로그램을 다운로드할 수 있습니다. 4. RS232다운로드 케이블을 제거하면, 곧바로 현장에 적용할 수 있는 운영상태 (RUN

MODE)가 됩니다. MCU (마이크로 콘트롤러)와 비슷한 점은…

1. PCB (인쇄회로 기판)에 장착할 수 있습니다. 2. 완제품 PLC에 비해 상대적으로 가격이 저렴합니다. 3. 양산품에 적용하기 위해 만들어 졌습니다. 4. 최종제품의 크기를 작게 만들 수 있습니다. (기존 PLC로 만드는것과 비교해서)

Page 20: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 20 -

I/O의 차이 TinyPLC코어모듈과 일반적인 PLC의 가장 큰 차이점은 I/O의 연결방식에 대한 차이입니다.

TinyPLC

CoreModule

LED

5V

GROUND

S/W

S/W

LED

TinyPLC 코어모듈에는 5V레벨의 신호만 입출력 할 수 있습니다. 스위치또는 LED등의 소자는 바로 연결할 수 있습니다.

TinyPLC코어모듈의 I/O에 릴레이와 같은 추가회로를 부착하면 기존 PLC처럼 큰전압을 사용하는 I/O를 구성할 수 있습니다.

TinyPLC

INP

UT

OU

TPU

T

CoreModule

LOAD

LOAD

24VDC

24VDC

24VDC

코어모듈에 I/O 추가회로를 부착 I/O 추가회로에 대한 자세한 설명은 “제 15장 입출력 회로”편에서 자세히 소개하고 있습니다.

Page 21: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 21 -

제 2 장

TPC9X

시리즈 코어모듈

Page 22: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 22 -

코어모듈 코어모듈이란 PLC의 핵심기능만을 가지고 있는 CPU모듈을 의미합니다. 코어모듈은 작은 기판위에 여러 개의 반도체칩이 들어있는 “싱글보드 컴퓨터”와 같은 모습을 하고 있습니다. 뒤집어서 아랫쪽을 보면 여러 개의 핀이 있는 것을 볼 수 있습니다.

이들 핀의 대부분은 I/O핀입니다. 나머지는 전원핀과 통신핀이 있습니다. 전원핀 : 코어모듈에 전원을 공급해주는 역할을 합니다. VDD단자에는 5V를 공급해주고, VSS단자에는 GND를 연결해주면 됩니다.

통신핀 : PC와 연결해서 유저프로그램을 다운로드하는 통신핀과, 외부기기와 RS232

(모드버스)접속을 통해 데이터를 주고 받을 수 있는 통신핀이 있습니다. I/O핀 : 외부에 입출력 기기들과 연결하여, 실질적인 제어를 담당하는 핀들입니다.

TinyPLC 코어모듈의 I/O핀은 Input 또는 Output 상태를 유저가 임의대로 결정할 수 있으며, 일부핀들은 다른 용도 (AD입력, PWM출력, HIGH COUNT입력)로 사용가능합니다.

코어모듈만으로 현장의 기기와 바로 연결하여 사용할 수는 없습니다. 왜냐하면, 코어모듈의 I/O핀은 5V의 소신호를 다루기 때문입니다. 현장의 센서와 릴레등은 24V 또는 110V, 220V정도의 높은 전압을 사용합니다. 그래서, 코어모듈을 I/O보강회로를 갖춘 PCB에 장착하여 사용합니다. 여기에는 두가지 선택이 있을 수 있습니다.

Page 23: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 23 -

여러분이 직접 제작하신 PCB를 사용하는 경우 제작하고자 하는 최종제품에 적합한 I/O구성을 갖춘 보드를 직접 디자인하실 수 있습니다. 예를 들어 RELAY 2개, 센서입력 4개, 온도센서 1 포인트등과 같이, I/O를 입맛대로 구성할 수 있습니다. 단점은, PCB를 제작할 수 있는 기술력을 보유하고 있어야 합니다. 입출력 회로는 본 사용설명서에서 제공하고 있으므로, 따로 자료를 수집할 필요는 없습니다만, PCB를 설계하고 부품을 구해서 납땜하는 과정들을 거쳐야, 비로소 사용할 수 있는 상태가 됩니다. (아니면 이 과정을 대신해줄 외주용역업체와 일을 하시는 방법이 있습니다.) 장점은, I/O포인트의 구성을 최적화할 수 있으므로, 제조원가를 최대한 낮출수 있습니다. 뿐만 아니라, PCB의 형태를 여러분이 생각하고 계신 케이스의 외형에 맞추어, 컴팩트하게 제작할 수 있으므로, 외관상 미려한 제품을 만드실 수 있게 됩니다.

다음은 TPC3X를 가지고 업체에서 제작한 보드입니다. LCD와 스위치, 파워서플라이, 압력측정센서등을 모두 내장하고 있으며, 압축포장기에서 사용되는 콘트롤러 입니다.

TinyPLC를 써서 만들어봐 !

기존 PLC에서 CPU만 파는 따로 파는

것이니까..여기에다가 자네가 원하는 입

출력을 구성하면 되!

우리 기계에 딱맞는 나만의 PLC를 만들고 싶

어..시중에 파는 PLC는 적당한게 없어!

Page 24: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 24 -

일체형 PLC를 사용하는 경우 따로 PCB를 제작할 필요없이, 저희 회사에 판매하고 있는 “일체형 PLC”를 사용하면, 간단하게 현장에서 바로 응용할 수 있습니다. 여러분의 입맛에 딱맞는 I/O구성을 할순 없지만, PCB제작기술을 보유하고 있지 않거나, 빠른시일안에 현장에 응용하고자 하는 분들에게 적합한 방법입니다.

Page 25: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 25 -

다운로드 케이블 연결 TPC9X을 사용하기 위해서 우선적으로 PC와의 RS232 다운로드 케이블을 연결해야 합니다. 다운로드 케이블은 1:1 연결을 사용하며 총 9가닥 중 4가닥의 신호 선만을 사용합니다.

11

22

33

44

55

66

77

88

99

MALE Type FEMALE Type

TPC9X sidePC side

RS232 cable

PC

SOUTSINATNVSS

P0P1P2P3P4P5P6P7

123456789101112

242322212019181716151413

VINVSSRESVDDP15P14P13P12P11P10P9P8

Rx

Tx

DTR

GND

1

2

3

4

5

6

7

8

9

RS232케이블을 사용해서 PC의 COM포트와 TPC 9X코어모듈을 연결합니다.

Page 26: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 26 -

다운로드 케이블 연결 (TPC9X와 연결)

PC

Rx

Tx

DTR

GND

1

2

3

4

5

6

7

8

9

SOUTSINATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A

동작을 위한 기본회로 TinyPLC를 동작시키기 위해서는 5V전원이 필요합니다. 5V전원을 VDD단자에, GND를 VSS단자에 연결하면,동작가능한 상태가 됩니다. 이 상태에서 PC와 RS232로 연결한뒤 TPCWORKS 개발환경 소프트웨어로 레더 프로그램을 다운로드합니다.

Rx

Tx

DTR

GND

1

2

3

4

5

6

7

8

9

SOUTSIN

ATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A

DC5V

Page 27: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 27 -

코어모듈비교 TPC9XA 코어모듈이 공통적으로 가지고 있는 특징은 다음과 같습니다.

- (LADDER LOGIC을 위한) 64KB ~ 192KB의 플레쉬 메모리 - LADDER 실행속도 : 최소 10mS 스캔타임 - LADDER를 위한 2.5~4.5KB의 데이터 메모리 - 48핀~ 81핀의 I/O포트 - 10 bit, 8~16 채널, ADC, -8~16bit, 3~12 채널, PWM

TPC91A TPC92A TPC93A

외형

프로그램 메모리 64KB 192KB 192KB

I/O 포인트 48포인트 48포인트 80포인트

레더 데이터 메모리 2.5KB 4.5KB 4.5KB

FUNC 데이터 메모리 0.5KB 2KB 2KB

P 릴레이 48점 48점 80점

M릴레이 2048점 4096점 4096점

K 릴레이 1024점 2048점 2048점

T 영역 (타이머) 100 워드 256 워드 256 워드

C 영역 (카운터) 50워드 100워드 100워드

D 영역 (데이터) 256워드 256워드 256워드

Y 영역 (주변장치) 50워드 100워드 100워드

A영역 (실수) 50더블워드 100 더블워드 100 더블워드

B영역 (32비트 정수) 50 더블워드 100 더블워드 100 더블워드

DF,DFN 허용갯수 2048 개 4096개 4096개

A/D (10비트) 8채널 8채널 16채널

PWM (16비트, DAC) 6채널 6채널 12채널

고속카운터 (32비트) 2채널 2채널 2채널

RS232 1채널 1채널 1채널

펙케지 64핀 64핀 108핀

스캔타임 최소 10mS부터 최소 10mS부터 최소 10mS부터

Page 28: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 28 -

TPC91A / TPC92A TPC91A 와 TPC92A은 64핀의 모듈형 펙키지로 되어 있으며, 48핀의 I/O포트를 내장하고 있습니다. TPC91A와 TPC92A는 메모리의 차이를 제외한 나머지 부분은 동일합니다.

SOUTSINATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A 아래 표는 핀번호 순이 아닌 기능별로 정리된 것입니다.

이름 핀번호 I/O Port Block 설명

SOUT 1 OUT DOWNLOAD를 위한 SERIAL OUTPUT

SIN 2 IN DOWNLOAD를 위한 SERIAL INPUT

ATN 3 IN DOWNLOAD를 위한 SERIAL INPUT

VSS 4 POWER GROUND

P0 5 I/O

Block 0

SPI의 SS

P1 6 Input SPI의 SCK

P2 7 I/O SPI의 MOSI

P3 8 I/O SPI의 MISO

P4 9 I/O

P5 10 I/O PWM0

P6 11 I/O PWM1

P7 12 I/O PWM2

P8 13 I/O

Block 1

CuNET의 SCL

P9 14 I/O CuNET의 SDA

P10 15 I/O

P11 16 I/O

P12 32 I/O

P13 31 I/O

P14 30 I/O High Counter Channel 0

P15 29 I/O High Counter Channel 1

P16 21 I/O

Co-processor 의 SCL (1)

P17 22 I/O Co-processor 의 SDA (1)

Page 29: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 29 -

P18 23 I/O

Block 2

Co-processor 의 INT (1)

P19 24 I/O PWM3

P20 25 I/O PWM4 / INT0

P21 26 I/O PWM5 / INT1

P22 27 I/O INT2

P23 28 I/O INT3

P24 37 I/O

Block 3

ADC0 : AD Channel 0

P25 38 I/O ADC1 : AD Channel 1

P26 39 I/O ADC2 : AD Channel 2

P27 40 I/O ADC3 : AD Channel 3

P28 56 I/O ADC4 : AD Channel 4

P29 55 I/O ADC5 : AD Channel 5

P30 54 I/O ADC6 : AD Channel 6

P31 53 I/O ADC7 : AD Channel 7

P32 57 I/O

Block 4

P33 58 I/O

P34 59 I/O

P35 60 I/O

P36 61 I/O

P37 62 I/O

P38 63 I/O

P39 64 I/O

P40 48 I/O

Block 5

P41 47 I/O

P42 46 I/O

P43 45 I/O

P44 44 I/O

P45 43 I/O

P46 42 I/O

P47 41 I/O

P48 52 OUT CH1 RS485 사용시 (송신허가, HIGH

ACTIVE 출력)

VDD 17 IN 전원전압, 4.5V~5.5V공급

VSS 18 IN GROUND

RES 19 IN 리셋단자, LOW입력 시 리셋 됨,

평상시 10K저향을 5V 풀업

TX1 33 RS232 채널 1, +/- 12V 데이터 출력

RX1 34 RS232 채널 1, +/- 12V 데이터 입력

AVDD 35 ADC용 전원전압

TTLTX1 49 RS232 채널 1, 5V (TTL레벨) 데이터 출력

TTLRX1 50 RS232 채널 1, 5V (TTL레벨) 데이터 입력

AVREF 51 ADC용 리퍼런스전압

Page 30: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 30 -

TPC93A TPC93A은 108핀의 모듈형 펙키지로 되어 있으며, 80핀의 I/O포트를 내장하고 있습니다.

123456789

1011121314151617181920

SoutSinAtnVssP0

SCK / P1MOSI / P2MISO / P3

P4PWM0 / P5PWM1 / P6PWM2 / P7

RX2 / P8TX2 / P9

P10PWM6 / P11PWM7 / P12PWM8 / P13

P14P15

2122232425262728293031323334353637383940

VddVssRESVBBP16 / AD0P17 / AD1P18 / AD2P19 / AD3P20 / AD4P21 / AD5P22 / AD6P23 / AD7P24P25P26P27 / PWM3P28 / PWM4 INT0P29 / PWM5/ INT 1P30 / INT2P31 / INT3

/

95 96 97 98 99 100

101

102

103

104

105

106

107

108

Vss

Vss

N/C

N/C

P72

P73

P74

P75

P76

P77

P78

P79

P82 N/C

81 82 83 84 85 86 87 88 89 90 91 92 93 94

Vdd

Vdd

N/C

N/C

P64

P65

P66

P67

P68

P69

P70

P71

P80

P81

4142434445464748495051525354555657585960

TXERXEN/CVdd

AD8 / P32AD9 / P33

AD10 / P34AD11 / P35AD12 / P36AD13 / P37AD14 / P38AD15 / P39

HCNT1 / P47HCNT0 / P46

P45P44

TX1 / P43RX1 / P42SDA / P41SCL / P40

6162636465666768697071727374757677787980

TtlTXETtlRXEAVrefVssP48P49P50P51 / PWM9P52 / PWM10P53 / PWM11P54P55P63P62P61P60P59P58P57 / TX3P56 / RX3

TPC93AInputOnly

I/O포트를 제외한 나머지 핀에 대한 설명입니다.

이름 핀번호 I/O 설명

SOUT 1 OUT DOWNLOAD를 위한 SERIAL OUTPUT

SIN 2 IN DOWNLOAD를 위한 SERIAL INPUT

ATN 3 IN DOWNLOAD를 위한 SERIAL INPUT

VSS 4, 22, 64 POWER IN GROUND

VDD 21, 44 POWER IN 4.5V to 5.5V 공급

AVREF 63 IN 아날로그 변환기의 레퍼런스 전압공급

VBB 24 POWER IN 밧데리 백업을 위한 밧데리 연결핀 (TPC 93A에서는

사용안함)

RES 23 IN 리셋단자, LOW입력 시 리셋 됨,

평상시 10K저향을 5V 풀업

TTLTXE 61 OUT RS232 to TTL232변환회로, TX연결단자

TTLRXE 62 IN RS232 to TTL232변환회로, RX연결단자

TXE 41 OUT RS232출력단자, 외부의 RS232포트와 연결

RXE 42 IN RS232입력단자, 외부의 RS232포트와 연결

* TTL232 란 5V레벨로 출력/입력되는 RS232의 변형된 형태입니다. 본래 RS232는 +12V 와 –12V로 신호를 입출력합니다.

Page 31: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 31 -

다음은 I/O포트를 “포트블록”별로 나누어 설명한 것입니다. 블록 이름 핀번호 I/O 특수기능 설명

0

P0 5 I/O SPI의 SS

P1 6 Input SPI의 SCK 입력전용핀입니다.

P2 7 Input SPI의 MOSI 입력전용핀입니다.

P3 8 Input SPI의 MISO 입력전용핀입니다.

P4 9 I/O

P5 10 I/O PWM CHANNEL 0

P6 11 I/O PWM CHANNEL 1

P7 12 I/O PWM CHANNEL 2

1

P8 13 I/O

P9 14 I/O

P10 15 I/O

P11 16 I/O PWM CHANNEL 6

P12 17 I/O PWM CHANNEL 7

P13 18 I/O PWM CHANNEL 8

P14 19 I/O

P15 20 I/O

2

P16 25 I/O AD CHANNEL 0

P17 26 I/O AD CHANNEL 1

P18 27 I/O AD CHANNEL 2

P19 28 I/O AD CHANNEL 3

P20 29 I/O AD CHANNEL 4

P21 30 I/O AD CHANNEL 5

P22 31 I/O AD CHANNEL 6

P23 32 I/O AD CHANNEL 7

3

P24 33 I/O

P25 34 I/O

P26 35 I/O

P27 36 I/O PWM3

P28 37 I/O PWM4 / INT0

P29 38 I/O PWM5 / INT1

P30 39 I/O INT2

P31 40 I/O INT3

Page 32: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 32 -

블록 이름 핀번호 I/O 특수기능 설명

4

P32 45 I/O AD CHANNEL 8

P33 46 I/O AD CHANNEL 9

P34 47 I/O AD CHANNEL 10

P35 48 I/O AD CHANNEL 11

P36 49 I/O AD CHANNEL 12

P37 50 I/O AD CHANNEL 13

P38 51 I/O AD CHANNEL 14

P39 52 I/O AD CHANNEL 15

5

P40 60 I/O SCL CUNET 클록

P41 59 I/O SDA CUNET 데이터

P42 58 I/O RX1 TTLRX 채널 1

P43 57 I/O TX1 TTLTX 채널 1

P44 56 I/O

P45 55 I/O

P46 54 I/O HCNT0 고속 카운터 채널 0

P47 53 I/O HCNT1 고속 카운터 채널 1

6

P48 65 I/O

P49 66 I/O

P50 67 I/O

P51 68 I/O PWM CANNEL 9

P52 69 I/O PWM CANNEL 10

P53 70 I/O PWM CANNEL 11

P54 71 I/O

P55 72 I/O

7

P56 80 I/O

P57 79 I/O

P58 78 I/O

P59 77 I/O

P60 76 I/O

P61 75 I/O

P62 74 I/O

P63 73 I/O

Page 33: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 33 -

블록 이름 핀번호 I/O 특수기능 설명

8

P64 85 I/O

P65 86 I/O

P66 87 I/O

P67 88 I/O

P68 89 I/O

P69 90 I/O

P70 91 I/O

P71 92 I/O

9

P72 99 I/O

P73 100 I/O

P74 101 I/O

P75 102 I/O

P76 103 I/O

P77 104 I/O

P78 105 I/O

P79 106 I/O

P80 93 Output CH1 RS485 TE Transmit Enable (Active High)

P81 94 Output 사용안함 이 핀은 유저가 사용할수 없음

P82 107 Output 사용안함 이 핀은 유저가 사용할수 없음

Page 34: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 34 -

외형치수

PCB디자인에는 다음 위치도를 참조하시기 바랍니다. 홀의 위치를 기준점 (0,0위치)에 대한 OFFSET위치로 표시하였습니다.

Page 35: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 35 -

코어모듈의 I/O 코어모듈의 I/O포트는 입력과 출력중 하나를 유저가 결정하여 사용할 수 있는 포트입니다. TPCWORKS의 PLCSETUP에서 IN 또는 OUT중 하나를 선택하십시오.

어떤 핀은 입력전용으로만 사용할 수 있습니다 .앞에서 설명한 모델별 PIN OUT을 참조하십시오. TPC93A의 경우, P1,2,3은 입력전용 핀입니다.

실행중 I/O의 상태를 변경할 수 없습니다. 입력핀은 하이 임피던스상태이며, 거의 전류가 흐르지 않는 상태입니다. 대략 3.5V이상을 High로 판단하고, 1.4V이하를 Low로 판단합니다.

VDD (5V)

3.5V

1.4V

GND (0V)LOW

HIGH

출력핀은 High출력시 20mA정도가 흘러나옵니다. 이것을 소스전류라고 합니다. 출력핀에서 Low를 출력하고 있다면 외부로부터 20 mA정도를 받아들일 수 있습니다 .이것을 싱크전류라고 합니다.

TinyPLC

"High"

"Low"

GROUND

20mA

20mA

5V

코어모듈 상태에서 입력/출력 핀 모두 최대 5V만 입,출력할 수 있습니다 .이보다 높은 전압을 입출력하려면 옵토커플러를 사용한, 별도의 추가회로가 필요합니다.

Page 36: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 36 -

다음은 I/O포트에 출력하기위한 옵토커플러를 연결한 예입니다. High가 출력되면 옵토커플러안에있는 LED가 켜지고, 바로 옆에 위치한 포토 TR이 Turn-on 됩니다.

I/O Port

Opto-coupler

Tr에는 DC24V를 연결할 수 있습니다 .결과적으로 5V의 신호로 DC24V를 On / Off할 수 있습니다.

입력회로에도 옵토커플러가 사용되며, 위의 경우와는 정반대의 상황으로 회로를 구성하는 것입니다. 옵토 커플러는 전기신호를 빛의 신호로 바꾸어, 주기 때문에 노이즈가 전달되지 않는 다는 장점이 있습니다. 이러한 전압변환회로에 자주 사용되는 소자입니다. 자세한 설명은 뒤에 나오는 “입출력 회로”편을 참고하시기 바랍니다. 어떤핀은 I/O기능이외에 AD컨버터나, PWM등과 연결되어 있는 경우가 있습니다 .이 경우 둘중 하나를 선택해야 합니다. 즉, TPC91A의 P24핀의 경우, AD컨버터로 사용하는 경우 I/O포트로 사용할 수 없습니다. 주의사항 어떠한 경우에도 I/O포트에 코어모듈 전원전압 (0V - VDD)보다 0.5V이상, 높은 전압또는 낮은전압을 인가해서는 안됩니다. 이 경우 칩이 파손될 가능성이 있습니다.

Page 37: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 37 -

제 3 장

메모리 맵

Page 38: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 38 -

TinyPLC의 메모리 TinyPLC 내부에는 3종류의 메모리가 들어있습니다.

1. FLASH (프로그램 메모리) : 유저가 작성한 레더로직이 저장되는 기억장소 2. SRAM (데이터 메모리) : 실행시 각종 정보를 기록하는 기억장소 3. EEPROM (데이터 메모리) : 정전시 유지(KEEP영역)를 위한 기억장소

EEPROMFLASH SRAM 이중 FLASH 메모리는 유저가 작성한 레더로직을 저장하는 장소로, 전기적으로 지웠다 썼다할 수 있습니다. 따라서 한번 다운로드된 프로그램은 전기가 공급되지 않아도 계속 기록되어 있습니다. 여러분이 새로운 프로그램을 다운로드하기 전까지 최근 다운로드된 프로그램이 계속 저장되어 있습니다. SRAM은 레더로직 실행도중 사용하는 각종 데이터 정보를 기록하는 장소입니다. M릴레이, D영역등에 저장하는 값들은 SRAM에 기록됩니다. SRAM은 전원이 공급되지 않으면, 그 내용이 사라지는 메모리입니다. 따라서 전원이 꺼져도 내용이 보존될 필요가 있을때에는 EEPROM에 데이터를 저장해 두어야 합니다. EEPROM은 플레쉬 메모리처럼 전기가 없어도 데이터가 보존되는 메모리입니다. K릴레이 저장한 데이터는 EEPROM에 이동저장되며, 전원이 OFF되었다가 다시 ON되는 순간에 EEPROM에 있는 데이터가 K릴레이로 이동됩니다.

Page 39: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 39 -

TPC91A와 92A/93A의 메모리 릴레이 설명 TPC91A TPC92A

TPC93A

설명

P 입출력 릴레이 P0-P127 P0-P127 동일함

M 내부릴레이 M0-M2047 M0-M4096

F 특수기능 릴레이 F0-F127 F0-F127 동일함

K KEEP릴레이 K0-K1023 K0-K2047

레지스

설명 TPC91A TPC92A

TPC93A

설명

T 타이머 T0-T99 T0-T255

C 카운터 C0-C49 C0-C99

D 데이터영역 D0-D255 D0-D255 동일함

Y 시스템 데이터영역 Y0-Y49 Y0-Y99

B 더블워드 저장영역 B0-B49 B0-B99 FUNC형 명령에서만 사용

가능

1비트 정보를 저장하는 P,M,F,K영역은 릴레이라고 부르고, 16비트 정보를 저장하는 C,T,D영역등은 레지스터라고 부릅니다. 32비트 (더블워드)정수형 데이터를 저장하는 B영역은 FUNC형 명령어에서만 사용가능한 영역입니다.

Page 40: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 40 -

Bit 영역 (릴레이) P, M, F, K, F 영역은 비트단위로 억세스합니다.

P0P1P2P3

P125P126P127

M0M1M2M3

M2045M2046M2047

F0F1F2F3

F125F126F127

K0K1K2K3

K2045K2046K2047

= 1 Bit

WORD영역 (레지스터) D, C, T, Y영역은 워드 (16비트)단위로 억세스합니다.

D0D1D2D3

D243D244D245

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Bit Position =

Page 41: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 41 -

카운터, 타이머의 릴레이 영역 카운터와 타이머는 워드영역(레지스터)이외에도 릴레이 영역이 따로 있습니다. 타이머의 접점상태와 카운터의 접점상태를 보관하는 영역입니다.

C0C1C2C3

C97C98C99

T0T1T2T3

T97T98T99

Page 42: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 42 -

WP, WM, WK에 대하여… 비트 영역으로 되어 있는 P, M, K를 워드단위로 억세스 하려면 WP, WM, WK를 사용해야 합니다.

명칭 범위 단위 기능

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

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

WK WK0~WK127 16비트 (1워드) K영역의 워드단위 억세스

P 릴레이 WP0는 P0~P15까지의 내용을 담고 있으며, P0이 가장아래쪽(LSB)에 P15가 가장 위쪽(MSB)에 위치합니다. WMOV등과 같은 응용명령어 군에서 사용할수 있습니다.

LSB MSB

WP0 P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15

WP1 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31

WP2 P32 P33 P34 P35 P36 P37 P38 P39 P40 P41 P42 P43 P44 P45 P46 P47

WP3 P48 P49 P50 P51 P52 P53 P54 P55 P56 P57 P58 P59 P60 P61 P62 P63

WP4 P64 P65 P66 P67 P68 P69 P70 P71 P72 P73 P74 P75 P76 P77 P78 P79

WP5 P80 P81 P82 P83 P84 P85 P86 P87 P88 P89 P90 P91 P92 P93 P94 P95

WP6 P96 P97 P98 P99 P100 P101 P102 P103 P104 P105 P106 P107 P108 P109 P110 P111

WP7 P112 P113 P114 P115 P116 P117 P118 P119 P120 P121 P122 P123 P124 P125 P126 P127

다음은 WP0 사용예입니다. 파워온 리셋 (F2 파워온시 한 스캔만 ON됨) P0 부터 P15까지 전부 0으로 초기화합니다.

Page 43: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 43 -

M 릴레이영역 WM0는 M0~M15까지의 내용을 담고 있으며, M0이 가장아래쪽(LSB)에 M15가 가장 위쪽(MSB)에 위치합니다. WMOV등과 같은 응용명령어 군에서 사용할수 있습니다.

LSB MSB

WM0 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15

WM1 M16 M17 M18 M19 M20 M21 M22 M23 M24 M25 M26 M27 M28 M29 M30 M31

WM2 M32 M33 M34 M35 M36 M37 M38 M39 M40 M41 M42 M43 M44 M45 M46 M47

WM3 M48 M49 M50 M51 M52 M53 M54 M55 M56 M57 M58 M59 M60 M61 M62 M63

WM4 M64 M65 M66 M67 M68 M69 M70 M71 M72 M73 M74 M75 M76 M77 M78 M79

WM5 M80 M81 M82 M83 M84 M85 M86 M87 M88 M89 M90 M91 M92 M93 M94 M95

WM6 M96 M97 M98 M99 M100 M101 M102 M103 M104 M105 M106 M107 M108 M109 M110 M111

WM7 M112 M113 M114 M115 M116 M117 M118 M119 M120 M121 M122 M123 M124 M125 M126 M127

WM8 M128 M129 M130 M131 M132 M133 M134 M135 M136 M137 M138 M139 M140 M141 M142 M143

WM9 M144 M145 M146 M147 M148 M149 M150 M151 M152 M153 M154 M155 M156 M157 M158 M159

WM10 M160 M161 M162 M163 M164 M165 M166 M167 M168 M169 M170 M171 M172 M173 M174 M175

WM11 M176 M177 M178 M179 M180 M181 M182 M183 M184 M185 M186 M187 M188 M189 M190 M191

WM12 M192 M193 M194 M195 M196 M197 M198 M199 M200 M201 M202 M203 M204 M205 M206 M207

WM13 M208 M209 M210 M211 M212 M213 M214 M215 M216 M217 M218 M219 M220 M221 M222 M223

WM14 M224 M225 M226 M227 M228 M229 M230 M231 M232 M233 M234 M235 M236 M237 M238 M239

WM15 M240 M241 M242 M243 M244 M245 M246 M247 M248 M249 M250 M251 M252 M253 M254 M255

WM16 M256 M257 M258 M259 M260 M261 M262 M263 M264 M265 M266 M267 M268 M269 M270 M271

WM17 M272 M273 M274 M275 M276 M277 M278 M279 M280 M281 M282 M283 M284 M285 M286 M287

WM18 M288 M289 M290 M291 M292 M293 M294 M295 M296 M297 M298 M299 M300 M301 M302 M303

WM19 M304 M305 M306 M307 M308 M309 M310 M311 M312 M313 M314 M315 M316 M317 M318 M319

WM20 M320 M321 M322 M323 M324 M325 M326 M327 M328 M329 M330 M331 M332 M333 M334 M335

WM21 M336 M337 M338 M339 M340 M341 M342 M343 M344 M345 M346 M347 M348 M349 M350 M351

WM22 M352 M353 M354 M355 M356 M357 M358 M359 M360 M361 M362 M363 M364 M365 M366 M367

WM23 M368 M369 M370 M371 M372 M373 M374 M375 M376 M377 M378 M379 M380 M381 M382 M383

WM24 M384 M385 M386 M387 M388 M389 M390 M391 M392 M393 M394 M395 M396 M397 M398 M399

WM25 M400 M401 M402 M403 M404 M405 M406 M407 M408 M409 M410 M411 M412 M413 M414 M415

WM26 M416 M417 M418 M419 M420 M421 M422 M423 M424 M425 M426 M427 M428 M429 M430 M431

WM27 M432 M433 M434 M435 M436 M437 M438 M439 M440 M441 M442 M443 M444 M445 M446 M447

WM28 M448 M449 M450 M451 M452 M453 M454 M455 M456 M457 M458 M459 M460 M461 M462 M463

WM29 M464 M465 M466 M467 M468 M469 M470 M471 M472 M473 M474 M475 M476 M477 M478 M479

TPC91A 경우에는 WM128 까지 사용 가능, TPC92A / TPC93A 경우 WM256까지 사용 가능 합니다.

Page 44: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 44 -

정전시 데이터 보관 (K영역) K영역은 정전시 데이터값을 유지하는 영역입니다. TPC91A, TPC92A, TPC93A 에서는 별도의 밧데리 백업장치 대신, EEPROM을 가지고 데이터를 보관합니다. EEPROM은 전기적으로 지웠다, 썼다 할 수 있는 플레쉬메모리입니다. EEPROM의 장점은 밧데리 백업 없이도 데이터를 안정적으로 보존한다는 것입니다. EEPROM의 단점은 1 바이트를 WRITE하는데에 약 10mS 초의 시간이 필요하다는 것입니다. TPC91A의 경우 총 2048 개의 K영역을 가지고 있습니다. 이 영역을 모두 EEPROM에 저장하려면 2.5초의 시간이 필요합니다. 즉, 어떤 번지이든 K영역에 새로운 값을 넣은뒤 2.5초가 지나서야 그 값이 안정적으로 EEPROM에 기록됩니다. 정전이 언제 될지 모르는 상황에서 2.5초는 긴 시간이라고 할 수 있습니다 .이 시간을 줄이는 방법은 EEPROM에 저장할 데이터의 개수를 줄이는 것입니다. 만약, 여러분이 단 255비트의 데이터만을 정전유지하고 싶다면, 2048비트 전부를 EEPROM에 기록할 필요는 없습니다. 255비트만 EEPROM에 기록한다면, 기록시간은 0.2초로 단축됩니다. 즉, 0.2초만에 255비트가 전부 EEPROM에 기록된다는 뜻입니다. K영역을 사용하지 않을 경우에는 이 체크박스를 OFF (비워둠)하시면 Func명령의 전체 처리 속도가 증가됩니다.

4가지 선택사항중 하나를 선택하시면, 그에 맞추어서 자동적으로 K영역의 데이터를 EEPROM으로 저장합니다.

Page 45: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 45 -

TPCworks에서 PLC Setup 메뉴에 보면, EEPROM 저장할 K영역의 데이터 개수를 선택하는 메뉴가 있습니다. 여러분이 사용하시고자 하는 데이터양에 맞추어서 옵션을 선택하여 준다면, 그만큼 빠른시간만에 EEPROM에 기록하도록 할 수 있습니다. EEPROM에 기록된 데이터는 파워온시, 다시 K영역으로 로드됩니다.

K0 to K255 WK0 to WK15 0.3 초 소요 K0 to K511 WK0 to WK31 0.6초 소요 K0 to K1023 WK0 to WK63 1.2 초 소요 K0 to K2047 WK0 to WK127 2.5초 소요

Page 46: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 46 -

K 릴레이 WK0는 K0~K15까지의 내용을 담고 있으며, K0이 가장아래쪽(LSB)에 K15가 가장 위쪽(MSB)에 위치합니다. WMOV등과 같은 응용명령어 군에서 사용할수 있습니다.

LSB MSB

WK0 K0 K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

WK1 K16 K17 K18 K19 K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 K30 K31

WK2 K32 K33 K34 K35 K36 K37 K38 K39 K40 K41 K42 K43 K44 K45 K46 K47

WK3 K48 K49 K50 K51 K52 K53 K54 K55 K56 K57 K58 K59 K60 K61 K62 K63

WK4 K64 K65 K66 K67 K68 K69 K70 K71 K72 K73 K74 K75 K76 K77 K78 K79

WK5 K80 K81 K82 K83 K84 K85 K86 K87 K88 K89 K90 K91 K92 K93 K94 K95

WK6 K96 K97 K98 K99 K100 K101 K102 K103 K104 K105 K106 K107 K108 K109 K110 K111

WK7 K112 K113 K114 K115 K116 K117 K118 K119 K120 K121 K122 K123 K124 K125 K126 K127

WK8 K128 K129 K130 K131 K132 K133 K134 K135 K136 K137 K138 K139 K140 K141 K142 K143

WK9 K144 K145 K146 K147 K148 K149 K150 K151 K152 K153 K154 K155 K156 K157 K158 K159

WK10 K160 K161 K162 K163 K164 K165 K166 K167 K168 K169 K170 K171 K172 K173 K174 K175

WK11 K176 K177 K178 K179 K180 K181 K182 K183 K184 K185 K186 K187 K188 K189 K190 K191

WK12 K192 K193 K194 K195 K196 K197 K198 K199 K200 K201 K202 K203 K204 K205 K206 K207

WK13 K208 K209 K210 K211 K212 K213 K214 K215 K216 K217 K218 K219 K220 K221 K222 K223

WK14 K224 K225 K226 K227 K228 K229 K230 K231 K232 K233 K234 K235 K236 K237 K238 K239

WK15 K240 K241 K242 K243 K244 K245 K246 K247 K248 K249 K250 K251 K252 K253 K254 K255

WK16 K256 K257 K258 K259 K260 K261 K262 K263 K264 K265 K266 K267 K268 K269 K270 K271

WK17 K272 K273 K274 K275 K276 K277 K278 K279 K280 K281 K282 K283 K284 K285 K286 K287

WK18 K288 K289 K290 K291 K292 K293 K294 K295 K296 K297 K298 K299 K300 K301 K302 K303

WK19 K304 K305 K306 K307 K308 K309 K310 K311 K312 K313 K314 K315 K316 K317 K318 K319

WK20 K320 K321 K322 K323 K324 K325 K326 K327 K328 K329 K330 K331 K332 K333 K334 K335

WK21 K336 K337 K338 K339 K340 K341 K342 K343 K344 K345 K346 K347 K348 K349 K350 K351

WK22 K352 K353 K354 K355 K356 K357 K358 K359 K360 K361 K362 K363 K364 K365 K366 K367

WK23 K368 K369 K370 K371 K372 K373 K374 K375 K376 K377 K378 K379 K380 K381 K382 K383

WK24 K384 K385 K386 K387 K388 K389 K390 K391 K392 K393 K394 K395 K396 K397 K398 K399

WK25 K400 K401 K402 K403 K404 K405 K406 K407 K408 K409 K410 K411 K412 K413 K414 K415

WK26 K416 K417 K418 K419 K420 K421 K422 K423 K424 K425 K426 K427 K428 K429 K430 K431

WK27 K432 K433 K434 K435 K436 K437 K438 K439 K440 K441 K442 K443 K444 K445 K446 K447

WK28 K448 K449 K450 K451 K452 K453 K454 K455 K456 K457 K458 K459 K460 K461 K462 K463

WK29 K464 K465 K466 K467 K468 K469 K470 K471 K472 K473 K474 K475 K476 K477 K478 K479

TPC9X에서는 WK128 까지 사용 가능 합니다.

Page 47: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 47 -

스탭 릴레이 다음은 스탭제어를 위한 S릴레이 설명입니다. 총 16조의 영역이 있고, 각 조에서 256스탭까지 제어할 수 있습니다.

릴레이 명칭 범위 단위 기능

S S0~15 256 스탭 (1 바이트) 스탭 콘트롤

S릴레이는 다른 릴레이와는 조금 다른 표기법을 가지고 있습니다. 앞에는 “조”를 써주고 콜론 ( : )뒤에는 스탭을 적어줍니다. 조 (0~15까지 사용) 스탭 (0~255까지 사용가능)

S릴레이 사용법은 STEPOUT, STEPSET명령에서 자세하게 설명합니다. 각조의 0번 릴레이는 레더시작과 동시에 ON됩니다.

Page 48: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 48 -

특수릴레이 특수릴레이를 통하여 TinyPLC의 상태나 타이밍 정보, 시스템정보 등을 알 수 있습니다. 특수릴레이 설명 동작 별명 (Alias)

F0 상시 OFF F_OFF

F1 상시 ON F_ON

F2 최초에 1 SCAN만 ON

Start

1 Scan time

F_INIT

F3 최초에 1 SCAN만 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를 반복

Page 49: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 49 -

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

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

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

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

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 시스템에서 사용

F41 FUNC 처리기가 한번 스캔할때마다 ON /

OFF를 반복

F42 키패드 콘트롤러에서 키입력 검출시 ON

F43

F44 RS232 CH1에서 데이터 수신완료시 ON

F45 RS232 CH2에서 데이터 수신완료시 ON

F46 RS232 CH3에서 데이터 수신완료시 ON

F47

F48 RS232 CH1의 수신장소를 RBF로 사용

F49 RS232 CH2의 수신장소를 RBF로 사용

F50 RS232 CH3의 수신장소를 RBF로 사용

F51 RS232 CH1 송신중 ON

F52 RS232 CH2 송신중 ON

F53 RS232 CH3 송신중 ON

F54 CH1으로 모드버스가 수신되면 ON

F55

F56 STEP PULSE CH0 BUSY (펄스 출력중 1이

됨)

Page 50: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 50 -

F57 STEP PULSE CH1 BUSY (펄스 출력중 1이

됨)

:

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

F66 < WCMP, DWCMP 결과 F_<

F67 > WCMP, DWCMP 결과 F_>

F72 CARRY F_CARRY

F73 ZERO F_ZERO

Start

1 Scan time

F3은 최초시작과 동시에 ON됩니다. 상승에지( DF)가 없습니다.

Start

1 Scan time

F2는 최초시작후 2스캔이 지난후에 1스캔만 ON됩니다. 상승에지 (DF)를 사용할 수 있습니다. F2,F3모두 초기화를 위한 레더수행에 사용할 수 있습니다. F3이 먼저 수행됩니다. *F3, F10, F72, F73 플레그는 TPCWORKS V3.3.1이후 Version에서 사용가능합니다.

Page 51: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 51 -

TPC91A의 메모리맵 크게 나누어 비트단위 영역과 워드단위 영역, 더블워드영역이 있습니다.

비트단위 영역 워드단위 영역 더블워드단위 영역

비트수 1 비트 16 비트 32 비트

해당 릴레이명 P, M, F, K T, C, D, Y A, B

비트 단위영역 : 릴레이

릴레이 설명 범위 총 개수 기능

P 입출력 릴레이 P0-P127 128점 외부 기기와의 인터페이스

M 내부릴레이 M0-M2047 2048점 내부 상태의 보존

F 특수기능 릴레이 F0-F127 128점 시스템 상태

K KEEP릴레이 K0-K2047 2048점 정전시 데이터 유지

C 카운터 접점 C0-C49 50개 카운터의 접점 릴레이

T 타이머 접점 T0-T99 100개 타이머의 접점 릴레이

워드 단위 영역 : 레지스터

레지스터 설명 범위 총 개수 기능

T 타이머 T0-T99 100개 타이머용

C 카운터 C0-C49 50개 카운터용

D 데이터영역 D0-D255 256개 데이터용

Y 시스템 데이터영역 Y0-Y49 50개 A/D결과를 저장 또는

PWM에 출력될 값을 보관하는

시스템 데이터 보관영역

다음은 더블워드 단위 영역입니다.

레지스터 설명 범위 총 개수 기능

A 실수데이터 A0-A49 50개 32비트 실수데이터 보관

B 정수데이터 B0-B49 50개 32비트 정수데이터 보관

릴레이 이름 (P, M, C, T등) 기억장소위치 (10진수)

Page 52: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 52 -

TPC92A, TPC93A의 메모리맵 TPC92A / TPC93A의 메모리맵은 TPC91A와 구성요소는 동일합니만, 사용할수 있는 용량이 확대되어 있습니다.

비트단위 영역 워드단위 영역 더블워드단위 영역

비트수 1 비트 16 비트 32 비트

해당 릴레이명 P, M, F, K T, C, D, Y A, B

비트 단위영역 입니다. (비트단위일 경우 릴레이라고 부릅니다.)

릴레이 설명 범위 총 개수 기능

P 입출력 릴레이 P0-P127 128점 외부 기기와의 인터페이스

M 내부릴레이 M0-M4095 4096점 내부 상태의 보존

F 특수기능 릴레이 F0-F127 128점 시스템 상태

K KEEP릴레이 K0-K2047 2048점 정전시 데이터 유지

C 카운터 접점 C0-C99 100개 카운터의 접점 릴레이

T 타이머 접점 T0-T255 256개 타이머의 접점 릴레이

워드 단위 영역입니다.

레지스터 설명 범위 총 개수 기능

T 타이머 T0-T255 255개 타이머용

C 카운터 C0-C99 100개 카운터용

D 데이터영역 D0-D255 256개 데이터용

Y 시스템 데이터영역 Y0-Y99 100개 A/D결과를 저장 또는

PWM에 출력될 값을 보관하는

시스템 데이터 보관영역

다음은 더블워드 단위 영역입니다.

레지스터 설명 범위 총 개수 기능

A 실수데이터 A0-A99 100개 32비트 실수데이터 보관

B 정수데이터 B0-B99 100개 32비트 정수데이터 보관

Page 53: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 53 -

주변장치 제어 레지스터 Y는 “주변장치”를 제어하기 위한 버퍼영역입니다. A/D결과가 기록되거나, PWM을 제어하기 위한 값을 기록하기 위해 사용합니다. 다음은 TPC91A, TPC92A를 위한 Y영역 맵입니다. 기능 채널 포트 Y영역 READ/WRITE 설명

A/D입력

ADC0 P24 Y10 READ only

A/D입력의 결과가

해당 Y영역으로

저장됩니다.

ADC1 P25 Y11 READ only

ADC2 P26 Y12 READ only

ADC3 P27 Y13 READ only

ADC4 P28 Y14 READ only

ADC5 P29 Y15 READ only

ADC6 P30 Y16 READ only

ADC7 P31 Y17 READ only

PWM출력

PWM0 P5 Y26 WRITE only

해당 Y영역에 있는

값으로 PWM채널에

출력됩니다.

PWM1 P6 Y27 WRITE only

PWM2 P7 Y28 WRITE only

PWM3 P19 Y29 WRITE only

PWM4 P20 Y30 WRITE only

PWM5 P21 Y31 WRITE only

HIGH

COUNTER

COUNT0 P14 Y38, Y39 READ only 카운터입력이 저장되는

영역입니다. COUNT1 P15 Y40, Y41 READ only

KEYPAD Y42 READ only 키패드 콘트롤러로부터

받은 키스캔코드

CLOCK

초 Y43 R / W

분 Y44 R / W

시 Y45 R / W

이 표에 나와있지 않은 Y영역은 추후 다른 목적으로 사용될 가능성이 있는 예약된 번지입니다. A/D영역은 16비트로 구성되어 있지만,실제로 저장되는 값은 10비트 값 (0 to 1023)입니다. PWM출력은 0~65535까지 최대 16비트 해상도를 가지고 있으며, 출력주파수는 조정할 수 있도록 되어 있습니다. HIGH COUNTER는 32비트까지 카운트가능하며, 2개의 Y영역을 차지합니다.

Page 54: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 54 -

다음은 TPC93를 위한 Y영역 맵입니다. 기능 채널 포트 Y영역 READ/WRITE 설명

A/D입력

ADC0 P16 Y10 READ only

A/D입력의 결과가

해당 Y영역으로

저장됩니다.

ADC1 P17 Y11 READ only

ADC2 P18 Y12 READ only

ADC3 P19 Y13 READ only

ADC4 P20 Y14 READ only

ADC5 P21 Y15 READ only

ADC6 P22 Y16 READ only

ADC7 P23 Y17 READ only

ADC8 P32 Y18 READ only

ADC9 P33 Y19 READ only

ADC10 P34 Y20 READ only

ADC11 P35 Y21 READ only

ADC12 P36 Y22 READ only

ADC13 P37 Y23 READ only

ADC14 P38 Y24 READ only

ADC15 P39 Y25 READ only

PWM출력

PWM0 P5 Y26 WRITE only

해당 Y영역에 있는

값으로 PWM채널에

출력됩니다.

PWM1 P6 Y27 WRITE only

PWM2 P7 Y28 WRITE only

PWM3 P27 Y29 WRITE only

PWM4 P28 Y30 WRITE only

PWM5 P29 Y31 WRITE only

PWM6 P11 Y32 WRITE only

PWM7 P12 Y33 WRITE only

PWM8 P13 Y34 WRITE only

PWM9 P51 Y35 WRITE only

PWM10 P52 Y36 WRITE only

PWM11 P53 Y37 WRITE only

HIGH

COUNTER

COUNT0 P46 Y38, Y39 READ only 카운터입력이 저장되는

영역입니다. COUNT1 P47 Y40, Y41 READ only

KEYPAD Y42 READ only 키패드 콘트롤러로부터

받은 키스캔코드

CLOCK

초 Y43 R / W

분 Y44 R / W

시 Y45 R / W

Page 55: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 55 -

리얼타임 클록 TPC91A, 92A, 93A에는 RTC칩이 내장되어 있지 않습니다. 대신 Y영역에 자동갱신되는 시간정보가 기록됩니다. 유저는 이 영역의 정보를 읽어서 이용할 수 있습니다. 이 영역에 새로운 값을 써넣으면, 그 값부터 갱신이 시작됩니다. 기능 채널 Y영역 READ/WRITE 설명

CLOCK

초 Y43 R / W 0~59까지 변화됨

분 Y44 R / W 0~59까지 변화됨

시 Y45 R / W 0~65535까지 변화됨

65535 이후에는 0이됨

이 영역의 값은 전원이 없는 상황에서 자동적으로 갱신되지 않습니다.

시스템 제어 레지스터 Y영역중 일부는 “시스템”운영과 관련된 수치를 수정하거나 확인할 수 있는 “시스템 제어 레지스터”영역입니다. 이 영역은 모든 TPC9X시리즈에서 동일하게 사용됩니다. 기능 Y영역 READ/WRITE 기능

시스템 제어

Y0 사용안함

Y1 Read/ Write RS232 채널 1 수신 START 번지 (D영역)

Y2 Read/ Write RS232 채널 2 수신 START 번지 (D영역)

Y3 Read/ Write RS232 채널 3 수신 START 번지 (D영역)

Y4 사용안함

Y5 사용안함

Y6 사용안함

Y7 사용안함

Y8 사용안함

Y9 사용안함

Page 56: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 56 -

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

WMOV 123, #D0

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

WMOV #D0, D2

D0 레지스터가 가르키는 곳에서 값을 가지고 와서 D2에 저장합니다. D0레지스터에 100이 들어있었다면 D100에 들어있는 값이 D2에 저장됩니다. D영역내에서만 사용가능하며, 대상범위 초과시 F65 (ERROR) 특수릴레이가 ON되고 WMOV명령어는 처리되지 않습니다. 간접번지지정은 WMOV명령에서만 사용가능합니다.

Page 57: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 57 -

D영역 비트단위 제어 다음과 같은 표현을 쓰면 D영역을 비트단위로 제어하실 수 있습니다. D영역의 번지 비트번호 (0부터 15)

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

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

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

Page 58: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 58 -

제 4 장

기본명령어

Page 59: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 59 -

기본명령어 명령어 Symbol 설명

LOAD

A접점 (Normal Open)의 시작

LOADN

B접점 (Normal Close)의 시작

OUT

연산 결과 출력

NOT

NOT이전의 연산결과를 반전

STEPSET 스탭 콘트롤러 출력 (순차제어용)

STEPOUT 스탭 콘트롤러 출력 (후입우선용)

MCS 마스터 콘트롤 시작

MCSCLR 마스터 콘트롤 종료

DF

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

DFN

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

SETOUT 출력을 ON상태로 유지

RSTOUT 출력을 OFF상태로 유지

END 프로그램의 종료

타이머

명령어 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 타이머

Page 60: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 60 -

카운터

명령어 Symbol 설명

CTU

UP 카운터

CTD

DOWN 카운터

RSTCNT 카운터 클리어

*TPC9X 시리즈에서는 타이머/카운터 영역의 정전보상 기능이 지원되지 않습니다.

Page 61: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 61 -

LOAD,LOADN,

OUT

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

레더도 니모닉 표기

LOAD

LOADN

OUT

LOAD P0 OUT P2 LOADN P1 OUT P3

사용가능한 릴레이/데이터영역

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

LOAD

LOADN

O O O O O O O

OT O O

. P릴레이는 I/O포트에 연결되어 있으므로, 포트로부터 입출력 되는 상황이 그대로 전달됩니다. M.F등 다른 릴레이는 메모리 내부에 저장되는 것이므로 외부 I/O포트에 전달되지 않습니다. 위 레더도에 대한 타이밍 차트는 다음과 같습니다.

P0

P2

P1

P3

Page 62: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 62 -

NOT,

AND,OR

NOT은 지금까지 연산의 결과를 반전시킵니다. AN는 이전연산의 결과와 AND연산을 수행합니다. IOR은 이전연산의 결과와 OR연산을 수행합니다.

레더도 니모닉 표기

NOT Symbol

AND

OR

LOAD P0 NOT OT P5 LOAD P0 AN P1 OT P5 LOAD P0 IOR P1 OT P5

사용가능한 릴레이/데이터영역

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

AN

IOR

O O O O O O O

. NOT심볼을 만나면 직전까지의 연산결과를 반전시킵니다. 화면 상단의 NOT심볼을 누르거나 슬레쉬 “/” 키를 누르면 커서위치에 NOT이 표시됩니다.

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

Page 63: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 63 -

AND연산을 하려면 입력심볼을 나란히 위치시키면 됩니다. 두 개의 입력조건이 모두 “True”일때 연산결과도 “True”가 됩니다. OR연산을 하려면 위아래로 입력심볼을 위치시킵니다. 두 개의 입력조건 중 하나라도 “True”가 되면 연산결과도 “True”가 됩니다. DEMO PROGRAM 다음 샘플 프로그램을 입력 후 실행시키면, P0, P1에 연결된 스위치의 동작에 따라 P2에 연결된 LED가 점멸됩니다. 먼저 AND 를 실험해볼 수 있는 레더로직입니다.

회로는 다음과 같이 구성하여 주십시오.

P1

P0

P25V

5V

P0과 P1의 스위치를 모두 눌러야, P2에 연결된 LED에 불이 들어오는 것을 확인할 수 있습니다.

Page 64: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 64 -

이것은 AND 논리게이트와 같은 회로로 설명될 수 있습니다.

같은 회로도에서 다음과 같이 레더로직을 바꾸어 입력한 뒤 실행시켜 보세요! 이것은 OR명령을 실험해 볼 수 있는 레더로직입니다.

이것은 OR논리 게이트와 같은 회로로 볼 수 있습니다.

Page 65: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 65 -

SETOUT,

RSTOUT SETOUT은 입력이 있을 때 출력을 ON하고, ON상태를 계속 유지합니다. 반대로 RSTOUT은 입력이 있을 때 출력을 OFF한 뒤 OFF상태를 계속 유지합니다. 레더도 니모닉 표기

LOAD P0 SETOUT P5 LOAD P1 RSTOUT P5

사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y 상수

SETOUT O O O O

RSTOUT O O O O

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

P0

P1

P5

Page 66: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 66 -

DEMO PROGRAM 다음은 SETOUT, RSTOUT의 동작을 확인할 수 있는 샘플 프로그램입니다.

회로는 다음과 같이 구성하여 주십시오.

P1

P0

P25V

5V

P0 스위치를 누르면, P2 LED가 켜집니다. 그리고 P0스위치를 OFF해도 P2는 ON상태를 유지합니다. 이후 P1스위치를 누르면 P2 LED가 OFF됩니다.

Page 67: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 67 -

DF,

DFN DF는 입력조건에서 상승에지 (OFF -> ON) 상황이 발생하면 출력접점을 1스캔시간 동안 ON 하는 명령입니다. 반대로, DFN은 입력조건에서 하강에지 (ON -> OFF)상황이 발생하면 1스캔시간 동안 ON하는 명령입니다. 레더도 니모닉 표기

DF

DFN

LOAD P0 DF OT P5 LOAD P1 DFN OT P6

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

P0

P1

P5

P6

1 SCAN

1 SCAN

TinyPLC TPC9X 시리즈에서 1 스캔시간은 최소 10mS 입니다.. *TPC3X시리즈를 사용해보신 분들은 주의 깊게 보십시오. TPC9X시리즈에서는 더 이상 DF,

DFN심볼 사용시 M릴레이를 적어줄 필요가 없습니다.

Page 68: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 68 -

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

TAON [릴레이], 설정값 릴레이 : T 릴레이만 사용가능합니다. 설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

입력 조건이 ON이 되면 타이머 값이 증가되어, 설정 치에 도달하면 출력접점이 ON됩니다. 시간 단위가 틀린 두 종류의 ON TIMER가 있습니다.

타이머종류 분해능 최대치

TON 0.01초 655.35초

TAON 0.1초 6553.5초

레더도 니모닉 표기

LOAD START TON T0, 100 LOAD START TAON T1,100

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 69: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 69 -

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초

레더도 니모닉 표기

LOAD START TOFF T0,100 LOAD START TAOFF T1,100

위의 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 70: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 70 -

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

TAMON [릴레이], 설정값 릴레이 : T 릴레이만 사용가능합니다. 설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

입력 조건이 잠깐 ON 되도, 바로 타이머 출력 접점이 ON, 시간 경과후 OFF 되는 트리거 타이머 입니다. 짧은 입력신호에도 일정시간 출력이 유지되야 하는 경우에 사용하십시오.

타이머종류 분해능 최대치

TMON 0.01초 655.35초

TAMON 0.1초 6553.5초

레더도 니모닉 표기

LOAD P0 TMON T0, 100 LOAD P0 TAMON T1,100

P0

T0

1sec

P0

T0

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

P0

T0

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

Page 71: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 71 -

P0

T0

1sec 타이머 동작구간에 중복입력이 되어도, 무시합니다. DEMO PROGRAM - 플리커 프로그램 다음은 타이머를 이용해서 P32 포트를 일정한 주기로 깜박이도록 하는 레더로직 입니다.

Page 72: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 72 -

CTU CTU [릴레이], 설정값

릴레이 : C 릴레이만 사용가능합니다. 설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

업 카운터 명령입니다. 입력이 들어오면 카운터 값을 1 증가 시킵니다. 카운터 값이 설정치와 일치하면 카운터 접점을 ON합니다. 리셋 입력이 들어오면 카운터 값은 0이 됩니다. 최대 65535까지만 카운트됩니다. 65535이후에 들어오는 신호는 무시됩니다. 레더도 니모닉 표기

LOAD PULSE LOAD RESET CTU C0,100

PULSE

RESET

C0

100 pulse

Page 73: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 73 -

CTD CTD [릴레이], 설정값

릴레이 : C 릴레이만 사용가능합니다. 설정값 : 1에서 65535까지의 상수값 또는 D레지스터 사용가능

다운 카운터 명령입니다. 입력이 들어오면 카운터 값을 1 감소 시킵니다. 카운터 값이 0이 되면 카운터 접점을 ON합니다. 리셋 입력이 들어오면 카운터 값은 설정치로 초기화 됩니다. 레더도 니모닉 표기

LOAD PULSE LOAD RESET CTD C1,100

PULSE

RESET

C1

100 pulse

Page 74: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 74 -

RSTCNT RSTCNT [릴레이]

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

레더도 설명

RSTCNT C0

C0카운터 레지스터와 C0카운터 릴레이를 모두 클리어합니다.

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

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

Page 75: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 75 -

더블워드 카운터 CTU명령은 최대 65535까지만 카운트가 가능합니다. 만약 그 이상의 값을 카운트하고 싶다면, 다음처럼 DWINC명령을 사용하시면 됩니다.

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

Page 76: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 76 -

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 77: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 77 -

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

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

Page 78: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 78 -

DEMO PROGRAM 다음은 마스터 콘트롤의 동작을 확인할 수 있는 샘플 프로그램입니다.

MCS 0 블록 안에는 “플리커 프로그램”이 들어가 있습니다. P0에 있는 스위치를 ON상태로 해주어야, P2에 연결된 LED가 점멸하는 것을 확인할 수 있습니다. 즉 P0이 MCS0번 블록을 제어하는 것입니다.

P0

P2

5V

Page 79: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 79 -

스탭 콘트롤 스탭 콘트롤에는 S릴레이가 사용됩니다. S릴레이의 표기방법은 다음과 같습니다.

S7:126

조 까지사용가능 : 0~ 15

스탭번호 까지사용가능 : 0~ 255

스탭 콘트롤에는 “순차제어”와 “후입우선제어”가 있습니다. 순차제어란 말 그대로, 순서대로 스탭이 증가되는 것을 의미합니다. 이를 위해 STEPSET명령을 사용합니다.

STEPSET

동일조의 바로 전 스탭이 ON되었을 때, 현재 스탭이 ON되고, 이전 스탭은 OFF됩니다. 순차적으로만 ON되기 때문에 순차제어라고 부릅니다. 위의 예에서 동작상황을 설명하면, P1이 ON되면 0조의 2번 스탭을 ON하려고 시도합니다. 이때 1번 스탭이 ON상태였다면 2번 스탭이 ON됩니다. 그리고 1번 스탭은 OFF됩니다. P2가 ON되면 0조는 0번 스탭으로 무조건 돌아갑니다. 0번 스탭은 리셋용도로 사용합니다. 다음은 위의 LADDER회로가 동작하는 경우를 타임차트로 표현한 것입니다.

P0

P1

P2

S0:0

S0:1

S0:2

Page 80: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 80 -

DEMO PROGRAM 다음은 STEPSET의 동작을 확인할 수 있는 샘플 프로그램입니다. 레더로직은 아래 그림을 보고 입력하세요!

회로는 다음과 같이 P0, P1, P3에는 스위치를 연결하고, P2에는 LED를 연결합니다.

Page 81: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 81 -

이 프로그램을 다운로드 후 P3스위치를 누르면 STEP상태는 RESET됩니다. 이 상태에서 P1스위치를 눌러도 MCS 0 블록이 동작하지 않습니다. P0스위치를 눌러서 STEP 1상태로 만들어 놓은 뒤, 이 상태에서 P1스위치를 눌러야 MCS 0블록이 동작하고 P2에 연결된 LED가 점멸합니다. 이처럼 어떤 상황이 준비된 뒤, 다음상황을 허락하는 용도로 스탭콘트롤을 사용합니다.

파워온 직후 최초상태에서는 S0:0 이 ON되어 있습니다.

Page 82: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 82 -

STEPOUT “후입우선”방식의 스탭제어에 대하여 설명합니다. 동일조에서 여러 개의 입력이 들어와도 가장 나중에 들어온 스탭만 ON되고, 나머지 스탭은 OFF됩니다.

P1이 ON되면 0조의 2번 스탭이 ON됩니다. P0이 ON되면 0조의 1번 스탭이 ON됩니다. 무조건 나중에 들어온 입력이 ON되고 나머지는 자동적으로 OFF됩니다. 한번 결정된 상태는 다른 입력이 있을 때까지 계속 유지됩니다.

P0

P1

P2

S0:0

S0:1

S0:2 이 타이밍도에 의하면 0조의 2번 스탭이 들어온 뒤, 1번 스탭이 나중에 들어온 것을 되어 있습니다. 1번 스탭이 먼저 들어오고 2번 스탭이 나중에 들어온 경우에는, 2번 스탭이 ON되고 나머지는 OFF됩니다. 순서에 상관없이 무조건 나중에 들어온 것 하나만 ON되는 상황입니다. 스탭 콘트롤은 공정처리에 사용됩니다. 1공정, 2공정, 3공정이 차례대로 수행되는 회로가 필요한 경우, STEPSET, STEPOUT명령을 사용하면 S릴레이를 일정한 상태로 설정할 수 있습니다. 이렇게 해서 상태가 결정된 S릴레이를 MCS등과 연계하여 사용하는 방법으로 공정제어를 할 수 있습니다. S릴레이는 자기 보존기능을 가지고 있습니다. 다른 입력이 있기 전까지는 현재상태를 유지하게 됩니다. 또한 S릴레이의 한 조에는 반드시 하나의 출력만 ON상태가 됩니다.

Page 83: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 83 -

비교명령 두 개의 워드(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 84: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 84 -

제 5 장

응용명령어

Page 85: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 85 -

응용명령어 종류 명령어 파라메터 설명

전 송 명 령 군 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 86: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 86 -

명령어 파라메터 설명 쉬 프 트 명 령 군

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 87: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 87 -

워드와 더블워드 저장방식 더블워드는 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진수 표기법 TPC시리즈에서는 다음과 같은 방법으로 16진수를 표기합니다. 16진수 표기방법 1 : 0XABCD 16진수 표기방법 2 : 0ABCDH 10진수는 100, 200, 123과 같은 식으로 표시합니다.

Page 88: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 88 -

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개의 워드영역에 영향을 주게 됩니다. * 응용명령어에서 직접 기입하는 상수값의 경우, 최대 2,147,418,111까지 사용할 수 있습니다. DWMOV뿐만 아니라, 다른 모든 응용명령어도 마찬가지 입니다.

Page 89: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 89 -

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 90: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 90 -

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 1 0

Page 91: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 91 -

GMOV GMOV s, d, n

s : 소스 (전송할 값)의 첫번째 레지스터 d : 목적지 (전송할 곳)의 첫번째 레지스터 n : 개수, (100이내의 상수값)

여러 개의 데이터를 한꺼번에 전송하는 그룹 전송 명령입니다. 메모리의 일부분을 다른 곳으로 카피할 수 있습니다. s의 값을 d로 지정된 개수 n만큼 복사합니다. 레더도 실행결과

D0 12

D1 34

D2 6

D3 78

D4 90

D5

D6

D7

8

D9

D10 12

D11 34

D12 56

D13 78

D14 90

Page 92: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 92 -

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 93: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 93 -

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 94: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 94 -

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가 됩니다. 음수를 2의보수로 만들면, 일반 연산식의 결과와 동일한 연산결과가 나옵니다. 예를들어 일반연산식에서 -1 + 1의 결과는 0입니다. 이것을 2의 보수화된 음수를 사용해서 연산해 보겠습니다. –1을 2의보수화시킨 0FFFFH를 사용하면, 1 + 0FFFFH 결과가 10000H 가 됩니다. 워드영역에는 16비트값만 저장되므로 최종 결과는 0이 됩니다. 일반연산과 동일한 결과가 나옵니다. 16비트 안에서 2의 보수화를 하고, 연산결과 16비트를 초과하는 값을 무시한다면, 그 결과는 일반수식에서 음수를 사용한 연산값과 일치하게 되는것입니다. 32비트연산의 경우도 마찬가지 입니다. 32비트 안에서 2의보수화를 하고, 32비트 연산을 하고, 최종결과에서 32비트를 넘는 값을 무시한다면, 마찬가지로 일반연산과 동일합니다. 플레그 변화 제로 플레그 (F73) 결과가 0이 되면 ON됩니다.

Page 95: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 95 -

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 96: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 96 -

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 97: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 97 -

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 98: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 98 -

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

4 99C3H

D5 2

D6 1 (나머지값)

D7 0

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

Page 99: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 99 -

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 100: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 100 -

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 101: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 101 -

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 102: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 102 -

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 103: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 103 -

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 104: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 104 -

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 105: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 105 -

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 106: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 106 -

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 107: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 107 -

DEFCON DEFCON name, value

name : 상수명 value : 상수값

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

이후 다른 명령에서 이 이름을 사용하면, 해당되는 값이 할당됩니다. 추후, 상수값을 변경할 때, 일일히 찾아다니면서 바꿔야하는 불편함없이, DEFCON 부분에서만 수정할 수 있습니다. 상수명으로는 명령어로 사용중인 이름을 쓰지 마십시오. 예를들어 DEFCON WMOV 100 과 같이 이미 명령어로 사용중인 WMOV를 상수명으로 사용할 수 없습니다.

Page 108: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 108 -

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

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

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

Page 109: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 109 -

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 110: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 110 -

CALLS,SBRT,RET CALLS label SBRT label 서브루틴과 관련된 명령군입니다. CALLS는 서브루틴을 콜하고, SBRT는 서브루틴의 시작위치를 알리는 선언문입니다. RET는 반드시 서브루틴의 맨 끝에 위치해야 합니다.

MAIN program

SUB routine

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

명령을 사용해서 “메인 프로그램의 끝 지점”을 구분해 주어야 합니다. RET명령에는 조건을 연결할 수 없습니다. RET명령은 무조건 복귀명령입니다.

LADDER프로그램의 가장 끝 지점에는 “END”를 작성해 주어야 합니다. * 서브루틴안에 다른 서브루틴을 정의할 수 없습니다.

Page 111: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 111 -

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

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

서브루틴 강제종료에도 사용할 수 있습니다. 위의 예제에서 처럼 서브루틴 실행도중 서브루틴 탈출조건 (P1)이 ON되면, 루틴을 벗어나는 명령으로 사용합니다. TND명령이 서브루틴안에서 사용되었을 경우에는 스캔종료가 아니라 조건부 서브루틴 종료명령으로 동작하게 됩니다.

Page 112: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 112 -

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

D12D13D14D15

Page 113: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 113 -

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

D12D13D14D15

Page 114: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 114 -

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 115: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 115 -

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 116: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 116 -

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 117: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 117 -

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 118: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 118 -

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 119: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 119 -

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 120: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 120 -

WBCD WBCD s, d

s : 변환할 값이 저장된 레지스터 (D,C,T중 하나) 또는 상수값 d : 결과를 저장할 레지스터 (D,C,T중 하나)

BINARY 값을 BCD코드로 변환하는 명령입니다. 레더도

*16진수모드로 모니터링 되고 있는 상황

D0 123404D2H

46601234H

D2

Page 121: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 121 -

WBIN WBIN s, d

s : 변환할 값이 저장된 레지스터 (D,C,T중 하나) 또는 상수값 d : 결과를 저장할 레지스터 (D,C,T중 하나)

BCD코드를 BINARY 값으로 변환하는 명령입니다. 레더도

*16진수모드로 모니터링 되고 있는 상황

D2 123404D2H

46601234H D4

Page 122: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 122 -

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 123: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 123 -

제 6 장

FUNC형

명령어 소개

Page 124: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 124 -

FUNC형 명령어란.. 실수연산, LCD표시, 키패드입력등과 같이 기본명령어나 응용명령어에서 처리할 수 없는 기능을 지원하는 명령어 입니다. FUNC형 명령어는 “FN 명령어”와 같은 형식으로 기술합니다.

FN 은 Function의 약자로, 뒷부분의 명령어를 “특수기능”명령어로 선언해주는 선언문입니다. (반드시, FN뒤에 한칸만 띄워주어야 합니다. ) FUNC형 명령어는 10mS 스캔타임보다 긴 처리시간을 요구하는 명령어들이 많이 있습니다. “FUNC형 명령어”를 레더 스캔타임안에서 실행하도록 한다면, 그 명령어가 끝날때까지 레더의 다른부분이 실행하지 못하게 됩니다. 그래서, “FUNC형 명령어”가 실행되는 동안 레더의 실행이 멈추지 않게 하기 위해, 스캔타임과 별도로 “FUNC형 명령어”를 처리하도록 하고 있습니다. 아래 처럼, 미분 (DF명령)을 사용해서, F30이 ON되었을때, 한번만 동작하도록 할 필요는 없습니다. FUNC명령사용시 자동적으로 미분(DF명령)효과를 갖도록 되어 있기 때문입니다.

Page 125: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 125 -

FUNC형 명령어가 많아지면 어떻게 되나? 하나의 레더 프로그램에서 FUNC형 명령어가 많아진다고 해도, 레더의 스캔타임은 변화가 없습니다.대신 FUNC형 명령어에서 실행하는 명령어의 수행 대기시간이 길어집니다. 좀더 쉽게 이해하기 위해서, 레더 처리기와, FUNC처리기 두개가 있다고 가정해 보겠습니다.

FN PRINTFN A0=0

Ladder LogicProcessor

FUNC commandProcessor

레더 처리기는 최소 10mS 간격으로 스캔하면서 레더를 처리합니다. 레더로직안에 FUNC형 명령이 있다면, FUNC처리기에 “처리요청”을 해두고, 계속 나머지 레더를 수행합니다. FUNC처리기에서는 레더처리기에서 요청한 FUNC형 명령어를 처리해 나갑니다. FUNC처리기도 일정시간의 스캔타임으로 레더처리기에서 요청한 “처리목록”을 처리합니다. FUNC형 명령어가 많아질수록 FUNC처리기의 스캔타임이 길어지게 됩니다. 레더처리기는 빠른 처리를 필요로하는 부분을 담당하고, FUNC처리기는 실행시간을 필요로하는 처리이면서 레더처리기에서 할 수 없는 부분을 담당합니다. * FUNC처리가 한번 스캔할 때마다 F41 특수릴레이를 반전시킵니다. F41을 출력포트에 연결한뒤 “오실로 스코프”등으로 주기를 측정한다면, FUNC처리기가 얼마만큼의 간격으로 한번씩 실행되는지 알 수 있습니다.

Page 126: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 126 -

FUNC형 명령어는 왜 필요한가? 레더로직으로는 능력의 한계가 있기 때문입니다. 레더로직은 빠른시간으로 스캐닝하면서 입력접점과 출력접점사이의 논리연산을 처리하도록 만들어진 방식입니다. 20,30년전의 기계들은 단순한 로직구성만으로도 운영이 가능했지만, 최근의 기계들은 여러가지 복잡한 요소들을 콘트롤 해야만 합니다. 예를 들어 통신, 디스플레이, 산술연산등의 기능을 추가적으로 요구하고 있습니다. 레더로직으로 이런일까지 처리하기에는 구조상 문제가 있습니다. 레더로직의 스캔타임은 반드시 지켜져야 하기에, 이 스캔타임 안에서 산술연산과 디스플레이, 키패드입력과 같은 일을 모두 처리할 수가 없는 것입니다. 그래서 TPC9X시리즈에서는 FUNC형 명령어로 레더의 부족한 부분을 보충하도록 하고 있습니다. FUNC형 명령어는 내부적으로 SCRIPT 언어로 자동 번역되어, Ladder와는 별도로 처리됩니다. 즉, Ladder는 빠른 스캔타임을 보장해주면서, 부가적이고 복잡한 기능은 Func 처리기에서 처리하는 것입니다.

LADDER LOGIC 처리기 FUNC 처리기

복잡한 일은 나한테 맡겨!

난 바쁘니까, 이 일좀 대신 처리해줘..

Page 127: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 127 -

FUNC형 명령어에서의 연산식 FUNC형 명령어에서는 실제 수학식에 가까운, 직관적인 표현으로 수식을 기술합니다. 앞에서 설명한 응용명령어 (WADD, WMUL)에 사용하는 방법보다는 월등히 편리한 방법입니다.

D0 = D1 * D3 + 100 – D4 이 수식을 응용명령어로 풀어쓰면 다음과 같이 됩니다.

한눈에 이해하기 힘든 형태입니다. 이것을 FUNC형 명령어로 바꾸면 다음과 같이 됩니다. FN D0 = D1 * D3 + 100 – D4

두 방법의 결과는 동일하지만, 다음과 같은 차이점이 있습니다. 앞의 방법 (WMUL, WADD를 사용한 방법)은 레더의 스캔타임 안에서 동작하는 것이고, FUNC형 명령어를 사용한 방법은 레더의 스캔타임 밖에서 별도로 (FUNC처리기에서..) 처리를 하는 것입니다. *FUNC형 연산식과 LADDER 응용연산명령어를 섞어서 사용하지 마십시오. 서로 실행하는 시간차가 발생하므로 올바른 결과값을 얻을 수 없습니다. FUNC형연산식은 FUNC형 연산식끼리 사용하시기 바랍니다.

Page 128: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 128 -

FUNC형 수식에서의 릴레이/저장영역 사용법 레더에서 사용하는 각 릴레이 (P, M, K 등) 과 데이터 저장 영역( D영역) 을 FUNC형 수식에서 사용할 수 있습니다. 영역 설명 범위

P,M,K 1비트 정수 1 또는 0

C,T,D,Y 16 비트 부호없는 정수 0~ 65535

B 32비트 부호있는 정수 -2147483648 to +2147483647

연산자 사용법 +, -와 같은 부호를 연산자라고 합니다. FUNC형 명령어에서 다음과 같은 연산자를 사용할 수 있습니다.

연산자 설명 종류 우선순위 ^ 거듭제곱 산술연산 높음 *,/,MOD 곱하기,나누기,나머지 산술연산

+,- 더하기,빼기 산술연산

<<, >> 좌쉬프트, 우쉬프트 논리연산

AND, XOR, OR AND,XOR,OR연산 논리연산 낮음

각 각의 연산자별로 우선순위가 있습니다. 여러 개의 연산자가 하나의 연산식에 동시에 사용되었을 경우, 다음과 같은 우선순위에 의해서 처리합니다.

1. 괄호안의 수식을 가장 먼저 처리합니다. 2. – (마이너스)부호를 처리합니다. 3. 거듭제곱을 처리합니다. 4. 곱하기,나누기, 나머지연산을 처리합니다. 5. 더하기,빼기를 처리합니다. 6. 좌쉬프트, 우쉬프트연산을 처리합니다. 7. AND, XOR, OR와 같은 논리연산을 처리합니다.

같은 우선순위를 같는 연산자가 나열되어 있다면, 왼쪽에서 오른쪽으로 연산을 진행합니다.

Page 129: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 129 -

FN B0 = B1 + 300 * B2

이 경우, 300 * B2를 먼저 계산한뒤, 계산결과와 B1을 더합니다. *연산자가 +연산자보다 우선순위가 높습니다. 수학에서 사용하는 연산기호와 다른 연산기호를 사용합니다.

Operator 수학식 Func수식 사용 예

덧셈 + + 3+4+5, 6+A

뺄셈 - - 10-3, 63-B

곱셈 X * 2 * 4, A * 5

나누기 / 1234/3, 3843/A

제곱 53 ^ 5^3, A^2

나머지연산 없음 mod 102 mod 3

다음과 같은 분수 식은 괄호와 슬레쉬를 사용한 식으로 바꾸어 사용합니다.

알아두세요! 컴퓨터에서 음수는 2의 보수로 표현합니다. 16비트 사용시 –1은 0XFFFF가 됩니다. –2는 0XFFFE 입니다. D0영역에 1이 들어있는데, 빼기 2를 한 경우에는 –1이 되므로, 0XFFFF가 저장됩니다. 0XFFFF를 그대로 10진수로 바꾸면 65535가 됩니다. –1이 65535라는 숫자로 둔갑한것입니다. 이런 오류를 막기 위해서는 가장상위비트를 부호비트로 해석하면 됩니다. 가장 상위비트가 1이면 음수입니다. TPC9X시리즈에서는 A, B영역에만 음수를 저장할 수 있습니다. 나머지 C,T,D영역에서 FUNC형 명령어로 연산하였을 경우에는 모두 양수로 취급되므로 주의하시기 바랍니다.

Page 130: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 130 -

+, - 연산자 레더도 설명

FN B0 = B1 + 100

FN B0 = B1 - 100

B1에 있는 값과 100을 더하여, B0에 저장합니다. B1에 있는 값에서 100을 뺀뒤 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y A B 정수형상수 실수형상수

피연산자 O O O O O O O O

결과 O O O O O O

.

*, / 연산자 레더도 설명

FN B0 = B1 * 3

FN B0 = B1 / 5

B1에 있는 값에 3을 곱해서, B0에 저장합니다. B1에 있는 값을 5로 나눈뒤 몫을 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y A B 정수형상수 실수형상수

피연산자 O O O O O O O O

결과 O O O O O O

.

Page 131: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 131 -

MOD 연산자 레더도 설명

FN B0 = B1 MOD 3

B1 에 들어있는값을 3으로 나눈뒤 그 나머지를 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O O

결과 O O O O O

.

^ 연산자 레더도 설명

FN B0 = B1 ^ 3

B1 에 들어있는값을 3제곱한뒤 그 결과를 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O O O

결과 O O O O O

.

Page 132: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 132 -

AND 연산자 레더도 설명

FN B0 = B1 AND 0X00FF

B1 에 들어있는값을 0X00FF와 AND연산한후 그 결과를 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O O

결과 O O O O O

. B1에 0X1234가 들어있을 경우, 결과는 0X34가 됩니다. 즉, 아래 8비트만 남기고, 상위 8비트를 제거한 것입니다. AND연산은 특정 비트만 남기는 “마스크’연산에 사용됩니다.

OR 연산자 레더도 설명

FN B0 = B1 OR 0X1200

B1 에 들어있는값을 0X1200와 OR연산한후 그 결과를 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O O

결과 O O O O O

. B1에 0X34가 들어있을 경우 결과는 0X1234가 됩니다. OR연산은 “비트합”연산을 할 때 사용됩니다.

Page 133: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 133 -

XOR 연산자 레더도 설명

FN B0 = B1 XOR 0XFF

B1 에 들어있는값을 0XFF와 XOR연산한후 그 결과를 B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O O

결과 O O O O O

.

<< 연산자 (좌 쉬프트)

>> 연산자 (우 쉬프트) 레더도 설명

FN B0 = B1 << 3

FN B0 = B1 >> 3

B1 에 들어있는값을 왼쪽으로 3비트 쉬프트 시킨뒤, B0에 저장합니다. B1 에 들어있는값을 오른쪽으로 3비트 쉬프트 시킨뒤, B0에 저장합니다.

연산자와 함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O

결과 O O O O O

. 정수형 영역 (C,T,D,Y,B)에서만 사용할 수 있습니다. 밀려나간 값은 소실되고, 새로 들어오는 비트는 모두 0이 됩니다.

Page 134: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 134 -

비교하기 아래와 같은 방식의 비교명령으로는 C,T,D,Y영역등 16비트 정수만을 대상으로 합니다.

실수 및 32비트 정수를 비교하기 위해서는, IF명령을 사용해서 비교를 해야 합니다.

IF 레더도

FN IF A0 > 0.123 THEN : 실행문 : END IF

함께 사용가능한 릴레이/데이터영역 가능영역 P M F S K C T D Y B 정수형상수 실수형상수

피연산자 O O O O O O O

. *주의사항 : THEN 뒤에 반드시 콜론( : ) 또는 세미콜론 (; )을 붙이고, 조건이 만족되었을 때 실행할 명령문을 적습니다. 그리고 맨끝에는 콜론 또는 세미콜론을 붙이고 END IF를 적어 줍니다. END와 IF는 붙여써도 되고, 한칸 띄어 써도 됩니다.

Page 135: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 135 -

조건식에 AND조건 (또는 OR조건)을 사용할 수 있습니다.

FN IF A0 > 0.123 AND A0 < 0.2 THEN : A0=123 : B0 = 345 : END IF

다음과 같은 방법으로 명령문 여러 개를 동시에 적어줄 수도 있습니다.

FN IF A0 > 0.123 THEN : A0=123 : B0 = 345 : END IF

조건이 참이 아닌경우에 대한 처리를 추가하고 싶다면, ELSE를 사용하여 다음과 같이 기술하십시오.

FN IF A0 > 0.123 THEN : A=123 : ELSE : B=123 : END IF

실수값을 서로 비교할 때, 다음과 같은 사항에 주의하시기 바랍니다. 1 나누기 3의 결과는 0.33333333333(무한대로 3이 계속되는 순환소수가 됨) 이 됩니다. A0에 0.333333333을 넣고 1/3의 결과값과 비교한다면, 두 수는 일치하지 않음으로 판단됩니다. 근사치이지만, 일치하지는 않기 때문입니다.

FN A0 = 1/3 : IF A0 = 0.33333333 THEN : A1=1 : END IF

실수를 서로 비교할때에는 소수점 맨 뒷자리까지 완벽히 일치하는 경우가 아니면, 서로 일치하지 않음으로 판단됩니다. 실수 비교시 =보다는 대소 비교 (어느 범위에 들어있는지 판단)로 판단하시는 것이 좋습니다.

FN A0 = 1/3 : IF A0 > 0.3 AND A0 < 0.4 THEN : A1=1 : END IF

Page 136: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 136 -

Func형 연산식 사용시 주의할 점 1 응용명령어를 사용하는 연산식과 Func형 연산식을 혼용한다면, 엉뚱한 결과값이 나오게 됩니다.

FN D0 = 123

WMOV 100, D1

WMUL D0, D1, D2

D0에 123을 넣고, D1에 100을 넣고, 두값을 곱해서 D2에 넣는 레더프로그램입니다. 얼핏봐서는 제대로된 것 같지만, D2에는 제대로된 결과값이 들어가지 않습니다. 응용명령어 WMOV는 레더스캐닝중 곧바로 실행되지만, FUNC형 명령어는 FUNC처리기에 실행을 의뢰만 하기 때문입니다. 위의 레더프로그램에서는 WMUL이 실행되는 시점에 D1에는 100이 들어가 있지 않게 됩니다. 응용명령어를 사용하려면 하나의 연산식을 처음부터 끝까지 모두 응용명령어로만 작성해 주어야합니다. 마찬가지로 FUNC형 명령어를 사용하려면, 하나의 연산식을 처음부터 끝까지 모두 FUNC형 명령어로 작성해 주어야 합니다.

FN D0=123 : D1=100 : D2 = D0 * D1

Page 137: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 137 -

Func형 연산식 사용시 주의할 점 2 FUNC형 명령어의 실행조건으로 F1 (상시 ON) 또는 F3(최초실행시 1스캔 ON)을 사용할 수 없습니다. 왜냐하면 FUNC명령은 내부적으로 DF (상승엣지 검출)이 들어있기 때문입니다. F1, F3은 처음부터 ON인상태이기 때문에 상승엣지가 발생하지 않습니다.

F1 FN D0 = D10

‘ F1을 사용할 수 없습니다. 릴레이명, 영역명칭을 사용할 경우 반드시 알파벳과 숫자를 붙여서 써주어야 합니다.

FN Y10 = 0 ‘ 제대로된 입력방법입니다.

FN Y 10 = 0 ‘ Y와 10사이에 공백이 있으면 안됩니다.

Func형 연산식 종료시점을 알고싶을 때 FUNC형 명령어가 끝나는 시점을 레더에서 알고 싶다면 다음과 같은 형태로 FUNC형 명령어를 작성하십시오.

FUNC 3, A0 = A1* 3.14 + 10.0

이 연산식이 시작되면 M3릴레이가 ON되었다가, 종료되면 M3 릴레이가 OFF 됩니다. 이후 레더에서 M3를 확인해서 다음과정을 진행하시면 됩니다.

Page 138: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 138 -

제 7 장

A/D,

PWM,

고속카운터

Page 139: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 139 -

A/D변환 TPC9X 시리즈에는 A/D 변환기가 내장되어 있습니다. 해상도는 10비트이고 측정가능 최대 전압 범위는 0V에서 5V까지 입니다. 해상도가 10비트라는 뜻은 측정범위안의 전압을 0~1024로 변환할 수 있다는 뜻입니다. 해상도가 8비트일 경우에는 0~255로 변환됩니다.

5V 5V

0V 0V8 Bit10 Bit

10231022102110201019

255

254

253

252

2

1

0

543210

TPC9X 코어모듈에는 VREF핀이 따로 있습니다. VREF핀에 입력한 전압이 AD변환의 최대 전압이 됩니다. VREF에 5V를 연결하였다면 0~5V까지 변환되는 것이고, 3V를 연결하였다면 0~3V까지 변환됩니다. (VREF에는 2V에서 5V까지 연결할 수 있습니다. AD입력핀과 VREF에 5V이상의 전압을 입력하면, 제품이 파손될 수 있으므로 주의바랍니다.)

Page 140: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 140 -

A/D입력 사용시 주의사항 TPC코어모듈 (또는 TSB) 에는 A/D입력 기능이 들어있습니다. 0~5V입력을 받을 수 있고, 250오옴 저항을 추가하시면 0~20mA 전류입력을 받을 수 있습니다. 하지만, 본체에서 수 미터이상 떨어진 센서로부터 값을 읽어오는 용도로는 적합하지 않습니다. 이 경우에는 추가적인 보호회로 (과전압, 과전류 방지) 및 노이즈제거 (LPF)회로등이 필요합니다. 만약, 이러한 추가회로 없이 길게 늘어뜨린 선을 통하여 센서를 연결한다면, 이 선이 일종의 안테나 역활을 하게되어, 각종 노이즈나 서지전압등이 이 선을 통하여 메인칩으로 전달되어,파손될 수 있습니다. TPC코어모듈 또는 TSB시리즈에 있는 A/D입력 포트는 바로 근처에 인접해있는 (10~20센티미터 이내) 볼륨이나 포텐션미터등으로부터 설정치를 입력받는 용도로만 사용하여 주십시오.

Page 141: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 141 -

0~5V를 변환하고 싶다면 아래와 같이 회로를 구성하시면 됩니다.

0~10V를 변환하고 싶다면 아래와 같이 회로를 구성하시면 됩니다.

ADCx

AREF

0~10V

1Kohm

1Kohm

5V

0~20mA를 변환하고 싶다면 아래와 같이 회로를 구성하시면 됩니다.

AREF

5V

ADCx0~20mA

250ohm

Page 142: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 142 -

TPCworks 상에서 PLC setup에는 AD변환기에 대한 설정을 위한 부분이 있습니다.

맨위에 있는 Use A/D convertor를 선택하면 AD변환기가 활성화됩니다. 그리고 사용하고자 하는 채널의 체크박스를 체크해두시면 됩니다. TPC9X 코어모듈 핀 아웃을 보시면 AD입력은 일반 I/O포트와 같이 사용할 수 있도록 되어 있습니다. 이 말은 둘중 하나만 쓸 수 있다는 뜻이 됩니다. 즉, AD입력으로 사용하는 핀은 I/O로 사용할 수 없고, AD입력 전용으로만 사용해야 합니다.

유저가 A/D변환을 위해 특별한 명령어를 레더로직에 입력할 필요는 없습니다. 앞에서 설명한 PLC SETUP메뉴에 있는 체크박스를 선택하시기만 하면, TinyPLC의 OS (운영체계)에서 자동적으로 해당 A/D채널을 변환하여 줍니다.

TIPS A/D입력시 노이즈를 줄이기 위해서 가능한한 TPC모듈에 공급되는 전원도 SMPS (스위칭 모드 파워 서플라이)가 아닌 리니어 파워 (트랜스를 사용하여 1차 변환한뒤 레귤레이터로 안정화 시킨 전원)를 사용하는 것이 좋습니다.

Page 143: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 143 -

A/D변환의 결과는 Y영역의 특정번지에 저장됩니다. 레더로직에서는 이 영역에 있는 데이터를 읽어오기만 하면 됩니다. 기능 채널 Y영역 READ/WRITE 사용 가능 모델

A/D입력

ADC0 Y10 READ only

이 영역은 TPC9X 시리

즈 모두 사용가능합니

다.

ADC1 Y11 READ only

ADC2 Y12 READ only

ADC3 Y13 READ only

ADC4 Y14 READ only

ADC5 Y15 READ only

ADC6 Y16 READ only

ADC7 Y17 READ only

ADC8 Y18 READ only

이 영역은 TPC93A에서

만 사용가능합니다.

ADC9 Y19 READ only

ADC10 Y20 READ only

ADC11 Y21 READ only

ADC12 Y22 READ only

ADC13 Y23 READ only

ADC14 Y24 READ only

ADC15 Y25 READ only

ADC8~15까지는 TPC93A에서만 사용할 수 있습니다. A/D변환기를 사용하지 않는다면, Use A/D convertor를 Off로 해두세요. FUNC 처리기의 스캔타임 주기가 빨라집니다.

Page 144: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 144 -

코어모듈에 따른 A/D입력 채널

SOUTSINATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A TPC91A, TPC92A는 8채널의 A/D변환기가 내장되어 있으며, P24부터 P31까지 AD입력채널로 사용할 수 있습니다.

123456789

1011121314151617181920

SoutSinAtnVssP0

SCK / P1MOSI / P2MISO / P3

P4PWM0 / P5PWM1 / P6PWM2 / P7

RX2 / P8TX2 / P9

P10PWM6 / P11PWM7 / P12PWM8 / P13

P14P15

2122232425262728293031323334353637383940

VddVssRESVBBP16 / AD0P17 / AD1P18 / AD2P19 / AD3P20 / AD4P21 / AD5P22 / AD6P23 / AD7P24P25P26P27 / PWM3P28 / PWM4 INT0P29 / PWM5/ INT 1P30 / INT2P31 / INT3

/

95 96 97 98 99 100

101

102

103

104

105

106

107

108

Vss

Vss

N/C

N/C

P72

P73

P74

P75

P76

P77

P78

P79

P82 N/C

81 82 83 84 85 86 87 88 89 90 91 92 93 94

Vdd

Vdd

N/C

N/C

P64

P65

P66

P67

P68

P69

P70

P71

P80

P81

4142434445464748495051525354555657585960

TXERXE

AVddVdd

AD8 / P32AD9 / P33

AD10 / P34AD11 / P35AD12 / P36AD13 / P37AD14 / P38AD15 / P39

HCNT1 / P47HCNT0 / P46

P45P44

TX1 / P43RX1 / P42SDA / P41SCL / P40

6162636465666768697071727374757677787980

TtlTXETtlRXEAVrefVssP48P49P50P51 / PWM9P52 / PWM10P53 / PWM11P54P55P63P62P61P60P59P58P57 / TX3P56 / RX3

TPC93AInputOnly

TPC93A의 경우 총 16채널의 A/D변환기가 내장되어 있습니다. P16 ~ P23까지 채널 0부터 7이고, P32 ~ 39는 채널 8 부터 15입니다. PLC SETUP에서 체크한 A/D채널은 I/O로 사용할 수 없습니다. (TinyPLC 의 OS 에서 I/O 스캔을 하지 않기 때문입니다.)

Page 145: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 145 -

AD사용방법 레더도 설명

WMOV Y10, D0

Y10(AD0)의 값을 D0로 전송

Y10(AD0)에 255의 값이 들어오면 D0에 255라는 값을 전송

TADIN 레더도 설명 F30 FN D0 = TADIN(0)

F30(640mS)간격으로 AD0에서 받은 아날로그값을 10회 평균을 내어서 D0에 전송

Y10(AD0)에서 바로 받아 들이는 방법은 아날로그가 안정적으로 들어오지 못하는경우 많이

흔들리는 경우가 있습니다. 이때 TADIN명령을 사용하면 AD0값을 10회 평균을 내어서 D0에

전송하므로 아날로그값이 흔들리는 것을 줄일수 있는 방법입니다.

Page 146: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 146 -

DEMO PROGRAM TPC91A를 가지고 A/D변환 실험을 해보도록 하겠습니다.

P24

이 회로와 같이 P24에 포텐션메터 (3단자 볼륨; 가운데 핀을 포트로 연결하고, 양쪽에 남은핀중 하나는 5V에 하나는 GND에 연결)를 접속하십시오.

PLC SETUP 에서 A/D convertor 부분을 오른쪽 과 같이 선택하세요. TPC91A에서 P24는 채널 0입니다.

다음과 같이 레더를 입력하고 실행해 보세요. Y10영역을 “와치포인트”로 볼 수 있습니다. 맨위에 있는 F16레더는 본 예제와는 상관없는 부분입니다.

Page 147: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 147 -

다음은 A/D입력결과를 레더로직에 사용한 샘플 프로그램입니다.

P24 P2

24번 포트에 연결된 볼륨을 돌리면, P2에 연결된 LED의 깜박이는 주기가 변경되는 것을 볼 수 있습니다. 모니터링 상태에서 관찰하면, A/D변환결과가 얼마인지 알 수 있습니다. 값을 500 이내로 조정하면, LED의 움직임을 잘 관찰할 수 있습니다. 너무 큰 값으로 하면, LED의 주기가 너무 길어지기 때문입니다.

Page 148: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 148 -

초보자 페이지 Q. A/D는 왜 필요한가요? 최초의 PLC에는 A/D컨버터가 없었습니다. 본래 PLC는 릴레이 제어반 (시퀀스 회로)를 대체할 목적으로 만들어 졌으며, 릴레이 제어는 곧 로직 제어를 의미합니다. 외부에서 논리신호 (1 또는 0, HIGH 또는 LOW, ON또는 OFF)를 받아들여, 적절한 논리연산 (AND, OR, XOR등)을 거친뒤 출력합니다.출력도 역시 논리신호로 되어 있습니다. 이러한 PLC에서 A/D변환이 필요하게 된 것은 외부로부터 “온도”, “습도”와 같은 아날로그 량을 읽어들이기 위해서 입니다. 우리들이 일상적으로 사용하는 각종 숫자는 모두 연속된 숫자로 된 “아날로그 수치’입니다. 몸무게, 온도, 시간, 음량등이죠! 이것을 PLC로 가져오려면, 디지털 값으로 바꾸어야 합니다. PLC는 디지털정보만 다룰수 있기 때문입니다. 그래서 A/D변환이 필요한 것입니다. A/D변환은 말그대로 “아날로그 에서 디지털”로 변환을 의미합니다. 온도센서에서 읽어들은 아날로그 량 (전압 또는 전류값)을 적당한 디지털 수치로 바꾼뒤, PLC내부에서 여러가지 연산을 합니다. 이 연산결과를 가지고 출력을 만들게 되는데, 출력에는 디지털출력과 아날로그 출력이 있을 수 있습니다. 디지털 출력은 단순히 ON 또는 OFF의 형태로 출력되는 형태를 말합니다. 온도센서에서 읽어들인 값으로 히터의 동작을 ON /OFF제어하는 경우를 생각해 볼 수 있습니다. 아날로그 출력은 보다 정밀한 제어에 사용됩니다. 온도센서에서 읽어들인 값으로 모터의 속도를 제어하는 경우가 있습니다. 모터의 속도를 ON이나 OFF로 제어하기는 어렵기 때문에, 이때에는 D/A변환이 필요합니다. D/A변환은 말그대로 “디지털을 아날로그”로 바꾸는 작업으로, A/D의 반대 개념입니다.

Page 149: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 149 -

PWM PWM은 일정한 주파수를 가진 펄스를 출력할 수 있는 기능입니다. 듀티비를 조정할 수 있어서 다양한 기능을 수행할 수 있습니다.(예를 들면 모터의 스피드 제어, 히터의 강약 조절 등)

50%

10%

90% Duty

Duty

Duty

TPC91A의 경우 6개의 PWM채널이 있습니다. P5,6,7은 PWM0,1,2로 쓸 수 있습니다. P19, 20, 21은 PWM3, 4, 5로 사용할 수 있습니다.

SOUTSINATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A PWM출력을 사용하는 핀은 I/O포트로 사용할 수 없습니다. TPC 93A는 총 12개의 PWM채널을 지원합니다.

Page 150: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 150 -

PWM을 사용하려면 PLC SETUP메뉴에서 다음과 같이 셋팅해주시기 바랍니다. PWM사용을 허가하는 체크박스입니다. 사용하고자 하는 PWM채널에 체크하세요

PWM0, 1, 2 의 주기를 결정하는 숫자입니다. 최대 65535 까지 입력 할 수 있습니다. 3개의 PWM당 하나의 주기를 선택할 수 있습니다.

PLC SETUP에서 이렇게 셋업하고 난뒤, 레더로직을 다운로드 실행하게 되면, PWM채널에 해당하는 핀에서는 PWM출력이 발생됩니다.

기능 채널 TPC91A

TPC92A

TPC93A Y영역 READ/WRITE 설명

PWM출력

PWM0 P5 P5 Y26 WRITE only

해당 D영역에 있는

값으로 PWM채널에

출력됩니다.

PWM1 P6 P6 Y27 WRITE only

PWM2 P7 P7 Y28 WRITE only

PWM3 P19 P27 Y29 WRITE only

PWM4 P20 P28 Y30 WRITE only

PWM5 P21 P29 Y31 WRITE only

PWM6

P11 Y32 WRITE only

PWM6 ~ 11은

TPC93A에서만 사용

할 수 있습니다.

PWM7 P12 Y33 WRITE only

PWM8 P13 Y34 WRITE only

PWM9 P51 Y35 WRITE only

PWM10 P52 Y36 WRITE only

PWM11 P53 Y37 WRITE only

Y26에 어떤값을 넣으면, PWM 채널 0에 그 값에 해당하는 듀티비를 가진 PWM파형이 출력됩니다. 이떄 앞의 PLC SETUP 설정한 최대치 (Max Value)를 넘지 않도록 해야합니다.

Page 151: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 151 -

PWM0, 1, 2 사용 시 주의사항. PWM채널 0,1,2 는 HIGH COUNT 채널 0과 동시에 사용할 수 없습니다. 코어모듈 내부적으로 HIGH COUNT 0과 PWM 0,1,2는 같은 자원을 사용하기 때문입니다. 따라서 사용자는 PWM 0,1,2를 쓸 것인지, HIGH COUNT 0을 쓸 것인지, 둘중의 하나를 선택해야 합니다. PLC SETUP에서 이것을 선택하는 메뉴가 따로 있습니다. 이 곳을 선택하면, PWM 0, 1, 2를 사용하고, HIGH COUNT0를 포기합니다.

이 곳을 선택하면, HIGH COUNT 0을 사용하고, PWM0,1,2를 포기합니다.

레더실행중 PWM최대치 바꾸기 다음과 같이 MAX value 란에 숫자대신 “언더바 D”로 시작하고, 괄호안에 D영역중 하나를 적어준다면, 레더실행중 최대치를 바꿀수 있습니다.

Page 152: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 152 -

PWM을 D/A변환기로 사용하려면 A/D변환기와 반대로 동작하는 것이 D/A변환기 입니다. 어떤 수치를 일정한 전압으로 바꿔줍니다. PWM출력에 간단한회로를 추가하면 D/A변환기로 사용할 수 있습니다.

PWM Port0~5VOUTPUT

47uF

10Kohm

만약 0~5V가 아닌 다른전압범위 (예를들어 –10V 에서 +10V 또는 0~40mA ) 를 출력하고 싶다면, OP AMP칩을 사용한 회로가 필요합니다. (별도 서적 참고요망) 아래 회로는 PWM포트로 D/A출력을 내보내는 회로 입니다. 위의 회로보다는 안정적인 출력을 내보내는 반면 응답 속도가 조금 느리다는 단점이 있습니다.

Page 153: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 153 -

MAX VALUE에 대하여 PLC SETUP에서 입력하는 PWM 최대 값 (MAX VALUE)은 각 PWM 3채널당 하나씩 설정할 수 있으며, 최소값은 100, 최대값은 65535이여야 합니다. PWM값은 반드시 MAX VALUE보다 작은 값이 되도록 레더프로그램에서 결정해주어야 합니다. MAX VALUE가 작을수록 더 빠른 주파수를 가진 PWM파형이 출력됩니다. 다음 표는 MAX VALUE와 주파수와의 관계표입니다.

MAX VALUE Frequency

200 11.52 KHz

1000 2.3 KHz

2000 1.15 KHz

3000 768 Hz

4000 576 Hz

10000 230 Hz

20000 115.2 Hz

30000 76.8 Hz

65535 35.16 Hz

주파수는 다음과 같은 공식에 의해서 계산할 수 있습니다.

MAXVALUE값이 200 미만인경우는 위의 계산식으로 계산을 할수 없습니다. 만약 위의 표에있는 주파수와 다른 주파수를 사용하고 싶다면 다음과 같은 공식에 의해서 계산할 수 있습니다. 사용하고자 하는 주파수가 100Hz 사용하고자 하는 주파수가 5000Hz

100Hz = 2304000 / MAXVALUE

MAXVALUE = 2304000 / 100

MAXVALUE = 23040

5000Hz = 2304000 / MAXVALUE

MAXVALUE = 2304000 / 5000

MAXVALUE = 약 ( 460 )

Page 154: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 154 -

FREQOUT 레더도 설명

P0 FN FREQOUT 0, 460

P1 FN PWMOFF 0

P0입력시 PWM 0번 포트로 5KHz의 주파수를 출력 P1입력시 PWM 0번 포트 PWM출력을 중지 합니다.

Page 155: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 155 -

PWM 듀티비 출력 레더도 설명

사용하고자하는 PWM포트를 선택후 MAX value값을 넣음 460을 넣으면 5KHz 의 파형을 생성함

P0 입력시 46을 Y26(PWM0)영역에다 전송 P1 입력시 PWM 0번 포트의 펄스를 중지시킴

5KHz의 출력에 10%의 듀티를 가진 펄스를 출력함

Page 156: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 156 -

DEMO PROGRAM 다음과 같이 MAX value 란에 숫자대신 “언더바 D”로 시작하고, 괄호안에 D영역중 하나를 적어준다면, 레더실행중 최대치를 바꿀수 있습니다.

주파수를 변경하여, PWM파형을 출력하고자 하는 경우에 사용할 수 있습니다. 이 경우 D8 영역에 어떤값을 써넣고, Y26에 D8을 반으로 나눈값을 써넣는다면, PWM0번 채널에서 50%듀티의 일정한 주파수를 가진 파형을 출력할 수 있습니다.

Page 157: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 157 -

DEMO PROGRAM PWM을 구동하는 간단한 예제프로그램입니다. PLC SETUP에서 PLC부분을 다음과 같이 셋업해주세요

5번 포트는 PWM0번 채널입니다. 5번포트에 LED를 연결해두면, PWM값에 따라서 LED의 밝기가 변화하는 것을 볼 수 있습니다. Y26영역에 60000 정도의 값을 넣어두면 LED가 밝게 됩니다. 10000미만의 값을 넣으면 LED밝기가 어두워집니다.

F2 WMOV 60000, Y26

Page 158: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 158 -

펄스 출력 일정한 주파수로 정해진갯수의 펄스를 출력하는 방법을 소개합니다. 스탭모터구동을 위한 펄스로 사용될 수 있습니다. STEPPULSE 특징

1. 최대 주파수는 15KHz 까지 사용가능 2. 최대 적용할수 있는 펄스의 개수는 최대 2147483647개 3. 펄스 출력상태를 특수릴레이 F56과 F57을 통하여 알 수 있습니다. 출력중에는 1이 되고, 출력이 모두 끝나면 0 이 됩니다.

특수릴레이 기능설명

F56 STEP PULSE CH0 BUSY (펄스 출력중 1이됨)

F57 STEP PULSE CH1 BUSY (펄스 출력중 1이 됨)

STEPPULSE CH0

STEPPULSE CH1

F56

F57 STEPPULSE 사용상 제약 사양

1. TPC91A/ TPC92A의 경우 채널 0만 사용, TPC93A의 경우 채널 0과 1을 사용할 수 있습니다.

2. 채널 0을 사용할 때에는 PWM 3, 4, 5를 사용할 수 없고, 채널 1을 사용할 때에는 PWM 5, 6, 7을 사용할 수 없습니다.

STEPPULSE의 채널 PWM채널 기타사항

0 3,4,5

1 6,7,8 TPC91A/ 92A 에서 사용할 수 없음

Page 159: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 159 -

STEPPULSE USAGE : STEPPULSE 채널, 포트, 주파수, 갯수 레더도

F2 FN StepPulse 0, 24, 1000, 300

0번채널 사용, 24번 포트에서 1KHz 의 속도로 300개의 펄스를 내보냅니다.

STEPSTOP USAGE : STEPPULSE 채널 레더도

F2 FN StepStop 0

0번채널의 펄스출력을 중단합니다.

출력중인 펄스를 강제로 종료시킵니다.

Page 160: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 160 -

DEMO PROGRAM 포트 32로 5KHz의 펄스 10개를 출력하는 샘플 프로그램입니다. F30을 사용해서 0.6초마다 주기적으로 출력하도록 하였습니다.

스코프등으로 확인하면 다음과 같은 펄스가 출력되는 것을 볼 수 있습니다.

5KHz, 10 Pulses

Page 161: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 161 -

아래 그림과 같은 STEP모터와 “모터 드라이버”를 연결하여 모터를 구동시킬 수 있습니다.

큐블록과 드라이버는 3개의 I/O로 연결됩니다. 이중 DISABLE은 모터회전을 금지시키는 단순한 기능입니다. DIRECTION은 모터의 회전방향을 결정합니다. (예를 들면 HIGH이면 시계방향, LOW이면 시계반대방향) STEP에 펄스를 공급해주면 펄스의 개수만큼 모터가 회전합니다. 1 펄스에 1.8도가 움직이는 모터라면 10개의 펄스에 18도가 움직입니다.

Page 162: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 162 -

가감속 펄스 출력 앞서 설명한 STEPPULSE는 일정한 주파수로만 펄스를 출력하기 때문에, 천천히 속도를 증가하면서 구동해야하는 스탭모터 어플리케이션에서는 사용할 수 없습니다. 이 경우 가감속 펄스 명령인 STEPACCEL을 사용하십시오.

STEPACCEL USAGE : STEPACCEL 채널, 포트, 시작속도, 최대속도, 가감속속도, 펄스개수 레더도

F2 FN Stepaccel 0, 24, 10, 5000, 400,1000

0번채널 사용, 24번 포트에서 가감속펄스 1000개를 내보냅니다.

시작속도, 최대속도, 가감속속도는 주파수값을 입력하십시오. 가감속 속도값이 높을수록 가감속 속도가 빨라집니다. 최대속도는 3.3KHz까지만 가능합니다. 이 명령은 TPC91A, TPC92A에서 한채널만 사용할 수 있습니다. 출력포트를 바꿀수 있으므로, 여러 개의 포트상에 가감속 펄스를 출력할 수는 있지만, 채널이 하나이므로 동시에 출력할 수는 없습니다. 기타 제약사항은 STEPPULSE와 동일합니다.

Page 163: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 163 -

고속 카운터 TinyPLC TPC9X 시리즈에는 2개의 고속카운터 입력핀이 있습니다. 레더로직에서 고속카운터를 사용하기 위해서 특별히 써주어야하는 명령어는 없습니다. 단지 PLC SETUP 에서 다음과 같이 설정만 해주면, Y영역에 고속카운터 값이 저장됩니다.

고속카운터 결과는 32비트이므로 채널하나당 Y영역 2워드를 차지합니다. 기능 채널 Y영역 TPC91 TPC93 READ/WRITE 설명

HIGH

COUNTER

COUNT0 Y38, Y39 P14 P46 READ only Y38에 LOW 워드, Y39에 HIGH 워드

COUNT1 Y40, Y41 P15 P47 READ only Y40에 LOW 워드, Y41에 HIGH 워드

TPC9X에서는 고속카운터 채널 0과 PWM 0, 1,2 채널중 하나만 선택할 수 있습니다. 내부적으로 같은 자원을 쓰고 있기 때문입니다. PLC SETUP에서 둘중 하나를 선택해주시기 바랍니다.

M6 DWMOV Y38, D0

M6이 ON되면 HIGH COUNT 0번채널을 읽어서 D0, D1에 저장합니다. D0에 하위워드가 저장되고, D1에 상위워드가 저장됩니다.

Page 164: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 164 -

COUNT 입력 레더도

F1 DWMOV Y38, D0

고속카운터 0번 채널인 Y38영역의 값을 D0영역으로 전송

COUNTRESET USAGE : COUNTRESET 채널 레더도

F2 FN COUNTRESET 0

고속카운터 0번 채널을 0으로 만듭니다..

Page 165: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 165 -

초보자 페이지 Q. 고속카운터는 왜 필요한가요? TinyPLC명령중에는 CTU, CTD와 같은 카운터 명령이 있습니다. 카운터 명령을 사용하면 TinyPLC의 I/O포트중 아무 핀에서나 카운터 입력을 받을 수 있습니다. 카운터 명령을 사용하는 방법으로는 입력주파수의 한계가 있습니다. TPC9X의 최대 스캔타임이 10mS이므로 10Hz정도의 펄스만 카운트 할 수 있습니다. 펄스의 폭이 10mS보다 작다면 CTU / CTD 명령으로는 측정할 수 없게 됩니다. 그래서 고속카운터 입력포트가 필요한 것입니다. TinyPLC에 있는 고속 카운터 입력포트는 하드웨어 독립회로로 구성되어 있으며, 최대 100KHz정도의 신호를 받아들일 수 있습니다. 이것은 TinyPLC내부의 스캔타임이나 명령처리속도와는 무관하게 움직이는 독립된 회로가 있기 때문에 가능한 것입니다. Q. 엔코더의 A, B상 입력을 고속카운터로 받을 수 있나요? TinyPLC 의 고속카운터로는 로터리 엔코더에서 생성되는 A/B상의 펄스신호를 받을 수 없습니다. 단순히 A나 B상을 입력받아서 회전속도를 측정하는 용도로 사용하는 것은 가능합니다. 하지만 A/B상을 모두 입력받아, CCW, CW회전을 검출하여 자동적으로 현재수치에 가/감산할 수 없습니다. 이 기능은 TinyPLC의 메인칩에서 처리할 수 없으므로, 외부에서 별도의 회로를 추가하여 처리하는 방법을 사용해야 합니다.

Page 166: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 166 -

제 8 장

LCD

디스플레이 * TinyPLC에서는 간단한 LCD 디스플레이만 가능합니다. 보다 복잡한 제어는 “큐블록”이 적합합니다. 만약 여러분의 프로젝트가 복잡한 LCD표시를 해야된다면 “큐블록”을 선택하여 주십시오.

Page 167: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 167 -

TinyPLC에서의 LCD디스플레이 TPC9X 시리즈에서는 I2C통신방식의 디스플레이 모듈인 CLCD 를 사용할 수 있습니다. 이 디스플레이 모듈은 “컴파일 테크놀로지”에서 시판하고 있는 제품입니다.

TPC9X 시리즈의 코어모듈의 CUNET포트 (TPC91A의 경우 8,9번핀)와 연결합니다. 여러분이 직접 회로를 구성하실 경우에는 P8, P9번 핀에 반드시 풀업저항 (4.7K오옴) 을 부착하여 주십시오.

CLCD모듈 뒷면에 보시면, Slave Address를 셋팅할 수 있는 딥스위치가 있습니다. CLCD를 사용하기에 앞서, 딥스위치가 어떤상태인지 확인해 두시기 바랍니다.

Page 168: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 168 -

CLCD는 CUNET통신 이외에도 RS232신호를 받을 수 있도록 되어 있습니다만, TinyPLC에서는 CUNET통신만을 서포트 하고 있습니다.

다음은 딥스위치로 설정방법에 대한 표입니다. DIP스위치 중 4번 스위치는 사용하지 않는 스위치입니다.

DIP 스위치 상태 I2C의 SLAVE

ADDRESS 1 2 3

ON

0

1 2 3ON

1

1 2 3ON

2

1 2 3ON

3

1 2 3ON

4

1 2 3ON

5 1 2 3

ON

6 1 2 3

ON

7

Page 169: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 169 -

TpcWORKS의 “PLC SETUP”탭 Advenced Setup에서 아래 그림처럼, 셋팅을 해주어야 합니다.

LCD를 사용, CLCD모듈, Slave Address를 0으로 맞춤

CLCD 모듈 뒷면의 딥스위치상태와 위 화면에서의 Slave Address 값과 일치해야 합니다.

CLCD 모듈 DIP 스위치 상태 I2C의 SLAVE

ADDRESS

1 2 3ON

0

1 2 3ON

1

1 2 3ON

2

1 2 3ON

3

1 2 3ON

4

1 2 3ON

5 1 2 3

ON

6 1 2 3

ON

7

Page 170: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 170 -

CLS 레더도 설명

F2 FN CLS

LCD화면을 클리어합니다.

위의 레더도에서 처럼 F2릴레이 (파워온시 1스캔펄스만 ON됨)에 CLS명령을 연결해두면, TinyPLC가 처음 파워온될 때, CLCD로 CLS명령이 전송되어, CLCD화면이 클리어 됩니다. 커서위치는 X=0, Y=0으로 초기화합니다.

CSROFF

CSRON 레더도 설명

F2 FN CSROFF

F2 FN CSRON

커서표시를 OFF합니다. 커서표시를 ON 합니다.

CLCD상에 표시되는 커서를 지웁니다. 다시 표시하고 싶을때에는 CSRON 명령을 사용합니다. CLCD최초 전원 ON시에는 CSRON상태입니다.

Page 171: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 171 -

PRINT 레더도 표시결과

FN PRINT “ABCD”

LCD화면상에 문자 “ABCD”를 표시합니다.

PRINT명령은 CLCD에 문자를 표시하거나, 숫자를 표시할 수 있는 가장 기본적인 명령입니다. 위의 레더도에서 처럼 간단하게 문자를 표시할때에도 PRINT명령어를 사용합니다. 이 명령만 보내면, 현재 커서의 위치 (CLS직후에는 X=0, Y=0에 위치함)에 ABC를 표시합니다. 커서의 위치를 지정하고 싶다면, LOC 문자와 함께 PRINT문을 사용해야 합니다.

LOC 레더도 표시결과

FN PRINT LOC, 2, 1, “ABCD”

LCD화면 위치 X=2, Y=1에 ABCD문자를 표시합니다. LOC다음에 코머(,)를 반드시 사용해야 합니다.

0

1

2

3

Page 172: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 172 -

DEC 레더도 표시결과

FN PRINT DEC D0

D0의 내용을 10진수로 표시합니다.

100

정수영역 (C,T,D,Y,B)의 내용을 10진형태로 표시할 때 사용합니다.

FN PRINT DEC8 D0

포맷화된 10진수를 표시합니다.

100

DEC뒤에 숫자를 적으면 (1 에서 10) 정해진 자릿수안에서 오른쪽 자리맞춤으로 된 숫자를 표시합니다. DEC8로 한경우, 표시할 내용이 세자릿수이면, 앞의 5자리를 블랭크(공백)으로 표시한뒤 숫자를 표시합니다.

FN PRINT LOC,1,1,”MAC”, DEC8 D0

LOC 와 함께, 일부문자와 함께 사용할수 있습니다.

MAC 10300

Page 173: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 173 -

HEX 레더도 표시결과

FN PRINT HEX D0

D0의 내용을 16진수로 표시합니다.

정수영역 (C,T,D,Y,B)의 내용을 16진형태로 표시할 때 사용합니다.

FN PRINT HEX8 D0

포맷화된 16진수를 표시합니다.

HEX뒤에 숫자를 적으면 (1 에서 8) 정해진 자릿수안에서 오른쪽 자리맞춤으로 된 숫자를 표시합니다. HEX8로 한경우, 표시할 내용이 4자릿수이면, 앞의 4자리를 블랭크(공백)으로 표시한뒤 숫자를 표시합니다.

FN PRINT LOC,1,1,”PLC”, HEX8 D0

LOC 와 함께, 일부문자와 함께 사용할수 있습니다.

Page 174: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 174 -

FLOAT 레더도 표시결과

FN PRINT FLOAT A0

A0의 내용을 실수형태로 표시합니다.

실수영역 (A영역)의 내용을 실수형태로 표시할 때 사용합니다. 이 방법으로는 표시자릿수를 정해진 포맷으로 제한할 수 없습니다만, 실수의 유효자릿수를 전부 표시할 수 있습니다.

FP( ) USAGE : FP (표시할 영역, 정수부 자릿수, 소수부 자릿수) 레더도 표시결과

FN PRINT FP(A0,3,2)

A0의 내용을 포맷화된 실수형태로 표시합니다. 위의 경우 정수부 3자리, 소수부 2자리로 표시합니다.

실수를 표현할 때, 정수부와 소수부의 자릿수를 지정하여, 표시하는 명령입니다. 위의 경우 정수부 3자리, 소수부 2자리이므로, 소수점까지 포함해서 모두 6자리로 실수를 표시합니다. 정수부 앞부분은 숫자가 없는 부분은 공백으로 표시됩니다. 다른 명령 (HEX, DEC)와 달리 괄호를 필요로 하는 명령입니다. *FP사용시 소수점 아래부분은 실제 수와 다른 수가 표시될 수 있습니다. 포맷변환과정에서 발생하는 오차 때문에, 소수점 아랫부분이 실제 수와 다른 경우가 발생합니다. 따라서 실수는 가능한한 FLOAT로 표시하는 것이 좋습니다.

Page 175: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 175 -

DEMO PROGRAM LCD화면상에 증가되는 숫자를 16진수로 표시하는 프로그램입니다. F2는 최초 파워온 (또는 리셋시) 한 스캔타임만 ON되는 신호입니다 .F2에 CLS명령을 넣어두면, 파워온시에 LCD화면이 클리어 됩니다. F29는 320mS 마다 On되는 신호입니다. 여기에 WINC 응용명령어로 D0영역을 1씩 증가시킵니다. F28는 160mS (약 0.16초) 마다 On되는 신호입니다. 여기에 PRINT명령으로 D0영역의 값을 LCD에 표시하도록 하였습니다.

Page 176: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 176 -

제 9 장

7 세그먼트

디스플레이

Page 177: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 177 -

TinyPLC에서의 7세그먼트 디스플레이 TPC9X 시리즈에서는 CSG 디스플레이 모듈을 사용해서 7세그먼트 디스플레이를 구현할 수 있습니다. 이 디스플레이 모듈은 “컴파일 테크놀로지”에서 시판하고 있는 제품입니다.

CSG-4S CSG-4M

CSG모듈은 I2C방식으로 구동됩니다. TPC9X 시리즈의 모든 I/O 포트 (입력 전용제외) 는 I2C통신으로 설정하여 사용할 수 있습니다. TpcWORKS의 “PLC SETUP”탭 Advenced Setup에서 CSG사용을 위한 메뉴 부분이 있습니다. 이 부분을 다음과 같이 설정하시기 바랍니다.

Page 178: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 178 -

I2C통신에는 2가닥의 I/O선이 필요합니다. 이중 하나는 CLOCK핀이고, 나머지 하나는 DATA핀입니다. CSG모듈의 뒷면을 보시면 4핀연결 케이블이 있습니다. 이 케이블을 TPC9X와 연결하시면 됩니다. 이 케이블의 4핀중 2핀은 전원선 (5V, GND)를 연결하시고, 나머지 2핀을 TPC9X의 I/O 핀과 연결합니다. 이 I/O핀중 어떤 핀을 CLOCK으로 하고 어떤핀을 DATA로 할것인지를 미리 생각해두셨다가, TpcWORKS에 입력해주시면 됩니다.

CSG모듈 뒷면에는 DIP 스위치가 있습니다. I2C통신은 같은 선상에 여러 개의 디바이스를 연결할 수 있으며, 이중 하나의 디바이스와 통신하는 방식으로 운용됩니다. 이를 위해서 각각의 디바이스마다 Slave Address라는 것이 필요합니다.

CSG모듈 뒷면에 있는 DIP스위치는 Slave Address를 설정하기 위한 것입니다.

DIP 스위치 상태 슬레이브 어드레스 DIP 스위치 상태 슬레이브 어드레스 1 2 3

ON

-

0

1 2 3ON

2

1 2 3ON

1

1 2 3ON

3

Page 179: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 179 -

CSGDEC USAGE : CSGDEC 슬레이브 어드레스 , 데이터 레더도 표시결과

FN CSGDEC 0, D0

D0값을 10진형태로 CSG모듈에 표시합니다. Slave Address는 0번을 선택합니다. 데이터는 숫자 또는 릴레이영역등을 사용할 수 있습니다.

CSGHEX USAGE : CSGHEX 슬레이브 어드레스 , 데이터 레더도 표시결과

FN CSGHEX 0, D0

D0값을 16진형태로 CSG모듈에 표시합니다. Slave Address는 0번을 선택합니다.

Page 180: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 180 -

CSGNPUT USAGE : CSGNPUT 슬레이브 어드레스 , 위치 , 데이터 레더도 표시결과

FN CSGNPUT 0, 0, &H30

0번 슬레이브 어드레스에, 0번위치에 숫자 0을 표시합니다.

CSG4M (CSG 4S)는 4개의 7세그먼트가 있습니다. 원하는 위치에 원하는 숫자(문자)를 표시하고 싶을 때 사용하는 명령입니다. 데이터는 ASCII코드를 사용합니다. 즉 &H30은 0을 표시하고, &H39는 9를 표시합니다. &H41은 A를 표시합니다. 표시가능한 숫자는 0부터 9까지이고, 영문자는 A부터 F까지만 표시할 수 있습니다. CSGDEC, CSGHEX는 CSG모듈 전체에 어떤 숫자를 표시하고자 할 때 사용하고, CSGNPUT은 CSG모듈의 특정위치에 특정숫자(문자)를 표시할 때 사용합니다. 표시위치는 왼쪽부터 0,1,2,3입니다.

Page 181: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 181 -

CSGXPUT USAGE : CSGXPUT 슬레이브 어드레스 , 위치 , 데이터 레더도 표시결과

FN CSGXPUT 0, 0, &HFF

CSGNPUT과 사용방법은 같습니다. 7세그먼트의 각각의 LED를 ON하거나 OFF할 수 있습니다 .한바이트는 8비트로 구성되어 있습니다. 아래 표를 보고, 각각의 비트위치를 1로 하여, 숫자를 만든뒤 위 명령어에 대입하면, 해당위치의 LED가 켜지게 됩니다.

A

B

C

D

E

FG

H

비트 7 6 5 4 3 2 1 0

LED H G F E D C B A

예를들어, B하고 C위치의 LED만 ON하고 싶다면, 0000 0110 을 대입하면 됩니다. 0000 0110 은 10진수로 6이 되므로 다음과 같이 명령어를 작성하십시오.

FN CSGXPUT 3, 0, 6

Page 182: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 182 -

CSGNDEC USAGE : CSGNDEC 슬레이브 어드레스 , 위치 , 데이터 레더도 표시결과

FN CSGDEC 0, 0, D0

D0값을 10진형태로 CSG모듈 0번 위치에 표시합니다. Slave Address는 0번을 선택합니다.

CSGNHEX USAGE : CSGNHEX 슬레이브 어드레스 , 위치 , 데이터 레더도 표시결과

FN CSGHEX 0, 0, D0

D0값을 16진형태로 CSG모듈 0번 위치에 표시합니다. Slave Address는 0번을 선택합니다.

CSGNDEC , CSGNHEX 명령어는 CSG위치 하나씩만 제어가 가능 합니다.

Page 183: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 183 -

CSGDECDOT USAGE : CSGDECDOT 슬레이브 어드레스 , 위치 , 데이터 레더도 표시결과

FN CSGDECDOT 0, 0, D0

D0값을 CSG 모듈 0번 위치에 10진형태로 표시하고 같은 위치에 DOT도 같이 표시 합니다. Slave Address는 0번을 선택합니다.

CSGHEXDOT USAGE : CSGHEXDOT 슬레이브 어드레스 , 위치 , 데이터 레더도 표시결과

FN CSGHEXDOT 0, 0, D0

D0값을 CSG 모듈 0번 위치에 16진형태로 표시하고 같은 위치에 DOT도 같이 표시 합니다. Slave Address는 0번을 선택합니다.

Page 184: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 184 -

DEMO PROGRAM 7세그먼트 모듈 (CSG)에 증가되는 숫자를 표시해보도록 하겠습니다. F29는 320mS 마다 On되는 신호입니다. 여기에 WINC 응용명령어로 D0영역을 1씩 증가시킵니다. F28는 160mS (약 0.16초) 마다 On되는 신호입니다. 여기에 CSGHEX명령으로 D0영역의 값을 CSG에 표시하도록 하였습니다.

Page 185: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 185 -

초보자 페이지 Q. I2C가 무엇인가요? 시리얼 통신 규격중 하나입니다. CLOCK과 DATA선을 사용해서 신호를 전달합니다.

SCLSDA

0 1 1 0 1 0 1 0

Clock

Data

SCL 은 CLOCK 을 의미하고, SDA는 DATA를 의미합니다. 이렇게 두선을 사용하는 이유는 CLOCK선에서 발생되는 펄스에 맞추어 DATA선에 신호를 실어주는 “동기식 통신”이기 때문입니다. 이에 반해 RS232는 단 한선으로 데이터를 주고 받는 “비동기식 통신’입니다. 비동기식 통신에서는 “보레이트”가 필요합니다. 서로 시간약속을 하는 것입니다. 예를 들어 1초에 한번씩 데이터를 보내겠다고 약속하는 것입니다. 시간약속이 틀리게 되면 제대로된 데이터를 받을 수 없습니다. “보레이트”를 서로 모르는 경우, 그리고 통신 중간 중간에 보레이트를 지킬수 없는 환경에서는 “동기식 통신”이 보다 안정적으로 데이터를 보내고 받을 수 있습니다. 그래서 TinyPLC에서는 “동기식 통신”인 I2C를 사용합니다. LCD모듈이나 7세그먼트 모듈은 I2C방식으로 되어 있어, 전원선이외에 2가닥의 통신선을 필요로합니다.

Page 186: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 186 -

제 10 장

MODBUS

데이터 통신 * Version 3.3.1이후부터 TPC93A의 MODBUS ASCII 는 더 이상 지원하지 않습니다. MODBUS RTU 기능을 사용하십시오.

Page 187: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 187 -

MODBUS 데이터 통신 대부분의 PLC는 통신기능을 가지고 있습니다. PLC동작상태를 외부로 보내거나, 외부기기로부터 동작명령을 전달받기 위해, 필수적으로 필요한 기능이 통신기능 입니다. TinyPLC TPC9X 시리즈에서는 MODBUS 슬레이브모드 (RTU 또는 ASCII 방식)를 지원합니다. 특별한 명령어 구성없이, PLC SETUP에서 설정상태만 조정하는 것으로 MODBUS SLAVE모드를 사용할 수 있습니다. MODBUS는 RS232 또는 RS485를 기반으로 하여, 그 위에 논리적인 데이터구성을 정의한 일종의 규정집정도로 생각하시면 됩니다. RS232 포트를 가지고 있는 두개의 장비가, 어떤순서로 데이터를 주고받을 것인지 서로 약속해놓지 않으면, 첫번째 도착한 데이터가 어떤 데이터이고, 두번째 도착한 데이터가 어떤 데이터인지 알 수 없기 때문입니다. MODBUS의 규정집에는 여러가지 펑션코드가 많이 있지만 TPC9X 시리즈에서는 이중 1,2,3,4,5,6,15,16만 지원합니다. 펑션코드

(10진)

동작

1 Read Coil Status

2 Read Input Status

3 Read Holding Registers

4 Read Input Registers

5 Force Single Coil

6 Preset Single Register

15 Force Multiple Coils

16 Preset Multiple Registers

이 펑션코드를 자세히 보면 레지스터나 코일(Coil) 이라는 용어가 등장하고, 이 레지스터 또는 코일에 값을 쓰거나 읽는 명령들이 대부분입니다. 모드버스에서는 기억장소를 “코일, Input Status, Holding 레지스터, Input 레지스터”의 4가지로 구분하고 있습니다. 기억장소명 대상 비트수 읽기/ 쓰기 가능여부 관련 펑션코드

Coil 1 bit R/W 1, 5, 15

Input Status 1 bit Read only 2

Holding Register 16 bit R/W 3, 6, 16

Input Register 16 bit Read only 4

*기억장소명 뒷부분에 Register가 있으면 16비트영역이고, 없으면 1비트 영역입니다.

Page 188: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 188 -

어드레스 TinyPLC에서는 편의상 Coil 과 Input Status를 비트영역으로 통합관리하고, Holding Register와 Input Register는 워드영역으로 통합관리합니다.

비트영역 (Coil, Input Status) 워드영역 (Holding/Input Registers) 관련 펑션코드 : 1, 2, 15 관련평션코드 : 3,4,6,16

어드레스 데이터 영역 어드레스 데이터 영역 0000H P영역 0000H 사용안함 1000H M 영역 1000H 사용안함 5000H 사용안함 5000H T영역 6000H 사용안함 6000H C영역 7000H 사용안함 7000H D영역 8000H 사용안함 8000H WP영역 9000H 사용안함 9000H WM영역

Page 189: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 189 -

HMI나 SCADA사용시 어드레스 다음은 HMI / SCADA소프트웨어등에서 사용하고 있는 어드레스 체계입니다.

포인트 타입 범위

Coil 1–999

Input Status 10001 – 19999

Input Register 30001 – 39999

Holding Register 40001 – 49999

이 경우, HMI / SCADA쪽에 어드레스 입력시, 다음표를 참고하시여 입력하시기 바랍니다.

워드영역 (Holding/Input Registers)

관련평션코드 : 3,4,6,16

접근하고자 하는 TPC측 영역 HMI / SCADA 에 입력해야 될 어드레스

D영역 (D0 ~ D511) 40001 ~ 40512

T영역 (T0 ~ T255) 41001 ~ 41256

C영역 (C 0~ C255) 42001 ~ 42256

WM영역 (WM0 ~ WM255) 43001 ~ 43256

비트영역 (Coil, Input Status)

관련 펑션코드 : 1,2,4,15

접근하고자 하는 TPC측 영역 HMI / SCADA에 입력해야 될 어드레스

P영역 (P0 ~ P127) 1 to 128 또는 10001 to 10128

M영역 (M0 ~ M2047) 4097 to 6144 또는 14097 to 16144

Page 190: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 190 -

MODBUS에 대하여… MODBUS란 MODICON 이라는 회사에서 자사의 PLC를 위하여 개발된 PLC 접속 프로토콜로써, PLC와 외부기기와의 인터페이스를 위하여 고안된 통신 방식입니다. 주로 터치스크린과 같은 HMI기기와, PC상에서 운용되는 SCADA소프트웨어등과 통신하는 목적으로 사용합니다. 현재 시판중인 대다수의 “터치스크린 판넬”과 PC용 HMI, SCADA소프트웨어에서는 MODBUS를 지원하고 있을 정도로 널리 사용되고 있는 프로토콜입니다. (초창기에 만들어진 스팩을 여러회사에서 따라하다보니, 지금은 산업표준처럼 사용되고 있는 것입니다.) MODBUS는 마스터-슬레이브의 개념을 가지고 운용됩니다. 마스터는 데이터를 송신하는 능동적 디바이스이고, 슬레이브는 데이터를 받아들이고, 응답하는 수동적 디바이스를 의미합니다. 즉, 슬레이브에서는 오로지 마스터가 보낸 데이터에 대한 응답만 가능할 뿐, 자체적으로 데이터를 송신할 수는 없습니다.

SLAVE

Slave Address '01'

Query

Response

MASTER

슬레이브는 자기 자신의 고유 어드레스 (Slave Address)를 가지고 있으며, 마스터에서는 이 Slave Address를 사용해서, 여러 개의 슬레이브 중 특정 슬레이브를 하나만을 지정해서 통신할 수 있습니다. 마스터가 보내는 하나의 멧세지 집합을 “프레임”이라고 부르며, 하나의 프레임에는 슬레이브의 어드레스, 펑션코드, 데이터, 에러체크 코드 등을 포함하고 있습니다. 슬레이브에서는 마스터가 보낸 “프레임”을 분석하여, 응답할 때에도 역시 하나의 “프레임”을 형성하여 데이터를 보내줍니다. MODBUS는 ASCII 코드만을 사용하는 ASCII방식과 바이너리 데이터를 사용하는 RTU방식이 있습니다. ASCII방식보다 RTU방식이 더 짧게 데이터를 구성할 수 있습니다. 또한 에러체크방법으로 ASCII방식 LRC를 사용하고 RTU에서는 CRC를 사용합니다.

Page 191: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 191 -

다음은 ASCII방식과 RTU방식의 사용 예입니다.

필드명 예 (Hex) ASCII방식 RTU방식

헤더 : (colon) 없음

슬레이브 어드레스 0X03 0 3 0X03

펑션코드 0X01 0 1 0X01

시작어드레스 HI 0X00 0 0 0X00

시작어드레스 LO 0X13 1 3 0X13

길이HI 0X00 0 0 0X00

길이 LO 0X25 2 5 0X25

에러체크 LRC (2바이트) CRC(2바이트)

종료코드 CR LF 없음

총바이트수 17바이트 8바이트

ASCII방식은 콜론(: )으로 시작해서 CR,LF로 종료하게 됩니다.

START

SLAVE ADR

FUNCTION

DATA

LRC

END

: (COLON) 2 바이트 2 바이트 n 바이트 2 바이트 CR,LF

RTU방식은 특별한 헤더와 종료코드 없이 약 4바이트 정도의 블랭크구간으로 시작과 끝을 판단합니다.

START

SLAVE ADR

FUNCTION

DATA

CRC

END

T1-T2-T3-T4 1 바이트 1바이트 n바이트 2바이트 T1-T2-T3-T4

Page 192: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 192 -

펑션코드 01 : Read Coil Status

펑션코드 02 : Read Input Status PLC의 비트 (릴레이) 상태를 읽어올 수 있는 펑션코드입니다. 다음은 슬레이브 어드레스 3번의 P릴레이 20~56번을 읽어오는 예제입니다. Query:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X01 1 0 1 2

시작어드레스 HI 0X00 1 0 0 2

시작어드레스 LO 0X14 1 1 3 2

길이HI 0X00 1 0 0 2

길이 LO 0X25 1 2 5 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

LRC는 맨 앞뒤에 있는 콜론과 CR,LF제외한 나머지 숫자를 모두 합한 뒤, 8비트 이상 값을 제외시키고, 나머지 값을 2의 보수로 만든 값입니다. 위의 경우 3h + 1h + 13h + 25h = 3Ch가 되고 3Ch의 2의 보수인 0C4h가 LRC값이 됩니다. 다음은 실제로 마스터에서 송신되는 내용을 ASCII코드와 HEX값으로 표현한 것입니다.

ASCII : 0 3 0 1 0 0 1 3 0 0 2 5 C 4 CR LF hex 3A 30 33 30 31 30 30 31 33 30 30 32 35 43 34 13 10

이에 대한 응답은 아래와 같습니다. Response:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII 방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X01 1 0 1 2

바이트 카운트 0X05 1 0 5 2

데이터 1 0X53 1 5 3 2

데이터 2 0X6B 1 6 B 2

데이터 3 0X01 1 0 1 2

데이터 4 0XF4 1 F 4 2

데이터 5 0X1B 1 1 B 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

Page 193: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 193 -

응답의 DATA구성에 대하여 자세히 보면, 비트 20~27까지 한 바이트를 구성합니다. 20번 비트가 LSB에 위치하고, 27번 비트가 MSB에 위치하도록 구성하여 응답합니다. 이렇게 해서 5바이트를 만들어 송신하고, 끝에 남는 비트는 알 수 없는 (Dummy)값으로 송신됩니다. 다음은 MODBUS로 데이터를 송수신하는 상황을 그림으로 표현해 본것입니다. MODBUS RTU모드로 마스터측 (여기에서는 PC)에서 데이터가 송신되면, 슬레이브측 (TinyPLC)에서 응답합니다. 이때 슬레이브측의 어드레스가 일치되어야 합니다.

PC

MODBUS RTU

SLAVESlave Address '01'

MASTER

MODBUS RTU

03 01 00 13 00 25 34 8D

03 01 05 53 6B 01 F4 1B 31 AC

TPC9X

Page 194: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 194 -

펑션코드 03 : Read Holding Registers

펑션코드 04 : Read Input Registers PLC의 1워드 데이터 상태를 읽어올 수 있는 펑션코드입니다. 주로 카운터, 타이머, 데이터 (C, T, D)영역의 데이터를 읽어올 때 사용합니다. 다음은 슬레이브 어드레스 3번의 D릴레이 0~2번을 읽어오는 예제입니다. (D영역의 DEVICE 어드레스는 40001입니다. 실제로 전송할때는 MODBUS어드레스를 사용해야 합니다 . 앞서의 설명에서 처럼 DEVICE어드레스에서 40001을 뺀값이 MODBUS 어드레스가 됩니다. 즉, D0번지의 MODBUS 어드레스는 0 이 됩니다.) Query:

필드명 RTU 방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X03 1 0 3 2

시작어드레스 HI 0X00 1 7 0 2

시작어드레스 LO 0X00 1 0 0 2

길이HI 0X00 1 0 0 2

길이 LO 0X03 1 0 3 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

이에 대한 응답은 아래와 같습니다. 1워드는 2바이트이므로, 총 6바이트의 데이터를 응답합니다. Response:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X03 1 0 3 2

바이트 카운트 0X06 1 0 6 2

데이터 1 HI 0X03 1 0 3 2

데이터 1 LO 0XE8 1 E 8 2

데이터 2 HI 0X01 1 0 1 2

데이터 2 LO 0XF4 1 F 4 2

데이터 3 HI 0X05 1 0 5 2

데이터 3 LO 0X33 1 3 3 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

Page 195: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 195 -

펑션코드 05 : Force Single Coil PLC의 특정 릴레이 상태를 강제로 변화시킬 수 있는 펑션코드입니다. 다음은 슬레이브 어드레스 3번의 P1릴레이를 ON시키는 예제입니다. 데이터 필드에 ON할 때에는 FF 00을 OFF할 때에는 00 00을 보냅니다. Query:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X05 1 0 5 2

시작어드레스 HI 0X00 1 0 1 2

시작어드레스 LO 0X01 1 0 0 2

데이터HI 0XFF 1 F F 2

데이터 LO 0X00 1 0 0 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

이에 대한 응답은 아래와 같습니다. 데이터 필드에 FF 00 또는 00 00이외의 값이 들어 있다면 아무런 변화도 일어나지 않습니다. 데이터 필드에는 반드시 FF 00 또는 00 00만 사용해야 합니다. Response:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X05 1 0 5 2

시작어드레스 HI 0X00 1 0 1 2

시작어드레스 LO 0X01 1 0 0 2

데이터HI 0XFF 1 F F 2

데이터 LO 0X00 1 0 0 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

Page 196: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 196 -

펑션코드 06 : Preset Single Registers PLC의 특정 데이터 영역 1워드의 값을 강제로 변화시킬 수 있는 펑션코드입니다. 다음은 슬레이브 어드레스 3번의 D1영역의 값을 변화 시키는 예제입니다. Query:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X06 1 0 6 2

시작어드레스 HI 0X70 1 0 1 2

시작어드레스 LO 0X01 1 7 0 2

데이터HI 0X12 1 1 2 2

데이터 LO 0X34 1 3 4 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

이에 대한 응답은 아래와 같습니다. Response:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X06 1 0 6 2

시작어드레스 HI 0X70 1 0 1 2

시작어드레스 LO 0X01 1 7 0 2

데이터HI 0X12 1 1 2 2

데이터 LO 0X34 1 3 4 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

Page 197: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 197 -

펑션코드 15 : Force Multiple Coils 여러 개의 PLC의 릴레이를 강제로 변화시킬 수 있는 펑션코드입니다. 다음은 슬레이브 어드레스 3번의 P릴레이 20~30번을 변화시키는 예제입니다. Query:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X0F 1 0 F 2

시작어드레스 HI 0X00 1 0 0 2

시작어드레스 LO 0X14 1 1 4 2

길이HI 0X00 1 0 0 2

길이 LO 0X0B 1 0 B 2

바이트 카운트 0X02 1 0 2 2

데이터 1 0XD1 1 D 1 2

데이터 2 0X05 1 0 5 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

DATA구성에 대하여 자세히 보면, 비트 20~27까지 한 바이트를 구성합니다. 20번 비트가 LSB에 위치하고, 27번 비트가 MSB에 위치하도록 구성합니다. 이렇게 해서 2바이트를 만들어 송신하고, 끝에 남는 비트는 0으로 처리합니다. Bit 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1

Relay P27 P26 P25 P24 P23 P22 P21 P20 P30 P29 P28

이에 대한 응답은 다음과 같습니다. Response:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X0F 1 0 F 2

시작어드레스 HI 0X00 1 0 0 2

시작어드레스 LO 0X14 1 1 4 2

길이HI 0X00 1 0 0 2

길이 LO 0X0B 1 0 B 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

Page 198: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 198 -

펑션코드 16 : Preset Multiple Regs 여러 개의 PLC 워드 단위 데이터 영역을 강제로 변화시킬 수 있는 펑션코드입니다. 주로 타이머, 카운터, 데이터 (T, C, D)영역에 새로운 값을 넣을 때 사용합니다. 다음은 슬레이브 어드레스 3번의 D영역 0~2번을 변화시키는 예제입니다. Query:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X10 1 1 0 2

시작어드레스 HI 0X70 1 7 0 2

시작어드레스 LO 0X00 1 0 0 2

길이HI 0X00 1 0 0 2

길이 LO 0X03 1 0 3 2

바이트 카운트 0X06 1 0 6 2

데이터 1 HI 0XD1 1 D 1 2

데이터 1 LO 0X03 1 0 3 2

데이터 2 HI 0X0A 1 0 A 2

데이터 2 LO 0X12 1 1 2 2

데이터 3 HI 0X04 1 0 4 2

데이터 3 LO 0X05 1 0 5 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

이에 대한 응답은 다음과 같습니다. Response:

필드명 RTU방식 RTU방식 바이트 수

ASCII방식 ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 1 0 3 2

펑션코드 0X10 1 1 0 2

시작어드레스 HI 0X70 1 7 0 2

시작어드레스 LO 0X00 1 0 0 2

길이HI 0X00 1 0 0 2

길이 LO 0X03 1 0 3 2

에러체크 CRC 2 LRC 2

종료코드 CR LF 2

Page 199: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 199 -

에러처리 마스터에서 보내온 데이터에 오류가 있는 경우, 또는 슬레이브의 어떤 상황이 발생하여 제대로 응답할 수가 없는 상황에서 슬레이브는 에러코드를 송신합니다. 이 에러처리는 ASCII방식에서만 발생하고, RTU방식에서는 에러가 있을경우 응답하지 않습니다.

필드명 예 (Hex) ASCII방식 바이트 수

헤더 : (colon) 1

슬레이브 어드레스 0X03 0 3 2

펑션코드 0X81 8 1 2

에러 코드 0X09 0 9 2

에러체크 LRC 2

종료코드 CR LF 2

에러코드는 다음과 같은 종류가 있습니다. 코드 에러 명 설명

01 ILLEGAL FUNCTION 지원하지 않는 펑션코드를 수신하였을 때 발생됩니

다.

02 ILLEGAL DATA ADDRESS 맞지 않는 어드레스를 수신하였을 때 발생됩니다.

03 ILLEGAL DATA VALUE 잘못된 데이터를 수신하였을 때 발생됩니다.

09 LRC UNMATCH 잘못된 체크섬(LRC)를 수신하였을 때 발생됩니다.

Page 200: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 200 -

MODBUS 셋업하기 모드버스 슬레이브 기능을 사용하기 위해 특별한 명령어를 사용할 필요는 없습니다. 단지 PLC SETUP에서 아래 그림과 같이 설정해주시면 됩니다.

모드버스는 RS232채널 1에서만 사용가능합니다. 우선, USE RS232채널 1을 체크해서, RS232 CH1을 활성화 시킵니다. 그다음, 보레이트와 프로토콜을 선택합니다. 여기에서는 115200 보레이트와 None패리티, 8비트, 1스톱 비트로 선택한 것입니다. MODBUS사용시에는 반드시 USE UNTIL을 체크하지 않아야 합니다.

USE UNTIL은 범용 RS232통신에서 사용하는 기능입니다. USE MODBUS를 체크하십시오. 그리고 RTU또는 ASCII모드중 하나를 선택하고, 끝으로 Salve Address를 결정합니다. Slave Address는 1부터 255이내의 값으로 선택해야합니다.

Page 201: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 201 -

슬레이브 어드레스는 왜 필요한가? 동일 선상에서 여려개의 디바이스와 통신하고자 할 때 필요합니다. 보통 이런경우 RS485 방식을 사용합니다.

PC

TinyPLC

Slave Adr "01" Slave Adr "02" Slave Adr "03"

TinyPLC TinyPLC

슬레이브 어드레스는 일종의 집주소와 같습니다. 우편배달부가 집 주소가 있어야 우편물을 배달할 수 있는 것 처럼, 각각의 디바이스마다 주소가 필요합니다. 위의 그림에서 처럼 PC와 여러 개의 TinyPLC가 동일 통신선으로 연결되어 있는 상황에서, PC가 어떤 데이터를 송신하고자 할 때, 3개의 TinyPLC중 하나를 지목해서 데이터를 송신할 필요가 있습니다. 이때 “슬레이브 어드레스”를 사용합니다. PC가 보낸 데이터는 3개의 TinyPLC에 모두 도착하지만, TinyPLC측에서는 자신의 슬레이브 어드레스와 일치하지 않는다면, 일체의 반응을 하지 않고, 받은 데이터를 무시해 버립니다. 자신의 슬레이브 어드레스와 일치하는 명령셋이 도착했다면, 그에 대한 응답을 하게 되는 것입니다. 따라서, 모든 명령셋(프레임)에는 슬레이브 어드레스가 포함되어 있습니다. 그리고, PLC SETUP에서 MODBUS상태를 설정하는 메뉴에서는 “슬레이브 어드레스”를 결정할 수 있도록 되어 있습니다.

Page 202: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 202 -

제 11 장

TPCworks

사용법 *본 메뉴얼에 표시된 화면의 일부구성이 실제 배포된 Version과 차이가 있을 수 있습니다.

Page 203: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 203 -

TPCworks의 개요 TPC-F 와 TPC9X를 위한 통합개발환경 소프트웨어 입니다. WINDOW XP, 7, 8 운영체계와 RS232통신포트를 갖춘 PC에서 사용가능합니다. (RS232포트가 없는 노트북의 경우에는 USB-RS232변환기를 사용) 다음은 TPCworks의 동작화면입니다.

*WINDOWS 7과 XP를 권장합니다.

Page 204: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 204 -

TPCworks 설치 인터넷 홈페이지 www.comfile.co.kr 자료실 에서 다운로드 받아서 설치할 수 있습니다. TPCWORKS는 사용상에 제한이 없는 프리웨어입니다.

1. www.comfile.co.kr에서 다운로드 메뉴에서 TinyPLC을 선택하신 뒤, TPCworks 다운로드를 클릭.

Page 205: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 205 -

4. 다운로드가 진행중임을 알리는 바가 표시됩니다.

5. 다운로드가 다 끝나면 설치가 시작됩니다. Next를 누르면 다음단계로 진행합니다.

6. 설치할 폴더를 물어보는 다이얼로그 박스가 표시됩니다. 기본 상태는 Program Files밑에 ComfileTools라는 폴더 안에 저장되도록 되어 있습니다. 유저가 원하는 다른 폴더로 변경하는 것도 가능합니다.

7. 시작(Start)메뉴에서 어떤 이름의 폴더를 사용할 것인지를 선택하는 다이얼로그 박스입니다. 이 상태에서는 그냥 Next를 누르십시오.

Page 206: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 206 -

8. 바탕화면에 아이콘을 만들 것인지 물어봅니다. 바탕화면에 TPCWORKS 아이콘을 만드는 것이 여러모로 편리하므로, 체크를 하도록 합니다.

9. 끝으로 지금까지의 선택사항을 한눈에 볼 수 있는 화면이 표시됩니다. 이상이 없으면 Install을 누르면, 설치가 진행됩니다.

10. 설치가 진행됩니다.

화면의 초록색 바가 끝까지 도달하면 설치가 완료되고 바탕화면에 TPCWORKS아이콘이 표시됩니다. 이 아이콘을 더블클릭하면 TPCWORKS가 실행됩니다.

Page 207: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 207 -

TPCWORKS 사용법 기초 TPCWORKS를 실행시키면 아래와 같은 화면이 표시됩니다.

툴바는 자주 사용하는 기능들이 모여있어, 클릭하면 곧바로 실행되도록 되어 있습니다.

Page 208: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 208 -

PLC SETUP PLC SETUP탭을 누르면 다음과 같은 화면이 표시됩니다. 화면 왼쪽을 보시면 3개의 탭이 추가로 있는 것을 볼 수 있습니다. PLC SETUP안에서도 3개의 탭중 하나를 선택하는 것입니다. 지금 보이고 있는 화면은 Setup 1 화면입니다.

SETUP 1

SETUP 2

Script

코어모듈의 종류를 선택할 수 있는 메뉴입니다.

Page 209: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 209 -

I/O 의 입출력 상태를 결정할 수 있는 메뉴입니다. 이 부분을 클릭하면, IN또는 OUT으로 변경됩니다. 해당 포트를 원하는 상태로 조정하십시오. 이 부분을 클릭하면 그룹별로 IN 또는 OUT으로 선택할 수 있습니다. 별명도 이곳에서 입력할 수 있습니다. 별명을 타이핑한 후에는 반드시 Enter를 눌려야 입력이 완료 됩니다.

Page 210: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 210 -

별명(Alias)이란? P0, M0 과 같은 릴레이명으로 복잡한 레더를 작성하면, 어디에 연결된 입력인지, 또는 어떤출력인지 혼동되기 쉽습니다. 그래서 사용중인 릴레이명에 적당한 이름을 붙여두어, 좀더 쉽게 레더도를 파악할 수 있도록 하는 기능입니다. 다음은 별명을 전혀 사용하지 않은 상태의 레더입니다. F2, F42, M3 가 어떤용도로 사용되었는지 한눈에 파악되질 않습니다.

다음은 별명을 사용한 경우입니다. 실제 릴레이명과 함께 아랫쪽에 별명이 표시됩니다.

레더 작성시 F2, M3와 같은 릴레이명 대신 별명을 입력할 수 도 있습니다. 이 경우 아랫쪽에 릴레이명이 표시됩니다.

Page 211: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 211 -

별명은 레더작성화면 오른쪽에있는 별도의 윈도우에서 작성하실 수 있습니다. 우선 Alias탭을 먼저 클릭하십시오.

릴레이명 = 별명

위와 같은 형식으로 입력하십시오. 예를들면 다음과 같습니다. P13 = LED1 P36 = BUZZ M11 = TEST_END P, M 영역이외에도 K, C, T영역에도 별명을 지정하실 수 있습니다.

Page 212: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 212 -

이름짓기 별명을 만들 때 지켜야하는 몇가지 규칙이 있습니다. 반드시 영문자로 시작해야 하며, 16자 이내로 만들어야 합니다. 그리고 중간에 공백문자를 포함하지 않아야 합니다. 올바른예

ABC MOTOR RELAY

잘못된예

12SENSRO ‘ 숫자로 시작된 경우 RELAY 2 ‘ 중간에 공백문자가 들어간 경우 STEPOUT ‘ 명령어로 사용중인 예약어를 쓴 경우

이미 명령어로 사용중이거나, TPCworks에서 사용하는 “예약어”를 사용할 수 없습니다. TPCWORKS에서는 대소문자를 구분하지 않습니다. 모든 소문자는 대문자로 번역됩니다.

Page 213: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 213 -

추가셋업 (Advenced Setup)을 누르면 다음과 같은 화면이 표시됩니다. 여기에서는 A/D, PWM, LCD와 관련된 여러가지 사항을 셋업할 수 있습니다.

각각의 부분에 대한 설명은 앞서 해당 부분에 대한 설명을 참조하시기 바랍니다.

주의 KEYPAD 콘트롤러를 사용하면 포트 0,1,2,3을 다른 용도로 사용할 수 없으므로 주의하시기 바랍니다. 만약 KEYPAD 콘트롤러를 사용하지 않는데도, 이 메뉴를 ON으로 설정한다면 포트 0,1,2,3을 사용할 수 없는 상태가 됩니다.

Page 214: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 214 -

다음은 설정 스크립트 (Config Script)화면 입니다. 이곳은 테이블 변환을 위한 리스트를 작성하거나 추가셋업 정보를 입력하는 곳입니다. 엉뚱한 TEXT 가 있을 경우, 컴파일시 에러가 발생될 수 있으므로, 사용하지 않을 경우 항상 비워두시기 바랍니다.

Page 215: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 215 -

파일의 오픈 및 저장 파일 오픈 메뉴를 누르면 다음과 같은 창이 표시됩니다. 현재 선택된 폴더에 들어있는 TinyPLC용 소스파일 (확장자 .TPL)이 표시되며, 이중 하나를 선택한뒤 OPEN버튼을 누르면, 해당파일이 열립니다.

실제로 소스는 3개의 파일로 되어 있습니다.

확장자 설명

.TPL 레더정보

.TPB SCRIPT정보

.CUC PLC SETUP정보

따라서, 소스를 다른곳으로 COPY할 때에는 3개 파일을 모두 COPY해야합니다. 파일 오픈 시에는 위의 그림처럼 .TPL파일만 표시됩니다만, 실제로는 같은 폴더에 .TPB와 .CUC파일이 모두 저장되어 있습니다. 다만 같이 표시되었을 경우 너무 많은 내용이 표시되어 혼동을 초래할 우려가 있어, .TPL파일만 표시한 것입니다. 소스파일을 컴파일하는 과정에서 OBJ파일이 생성됩니다. OBJ파일은 실행화일을 오브젝트 코드로 기록한 파일입니다. FILE메뉴의 “OBJ파일 다운로드”를 선택한뒤 OBJ파일을 선택하면, 소스파일없이도 다운로드할 수 있습니다. * TPB파일을 유저가 다른 에디터로 고칠 수 없습니다. 이 파일은 다운로드시 새롭게 작성되는 파일입니다.

Page 216: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 216 -

유저가 작성한 소스를 “TinyPLC코어모듈”에 저장했다가 나중에 다시 불러오는 “소스 업로드”기능은 지원하지 않으므로, 주의하시기 바랍니다. 소스를 잃어버렸을 경우, 코어모듈 에서 소스를 다시 불러올 수 있는 방법은 없으므로 소스프로그램의 보관 및 백업에 항상 신경 써 주시기 바랍니다. TPC9X모듈은 기본적으로 “코드 프로텍션”을 지원합니다. 다운로드 된 유저 프로그램을 읽어낼 수 없도록 설계되어 있습니다. 가령, 특수한 장비를 사용하여 반도체 칩 내부의 데이터를 읽어낸다 하더라도, 암호화되어 알 수 없는 숫자들만 읽혀질 뿐입니다. 오브젝트 파일에 대해서.. 만약, 소스파일을 줄 수 없는 거래처나 현장에 다운로드 가능한 실행파일만 전달하고 자 할때에는 이 오브젝트 파일만 카피해서 주면 됩니다. 오브젝트파일에는 소스에 대한 정보가 들어있지 않으므로, 소스를 읽거나 수정할수 없습니다. 파일명과 폴더관리에 대해서.. 최초로 저장할 때 파일명을 물어봅니다. 지금 작성하는 프로그램의 내용을 잘 알수 있도록 파일명을 작명하는 습관을 붙이도록 하는 것이 좋습니다. 1234, TEST, ABC와 같은 무의미한 파일명보다는 MOTORDRV 라든가, LAMPMAKE 등의 프로젝트와 관련된 단어를 선택하도록 하십시오. 그리고 파일을 저장할 폴더관리에도 신경쓰는 것이 좋습니다. 프로젝트별로 폴더를 만들어 놓고, 적절하게 분리해서 관리하는 습관을 들이도록 하십시오. 하나의 폴더나 루트폴더에 모두 섞어서 저장할 경우, 나중에 필요한 파일을 찾는데 불필요한 시간을 낭비하기 때문입니다.

Page 217: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 217 -

다운로드와 실행 RUN을 누르면 (또는 단축키 CTRL-R) 저장-컴파일-다운로드-실행이 됩니다. 번역도중 에러가 발생되면 에러멧세지가 표시되고, 에러가 발생한 곳으로 커서가 이동합니다.

여러분이 작성한 소스내용 (레더입력상태와 PLC SETUP상태)는 RUN을 누를 때 SAVE됩니다. 만약 “환경설정”메뉴에서 “Auto save when download” 를 선택하지 않았다면, Run하는 과정에서 SAVE되지 않으므로 주의하시기 바랍니다. File메뉴의 New를 누르면 현재 레더로직이 모두 지워지게 됩니다. 새로운 레더도를 입력할 때 사용하십시오. 단 PLC SETUP상태는 최종상태를 그대로 유지하게 됩니다.

이곳을 누르면 저장, 컴파일, 다운로드가 진행됩니다.

Page 218: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 218 -

레더작성용 아이콘 툴바 레더를 작성을 위한 아이콘 툴바의 구성입니다.

화면상에 보이는 빨간색 박스가 “커서”입니다. 커서키를 및 마우스 포인트를 사용하면 커서를 이동시킬 수 있습니다. 먼저 커서를 원하는 위치로 이동시킨 후, F3~F12키를 누르면 해당위치에 원하는 심볼을 표시할 수 있습니다.

위에 그림에서처럼 레더도는 입력접점과 접속선 그리고 출력접점등으로 구성됩니다. TinyPLC에서는 오른쪽의 모선 (전원선)은 생략되어 있습니다.

모선 입력접점 횡접속선 출력접점

종접속선

Page 219: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 219 -

LADDER 작성법

LADDER 의 가장 끝에는 반드시 END명령이 있어야 합니다. CUBLOC STUDIO는 END 명령이 위치한 곳까지 번역하고, 저장합니다. END명령 이후에 작성된 부분은 저장되지 않으므로 주의하시기 바랍니다.

Page 220: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 220 -

LADDER 편집 텍스트 수정 이미 작성되어 있는 TEXT부분을 수정하려면 해당위치에 커서를 놓은 뒤, ENTER키를 누르면, 해당부분의 TEXT를 수정할 수 있습니다.

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

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

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

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

Page 221: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 221 -

셀 단위 삭제

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

라인의 삭제

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

Page 222: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 222 -

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

셀 단위 삽입과 삭제

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

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

Page 223: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 223 -

라인 복사 같은 형태의 레더가 계속 반복될 경우 CTRL-A를 누르면, 바로 윗줄의 라인과 똑 같은 모양의 라인이 생성됩니다. 단, 텍스트 내용은 복사되지 않습니다.

빈라인 삽입

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

코멘트 표시 LADDER프로그램 중 빈 공간에 “주석문 (COMMENT)”를 입력할 수 있습니다. 코멘트는 “어포스토로피” (‘) 로 시작해야 하며, 반드시 빈 공간이나, 빈 줄에 표시해야 합니다. 코멘트 사이에 세미콜론을 넣으면 행 바꿈이 되어 두 줄로 코멘트를 입력할 수 있습니다.

Page 224: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 224 -

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

위 레더심볼에서 텍스트를 입력할 때, 릴레이 선택을 위한 도움창이 표시됩니다. P를 누르면 P릴레이중 별명(Alias)이 있는 접점이 표시됩니다. 이중 하나를 고른뒤 TAB키를 누르면 해당 릴레이가 선택됩니다. P로 시작하는 별명도 함께 표시됩니다. 별명을 선택해도 해당 릴레이가 선택 됩니다. 별명이 할당되진 않았지만, 다른곳에서 사용한적이 있는 릴레이는 used라고 표시됩니다. 단, 사용여부는 다운로드후 알 수 있으므로, 레더작성시에 새롭게 사용된 릴레이는 표시되지 않습니다.

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

펑션심볼에 텍스트를 입력할때는 명령어 선택을 위한 도움창이 표시됩니다. 이중 하나의 명령어를 고른뒤 TAB를 누르면 해당 명령어가 선택됩니다.

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

명령어를 고르면, 해당 명령어의 사용법을 상단에 표시합니다.

Page 225: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 225 -

레더의 블록 이동, 복사

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

마우스를 이용하여 드레그-드롭한다면 원하는 영역을 선택할 수 있습니다. 선택된 영역은 반전되어 표시됩니다. 이 상황에서 CTRL-C를 누르면 선택된 영역이 버퍼로 복사됩니다. 화면에는 아무 변화도 일어나지 않지만, 선택된 영역이 버퍼에 저장된 것입니다. CTRL-X를 누르면 복사한 뒤, 해당영역을 모두 클리어 합니다. 복사하고자 하는 지점으로 커서를 이동시킨 뒤 CTRL-V를 누르면 버퍼에 있던 내용이 표시됩니다. CTRL-V는 넣을 공간을 확보한 뒤, 표시하고, CTRL-T는 원래 있던 내용에 겹쳐서 표시됩니다. 따라서 빈자리를 확보하고 CTRL-V를 누르시기 바랍니다.

Page 226: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 226 -

사용할 수 없는 레더 표현 1. 레더의 흐름이 역행되어서는 안됩니다.

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

3. 서로 반대인 상태가 동일 출력에 연결되어 있는 경우가 발생되어서는 안됩니다. 이 경우 레더번역시 특별한 에러 멧세지가 발생되지 않으므로 주의하시기 바랍니다.

Page 227: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 227 -

모니터링 TPCWORKS에서는 LADDER LOGIC의 동작상황을 실시간으로 보여주는 “모니터링”기능을 지원합니다. TinyPLC에서는 다운로드직후 바로 모니터링 상태로가 됩니다. 화면상단에 있는 툴 바에서 모니터링 ON/OFF 스위치를 누르거나 “F2”키를 누르면 모니터링 상태로 들어가거나, 빠져 나올 수 있습니다.

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

LADDER 모니터링 ON/OFF 스위치 또는 F2키

Page 228: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 228 -

WATCH POINT 특정 릴레이나 메모리의 내용을 보고 싶을 때에는 WATCH POINT를 이용합니다. LADDER중 빈 부분에 “어포스트로피”를 두 개 연달아 작성한 뒤 보고 싶은 릴레이번호를 적어줍니다. (쌍따옴표가 아닌, 어포스트로피 두 개입니다.) 다운로드 한 뒤, 모니터링 상태에서 와치포인트에 릴레이의 상태가 표시됩니다.

‘’P0 ‘’D0 ‘’T1

C, T, D는 16비트 값으로 표시 되며, 나머지 P, M, F는 접점형태로 표시됩니다. S릴레이는 와치포인트로 볼 수 없습니다. 주의사항 모니터링 화면의 갱신속도는 PC환경 (실행속도 등)에 따라 실제의 릴레이상태와 약간의 시간차이가 발생할 수 있습니다.

너무 빠른 릴레이의 ON/OFF상황이 화면상에 모두 표시될 수 는 없다는 것을 염두에 두고, 모니터링 화면을 참고하시기 바

랍니다. Setup메뉴의 Ladder Setup에서 Monitoring Speed로 모니터링 속도를 변화시킬 수 있습니다.

Page 229: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 229 -

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

하드웨어적인 입력이 들어오지 않더라도 강제 I/O를 ON으로 하면 입력이 들어오는것으로 처리합니다. 출력포트도 강제로 ON 또는 OFF 할 수 있습니다. 설정방법은 모니터링상태에서 해당접점을 더블클릭 또는 우클릭하여, 팝업메뉴가 표시되도록 한뒤, ON또는 OFF를 선택하십시오.

강제모드를 해제하면, 원래의 기능대로 레더를 수행하는 것입니다. 강제 I/O로 설정된 사항은 전원 OFF시 모두 해제됩니다. TIPS: 강제 I/O 활용법 강제 I/O 기능은 센서 고장으로 인해 운전에 장애가 발생할 경우에 사용하실 수 있습니다. 문제가 발생한 포트를 강제로 ON또는 OFF로 설정해 주는것으로 PLC의 동작여부를 계속 확인하실 수 있습니다. 또는 하드웨어 와이어링이나 입출력 조작없이 간단하게 테스트하는 용도로도 사용하실 수 있습니다.

Page 230: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 230 -

MODIFY기능 온라인 모니터링 중 아래 그림에서 화살표로 표시한 부분과 같이, D영역값을 표시하고 있는 지점을 더블클릭 (또는 우클릭)하면 MODIFY창이 표시됩니다.

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

운영중 D영역의 내용을 임의대로 변경하실 수 있습니다. 레더의 다른부분에서 해당 D영역을 갱신하고 있다면, 변경된값이 계속 유지되지 않습니다. 이 동작은 단 1회만 실행되며, 강제로 유지시켜주지는 않습니다.

Page 231: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 231 -

메뉴 설명 파일 (File) 메뉴 메뉴 설명

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

니다.

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

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

역의 커서가 있는 부분에 삽입시킵니다. 다른 파일에서 레더만 가져올

때 사용하는 메뉴입니다.

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

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

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

설정을 먼저 하신 후 사용하시기 바랍니다.

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

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

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

니다.

끝내기 TPCWORKS를 종료합니다.

실행 (Run) 메뉴 메뉴 설명

다운로드 후 실행 컴파일하고, 에러가 없으면 TPC9X모듈로 다운로드 후 실행합

니다.

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

(Setup)의 <레더로직 환경설정>에서 변경할 수 있습니다.

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

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

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

LADDER모니터링 시작 LADDER모니터링을 시작합니다.

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

펌웨어 다운로드 후 실행 펌웨어를 다운로드 한뒤 레더프로그램을 다운로드하고 실행합

니다.

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

와치윈도우 와치 윈도우를 표시합니다.

Page 232: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 232 -

설정(Setup)메뉴 메뉴 설명

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

니다.

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

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

아도, RUN시에 TPCWORKS에서 펌웨어 업그레이드 여부를 판단하

여, 질문 창을 띄워줍니다.

도움말 메뉴에는 오늘의 팁, 업그레이드 정보, TPCworks의 현재 Version 등을 볼 수 있는 메뉴가 있습니다.

Page 233: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 233 -

환경설정 셋업메뉴에 있는 환경 설정 (Envirionment Option) 창에 대한 자세한 설명입니다.

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

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

정됩니다.)

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

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

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

니다.

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

기계와 연결이 되어 있는 상황에서는 다운로드 후 자동으로 실행하도록 하면 기계동작에 무리가 발생할 가능성이 있습니다. 다운로드 후 자동실행 옵션을 OFF하게 되면, TPC9X은 다운로드 후 정지상태로 머물러 있습니다. 이때 RESET보턴을 누르거나, TPC9X의 전원을 OFF – ON하게 되면 실행됩니다.

Page 234: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 234 -

릴레이 사용현황 보기 레더로직을 작성하다 보면, 특정릴레이를 사용했는지 궁금한 경우가 발생합니다. 이 메뉴를 사용하면 지금 현재 여러분이 작성한 레더로직에서 사용된 릴레이를 모두 볼 수 있습니다. 다운로드 한 뒤, 실행메뉴-> 릴레이 사용현황 보기를 클릭하면 다음과 같은 윈도우가 표시됩니다.

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

Page 235: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 235 -

와치윈도우

화면 상단의 와치윈도우 아이콘을 클릭하면 왼쪽과 같은 별도의 창이 표시됩니다. D, T, C영역등을 한꺼번에 볼 수 있는 기능입니다. PLC와 연결한 상태에서만 사용할 수 있습니다.

Page 236: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 236 -

북마크 기존에는 레더로직이 길어질 경우 원하는 위치로 빨리 찾아기기 어려웠습니다. 새로추가된 Comments 창은 주석문만 따로 모아놓은 창입니다. 이 곳을 클릭하면 해당 주석이 있는 곳으로 바로 이동합니다.

‘* comment only 에 체크표시를 하면, 전체

주석을 표시하지 않고 ‘* 로 시작하는 주석만 표시합니다. 따라서 자주 이동하는 지점에 ‘*형태로 주석문을 작성해두시면 편리합니다.

Page 237: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 237 -

제 12 장

입출력 회로

Page 238: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 238 -

다운로드 케이블 연결 TPC9X을 사용하기 위해서 우선적으로 PC와의 RS232 다운로드 케이블을 연결해야 합니다. 다운로드 케이블은 1:1 연결을 사용하며 총 9가닥 중 4가닥의 신호 선만을 사용합니다.

11

22

33

44

55

66

77

88

99

MALE Type FEMALE Type

PC sideCuBLOC side

PC

Rx

Tx

DTR

GND

1

2

3

4

5

6

7

8

9

SOUTSINATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A

Page 239: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 239 -

PC 통신포트의 점검 간혹 PC상의 통신포트 설정이 잘못되어 있어, TPC9X다운로드가 안 되는 경우가 있습니다. PC에는 보통 1~2개의 RS232통신포트가 내장되어 있지만, 이 통신포트를 사용 가능한 상태로 만들어 주는 것은 유저의 몫입니다. PC의 RS232통신포트를 제대로 동작시키기 위해서는 BIOS셋업과 윈도우 드라이버 설치까지 제대로 구성되어 있어야 하기 때문입니다. 윈도우가 COM포트 드라이버를 제대로 인식하고 있는지 체크해보아야 합니다. <내 컴퓨터 – 시스템 정보표시 – 하드웨어 - 장치관리자>까지 선택하여 들어가 보면, 아래 화면이 표시됩니다. (윈도우 XP의 경우)

이 다이얼 로그 박스에서 “통신포트 (COM1)”이 표시되어 있는지 확인하시기 바랍니다. 만약 통신포트가 나와있지 않다면 <동작>메뉴에서 <하드웨어변경사항 검색>을 눌러, COM1포트를 추가하시기 바랍니다.

끝으로 TPCWORKS의 “SETUP”메뉴에서 “PC 인터페이스 설정”에서 COM1포트로 셋팅해주면 TPC9X 통신포트 설정이 완료된 것입니다. *대부분의 PC에서는 이처럼 복잡한 과정을 거치지 않아도 COM1이 사용가능한 상태로 되어 있는 경우가 많습니다.

Page 240: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 240 -

모든 설정이 다 끝났다면, RS232다운로드 케이블의 3번 단자에서 –10V ~ -12V정도가 나오고 있는지를 확인해 보시기 바랍니다. 간혹 케이블이 잘못되었거나, PC내부 마더보드의 컨넥터가 연결되어 있지 않는 경우도 발생하기 때문입니다.

Rx

Tx

DTR

GND

1

2

3

4

5

6

7

8

9

-12V

RS232포트 셋팅은 최초 한번만 제대로 설치한다면, 이후부터는 신경 쓸 필요가 없게 됩니다. 펌웨어 다운로드 모든 설정이 제대로 되었는데, 다운로드가 안된다면 “펌웨어 다운로드”를 해보시기 바랍니다. TinyPLC의 “펌웨어”가 제대로 라이팅되어 있지 않다면, PC에서 오는 통신요구에 제대로 응답하지 않게 됩니다. 펌웨어 다운로드를 누르면, 새로운 펌웨어를 TinyPLC의 코어부분에 라이팅하게 되므로, 최초상태로 되돌릴 수 있습니다. 이때, 기존 프로그램과 EEPROM의 데이터는 모두 지워지게 되므로 주의바랍니다.

Page 241: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 241 -

USB-RS232케이블 사용

만약 PC에 RS232포트가 없다면 USB-RS232C변환 케이블을 사용하여 연결하시기 바랍니다. 이 케이블을 PC의 USB포트에 연결하신 뒤 디바이스 드라이버를 설치해주어야 합니다.

USB-RS2323드라이버가 설치되면, 해당 케이블을 비어있는 COM포트에 할당합니다.

윈도우의 장치관리자 (Device Manager)를 확인하시면 어떤 COM포트에 할당되었는지 알 수 있습니다. 이 그림의 경우에는 COM3으로 할당되었습니다. TPCWORKS에서 PC 인터페이스 셋업을 선택하신 후, 사용 포트를 COM3으로 조정하시면 됩니다.

Page 242: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 242 -

여기까지 하시면 USB-RS232케이블 사용을 위한 모

든 준비가 끝난 것입니다. 이제 TPCWORKS에서 프로

그램을 작성한 뒤 실행버튼을 눌러보세요. 다운로드가

잘 될 것입니다.

만약 다운로드가 잘 되지 않는다면, USB 드라이버의

재설치 및 전원 통신케이블 접속상태 등을 체크해 보시

기 바랍니다. (참고적으로 USB-RS232케이블 사용시,

대용량 USB 저장장치를 동시 접속하면, 다운로드 시

문제가 발생될 수 있으므로 주의하시기 바랍니다.)

*주의사항 : RS232케이블의 길이는 최대 2미터까지만 사용할 수 있습니다. 그 이상의 거리에서는 다운로드 및 디버깅 / 모니터링의 정확한 동작을 보증할 수 없습니다.

Page 243: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 243 -

다운로드 시 발생되는 에러멧세지 1. RS232통신에러입니다. 케이블상태나 전원상태, PC의 통신 설정상태를 점검해보십시오. 케이블을 연결하지 않았거나, TPC9X코어모듈에 전원이 공급되지 않았을 경우, 또는 PC상의 통신포트 설정에 이상이 있는 경우 발생하는 에러 멧세지입니다. 2. Ladder에서 END를 찾을 수 없습니다. 소스파일 자체를 오픈하지 않았거나, LADDER부에서 END명령을 작성하지 않은 경우입니다. 이 경우는 통신문제와는 관계없는 경우입니다. 3. Ladder컴파일 에러 LADDER부에서 문법상의 오류 및 회로 결선상의 오류가 있는 경우입니다. 이 경우는 통신문제와는 관계없는 경우입니다. 4. 존재하지 않는 RS232포트입니다. PC상의 COM포트 셋업에 문제가 있는 경우이거나, 존재하지 않는 COM포트를 선택한 경우입니다. 앞에서 설명한 BIOS셋업상태와 윈도우 시스템에서의 COM포트 설정상태를 점검해 보아야 합니다. 앞에서 설명한대로 설정했는데도 불구하고 똑 같은 에러가 발생한다면 PC전문가의 도움을 받아야 합니다. 이 에러는 TPCWORKS에서 COM포트를 찾지 못하는 문제이므로, TPC9X하드웨어 상태와는 무관한 문제입니다. 5. 체크섬 불일치 발생: 플레쉬 메모리의 일부가 손상되었습니다. TinyPLC 코어모듈 내부에 있는 플레쉬 메모리의 일부가 손상되거나, 다운로드 중 전원의 불안이나 기타요인 등으로 인해, 제대로 플레쉬에 기입되지 못한 경우입니다. 이 경우 다시 다운로드 하면 제대로 다운로드 될 수도 있습니다. 반복해서 같은 에러멧세지가 발생한다면 메뉴상의 “펌웨어 다운로드”를 실행한 뒤 다시 해보시고, 그래도 안 된다면, TinyPLC 코어모듈을 다른 것으로 교체하여 사용하시기 바랍니다. TinyPLC 내부에 있는 플레쉬 메모리는 최대 10만번까지 다운로드 가능하며, 그 이상 사용하였을 경우, 특정 메모리 블록이 손상될 수 있습니다. 6. 억세스 코드가 잘못되었습니다. TinyPLC 내부에 있는 “슈퍼바이저”칩이 손상된 경우입니다. 이 경우에도 펌웨어 다운로드를 다시 해보시고, 그래도 안 된다면 TinyPLC 코어모듈을 다른 것으로 교체해야 합니다.

Page 244: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 244 -

TinyPLC 기본회로 TinyPLC 코어모듈이 동작하기 위해서 기본적으로 구성해주어야 하는 회로입니다.

Rx

Tx

DTR

GND

1

2

3

4

5

6

7

8

9

SOUTSIN

ATNVSS

SS_P0(Input_only)SCK_P1

MOSI_P2MISO_P3

P4PWM0_P5PWM1_P6PWM2_P7

(CUNET)SCL_P8(CUNET)SDA_P9

P10P11

TX1RX1

AVDDN/C

ADC0_P24ADC1_P25ADC2_P26ADC3_P27

P47P46P45P44P43P42P41P40

VDDVSSRESN/CP16P17P18P19_PWM3P20_PWM4_INT0P21_PWM5_INT1P22_INT2P23_INT3P15_HCNT1P14_HCNT0P13P12

123456789

10111213141516

33343536373839404142434445464748

49505152535455565758596061626364

17181920212223242526272829303132

TTLTX1TTLRX1AVREFP48P31_ADC7P30_ADC6P29_ADC5P28_ADC4P32P33P34P35P36P37P38P39

TPC91A

DC5V

VDD단자에는 5V를 VSS단자에는 GND (0V)를 연결하십시오. 그리고 다운로드가 가능하도록 PC의 COM포트와 SOUT, SIN, ATN단자를 연결하십시오. 코어모듈의 종류마다 VDD, VSS의 위치가 다르므로, 핀아웃을 정확히 확인한 뒤 연결하시기 바랍니다. 코어모듈에 따라서 여러 개의 VDD와 VSS가 있는 경우도 있습니다. 이 경우에는 모든 VDD를 5V에 연결하고, 모든 VSS를 GND에 연결해야 합니다.

Page 245: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 245 -

입출력 회로 구성법 TinyPLC코어모듈의 I/O 포트는 5V신호를 입력받거나 출력할 수 있습니다. I/O포트를 INPUT모드로 할것인지, OUTPUT모드로 할것인지는 TPCworks의 PLC SETUP메뉴 에서 지정해줍니다. 다음은 I/O포트에 출력소자인 LED와 , 입력소자인 스위치, 볼륨 등을 연결하는 방법에 대한 설명입니다. LED연결회로 TinyPLC의 I/O포트에 다음회로와 같이 LED를 연결한 뒤, 해당 포트로 HIGH를 출력하면 LED가 켜집니다.

I/O Port330 ohm

스위치 연결회로 TinyPLC의 I/O포트에 다음회로와 같이 스위치를 연결한 뒤, 해당 포트로 INPUT상태로 만들고, 스위치를 누르면 HIGH가 입력되고, 스위치를 누르지 않으면 LOW가 입력됩니다.

I/O Port10Kohm

볼륨 연결회로 TinyPLC의 A/D입력 가능한 I/O포트에 다음회로와 같이 볼륨을 연결한 뒤, AD변환을 거쳐 볼륨의 상태를 읽어올 수 있습니다.

I/O Port10K ohm

Page 246: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 246 -

TinyPLC 코어모듈은 기본적으로 5V로 구동됩니다. 5V를 초과하는 전원전압을 I/O로 사용하고자 할 때에는 별도의 변환회로를 추가해주어야 합니다. RELAY출력 회로 TinyPLC I/O포트에 릴레이를 연결하는 기본회로입니다. 포토커플러를 사용하여 24V측과 전원을 완전히 분리하였으므로, 24V측의 노이즈 등이 5V측으로 전달되지 않도록 구성된 회로입니다. (LOAD란 부하를 의미합니다.) RELAY출력회로는 단지 접점회로에 불과하므로, 외부에 별도의 전원을 구성해주어야 합니다.

I/O Port

24V +

GND24V -

PC-18T110K

1N4148

222

RELAY

ZNR

24V

+

24V

+

LOAD

NPN TR출력 회로 NPN TR을 포토커플러를 사용해서 5V측 전원과 분리시켜 연결한 회로입니다.

I/O Port

24V +

24V -

PC-18T1

10K

4.7K

1N4148 LOAD

DC24V입력회로 양극성 포트커플러를 사용해서 DC24V의 입력신호가 들어오면 TPC9X에 HIGH가 입력되는 회로입니다.

I/O Port 2.2K (1W)

270

10022K

680

47K

5V

KPC714

0.1uF

24V+ 24V

+

Page 247: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 247 -

AC220V입력 회로 AC220V를 입력하면, TPC9X에 HIGH가 입력되는 회로입니다.

I/O Port

GND

2.2K

22K

330

50K

5V

PC-17T1

0.1uF

AC220V

47uF+

82K

베이스보드와 일체형보드 대부분의 산업현장에서 사용하는 전기신호는 24V나 110V / 220V정도의 고전압신호입니다. 이 신호를 TinyPLC의 코어모듈에 연결하려면 최소한의 입출력 회로가 부가적으로 요구됩니다. I/O확장회로 이외에도 TinyPLC코어모듈이 동작하기 위해서는 5V를 생성하는 전원회로와 PC와 통신을 위한 통신콘넥터등이 기본적으로 필요합니다. 이런 요소들을 모두 갖추고 있는 제품군을 컴파일 테크놀로지 (www.comfile.co.kr)에서 구입하실 수 있습니다.

BASE 보드 : NPN TR OUTPUT + DC24 INPUT + DC24V POWER

일체형 보드 : RELAY 출력 + DC24V INPUT + SMPS

양산하기전 시제품 제작, 또는 소량 다품종 제품 제작에는 “베이스 보드’와 “일체형 보드”등을 사용하시고, 대량생산시에는 위에서 설명한 입출력 회로를 갖춘 PCB를 직접 제작한뒤, TinyPLC코어모듈만 구입해서 장착하는 방법으로 생산하시면 원가를 절감하실 수 있습니다.

Page 248: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 248 -

제 13 장

응용 노트

Page 249: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 249 -

노트 1. 자기유지 (래치)회로 레더로직 (또는 시퀀스 회로)를 배울 때, 가장 먼저 배우는 회로입니다. 이 실험을 위해 CUBLOC STUDY BOARD-1을 사용했습니다. 다음과 같이 회로 (결선)을 구성하세요! CB280모듈과 TinyPLC TPC91A/ TPC92A는 핀아웃이 일치하므로, CUBLOC STUDY BOARD-1 에서 실험할 수 있습니다.

TPC91A

START 스위치를 누르면, 모터가 돌아가고, STOP스위치를 누르면 모터가 정지하는 상황을 가정해 본 것입니다. 모터의 동작은 P2에 연결된 LED로 확인할 수 있습니다.

Page 250: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 250 -

PLC SETUP에서 TPC91A로 선택하시고, P0, P1을 입력상태로 선택하세요. P2는 출력상태로 선택하세요.

레더로직을 입력하신 뒤, RUN보턴을 누르면 실행됩니다.

Page 251: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 251 -

P0스위치를 누르면 P2 LED에 불이 들어오고, P1스위치를 누르면, P2스위치에 불이 꺼집니다. 이것이 바로 자기유지 입니다. P2의 상태를 붙잡아 놓을 수 있다고 해서 “자기 유지”라고 합니다. 타이밍 차트로 보면 더욱 쉽게 알 수 있습니다.

레더를 보면 출력으로 사용한 P2릴레이를 입력에서 사용한 것을 볼 수 있습니다. 이처럼 레더로직에서는 출력 릴레이를 입력으로 사용하는 것이 가능합니다. 출력 릴레이를 입력으로 사용할 경우, 출력을 상태를 가지고 있게 됩니다. 출력 상태를 변화시키지는 못하지만, 출력상태가 무엇인지는 알 수 있는 것입니다.

Page 252: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 252 -

노트 2. 인터록 회로 한 회로가 동작 중일 때 다른 회로의 동작을 막아주는 회로를 “인터록”회로 라고 합니다. 이 것을 설명하기 위해 2개의 자기유지 회로가 있는 레더로직을 만들어 보겠습니다.

TPC91A

PLC SETUP에서 P0, P1, P3, P4를 INPUT으로 P2, P5를 OUTPUT으로 셋팅합니다. 그리고 다음 레더로직을 입력후 실행시켜 보세요.

두개의 자기유지회로가 동작되는 것을 확인해 보세요.

Page 253: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 253 -

이 회로에 약간의 수정만 더 하면, “인터록”회로를 구성할 수 있습니다.

이렇게 한다면, 어느 한쪽이 동작 중일 때 다른 한쪽은 동작할 수 없는 상태가 됩니다. 이처럼, 여러 개의 회로간에 서로 조건을 추가하여 동작을 금지시키거나, 동작이 되도록 만드는 회로를 “인터록”회로라고 부릅니다.

Page 254: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 254 -

노트 3. 스위칭 회로 한 개의 보턴으로 한번 누르면 출력이 ON되고, 한번 더 누르면 출력이 OFF되는 회로입니다. 일종의 TOGGLE동작이라고 할 수 있습니다. 다음과 같이 회로를 구성하세요.

TPC91A

CUBLOC STUDY BOARD-1 이 있으신 분은 다음과 같이 결선하십시오.

한번 누르면 모터가 돌아가고, 한번 더 누르면 모터가 멈추는 상황을 생각하시면 됩니다.

Page 255: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 255 -

PLC SETUP에서 P0을 INPUT으로 P2를 OUTPUT으로 설정하세요. 아래와 같은 레더로직을 작성하고, 실행시켜 보세요. P0 스위치를 누르면 LED에 불이 들어오고, 다시 한 번 누르면 LED에 불이 꺼집니다.

이 동작을 타이밍 차트로 표현하면 다음과 같습니다.

<THE END>

Page 256: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 256 -

부록 ASCII코드표 코드 문자 코드 문자 코드 문자 코드 문자

00H NUL 20H SPACE 40H @ 60H `

01H SOH 21H ! 41H A 61H a

02H STX 22H “ 42H B 62H b

03H ETX 23H # 43H C 63H c

04H EOT 24H $ 44H D 64H d

05H ENQ 25H % 45H E 65H e

06H ACK 26H & 46H F 66H f

07H BEL 27H ‘ 47H G 67H g

08H BS 28H ( 48H H 68H h

09H HT 29H ) 49H I 69H I

0AH LF 2AH * 4AH J 6AH j

0BH VT 2BH + 4BH K 6BH k

0CH FF 2CH , 4CH L 6CH l

0DH CR 2DH - 4DH M 6DH m

0EH SO 2EH . 4EH N 6EH n

0FH SI 2FH / 4FH O 6FH o

10H DLE 30H 0 50H P 70H p

11H DC1 31H 1 51H Q 71H q

12H DC2 32H 2 52H R 72H r

13H DC3 33H 3 53H S 73H s

14H DC4 34H 4 54H T 74H t

15H NAK 35H 5 55H U 75H u

16H SYN 36H 6 56H V 76H v

17H ETB 37H 7 57H W 77H w

18H CAN 38H 8 58H X 78H x

19H EM 39H 9 59H Y 79H y

1AH SUB 3AH : 5AH Z 7AH z

1BH ESC 3BH ; 5BH [ 7BH {

1CH FS 3CH < 5CH \ 7CH |

1DH GS 3DH = 5DH ] 7DH }

1EH RS 3EH > 5EH ^ 7EH ~

1FH US 3FH ? 5FH _ 7FH DEL

Page 257: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 257 -

다운로드에러시 문제 해결방법 TinyPLC 제품 사용자들이 가장 많이 전화로 물어보시는 것이 바로 “다운로드가 안된다” , “RS232 통신에러가 난다.”등 입니다. 이런경우 원인은 대부분 접속불량, 세팅잘못, 컴퓨터 이상등에서 발견되었습니다. 우선 다음 사항을 먼저 체크해보십시오.

1. 하이퍼 터미널로 PC의 RS232포트에 문제가 없는지 체크합니다.

하이퍼 터미널 (통신용 소프트웨어)를 가지고 PC상의 RS232포트가 이상이 없는지를 먼저 체크합니다. 윈도우 화면 하단의 [시작] – [모든프로그램] –[보조프로그램]-[통신]에 가시면 “하이퍼 터미널”이라는 메뉴가 있습니다. 실행시키면 아래화면이 표시되는데, 이름은 아무거나 입력하세요.

확인을 누르면 “연결에 사용할 모뎀” 을 지정하세요. (보통은 COM1포트입니다.)

확인을 누르면 다음과 같은 설정화면이 표시됩니다. 비트/초는 115200 으로 흐름제어는 “없음”으로 하신뒤, 확인을 누르세요.

Page 258: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 258 -

다음과 같은 화면이 됩니다. 이때 키보드의 아무키나 눌러보세요. 하이퍼 터미널화면에는 아무것도 표시되지 않습니다.

RS232포트 케이블에 2번 3번단자를 쇼트 시켜보세요. 3번 송신핀을 2번 수신핀으로 쇼트시키면, PC에서 송신된 데이터가 다시 PC로 들어옵니다. 아래사진처럼 점퍼를 사용하시면 편리합니다.

Page 259: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 259 -

그리고 난뒤 다시 키보드의 아무키나 눌러보세요. 아래화면처럼 누른 키가 하이퍼터미널상에 표시되면 COM포트는 정상입니다.

특히 RS232-TO –USB 케이블을 사용하시는 분들은 반드시 이 테스트를 해보시기 바랍니다. 간혹 드라이버가 잘못 설치되어 RS232가 제대로 동작하지 않는 경우가 발생합니다.

Page 260: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 260 -

2. PC의 RS232포트 통신설정을 체크합니다. 앞서의 하이퍼터미널 테스트 결과 아무응답이 없다면, PC의 COM포트를 WINDOW에서 인식하고 있는지를 살펴보십시오. 내컴퓨터에 마우스 커서를 위치시킨뒤 우클릭하십시오.

아래와 같은 박스가 표시되면 상단 [하드웨어]를 클릭하세요.

그다음 [장치관리자]를 클릭하세요.

그다음 [포트(COM및 LPT)]라고 되어 있는 곳을 보면 통신포트가 나옵니다.

Page 261: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 261 -

[통신포트(COM1)] 을 우클릭하고 [속성]을 선택하면 이 장치가 문제없이 동작중인지를 확인하실 수 있습니다.

만약 사용 불가능이라고 나오면, 이 문제를 먼저 해결하십시오.

Page 262: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 262 -

3. TPCWORKS 에서도 COM포트 셋업이 제대로 되어 있는지 확인합니다.

TPC9X 시리즈는 TPCWORKS를 사용합니다. TinyPLC Studio 는 이전모델인 TPC3X용입니다. 설정메뉴의 [PC 인터페이스 설정…]을 클릭하세요.

앞서 확인한 PC의 COM포트와 같은 포트로 설정해주십시오.

Page 263: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 263 -

4. PC와 TinyPLC 사이의 RS232케이블 연결을 확인합니다. 반드시 RS232 케이블은 저희 컴파일에서 구입한 케이블을 사용하십시오. 만약 따로 제작하셨다면 반드시 길이 2미터 미만의 1:1 케이블 (1번핀이 1번핀, 2번핀이 2번핀….9번핀이 9번핀)으로 연결되어 있는 케이블을 사용하십시오.

11

22

33

44

55

66

77

88

99

MALE Type FEMALE Type

PC sideCuBLOC side

간혹, 크로스케이블과 길이가 너무 긴케이블을 사용하여 문제가 발생하기도 합니다. PC에서 RS232신호가 제대로 나오고 있는지도 확인하십시오. 간혹 WINDOWS에서는 제대로 되어 있지만, 하드웨어적으로 접속이 안되어 있는 경우도 발생합니다. (마더보드 소켓과 접속이 안되어 있는경우, 접촉불량인경우) 다음과 같은 방법으로 확인가능합니다. 테스터기로 PC에 연결된 케이블의 3번핀과 5번핀을 측정했을 때 -10V에서 -12V정도가 나오고 있으면 정상입니다.

RS232 cable

PC

1

2

3

4

5

6

7

8

9

Rx

Tx

DTR

GND

-12V

만약 아무전압도 측정이 안된다면, 케이블을 교체해보시거나, 컴퓨터 케이스를 열어 마더보드와의 연결유무를 확인해 보시기 바랍니다.

Page 264: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 264 -

5. 그래도 안된다면, PC의 BIOS셋업을 살펴보세요. BIOS셋업상에서 COM포트가 안잡혀있는 경우도 있습니다. 컴퓨터를 재부팅한뒤 DEL키를 눌러 BIOS SETUP상태로 들어가세요. BIOS 제조사에 따라서 화면은 다를수 있지만 PERIPHERALS 쪽에 COM포트 셋팅과 관련된 옵션들이 있습니다.

ROM PCI /ISA BIOS CMOS SETUP UTILITY

STANDARD CMOS SETUP INTERGRATED PERIPHERALS BIOS FEATURE SETUP SUPERVISOR PASSWORD CHIPSET FEATURE SETUP USER PASSWORD POWER MANAGEMENT SETUP IDE HDD AUTO DETECTION PCI CONFIGURATION SAVE & EXIT SETUP LOAD SETUP DEFATULTS EXIT WITHOUT SAVIING ESC : QUIT < > : SELECT ITEM F10 : SAVE & EXIT SETUP (SHIFT)F2 : CHANGE COLOR 해당 COM포트를 반드시 ENALBLE (사용가능)상태로 만들어주신뒤 SAVE하고 빠져나오시기 바랍니다.

ROM PCI /ISA BIOS CMOS SETUP UTILITY AWARD SOFTWARE, INC

OnBoard FDD Controller : Enable OnBoard Serial Port 1 : 3F8 / IRQ4 OnBoard Serial Port 2 : Disable OnBoard Parallel Port : 378 / IRQ7 OnBoard Parallel Mode : ECP / EPP

주변장치 셋업을 선택

보드상의 시리얼포트 1을

COM1에 할당합니다.

Page 265: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 265 -

6. DOWNLOAD포트에 연결하세요. 반드시 DOWNLOAD포트 에 연결하세요. 간혹 RS232 CH1에 연결하시는 분이 있습니다. RS232 CH1은 MODBUS통신을 위한 포트입니다.

7. 전원을 인가하세요. 모든 연결이 끝난후에 보드에 전원을 인가하세요. 전원 LED에 불이 들어오면 제대로 인가된 것입니다.

Page 266: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 266 -

8. TPCWORKS에서 RUN 아이콘을 클릭하세요. 이곳을 클릭하시면 다운로드가 진행됩니다.

9. 그래도 안된다면 펌웨어 다운로드를 하신뒤 다시 시도해 보세요.

그래도 다운로드가 안된다면, [설정]메뉴에 있는 펌웨어 다운로드를 실행한뒤, 다시 RUN 아이콘을 눌러보십시오. 펌웨어 다운로드를 사용하면 TinyPLC모듈 내부에 있는 OS펌웨어를 모두 지우고 다시 재라이팅합니다. 간혹 정전기등의 영향으로 펌웨어의 일부가 손상된경우 이렇게 하면 다시 원상복귀됩니다.

5

Page 267: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 267 -

10.Invalid RS232또는 “존재하지 않는 RS232”라고 나오면 컴퓨터쪽만 점검하세요.

이 에러 멧세지는 컴퓨터의 문제입니다. TinyPLC제품과는 관계없이, 컴퓨터의 COM포트가 없거나, 잘못세팅된 경우입니다.

11.A/S를 의뢰해주세요. 위에 설명한대로 다 했는데도 동작을 안한다면, 모듈 불량일 가능성이 있습니다. 만약, 다른 모듈을 가지고 계신다면, 한번 교체해서 다운로드 해보세요. 다른 건 되는데 그거 하나만 동작을 안한다면, 모듈불량입니다. A/S를 맡겨주시면 됩니다. (저희 본사로 택배발송 요망) *A/S를 의뢰하실때에는 보드 (베이스보드)도 같이 보내주셔야 합니다. 간혹 접속불량등으로 인해 다운로드가 안되는 경우도 발생하기 때문입니다. 사용하고 계신 보드를 보내주셔야 정확한 원인을 찾을 수 있습니다. A/S를 보내주시기전, 한번더 점검해주세요. 저희회사에 접수되는 모듈중 상당수가 이상이 없는 양품으로 판정되어 다시 돌려보내고 있습니다. 무려 50%가 넘습니다. 그중에서는 “펌웨어 다운로드”만 했더니 정상적으로 작동되는 경우가 많습니다. 안된다고 무조건 A/S를 보내지 마시고, 조금만 더 꼼꼼히 원인을 찾아주시기 바랍니다. 시간낭비, 비용낭비를 막을 수 있습니다. 감사합니다.

Page 268: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 268 -

INDEX

*

*, / 연산자 ................................................ 130

^

^ 연산자 ................................................... 131

+

+, - 연산자................................................ 130

<

<< 연산자 ................................................. 133

>

>> 연산자 ................................................. 133

7세그먼트 ............................................... 177

AND ........................................................... 62 AND 연산자 ...................................... 74, 132

BSHL ........................................................ 117 BSHR ................................................ 116, 122

CALLS ..................................................... 110 CLS ........................................................... 170 COUNT .................................................... 164 COUNTRESET ........................................ 164 CSGDEC .................................................. 179 CSGDECDOT .......................................... 183 CSGHEX .................................................. 179 CSGHEXDOT .......................................... 183

CSGNDEC ................................................ 182 CSGNHEX ................................................ 182 CSGNPUT ................................................ 180 CSGXPUT ................................................ 181 CSROFF .................................................... 170 CSRON ..................................................... 170 CTD ............................................................ 73 CTU ............................................................ 72

DBSHL ..................................................... 117 DBSHR ............................................. 116, 122 DEC .......................................................... 172 DECO ........................................................ 114 DEVICE 어드레스 ................................... 188 DF ............................................................... 67 DFN ............................................................ 67 DIST .......................................................... 112 DWADD ..................................................... 95 DWAND ........................................... 101, 102 DWDEC ...................................................... 92 DWDIV ....................................................... 98 DWINC ........................................... 92, 93, 94 DWMOV .................................................... 88 DWOR ........................................................ 99 DWROL ............................................ 103, 105 DWROR ............................................ 104, 106 DWSUB ...................................................... 96 DWXCHG................................................... 89 DWXOR ................................................... 100

ENCO ........................................................ 115

FLOAT ...................................................... 174 FMOV ......................................................... 90 FP( ) .......................................................... 174 FREQOUT ................................................ 154

Page 269: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 269 -

GMOV ........................................................ 91 GOTO ............................................... 107, 108

HEX .......................................................... 173

IF 134 IOR ............................................................. 62

LABEL ..................................................... 108 LOAD ......................................................... 61 LOADN ...................................................... 61 LOC .......................................................... 171

MCS ............................................................ 76 MCSCLR .................................................... 76 MOD 연산자 ............................................ 131 MODBUS ................................................. 187

NOT ............................................................ 62

OR............................................................... 64 OR 연산자 ................................................ 132 OUT ............................................................ 61

PRINT....................................................... 171 PWM......................................................... 149

RSTOUT..................................................... 65

SBRT ........................................................ 110 SETOUT ..................................................... 65 STEPOUT ................................................... 82 STEPPULSE ............................................. 158 STEPSET .................................................... 79 STEPSTOP ............................................... 159

TADIN ..................................................... 145 TAON ......................................................... 68 TND .......................................................... 111 TON ............................................................ 68

UNIT ......................................................... 113

WADD ........................................................ 95 WAND .............................................. 101, 102 WATCH POINT ....................................... 228 WDEC ......................................................... 92 WDIV .......................................................... 98 WINC .............................................. 92, 93, 94 WMOV ....................................................... 88 WMUL ........................................................ 97 WOR ........................................................... 99 WROL ............................................... 103, 105 WROR .............................................. 104, 106 WSHL ....................................................... 118 WSHR ....................................... 119, 120, 121 WSUB ......................................................... 96 WXCHG ..................................................... 89 WXOR ...................................................... 100

XOR 연산자 ............................................. 133

고속 카운터.............................................. 163

Page 270: TinyPLC TPC9X 시리즈 · 2019-10-23 · 타사 plc 에 대하여 잘 알고 있는 유저분들도 본 사용설명서를 반드시 읽어보신 후 사용을 부탁드립니다

TinyPLC TPC9X User’s Manual

- 270 -

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

모니터링 .................................................. 227

비교명령 .................................................... 83

스탭 콘트롤................................................ 79

인터록 ...................................................... 252

특수릴레이................................................. 48