목차 목 차 제 1 장기본명령어의개요및메모리의구성 1 1.1 기본명령어의개요 1 1.2 응용명령어 5 1.3 메모리의구성 20 제 2 장응용명령어 23 2.1 전송명령어 23 2.1.1 MOV,MOVP,MOV,MOVP 23 2.1.2 CMOV,CMOVP,MOV,MOVP 25 2.1.3 GMOV,GMOVP 26 2.1.4 FMOV,FMOVP 28 2.1.5 BMOV,BMOVP 29 2.2 변환명령 30 2.2.1 BC,BCP,BC,BCP 30 2.2.2 BIN,BINP,BIN,BINP 32 2.3 비교명령 33 2.3.1 CMP,CMPP,CMP,CMPP 33 2.3.2 >,<,>=,<=,<>,=,>,<,<=,>=,<>,= 34 2.3.3 TCMP,TCMPP,TCMP,TCMPP 37 2.4 증감명령 38 2.4.1 INC,INCP,INC,INCP 38 2.4.2 EC,ECP,EC,ECP 39 2.5 회전명령 40 2.5.1 ROL,ROLP,ROL,ROLP 40
목차 2.5.2 ROR,RORP,ROR,RORP 41 2.5.3 RCL,RCLP,RCL,RCLP 42 2.5.4 RCR,RCRP,RCR,RCRP 43 2.6 이동명령 44 2.6.1 BSFT,BSFTP 44 2.6.2 WSFT,WSFTP 46 2.6.3 SR 48 2.7 교환명령 50 2.7.1 XCHG,XCHGP,XCHG,XCHGP 50 2.8 BIN 사칙연산 52 2.8.1 A,AP,A,AP 52 2.8.2 SUB,SUBP,SUB,SUBP 53 2.8.3 MUL,MULP,MUL,MULP 54 2.8.4 MULS,MULSP,MULS,MULSP 56 2.8.5 IV,IVP,IV,IVP 58 2.8.6 IVS,IVSP,IVS,IVSP 59 2.9 BC 사칙연산 60 2.9.1 AB,ABP,AB,ABP 60 2.9.2 SUBB,SUBBP,SUBB,SUBBP 61 2.9.3 MULB,MULBP,MULB,MULBP 62 2.9.4 IVB,IVBP,IVB,IVBP 64 2.10 논리연산 65 2.10.1 WAN,WANP,WAN,WANP 65 2.10.2 WOR,WORP,WOR,WORP 66 2.10.3 WXOR,WXORP,WXOR,WXORP 67 2.10.4 WXNR,WXNRP,WXNR,WXNRP 69 2.11 표시명령 70 2.11.1 SEG,SEGP 70 2.11.2 ASC,.ASCP 72
목차 2.12 시스템명령 73 2.12.1 FALS 73 2.12.2 UTY 74 2.12.3 WT, WTP 75 2.12.4 OUTOFF 76 2.12.5 STOP 77 2.13 데이터처리명령어 78 2.13.1 BSUM,BSUMP,SUM,SUMP 78 2.13.2 ENCO,ENCOP 79 2.13.3 ENCO,ENCOP 80 2.13.4 FILR,FILRP,FILR,FILRP 81 2.13.5 FILW,FILWP,FILW,FILWP 83 2.13.6 IS,ISP 85 2.13.7 UNI,UNIP 86 2.13.8 IORF,IORFP 87 2.14 분기명령 88 2.14.1 JMP,JME 88 2.14.2 CALL,CALLP,SBRT,RET 89 2.15 LOOP 명령 91 2.15.1 FOR, NEXT 91 2.15.2 BREAK 92 2.16 케리플레그관련명령 93 2.16.1 STC,CLC 93 2.17 플레그 RESET 관련명령 94 2.17.1 CLE 94 2.18 특수모듈관련명령 95 2.18.1 GET,GETP 95 2.18.2 PUT,PUTP 96 2.19 인터럽트관련명령 97 2.19.1 EI, I 97 2.19.2 TINT 98
목차 2.19.3 INT 99 2.20 부호반전명령 100 2.20.1 NEG,NEGP,NEG,NEGP 100 2.21 데이터레지스터 () 영역비트제어명령 101 2.21.1 BL, BLN 101 2.21.2 BAN,BANN 102 2.21.3 BOR, BORN 103 2.21.4 BOUT 104 2.21.5 BSET,BRST 105 제 3 장기타명령어 107 3.1 데이터링크명령어 107 3.1.1 REA 107 3.1.2 WRITE 108 3.1.3 RGET 109 3.1.4 RPUT 111 3.1.5 CONN 113 3.1.6 STATUS 114 3.2 컴퓨터링크모듈제어명령 115 3.2.1 SN 115 3.2.2 RCV 116 3.2.3 SEN 117 3.2.4 RECV 118 3.3 내장고속카운터및 PI 명령 119 3.3.1 HSC 119 3.3.2 HSCNT 121 3.3.3 PICAL 123 3.3.4 PITUN 125 부록 1 장수치체계및데이터구조 127 부록 2 장특수 ( 링크 ) 릴레이일람 133 부록 3 장특수데이터레지스터 () 일람 141
목차 부록 4 장트러블슈팅 147 부록 5 장 Handy Loader 명령어 Code 일람표 151
제 1 장기본명령의개요및메모리의구성 1.1 기본명령어의개요 1.1.1 접점명령 명칭 Function No. 심벌기능특징 LOA - a 접점연산개시 LOA NOT - b 접점연산개시 AN - a 접점직렬접속 AN NOT - b 접점직렬접속 OR - a 접점병렬접속 OR NOT - b 접점병렬접속 1.1.2 결합명령 명칭 Function No. 심벌기능특징 AN LOA - A B A,B 블록직렬접속 A OR LOA - A,B 블록병렬접속 B MPUSH 005 ( ) MPUSH 현재까지의연산결과 Push MLOA 006 MLOA ( ) 분기점에서이전연산결과 Read MPOP 007 ( ) 분기점에서이전연산결과 Pop 1.1.3 반전명령 명칭 Function No. 심벌기능특징 NOT - NOT 명령전까지의연산결과를반전 제 1 장명령어의개요및메모리의구성 1
1.1.4 마스터콘트롤명령 명칭 Function No. 심벌기능특징 MCS 010 MCS n 마스터콘트롤 Set (n : 0 ~ 7) MCSCLR 011 MCSCLR n 마스터콘트롤클리어 (n : 0 ~ 7) 1.1.5 출력명령 명칭 Function No. 심벌기능특징 017 입력조건상승시 1스캔 Pulse 출력 NOT 018 NOT 입력조건하강시 1스캔 Pulse 출력 SET - SET 접점출력 On 유지 (Set) RST - RST 접점출력 Off 유지 (Reset) OUT - ( ) 연산결과출력 1.1.6 순차 / 후입우선명령 명칭 Function NO. 심벌기능특징 SET S - SET Sxx.xx 순차제어 ( 스텝콘트롤러 ) OUT S - ( Sxx.xx ) 후입우선 ( 스텝콘트롤러 ) 1.1.7 종료명령 명칭 Function No. 심벌기능특징 EN 001 EN Program 의종료 제 1 장명령어의개요및메모리의구성 2
1.1.8 무처리명령 명칭 Function No. 심벌기능특징 NOP 000 래더표현없음 무처리명령 (No Operation), 니모닉에서사 용 1.1.9 타이머명령 명칭 Function No. 심벌기능특징 TON - TON 타이머설정치 입력 t On elay 타이머 타이머접점번호 출력 ( 가산 ) t= 설정시간 TOFF - TOFF 타이머설정치 입력 t Off elay 타이머 타이머접점번호 출력 ( 감산 ) t= 설정시간 타이머설정치 입력 적산타이머 TMR - TMR 타이머접점번호 출력 t1 t 2 ( 가산 ) t= 설정시간 (t1+t2) TMON - TMON 타이머접점번호 타이머설정치 입력 Monostable 타이머 t 출력 ( 감산 ) t= 설정시간 TRTG - TRTG 타이머접점번호 타이머설정치 입력 출력 ( 감산 ) t Retriggerable t= 설정시간 제 1 장명령어의개요및메모리의구성 3
1.1.10 카운터명령 명칭 Function No. 심벌기능특징 Count Pulse 카운터접점번호 Reset 신호 CT - Reset 신호 CT R <S> 카운터설정값 ( 감산 ) Count Pulse 현재치 출력신호 설정치 Count Pulse 카운터접점번호 Reset 신호 CTU - Reset 신호 U CTU R <S> 카운터설정값 ( 가산 ) Count Pulse 현재치출력신호 설정치 가산 Pulse 카운터접점번호 Reset 신호 CTU - U CTU 감산 Pulse Reset 신호 R <S> 가산 Pulse 감산 Pulse 설정치 카운터설정값 ( 가감산 ) 현재치출력신호 Count Pulse 카운터접점번호 Reset 신호 CTR - Reset 신호 U CTR R <S> 카운터설정값 ( 가산 ) Count Pulse 현재치 출력신호 설정치 제 1 장명령어의개요및메모리의구성 4
1.2 응용명령 1.2.1 데이터전송명령 명칭 Function No. 심벌기능특징 MOV MOVP MOV MOVP 080 081 082 083 MOV MOVP MOV MOVP S S S S S 로지정된데이터를 로지정된영역으로전송 S : 전송하고자하는디바이스 : 전송된결과를저장하는디바이스 16Bit 단위수행 32Bit 단위수행 CMOV CMOVP 084 085 CMOV S BCMOVP S S 로지정된워드디바이스의각비트의상태를반전하여 의영역으로전송한다. 16Bit 단위수행 CMOV CMOVP 086 087 CMOV S CMOVP S S 1 0 1 0 1 0 1 0 1 0 1 0 1 0 32Bit 단위수행 GMOV 090 GMOV S Z S 로지정된워드디바이스로부터 Z 개의 데이터를 로지정된디바이스로부터 Z 개의영역으로동시전송한다. 레벨신호 GMOVP 091 GMOVP S Z S Z 상승에지신호 FMOV FMOVP 092 093 FMOV S Z S 로지정된워드디바이스의저장데이터를 로지정된디바이스로부터 Z 개의영역으로동일하게전송한다. S Z 레벨신호 상승에지신호 BMOV BMOVP 100 101 BMOV S CW BMOVP S CW S 로지정된워드데이터의 16Bit 를 로지정된영역으로비트를전송한다. S: 전송할워드디바이스 : 전송된데이터저장디바이스 CW : 전송시작비트번호및전송크기 레벨신호 상승에지신호 제 1 장명령어의개요및메모리의구성 5
1.2.2 변환명령 명칭 BC BCP BC BCP Function No. 060 061 062 063 BC BCP BC 심벌기능특징 S S S BCP S S 영역의 BIN 코드형식의데이터를 BC 코드로변환한후 영역으로저장한다. S : BIN 코드데이터저장영역 : BC 코드데이터저장영역 16Bit 단위수행 32Bit 단위수행 BIN BINP BIN BINP 064 065 066 067 BIN BINP BIN BINP S S S S S 영역의 BC 코드형식의데이터를 BIN 코드로변환한후 영역으로저장한다. S : BC 코드데이터저장영역 : BIN 코드데이터저장영역 16Bit 단위수행 32Bit 단위수행 1.2.3 비교명령 명칭 Function No. 심벌기능특징 CMP CMPP CMP CMPP 050 051 052 053 CMP S1 S2 CMPP S1 S2 CMP S1 S2 CMPP S1 S2 S1 과 S2 의저장데이터크기를비교 ( Unsigned 연산 ) 연산결과는 F120 ~ F125 의 6 개의내부플레그를이용하여연산결과를표시합니다. 16Bit 단위수행 32Bit 단위수행 TCMP TCMPP TCMP TCMPP 054 055 056 057 TCMP S1 S2 TCMPP S1 S2 TCMP S1 S2 TCMPP S1 S2 S1 의영역에저장된데이터를 S2 로부터 16 개의디바이스의저장데이터를조사하여해당순서에따른 영역의 16 비트중해당번호의비트를 ON 합니다. 16Bit 단위수행 32Bit 단위수행 제 1 장명령어의개요및메모리의구성 6
LOA= 028 = S1 S2 S1 과 S2 의내용을비교하여결과를 LOA> 038 > S1 S2 비트 Result (BR) 에저장 ( Signed 연산 ) LOA< LOA>= 048 058 < S1 S2 >= S1 S2 16Bit 단위수행 LOA<= LOA<> 068 078 <= S1 S2 <> S1 S2 명칭 LOA= LOA> Function No. 029 039 심벌기능특징 = S1 S2 > S1 S2 S1 과 S2 의내용을비교하여결과를비트 Result (BR) 에저장 ( signed 연산 ) LOA< LOA>= 049 059 < S1 S2 >= S1 S2 32Bit 단위수행 LOA<= 069 <= S1 S2 LOA<> AN= AN> 079 094 096 < > S1 S2 = S1 S2 > S1 S2 S1 과 S2 의내용비교결과와 BR 을 AN 하여비트 Result (BR) 에저장 (signed 연산 ) AN< AN>= 098 106 < S1 S2 >= S1 S2 16Bit 단위수행 AN<= 108 <= S1 S2 AN<> AN= AN> 118 095 097 < > S1 S2 = S1 S2 > S1 S2 S1 과 S2 의내용비교결과와 BR 을 AN 하여비트 Result (BR) 에저장 (signed 연산 ) AN< AN>= 099 107 < S1 S2 >= S1 S2 32Bit 단위수행 AN<= 109 <= S1 S2 AN<> OR= OR> 119 188 196 < > S1 S2 = S1 S2 > S1 S2 S1 과 S2 의내용을비교결과와 BR 을 OR 하여비트 Result (BR) 에저장 (signed 연산 ) OR< OR>= 198 216 < S1 S2 >= S1 S2 16Bit 단위수행 OR<= 218 <= S1 S2 OR<> 228 < > S1 S2 제 1 장명령어의개요및메모리의구성 7
OR= OR> 189 197 = S1 S2 > S1 S2 S1 과 S2 의내용을비교결과와 BR 을 OR 하여비트 Result (BR) 에저장 (signed 연산 ) OR< OR>= 199 217 < S1 S2 >= S1 S2 32Bit 단위수행 OR<= 219 <= S1 S2 OR< > 229 < > S1 S2 1.2.4 증감명령 명칭 Function No. 심벌기능특징 INC INCP 020 021 INC INCP 로지정된데이터의이전스켄결과값에 1 을증가를하여현재스켄연산결과값으로저장합니다. 16Bit 단위수행 INC INCP 022 023 INC INCP 32Bit 단위수행 EC ECP 024 025 EC ECP 로지정된데이터의이전스켄결과값에 1 을감소하여현재스켄연산결과값으로저장합니다. 16Bit 단위수행 EC ECP 026 027 EC ECP 32Bit 단위수행 1.2.5 이동명령 명칭 BSFT BSFTP WSFT WSFTP Function No. 074 075 SR 237 BSFT SR 심벌기능특징 S E BSFTP S E 070 WSFT S E 071 WSFTP S E N S 로지정된비트디바이스번호로부터 E 로지정된번호의방향으로 1 비트단위로이동하는명령어 S 로지정된워드디바이스번호로부터 E 로지정된번호의방향으로 1워드단위로이동하는명령어 로지정한디바이스로부터 N 으로지정한이동구간을 1 비트단위로이동 레벨신호상승신호레벨신호상승신호 상승신호 제 1 장명령어의개요및메모리의구성 8
1.2.6 회전명령 명칭 Function No. 심벌기능특징 ROL ROLP ROL ROLP 030 031 032 033 ROL ROLP ROL ROLP 1 워드데이터 16 비트각각의상태를명령어수행시좌측의방향으로 1 비트씩회전하며최상위비트는케리플레그영역및최하위비트영역으로이동한다. 16Bit 단위수행 32Bit 단위수행 ROR RORP ROR RORP 034 035 036 037 ROR RORP ROR RORP 1 워드데이터 16 비트각각의상태를명령어수행시우측의방향으로 1 비트씩회전하며최하위비트는케리플레그영역및최상위비트영역으로이동한다. 16Bit 단위수행 32Bit 단위수행 RCL RCLP RCL RCLP 040 041 042 043 RCL RCLP RCL RCLP 1 워드데이터 16 비트각각의상태를명령어수행마다좌측의방향으로 1 비트씩회전하며최상위비트는케리플레그영역으로로케리플레그데이터는최하위비트로이동한다. 16Bit 단위수행 32Bit 단위수행 RCR RCRP RCR RCRP 044 045 046 047 RCR RCRP RCR RCRP 1 워드데이터 16 비트각각의상태를명령어수행마다좌측의방향으로 1 비트씩회전하며최하위비트는케리플레그영역으로로케리플레그데이터는최상위비트로이동한다. 16Bit 단위수행 32Bit 단위수행 제 1 장명령어의개요및메모리의구성 9
1.2.7 교환명령 명칭 XCHG XCHGP XCHG XCHGP Function No. 102 103 104 105 XCHG 심벌기능특징 1 2 XCHGP 1 2 XCHG 1 2 XCHGP 1 2 1 에저장된데이터와 2 에저장된데이터를상호교환하여저장한다. 16Bit 단위수행 32Bit 단위수행 1.2.8 BIN 사칙연산 명칭 Function No. 심벌기능특징 A AP 110 111 A S1 S2 AP S1 S2 S1 로지정된데이터에 S2 로지정된데이터의값을덧셈한후그결과를 의영역에저장한다. 16Bit 단위수행 A AP 112 113 A S1 S2 AP S1 S2 S1+S2 32Bit 단위수행 SUB SUBP 114 115 SUB S1 S2 SUBP S1 S2 S1 로지정된데이터에서 S2 로지정된데이터의값을뺄셈한후그결과를 의영역에저장한다. 16Bit 단위수행 SUB SUBP 116 117 SUB S1 S2 SUBP S1 S2 S1 - S2 32Bit 단위수행 MUL MULP 120 121 MUL S1 S2 MULP S1 S2 S1 로지정된데이터에 S2 로지정된데이터의값을곱셈한후그결과를 및 +1 의영역에저장한다. 16Bit 단위수행 MUL MULP 122 123 MUL S1 S2 MULP S1 S2 S1 S2 ( 하위 ) +1( 상위 ) 32Bit 단위수행 IV IVP IV IVP 124 125 126 127 IV S1 S2 IVP S1 S2 IV S1 S2 IVP S1 S2 S1 로지정된데이터를 S2 로지정된데이터의값으로나눗셈한후그결과를중몫은 으로나머지는 +1 의영역에저장한다. S1 S2 ( 몫 ) +1( 나머지 ) 16Bit 단위수행 32Bit 단위수행 제 1 장명령어의개요및메모리의구성 10
명칭 Function No. 심벌기능특징 MULS MULSP MULS MULSP 072 073 076 077 MULS S1 S2 S1 로지정된데이터에 S2 로지정된 MULSP S1 S2 MULS S1 S2 MULSP S1 S2 데이터의값을곱셈한후그결과를 및 +1 의영역에저장한다. ( 부호를고려한연산처리 ) S1 S2 ( 하위 ) + 1 ( 상위 ) 16Bit 단위수행 32Bit 단위수행 IVS IVSP IVS IVSP 088 089 128 129 IVS S1 S2 IVSP S1 S2 IVS S1 S2 IVSP S1 S2 S1 로지정된데이터를 S2 로지정된데이터의값으로나눗셈한후그결과중몫은 으로나머지는 +1 의영역에저장한다. ( 부호를고려한연산처리 ) S1 S2 ( 몫 ) + 1 ( 나머지 ) 16Bit 단위수행 32Bit 단위수행 제 1 장명령어의개요및메모리의구성 11
1.2.9 BC 사칙연산 명칭 Function No. 심벌기능특징 AB ABP 130 131 AB S1 S2 ABP S1 S2 S1 로지정된 BC 코드데이터에 S2 로지정된 BC 코드데이터의값을덧셈한후그결과를 의영역에저장한다. 16Bit 단위수행 AB ABP 132 133 AB S1 S2 ABP S1 S2 S1 + S2 32Bit 단위수행 SUBB SUBBP 134 135 SUBB S1 S2 SUBBP S1 S2 S1 로지정된 BC 코드데이터에서 S2 로지정된 BC 코드데이터값을뺄셈한후그결과를 의영역에저장한다. 16Bit 단위수행 SUBB SUBBP 136 137 SUBB S1 S2 SUBBP S1 S2 S1 S2 32Bit 단위수행 MULB MULBP 140 141 MULB S1 S2 MULBP S1 S2 S1 로지정된 BC 코드데이터에 S2 로지정된 BC 코드데이터값을곱셈한후그결과를 의영역에저장한다 16Bit 단위수행 MULB MULBP 142 143 MULB S1 S2 MULBP S1 S2 S1 * S2 ( 하위 ) +1 ( 상위 ) 32Bit 단위수행 IVB IVBP 144 145 IVB S1 S2 IVBP S1 S2 S1 로지정된 BC 코드데이터에 S2 로지정된 BC 코드데이터값을곱셈한후그결과를 의영역에저장한다 16Bit 단위수행 IVB IVBP 146 147 IVB S1 S2 IVBP S1 S2 S1 S2 ( 몫 ) +1 ( 나머지 ) 32Bit 단위수행 1.2.10 논리연산 명칭 WAN WANP WAN WANP Function No. 심벌기능특징 150 151 152 153 WAN S1 S2 WANP S1 S2 WANP S1 S2 WAN S1 S2 S1 워드데이터의각각의비트상태와 S2 워드데이터의비트상태와 AN 연산을수행한후그결과를 의영역에저장한다. S1 AN S2 16Bit 단위수행 32Bit 단위수행 제 1 장명령어의개요및메모리의구성 12
명칭 Function No. 심벌기능특징 WOR WORP WOR WORP 154 155 156 157 WOR S1 S2 WORP S1 S2 WOR S1 S2 WORP S1 S2 S1 워드데이터의각각의비트상태를 S2 워드데이터의비트상태와 OR 연산을수행한후그결과를 의영역에저장한다. S1 OR S2 16Bit 단위수행 32Bit 단위수행 WXOR WXORP WXOR WXORP 160 161 162 163 WXOR S1 S2 WXORP S1 S2 WXOR S1 S2 WXORP S1 S2 S1 워드데이터의각각의비트상태를 S2 워드데이터의비트상태와 Exclusive OR 연산을수행한후그결과를 의영역에저장한다. S1 XOR S2 16Bit 단위수행 32Bit 단위수행 WXNR WXNRP WXNR WXNRP 164 165 166 167 WXNR S1 S2 WXNRP S1 S2 WXNR S1 S2 WXNRP S1 S2 S1 워드데이터의각각의비트상태를 S2 워드데이터의비트상태와 Exclusive NOR 연산을수행한후그결과를 의영역에저장한다. S1 XNR S2 16Bit 단위수행 32Bit 단위수행 1.2.11 표시명령 명칭 SEG SEGP ASC ASCP Function No. 174 175 190 191 심벌기능특징 SEG S CW SEGP S CW ASC S CW ASCP S CW S 에저장된데이터를 7 Segment 를이용하여표시출력한다 CW : 명령어수행형식 S 에저장된데이터를 ASC II 코드로변환하여 영역에저장한다. CW : 명령어수행형식 레벨신호상승에지레벨신호 상승에지 제 1 장명령어의개요및메모리의구성 13
1.2.12 시스템명령 명칭 Function No. 심벌기능특징 FALS 204 FALS n 자기진단 ( 고장표시 ) 상승에지 UTY 205 타이밍펄스의 On / Off 주기를사용자가 UTY n1 n2 지정한다 --- F100 ~ F107 (8 개 ) n1 On 되는스켄회수 n2 Off 되는스켄회수 WT WTP 202 203 WT WT P Watch og Timer Clear OUTOFF 208 OUTOFF 프로그램운전중외부출력을 Of f 합니다. STOP 008 STOP PLC 운전모드를프로그램에서 Stop 전환 상승에지 레벨신호 상승에지 레벨신호 상승에지 1.2.13 시스템명령 명칭 IS ISP Function No. 194 195 심벌기능특징 IS S Z ISP S Z S 로지정된워드데이터의비트를 4 비트씩분리하여 영역을선두로 Z 로지정한수만큼저장합니다. 레벨신호상승에지 UNI UNIP 192 193 UNI S Z UNIP S Z S 로지정된워드데이터의중비트를하위 4 비트을결합하여 영역에저장합니다 Z 결합데이터개수 레벨신호상승에지 IORF IORFP 200 201 IORF S1 S2 IORFP S1 S2 프로그램연산중 I/O 리프레쉬를합니다 S1 I/O 리프레쉬시작번호 ( 워드 ) S2 I/O 리프레쉬종료번호 ( 워드 ) 레벨신호상승에지 제 1 장명령어의개요및메모리의구성 14
1.2.14 처리명령 명칭 BSUM BSUMP BSUM BSUMP Function No. 170 171 172 173 심벌기능특징 BSUM S BSUMP S BSUM S BSUMP S S 로지정된워드데이터의비트중 1 의상태로지정된비트의수를파악하여 로지정된영역에수치로서표시합니다. 16Bit 단위수행 32Bit 단위수행 ENCO ENCOP 176 177 ENCO S Z ENCOP S Z S 로지정된워드데이터의비트중 1 의상태를저장하고있는영역중최상위비트의위치를파악하여 영역에그위치를수치로서표시합니다 레벨신호 상승에지 ECO ECOP 178 179 ECO S Z ECOP S Z S 로지정된디바이스의저장수치에해당하는비트 ( 로지정된워드영역중 ) 를 1 의상태로합니다 레벨신호 상승에지 FILR FILRP FILR FILRP 180 181 182 183 FILR S Z FILRP S Z FILR S Z FILRP S Z S 로지정된디바이스번호에서 Z 영역지정수만큼증가된번호의디바이스의데이터를 로지정된디바이스로전송합니다. 16Bit 단위수행 32Bit 단위수행 FILW FILWP FILW FILWP 184 185 186 187 FILW S Z FILWP S Z FILW S Z FILWP S Z S 로지정된디바이스번호에서 Z 영역지정수만큼증가된번호의디바이스의데이터에 로지정된디바이스의데이터를전송합니다. 16Bit 단위수행 32Bit 단위수행 제 1 장명령어의개요및메모리의구성 15
1.2.15 분기명령 명칭 Function No. 심벌기능특징 JMP JME 012 013 JMP JME n n 프로그램중연산스텝위치를이동 JMP n : 이동시작위치 JME n : 이동종료위치 CALL CALLP 014 015 CALL CALLP n n CALL n : 서브루틴프로그램을호출 SBRT n : 서브루틴프로그램시작 RET : 서브루틴프로그램종료 레벨신호상승에지 SBRT 016 SBRT n RET 004 RET 1.2.16 Loop 명령 명칭 Function No. 심벌기능특징 FOR NEXT 206 207 FOR NEXT n 프로그램의일부스텝구간을반복실행 FOR n : 반복실행시작 ( n 반복회수 ) NEXT : 반복종료 BREAK 220 BREAK For ~ Next Loop 를빠져나옴 1.2.17 플래그관련명령 명칭 Function No. 심벌기능특징 STC 002 STC 플레그를 set( 1 ) 으로설정한다. CLC 003 CLC 플레그를 Clear( 0 ) 으로설정한다. 1.2.18 플래그 Reset 명령 명칭 Function No. 심벌기능특징 CLE 009 CLE 래치플래그인 F115 를클리어 제 1 장명령어의개요및메모리의구성 16
1.2.19 특수모듈관련명령 명칭 GET GETP PUT PUTP Function No. 230 231 234 235 GET sl 심벌기능특징 N n GETP sl N n PUT sl N S n PUTP sl N S n 특수모듈공용 RAM 으로부터데이터를 Read sl : 장착슬롯번호 / N : 공용 RAM 번호 : 저장디바이스번호 / n : 수행개수 특수모듈공용 RAM 으로데이터를 Write sl : 장착슬롯번호 / N : 공용 RAM 번호 S : 저장디바이스번호 / n : 수행개수 레벨신호 상승에지 레벨신호 상승에지 1.2.20 데이터링크관련명령 명칭 Function No. REA 244 WRITE 245 RGET 232 RPUT 233 REA 심벌기능특징 t s S n X WRITE t s S n X RGET t s S n X RPUT t s S n X FUEA 모듈을이용하여지정국번모듈데이터를 Read FUEA 모듈을이용하여지정국번모듈에데이터를 Write FUEA 모듈을이용하여 Remote 국에장착된모듈데이터를 Read FUEA 모듈을이용하여 Remote 국에장착된모듈데이터를 Write CONN (MINI MAP) 246 CONN t s X [MiniMap 전용명령 ] 통신국과의통신채널설립을위해서사용 STATUS 247 STATUS t s X 상대국의상태를알고자할때사용 1.2.21 인터럽트관련명령 명칭 Function No. 심벌기능특징 EI 238 EI n 인터럽트허가 ( 채널별 ) I 239 I n 인터럽트금지 ( 채널별 ) EI 221 EI 인터럽트허가 ( 전채널 ) I 222 I 인터럽트금지 ( 전채널 ) TINT n 226 TINT n 정주기인터럽트 INT n 227 I N T n 외부입력인터럽트 IRET 225 I R E T 인터럽트루틴 (Routine) 종료표시 제 1 장명령어의개요및메모리의구성 17
1.2.22 부호반전명령 명칭 NEG NEGP NEG NEGP Function No. 240 241 242 243 NEG NEGP NEG 심벌기능특징 NEGP 로지정된영역의내용을 2 의보수값을 영역에저장 레벨신호 상승에지 레벨신호 상승에지 1.2.23 데이터레지스터 () 영역비트제어명령 명칭 Function No. 심벌기능특징 BL 248 B N evice 영역의 N 번째비트를현재의연산결과로한다. 레벨신호 BLN 249 BN N evice 영역의 N 번째비트를반전하여현재의연산결과로한다. 레벨신호 BAN 250 B N evice 영역의 N 번째비트를현재의연산결과와 AN 한다. 레벨신호 BANN 251 BN N evice 영역의 N 번째비트를반전하여현재의연산결과와 AN 한다. 레벨신호 BOR 252 B N evice 영역의 N 번째비트를현재의연산결과와 OR 한다. 레벨신호 BORN 253 BN N evice 영역의 N 번째비트를반전하여현재의연산결과와 OR 한다. 레벨신호 BOUT 236 BOUT N evice 영역의 N 번째비트를현재의연산결과를출력한다. 레벨신호 BSET 223 BSET N 조건만족시 evice 영역의 N 번째비트를 Set 한다. 레벨신호 BRST 224 BRST N 조건만족시 evice 영역의 N 번째비트를 Reset 한다. 레벨신호 제 1 장명령어의개요및메모리의구성 18
1.2.24 내장고속카운터, PI 명령어 명칭 Function No. 심벌기능특징 HSC 215 EN U/ PR HSC PV< > SV< > EN 신호가 On 되면내장고속카운터기능을수행합니다. HSCNT 210 HSCNT 파라미터에설정된고속카운터기능을수행합니다. PICAL 139 PICAL 로지정된영역의설정대로내장 PI 연산명령을수행합니다. PITUN 138 PITUN 로지정된영역의설정대로내장 PI 자동동조를수행합니다. 제 1 장명령어의개요및메모리의구성 19
1.3 메모리의구성 1.3.1 K10S1 비트데이터영역워드데이터영역사용자프로그램영역 P00 0 ~ F 입출력릴레이 000 0000 ~ FFFF 데이터레지스터 파라미터영역 P01 M00 M15 K00 (32 점 ) P 보조릴레이 (256 점 ) M Keep 릴레이 063 (64 워드 ) 워드 사용자프로그램영역 (800 스텝 ) K07 F00 (128 점 ) 특수릴레이 K T000 타이머현재치 F15 L00 L07 (256 점 ) F Link 릴레이 (128 점 ) L T047 C000 C015 (48 워드 ) 카운터현재치 (16 워드 ) T000 타이머 (100ms) 스텝콘트롤러 T031 T032 (32 점 ) T 타이머 (10ms) (16 x 100 스텝 ) S00.00~S15.99 S T047 C000 C015 (16 점 ) T 카운터 (16 점 ) C 래치영역 P 영역없음 K 영역 K000 ~ K07F T 영역 T024 ~ T031 (10msec) T044 ~ T047 (100msec) L 영역 L00 ~ L07F C 영역 C012 ~ C015 영역 048 ~ 063 S 영역 S12.00 ~ S15.99 제 1 장명령어의개요및메모리의구성 20
1.3.2 K10S / K30S / K60S Bit ata 영역워드 ata 영역 User 프로그램영역 P00 0 ~ F 입출력릴레이 000 0000 ~ FFFF 데이터레지스터 파라미터영역 P05 M00 M31 K00 (96 점 ) P 보조릴레이 (512 점 ) M Keep 릴레이 255 (256 워드 ) 워드 사용자프로그램영역 (2,048 스텝 ) K15 F00 (256 점 ) K 특수릴레이 T000 타이머현재치 F15 L00 (256 점 ) F Link 릴레이 T127 C000 (128 워드 ) L15 (256 점 ) L C127 카운터현재치 (128 워드 ) T000 타이머 (100ms) S00 스텝콘트롤러 T095 T096 (96 점 ) T 타이머 (10ms) S31 (32 x 100 스텝 ) S00.00~S31.99 S T127 C000 C127 (32 점 ) T 카운터 (128 점 ) C 래치영역 P 영역없음 K 영역 K000 ~ K15F T 영역 T072 ~ T095 (100msec) T120 ~ T127 (10msec) L 영역 L00 ~ L15F C 영역 C096 ~ C127 영역 192 주 1) ~ 255 S 영역 S24.00 ~ S31.99 주 1)OS V1.7(K10S) 또는 V3.2(K30S/60S) 이상에서는 246 워드를이용하여 영역의래치영역을변경할수있습니다. 자세한내용은해당기종 CPU 사용설명서를참조바랍니다. 제 1 장명령어의개요및메모리의구성 21
1.3.3 K80S/K200S / K300S / K1000S 비트데이터영역워드데이터영역사용자프로그램영역 P00 0 ~ F 0000 ~ FFFF 0000 입출력릴레이데이터레지스터 파라미터영역 1 P M000 M189 M190 M191 K00 ( 알아두기참조 ) P 보조릴레이 (3,040 점 ) M 특수보조릴레이 (32 점 ) M Keep 릴레이 T000 2 ( 알아두기참조 ) 3 특수데이터레지스터 타이머현재치 워드 사용자프로그램영역 MK1000S : 30K 스텝 MK300S : 15K 스텝 MK200S : 7K 스텝 MK80S : 7K 스텝 K31 F00 F63 L00 (512 점 ) K 특수릴레이 (1,024 점 ) F Link 릴레이 T255 C000 C255 (256 워드 ) 카운터현재치 (256 워드 ) L63 (1,024 점 ) L T000 T191 T192 T255 C000 C255 타이머 (100ms) 192점 T 타이머 (10ms) 64 점 T 카운터 256 점 C S00 스텝콘트롤러 S99 (100 x 100 스텝 ) S00.00~S99.99 S 알아두기 P 1 K1000S P63 (1024 점 ) 9000 9999 K300S P31 (512 점 ) K200S P31 (512 점 ) 4500 4999 K80S P13 (224 점 ) 2 3 제 1 장명령어의개요및메모리의구성 22
2 응용명령어 2.1 전송명령어 2.1.1 MOV, MOVP, MOV, MOVP 명령 MOV(P) MOV(P) 사용가능영역 M P K L F T C S # 정수 S1 O O O O O O O O O O O O O O* O O O O 5/7 O 플래그 제로 S1 MOV MOV 플래그 Set 영역이 # 로지정된경우영역초과가발생하면플래그를 SET 하고해당명령어는결과처리되지않습니다. S1 MOVP MOVP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1 지정된데이터또는영역의번호 estination 영역의번호 MOV S1 으로지정된영역의데이터를지정된 영역으로전송합니다. 전송가능한데이터의범위는 h0000 ~ hffff 입니다 MOV / MOVP 는명령어실행시 2워드데이터를동시에전송합니다. 전송가능한데이터의범위는 h00000000 ~ hffffffff 입니다 MOVP / MOVP 는명령어의수행조건변화시 ( OFF -> ON) 1 스켄동안연산됩니다. MOV(P) 1 워드 1 0 0 1 1 0 1 ( S1 ) 1 0 0 1 1 0 1 2) 프로그램예 입력신호 P0000 이 On 될때마다 MOVP 명령에의해 h00f3 데이터가 0004 워드로옮겨지는 프로그램 P0000 MOVP h00f3 0004 23
P0001 을누르면 On elay Timer( T0) 이동작하고 10 초후에 P0020 이동작하게된다 이때타이머의현재치를 0300 에저장하는프로그램 P0001 P0001 P0001 T0 TON T0 100 MOV T0 0300 MOVP T0 0301 P20 위의프로그램부분중점선안에사용된 MOVP 에의한결과의이유를파악하시기바랍니다. 0301 에저장되는값이 0300 과다른이유는 MOV 명령어와는달리 MOVP 는처음 P0001 이 ON 되는 1스켄이외에는명령어를수행하지않기때문입니다. ( 0300 Timer 의현재값저장 / 0301 Timer 의초기값저장 ) 24
2.1.2 CMOV, CMOVP, CMOV,CMOVP 명령 CMOV(P) CMOV(P) 사용가능영역 M P K L F T C S # 정수 S1 O O O O O O O O O O O O O O* O O O O 5/7 O 플래그 제로 S1 CMOV CMOV 플래그 Set 영역이 # 로지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. S1 CMOVP CMOVP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1 1 의보수를취할데이터가저장되어있는영역의영역번호 1 의보수를취한데이터를저장하게될영역의영역번호 CMOV S1 으로지정된영역의데이터를 1의보수를취하여그결과를 로지정된영역으로전송합니다. CMOV,CMOVP 명령의연산처리단위는 2WOR 입니다. CMOVP,CMOVP 는명령어의수행조건변화시 ( OFF -> ON) 1 스켄만연산됩니다. CMOV(P), 1 워드 1 의보수 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 ( S1 ) 2) 프로그램예입력신호 P0000 이 On 되었을때 0100 워드데이터의보수를취하여 0110 에전송하는프로그램 P0000 CMOVP 0100 0110 CMOVP 실행 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 ( 100 ) ( S1 ) ( 110 ) 25
2.1.3 GMOV, GMOVP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 GMOV GMOVP S1 O O O O O O O O O O O O O* O O O O 7 O Z O O S 1 GMOV Z 플래그 Set Z 의범위가지정영역을초과하는경우 Set 하며해당명령어는결과처리되지않습니다. S 1 GMOVP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 Z 영역설정 S1 Z 데이터를전송하게되는소스영역의선두영역번호 데이터를전송받게되는 estination 영역의선두영역번호 GMOV(P) 를실행하게되는개수 GMOV S1 으로지정된영역의선두영역으로부터 로지정된영역으로 Z( 워드개수 ) 만큼의데이터를일괄적으로전송합니다. GMOVP 는명령어의수행조건변화시 ( OFF -> ON) 1 스켄만연산됩니다. MOV 명령은 1:1 ( 워드 ) 전송, GMOV 명령은 N:N ( 워드 ) 전송의특성이있습니다. Z 의범위가지정영역을초과하는경우는플래그 를 Set하고처리하지않습니다 GMOV 0000 0010 10 0000....... 0009 h0002 h0007 h007f h0055 h005a h006f h0037 : h0002 h0007 h007f h0055 h005a h006f h0037 0010....... 0019 워드값 26
2) 프로그램예 입력신호 P0000 을 On 하였을때 0000, 0001, 0002 워드데이터를 0010,0011,0012 에저장 하는프로그램 F0012 MOV h0001 0000 MOV h0004 0001 P0000 MOV h005f 0002 GMOV 0000 0010 3 EN 0000 0001 0002 S1(Source) h0001 h0004 GMOV 실행 h005f h005f Z ( 수행전 ) ( 수행후 ) (estination) h0001 h0004 0010 0011 0012 27
2.1.4 FMOV, FMOVP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 FMOV FMOVP S1 O O O O O O O O O O O O O* O O O O 7 O Z O O S 1 FMOV Z 플래그 Set Z 의범위가지정영역을초과하는경우 Set 하며해당명령어는결과처리되지않습니다. S 1 FMOVP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 Z 영역설정 S1 Z 데이터를전송하게되는소스 데이터를전송받게되는 estination 영역의선두영역번호 FMOV(P) 를실행하게되는갯수 FMOV S1 으로지정된영역의데이터를지정된영역의선두영역번호부터 Z( 워드개수 ) 만큼전송합니다. 데이터의특정영역을초기화할경우주로사용합니다. FMOVP 는명령어의수행조건변화시 ( OFF -> ON) 1 스켄만연산됩니다. Z 의범위가지정영역을초과하는경우는플래그 를 Set 하고처리하지않습니다. 2) 프로그램 입력신호 P0000 을 On 하는경우 0150 의워드데이터가 0300,0301,0302 에저정되는 프로그램 F0010 P0000 MOV h0098 0150 FMOVP 0150 0300 3 EN 0150 h0098 FMOV 실행 h0098 h0098 h0098 0300 0301 0302 28
2.1.5 BMOV, BMOVP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 BMOV BMOVP S1 O O O O O O O O O O O O O* O O O O 7 O Cw O S 1 BMOV Cw 플래그 Set BMOV(P) 명령처리시영역초과일경우 Set 하고해당명령어는결과처리되지않습니다. 영역설정 S 1 BMOVP Cw S1 데이터가저장되어있는영역번호 estination 영역영역번호 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 Cw BMOV(P) 를실행하는포맷 BMOV Cw에설정된포맷 (Format) 에의해 S1 으로지정한영역의시작비트부터지정된개수의비트를 로지정된영역의시작비트부터전송합니다. Cw의형식 h S 0 Z 전송개수 (16 진수표현 ) : 일괄전송되는비트의개수 ( 최대개수 : h10) 시작비트 : 저장될비트데이터의선두번호 S1 의시작비트 : 전송될비트데이터의선두번호 BMOVP 명령어는입력력조건이 OFF ON 으로변화하는 1스켄동안만수행합니다. Z의전송비트개수는 00 ~10 까지설정이가능하며 10 이상의값을설정하는경우에는 ERROR 가발생합니다. 2) 프로그램 입력신호 P0000 을 ON 하는경우 0000 워드영역의 0 번째비트부터 4 개의비트를 P002 워드 영역의 3 번째비트부터 4 개의비트영역으로전송하는프로그램 P0000 MOV h00b7 0000 b7 0000 1 0 1 1 0 1 1 1 b0 BMOVP 0000 P002 H0304 EN P002 b7 0 1 1 1 b0 b3 29
2.2 변환명령 2.2.1 BC, BCP, BC, BCP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 BC(P) BC(P) S1 O O O O O O O O O O O O O* O O O O 5 O S1 BC BCP 플래그 Set S1 이 h270f 을넘으면플래그를 Set 합니다. S1 BC BCP 영역설정 S1 BIN 데이터가저장되어진영역번호또는 BIN 데이터 BC 로변환된데이터를저장하게될영역 BC S1 의 BIN 데이터또는 BIN 데이터가저장된영역 ( 영역 No.) 의값을 BC 로변환하여정된영역에저장합니다. BC,BCP 명령어는 2워드영역의데이터를 BIN BC 코드로변환합니다. 로지 BCP,BCP 명령어는명령어의입력조건이 OFF ON 으로변화하는 1 스켄동안만수행됩니다. 2) 프로그램 입력신호 P0000 을 On 하였을때 T010 의현재치를 BC 변환하여 P003 에출력하는프로그램 P0000 TON T010 50 T010 0 0 1 5 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 x2 12 x2 8 x2 4 x2 0 h0015 BC T010 P003 BIN 데이터를 BC 데이터로변환 EN P003 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 h0021 2 3 2 2 2 1 2 0 2 3 2 2 2 1 2 0 2 3 2 2 2 1 2 0 2 3 2 2 2 1 2 0 x10 3 x10 2 x10 1 x10 0 30
Counter(Timer) 현재값외부출력 1. 동작재고가입 출고되는창고에입력콘베이어측에 P0000, 출력콘베이어측에 P0001 의센서가부착되어있으며입고측콘베이어는 P002F, 출고측콘베이어는 P002 출력점점에연결되어있다. 창고에있는재고의수치를외부 (BC 표시기 ) 을통하여표시합니다 (2 자리 BC 표시기 ) 2. 시스템도 (P0000) 광전 S/W 입고 컨베이어모터 M 카운터초기화 S/W (P0002) 숫자표시기 1 8 (P0001) 광전 S/W 출고 광전 S/W 디지털입력모듈 P000 0 1 2 3 프 로 그 램 디지털출력유니트 P003 0 F 디지털출력모듈 P002 0 1 2 3 4 5 6 7 F 3. 프로그램 P0000 P0001 P0002 F0010 U CTU C000 R <S> 00030 [ BC C000 M000 ] [BMOV M000 P003 h0008] [ EN ] 카운터현재값을증가 카운터현재값을감소 카운터현재값을 BC 변환 두자리숫자만외부에표시 31
2.2.2 BIN, BINP, BIN, BINP 사용가능영역 명령 M P K L F T C S # 정수 BIN(P) S 1 O O O O O O O O O BINP(P) O O O O* O O O O S O 플래그 제로 플래그 Set BIN BIN BINP BINP S 1 S 1 영역설정 S 1 S 1 이 BC 형태의테이터가아닐경우플래그를 SET 합니다. BC 데이터가저장되어진영역번호또는 BC 데이터 BIN 로변환된데이터를저장하게될영역 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 BIN S 1 으로지정된 BC 데이터또는 BC 데이터가저장된영역 ( 영역 No.) 의내용을 BIN 로변환하여 로지정된영역에저장합니다. BIN,BINP 명령어는 2워드데이터의 BC BIN 코드변환을수행합니다. BINP,BINP 명령어는명령어의입력조건이 OFF ON 으로변화하는 1스켄동안만수행합니다. 2) 프로그램예 1 입력신호 P0000 을 On 하였을때 P001 의워드데이터를 BIN변환하여 T020 타이머의설정 시간을가변하는프로그램 P0000 P0000 T0020 BIN P001 0100 TON T020 0100 ( P002 ) EN P001 0100 x10 3 x10 2 x10 1 x10 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 BIN 변환 0 A 9 5 2 12 2 8 2 4 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 h0020 h0014 32
2.3 비교명령 2.3.1 CMP, CMPP, CMP, CMPP 명령 CMP(P) S 사용가능영역 M P K L F T C S # 정수 O O O O O O O O O O 플래그 제로 CMP(P) 1 O O O O O O O O O O 5/9 O CMP CMP CMPP CMPP S 1 S 2 S 1 S 2 플래그 Set 영역설정 S 1 S 2 영역이 # 로지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 비교데이터 데이터를비교하게되는영역이나수치 CMP S 1 과 S 2 의대소를비교하여그결과 6개특수릴레이의해당플래그를 Set 합니다.(Unsign 연산 ) 프로그램에서 6개의특수릴레이는바로이전에사용한비교명령에대한결과를표시합니다. 6개의특수릴레이는사용회수에제한이없습니다. CMP,CMPP 명령어는 2워드데이터의크기를비교하여연산를수행합니다. CMPP,CMPP 명령어는명령어의입력조건이 OFF ON 으로변화하는 1스켄동안만수행합니다. 부호가있는크기비교연산에서는사용할수없습니다. 플래그 F120 F121 F122 F123 F124 F125 SET 기준 < = > S 1 > S 2 0 0 0 1 1 1 S 1 < S 2 1 1 0 0 0 1 S 1 = S 2 0 1 1 0 1 0 2) 프로그램예 입력신호 P0000 을 On 하였을때 000 의데이터와 001 의데이터를비교하여 000<001 인경우 M0000,000<=001 인경우 M0001, 000>= 001 인경우 M0002 를 ON 하도록하는 프로그램 P0000 [ CMP 0000 0001 ] F120 ( M0000 ) F121 ( M0001 ) F124 ( M0002 ) [ EN ] 33
2.3.2 비교연산 ( >,<, >=,<=, <>,=,>,<,>=,<=,<>,=) 사용가능영역 명령 M P K L F T C # 정수 S 1 O O O O O O O O O O S 2 O O O O O O O O O O 5/9 O 플래그 제로 플래그 Set = S 1 S 2.. 영역이 # 로지정된경우초과가발생하면 F110 Set 됨 < = S 1 S 2.. 영역설정 S 1, S 2 S 1 과 S 2 를비교하여 Compare 조건 ( =,,,, >, < ) 이만족되면연산결과를 On 합니다. 비교연산 (<, >, <=, >=, <>,= ) S 1 과 S 2 를비교하여등호조건이성립하면이후의접점또는코일을활성화합니다. S 1 과 S 2 의비교는 Signed 연산을실행합니다. K80S, 200S, K300S, K1000S 시리즈에서만사용이가능합니다. 부호가있는크기비교연산에사용이가능합니다. <, >, <=, >=, <>,= 명령어는 32Bit 를연산대상으로합니다. 2) 프로그램 P000 ~ P00F 와 001 의데이터를비교하는프로그램 = P000 001 ( P0020 ) P000과 001 의데이터가같으면 P0020 은 On 됩니다. 정수 1000 과 001 의데이터를비교하는프로그램 >= 1000 001 ( P0020 ) 001 의데이터가 1000 보다작거나같으면 P020 은 On 됩니다. 34
비교명령 [ CMP 의예제 ] 1. 동작 Up / own 카운터의현재값이 10 미만이면 P0020 이 On 되고, 10 ~ 19 이면 P0021 이 On 되고, 20 ~ 29 이면 P0022 가 On 되고, 30 ~ 39 이면 P0023 이 On 되고, 40 이상이면 P0024 가 On 됩니다. P0000 의신호가입력되면카운터의값은증가,P0001 의신호가입력되면감소, P0002 의신호가입력되는경우초기화된다. 2. 프로그램 P0000 P0001 P0002 U CTU C000 R <S> 00050 F0010 CMP C000 00010 C000 은카운터의현재값 F0120 ( M0000 ) 10 미만 F0010 CMP C000 00020 F0010 F0120 ( M0001 ) CMP C000 00030 20 미만 F0120 ( M0002 ) 30 미만 F0010 CMP C000 00040 F0120 ( M0003 ) 40 미만 M0000 ( P0020 ) 10 미만 M0000 M0001 M0002 M0003 M0001 M0002 M0003 ( P0021 ) ( P0022 ) ( P0023 ) ( P0024 ) 10 ~ 19 20 ~ 29 30 ~ 39 40 이상 EN F0120 ~ F0125 까지접점은결과를나타내는플래그로서등호및부등호 ( <,, =, >,, ) 를대신 표현한것입니다. 35
1. 동작 Up / own 카운터의현재값이 10 미만이면 P0020 이 On 되고, 10 ~ 19 이면 P0021 이 On 되고, 20 ~ 29 이면 P0022 가 On 되고, 30 ~ 39 이면 P0023 이 On 되고, 40 이상이면 P0024 가 On 됩니다. P0000 의신호가입력되면카운터의값은증가,P0001 의신호가입력되면감소, P0002 의신호가입력되는경우초기화된다. 2. 프로그램 P0000 P0001 P0002 U CTU C000 R <S> 00050 < C000 10 P0020 >= C000 10 < C000 20 P0021 >= C000 20 < C000 30 >= C000 30 < C000 40 P0022 P0023 >= C000 40 P0024 EN 36
2.3.3 TCMP, TCMPP, TCMP,TCMPP 사용가능영역명령 M P K L F T C S # 정수 S O O O O O O O O O O CMP(P) CMP(P) 1 S 2 O O O O O O O O O O O O O* O O O O 플래그 제로 7/9 O O S 1 S 2 TCMP TCMPP S 1 S 2 TCMP TCMPP 플래그 Set 영역이 # 로간접지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 제로 비교결과가 0 이면 Set 합니다. 영역설정 S 1 S 2 비교데이터 데이터를비교하게되는영역의선두영역번호 S 1 과 S 2 의비교결과를출력하는영역번호 컴퓨터링크모듈및데이터링크모듈을사용하지 않을경우가능 TCMP 비교데이터로지정된 S 1 1 개의워드영역과 S 2 로시작되는 16 개의워드데이터를비교하여로지정된영역의 16개비트에출력 ( 같으면 1, 다르면 0 ) 합니다. S 1 은영역또는데이터, S 2 는 Table 선두영역 No. 를지정합니다. 2) 프로그램예 입력신호 P000 을 On 하였을때 0001 의데이터와 M000 ~ M015 범위의 16 워드를비교하여 P0020 ~ P002F 의 16 개비트에비교결과를출력시키는프로그램예 P000 TCMP 0001 M0000 P0002 0001 hbce hbce h1234 hbce h0000 hbce M000 M002 M004 1 0 1 0 1 0 P0020 P0022 P0024 hbce h00ff hbce h0000 M012 M013 M014 M015 1 0 1 0 P002C P002 P002E P002F 37
2.4 증감명령 2.4.1 INC, INCP, INC, INCP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 O O O O* O O O O EC(P) INC(P) 3 O O O 플래그 Set 영역이 # 로간접지정된경우영역초과가발생하면 F110 Set INC INC 영역설정 영역의내용 +1 증가가실행하는영역번호 컴퓨터링크모듈및데이터링크모듈을사용하지 않을경우가능 INC 데이터 의값에서 1 을더한결과를다시 에저장합니다. INCP/ INCP 는명령어의수행조건이 OFF ON 으로변화하는경우에 1스켄동안수행됩니다 INC / INCP 는 32BIT 데이터를연산대상으로합니다. 2) 프로그램예 입력신호 P0000 을 ON 하였을때 P002 워드데이터가 h00c6 에서 h00c7 로 1증가를실행하는프로 그램 F0012 P0000 MOV h00c6 P002 INCP P002 EN P002 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 h00c6 +1 +1(P006 데이터 +1 실행 ) P002 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 h00c7 38
2.4.2 EC, ECP, EC, ECP 명령 사용가능영역 M P K L F T C S # 정수 O O O O* O O O O 플래그 제로 INC(P) INC(P) 3 O O O 플래그 Set 영역이 # 로간접지정된경우영역초과가발생하면 F110 Set EC EC 영역설정 영역의내용 1 감소를실행하는영역번호 컴퓨터링크모듈및데이터링크모듈을사용하지 않을경우가능 EC 의값에서 1을감산한후결과를 에저장합니다. ECP/ ECP 는명령어의수행조건이 OFF ON 으로변화하는경우에 1스켄동안수행됩니다 EC / ECP 는 32BIT 데이터를연산대상으로합니다. 2) 프로그램예 입력신호 P0000 을 On 하였을때 003 워드데이터가 h00af 에서 h00ae 로감소를실행하는 프로그램. F0012 MOV h00af 003 003 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 h00af P0000 ECP 003 003-1(P006 데이터 -1 실행 ) 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0-1 h00ae EN 39
2.5 회전명령 2.5.1 ROL, ROLP, ROL, ROLP 사용가능영역명령 M P K L F T C S # 정수 ROL(P) ROL(P) O O O O* O O O O 플래그 제로 3 O O ROL ROL ROLP ROLP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 영역설정 영역이 # 로간접지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 회전중가발생하면플래그를 Set 좌측방향으로회전시킬데이터가저장되어있는영역 ROL 의 16 개비트를 1 비트씩좌측으로회전하며최상위비트는플래그 와최하위비트로회전합니다.(1 워드내에서회전 ) ROLP/ ROLP 는명령어의수행조건이 OFF ON 으로변화하는경우에 1스켄동안수행됩니다 ROL / ROLP 는 32BIT 데이터를연산대상으로합니다. 2) 프로그램예 입력신호 P0000 을 On 할때마다 000 의 16 비트의상태가 1 비트씩좌측으로이동하는 프로그램 F0012 P0000 MOV h009 0000 ROLP 0000 EN 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0 로지정된 0000 영역의데이터를좌측으로회전합니다. h009 실행전 (0000) h013a 실행후 (0000) 40
2.5.2 ROR, RORP, ROR, RORP 명령 ROR(P) ROR(P) 사용가능영역 M P K L F T C S # 정수 O O O O* O O O O 플래그 제로 3 O O ROR ROR RORP RORP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 영역설정 영역이 # 로간접지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 우측방향으로회전중가발생하면플래그를 Set 우측방향으로회전시킬데이터가저장되어있는영역 ROR 의 16 개비트를 1 비트씩우측으로회전하며최하위비트는플래그 와최상위비트로회전합니다.(1 워드내에서회전 ) RORP/ RORP 는명령어의수행조건이 OFF ON 으로변화하는경우에 1스켄동안수행됩니다 ROR / RORP 는 32BIT 데이터를연산대상으로합니다. 2) 프로그램예 입력신호 P0000 을 On 하였을때 P002 의데이터를 1 비트씩우측으로회전하며, 플래그 를 Set 하는프로그램 F0012 MOV h0c7 P002 실행전 (P002) 0 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 1 P0000 RORP P002 EN 실행후 (P002) 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 로지정된 P002 영역의데이터를우측으로회전합니다. 41
2.5.3 RCL, RCLP, RCL, RCLP 명령 RCL(P) RCL(P) 사용가능영역 M P K L F T C S # 정수 O O O O* O O O O 플래그제로 3 O O RCL RCL RCLP RCLP 컴퓨터링크모듈및데이터링크모듈을사용하지 플래그 Set 영역설정 영역이 # 로간접지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 회전중가발생하면플래그를 Set 좌측방향으로회전시킬데이터가저장되어있는영역 않을경우가능 RCL 의 16 개비트를 1 비트씩좌측으로회전하며최상위비트는플래그 로, 플래그 는최하위비트로회전 ( 이동 ) 합니다. RCLP/ RCLP 는명령어의수행조건이 OFF ON 으로변화하는경우에 1스켄동안수행됩니다 RCL / RCLP 는 32BIT 데이터를연산대상으로합니다. 2) 프로그램예 입력신호 F092 의주기클럭인 0.2 초마다 P002 의데이터를플래그 를포함하여좌측 방향회전을실행합니다. F0092 RCLP P002 플래그 LSB 0.2 초마다좌측방향회전 로지정된 P002 영역의데이터를플래그 를포함하면서좌측방향으로회전합니다. 1 42
2.5.4 RCR, RCRP, RCR, RCRP 사용가능영역명령 M P K L F T C S # 정수 O O O O* O O O O O RCR(P) RCR(P) 플래그 제로 3 O O RCR RCR RCRP RCRP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 영역설정 영역이 # 로간접지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 회전중가발생하면플래그를 Set 우측방향으로회전시킬데이터가저장되어있는영역 RCR 의 16 개비트를 1 비트씩우측으로회전하며최하위비트는플래그 로, 플래그 는최상위비트로회전 ( 이동 ) 합니다. RCLP/ RCLP 는명령어의수행조건이 OFF ON 으로변화하는경우에 1스켄동안수행됩니다 RCL / RCLP 는 32BIT 데이터를연산대상으로합니다. 2) 프로그램예 입력신호 F093 의클럭주기인 1 초마다 P002 의데이터를플래그 를포함하여우측방향 회전을실행합니다. F0093 RCRP P002 0 LSB 1 초마다우측방향회전 로지정된 P002 영역의데이터를플래그 를포함하면서우측방향으로회전시킵니다. 43
2.6 이동명령 2.6.1 BSFT, BSFTP 사용가능영역 명령 M P K L F T C S BSFT S1 O O O O* BSFTP ᄐ O O O O* # 정수 5 O 플래그제로 S 1 BSFT ᄐ 플래그 Set # 로지정된영영이영역초과가발생한경우 S 1 BSFTP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 ᄐ 영역설정 S1 ᄐ 비트 Shift 를하게되는영역의시작비트비트 Shift 를종결하는영역의 EN 비트 BSFT 데이터가저장되어있는영역의시작비트 (S1) 와실행이종결되는영역의 End 비트 ( ᄐ ) 를지정함에의하여 1비트씩 Shift 를실행하게됩니다 BSFTP 명령어는명령어의입력조건이 OFF ON 으로변화하는 1스켄동안만수행합니다. MSB LSB End 비트 비트 Shift 방향 S1< ᄐ좌 Shift 예 ) BSFT P0040 P0065 S1> ᄐ우 Shift 예 ) BSFT P0065 P0040 BSFT, BSFTP 시작비트 제로삽입 2) 프로그램 입력신호 P0000 이 On 될때마다 P002 데이터를시작비트 P0020 부터 End 비트 P002F 지정에 의해 1 Bit 씩 Shift 하고, P0020 의데이터는 P0021 로주는프로그램 44
F0012 P0000 MOV h0021 P0002 BSFTP P0020 P002F 데이터길이 EN 실행전 (P0002) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 (P0002) 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 삽입 실 행 (P0002) 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 삽입 (P0002) 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 삽입 입력신호 P0000 이 On 될때마다 P002 데이터를시작비트 P002F 부터 End 비트 P0020 까지 1 Bit 씩 Shift 하고, P002F 의데이터는 P002E 로주는프로그램 P0000 P0001 BSFTP P002F P0020 SET P002F EN Bit 신호의이동방향 P002 P002F 시작비트 P0020 End 비트 45
2.6.2 WSFT, WSFTP 사용가능영역명령 M P K L F T C S # 정수 S1 WSFT O O O O* O O O O 플래그제로 WSFTP ᄐ O O O O* O O O O 5 O S 1 WSFT ᄐ 플래그 Set # 로지정된영영이영역초과가발생한경우 S 1 WSFTP ᄐ 영역설정 S1 워드 Shift 를하게되는영역의시작번호 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 ᄐ 워드 Shift 를종결하는영역의 EN 비트 WSFT 워드단위의 Shift 를시작워드 (S1) 와 End 워드 ( ᄐ ) 지정에의하여실행합니다. WSFTP 명령어는명령어의입력조건이 OFF ON 으로변화하는 1 스켄동안만수행합니다. 시작워드 (S1) 데이터삽입 End 워드 ᄐ 워드단위의 Shift 워드 Shift 방향 S1 < ᄐ ( 예 : WSFT 0000 0003 ) 아래쪽방향 S1 > ᄐ ( 예 : WSFT 0003 0000 ) 위쪽방향 2) 프로그램 입력신호 P0000 이 On 될때마다시작워드 (0000) 와 End 워드지정 (0004) 에의해워드 Shift 하 는프로그램 46
F0012 P0000 MOV hff00 0000 WSFTP 0000 0004 EN hff00 0000 hff00 0001 0002 0003 0004 입력신호 P0000 이 On 될때마다시작워드 (0004) 와 End 워드지정 (0000) 에의해워드 Shift 하는 프로그램 F0012 MOV hff00 000 P0000 WSFTP 004 000 EN 0000 0001 0002 0003 0004 hff00 hff00 47
2.6.3 SR 사용가능영역 명령 M P K L F T C # 정수 O O O O N O O 5 O 플래그제로 입력데이터비트 입력방향비트 Clock Reset SR (P, M, L, K) N ( 정수, ) 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 영역초과가발생하면 Set 됨 영역설정 Shift 할영역의시작비트 N Shift 한비트수 N 이 0 또는음수로설정된경우동작하지않습니다. SR 로지정된비트부터 N 갯수만큼을 Clock 으로지정된비트가 0에서 1로변할때마다입력방향비트가 1이면하위비트방향 ( 우측 ) Shift 되고 0이면상위비트방향 ( 좌측 ) Shift 되며입력데이터비트가 1이면 Shift 된맨처음비트가 1로입력되고 0 이면 Shift 된맨처음반드시비트가 0으로입력되는동작을수행한다. Reset이 On 되면 부터 N으로지정된모든데이터를클리어한다. 2) 프로그램예 입력데이터비트가 M000A, 입력방향비트가 M000B Clock 신호가 P0000, Reset 신호가 P0001 이고 P0014~P002A 의비트를이동시키는프로그램 M000A M000B P0000 P0001 SR P0014 N 23 P001 P002 이동비트범위 F E C B A 9 8 7 6 5 4 3 2 1 0 48
명령어수행전 F 4 3 2 1 0 P001 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 F B A 1 0 P002 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 M000A=1 이고 M000B=0 일때동작 M000A=1 의값삽입 P001 좌측 Shift F 4 3 2 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 F B A 0 P002 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 49
2.7 교환명령 2.7.1 XCHG, XCHGP, XCHG, XCHGP 명령 XCHG(P) XCHG(P) 사용가능영역 M P K L F T C S # 정수 1 O O O O* O O O O 2 O O O O* O O O O 5 O 플래그 제로 1 XCHG XCHG 2 플래그 Set 영역이 # 로지정된경우영역초과가발생하면플래그를 SET 하고해당명령어는결과처리되지않습니다. 1 2 XCHGP XCHGP 영역설정 1, 2 1, 2 는데이터를서로교환하는영역의번호 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 XCHG 워드데이터의저장데이터를상호교환하여저장합니다.(1 과 2 의데이터를교환 ) XCHGP명령은 XCHGP 명령은명령어의수행조건이 OFF ON 으로변화하는 1스켄동안만수행하게됩니다. XCHG 명령은 32Bit 를연산대상으로합니다. ( 수행전 ) XCHG 1 2 데이터길이 데이터길이 1 1 0 1 1 0 1 2 0 0 0 1 1 1 1 0 0 0 1 1 1 2 1 0 1 1 0 1 ( 수행후 ) 50
2) 프로그램 입력신호 P0000 이 On 하였을때 100 와 300 의교환하는프로그램 F0012 P0000 MOV h00ff 0100 MOV h00ff 0300 XCHGP 0100 0300 EN 입력신호 P0000 을 On 하였을때 200~201 의 2 워드데이터를 300~301 의 2 워드영역으로상 호교환하는프로그램 F0012 P0000 MOV h0000ffff 0200 MOV hffff0000 0300 XCHGP 0100 0300 EN 51
2.8 BIN 사칙연산 2.8.1 A, AP, A, AP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 A(P) S1 O O O O O O O O O O A(P) S2 O O O O O O O O O O O O O O* O O O O 7/9/11 O O O S1 S2 A A S1 S2 AP AP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 SET 연산결과가오버플로우이면 SET 지정된데이터또는영역의번호 estination 영역의번호 A S1 으로지정된워드데이터와 S2 로지정된워드데이터를가산 ( 덧셈 ) 하여그결과를된영역에저장합니다. 로지정 AP/ AP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. A / AP 는연산자 (S1, S2) 및결과저장영역 ( ) 의데이터크기는 2WOR(32bit) 입니다. 2) 프로그램 입력신호 P0000 을 On 하였을때 000 의데이터와 001 의데이터를가산 ( 덧셈 ) 하여 010 에 저장하는프로그램 F0012 P0000 MOV h0068 000 MOV h0013 001 A 000 001 010 S1 (000) S2 (001) 데이터길이 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 + (0000 + 0001) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 h0068 + h0013 EN (010) ( 0010 ) 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 h007b 52
2.8.2 SUB, SUBP, SUB, SUBP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O SUB(P) SUB(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/11 O O O S1 S2 SUB SUB S1 S2 SUBP SUBP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 SET 연산결과가오버플로우이면 SET S1 과 S2 의데이터또는영역지정에의해감산을실행 감산결과데이터를 로지정한영역에저장 SUB S1 으로지정된워드데이터에서 S2 로지정된워드데이터를감산 ( 뺄셈 ) 하여그결과를 로지정된영역에저장합니다. SUBP/ SUBP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. SUB / SUBP 는연산자 (S1, S2) 및결과저장영역 ( ) 의데이터크기는 2WOR(32bit) 입니다. 2) 프로그램 입력신호 P0000 을 On 하였을때 000 데이터의값에서 001 의데이터를감산 ( 뺄셈 ) 하여 010에저장하는프로그램 F0012 MOV h0050 000 000 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 h0050 MOV h0020 001 ( 0001 - P0000 SUB 000 001 010 EN 001 010 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 (0110) 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 h0020 h0030 53
2.8.3 MUL, MULP, MUL, MULP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O MUL(P) MUL(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/11 O O S1 S2 MUL MUL S1 S2 MULP MULP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 Set S1 과 S2 의데이터또는영역지정에의해승산을실행 승산결과데이터를 로지정한영역에저장 MUL S1 으로지정된워드데이터와 S2 로지정된워드데이터를승산 ( 곱셈 ) 하여하위값은 로지정된워드에, 상위값은 +1로지정되는영역에저장합니다.( 데이터의저장영역은 2WOR 입니다 ) MULP/ MULP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. MUL / MULP 는연산자 (S1, S2) 의크기는 2WOR 이며데이터저장영역 ( ) 의크기는 4WOR 영역으로지정됩니다 2) 프로그램 입력신호 P0000 을 On 하였을때 0001 의데이터와 0002 의데이터를승산 ( 곱셈 ) 을하여 0020 ~ 0021에저장하는프로그램 F0012 MOV h7777 0001 P0000 MOV h8888 0002 MULP 0001 0002 0020 EN 54
001 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 x (0001 x 0002) h7777 x 002 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 h8888 ` 020 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 haf38 021 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 0 H3FB6 55
2.8.4 MULS, MULSP, MULS, MULSP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O MULS(P) MULS(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/11 O O S1 S2 MULS MULS S1 S2 MULSP MULSP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 Set S1 과 S2 의부호데이터또는영역지정에의해승산을실행 승산결과데이터를 로지정한영역에저장 MULS S1 으로지정된워드데이터와 S2 로지정된워드데이터를부호있는승산 ( 곱셈 ) 하여하위값은 로지정된워드에, 상위값은 +1로지정되는영역에저장합니다. ( 저장 2 워드 ) MULSP/ MULSP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. MULS / MULSP 는연산자 (S1, S2) 의크기는 2WOR 이며데이터저장영역 ( ) 의크기는 4WOR 영역으로지정됩니다 MULS 명령어는 MASTER-K200S, K300S, K1000S 에서사용가능합니다. 2) 프로그램 입력신호 P0000 을 On 하였을때 0001 의데이터와 0002 의데이터를부호있는승산 ( 곱셈 ) 을 하여 0020 에하위 4 자리수, 0021 에상위 4 자리수를저장하는프로그램 F0012 MOV h0002 0001 P0000 MOV h8888 0002 MULSP 0001 0002 020 EN 56
001 002 020 021 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 x ( 0001 x 1 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 ( 0020 ~ 0021) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 h0002 (2) x h8004 (-4) h0004 h8000 57
2.8.5 IV, IVP, IV, IVP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 IV(P) IV(P) S1 O O O O O O O O O O S2 O O O O O O O O O O O O O O* O O O O 7/9/11 O O S1 S2 IV IV S1 S2 IVP IVP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 S2 가 0 일때 Set 연산결과몫이제로이면 Set S1 과 S2 의데이터또는영역지정에의해제산을실행 제산결과데이터를 로지정한영역에저장 IV S1 으로지정된워드데이터와 S2 로지정된워드데이터를제산 ( 나눗셈 ) 하여그결과의몫은 로지정된영역에나머지는 + 1로영역에저장합니다. IVP/ IVP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1 스켄동안수행 하게됩니다. IV / IVP 는연산자 (S1, S2) 의크기는 2WOR 이며데이터저장영역 ( 4WOR 영역으로지정됩니다 ) 의크기는 2) 프로그램 입력신호 P0003 을 On 할때마다 0000 의데이터를 0002 로제산 ( 나눗셈 ) 을하여 0050 에몫을 0051 에나머지를저장하는프로그램 F0012 MOV h0003 0000 0000 0002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 h0003 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 MOV h0002 0002 (0050.0051 에저장 ) h0002 P0003 IVP 0000 0002 0050 0050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 h0001 EN 0051 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 h0001 58
2.8.6 IVS, IVSP, IVS, IVSP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O IV(P) IV(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/9/11 O O S1 S2 IVS IVS S1 S2 IVSP IVSP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 S2 가 0 일때 Set 연산결과몫이제로이면 Set S1 과 S2 의부호데이터또는영역지정에의해제산을실행 제산결과데이터를 로지정한영역에저장 IVS S1 으로지정된워드데이터와 S2 로지정된부호부워드데이터를제산 ( 나눗셈 ) 하여그결과의몫은 로지정된영역에나머지는 + 1로지정된영역에저장합니다. IVSP/ IVSP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. IVS / IVSP 는연산자 (S1, S2) 의크기는 2WOR 이며데이터저장영역 ( ) 의크기는 4WOR 영역으로지정됩니다 IVS 명령어는 MASTER-K 200S, 300S, K1000S 에서사용가능합니다. 2) 프로그램입력신호 P0003 을 On 할때마다 0000 의 0002 를데이터를제산 ( 나눗셈 ) 을하여 0050 에몫을 0051 에나머지를저장하는프로그램 F0012 MOV h0003 0000 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 h0003 MOV h0002 0002 0002 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 NEG 0002 (0050.0051 에저장 ) h8002 P0003 0050 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 IVSP 0000 0002 0050 h8001 EN 0051 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 h0001 59
2.9 BC 사칙연산 2.9.1 AB, ABP, AB, ABP 사용가능영역 명령 M P K L F T C S # 정수 A(P) S1 O O O O O O O O O O A(P) S2 O O O O O O O O O O 플래그 제로 7/9/11 O O O O O O O* O O O O S1 S2 AB AB S1 S2 ABP ABP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 SET 연산결과가오버플로우이면 SET 지정된데이터또는영역의번호 estination 영역의번호 AB S1 으로지정된 BC 워드데이터와 S2 로지정된 BC 워드데이터를가산 ( 덧셈 ) 하여그결과를 로지정된영역에저장합니다. ABP/ ABP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. AB / ABP 는연산자 (S1, S2) 및결과저장영역 ( ) 의데이터크기는 2WOR(32bit) 입니다. 2) 프로그램 입력신호 P0000 을 On 하였을때 000 의데이터와 001 의데이터를가산 ( 덧셈 ) 하여 010 에저장하는프로그램 F0012 P0000 MOV h0028 000 MOV h0059 001 AB 000 001 010 EN S1 (000) S2 (001) (010) 데이터길이 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 + (0000 + 0001) 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 ( 0010 ) 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 h0028 + h0059 h0087 60
2.9.2 SUBB, SUBBP, SUBB, SUBBP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O SUB(P) SUB(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/11 O O O S1 S2 SUBB SUBB S1 S2 SUBBP SUBBP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 SET 연산결과가오버플로우이면 SET S1 과 S2 의데이터또는영역지정에의해감산을실행 감산결과데이터를 로지정한영역에저장 SUBB S1 으로지정된 BC 워드데이터에서 S2 로지정된 BC 워드데이터로감산 ( 뺄셈 ) 하여그결과를 로지정된영역에저장합니다. SUBBP/ SUBBP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. SUBB / SUBBP 는연산자 (S1, S2) 및결과정장영역 ( ) 의데이터크기는 2WOR(32bit) 입니다. 2) 프로그램 입력신호 P0000 이 On 하였을때 000 의데이터의값에서 001 의데이터를감산 ( 뺄셈 ) 하여 010에저장하는프로그램 F0012 MOV h0061 000 000 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 h0061 MOV h0042 001 ( 0001 - P0000 SUBB 000 001 010 EN 001 010 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 (0010) 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 h0042 h0019 61
2.9.3 MULB, MULBP, MULB, MULBP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O MUL(P) MUL(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/11 O O S1 S2 MUL MUL S1 S2 MULP MULP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 영역이 # 로간접지정된경우영역초과가발생하면 Set 연산결과제로이면 Set S1 과 S2 의데이터또는영역지정에의해승산을실행 승산결과데이터를 로지정한영역에저장 MUL 2) 기능 S1 으로지정된 BC 워드데이터와 S2 로지정된 BC 워드데이터를승산 ( 곱셈 ) 하여하위값은 로지정된워드에, 상위값은 +1로지정되는영역에저장합니다. ( 데이터의저장영역은 2WOR 로 8자리수의데이터가저장됩니다.) MULBP/ MULBP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. MULB / MULBP 는연산자 (S1, S2) 의크기는 2WOR 이며데이터저장영역 ( ) 의크기는 4WOR 영역으로지정됩니다 2) 프로그램 입력신호 P0000 이 On 하였을때 0001 의데이터와 0002 의데이터를승산 ( 곱셈 ) 을하여 0020 ~ 0021에저장하는프로그램 F0012 MOV h3456 0001 P0000 MOV h8888 0002 MULBP 0001 0002 0020 EN 62
0001 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 x (0001 x 0002) h3456 x 0002 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 h8888 ` 0020 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0 h6928 0021 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 h3071 63
2.9.4 IVB, IVP, IVB, IVBP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 IV(P) IV(P) S1 O O O O O O O O O O S2 O O O O O O O O O O O O O O* O O O O 7/9/11 O O S1 S2 IV IV S1 S2 IVP IVP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 제로 영역설정 S1, S2 S2 가 0 일때 Set 연산결과몫이제로이면 Set S1 과 S2 의데이터또는영역지정에의해제산을실행 제산결과데이터를 로지정한영역에저장 IV S1 으로지정된 BC 워드데이터를 S2 로지정된 BC 워드데이터로제산 ( 나눗셈 ) 하여그결과의몫은 로지정된영역에나머지는 + 1로지정된영역에저장합니다. IVP/ IVP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. IV / IVP 는연산자 (S1, S2) 의크기는 2WOR 이며데이터저장영역 ( 4WOR 영역으로지정됩니다 ) 의크기는 2) 프로그램 입력신호 P0003 이 On 할때마다 0000 의데이터를 0002 의데이터로제산 ( 나눗셈 ) 을하여 0050 에몫을 0051 에나머지를저장하는프로그램 F0012 MOV h0003 0000 0000 0002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 h0003 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 MOV h0002 0002 (0050.0051 에저장 ) h0002 P0003 IVP 0000 0002 0050 0050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 h0001 EN 0051 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 h0001 64
2.10 논리연산 2.10.1 WAN, WANP, WAN, WANP 명령 WAN(P ) WAN( P ) 사용가능영역 M P K L F T C S # 정수 S1 O O O O O O O O O O S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7 O O S1 S2 WAN WAN S1 S2 플래그 Set 제로 영역이 # 로지정된경우영역초과가발생하면 Set 연산결과제로이면 Set WANP WANP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1, S2 S1 과 S2 의영역의데이터를 AN (S1 S2 ) 합니다. AN(S1 S2 ) 실행데이터를저장 WAN S1 으로지정된영역의각비트데이터와 S2 로지정된영역의각비트데이터를 AN 결합하여 (S1 S2 ) 각번호의데이터가동시에 1인경우 1을그외는 0을 로지정된영역의각비트에저장합니다. WANP/ WANP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. WAN / WANP 명령어는 32Bit 의데이터를논리연산처리합니다. 2) 프로그램 입력신호 P000 와 0005 의데이터를 WAN 하여 P0002 에저장하는프로그램 F0012 F0010 MOV h651a 0005 WAN P000 0005 P002 P000 0005 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 WAN h2cc 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 P002 에저장 h651a EN P002 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 h2008 65
2.10.2 WOR, WORP, WOR, WORP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O WOR(P) WOR(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7/11 O O S1 S2 WOR WOR S1 S2 플래그 Set 제로 영역이 # 로지정된경우영역초과가발생하면 Set 연산결과제로이면 Set WORP WORP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1, S2 S1 과 S2 의영역의데이터를 OR (S1 S2 ) 합니다. OR(S1 S2 ) 실행데이터를 에저장 WOR S1 으로지정된영역의각비트데이터와 S2 로지정된영역의각비트데이터를 OR 결합하여 (S1VS2 ) 각번호의데이터중어느것하나가 1이면 1을동시에 0이면 0를 로지정된영역의각비트에저장합니다. WOR/ WORP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. WOR / WORP 명령어는 32Bit 의데이터를논리연산처리합니다. 2) 프로그램예 입력신호 P000 와 0005 의데이터를 WOR 결합하여 P002 에저장하는프로그램 F0012 F0010 MOV h651a 0005 WOR P000 0005 P002 P000 0005 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 WOR h2cc 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 P002 에저장 h651a EN P002 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 hf7e 66
2.10.3 WXOR, WXORP, WXOR, WXORP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O O WXOR(P) WXOR(P) S2 O O O O O O O O O O O O O O* O O O O 플래그 제로 7 O O S1 S2 WXOR WXOR S1 S2 플래그 Set 제로 영역이 # 로지정된경우영역초과가발생하면 Set 연산결과제로이면 Set WXORP WXORP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1, S2 S1 과 S2 의영역의데이터를 XOR (S1 S2 ) 합니다. XOR(S1 S2 ) 실행데이터를영역에저 WXOR S1 으로지정된영역의각비트데이터와 S2 로지정된영역의각비트데이터를 XOR 결합하여 (S1 V S2 ) 하여각비트번호의데이터가서로다른경우 1을, 서로같은경우 0 를 로지정된영역의각비트에저장합니다 WXORP/ WXORP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. WXOR / WXORP 명령어는 32Bit의데이터를논리연산처리합니다. 2) 프로그램 입력신호 P000 와 0005 의데이터를 WXOR 결합하여 P002 에저장하는프로그램 F0012 P0000 MOV h651a 0005 WXOR P000 0005 P002 P000 0005 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 WXOR h2cc 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 P002 에저장 h651a EN P002 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 h76 67
3) 응용프로그램 P0 ~P9 의 10 개의푸쉬버튼스위치중임의것을누를때마다그에상응하는출력 P20 ~P29 의램프가 ON/OFF 출력합니다. ( 1 개의스위치를이용한램프의 ON / OFF 제어프로그램 ) 예 : P0 를 1회누르는경우 P20 번램프는점등, P0 를다시누르는경우 P20 번램프는소등된다. P5를 1회누르는경우 P25 번램프는점등, P5 를다시누르는경우 P25 번램프는소등된다. F0010 BMOV P000 M000 h000a P000 P001 P002 P003 P004 P005 P006 P007 P008 P009 0 M0100 0 M100 WXOR M000 M001 M001 BMOV M001 P002 h000a EN 68
2.10.4 WXNR, WXNRP, WXNR, WXNRP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 WXNR(P) S1 O O O O O O O O O O WSFT(P) S2 O O O O O O O O O 7/9/11 O O O O O O* O O O O S1 S2 WXNR WXNR S1 S2 플래그 Set 제로 영역이 # 로지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. 연산결과 로지정한영역의데이터가제로이면플래그를 Set. WXNRP WXNRP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1, S2 데이터또는데이터를저장하고있는영역 연산결과를 로지정한영역에저장 WXNR S1 으로지정된영역의각비트데이터와 S2 로지정된영역의각비트데이터를 Exclusive NOR 를실행하여각비트데이터가서로같은경우 1을, 서로다른경우 0을 로지정한영역의각비트에저장합니다. WXNRP/ WXNRP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. WXNR / WXNRP 명령어는 32Bit 의데이터를논리연산처리합니다. 2) 프로그램예 입력신호 P000 와 0005 의데이터를 Exclusive NOR 결합하여 P002 에저장하는프로그램 F0012 F0010 MOV h651a 0005 WXNR P000 0005 P002 P000 0005 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 WXNR h2cc 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 P002 에저장 h651a EN P002 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 h2829 69
2.11 표시명령 2.11.1 SEG, SEGP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 SEG SEGP S1 O O O O O O O O O O O O O O* O O O O 7 O CW O O SEG S1 CW SEGP S1 CW 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 플래그 Set 영역설정 S1 CW CW 의포맷규정이틀린경우 Set. 7 Segment 로표시하게될데이터가저장되어있는경우 ecode 한데이터를저장하게되는영역 7 Segment 로표시하게되는포맷을설정하는곳 SEG SEG(P) 를실행하는 CW 에설정된 Format 에의해 S1 으로지정된영역의 Start 비트로부터 n개숫자를 7Segment 로 ecode 하여 로지정된시작비트부터저장합니다. SEGP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. 2) 프로그램 입력신호 P0000 이 On 하였을때 M000 의 h0067 를 7Segment 데이터로 ecode 하여 h727 로 P002 에저장합니다. F0012 P0000 MOV h0067 M000 SEGP M000 P002 h0002 M000 b15 b0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 n=2 b15 n=1 b0 EN P002 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 70
CW 의 h0002 에지정된포맷에의해 M000 의 0~7 비트를 4비트단위로 7Segment 데이터로 ecode 하여 P002 의영역에저장합니다. P002 의 7Segment 데이터는 hf1 을표시합니다 Segment 의구성 S1 16 진수 비트 7Segment 의구성 b7 b6 b5 b4 b3 b2 b1 b0 표시데이터 0 0000 0 0 1 1 1 1 1 1 0 1 0001 0 0 0 0 0 1 1 0 1 2 0010 0 1 0 1 1 0 1 1 2 3 0011 0 1 0 0 1 1 1 1 3 4 0100 0 1 1 0 0 1 1 0 4 5 0101 b0 0 1 1 0 1 1 0 1 5 6 0110 b5 b1 0 1 1 1 1 1 0 1 6 7 0111 b6 0 0 1 0 0 1 1 1 7 8 1000 b4 b2 0 1 1 1 1 1 1 1 8 9 1001 b3 0 1 1 0 1 1 1 1 9 A 1010 0 1 1 1 0 1 1 1 A B 1011 0 1 1 1 1 1 0 0 B C 1100 0 0 1 1 1 0 0 1 C 1101 0 1 0 1 1 1 1 0 E 1110 0 1 1 1 1 0 0 1 E F 1111 0 1 1 1 0 0 0 1 F 71
2.11.2 ASC, ASCP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 ASC ASCP S1 O O O O O O O O O O O O O* O O O O 7 O CW O O S 1 ASC CW 플래그 Set CW 의포맷규정이틀린경우 Set. S 1 ASCP CW 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1 CW ASCII 로표시하게될데이터가저장되어있는영역 ASCII 로변환된데이터를저장하게되는영역 ASCII 로코드변화하게되는포맷을설정하는곳 ASC ASC(P) 를실행하는 CW 에설정된 Format 에의해 S1 으로지정된영역의 Start 비트로부터 n개숫자를 ASCII 코드로변환하여로 지정된시작비트부터저장합니다. AP 는명령어의수행조건의입력조건이변화하는 (OFF ON) 경우에 1스켄동안수행하게됩니다. CW 의구조 S 0 n 변환될갯수 (0~8) 무의미 의시작비트 S1 의시작비트 2) 프로그램 입력신호 P0000 이 On 하였을때 0000 의 hf45 데이터중상위바이트의데이터 (hf) 를 ASCII 코드로변환하여 0010 영역에 h4644 로저장하는프로그램 F0012 P0000 MOV hf45 0000 ASCP 0000 0010 h8002 0000 0010 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 n=2 n=1 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 EN 72
2.12 시스템명령 2.12.1 FALS 명령 사용가능영역 M P K L F T C S # 정수 플래그제로 FALS n O 3 FALS n 조합된여러입력조건이성립하면설정한고장표시번호를저장 FALS 입력조건이성립되는동안 n으로설정한번호를 F영역의지정된번호에저장합니다. n 으로지정한번호는 h0000~hffff 까지지정이가능하며최초에발생하는 n설정번호가저장됩니다. FALS 명령의해제는 FALS 0000 으로해제를실행합니다. 저장되는 F 영역 F14 (F140~F14F) FALS 명령해제 FALS 0000 을실행하면 FALS 명령이해제됩니다. 2) 프로그램예 입력조건 P0000 을 On 하면고장번호 h1234 가 P0001 을누르면 haaaa 가 F014 영역에저장 됩니다. FALS 명령해제는입력조건 P0002 을사용하여해제를합니다. P0000 P0001 P0002 FALS h 1 2 3 4 FALS h A A A A FALS h 0 0 0 0 F014 b15 b0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 2 3 4 EN 73
2.12.2 UTY 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 O UTY n1 O 7 n2 O UTY n1 n2 n1 n2 F100 ~ F107 On 될스캔수 Off 될스캔수 UTY 로지정된 User 용타이밍펄스 F영역 (F100~F107) 을 n1 스캔동안 On, n2 스캔동안 Off하는펄스를발생시킵니다. 초기입력조건이 Off 된때는타이밍펄스 (F100~F107) 는 Off 되어있습니다. n1=0 이면타이밍펄스항상 Off n1>0, n2=0 이면타이밍펄스항상 On 타이밍펄스 입력조건 UTY 타이밍 Pluse n1 스캔 n2 스캔주의 : 타이밍 Pulse 가발생하면 UTY 의입력조건이 Off 되어도타이밍 Pulse 는 Off 되지않습니다. 2) 프로그램 P000 입력이 On 되면 F100 은 250 스캔동안 On, 200 스캔동안 Off 하는타이밍 Pulse 를발생 합니다. P001 입력이 On 되면 F100 은타이밍펄스발생을중지하는프로그램 P000 F100 P001 UTY F100 250 200 ( P00F ) UTY F100 0 1 P001 P000 F100 250 스캔 200 스캔 P00F 74
2.12.3 WT, WTP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 WT 1 WT WTP WT 프로그램연산중 Watch og 타이머를 Reset 시킵니다. 프로그램중에서 0스텝에서 EN 까지시간이최대 Watch og 타이머설정치를초과하는경우에프로그램연산은정지하므로이런경우에사용합니다. 시스템파라메터에서 WT 2 초설정프로그램의연산시간이 3 초일경우 0000 EN ( ) ( ) 0000 ( ) [ WT ] 프로그램수정 EN ( ) 2sec 1sec 2) 프로그램 FOR ~ NEXT 명령어에의한반복연산으로 WT 가발생하여프로그램이연산이중지되는현상 을방지하는프로그램 위의프로그램은 FOR~NEXT Loop 에의해스캔타임이 2초를초과하므로 WT 명령에의해 Watch og 타이머현재치를 Reset 시킵니다. P020 이 Off 되어있으면즉시 Watch og를출력합니다. 프로그램모드에서 P020 을 ON 하고전원을재투입하면 Watch og 가해제됩니다. 제2장명령어 75 P020 P02F FOR 50000 WT P060 NEXT EN LS산전연수원
2.12.4 OUTOFF 사용가능영역명령 M P K L F T C S # 정수 플래그제로 OUTOFF 1 OUTOFF OUTOFF 입력조건이성립하면전출력을 Off 시키고, 내부연산은계속되며 F영역중 F113( 전출력 Off) 플래그를 Set 시킵니다. 입력조건이해제되면정상출력합니다. 2) 프로그램예 P0000 을누르는경우 P0020 ~ P002F 의 16 점램프가 1초주기로점멸하고 (ON OFF ON) P0002 가 ON 의상태를유지하는시간동안출력되는모든접점의상태가 OFF 로표현되는프로그램 P0000 P0001 P0002 F0093 F0093 MOVP hffff P002 MOVP h0000 P002 MOVP h0000 P002 OUTOFF EN 76
2.12.5 STOP 명령 사용가능영역 M P K L F T C S # 정수 플래그제로 STOP 1 STOP STOP 현재진행중인스캔을완료한후프로그램모드로전환합니다. 사용자가명령어를사용하여원하는시점에서운전을정지시킬수있는기능입니다. 2) 프로그램예 입력조건이 P0001 이 On 되면현재진행중인스캔을모두완료하고운전이정지됩니다. P001 STOP 77
2.13 데이터처리명령어 2.13.1 BSUM, BSUMP, BSUM, BSUMP 사용가능영역 명령 M P K L F T C S # 정수 S1 O O O O O O O O O BSUM(P) BSUM(P) O O O O* O O O O 플래그 제로 5 O O S1 BSUM BSUM S1 플래그 Set 제로 영역이 # 로지정된경우영역초과가발생하면플래그를 Set 하고해당명령어는결과처리되지않습니다. S1 으로지정된영역데이터가 0 일때 Set. BSUMP BSUMP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1 1 의개수를 Count 하게될영역 Count 한데이터를저장하게될영역 BSUM S1 으로지정된워드영역의데이터중의 1을저장하고있는비트의수를저장합니다. 즉 On 된비트의개수를 Count 하여 로지정한영역에 Hex 값으로저장합니다. 2) 프로그램 P0000 ~ P000F 의입력스위치중 ON 된개수를파악하여 BC 표시기로표현하는프로그램 F0010 MOV P000 000 0000 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 h00f7 BSUM 000 005 Count 실행후저장 BC 005 P003 P003 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 h0007 EN 78
2.13.2 ENCO, ENCOP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 ENCO ENCOP S1 O O O O O O O O O O O O O* O O O O n O O 7 O S 1 ENCO S 1 ENCOP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 n n 플래그 Set 영역설정 유효비트수 n 이 0~8 이외일때 데이터영역을초과할경우 S1 영역의데이터가 0 일경우 S1 ENCO 를하게되는데이터가저장된영역 ENCO 결과를저장하게되는영역번호 n ENCO 를실행하는비트수 (1~8) ENCO S1 의 2 n 영역내에서 1로 Set 되어있는최상위비트위치를엔코드하여 로지정된영역에수치데이터로저장합니다. n 은 1~8 이지정가능 n=0 일때에는무처리하여 의내용은변화하지않습니다. 2) 프로그램 P0000~ P0007 의 8개의입력스위치또는센서의동작상태중 ON 의상태인접점의비트번호를검출하여수치로표시 (P003) 하며 P000 영역의접점중 1개이상의접점이동시에 ON 된경우에는가장높은비트의번호를저장하는프로그램 F0010 MOV P000 000 P000 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 ENCO 000 005 00003 유효 3 비트를지정한경우유효자리는 8 점임 (2 3 =8) BC 005 P003 P003 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 EN 엔코드화된수치데이터 (Hex 값 ) 79
2.13.3 ECO, ECOP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 ECO ECOP S1 O O O O O O O O O O O O O O* O O O O 7 O n O O S 1 ECO n 플래그 Set 유효비트수 n이 0~8 이외일때 데이터영역초과 S 1 ECOP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 n 영역설정 S1 ECO를하게되는데이터가저장되어있는영역번호 ECO 결과를저장하게되는영역번호 n ECO 를실행하는비트수 (1~8) ECO S1 으로지정된영역의하위 n비트를디코드하고 로지정된영역의결과에해당하는접점을 1로 Set 합니다. n 은 1~8 이지정가능 n=0 일때에는무처리하여 의내용은변화하지않습니다. 2) 프로그램예 1 입력신호 P0000 이 On 하였을때디지털스위치에의한지정번호의램프 ( P0020~P003F) 가점등하도 록하는프로그램 F0010 BIN P001 250 (P001) S1 1 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 P0000 ECO 250 P2 5 EN P002 P003 b15 유효비트 n=5 를지정한경우 b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b31 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 b16 80
2.13.4 FILR, FILRP, FILR, FILRP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 FILR(P) FILR(P) S1 O O O O O O O O O O O O O* O O O O n O O 7 O S1 n FILR FILR 플래그 Set Offset 수 (n 값 ) 가지정영역을초과할때플래그를 Set S1 n FILRP FILRP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 S1 n 시작영역 S1+n 한영역번지의데이터를 에저장 Offset FILR 시작영역 S1 으로부터 n 만큼떨어진영역의 1 워드데이터를읽어서 장합니다. 로지정된영역에저 조건 FILR M000 M007 4 조건 MOV M004 M007 데이터길이 +n(4) M000 M001 M002 M003 M004 M005 M006 M007 81
2) 프로그램 입력신호 P0000 이 On 하였을때 100 부터 129 까지의데이터를 1초주기로 200 으로옮기는 프로그램 F0012 MOV 1 100 MOV 2 101 MOV 3 102 MOV 4 103 MOV 5 104 GMOV 100 105 5 P0000 F0093 GMOV 100 110 10 GMOV 100 120 10 INCP 000 M0020 > 30 000 ( M0020 ) FILRP 099 200 000 EN PLC 의 CPU 를 RUN 의상태로만드는경우 100 ~ 119 는 1,2,3,4,5,1,2. 의데이터를자동 적으로저장하게되며 P0000 을누르는경우 1 초간격으로 100,101,102,103.129 의 데이터가 200 에저장됩니다. 82
2.13.5 FILW, FILWP, FILW, FILWP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 FILW(P) FILW(P) S1 O O O O O O O O O O O O O* O O O O 7 O n O O S1 n FILW FILW S1 n 플래그 Set 영역설정 S1 으로저장된영역에 n 을더한데이터저장위치가 S1 으로지정된영역을초과할때 Set FILWP FILWP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 S1 n 저장될영역의시작영역저장할데이터또는데이터가저장되어있는영역 Offset FILW 로지정된영역의 1워드데이터를 S1 으로부터 n 만큼떨어진영역에저장합니다. n 은 Offset 수 조건 FILW 0000 0005 3 = 조건 MOV 005 003 데이터길이 0000 0001 0002 0003 0004 0005 0005 데이터를 0003 에저장 +n(3) 83
2) 프로그램 디지털스위치를이용하여입력한데이터의순서대로 BC 표시기를이용하여표현하는프로그램 P001 워드에데이터를저장 ( 디지털스위치이용 ) 하고완료스위치 (P0001) 을눌러서저장한다. P0002 푸시버튼스위치를사용하여입력된데이터순서대로 BC 표시기를이용하여출력한다. 최대저장가능한데이터의수는 50 개로제한된다. P0001 INCP 000 SUBP 000 00001 010 P0002 INCP 001 SUBP 001 00001 011 >= 010 00000 < 010 00050 M0001 >= 011 00000 < 011 00050 P0001 M0001 BINP P001 000 M0002 FILWP 200 000 010 P0002 M0002 FILRP 200 100 011 BCP 100 P003 EN 84
2.13.6 IS, ISP 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 IS ISP S1 O O O O O O O O O O O O O* O O O O 7 O n O O S 1 IS n 플래그 Set n > 4 일경우 Set 해당명령어는결과처리되지않습니다. S 1 ISP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 n 영역설정 S1 n 분산하게될데이터가저장되어있는영역의영역번호 분산된데이터를분산저장하는선두영역번호 부터분산저장되는영역수 IS S1 으로지정된영역으로부터 n(n=1 은 4비트 ) 개의수치데이터를 n만큼의하위 4비트에각각저장합니다. 로지정된영역으로부터 ~ +n으로지정된워드의 b4~b15 비트데이터는 0이됩니다. bf bc b8 b4 b0 n+3 n+2 n+1 n b15 b4b3 b0 유효 n = 0 일때는처리하지않습니다. +1 +2 4 개 +3 2) 프로그램예 입력신호 P0000 을 On 하였을때 0020 의데이터를 0000~ 0002 워드에분산저장하는 프로그램 0000~ 0002 의 b04~b15 비트는 0 이저장됩니다 F0013 P0000 MOVP h00ef 0020 ISP 0020 000 3 b15 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 b0 b15 b3 b0 0000 1 1 1 1 0001 1 1 1 0 EN 0002 0 0 0 0 0 이됩니다. 85
2.13.7 UNI, UNIP 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 UNI UNIP S1 O O O O O O O O O O O O O O* O O O O 7 O n O O S 1 UNI n 플래그 Set n > 4 일경우 Set 해당명령어는결과처리되지않습니다. Nibble (4 비트 ) 단위 S 1 UNIP 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 n 영역설정 S1 n 결합하게될데이터가저장되어있는영역의선두번호 분산된데이터를결합저장하는영역번호 S1 부터결합하는영역수 UNI S1 으로지정된영역으로부터 n(n=1 은 4비트 ) 개의영역데이터의각하위 4비트를영역으로결합합니다. 로지정된 b15 b4b3 b0 S1 유효 n = 0 일때는처리하지않습니다. n S1+1 S2+2 S1+3 15 12 11 8 7 4 3 0 n+3 n+2 n+1 n 2) 프로그램예 입력신호 P0000 을 On 하였을때 000 로부터 3개의데이터의하위 4비트데이터를 030 에저장 하는프로그램 F0013 b15 b4 b3 b 0 000 MOVP h0005 000 0 1 0 1 001 1 0 1 0 MOVP h000a 001 002 1 1 1 1 030 MOVP h000f 002 003 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 MOVP h0000 003 P0000 UNIP 000 030 3 EN 86
2.13.8 IORF, IORFP IORF IORFP 명령 사용가능영역 M P K L F T C S S1 O S2 O # 정수 5 O 플래그 제로 플래그 Set IORF S1 S2 영역설정 S1 S2 S1 > S2 일때 Set 하고해당명령어는결과처리되지않습니다. 리프레쉬시작워드 No. 리프레쉬 EN 워드 No. IORF, IORFP S1로지정된워드부터 S2 로지정된워드까지 I/O 데이터를리프레쉬합니다.. S2의워드번호보다 S1 워드번호가클경우는플래그 를 Set 하고결과를처리하지않습니다. PLC의연산과정에서최신의입력정보를필요로할때나연산결과를바로출력해야할때 IORF 명령을사용합니다. 2) 프로그램예 P000 워드영역및 P002 워드영역의입력, 출력신호를프로그램연산중 I/O 리프레쉬처리될 수있도록하는프로그램 P0000 F0010 F0010 P0000 F0010 ( P0020 ) [ FOR 10000 ] [ WT ] [ IORF P000 P000 ] ( P0021 ) [ IORF P002 P002 ] [ NEXT ] [ EN ] 87
2.14 분기명령 2.14.1 JMP, JME 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 JMP JME n O 1/3 JMP n JME n n : 00 ~ 127 JMP(Jump) JMP n 명령입력이 On 되면 JME n 이후로 Jum 하며 JME n 사이의모든명령은처리되지않습니다. JME n 이전의같은 JMP n 은사용할수있습니다. 비상사태발생시처리해서는안되는프로그램을 JMP 와 JME 사이에넣으면좋습니다. JMP 0 는중첩하여사용이가능합니다. JMP n, JME n JMP n JME n 2) 프로그램예 입력신호 P000 을 On 하였을때 JMP 2 와 JME 2 사이의 UP 카운터를실행하지않는프로그램 P0002 P0003 P0004 C0002 JMP U CTU C002 R < s > 00100 ( P002F ) JME EN 88
2.14.2 CALL, CALLP, SBRT, RET 사용가능영역 플래그 명령 M P K L F T C S # 정수 제로 CALL n O 1/3 SBRT CALL n EN SBRT n RET n : 00 ~ 127 CALL 서브루틴프로그램호출명령으로프로그램수행중입력조건이성립하면 CALL n 명령에따라 SBRT n ~ RET 명령사이의프로그램을수행합니다. CALL No. 는중첩되어사용가능하며반드시 SBRT n ~ RET 명령사이의서브프로그램은 EN 명령뒤에있어야합니다. 처리가되는조건 n 이 00~127 을초과시 CALL n 이있고 SBRT n 이없는경우 SBRT n 과 RET 이단독으로있을경우 SBRT 내에서다른 SBRT 를 Call 하는것이가능하며, 64 회까지가능합니다. 2) 프로그램예 스위치 (P0000) 을누르는경우서브루틴프로그램이수행되어스위치 (P0001) 의 ON OFF ON. 의입력변화회수를카운트하고카운트값이 15 이상인경우램프 (P0027) 이 1초주기로점등하며스위치 (P0003) 을누르는경우램프가소등되고서브루틴프로그램을종료한다. 89
P0000 M0000 SET M0000 M0102 M0001 M0102 RST M0102 CALL 10 EN SBRT 10 P0001 P0003 C0000 T0010 T0011 U CTU C0 R <S> 15 TON T010 10 TON T011 10 T0010 P0003 ( P0025 ) M0001 RET 90
2.15 Loop 명령 2.15.1 FOR, NEXT 사용가능영역명령 M P K L F T C S # 정수 플래그제로 FOR n O 3 영역설정 FOR n n FOR~NEXT 를수행할횟수 NEXT FOR~NEXT PLC 가 RUN 모드에서 FOR 를만나면 FOR~NEXT 명령간의처리를 n회실행한후 NEXT 명령의다음스텝을실행합니다. n은최대 1 ~ 32767 까지지정가능합니다. FOR~NEXT 의프로그램중 n은 5개까지가능하며그이상은플래그 를 Set 합니다. 실행 ( 연산 ) 을하지않을경우 FOR~NEXT 의 nesting 은 5회까지가능하며그이상은플래그 를 Set 합니다. FOR 명령을실행하기전에 NEXT 명령을실행한때 FOR~NEXT Loop 를빠져나오는다른방법은 BREAK 명령을사용합니다. 스캔시간이길어질수있으므로, WT 명령을사용하여 WT 설정치를넘지않도록주의하여주십시오. 2) 프로그램예 PLC가 RUN 모드에서 FOR~NEXT 사이를 2회수행하는프로그램 FOR 2 NEXT 91
2.15.2 BREAK 사용가능영역명령 M P K L F T C S # 정수 플래그제로 BREAK 3 BREAK BREAK FOR~NEXT 구문내에서빠져나오는기능을합니다. M0000 M0001 M0002 M0003 M0004 M0005 M0006 FOR 5 ( P0026 ) BREAK FOR 4 ( P0027 ) ( P0028 ) NEXT ( P0029 ) M0007 NEXT ( P002A ) M0000 이 On 되면내부의 5 회 FOR~NEXT Loop 를무시하고 위치로빠져나와연산을실행합니다. 92
2.16 플레그관련명령 2.16.1 STC, CLC 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 STC CLC 1 O S T C C L C 플래그 Set STC 일때는실행조건이 On 이면 Set CLC 일때는실행조건이 On 이면 Reset STC 나 CLC 실행조건이 Off 이면변화없음. STC,CLC S T C 입력조건이 On 하면플래그 를 Set(On) 시킵니다. C L C 입력조건이 On 하면플래그 를클리어 (Off) 시킵니다. 2) 프로그램예 입력 M000 을 On 하면플래그 를 Set 하는프로그램 M0000 S T C 실행결과 플래그 접점 Set 입력 M001 을 On 하면플래그 가 Set 된것을클리어시키는프로그램 M0001 C L C 실행결과 블래그 접점 Set 된것을클리어시킵니다. 93
2.17 플래그 RESET 관련명령 2.17.1 CLE 명령 사용가능영역 M P K L F T C S # 정수 플래그 제로 1 CLE CLE 래치플래그인 F115 를클리어합니다. 94
2.18 특수모듈관련명령 2.18.1 GET, GETP 사용가능영역명령 M P K L F T C Sl # 정수 O 플래그 제로 S O O O O* O O O O O 9 O N O 플래그 Set GET sl S N GETP sl S N 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 sl S N ( 로지정된 evice 번호 + N) 의수가영역초과될때, N이 512 개를초과할때플래그를 Set 하고해당명령어는파라미터설정에의해연산정지또는 NOP 처리됩니다. 특수모듈이장착된선두입출력번호 특수모듈의공용 RAM 선두어드레스 CPU 내의 evice 이름및번호 Read 할데이터의갯수 GET 이명령은메모리를갖는특수모듈의공용램에저장된데이터를 Read 하고자하는경우사용되는명령어입니다. sl( 특수모듈의위치번호 ) 로지정된특수카드의메모리 (S 로지정 : 어드레스 ) 로부터 N개만큼의데이터를 로지정된 CPU 영역으로 Read 합니다. GETP 는명령어의수행조건이 OFF ON 으로변화하는경우 1 스켄동안수행합니다. 2) 프로그램예 기본베이스의 3번슬롯에장착된특수모듈공용 RAM 0 번지부터 4개만큼의데이터를 0010부터 4개만큼저장합니다. <CPU 의 영역 > < 특수모듈의공용 RAM> F10 GET 3 0 0010 4 0010 100 100 0 0011 120 120 1 0012 0013 130 190 130 190 2 3 95
2.18.2 PUT, PUTP 사용가능영역명령 M P K L F T C sl # 정수 O 플래그 제로 S O O O O O O O O O O 9 O N O 플래그 Set PUT sl S N PUTP sl S N 영역설정 sl S N (S 로지정된 evice 번호 + N) 의수가영역초과될때, N이 512 개를초과할때플래그를 Set 하고해당명령어는파라미터설정에의해연산정지또는 NOP 처리됩니다. 특수모듈이장착된선두입출력번호 특수모듈의공용 RAM 선두어드레스 CPU 내의 evice 및정수 Write 할데이터의갯수 PUT 이명령은메모리를갖는특수모듈에데이터를 Write하고자하는경우사용되는명령어입니다. sl( 특수모듈의장착슬롯번호 ) 로지정된특수모듈의메모리 ( 로지정 : 어드레스 ) 에 S로지정된 evice로부터 N개만큼의데이터를 Write 합니다. GETP 는명령어의수행조건이 OFF ON 으로변화하는경우 1 스켄동안수행합니다. 2) 프로그램예 P009 을누르는경우워드 M0010~M0012 의내용을기본베이스 3 번슬롯에장착된특수기능 모듈공용 RAM 5 번지부터 7 번지까지 3 개의워드데이터를 Write 하는프로그램 P009 PUT 3 5 M0010 3 <CPU 의 M 영역 > < 특수기능모듈의공용 RAM> M0010 10 10 5 M0011 20 20 6 M0012 30 30 7 96
2.19 인터럽트관련명령 2.19.1 EI, I 명령 사용가능영역 M P K L F T C S # 정수 플래그제로 EI I n O 1 EI n I n n : 0 ~ 29 EI n n 으로지정된 Time riven Interrupt 및 Process riven Interrupt 운전을가능하게함. 이명령이실행된이후에 n으로지정된인터럽트프로그램만실행가능. n 번호는파라미터에서설정 n 의범위는 0~29 까지이고 EI 명령사용시파라미터에서설정된모든인터럽트가실행됨. 인터럽트 5 인에이블시 EI 05 I n n 으로지정된 Time riven Interrupt 및 Process riven Interrupt 운전을중지함. 이명령이실행된이후에 n으로지정된인터럽트프로그램만실행중지가능. n 번호는파라미터에서설정 n 의범위는 0~29 까지이고 I 명령사용시파라미터에서설정된모든인터럽트가실행중지됨. 인터럽트 5 디스에이블시 I 05 97
2.19.2 TINT n 명령 사용가능영역 M P K L F T C S # 정수 플래그제로 TINT n O 1 TINT n <n 의범위 > K1000S : 0~15 K300s : 0~7 K200s : 0~5 TINT n Time riven Interrupt Routine 의시작을합니다. 이명령이후의프로그램은 Time riven Interrupt 가발생할때만실행됩니다. 인터럽트실행주기는 10ms~60 초까지 10ms 단위로설정가능하며, TINT 프로그램이실행되는시간은인터럽트주기보다짧게설정되어야합니다. 인터럽트프로그램은반드시 EN 명령이후에위치하여야합니다. 인터럽트프로그램의시작은 TINT n 으로표시되고, 종료는 IRET 로표시됩니다. 2) 프로그램예 M0000 TINT n ( P0000 ) M0001 ( P0001 ) IRET 98
2.19.3 INT n 명령 사용가능영역 M P K L F T C S # 정수 플래그제로 INT n O 1 INT n <n 의범위 > K1000S : 0~15 K300s : 0~7 INT n Process riven Interrupt Routine 의시작을표시합니다. 이명령이후의프로그램은 Process riven Interrupt 가발생할때만실행됩니다. 일반입력모듈의접점을인터럽트용접점으로사용불가하며인터럽트전용모듈을설치해야됩니다. (K1000S, K300S) 인터럽트프로그램은반드시 EN 명령이후에위치하여야합니다. 인터럽트르로그램의시작은 INT n(n : 0~15(K1000S), 0~7(K300S) 로시작되고종료는 IRET 로표시됩니다. INT n 2) 프로그램예 M0000 INT 0 ( P0000 ) M0001 ( P0001 ) IRET 99
2.20 부호반전명령 2.20.1 NEG, NEGP, NEG, NEGP 명령 사용가능영역 M P K L F T C S # 정수 NEG O O O O* O O O O 1 O 플래그제로 플래그 Set NEG evice 가 # 로지정된경우영역초과가발생하면 Set. 영역설정 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 부호변환하고자하는영역 NEG 로지정된영역의내용을부호변환하여 영역에저장합니다. NEG 0010 실행전 실행후 영역 0010 0010 데이터 -00030(hFFE2) 00030(h001E) 2) 프로그램예 0020 값이음수일때절대치를구하는프로그램 P0000 P0001 P0002 P0003 MOVP 00050 0002 MOVP 00150 0003 MOVP 00030 0003 SUB 0002 0003 0020 < 0020 0000 ( M001A ) M001A NEGP 0020 EN 100
2.21 데이터레지스터 () 영역비트제어명령 2.21.1 BL, BLN 명령 BL BLN 사용가능영역 M P K L F T C S # 정수 O O N O O 5 O 플래그 제로 B N 플래그 Set N 이영역을초과하면 Set. BN N 영역설정 N 0~15 까지또는 h00~h0f 까지. BL 로지정된영역의 n 번째비트를현재의연산결과로한다. BLN 로지정된영역의 n 번째비트를반전하여현재의연산결과로한다. 2) 프로그램예 0001 의 4 비트가 1 이되면 P001 가 On 되는프로그램 0001 의 4 비트가 0 이되면 P001E 가 On 되는프로그램 P0000 M0000 P0002 M0002 M0000 P0001 MOV h0010 0001 M0001 M0002 P0003 MOV h0010 0002 M0003 M0001 MOV h0000 0001 M0003 MOV h0000 0002 B 0001 0004 ( P001 ) EN B 0002 0004 ( P001E ) EN 101
2.21.2 BAN, BANN 명령 BAN BANN 사용가능영역 M P K L F T C S # 정수 O O N O O 5 O 플래그 제로 B N 플래그 Set N 이영역을초과하면 Set. BN N 영역설정 N 0~15 까지또는 h00~h0f 까지. BAN 로지정된영역의 n 번째비트를현재의연산결과와 AN 합니다. BANN 로지정된영역의 n 번째비트를반전한값과현재의연산결과와 AN 합니다. 2) 프로그램예 0003 의 15 번째비트 (b15) 가 1 이면 M0003 이 On 일때 P001A 를 On 하는프로그램 0003 의비트 1과 8의값에따라 P001A 와 P001B 를출력하는프로그램 P0000 P0001 P0001 P0002 MOVP h8000 0003 MOVP h0000 0003 B 0003 00015 ( P001A ) P0005 P0005 MOV h0f0f 0003 ( M0010 ) MOV h000f 0003 ( M0010 ) EN M0010 BN 0003 00001 ( P001A ) BN 0003 00008 ( P001B ) EN 102
2.21.3 BOR, BORN BOR BORN 명령 사용가능영역 M P K L F T C S # 정수 O O N O O 5 O 플래그 제로 플래그 Set B N 영역설정 N 이영역을초과하면 Set. BN N N 0~15 까지또는 h00~h0f 까지. BOR 로지정된영역의 n 번째비트를현재의연산결과와 OR 합니다. BORN 로지정된영역의 n 번째비트를반전한값과현재의연산결과와 OR 합니다. 2) 프로그램예 0000 의 6 비트가 1이되면 M003F 를 On 시키는프로그램 0000 의 1 비트가 0이면 P0010 은 On 이되고 8비트가 1이면 P0011 은 Off 되는프로그램 P0000 MOV h0040 0000 P0001 ( M003F ) B 0000 0006 P0000 P0000 P0001 MOV hff00 0000 MOV hff00 0000 ( P0010 ) EN BN 0000 0001 P0002 BN 0000 0008 ( P0011 ) EN 103
2.21.4 BOUT BOUT 명령 사용가능영역 M P K L F T C S # 정수 O O N O O 5 O 플래그 제로 플래그 Set BOUT N 영역설정 N 이영역을초과하면 Set. N 0~15 까지또는 h00~h0f 까지. BOUT 현재의연산결과를 로지정된영역의 n 번째비트에출력한다. 2) 프로그램예 M0002 가 On 일때 0001 의 b7(7 번째비트 ) 가 On 되는프로그램 P0000 M100 M0100 BOUT 0001 7 BOUT 0001 7 M100 M0100 P0001 M0101 SET P002E M101 SET P002F EN 104
2.21.5 BSET, BRST BSET BRST 명령 사용가능영역 M P K L F T C S # 정수 O O N O O 5 O 플래그 제로 BSET N BRST N BSET 조건만족시 로지정된영역의 n 번째비트를 Set 한다. BRST 조건만족시 로지정된영역의 n 번째비트를 Reset 한다. 2) 프로그램예 M0002 가 On 이면 0001 의 b2(2 번째비트 ) 가 Set 되고 M0003 이 On 이면 0001 의 b2(2 번째비트 ) 가 Reset 되는프로그램 P0002 P0003 BSET 0001 2 BRST 0001 2 B 0001 2 ( P001F ) EN 타이밍도 M0002 M0003 0001 의 b2 105
3. 기타명령어 3.1 데이터링크명령어 3.1.1 RAE 사용가능영역 명령 M P K L F T C sl # 정수 O 플래그제로 st O O O O O O O O O O O O O* O O O O S O O O O O O O O O 13 O n O O SS O O O O* O O O O 플래그 Set REA sl st S n SS 영역초과가발생하면 Set. 컴퓨터링크모듈및데이터링크모듈을사용하지않을 경우가능 영역설정 sl Read 하고자하는 FUFA 의슬롯번호 st Read 하고자하는상대국번 (4 워드 ) Read 한데이터저장할자국의영역 S Read 하고자하는상대국영역 n Read 할데이터워드개수 SS 링크상태정보영역표시 REA SI로지정된 FUEA 모듈을통하여, St 국번의 S로지정된영역부터 n개의데이터를 Read 하여 로지정된자국의디바이스영역에저장합니다. REA 명령어의수행조건이 OFF ON 으로변화하는 1스켄동안연산됩니다. MASTER-K 200S,300S,1000S 의 Fnet 네트워크사용시사용될수있습니다. 2) 프로그램예 자국의 5 번슬롯에위치한 FUEA 를통하여, 상대국 11( h000b) 국의 200 으로부터 h0020 개의 데이터를자국의 300 이후영역에 Read 하고이에대한 Status 를 M020 에저장하는프로그램. P0000 MOVP h000b 0000 REA h0005 0000 0300 0200 h0020 M020 제 3 장기타명령어 107
3.1.2 WRITE 사용가능영역 명령 M P K L F T C sl # 정수 O 플래그제로 st O O O O O O O O O O O O O* O O O O S O O O O O O O O O 13 O n O O SS O O O O* O O O O O 플래그 Set WRTIE sl st S n SS 영역초과가발생하면 Set. 컴퓨터링크모듈및데이터링크모듈을사용하지않을 경우가능 영역설정 s1 Write 하고자하는 FUFA 의슬롯번호 st Write 하고자하는상대국번 (4 워드 ) S Write 하고자하는자국 CPU 의영역 Write 한데이터를저장할상대국영역 n Write 할데이터워드개수 SS 링크상태정보영역표시 WRITE S로지정된자국디바이스의데이터를 n개만큼 sl 로지정된 FUEA 모듈을통하여, St 로지정된상대국번의 로지정된영역에데이터를 Write 합니다. WRITE 명령어의수행조건이 OFF ON 으로변화하는 1스켄동안연산됩니다. MASTER-K 200S,300S,1000S 의 Fnet 네트워크사용시사용될수있습니다. 2) 프로그램예 자국의 1234 이후영역으로부터 h0014 개의데이터를자국의 7번슬롯에위치한 FUEA 로부터상대국 25 번국의 5678 영역으로부터 h0014 개의데이터에 Write 하고이에대한 Status 상태를 K015 영역에저장하는프로그램. P0000 MOVP h0019 0010 WRITE h0007 0010 5678 1234 h0014 K015 제 3 장기타명령어 108
3.1.3 RGET 명령 sl 사용가능영역 M P K L F T C # 정수 O 플래그제로 st O O O O O* O O O O S O 13 O n O O SS O O O O* O O O O s1 구조 A B C RGET sl st S n SS 하위 (C) : FUFA 의슬롯번호상위 (AB) : 특수모듈종류 (Access 하고자하는 Remote 국의특수카드종류 AB (Access 하고자하는특수카드종류 ) A AV TC RT K1000S 00h 01h 02h 03h 04h K300S 80h 81h 82h 83h 84h K200S 80h 81h 82h 플래그 Set 영역초과가발생하면 Set. 영역설정 sl Read 하고자하는 FUEA 의슬롯번호 st Read 하고자하는상대국번 (4 워드 ) S n SS Read 한데이터저장할자국의영역 Read 하고자하는상대국영역 Read 할데이터워드개수 링크상태정보영역표시 sl 구조 A B C 하위 (C) : 상대국번상위 (AB) : 상대슬롯위치 상위 하위 (Access 하고자하는 Remote 국의특수카드슬롯위치 ) 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 RGET Remote 국에장착된특수모듈의데이터를 Read 하고자할때사용하는명령. sl( 하위 8비트 ) 로지정된 FUEA 모듈을통하여, st 국번및슬롯에장착된 sl( 상위 8비트 ) 특수모듈의공용메모리의 S로지정된영역부터 n개만큼의데이터를 Read 하여 로지정된자국디바이스의영역에저장합니다. RGET 명령어의수행조건이 OFF ON 으로변화하는 1스켄동안연산됩니다. MASTER-K 200S,300S,1000S 의 Fnet 네트워크사용시사용될수있습니다. 제 3 장기타명령어 109
2) 프로그램예 자국의 5 번슬롯에위치한 FUEA 로부터상대국 11(08h) 국에 01 번슬롯에장착된 K1000S A 모듈의공용메모리 h0010 번지부터 h0020 개의데이터를자국의 300 이후영역에 Read 하고이에대한 Status 상태를 M020 영역에저장하는프로그램. P0000 RGET h0005 h010b 0300 h0010 h0020 M020 제 3 장기타명령어 110
3.1.4 RPUT 명령 sl 사용가능영역 M P K L F T C # 정수 O 플래그제로 st O O O O O* O O O O S O 13 O n O O SS O O O O* O O O O s1 구조 A B C RPUT sl st S n SS 하위 (C) : FUEA 의슬롯번호상위 (AB) : 특수모듈종류 (Access 하고자하는 Remote 국의특수카드종류 AB (Access 하고자하는특수카드종류 ) A TC RT K1000S 00h 01h 02h 03h 04h K300S 80h 81h 82h 83h 84h s1 구조 A B C 하위 (C) : 상대국번상위 (AB) : 상대슬롯위치 상위 하위 (Access 하고자하는 Remote 국의특수카드슬롯위치 ) 플래그 Set 영역초과가발생하면 Set. 영역설정 Sl Write 하고자하는 FUEA 의슬롯번호 St Write 하고자하는상대국번 (4 워드 ) S n SS Write 한데이터저장할자국의영역 Write 하고자하는상대국영역 Write 할데이터워드개수 링크상태정보영역표시 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 RPUT Remote 국에장착된특수모듈의데이터를 Write 하고자할때사용하는명령. S로지정된자국디바이스의영역에서 n개만큼의데이터를읽어내서 sl( 하위 8비트 ) 로지정된 FUEA 모듈을통하여, st 국번및슬롯에장착된 sl( 상위 8비트 ) 특수모듈의공용메모리에 로지정된영역부터 Write 합니다. RPUT 명령어의수행조건이 OFF ON 으로변화하는 1스켄동안연산됩니다. MASTER-K 200S,300S,1000S 의 Fnet 네트워크사용시사용될수있습니다. 제 3 장기타명령어 111
2) 프로그램예 자국의 5 번슬롯에위치한 FUEA 로부터자국의 0300 부터 h0020 개의데이터를 Read 하여상대국 11 (h000b) 국 01 번슬롯에장착된 K1000S A 모듈의공용메모리에 h0010 번지부터 Write 하고, 이에대한 Status 를 M020 영역에저장하는프로그램. P0000 RPUT h0005 h010b 0300 h0010 h0020 M020 제 3 장기타명령어 112
3.1.5 CONN 명령 sl 사용가능영역 M P K L F T C # 정수 O 플래그제로 st O O O O O O O O O 9 O O O O O* O O O O SS O O O O* O O O O O 플래그 Set CONN sl st SS 영역초과가발생하면 Set. 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 sl Connection 할 FUEA 의슬롯번호 st Connection 할상대국번 (4 워드 ) Connection 정보 SS 링크상태정보영역표시 CONN 통신국과의통신채널설립을위하여사용 sl로지정된 FUEA Unit 를통하여, st 국과통신채널을설립한다. CONN명령어의수행조건이 OFF ON 으로변화하는 1스켄동안연산됩니다. MASTER-K 200S,300S,1000S 의 Fnet 네트워크사용시사용될수있습니다. 2) 프로그램예 자국의 5 번슬롯에위치한 FUEA 로통하여상대국 0000 으로설정된국과통신채널을설립하고, 이에대한 Connection 정보를 M020 에 Status 를 K020 에저장하는경우. P0000 CONN h0005 0000 M020 K020 제 3 장기타명령어 113
3.1.6 STATUS 사용가능영역 명령 M P K L F T C sl # 정수 O 플래그제로 st O O O O O O O O O 9 O O O O O* O O O O SS O O O O* O O O O O 플래그 Set STATUS sl st SS 영역초과가발생하면 Set. 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 영역설정 sl 정보를 Read 할 FUEA 의슬롯번호 st 정보를 Read 할상대국번 (4 워드 ) Read 한정보를저장할자국의영역 SS 링크상태정보영역표시 STATUS 시스템의제어및감시를위해상대국의상태를알고자할때사용합니다. sl로지정된 FUEA 을통하여, st 로지정된상대국번의정보 (10 워드 ) 를 로지정된영역에저장합니다. STATUS 명령어의수행조건이 OFF ON 으로변화하는 1스켄동안연산됩니다. MASTER-K 200S,300S,1000S 의 Fnet 네트워크사용시사용될수있습니다. 2) 프로그램예 자국의 7 번슬롯에위치한 FUEA 로부터 14 국으로설정된상대국의상태정보를읽어서 1234 에저장하고이에대한 Status 를 K015 에저장하는경우. P0000 MOVP h000e 0000 STATUS h0007 0000 1234 K015 제 3 장기타명령어 114
3.2 컴퓨터링크모듈제어명령 3.2.1 SN 사용가능영역 명령 M P K L F T C sl # 정수 O 플래그제로 fnam O O O O O O O snd O O O O O O O 11 O len O O SS O O O O O O O sl 구조 A B C SN sl fnam snd len SS 하위 (C) : 슬롯번호상위 (AB) : Channel Number(0/1) 0 : RS232C Channel 1 : RS422 Channel 플래그 Set 영역초과가발생하면 Set. 영역설정 sl Channel Number, 슬롯번호 fnam snd len SS Frame Name (16Byte) Send 데이터영역 Send 데이터길이 (Byte) (Max, 256Byte) 링크상태정보영역표시 SN 컴퓨터링크모듈을통하여메시지 ( 통신프로토콜 ) 를송신하고자할때사용 sl( 하위 8비트 ) 로지정된컴퓨터링크모듈의 sl( 상위 8비트 ) 로지정된 Channel 로 Fnam (Frame Name) 과 snd ( 메시지 ) 를 len 길이만큼전송한다. MASTER-K 200S,300S,1000S 의 Cnet 네트워크사용시사용될수있습니다. 2) 프로그램예 7 번슬롯에위치한컴퓨터링크모듈의 00 번 Channel(RS232C) 로 fnam (0000) 과 1234 부 터 16Byte 의메시지를전송하고이에대한 Status 를 K015 에저장하는경우. P0000 SN h0007 0000 1234 h0010 K015 제 3 장기타명령어 115
3.2.2 RCV 사용가능영역 명령 M P K L F T C sl # 정수 O 플래그제로 fnam O O O O O O O O rcv O O O O O O O 11 O len O O SS O O O O O O O sl 구조 A B C RCV sl fnam rcv len SS 하위 (C) : 슬롯번호상위 (AB) : Channel Number(0/1) 0 : RS232C Channel 1 : RS422 Channel 플래그 Set 영역초과가발생하면 Set. 영역설정 sl Channel Number, 슬롯번호 fnam rcv len SS Frame Name (16Byte) Receive 데이터영역 Rcv 데이터길이 (Byte) (max, 256Byte) 링크상태정보영역표시 RCV 컴퓨터링크모듈을통하여메시지 ( 통신프로토콜 ) 을수신하는경우사용 sl( 하위 8비트 ) 로지정된컴퓨터링크카드의 sl( 상위 8비트 ) 로지정된 Channel 로부터 Fnam (Frame Name) 과 rcv( 메시지 ) 를 len 길이만큼수신합니다. MASTER-K 200S,300S,1000S 의 Cnet 네트워크사용시사용될수있습니다. 2) 프로그램예 7 번슬롯에위치한컴퓨터링크모듈의 00 번 Channel(RS232C) 로부터 fnam (0000) 를수신한후수신된메시지데이터및길이를각각 1234,2000 에저장하고이에대한 Status 를 K015 에저장하는프로그램 P0000 RCV h0007 0000 1234 2000 K015 제 3 장기타명령어 116
3.2.3 SEN 사용가능영역 명령 M P K L F T C # 정수 St O O O O O O O O O O 플래그제로 S1 O O O O O O O O O O O O O O O O O 9 O n O O O O O O O O O O SEN St S n 플래그 Set 영역초과가발생하면 Set. * SEN 명령은 K200S/300S/1000S 를제외한 MK-S 소형시리즈에서 RS-485 통신전용으로 사용되는명령어입니다. 영역설정 St S 데이터를보내고자하는슬레이브국번 보내고자하는마스터국의영역 데이터를받는슬레이브국의영역 n 보내는데이터개수 ( 최대 30 워드 ) SEN S으로설정된마스터국의데이터영역을 로설정된슬레이브국 ( 국번 : St) 의데이터영역으로보내는명령입니다. 2) 프로그램예 마스터국의 010 ~ 013 (4 워드 ) 의데이터를슬레이브 3 번국의 M00 ~M03 으로전송하는 경우입니다. SEN 0003 0010 M000 0004 알아두기 RS-485 통신사양 RS- 485 기능을내장한 MK-S 소형기종중마스터국으로설정된 PLC 에서만사용할수있습니다. 슬레이브국은마스터국을포함해서최대 32 국 (h00 ~ h1f) 까지설정할수있습니다 마스터국의국번은항상 h1f 국으로설정해야합니다. 통신속도는파라미터에서설정하며 300 ~ 19,200 까지설정할수있습니다. 제 3 장기타명령어 117
3.2.4 RECV 사용가능영역 명령 M P K L F T C # 정수 St O O O O O O O O O O 플래그제로 2 O O O O O O O O S2 O O O O O O O O O 9 O n O O O O O O O O O O RECV St S n 플래그 Set 영역초과가발생하면 Set. * RECV 명령은 K200S/300S/1000S 를제외한 MK-S 소형시리즈에서 RS-485 통신전용으로사용되는명령어입니다. 영역설정 St S n 슬레이브의국번데이터를저장할마스터국의영역읽을데이터가저장된슬레이브국의영역읽을데이터개수 RECV 슬레이브국의 S로지정된영역의데이터를 로지정된마스터국의영역으로 n개만큼읽는명령입니다. 2) 프로그램예 슬레이브 2 번국의 L00 ~L02(3 워드 ) 의데이터를마스터국의 K00 ~ K02 에저장하는프로그램 입니다. P0000 RECV h0002 K00 L00 0003 3) 통신사양은 SEN 와동일합니다. 제 3 장기타명령어 118
3.3 내장고속카운터및 PI 명령 3.3.1 HSC 사용가능영역 명령 M P K L F T C # 정수 PV O O O O* O O O O O O SV O O O O* O O O O O O 플래그제로 8 O O EN U/ PR HSC PV < > SV < > 플래그 Set PV,SV 값이설정치영역 (0~hFFFFFF) 을초과하거나, # 의영역초과가발생한경우 Set. 영역설정 EN On 되었을때카운트를시작합니다. U/ On/Off 에의해 own/up 카운트를합니다. PR Preset 지령입력입니다. PV 현재치입니다 SV 설정치입니다. 컴퓨터링크모듈및데이터링크모듈을사용하지않을경우가능 HSC 고속카운터기능이내장된 CPU 모듈 (K3P-07CS) 사용시내장고속카운터기능을사용하는명령입니다. 4999 에고속카운터운전모드를설정하고, PV, SV 값을설정한후 EN 이 On 될경우카운트를시작합니다. 2) 프로그램예 운전모드를 1상입력프로그램에의한 U/ 및 PR 지정방식으로설정한경우의프로그램예. K200SC 의경우현재값은 F019,F018 에나타나며, 현재값이 SV 값보다크거나같을경우출력접점 (F0170) 이 On 됩니다. MK-S 소형시리즈의경우현재값은 F014,F015 이며, 출력접점은 F070 입니다. F0012 MOV h1010 4999 M0000(On 일때카운터를개시합니다.) M0001 (On 일때감산,Off 일때가산합니다.) M0002 (On 될때현재값이 100 으로됩니다.) EN U/ PR HSC PV <100 > SV<1000> 제 3 장기타명령어 119
고속카운터운전모드설정방법 (200S C 타입의경우 ) 운전모드 (4999) 1 상입력 2 상입력 입력접점 A 상 B 상 C 상 1000h Pulse 입력 - - - 1010h Pulse 입력 - Preset 입력 - 1100h Pulse 입력 U/ 입력 - - 1110h Pulse 입력 U/ 입력 Preset 입력 - 체배 2001h A 상입력 B 상입력 - 1 체배 2002h A 상입력 B 상입력 - 2 체배 2004h A 상입력 B 상입력 - 4 체배 2011h A 상입력 B 상입력 Preset 입력 1 체배 2012h A 상입력 B 상입력 Preset 입력 2 체배 2014h A 상입력 B 상입력 Preset 입력 4 체배 설명 U/: 프로그램에의한지정 PR: 프로그램에의한지정 U/: 프로그램에의한지정 PR:Preset 지정에의한지정 U/:B 상입력에의한지정 PR:Preset 지정에의한지정 U/: B 상입력에의한지정 PR:Preset 지정에의한지정 U/: 프로그램에의한지정 1 체배 U/: 프로그램에의한지정 2 체배 U/: 프로그램에의한지정 4 체배 U/: 프로그램에의한지정 1 체배 U/: 프로그램에의한지정 2 체배 U/: 프로그램에의한지정 4 체배 주 ) 외부입력에의한 U/ 및 PR 지령의경우에도 HSC 명령의 U/,PR 입력조건은 UMMY 로입력해야합니다. 주 ) 체배에대한동작및고속카운터의자세한사양은 CPU 사용설명서를참조하기바랍니다. 고속카운터운전모드설정방법 (MK-S 소형시리즈의경우 ) 운전모드 (247) 입력접점 P000 P001 P002 설명 1 상입력 2 상입력 0110h Pulse 입력 사용안함 사용안함 0111h Pulse 입력 사용안함 PR 지령 0120h Pulse 입력 U/ 지령 사용안함 0121h Pulse 입력 U/ 지령 PR 지령 0220h A 상입력 B상입력 사용안함 0221h A 상입력 B상입력 PR 지령 U/ : 프로그램에의한지령 PR : 프로그램에의한지령 U/ : 프로그램에의한지령 PR : 외부입력에의한지령 U/ : 외부입력에의한지령 PR : 프로그램에의한지령 U/ : 외부입력에의한지령 PR : 외부입력에의한지령 U/ : 위상차자동지정 PR : 프로그램에의한지령 U/ : 위상차자동지정 PR : 외부입력에의한지령 제 3 장기타명령어 120
3.3.2 HSCNT 명령 사용가능영역 M P K L F T C # 정수 플래그제로 HSCNT 1 HSCNT 점수 1상 1점 최대계수속도 8Kpps 계수범위 0~hFFFF (16 비트 ) 현재값저장영역 F14 설정값저장영역 F15 입력접점 K10S1, K10S HSC 입력단자 K30S, K60S P000 HSCNT 입력조건이 On 될때, 파라미터에설정된고속카운터설정에의해고속카운터동작을시작합니다. 입력조건이 Off 될때, 고속카운터는리셋됩니다. 고속카운터명령은 HSC 명령과동시에사용할수없습니다. 2) 프로그램예 입력조건이 On 되면, 고속카운터입력펄스를계수하여파라미터설정에따라출력을 P02 영역으로내보냄 P0000 HSCNT MOV F07 P02 입력조건이 On 되면 F14 에는현재값이, F15 에는순서 0 의설정치가나타납니다. 현재값이순서 0 의설정치에도달하면, 순서 0 의셋비트, 리셋비트설정에의해 F070 이 On 됩니다. 이때 F15 는순서 1 의설정치를보입니다. 현재치가순서 01 의설정치에도달할때까지 F070 은 On 상태로유지됩니다. 현재치가계속증가하여순서 5( 마지막설정 ) 의설정치에도달하면, 현재치는 0이되고 F15 는순서 0 의설정값으로바뀝니다. 제 3 장기타명령어 121