<4D F736F F D204E582BB8EDB7C9BEEEBBE7BFEBBCB3B8EDBCAD5F56332E312E646F6378>

Size: px
Start display at page:

Download "<4D6963726F736F667420576F7264202D204E582BB8EDB7C9BEEEBBE7BFEBBCB3B8EDBCAD5F56332E312E646F6378>"

Transcription

1 PLC NX Plus Series 명령어 V3.0 사용설명서 NX Plus CPU 의 F/W 버전 5.0 이상 WinGPC4.15 이상 지원되는 명령어 사용설명서 입니다. S Automation

2 목 차 제 1 장 NX Plus 시리즈 명령어 개요 1.1 개요 1.2 특징 제 2 장 기능 및 성능 2.1 CPU 성능 2.2 CPU 운전 개요 2.3 CPU 초기화 2.4 프로그램 진단 제 3 장 번지 체계 및 형식 3.1 NX Plus 시리즈의 번지 체계 3.2 번지 지정 형식 3.3 더블워드 번지지정 3.4 절대번지 지정 3.5 음수(Signed) 지정 3.6 간접지정 번지 3.7 명령어 형식 제 4 장 프로그래밍 소프트웨어 4.1 WinGPC 개요 4.2 WinGPC 운영 1) WinGPC 기동 2) 프로젝터 작업과정 3) 프로그래밍 작업 4) 프로그램 저장, 컴파일 5) 프로그램 다운로드 및 모니터링 1

3 제 5 장 명령어 이해 5.1 접점 명령 :ST, STN, DIF, DFN, DF, DN, NOT 5.2 출력 명령 : OUT,SET,ST,ALT,PLS,PLF 5.3 블록처리 명령 : ANB, OB, MS, M, MCS, MC 5.4 타이머 : TIM, TOF, SST, TM 5.5 카운터 : UC, DC, CT, UDC, 5.6 시프트 S 명령 : S 5.7 스텝제어 명령 : ISTP, SSTP, NSTP, ASTP, CSTP, CBSTP, ESTP 5.8 증감 명령어 : INC, DINC, INCB, DINCB, DEC, DDEC, DECB, DDECB, FINC, FDEC 5.9 대입 명령어 : LET, DLET, FLET, MLET, DMLET, FMLET 5.10 부호처리 명령 : ABS, DABS, FABS, WNOT, DNOT, NEG, DNEG 5.11 연산 위치 대입 : LETX, DLETX, FLETX 5.12 데이터 전송 명령 : MOV, FMOV, BMOV, BFMV 5.13 간접지정 대입명령 : LD, DLD, STO, DSTO 5.14 데이터 테이블 처리 명령 : FIFOW, LIFOW, POPS, TOS 5.15 정수 비교 명령 : ==,D==,<>,D<>,>,D>,>=,D>=,<=,D<=,<,D< 5.16 실수 비교 명령 : F==,F<>,F>,F>=,F<=,F<, 5.17 데이터 범위 비교명령 : LIM, DLIM, FLIM 5.18 산술연산명령 : ADD, DADD, ADC, DADC, SUB, DSUB, SBC, DSBC MUL, DMUL, DIV, DDIV, FADD, FSUB, FMUL, FDIV, 5.19 BCD 산술 연산 : ADDB, DADDB, ADCB, DADCB, SUBB, DSUBB, SBCB, DSBCB, MULB, DMULB, DIVB, DDIVB 5.20 논리연산: WAND,DAND, WO,DO, WXO,DXO, WXN,DXN 5.21 회전명령 : LC,DLC, C,DC, OL,DOL, O,DO, 5.22 시프트 명령 : SHL,DSHL, SH,DSH 5.23 BCD 숫자 변환 : BCD, DBCD, BIN, DBIN, ENCO, DECO, SEG 5.24 데이터 변환 : XCHG, DXCHG, DIS, UNI, SWAP, EXT BSET, BST, BNOT, BTST, SUM, SC, C, CC 5.25 데이터 처리 : MAX, DMAX, FMAX, MIN, DMIN, FMIN, AVG, DAVG, FAVG, WSUM,DSUM, FSUM,SOT, DSOT, FSOT 5.26 함수처리 명령 : SCALE, DSCALE, FSCALE, SCP, DSCP, FSCP 5.27 데이터 제한 명령 : LIMIT,DLIMIT,FLIMIT, BAND,DBAND,FBAND, BIAS,DBIAS,FBIAS 5.28 실수 변환 명령 : N2F, L2F, F2N, F2L, D2, 2D 5.29 문자열 처리 : STLET, STADD, STEX, ST==(3), ST<>(3), SEACH 5.30 문자열 변환 : A2H, H2A, A2I, I2A, A2L, L2A, 5.31 삼각 함수명령 : SIN, ASIN, COS, ACOS, TAN, ATAN, SQT, EXP, LOG, LN, POWE, 5.32 루프/분기 명령 : FO, DFO, NEXT, JMP, LBL, JMPS, JMPE, CALL, SB, ET 5.33 인터럽트 명령 : INT, ETI, 5.34 입출력 제어 : INP, OUT, WAT, END, 5.35 특수기능 제어 : HSC, SET_HSC, PWM, SET_PWM, PTO, SET_PTO, PID, SET_PID, SUS 5.36 시간 제어 : SET_DATE, GET_DATE, SET_TIME, GET_TIME, T2S, S2T 5.37 통신모듈 제어 : EAD, WITE, MD, MW, ECV, SEND, ECVB,SENDB 5.38 통신 제어 명령 : MODCOMM, PLCCOMM, WASCII, DASCII, WBIN, DBIN, CHKSUM, 2

4 제 1 장 NX Plus 시리즈 명령어 개요 1.3 개요 이 사용설명서는 PLC NX plus 시리즈에 사용되는 명령어의 종류 및 기능에 대한 설명서 입니다. 이 매뉴얼을 이용해서 프로그래밍 소프트웨어(WinGPC 버전 이상)에서 사용되는 명령어를 쉽게 사용 할 수 있도록 하기 위해 제작되었습니다. 1.4 특징 NX plus 시리즈의 특징은 쉬운 사용자 환경에 따라 다양한 기능을 효과적으로 이용할 수 있도록 지원합니다. - 쉬운 사용자 환경으로 구성 - 간략화된 명령어 체계 지원 - 모니터링 중 명령어 수정 기능 - 부호선택 기능 및 실수 연산, 삼각함수 기능등 다양한 명령어 지원 - 다양한 통신 방식에 따른 접속 가능 - 편리한 자기진단 기능 주의) 본 매뉴얼에는 NX plus 시리즈의 각 제품별 버전에 따라 지원되는 명령어가 다르며, 동일한 명령어에도 기능이 다르게 수정된 경우도 있을 수 있으므로 버전에 따라 충분한 시험을 한 후 제품에 적용하시기 바랍니다. 본 매뉴얼은 NX7 의 V5.0 이상, NX7 제품을 중심으로 설명이 되어 있습니다. 3

5 제 2 장 기능 및 성능 2.1 CPU 성능 CPU 종류 NX7s NX7 NX7 NX70 NX700 제 어 방 식 프로그램 저장, 반복연산 방식 외부입출력 점수 명령어 메 모 리 용 량 통 신 기 능 기 타 기본명령 응용명령 프로그램 용량 입출력,내부() 링크 접점 (L) 내부 접점 (M) 정전 유지 (K) 특수 접점 (F) 타이머/ 카운터 데이터워드(W) 데이터워드(D) 특수워드(S) 10,14,20,28, 40,48 점 20(A), 28, 48, 확장 2 개, 14/28 점 V3.x 이하= 30 종 V5.x 이상=,36 종 V3.x 이하= 139 종 V5.x 이상= 284 여종 2KW V3.x 이하 = 9KW, V4.x 이상=32K(주 1) 28 확장 2 개 14/28 ~384 점 ~1600 점 36 여종 30 종 30 종 284 여종 V2=약 148 종 V2=약 150 종 32K 70P1=9.6K, 70P2=20K ~ (2048 점, 128 워드) L ~ L (1024 점, 64 워드) M ~ M (2048 점, 128 워드) K ~ K (2048 점, 128 워드) F ~ F (256 점, 16 워드) 256 채널 (타이머+카운터), 채널 중복사용 불가 V2.x=사용불가 V2 이하=사용불가 V3 이상=2048WV4 이상=12800W 통신속도 4800, 9600, 19200, W0000 ~ W2047 (2048 워드) 20K 12800W 2048W 2048W S000 ~ S511 (512 워드) ~57600, , 4800, 9600, 19200, 통신 포트 2Ports (Port1 : NX7S=S232C 전용, 기타 모델:S232C/S485 겸용) (Port2 : NX7S=S485 전용, 기타 모델:S232C/S485 겸용) 통신 Protocol 1 2/4 단계 NXp 통신 Protocol, 사용자 정의통신, 통신 Master, Modbus Slave 통신 Protocol 2 - V5.x 이상 지원 지원 - - 특수 기능 고속카운터 1Ch, 펄스출력 2Ch, 펄스캐치 4 점 HSC 2Ch, Pulse Out 2Ch, Analog,TD,TC, HSC, Pulse, Position, Link, 시계기능 없음 내장 내장(옵션밧데리) 내장 내장 PID 8 Loops 지원 (NX7 V5=494Loops) 최대 494 Loops 8 Loops 지원 메모리 백업 EEPOM 백업 Option 메모리 EEPOM 백업 프로 그램 Tools WinGPC 전체 V5.x 이상= WinGPC4.5 이상 WinGPC 전체 WinGPC 이상 주 1) WinGPC 가 지원하는 CPU Processor(단종모델) -SPC-10(CPU14), SPC24S(CPU24S), SPC100(CPU10, CPU10A), SPC120S(CPU12S), -SPC300(CPU300,CPU300A,CPU300C,CPU500), A200(CPU200,CPU201), -N70(CPL9215A,CPL9216A), N700(CPL7215A) 주 2) N plus 시리즈 Data 영역 비교 -N70 : 9215A =9.6KW, D 영역:사용불가, 9216A = 20KW, D 영역:2048W -N700: V2.x 이하 = 24KW, D 영역:2048W 주 3) 명령어 종류는 버전에 따라 달라질 수 있습니다. 주 4) WinGPC 버전이 4.14 이전 에서는 D0 부터의 영역이 W3072 부터 표시됩니다. 4

6 2.2 CPU 운전 개요 NX Plus CPU 의 운전 스위치는 UN / MT(emote) / POG(Stop)의 스위치 상태가 있으며, 상태에 따라 제어할 수 있는 기능 다르며, 다음과 같은 운전모드를 가집니다. CPU 운전 스위치별 운전모드 및 기능 운전스위치 운전모드 UN LED 상태 POG 프로그램 변경 데이터 변경 전원 OFF ON 시 운전모드 UN MT (emote) UN 불가능 가능 UN STOP 불가능 가능 UN UN 가능 가능 UN PAUSE 가능 가능 PAUSE POG. STOP 가능 가능 STOP 참조 : - LED 상태표시의 =ON 상태, =점별상태, =꺼진상태 표시입니다 - POG. LED 가 ON 되어 있으면 사용자 프로그램의 변경이 가능합니다. - 모드전환스위치가 EMOTE 일때는 전원 OFF ON 시 운전모드가 기억됩니다. - 사용자 프로그램 디버깅시 모드전환 스위치를 EMOTE 에 두면 편리합니다. 운전 스위치 이동상태에 따른 모드의 기능 주 1) 상태 1과 같이 모드가 UN 상태에서 에러가 발생하면 에러내용에 따라 자동으로 운전모드가 STOP 또는 Pause 상태로 전환되며, E 램프가 점등 됩니다. 단, 연산에러와 같이 운전중 E 가 생기면, E 램프가 켜지고, STOP 으로 전환되며, 이후에 CPU 가 정지해 있을 경우 E 램프가 OFF 되는 경우도 있습니다. 주 2) 상태 2의 모드전환은 EO 가 해제된 상태에서 원격으로 전환됩니다. 주 3) 주 1) 또는 주 2)의 상태전환은 운전모드를 제어하는 F0.15 접점을 ON/OFF 할 경우에도 전환되므로 프로그램 작성시 주의하시기 바랍니다. 5

7 2.3 CPU 초기화 NX plus 시리즈의 CPU 를 처음 개봉할 경우, CPU 에 Data 또는 프로그램이 남아있는 경우가 발생합니다. 이것은 개봉 후 전원을 연결할 때부터 유지되고 있는 비 정상적인 프로그램이나 설정 Data 이므로 이것을 초기화 하여 사용해야 정상적으로 동작될 수 있습니다. 그러므로 다음과 같은 순서대로 초기화를 실시한 후 사용하시기 바랍니다. 1) 제품을 개봉하고, 정전유지를 위한 밧데리를 연결한다(밧데리가 없는 모델은 제외) 2) PC 와 온라인 접속을 한다. 3) Online 메뉴에서 CPU 초기화(Initialize CPU) 를 선택하여 백업된 Data 와 프로그램을 클리어 한다. 4) 프로그램을 다운로드 하여 운전동작을 한다. 5) 초기화를 하지않고 프로그램을 다운로드하여 운전을 하면, 설정된 Data 가 남아있는 상태에서 작동하므로 오동작을 할 수도 있습니다. 2.4 프로그램 진단 PLC 프로그램을 작성하여 CPU 에서 운전을 실시할 때, 다음과 같이 3 단계로 프로그램을 점검합니다. 1) WinGPC 에서 프로그램을 작성할 때 CPU 기종별로 지원되는 명령어를 구별하여 에러처리 2) 프로그램 작성 후 저장, 컴파일을 실시하면 에러창에 정상 또는 비정상 프로그램인지 구별 3) 프로그램을 CPU 에 다운로드 한 후 CPU 의 에러 LED 가 작동하는지 구별함. 각각의 에러는 단계별로 수정해야 다음 단계로 진행할 수있습니다. 처음 명령어 입력단계의 에러는 WinGPC 의 프로젝터 메뉴의 CPU 선택 항목에서 CPU 기종 및 버전을 정확하게 입력하면 해당 CPU 에서 지원되는 명령어를 모두 사용할 수 있습니다. 또한 각 명령어에 입력되는 변수(Parameter)를 기준에 맞게 입력해야 정상적으로 작성됩니다. 두번째 컴파일 단계의 에러는 WinGPC 상에서 완성이 안된 프로그램이거나 프로그램 용량초과, 중복사용, 비정상적인 명령어 등으로 발생하여 프로그램을 CPU 에 다운로드 할 수 없는 경우에 발생하며, WinGPC 상에서 정상적인 프로그램으로 만들어야 완성될 수 있습니다. 세번째로 CPU 에서 발생한 에러 LED 는 WinGPC 의 모니터링 메뉴의 CPU 진단 창에서 확인 할 수 있으며, 에러가 발생한 스텝번호를 알 수 있고, 발생한 에러 부분을 수정하면 정상적인 운전을 할 수 있다. 만약 CPU 의 에러 LED 가 깜박이면 프로그램 오류가 아니고, 밧데리가 연결되지 않았거나 다른 외부 원인에 의한 문제로 프로그램은 정상적으로 운전시킬 수 있는 상태를 나타낸다. 6

8 제 3 장 번지 체계 및 형식 3.1 NX Plus 시리즈의 번지 체계 메모리 번지 지정은 그 종류에 따라, L, M, K, F, TC, SV, PV, W, D, S 등으로 구분합니다. 종 류 비트접점 워드번지 특 성 외부 입출력 () ~ ~ 입출력 영역 (2048 점, 128 워드) - CPU 기종별로 지정영역이 다릅니다. 링크 접점 (L) L ~ L L000 ~ L063 - 링크 접점 공유 영역, 점, 64 워드 - 링크 사용 않을시 내부 접점 사용 가능 내부접점 (M) M ~ M M000 ~ M127 - 내부 보조접점 영역 점, 128 워드 정전유지접점 (F) K ~ K K000 ~ K127 - 정전기억 가능한 내부보조 접점(기종별 다름) /점, 128 워드 - '정전영역 초기화'를 하면 Clear 됨 특수접점 (F) F ~ F F000 ~ F015 - 특수 내부접점영역 점, 16 워드 타이머/카운터 (TC, SV, PV) 데이터 워드 (W) 확장 데이터 워드 (D) 특수워드 (S) 채널= 0 ~ 255 출력접점= TC0~TC255 설정치= SV0~SV255 현재치= PV0~PV 채널 공동사용(중복사용 불가) - TC 는 접점표시 - 설정치=SV+채널번호, 현재치=PV+채널번호로 사용 - SV 값은 0 ~ 까지 지정가능 사용불가 W0000 ~ W CPU 기종별로 정전영역 범위가 달라질 수 있음 - Bit 로 지정불가 - '정전영역 초기화'를 하면 Data 가 Clear 됨 D0000 ~ D2047 D0000 ~ D12799 S000 ~ S511 - CPU 기종별, F/W 버젼별로 범위가 다름 - Bit 로 지정불가 - '정전영역 초기화'를 하면 Data 가 Clear 됨 - WinGPC4.13 이전 버전은 W3072 부터 표시됨 - CPU 상태표시, Data 설정, TC 등 - Error 상태표시, 진단, 특수설정 등 - 특수 내부 데이터 영역 -Bit로지정불가 참조) - 비트 또는 워드, 더블워드번지는 명령어의 종류에 따라 구별되어 사용됩니다. - 워드 전용 레지스터(W, D, S, SV, PV 등)는 비트 명령어에 사용할 수 없습니다. 7

9 3.2 번지 지정 형식 비트 번지는 종류를 구별하는 문자인, L, M, K, F 등과 워드를 표시하는 3 자리의 10 진수 숫자(000~127 까지)와 비트를 표시하는 2 자리의 10 진수(00~15 까지) 숫자로 구성하며, 타이머 및 카운터의 접점은 TC000 과 같이 문자(TC)와 채널번호(000~255) 로 구성합니다. 워드번지는 문자, L, M, K, F, W, SV, PV, S 등과 워드를 표시하는 3 자리(000~127 까지) 또는 4 자리(0000~2047 까지)의 10진수 숫자로 구성되며, 특수영역인 S000~S511 까지는 W2560~W3071 처럼 사용하기도 합니다. 비트 번지와 워드번지를 동시에 사용할 수 있는, L, M, K, F 등은 명령어 의 종류에 따라 비트번지와 워드번지가 자동으로 구분되므로 사용할 때 주의해야 합니다. 비트 번지는 ON(1)또는 OFF(0)등의 상태를 나타내며, 워드 번지는 16bit 로 구성되어 데이터 값을 0~65535 까지 처리할 수 있고, 더블 워드를 처리하는 명령어는 32bit 로 구성되어 값을 0~4,294,967,295 까지 처리할 수 있습니다. 음수(Signed)를 처리할 수 있는 버전의 경우 1~32767 까지는 양수 영역, -1 ~ 까지는 음수영역, 0 등의 값을 가진다.(음수처리 참조) 표현 예제 M 비트번호: 2 자리수로 표현되며, 범위는 00~15 까지 10 진수로 증가합니다. 점(Point): 워드번지와 비트번지를 구분하기 위해 사용합니다 워드전용 명령어 에서는 사용하지 않습니다. 워드번호 : 워드번호를 나타내며, 0 부터 최대값까지 10 진수로 증가합니다. 비트번호와 동시에 사용할 때는 3 자리 (000~127)로 표현합니다. 워드번호로만 사용할 때는 4~5 자리로 표현하며, 점(.)과 비트 번호는 사용할 수 없습니다. 번지 형식문자 : 번지의 종류에 따라, L, M, K, F, SV, PV, TC, W, D, S, 등으로 구별합니다. 8

10 [ NX plus V3.0 명령어 ] 3.3 더블워드 번지지정 워드와 더블워드의 구별은 명령어로 합니다. ( LET, INC 등은 워드명령어, DLET, DINC 등은 더블워드 명령어) 더블워드 지정은 워드번호 지정 방법과 동일하고, 지정한 번호와 그 다음 번호가 합쳐져 32bit 의 데이터를 처리합니다. 예 1) 워드 와 더블워드 구분 -워드번지 명령 D 또는 S 의 파라미터는 1 워드(16bit= 0~65535 까지)의 데이터를 처리할 수 있습니다. -더블 워드번지 명령 D 또는 S 의 파라미터에는 2 워드(32bit)인 0~4,294,967,295 까지 데이터를 처리할 수 있다. 더블워드 W0000 번지의 Data 구조 W0001 W0000 즉, W0 는 W0 와 W1 이 합쳐져 구성되고 W0000 는 LSB 이고, W0001 은 MSB 에 위치한다. 또한, W0001 로 지정하면 W0001 과 W0002 가 합쳐진 형태가 된다. 데이터를 중복으로 사용하면 문제가 발생할 수 있으므로 주의를 해야 한다. W0001 W0000 W0001 W0002 W0003 W0000 W0002 더블워드 명령어 사용범위가 상위워드영역을 포함합니다. 9

11 3.4 절대번지 지정 PLC 의 번지 체계는 PLC 내부의 메모리 영역에서 WINGPC 등을 이용한 프로그래밍 작업용 번지를 의미하며, 이 번지 체계와 별도로 통신용으로 사용하거나 특수한 명령어를 이용한 번지를 순서대로 나열하여 지정한 방식을 절대번지라고 지정하여 표시합니다. 이 절대번지는 PLC 메모리를 물리적인 순서대로 0000 부터 마지막까지 16 진수(10 진수)로 증가하도록 하며, 절대번지와 NX plus 번지체계가 1 대 1 로 대응되도록 다음과 같이 되어 있습니다. 구분 레지스터 번지 외 부 입 출 력 링 크 영 역 내 부 접 점 정 전 유 지 접 점 절대번지 dec. hex $ $ $ $007E $007F L $0080 L $0081 L $ L $00BE L $00BF M $00C0 M $00C1 M $00C2 M $00C M $0100 M $ M $013E M $013F K $0140 K $0141 K $0142 K $ K $01BE K $01BF 구분 내 부 특 수 접 점 데 이 타 영 역 T/C 설 정 치 T/C 현 재 치 상 태 표 시 데 이 타 영 역 레지스터 번 지 절대번지 dec. hex. F $01C0 F $01C1 F $01C F $01CE F $01CF W $0200 W $0201 W $ W $09FF SV $0A00 SV $0A SV $0AFF PV $0B00 PV $0B PV $0BFF S $0C00 S $0C S $0DFF D $0E00 D $0E D $15FF D $ D $3FFF D 영역의 번지는 CPU 기종별, F/W 버전에 따라 지원범위의 차이가 있습니다. 10

12 3.5 음수(Signed) 지정 NX plus 의 기본적인 명령어 체계는 양수(Decimal)로 연산을 수행하며 CPU 기종 및 버전에 따라 마이너스(-)부호처리를 지원하는 기종과 지원하지 않는 기종이 있다. 마이너스 부호처리를 할 수 있는 기종은 NX7 V5.x 이상, NX7 등의 기종이며, 기본적으로 음수처리를 하려면 내부 특수영역에 데이터를 설정하면된다. PLC 에서 다루는 데이터는 부동 소수점을 제외하고는 16 비트 또는 32 비트 정수 값이다. 이 값들은 부호를 갖는 표시되는 경우와 부호 없이 값이 표시되는 경우로 나뉘어진다. 정수 값을 부호를 갖는 경우로 표시하는 경우에는 최상위비트(MSB)가 부호 표시를 위해 사용되고, 나머지 비트만으로 값을 표시하게 된다. 16 비트 정수의 경우에 부호 없이 표시되는 값은 2 16 으로 나타낼 수 있는 0 ~ 가 되지만 부호를 표시하는 경우에는 2 15 으로 나타낼 수 있는 0 ~ 가 된다. MSB 가 1 이면 음수를 나타내므로 부호를 가지고 표시되는 값의 범위는 ~ 이 되며, 값(부호는 이고, Data 는 모두 0 인값) 은 로 처리한다. 이 들 두 부호있는 정수와 부호없는 정수의 연산처리는 부호처리에 기인하여 다른 결과를 초래하므로 연산시 처리방식을 달리하여야 한다. 처리 전에 부호있는 정수의 처리인지 아니면 부호없는 정수의 처리인지를 알려주어야 한다. NX PLC 는 이를 표시하기 위해 별도의 Flag 를 갖고 있다. - F13.3 : 부호처리 접점 (ON= ~ , Off= 0~65535 ) - F13.4 : 최대,최소값 제한설정 (ON= 최대(최소)값 초과시 최대(최소)값 유지, Off= 최대(최소)값 초과시 사이클링 연산함(Flag 처리 후 계속 연산함) F13.03 의 설정에 따라 정수처리 연산은 부호를 가지고 처리(On 인 경우)하기도 하고, 부호없이(Off 인 경우) 처리하기도 한다. 출하시의 기본설정은 Off 이다 추가로 연산의 결과에 따른 정수데이터의 오버플로우 또는 언더플로우 의 경우 NX PLC 에서는 F13.04 의 설정에 따라서 다르게 처리됩니다. 오버(또는 언더)플로우가 발생하면 Carry (F1.08)가 On 되고, F13.04 가 Off 인 경우는 하위값이 결과값으로 저장되고 상위값은 S20,S21 에 저장되나, F13.04 가 On 인 경우는 +/-Max 값이 결과값으로 출력됩니다. 출하시의 기본설정은 Off 이다 부동소수점 연산의 경우는 F13.03, F13.04 에 관련없이 Signed 연산에 +/-Max 로 처리됩니다. 이 경우 +/-Max 는 INF 라는 부통소수점 값이 저장됩니다. ) 덧셈명령어 ADD D=W0, S1=W1, S2=W2 연산의 경우, W1+W2=W0 에 저장하는 기능이며, W1=65535(-1), W2=32768(-32768) 이라고 하면 출력값(W0)는 다음과 같다. F13.03 = Off F13.03 = Off F13.03 = On F13.03 = On 조건 F13.04 = Off F13.04 = On F13.04 = Off F13.04 = On 출력값(W0) (-32768) 관련된 명령어 1. ADD(DADD), SUB(DSUB), MUL(DMUL), DIV(DDIV)등의 사칙연산 2. ==(D==), <>(D<>), >=(D>=), <=(D<=), >(D>), <(D<), LIM(DLIM) 의 비교 명령어 3. MIN,MAX,SUM,AVG,SOT 등의 데이터 처리 명령어 4. SCALE,SCP,BAND,BIAS,LIMIT 등의 데이터 처리 명령어 11

13 3.6 간접지정 번지 NX plus 의 명령어에서 간접지정 방식으로 프로그래밍 하는 경우에 사용한다. 이 방식은 명령어에서 사용된 번지의 Data 값에 따라 지정되는 번지가 다르게 할당되는 체계를 말하며, LD, DLD, STO, DSTO 등의 명령어에 사용되며, 번지지정은 절대번지의 Data 를 이용한다. 3.7 명령어 형식 명령어의 기본적인 형식은 기본명령어와 응용명령어의 차이 및 접점명령어와 출력 명령어가 있다. 기본 명령어는 대부분의 시퀀스 기호에 의한 지령 및 제어를 의미하며, 응용명령은 연산, 이동, 대입, 인터럽트, 블록처리 등 함축된 제어를 위해 필요하다. 다음설명에서 기본명령어와 응용명령어를 구분하여 설명되어 있다. 점점 명령어는 래더의 앞부분에서 점점의 상태 또는 비교명령등 입력된 상태나 값의 중간에 사용되며, 출력명령어는 래더 프로그램의 출력부분에 위치하면서 입력조건에 따라 연산이 수행된다. 12

14 제 4 장 프로그래밍 소프트웨어 4.1 WinGPC 개요 PLC NX plus CPU 기종을 운영하거나 프로그래밍, 진단하는 소프트웨어는 WinGPC 를 이용하며, 출시되고 있는 NX 기종의 최신명령어는 WinGPC 4.15 이후의 버전에서 지원된다. WinGPC 는 쉽고 간편하게 NX plus PLC 를 효과적으로 운영할 수 있으며, 각종 진단기능, 편집, 모니터링, 제어, 설정변경 등을 빠르게 대응함으로써 최적의 제어시스템을 구축할 수 있다. WinGPC V4.x 에서 지원되는 PLC 기종은 NX700plus, NX70plus, NX7 계열 등의 NX 시리즈와 단종된 제품 N700plus, N70 plus, SPC 시리즈(SPC300, A200, SPC100, SPC10, SPC24S, SPC120S, SPC10 등) 등의 기종을 운영 및 제어 할 수 있다. 4.2 WinGPC 운영 1) WinGPC 기동 WinGPC 를 처음 기동하고, 메인화면에서 새 프로젝터 를 만들거나 기존의 프로젝터 열기 를 하여 편집작업을 하며, WinGPC 프로그램 하나에 프로젝터(프로그램)를 한 개만 열수 있으며, 여러개의 프로그램을 Open 하고자 할 때는 WinGPC 프로그램을 여러 개 실행하여 운영할 수 있다. 13

15 2) 프로젝터 작업과정 PLC 를 운영하기 위해 다음과 같이 진행하면 됩니다. - 프로젝터 열기, CPU 선택 (PLC 모델, 종류, 버전정보 등) - 프로그래밍 작업, 저장, 컴파일, - PLC 접속, 다운로드/업로드, 시스템 정보 확인 - 래더 모니터링, 레지스터 모니터링, 상태확인 및 진단. 6) 프로그래밍 작업 프로그래밍 작업은 다음과 같은 기준으로 진행된다. - 프로그래밍은 렁(ung) 단위로 진행된다. - 커서가 있는 위치에서 모든 작업이 이루어 진다. - 커서의 모양은 렁, 명령어, 블록, 위치, 상태에 따라 다양한 모양을 가지고 있다. - 커서를 클릭하여 이동하거나 복사, 변경, 삽입, 삭제, 등의 편집작업을 할 수 있으며, 삽입을 할 경우 커서의 뒤에 삽입이 된다. - 만약 사용하고자 하는 명령어를 이용할 수 없는 경우에는 프로젝터 메뉴의 CPU 선택 텝에서 CPU 기종 및 버전을 확인하고, 여기서 사용가능한 명령어만 이용할 수 있다. 14

16 7) 프로그램 저장, 컴파일 프로그래밍 작업을 완료하고, 저장 후 컴파일을 실시하면 메시지 창 이 나타나며, 프로그램상의 오류내용을 표시한다. 오류가 없으면 PLC 로 다운로드할 수 있는 상태가 되고, 오류가 있으면 오류를 해결해야 PLC 로 전송이 가능하다. 8) 프로그램 다운로드 및 모니터링 프로그래밍 작업후 컴파일이 완료되면 PLC 로 다운로드가 가능하고, PLC 에 전송이 완료되면 래더 프로그램 모니터링이 가능하다. 모니터링 상태에서 CPU 에러 상태가 되면 에러발생한 스텝번호를 찾아 수정해야 한다. CPU 와 프로그램이 정상적으로 운전되는 환경이 되면 CPU 를 기동(UN)시킬 수 있다. 15

17 제 5 장 명령어 이해 접점 명령 : ST, STN, DIF, DFN, DF, DN, NOT 출력 명령 : OUT,SET,ST,ALT,PLS,PLF 블록처리 명령 : ANB, OB, MS, M, MCS, MC 타이머 : TIM, TOF, SST, TM 카운터 : UC, DC, CT, UDC, 시프트 S 명령 : S

18 기본 명령어 접점 명령 니모닉 명 칭 래더 심볼 설 명 ST Start a 접점 시작 STN Start Not b 접점 시작 AND And a 접점 직렬회로 ANN And Not / b 접점 직렬회로 O Or a 접점 병렬회로 ON Or Not / b 접점 병렬회로 ST DIF Start Differential 상승엣지 접점 시작 ( ) ST DFN Start Dif. Not F 하강엣지 접점 시작 ( ) AND DIF And Dif. 상승엣지 직렬 접속 ( ) AND DFN And Dif. Not F 하강엣지 직렬 접속 ( ) O DIF Or Dif 상승엣지 병렬 접속 ( ) O DFN Or Dif. Not F 하강엣지 병렬 접속 ( ) DF Differential 연산결과 상승 엣지 처리 ( ) DN Differential Not 연산결과 하강 엣지처리 ( ) NOT Not / 연산결과 회로반전 출력 명령 니모닉 명 칭 래더 심볼 설 명 OUT Output 연산결과 출력 SET Set (SET) 접점출력 SET(ON 유지) ST eset (ST) 접점출력 ESET(OFF 유지) ALT Alternative Output (ALT) 연산결과 상승시 교번(반전) 출력 PLS Pulse Output (PLS) 연산결과 상승시 1Scan 출력 PLF Pulse Falling Out (PLF) 연산결과 하강시 1Scan 출력 17

19 블록처리 명령 니모닉 명 칭 래더 심볼 설 명 ANB And Block 회로블럭의 직렬 접속 OB Or Block 회로블럭의 병렬 접속 MS M Master block Set Master block eset (MS) (M) 마스터 블럭 시작 마스터 블럭 종료 MCS MCS 회로분기 시작 (Master Control Set) MC MC 분기 종료 (Master Control eset) 타이머 명령 니모닉 명 칭 래더 심볼 설 명 비 고 TIM ON 타이머 (On Delay Timer) TIM Ch=00010 SV=00050 한시동작 순시정지 타이머 입력 출력 5 초 Time Base: Ch 0~63= 0.01s Ch 64~255= 0.1s 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 TOF Off 타이머 (Off Delay Timer) TOF Ch=00064 SV=00005 순시동작 한시정지 타이머 입력 출력 5 초 Time Base: Ch 0~63= 0.01s Ch 64~255= 0.1s 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 SST 싱글타이머 (Single Shot Timer) SST Ch=00100 SV=00005 순시동작/정지 타이머 입력 출력 5 초 Time Base: Ch 0~63= 0.01s Ch 64~255= 0.1s 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 TM 정전기억 ON 타이머 (etentive Timer) TM Ch=00070 SV=00050 정전기억 ON 타이머 입력 출력 정전 구간 정전제외 5 초 Time Base: Ch 0~63= 0.01s Ch 64~255= 0.1s 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 18

20 카운터 명령 니모닉 명 칭 래더 심볼 설 명 비 고 UC DC Up Counter Down Counter UC U Ch=020 SV=004 DC D Ch=021 SV=005 상승 카운터 입력 현재값 출력 리셋 하강 카운터 입력 현재값 출력 리셋 설정값 설정값 채널범위 : Ch 0~255 (타이머와 공용) 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 채널범위 : Ch 0~255 (타이머와 공용) 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 CT UDC ing Counter Up-Down Counter CT T Ch=022 SV=004 UDC U Ch=023 SV=003 D 링(회전) 카운터 입력 설정값 현재값 출력 리셋 상승/하강 카운터 U입력 D입력 설정값 현재값 출력 리셋 채널범위 : Ch 0~255 (타이머와 공용) 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 채널범위 : Ch 0~255 (타이머와 공용) 설정범위 : SV = 0~65535 접점표시 : TC + 채널번호 시프트 S 명령 니모닉 명 칭 래더 심볼 설 명 비 고 S Shift egister S I Sb=K1.4 Eb=K2.5 P 시프트 레지스터 Sb K Eb K2.5 I I값 번지 사용영역 (Sb, Eb): M, K 영역 (동일한 종류(M,K 등)범위내) P 단자 입력시마다 1Bit 씩 시프트 P 단자입력시 I 상태값이 Sb 에 저장 최대 사용갯수 : 256 개 명령 19

21 응용 명령어 5.7 스텝제어 명령 증감 명령어 대입 명령어 부호처리 명령 연산 위치 대입 데이터 전송 명령 간접지정 대입명령 데이터 테이블 처리 명령 정수 비교 명령 실수 비교 명령 데이터 범위 비교명령 산술연산명령 BCD 산술 연산 논리연산 회전명령 시프트 명령 BCD 숫자 변환 데이터 변환 데이터 처리 함수처리 명령 데이터 제한 명령 실수 변환 명령 문자열 처리 문자열 변환 삼각 함수명령 루프/분기 명령 인터럽트 명령 입출력 제어 특수기능 제어 시간 제어 통신모듈 제어 통신 제어 명령

22 기본 명령어 상세설명 5.1 접점 명령 a 접점, b 접점 명령 니모닉 명령 래더 표시 설 명 워드수 적용기종 주 1) ANN 명령은 핸디로더를 사용할 경우 종류에 따라 ADN 으로 표기된 기종도 있습니다. 1. a 접점 은 지정한 번지의 값이 1 일 때 ON 이 되며, 신호가 없는 Normal 상태인 0 일 때는 Off 되는 NO(Normal Open) 접점 상태를 말한다. 2. b 접점 은 지정한 번지의 값이 Normal 상태인 0 일 때 회로가 도통되는 ON 상태가 되며, 1 일 때는 Off 가 된다. 즉, 신호가 없는 0 상태 에서 연결이 되는 NC(Normal Close) 접점 상태를 말한다. 3. 접점의 상태는 a 접점 과 b 접점 으로 나누며, 니모닉 명령어로는 직렬접속 (AND 조건)과 병렬접속(O 조건)으로 나누어 AND/ANN, O/ON 등으로 구별하여 표현한다. 4. 번지 지정은 비트번지 영역만 사용 가능하고,,L,M,K,F,TC 등을 사용할 수 있다. 1 ST, STN 명령 ST STN / ST a 접점 시작 1 전기종 STN b 접점 시작 1 전기종 AND a 접점 직렬접속 1 전기종 ANN (주 1) b 접점 직렬접속 1 전기종 O a 접점 병렬접속 1 전기종 ON b 접점 병렬접속 1 전기종 M M 의 a 접점이 ON 되면 출력 M 이 ON 되고, 접점이 OFF 되면 출력도 OFF 가 됩니다. b 접점의 경우 이 OFF 상태에서 출력이 ON 되며, 접점이 ON 되면 출력 이 OFF 된다. 니모닉 프로그램 예 래더 프로그램을 니모닉으로 변환하면 ST, OUT, STN, OUT 의 순서로 된다. 즉, 니모닉 프로그램으로 확인해 보면 ST , OUT M STN , OUT M 이된다 ST, STN 명령 AND M ANN M / / a 접점의 0.0 이 ON 상태에서 0.1 이 ON되어야(AND조건) 출력이 ON 되며, b 접점의 는 OFF 상태이고, 도 OFF상태(AND NOT조건)에서 출력이 ON 된다. 니모닉 프로그램 예 니모닉 프로그램으로 변환하면 ST , AND , OUT M STN , ANN , OUT M 의 순서로 된다. O, ON 명령 O M M / ON / a 접점 의 0.0 또는 0.1 에서 하나만 ON 되어도(O 조건) 출력(M0.4) 이 ON 되는 상태를 말하며, 부울대수로 O 회로 로 출력 Y=A+B 로 표현한다. b 접점 의 0.2 와 0.3 중에 하나만 OFF 가 되어도 출력 M0.5 가 ON 되는 회로를 NAND 회로 (AND NOT)라고 하며, 출력(Y)=A*B 로 표현하고 이것을 변환하면 Y=A+B 이며 래더와 같다 니모닉 프로그램 예 니모닉 프로그램으로 확인 해 보면 구성하고 있는 순서에 따라 작동된다. 즉, ST , O , OUT M STN , ON , OUT M 의 순서로 된다. 21

23 응용예제 1 NO(O NOT) 회로 / / / M M XO(Exclusive O) 회로 / / 인터록 회로 M / M / M M M NO(O NOT)회로는 Y=A+B 를 말하며, 이것은 Y=A*B 와 동일하고 왼쪽의 래더와 같으며, 출력 M0.4 와 M0.5 는 동일한 프로그램이 된다. XO(배타적 논리합)회로는 입력 A,B 중 하나만 ON 일때 출력이 ON 되는 회로를 말하며, Y=A*B + A*B 로 표현한다 인터록 회로는 출력 X 및 출력 Y 중에서 하나가 ON 작동을 하고 있으면 다른쪽 출력이 ON 되지 못하도록 제한하는 회로를 말하며, X=A*Y, Y=B*X 로 표현한다. 응용예제 2 교번동작 회로 M M / M M / M M 교번동작 회로는 입력접점이 한번씩 ON,OFF 될때마다 출력이 교번으로 한번은 ON, 한번은 OFF 를 반복하는 회로를 말한다. 즉, 입력이 ON 된 후 OFF 가 되어도 출력은 계속 ON 을 유지하고 있으며, 다시 입력이 ON, OFF 되면 출력이 OFF 상태로 유지된다. 주 1) 교번동작 회로의 예제에서 입력은 0.0, 출력은 M1.0, 내부접점으로 M0.0 으로 작동되도록 프로그램 되어 있습니다. 주 2) 입력접점의 래더표시 은 상승엣지 를 뜻하며, 입력이 OFF 에서 ON 으로 변하는 순간의 1Scan 동안만 작동하는 접점입니다. 상세내용은 DIF 명령어 부문을 참조바랍니다. 22

24 5.1.2 엣지 접점 명령어 니모닉 명령 래더 표시 설 명 워드수 적용기종 ST DIF 상승엣지 접점 시작 ( ) 1 전기종 AND DIF 상승엣지 직렬 접속 ( ) 1 전기종 O DIF 상승엣지 병렬 접속 ( ) 1 전기종 ST DFN F 하강엣지 접점 시작 ( ) 1 전기종 AND DFN F 하강엣지 직렬 접속 ( ) 1 전기종 O DFN F 하강엣지 병렬 접속 ( ) 1 전기종 1. 엣지 접점은 값(상태)이 변하는 시점의 1SCAN 동안 ON 되는 접점을 말한다. 2. 상승엣지(DIF)는 접점이 OFF 에서 ON 으로 변하는 1Scan 동안 ON 으로 작동하고 하강엣지(DFN)는 접점이 ON 상태에서 OFF 로 변하는 1Scan 동안 ON 되는 접점입니다. 3. 번지 지정은 아래와 같은 비트번지 영역에서 중복으로 사용할 수 있습니다. - NX-CPU700P, NX70-CPU70p2, NX70-CPU70p1(Ver2.0 이상), CPL9216A, CPL7215A = =>,L,M,K,F,TC 등의 전영역 사용이 가능합니다. - NX70-CPU70p1(V1.x), CPL9215A = 전체, M0.0~M63.15, F, TC 의 전영역 사용가능. : CPU70p1, 9215A 모델은 내부접점 M64.0~M 까지, K 영역을 엣지로 사용할 수 없으며, 프로그램 S/W 에서는 에러처리를 하지 않고 CPU 에 Download 를 하면 에러로 처리하여 운전(UN 작동)이 되지 않습니다. : SPC 시리즈(SPC-10, SPC-100/24S/120S/300 등)는 1 개 비트마다 1 개의 명령어만 사용할 수 있으며, 두번째 이후의 명령어는 에러 처리 없이 작동하지 않습니다. 4. 하나의 번지로 상승엣지 및 하강엣지를 다중으로 사용할 수 있습니다. 5. 엣지명령어도 시퀀스와 같이 순차적으로 작동하므로 프로그램 중간에 출력을 변화시키면 출력이전의 엣지동작과 출력이후의 엣지동작이 달라질 수도 있습니다. 상승,하강엣지 a접점 상승엣지 하강엣지 F M 입력 0.0 OUT 출력 (M0.0) M > < 1Scan 상승엣지 (M0.1) M Scan > < 하강엣지 (M0.2) 입력 0.0 접점이 ON 되면 OUT 출력(M0.0)은 입력과 같으며, 상승엣지는 입력이 OFF 에서 ON 되는 1 Scan 동안 출력이 ON 되는 기능이며, 하강엣지는 입력이 ON 에서 OFF 로 하강하는 1 Scan 동안 ON 되는 접점이다. 니모닉 프로그램 예 엣지 접점도 a 접점이나 b 접점과 동일한 형태로 사용되며, 시작회로 와 직렬회로, 병렬회로등에 따라 니모닉 명령어가 달라진다. 를 니모닉으로 변환하면, ST 00.00, OUT M00.00, ST DIF 00.00, OUT M00.01, ST DFN 00.00, OUT M00.02 등으로 변환할 수 있다 23

25 5.1.3 연산 결과 엣지 명령 주) CPU F/W 버전 5.x 이상에서 사용 가능하며, WinGPC 4.15 이상에서 사용 가능합니다. 명령어 워드수 명칭 래더 표시 설 명 DF 2 논리 상승엣지 연산결과 상승 엣지 처리 ( ) DN 2 논리 하강엣지 연산결과 하강 엣지처리 ( ) 1. 명령어 이전까지의 연산결과에서 ON 이 감지되면 1 스캔동안 연산결과를 ON 시킨다. 다음 스캔에서는 OFF 가 된다 (DF)는 ON 접점 감지시에 1scan ON 시키고, - -(DN)은 OFF 접점 감지시에 1scan ON 된다. 3. 접점 엣지 처리 명령어와는 다르며, 번지 지정이 없고, 연산중의 상태를 가지고 엣지 처리를 한다. 4. CPU F/W 버전 5.x 이상에서 사용 가능하며, WinGPC 4.15 이상에서 사용 가능합니다. 5. Ladder 작성시에 접점 명령어와 같은 형식으로 사용되지만, Power Line 에 최초로 사용될 수는 없다 M 사용가능 M 사용 불가능 M M M 명령이전의 연산결과가 ON (0.0 과 0.1 모두 ON) 되는 시점에서 출력 M1.0 은 한 스캔 동안 ON 상태를 유지한다 명령이전의 연산결과가 OFF (0.0과 0.1 모두 OFF)되는 시점에서 출력 M1.1은 한 스캔 동안 ON상태를 유지한다 입력 0.0 입력 0.1 출력 M1.0 출력 M1.1 스캔주기 24

26 5.1.4 연산결과 반전 명령 니모닉 명령 래더 표시 설 명 워드수 적용기종 NOT 회로 반전 (이전의 연산결과를 반전시킴) 1 전기종 1. NOT 이전의 상태를 반전시키는 역할을 하며, 번지는 지정하지 않는다. NOT 명령 NOT 은 이전의 연산결과를 반전시키는 기능이며, 접점상태의 반전과 직렬회로 또는 병렬회로의 반전도 가능하다. 다음과 같은 두 회로는 같은 기능을 한다. 즉, b 접점의 기능과 a 접점의 반대가 기능이 같다 M M / / 이 기능을 이용하여 시퀀스 회로를 부울 대수식으로 변환하여 간단하게 만들기도 한다. 즉, 아래와 같이 O 회로(병렬회로)로 구성된 경우를 변환하면 다음과 같은 AND 회로로 된다 A B C D M Y A B C D / / / / NOT 회로 M 왼쪽의 O 회로를 부울 대수식으로 표현하면 Y=A+B+C+D 로 나타내고, 이것을 변환하면 Y=(A+B+C+D)=A*B*C*D 이다. 여기서 출력 Y 는 Y 앞에 NOT 회로를 삽입하면 동일한 결과가 된다. 이와 같은 형식으로 복잡한 AND 회로을 O 회로로 변환하여 쉽게 해석해도 동일한 결과를 얻을 수 있으며, 각종 인터록 회로를 쉽게 이해할 수 있는 프로그램으로 변환하기도 합니다. / Y 25

27 5.2 출력 명령어 연산결과 출력명령 니모닉 명령 래더 표시 설 명 워드수 적용기종 OUT 연산결과 출력 1 전기종 SET (SET) 출력을 ON 으로 SET 2 전기종 ST (ST) 출력을 OFF 로 ESET 2 전기종 1. OUT 출력은 프로그램이 수행되는 매 스캔마다 연산이 된다. 2. OUT, SET, ST 등의 출력은 접점으로 사용되는,L,M,K 영역만 사용 가능하고, 특수 내부접점인 F 영역은 일부만 출력용으로 사용가능하다. 3. 입출력 번지의 영역의 경우 입력모듈이 장착된 번지는 출력으로 사용할 수 없다. 4. OUT 출력의 경우 입출력의 영역은 하나만 사용할 수 있으며, 내부접점인 L,M,K,F 영역은 두개 이상 사용이 가능하지만 최후에 사용한 OUT 명령으로 연산되므로 다중으로 사용할 경우에는 주의해야 한다. 5. SET 또는 ST 명령의 경우, 다중으로 사용이 가능하며, 접점을 한번 SET 하면 ST 명령으로 ESET 될때 까지 연산결과가 유지된다. 6. 정전유지 접점인 K 영역으로 SET 또는 ST 을 사용하면 전원이 OFF 되기 이전의 값을 유지하게 된다. 7. 출력명령 OUT,SET,ST 등은 입력이 없이 OOT 에서 직접 출력으로 사용할 수 없으며, 항상 작동해야 하는 경우에는 운전중 항상 ON 되는 F0.15 번지의 a 접접을 사용한다. OUT,SET,ST 명령 OUT SET ST M M (SET) M (ST) 입력 0.0 입력 0.1 OUT 출력 (M0.0) SET 출력 (M0.1) 입력 0.0 접점이 ON 되면 OUT 출력(M0.0)은 입력이 ON 되어있는 동안 작동되며, 입력이 OFF 되면 동시에 출력도 OFF 된다. SET 출력(M0.1)은 입력이 ON 되는 순간부터 ON 을 유지하고 있으며, ST 입력(0.1)이 ON 될 때 출력이 OFF 로 된다. 니모닉 프로그램 예 래더를 니모닉으로 변환하면 ST , OUT M000.00, SET M000.01, ST , ST M 이 된다. 여기서 출력이 병렬로 연결된 회로는 출력회로를 반복적으로 사용하면 된다. 응용 1 다음과 같은 자기유지 접점을 SET, ST 명령으로 사용할 수도 있다 M / M M (SET) M (ST) 26

28 5.2.2 특수 코일 출력 명령어 워드수 명칭 래더 표시 설 명 ALT 3 교번출력 (Alternative Output) PLS 3 상승엣지 출력 (Pulse ising Output) PLF 3 하강엣지 출력 (Pulse Falling Output) (ALT) (PLS) 상승 엣지마다 출력을 교번(번갈아 가면서 출력이 유지됨)시킨다 상승 엣지시에 출력을 한 스캔 동안만 ON 으로 출력 (PLF) 하강 엣지시에 출력을 한 스캔 동안만 ON 으로 출력 주) CPU F/W 버전 5.x 이상에서 사용 가능하며, WinGPC 4.15 이상에서 사용 가능합니다. 1. 접점으로 사용되는, L, M, K 영역만 사용 가능하고, 특수 내부접점인 F 영역은 일부만 출력용으로 사용 가능하다. 2. 입출력 번지의 영역의 경우 입력모듈이 장착된 번지는 출력으로 사용할 수 없다. 3. 동일한 번지를 다중으로 사용이 가능하지만, 다중으로 사용하면 스텝에 따라 연산결과가 다르게 나올 수 있으므로 주의해야 합니다. 4. CPU F/W 버전 5.x 이상에서 사용 가능하며, WinGPC 4.15 이상에서 사용 가능합니다 M01.00 (ALT) M01.01 (PLS) M01.02 (PLF) 0.0 이 ON 되는 순간마다 M1.0 의 상태는 교번한다. 0.0 이 ON 되는 순간 M1.1 은 한 스캔 동안만 ON 된다. 0.1 이 ON 에서 OFF 로 되는 순간 M1.2 는 한 스캔 동안만 ON 된다. 입력 0.0 입력 0.1 ALT 출력 (M01.0) PLS 출력 (M01.1) PLF 출력 (M01.2) 스캔주기 27

29 5.3 블록처리 명령어 회로 블록 명령 니모닉 명령 래더 표시 설 명 워드수 적용기종 ANB 회로블럭의 직렬 접속 1 전기종 OB 회로블럭의 병렬 접속 1 전기종 1. ANB(AND Block)은 블록으로 구성된 것을 직렬로 접속하는 것을 말하며, OB(O Block)은 회로 블록을 병렬로 접속하는 경우를 말한다. 2. 이 명령어는 번지 지정은 하지 않으며, 명령어만 사용한다. 3. 블록으로 구성하는 버퍼(Stack)는 최대 16 개까지 가능하며, CPU 기종별로 다릅니다. ANB 명령 A블록 B 블록 ANB M A 블록과 B 블록을 직렬 AND 조건으로 연결하는 것이 ANB 이며, A 블록과 B 블록이 모두 ON 되면 출력이 ON 된다 니모닉 프로그램 예 니모닉으로 확인해 보면 ST , O , ST , O 으로 되고, 다음으로 ANB, OUT M 이된다 OB 명령 A블록 B블록 M A 블록과 B 블록을 O 조건의 병렬로 연결하는 것이 OB 이며, 블록중에서 하나가 연결되면 출력이 ON 된다. 니모닉 프로그램 예 니모닉 프로그램으로 변환하면 ST , AND , ST , AND , OB, OUT M 의 순서로 된다. 28

30 5.3.2 마스터 컨트롤 명령 니모닉 명령 래더 표시 설 명 워드수 적용기종 MS ( MS ) 마스터 블럭(일괄처리) 시작 1 주 1) M ( M ) 마스터 블럭(일괄처리) 종료 1 주 1) MCS 회로분기 시작 1 전기종, 주 2) MC 분기 종료 (분기 끝에 존재) 1 전기종, 주 2) 주 1) - MS, M 명령은 CPU F/W 버젼 2.0 이상 및 WinGPC 3.70 이상에서 작동됩니다. - WinGPC V3.70 이상, PLC V2.0 이상에서 MCS, MC 명령이 분기로 변환(Upgrade)되었습니다. 주 2) WinGPC 버전에 따라 표현방법이 다릅니다. - WinGPC 버전 3.70 이상에서 출력으로 MS, M 로 작동하고, WinGPC 3.6 이하 에서는 회로분기 형태로 변환이 되며, 2.xx 이하 버전은 모두 출력으로 표현됩니다. 1. 출력 MS 및 M 명령은 별도의 번지를 지정하지 않고, 명령어만 사용되며, 마스터 블록 비트로 작동합니다. 2. MS, M 은 항상 쌍으로 구성해야 하며, 네스팅(MS 영역내에서 반복사용하는 구조)을 최대 16 개 까지 사용할 수 있고, 그 이상에서는 OverFlow 현상이 생길 수 있습니다. 네스팅을 사용하는 수량은 CPU 기종별로 차이가 납니다. 3. CPU 에 저장된 MCS,MC 을 WinGPC3.0 이상에서 구동하면 회로분기 형식으로 나타나며, 니모닉에서 확인되며, WinGPC V2.xx 이하에서는 출력 MCS, MC 로 표시됩니다. 4. MS 명령 앞에는 항상 명령어가 있어야 하며, OOT 에 직접 연결할 수 없으며, M 명령어 앞에는 접점명령을 사용하지 않고 oot 에 직접 연결해야 합니다. 5. MCS, MC 명령어는 WinGPC3.70 버젼 이상에서는 회로분기 형식으로만 사용할 수 있고, 니모닉 명령어에서 확인 가능합니다. 1 <그림 1>(CPU V1.3~, WinGPC 3.5~이상) MCS / (MS ) M M MC (M ) MS 조건의 0.0 접점이 ON 된 후 MS/M 블록의 접점이 ON 되어야 출력이 ON 됩니다. 즉,0.0, 0.1, 0.2 가 ON 되면 출력 M0.0 ON 이고 0.0= ON, 0.1= ON, 0.3= OFF 이면 M0.1 이 ON, 0.0 이 OFF 되면 모든 출력이 OFF 됩니다. 29

31 2 : MS/M, MCS/MC 명령어 기능비교(WinGPC3.x 이하버젼) <그림 2> WinGPC2.x 버젼 (MCS) M / M (MC) <그림 3>변환예제(WinGPC3.1x) M MCS 존재 / M MC 존재 <그림 4>변환예제(WinGPC3.7x) (MS ) M MCS M 존재 / MC 존재 (M ) 1. WinGPC 2.x 버전에서는 MCS, MC 기능은 <그림 1, 2>와 같이 표현 및 사용할 수 있으며, <그림 3>은 WinGPC3.6x 이하버전에서 표시방법이고, <그림 4>는 WinGPC3.7x 이상에서 표시 가능한 형식이며, MS, M 명령은 3.7 버전 이하에서 사용할 수 없습니다. 2. 래더로 프로그래밍 작업시에는 MCS/MC 명령어를 사용하지 않고, 분기 형식으로 작업을 해도 실제 CPU 에 운영되는 프로그램에는 자동으로 MCS, MC 명령이 포함되도록 되어 있으며, CPU 의 프로그램을 Upload 하면 작업한 형식으로 나타나지 않을 수도 있습니다. 3. 래더 프로그램을 PC 에 저장(Compile)하여 PLC 로 전송할 경우에는 작업한 형태와 동일하게 표현되지만, PLC 에 있는 프로그램을 Upload 하여 래더로 변환(Decompile)하면 WinGPC 의 버전에 따라 그림 2,3,4 와 같이 다르게 표현됩니다. 즉, WinGPC V3.1x 이하에서 <그림 2>와 같이 프로그램을 하여 PLC 에 저장한 후, WinGPC V3.x 이상에서 Upload 하면 <그림 3>과 같이 표현되며, WinGPC2.x 이하에서 Upload 하면 항상 <그림 2>와 같이 표시됩니다. 4. WinGPC V3.7x 에서는 <그림 1>과 같이 프로그램을 할 수 없으며, CPU 버젼 V1.2x 이전에서는 동작을 하지 않고, PLC V2.0 이상에서는 정상으로 동작합니다. 이전 버전(PLC V1.2x 이하)은 그림 3 과 같은 방식으로 프로그램 해야 정상 동작하게 됩니다. 5. WinGPC 3.7 이상 에서는 CPU의 OM 버전에 상관없이 자동으로 MCS/MC, MS/M 명령어로 전환되도록 수정되었습니다. 니모닉 프로그램 예 1. 를 니모닉으로 변환하면, <그림 2, 그림 3 예제> WinGPC 에서 니모닉변환은 ST 0.0, MCS, ST 0.1, OUT M0.0, STN 0.2, OUT M0.1, MC 등으로 동일하지만, WINGPC V3.5x 이상 및 CPU 버젼 2.0x 이상에서는 MS, M 명령을 추가로 사용할 수 있으며, 이전 버전에는 저장할 수 없습니다. 30

32 . 5.4 타이머, 카운터 명령 개요 타이머/카운터 명령 이해 NX plus 시리즈에서 타이머와 카운터명령은 번지 체계가 다음과 같이 구성되어 있습니다. 1. 타이머와 카운터는 공용으로 최대 256 개를 사용할 수 있습니다. 2. 타이머와 카운터는 공용의 채널번호를 사용하며, 순서에 무관하게 000~255 번까지 지정하고, 동일한 채널번호를 사용할 수는 없습니다. 3. 타이머로 사용할 경우 채널번호를 어떤 번호로 사용하는가에 따라 Time Base 가 0.01 초 단위 또는 0.1 초 단위로 계산되므로 CPU 기종별로 차이점이 있습니다. CPU 기종 0.01 초 타임베이스 0.1 초 타임베이스 NX7, NX7s, NX7, NX70p, NX700p, N700p,N70p, SPC300, A200, 채널번호 0 ~ 63 채널번호 64 ~ 255 SPC 전체 (SPC300 제외한 전체), 채널번호 0 ~ 15 채널번호 16 ~ 설정치(SV) 또는 경과치(PV)는 16 비트 부호 없는 정수로 0 ~ 65,535 까지 지정됩니다. 5. 타이머나 카운터의 출력접점 번지는 TC + 채널번호 로 지정합니다. 주) TC 접점을 입력할 수 없는 프로그래머(PGM10, PGM300A 등)는 TIM+채널번호 로 사용합니다. 6. 경과치 값은 카운터로 사용할 경우에는 경과치 값이 정전유지가 되며, 타이머로 사용할 경우에는 경과치 값이 정전유지가 안되고 초기화됩니다. 주 1) 카운터로 사용할 때 경과치(PV)값이 정전유지가 안되는 경우 : CPU 기종 정전유지 가능영역 정전유지 불가 영역 NX7s-10xxx, NX7s-14xxx 채널번호 0 ~ 127 채널번호 128 ~ 255 SPC10/24S/120S/100, 채널번호 0 ~ 15 채널번호 16 ~ 255 기타 기종 전체 영역(Ch 0~255) 없음 주 2) 타이머로 사용할 때 경과치(PV)값이 정전유지가 되는 경우 타이머 TM 명령어(정전유지 ON 딜레이 타이머)를 사용할 경우 정전유지됨. 7. 경과치가 증가하는 타이머(TIM, SST 등)는 설정치를 지나 출력이 ON 된 이후에도 경과치는 계속 증가하여 최대치(65535)에서 멈추게 되며, 입력조건이 OFF 되면 경과치가 초기화 됩니다 TIM Ch=0 입력조건 SV=300 TC000 M01.01 출력접점 00.0 UC U Ch=10 입력조건 1 SV= 입력조건 UDC U Ch=20 입력조건 1 SV= D 입력조건 입력조건 3 타이머 명령어에서 TIM, TOF, SST 명령은 입력조건이 1 개로 구성되고, 채널번호와 설정치 변수가 있습니다. 타이머/카운터명령의 출력접점은 TC + 채널번호 로 사용합니다. 카운터의 UC, DC, CT 명령과 타이머의 TM 명령은 입력조건이 2 개로 구성되고, 채널번호와 설정치 변수가 있습니다. 카운터의 UDC 명령은 입력조건이 3 개로 구성되고, 채널번호와 설정치 변수가 있습니다. 31

33 ON/OFF/SST 타이머 니모닉 명령 래더 표시 설 명 워드수 적용기종 TIM TIM Ch= SV= ON (지연) 타이머 (한시동작 순시정지 타이머 ) 3 전기종 TOF TOF Ch= SV= OFF (지연) 타이머 (순시동작 한시정지 타이머) 3 주 1) SST SST Ch= SV= 싱글 동작 타이머 (순시동작/정지 타이머) 3 전기종 주 1) 적용기종 (TOF 명령) SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus N/NX700plus NX700plus 기 종 24S/120S 9215A,9216A CPU70p1/V2,CPU70p2/V2 7215A,CPU700p CPU700p/V2 지원여부 X X X 1. 타이머와 카운터는 공용으로 최대 256 개를 사용할 수 있습니다. 2. 타이머와 카운터는 공용의 채널번호를 사용하며, 순서에 무관하게 0~255 번까지 지정하고, 동일한 채널번호를 사용할 수는 없습니다. 3. 타이머로 사용할 경우 채널번호 0~63 번 까지 지정하면, 자동으로 Time Base 가 10mSec (0.01 초)단위로 계산되고, 채널번호 64~255 번까지 지정하면 Time Base 가 100mSec(0.1 초)단위로 계산이 됩니다.(SPC 기종은 별도참조) 4. 설정치(SV)는 16 비트로 0 ~ 65,535 까지 지정할 수 있습니다. 5. 타이머나 카운터의 출력접점 번지는 TC + 채널번호 로 지정합니다. 6. 각각의 채널별로 타이머로 사용할 경우에는 경과치 값이 정전유지가 안되며, 카운터로 사용할 경우에는 경과치 값이 정전유지가 됩니다. (SPC, NX7s 는 별도참조) 7. 경과치가 증가하는 타이머(TIM, SST 등)는 설정치를 지나 출력이 ON 된 이후에도 경과치는 계속 증가하여 최대치(65535)에서 멈추게 되며, 입력조건이 OFF 되면 경과치가 초기화 됩니다. 8. 경과치가 감소하는 타이머(TOF)는 타이머가 작동할 때부터 경과치가 감소되고, 경과치가 0 이 되면 출력이 ON 되고 경과치가 멈추게 됩니다. 9. TIM 은 입력이 ON 된 후부터 타이머가 작동해서 지정시간 이후에 출력이 ON 되는 기능의 ON 지연 타이머 입니다. 10. TOF 는 입력이 OFF 된 시점에 타이머가 작동해서 지정시간 이후에 출력이 OFF 되는 기능의 OFF 지연 타이머 입니다. 11. SST 는 입력이 ON 되면서 동시에 타이머가 작동해서 지정한 시간이 되면, 출력이 OFF 되는 타이머를 말한다. < ON 타이머 TIM > TIM Ch=0 SV=300 TC000 M <타임차트> 입력 출력 3 초 타이머 입력조건이 ON 되면 타이머 경과치가 증가하여 설정치 이상이 되면 출력접점이 ON 됩니다. 입력이 OFF 되면 타이머 경과치가 초기화 되며, 출력도 OFF 됩니다. 32

34 < OFF 타이머 TOF > TC100 TOF Ch=100 SV=50 M <타임차트> 입력 출력 5 초 타이머 입력조건이 ON 되면 타이머 출력도 ON 되며, 입력이 OFF 되는 순간, 경과치가 설정치부터 감소하게 되며, 경과치가 0 이 되면 출력접점이 OFF 됩니다. < 응용예제 : SST 를 이용한 OFF 타이머 > SST 0 Ch=100 SV=50 TC <타임차트> 입력 00.0 출력 5 초 입력 접점과 동시에 출력도 ON 되며, 입력이 OFF 되는 순간부터 SST 타이머가 작동하고 설정값까지 증가한 후, 경과치와 설정치가 동일하면 출력접점 이 OFF 됩니다. 응용예제 1 < 싱글 타이머 SST > TC200 SST Ch=200 SV=30 M <타임차트> 입력 출력 3 초 타이머 입력조건이 ON 되면 출력도 ON 되고, 타이머 경과치가 증가하여 설정치 이상이 되면 출력이 OFF 됩니다. 경과치가 설정치에 도달하기 전에 입력이 OFF 되면, 출력도 OFF 됩니다. 타이머 1 개를 이용한 플리커 회로 입력이 ON 되면 3 초간 ON, 3 초간 OFF 가 반복되는 회로(플리커 회로) 입력 TC100 / TC100 / TC100 M M / TIM Ch=100 SV=30 M 출력 <타임차트> 입력 출력 3 초 3 초 타이머의 SV 값을 조정하면 플리커 간격을 조정할 수 있습니다. 이 회로는 타이머와 교번동작 회로를 이용한 방법입니다. 간단한 특수접점을 이용한 1 초 플리커 회로 PLC 내부 특수접점(F 영역)을 이용하여 1 초간격의 플리커 회로를 활용할 수도 있습니다. F M <타임차트> 출력 0.5 초 0.5 초 타이머 2 개를 이용한 플리커 회로 2 입력이 ON 되면 3 초간 ON, 2 초간 OFF 가 반복되는 플리커 회로 TC102 입력 / TC101 <타임차트> TC101 / TIM Ch=101 SV=30 TIM Ch=102 SV=20 M 입력 출력 3 초 2S 33

35 타이머 2 개를 이용한 플리커 응용 회로 TC102 TI M Ch=101 입력 / SV=30 <타임차트> TC101 TI M 응용 표현 Ch=102 입력 SV=20 M 출력 3 초 2S 응용예제 2 불안정한 신호의 안정화 회로 입력의 펄스 노이즈와 같은 불안정한 회로를 안정화 시킬 수 있는 회로 SST TC010 Ch=10 SV=30 <타임차트> TC010 M 입력 출력 0.3 초 0.3 초 타이머의 경과치를 이용한 단계별 제어회로 타이머의 경과치(PV)를 이용하여 단계별 동작회로를 구성할 경우에 이용합니다. (비교명령어 부분은 별도로 참고 바랍니다) <래더 프로그램> <타임 차트 비교> TIM Ch=100 SV=30 TC100 <= A=50 B=PV100 <= A=70 B=PV100 <= A=100 B=PV100 < A=PV100 B=70 < A=PV100 B=100 M M M M 입력 경과치 경과치 설정치 100 출력 M 출력 M 출력 M 출력 M 타이머 입력조건이 작동되고 있는 동안은 경과치(PV 값)가 최대치 까지 증가하므로 타이머의 경과치를 비교명령어로 영역을 설정하여 시간에 대한 구간별로 작동 프로그램을 구축하여 효과적인 회로구성을 할 수 있습니다. 2. 입력조건이 정지하면 모든 출력은 정지하게 됩니다. 34

36 5.4.3 정전기억 ON 타이머 명령 명령어 워드수 명칭 래더 표시 설 명 TM 3 etentive On-delay timer TM T CH= SV= 정전유지 ON 딜레이 타이머 주) CPU F/W 버전 5.x 이상에서 사용 가능하며, WinGPC 4.15 이상에서 사용 가능합니다. 1. 전원 OFF 중에도 경과치 값과 연산결과가 유지되는 타이머이다. 2. 설정 가능한 채널번호는 0~255 번까지 지정하며, 채널번호 0~63 번 까지는, Time Base 가 10mSec (0.01 초)단위로 계산되고, 채널번호 64~255 번까지 지정하면 Time Base 가 100mSec(0.1 초)단위로 설정이 된다. 3. 설정치(SV)는 16 비트로 0 ~ 65,535 까지 지정할 수 있습니다. 4. 타이머 출력접점 번지는 TC + 채널번호 로 지정한다. 5. 설정치를 지나 출력이 ON 된 이후에도 경과치는 계속 증가하여 최대치(65535)에서 멈추게 되며, 입력조건이 OFF 되어도 경과 값이 유지된다. 6. 입력단(eset)이 ON 되면 경과 값이 초기화된다. 7. 입력이 ON 된 후부터 타이머가 작동해서 지정시간 이후에 출력이 ON 되는 기능의 ON 딜레이 타이머 입니다 TC000 TM T Ch=0 SV=300 M 타이머 입력조건이 ON 되면 타이머 경과치가 증가하여 설정치 이상이 되면 출력접점이 ON 됩니다. 전원이 OFF 되었다가 복구되더라도 경과치가 유지되므로 연산결과도 유지된다. 0.1 의 입력이 ON 되면 타이머 경과치가 초기화 되며, 출력도 OFF 됩니다. 정전구간 T 입력(0.0) 입력(0.1) TC 출력(M0.0) 설정된 3 초는 정전 구간에서 계수되지 않다가 정전이 복구되고 나면 계수한다. 설정시간이 경과하여 타이머의 접점이 ON 되고 난 뒤 정전이 되었다가 정전이 복구된 경우 입력 접점이 ON 으로 유지되고 있다면, 타이머의 접점도 유지된다. (eset)입력이 ON 되면 출력이 Off 된다. A B A+B =3 초 35

37 5.5 카운터 명령 Up 카운터, Down 카운터 니모닉명령 래더 표시 설 명 워드수 적용기종 UC DC 1. 카운터는 4 종류(UC, DC, CT, UDC)가 있고, 타이머와 공용으로 최대 256 개를 사용할 수 있습니다. 2. 타이머와 카운터는 공용의 채널번호를 사용하며, 순서에 무관하게 0~255 번까지 지정하고, 동일한 채널번호를 사용할 수는 없습니다. 3. 설정치(SV)는 16 비트(0 ~ 65,535 까지)를 지정할 수 있습니다. 1. 타이머나 카운터의 출력접점 번지는 TC + 채널번호 로 지정합니다. 2. 각 채널별로 카운터로 사용할 경우에는 경과치 값이 정전유지가 됩니다. 3. UC(상승 카운터)는 입력 접점이 OFF 에서 ON 으로 변경될 때마다 1 씩 카운터 되며, 카운터 값이 0 에서부터 최대치(65,535)까지 증가하고, 최대치에서는 입력에 무관하게 값을 유지합니다. 4. DC(하강 카운터)는 리셋 입력이 ON 되면 현재치가 설정치로 지정되며, 입력이 OFF 에서 ON 으로 변경될 때 마다 1 씩 감소하여 값이 0 이 될 때, 출력접점이 ON 되고, 카운터가 정지됩니다. eset 입력이 ON 되면, 출력이 OFF 로 변하고 현재치는 설정치로 지정됩니다. 리셋 입력이 OFF 된 후부터 카운터는 작동을 합니다. 초기 프로그램 다운로드 후 작동시에는 리셋입력을 ON 시킨 후 작동시키십시오. 5. 모든 카운터의 리셋입력이 ON 되어 있으면 입력의 영향을 받지 않고 초기화 됩니다. < UP Counter > UC U Ch= SV=4 TC020 UC U Ch=020 SV=004 M 입력(0.0) 리셋(0.1) 현재값(PV20) 출력(TC20) 설정값 상승 카운터는 입력이 ON 될 때마다 현재치가 1 씩 증가하며, 설정값 과 동일하거나 이상이 되면 출력접점이 ON 됩니다. 리셋입력이 ON 되면 0 으로 된다. < Down Counter > DC D Ch= SV=5 TC021 M DC D Ch=021 SV=005 상승카운터 하강카운터 입력 현재값 출력 리셋 입력 현재값 출력 리셋 입력(0.0) 리셋(0.1) 현재값(PV21) 출력(TC21) 설정값 하강 카운터는 입력이 ON 될 때마다 현재치가 1 씩 감소하여 0 이 되면 출력접점이 ON 됩니다. 리셋입력이 ON 되면 출력은 정지하고 현재치가 설정치로 된다. 설정값 설정값 3 전기종 3 전기종 36

38 5.5.2 링카운터, Up/Down 카운터 니모닉 명령 래더 표시 설 명 워드수 적용기종 CT UDC CT T Ch=022 SV=004 UDC U Ch=023 SV=003 D 주 1) 적용기종 :A200,N70+(CPL9215A/9216A),N700+(CPL7215A),NX70+(CPU70P1/P2), NX700+(CPU700P) 미적용기종 :SPC-10/24S/120S/ 카운터는 4 종류가 있고, 타이머와 공용으로 최대 256 개를 사용할 수 있습니다. 2. 타이머와 카운터는 공용의 채널번호를 사용하며, 순서에 무관하게 0~255 번까지 지정하고, 동일한 채널번호를 사용할 수는 없습니다. 3. 설정치(SV)는 16 비트(0 ~ 65,535 까지)를 지정할 수 있습니다. 타이머나 카운터의 출력접점 번지는 TC + 채널번호 로 지정합니다. 4. 각 채널별로 카운터로 사용할 경우에는 경과치 값이 정전유지가 됩니다. 5. CT(링 카운터)는 입력 접점이 OFF 에서 ON 으로 변경될 때마다 0 부터 1 씩 카운터 되며, 카운터 횟수가 설정치가 되면 0 으로 값이 변하면서 출력이 ON 됩니다. 그 다음 입력부터 다시 증가하면서 카운터 값이 반복됩니다. 6. UDC(상승/하강 카운터)는 상승입력(U) 조건이 OFF 에서 ON 으로 변경될때 카운터가 1 씩 증가 되며, 하강입력(D) 조건이 OFF 에서 ON 으로 변경될때 카운터가 1 씩 감소하고 0 에서는 감소하지 않습니다. 카운터 현재치가 설정치 보다 크거나 0 이 되면 출력이 ON 되며, 리셋입력이 ON 되면 출력은 OFF 되고, 경과치는 0 이 됩니다. (단, SPC 시리즈는 하강 카운터가 현재치 0 에서도 (-) 로 감소됩니다. 7. 카운터의 리셋입력이 ON 되어 있으면 입력의 영향을 받지 않고 초기화 됩니다. < ing Counter > CT T Ch= SV=4 TC022 M 입력(0.0) 리셋(0.1) 현재값(PV22) 출력(TC22) 설정값 = 4 일때 링 카운터는 설정치 주기로 현재치가 반복되며, 현재치가 0 이 되면서 출력이 ON 됩니다. 리셋 입력이 ON 되면 값은 0 으로 변하면서 출력은 OFF 상태가 됩니다. < UP-Down Counter > UDC U Ch= SV=3 D TC023 M 링 카운터 상승/하강 카운터 U 입력(0.0) D 입력(0.1) 리셋 (0.1) 설정값 현재값(PV22) 출력(TC22) UDC 명령은 U 입력은 상승하고 D 입력은 하강한다. 출력은 설정값 이상 또는 0 에서 ON 된다. 입력 현재값 출력 리셋 U입력 D입력 현재값 출력 리셋 설정값 설정값 3 주 1) 3 전기종 37

39 5.6 시프트 S 명령 니모닉 명령 래더 표시 설 명 워드수 적용기종 S S I Sb=K1.4 Eb=K2.5 P 시프트 레지스터 Sb K Eb K2.5 주 1) 적용기종 :A200,N70+(CPL9215A/9216A),N700+(CPL7215A),NX70+(CPU70P1/P2), NX700+(CPU700P) 미적용기종 :SPC-10/24S/120S/300. I I값 4 주 1) 1. S 명령은 최대 256 개를 사용할 수 있으며, 자동으로 사용 갯수를 점검합니다. 2. 번지(ADDESS)는 동일한 종류의 M 또는 K 영역에서 사용 가능하며, 지정한 비트의 범위는 2 ~ 1024 비트까지 지정가능하고, K 영역을 사용하면 정전유지가 됩니다. 3. Sb 또는 Eb 의 번지는 시프트 방향을 표시하며, 중복하여 사용할 수도 있고, 역방향(Sb 번지가 Eb 보다 낮은 경우)의 번지지정도 가능합니다. 즉, Sb < Eb 일 경우 상위비트로 시프트 되고, Sb > Eb 일때는 하위비트로 시프트 됩니다. 4. 입력 I 는 시작번지(Sb)의 데이터 값을 결정하며, 입력 P 가 ON 될 때마다 전체 데이터를 1 비트씩 Sb 에서 Eb 방향으로 시프트 합니다. 5. 리셋입력이 ON 되면 지정된 모든 Data 가 0 으로 초기화 됩니다 S I Sb=K Eb=K2.3 P K M K M K M K M I 입력(0.0) P 입력(0.1) 리셋 (0.1) 시작접점(Sb)(K1.4) 접점 Sb+1 (K1.5) 점점 Sb+2 (K1.6) 점점 Sb+3 (K1.7) 점점 Sb+4 (K1.8) : 끝 점점(Eb) (K2.5) : ) 리셋 입력이 ON 되면 모든 데이터가 0 으로 초기화 됩니다. 2) 처음 I 입력 (입력 Data)이 ON 상태에서 P 입력 (펄스 시프트 지령)이 ON 되면 데이터값 1 이 Sb 에 저장되며, 영역의 모든 비트 값은 Sb 비트에서 Eb 비트 방향으로 1 비트씩 시프트 됩니다. 3) 두번째 P 입력이 ON 되는 순간의 I 입력 Data (ON)가 Sb 에 저장되고, 기존 Sb 의 값은 Sb+1 비트로 각각 시프트 됩니다. 4) P 입력이 ON 되는 시점까지 데이터는 유지되며, ON 되는 순간에 시프트 동작이 반복되며, 마지막 비트(Eb)의 값은 Over flow 하고, 리셋 입력이 ON 되면 모든 데이터를 0 으로 초기화 됩니다. 38

40 응용예제 : SPC-120, SPC24 기종의 S 명령을 대체하는 방법 S 400 ~ 423 (20 ) (21 ) S I Sb=K Eb=K5.3 P K M K M (43 ) K M <SPC120/24 기종의 예제> <NX-p, Nplus 기종의 예제> 1) SPC-120/24 기종의 경우 8 비트 단위로 번지지정이 되며, NX plus 기종은 16 비트 단위로 번지 지정이 됩니다. 2) 즉, 예제에서 각각 대응되는 번지는 다음 표와 같습니다. SPC-120/ NX-p,Nplus K4.00 K4.01 K4.02 K4.03 K4.04 K4.05 K4.06 K4.07 K4.08 K4.09 SPC-120/ NX-p,Nplus K4.10 K4.11 K4.12 K4.13 K4.14 K4.15 K5.00 K5.01 K5.02 K5.03 SPC-120/ NX-p,Nplus M2.00 M2.01 M2.02 M2.03 M2.04 M2.05 M2.06 M2.07 M2.08 M2.09 SPC-120/ NX-p,Nplus M2.10 M2.11 M2.12 M2.13 M2.14 M2.15 M3.00 M3.01 M3.02 M

41 5.7 스텝제어 명령 STEP Controller 에 대해서 NX PLC 는 SFC 를 Ladder 형식으로 지원한다. SFC 의 구성요소는 스텝(Step)과 전환(Transition)이 있으며, 흐름제어를 위한 분기와 합류가 있다. 분기와 합류에는 선택분기/합류와 병렬분기/합류가 있다. NX PLC 의 Step Controller 명령어들은 이러한 여러 종류의 구성요소들을 모두 표현할 수 있도록 구성되어 있다. STAT Step Step a Step d Step b Step e Step f Step c Step g Step h SFC 프로그램은 Graphic 언어이고 NX 에서는 Ladder 언어로 SFC 프로그래밍을 지원한다. 따라서 SFC 의 Graphic 프로그램을 Ladder 언어로 몇 가지 규칙에 의거하여 프로그래밍 할 수 있다. BOX 는 Step 을 의미하며, 그림에서 이중 BOX 는 시작스텝이다. 스텝이 활성화되면 해당 Step 의 루틴이 활성화된다. 프로그램 스캔중 활성화된 outine 내의 출력이 조건에 따라 작동하게 된다. 시작 Step 을 표시하는 Ladder 표현은 ISTP 이다. ISTP 는 하나의 SFC 블록 프로그램의 선두에 있어야 하며, Ladder 로직에 의해 활성화되어야 한다. SSTP 는 하나의 ung 을 이끄는 선행 명령어로서 입력접점 형식으로 프로그램이 작성되어야 한다. 해당 스텝의 Action 들은 선행된 SSTP 와 AND 로직으로 결합되어 있으므로 해당 스텝이 활성화되면 해당 Action 들은 조건에 따라 출력하게 된다. 전환(Transition)은 3 가지 종류가 있다. 단독분기, 병렬분기 그리고 선택분기가 있다. 단독분기는 다음 전환할 스텝이 한 개인 경우이고, 병렬분기는 전환 후 여러 개의 스텝으로 분리되어 모든 분기된 스텝이 동시에 활성화된다. 선택분기는 전환 후 분기된 스텝중 하나를 선택해서 활성화 하는 경우이다. 합류는 병렬분기나 선택분기 후에 흐름이 하나의 스텝으로 합쳐지는 경우이다. 병렬분기합류, 선택분기합류로 구분한다. 또한,상태를 초기화하는 스텝초기화, 블록 초기화 등도 있다. 분기인 경우에는 모두 NSTP 명령어가 사용된다, 이 명령의 앞 단에는 SSTP 이 입력조건으로 작성되어야 한다. 병렬분기인 경우에도 NSTP 명령어가 사용되어야 한다. 병렬분기의 개수만큼 연속적으로 작성되어야 한다. 40

42 주의 사항 - 시작 Step 은 0-15 까지의 Step 번호가 할당된다. 따라서 래더 프로그램에는 16 개의 SFC 블록을 구성시킬 수 있다. - NX PLC 는 4096 개(스텝번호 0~4095)의 Step 을 가질 수 있다. - Step Controller 프로그램에서는 SET/ESET 명령어를 사용하지 말아야 한다. 비활성화 Step 에서도 해당 Bit 의 상태가 유지되므로 SFC 의 규약을 어기게 되며, 예상되지 않은 제어가 이루어질 수 있다. - Step Controller 에서는 중복 출력이 가능하지만, 하나의 Step ung 내에서는 중복사용을 피하여야 한다. 예상되지 않은 제어가 이루어질 수 있다. - Step Controller 프로그램 사이에 일반 프로그램이 혼입되는 경우 제어의 값이나 상태가 예상과 다르게 나올 수 있으므로 피하여야 한다. - Step 번호가 의 Step 은 정전유지 한다. - Step controller 프로그램 내에서는 다른 블록처리 명령어 FO, DFO, NEXT, JMP, LBL, JMPS, JMPE, INT, ETI 을 사용하지 않도록 한다. 정상적인 명령어 처리가 이루어지지 않을 수가 있다. Subroutine 명령어 CALL, SB, ET 의 경우에는 상황에 따라 예상되지 않은 제어가 이루어 질 수 있으니 주의해서 사용한다. - 41

43 5.7.2 STEP Controller 명령어 명령어 워드수 명칭 래더 표시 설 명 ISTP 2 스텝 초기화 SSTP 2 스텝 시작 NSTP 2 다음 스텝 ASTP 2 And 스텝 CSTP 2 스텝 초기화 CBSTP 3 스텝 블록 초기화 ESTP 1 스텝 종료 1. 시작 Step 활성화 프로그램 ISTP Step= SSTP Step= NSTP Step= ASTP Step= CSTP Step= CBSTP STEP1= STEP2= ESTP 시작 스텝(Step0~15)을 활성화시킨다. 스텝의 상태를 점검한다. 해당 스텝이 활성화되어 있으면 ON 상태가 된다. 단독 또는 병렬분기 전환을 실행하는 명령어이다. 이전 STEP 과의 AND 조건을 검출한다 병렬분기 합류시 전환 점검용 명령 지정 스텝의 상태를 초기화 한다 지정한 Block 내의 스텝상태를 초기화한다 Step Controller 의 처리 루틴의 종료를 나타낸다. Step 1 M M F ISTP Step = 0 Step 12 SSTP Step = 0 M M 단독 분기 프로그램 Step M SSTP Step = NSTP Step = 12 M Step 병렬분기 프로그램 42

44 Step M SSTP Step = NSTP Step = 12 M NSTP Step = 14 Step 12 Step 선택분기 프로그램 Step M SSTP Step = NSTP Step = 12 NSTP Step = 14 M Step 12 Step 병렬분기합류 프로그램 Step 10 M Step 14 M SSTP Step = 10 SSTP Step = 14 M0.4 M NSTP Step = 12 M M Step 선택분기합류 프로그램 Step 10 M Step 14 M SSTP Step = NSTP Step = 12 M Step 12 SSTP Step = NSTP Step = 12 M

45 5.8 증감 명령어 Binary 증가 명령어 니모닉 워드수 래더 표시 설 명 적용기종 INC 2 DINC 2 INC 2 진수 증가 ( 10 진수 증가) - 1 워드 D= (Binary Increment) 전기종 DINC D= 2 진수 증가 ( 10 진수 증가) - 더블워드 전기종 1. 증가명령은 D 번지의 값을 1 씩 증가시키는 기능을 가지고 있습니다. 2. Binary 증가는 비트단위로 증가합니다. 3. D 번지는,L,M,K,W,SV,PV,S,D 등의 워드(더블워드)번지를 지정할 수 있으며, 워드명령은 16 비트(65,535)이내, 더블워드명령은 32 비트(4,294,967,295) 까지 값이 증가 합니다. 4. 증가된 값이 최대치를 넘으면 Overflow 가 되어 0 값이 되고, 계속해서 처음부터 다시 카운터 합니다. 5. 증가명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 카운터 기능과 같이 증가시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M INC D=W100 DINC D=W105 M1.0 접점이 ON 될 때마다 1Scan 동안(한번) 증가명령이 작동되며, 각각의 명령어가 모두 다른 기능을 가지고 있습니다. 즉, INC 명령은 Binary(10 진수값) 단위로 1 워드, DINC 명령은 Binary(10 진수값) 단위로 2 워드, F INC D=M10 F INC D=M11 M10 과 M11 은 입력조건을 접점으로 하는 경우와 엣지명령으로 하는 경우의 차이점을 표시합니다. 즉, F1.4 접점은 0.5 초동안 ON, 0.5 초 동안 OFF 동작을 하므로 a 접점 조건의 M10 워드는 ON 상태에서 SCAN 할때마다 1 씩 증가하고, 엣지명령 조건의 M11 워드는 1 초마다 1 씩 증가합니다.. 44

46 5.8.2 BCD 증가 명령어 니모닉 워드수 래더 표시 설 명 적용기종 INCB 2 DINCB 2 INCB BCD 증가 - 1 워드 D= (BCD Increment) 전기종 DINCB D= BCD 증가 - 더블 워드 전기종 1. BCD 증가명령은 D 번지의 값을 BCD 단위로 1 씩 증가시키는 기능을 가지고 있습니다. 2. BCD 증가는 BCD 숫자단위로 구성하는 4 개의 비트단위로 증가하며, 16 진수의 A~F 까지 값을 제외시킨 값과 동일합니다. 3. D 번지는,L,M,K,W,SV,PV,S,D 등의 워드(더블워드)번지를 지정할 수 있으며, 워드명령은 16 비트 이내, 더블워드명령은 32 비트 까지 값이 증가 합니다. 4. 증가된 값이 최대치를 넘으면 Overflow 가 되어 0 값이 되고, 계속해서 처음부터 다시 카운터 합니다. 5. 증가명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 카운터 기능과 같이 증가시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M INCB D=W101 DINCB D=W107 M1.0 접점이 ON 될 때마다 1Scan 동안(한번) 증가명령이 작동되며, 각각의 명령어가 모두 다른 기능을 가지고 있습니다. 즉, INCB 명령은 BCD 단위로 1 워드 증가, DINCB 명령은 BCD 단위로 2 워드 값 까지 증가 기능. F INCB D=M10 F INCB D=M11 M10 과 M11 은 입력조건을 접점으로 하는 경우와 엣지명령으로 하는 경우의 차이점을 표시합니다. 즉, F1.4 접점은 0.5 초동안 ON, 0.5 초 동안 OFF 동작을 하므로 a 접점 조건의 M10 워드는 ON 상태에서 SCAN 할때마다 1 씩 증가하고, 엣지명령 조건의 M11 워드는 1 초마다 1 씩 증가합니다. 주) BCD 란? BCD 는 Binary Coded Decimal 의 약자로 2 진 부호화 10 진수 라고 부르며, 4 개의 비트를 이용하여 10 진수를 표현한 코드방식을 말한다. 즉, 10 진법에서 각 자리수의 10 진 숫자를 2 진 숫자로 나타내는 방식이다. 예를들어 10 진수 23 은 BCD 로 이며, 16 진수 표현은 $23 이 된다. 10 진수 57 은 BCD 로 로 표현되고, 16 진수로 $57 이며,10 진수로는 87 이된다. 워드의 BCD 값은 0 ~ $9999(10 진수로는 39,321 까지 처리되며, 더블워드 BCD 값은 0~$ (10 진수로 2,576,980,377)까지 값을 처리할 수 있습니다. 45

47 5.8.3 감소 명령어 니모닉 워드수 래더 표시 설 명 적용기종 DEC 2 DEC 2 진수 감소 ( 10 진수 감소) - 1 워드 D= (Binary Decrement) 전기종 DDEC DDEC 2 D= 2 진수 감소 ( 10 진수 감소 ) - 더블워드 전기종 DECB 2 DDECB 2 DECB D= BCD 감소 - 1 워드 (BCD Decrement) 전기종 DDECB D= BCD 감소 - 더블 워드 전기종 1. 감소명령은 D 번지의 값을 1 씩 감소시키는 기능을 가지고 있으며, Binary 감소 또는 BCD 감소 명령어가 있습니다. 2. Binary 감소는 비트단위로 감소하고, BCD 감소는 BCD 숫자단위로 구성하는 4 개의 비트단위로 감소하며, 16 진수의 A~F 까지 값을 제외시킨 값과 동일합니다(별도 참조). 3. D 번지는,L,M,K,W,SV,PV,S,D 등의 워드(더블워드)번지를 지정할 수 있으며, 워드명령은 16 비트(65,535)이내, 더블워드명령은 32 비트(4,294,967,295) 이내에서 값이 감소 합니다. 4. 값이 0 에서 감소가 되면 Overflow 가 되고, 계속해서 최대치부터 다시 1 씩감소 합니다. 5. 감소명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 카운터 기능과 같이 감소시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M LET D=W100 S=100 LET F D=W101 S=$100 DEC D=W100 DECB D=W101 M0.0 접점이 ON 되면 W100 에 100 값을 저장하고, W101 워드에 $100 값을 저장합니다. F1.4 접점에 의해 1 초 단위로 ON 될 때마다 한번씩 감소명령이 작동되며, 각각의 명령어가 모두 다른 기능을 가지고 있습니다. DEC, DECB 명령은 1 워드의 범위내에서 DEC 명령은 Binary 단위로 1 씩 감소하고, DECB 명령은 BCD 단위로 1 씩 감소합니다. M DDEC D=W105 DDECB D=W107 DDEC 명령과 DDECB 명령의 W105, W107 워드는 초기조건이 0 상태에서 1 씩 감소하므로 최대치부터 감소하는 값이 되며, DDEC 명령은 Binary 단위로 2 워드내 감소, 46

48 5.8.4 실수 증가/감소 명령어 명령어 워드수 명칭 래더 표시 설 명 FINC 3 FDEC 3 실수 데이터 1.0 씩 증가 실수 데이터 1.0 씩 감소 FINC D = FDEC D = 입력이 ON 될 때마다 D 의 Float Point 값을 1.0 씩 증가. D = D 입력이 ON 될 때마다 D 의 Float Point 값을 1.0 씩 감소. D = D D 번지는,L,M,K,W,D, S,D 등의 더블워드번지를 지정할 수 있습니다. 2. 값이 최대치 또는 최소치에서는 Overflow 가 되고, 계속해서 최대치/최소치부터 다시 1.0 씩 변화 합니다. 3. 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없습니다. 4. 입력단을 a,b 접점을 이용하면, 매 Scan 마다 동작하므로 1.0 단위로 증감시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다 FINC D=W FDEC D=W200 W100 에 15.3 의 값이 들어 있다고 한다면, 0.1 이 ON 이 되는 순간 W100 에 저장된 15.3 에 1.0 이 더해진 16.3 이 W100 에 저장된다. W200 에 1.3 의 값이 들어 있다고 한다면, 0.2 이 ON 이 되는 순간 W200 에 저장된 1.3 에 1.0 이 빼진 -0.3 이 W200 에 저장된다. 47

49 5.9 대입명령어 정수 대입 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 LET 3 DLET 4 1. 대입명령은 목적지 D 번지에 S 값을 직접 입력하거나 다른 워드(더블워드)번지의 값을 대입(전송) 하는 기능을 가지고 있습니다. 2. 대입명령의 D 영역은,L,M,K,W,SV,PV,S,D 등의 워드(더블워드)번지를 지정할 수 있으며, S 영역은 LET 명령에서는 워드번지 또는 16 비트(65,535)이내, DLET 명령에서는 더블워드번지 또는 32 비트(4,294,967,295) 까지 값을 지정할 수 있습니다. 3. 대입명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 항상 동작해야 하는 경우에는 F0.15 번지(운전시 항상 ON)를 a 접점 으로 사용합니다. F LET D=W100 S=123 DLET D=W102 S=80000 F LET D=W110 S=W100 M >= A=W110 B=50 D>= A=W112 B=70000 DLET D=W112 S=W102 M M 응용예제 : 16 진수(HEX) 값 입력방법 F LET D=W120 S=20 LET D=W122 S=$20 == A=W120 B=20 == A=W120 B=$20 == A=W122 B=$20 == A=W122 B=32 LET D= S= DLET D= S= M M M M 수치(데이터) 대입 (S=Source, D=Destination) (D= 워드번지, S= 워드번지,워드값) 더블워드 대입 (S 의 값을 D 에 저장) (D= 더블워드번지, S= 더블워드, 더블워드값) 전기종 전기종 F1.0 접점은 최초 1Scan 동안 ON 되는 신호임. PLC 가 처음 운전(수행)되는 SCAN 에서 W100 워드에 데이터값 123 을 삽입(전송)합니다. 처음 운전 스캔에서 W102 번지에 데이터값 을 대입(전송)합니다. PLC 가 운전하는 매 스캔마다 S 의 W100 의 값을 D 의 W110 에 저장합니다. 접점 M0.0 이 ON 되는 순간 W102 값을 W112 워드에 대입(전송)함. *주의) DLET 명령은 더블워드 단위로 전송하므로 W102,W103 의 값을 W112,W113 에 대입하는 기능을 가지고 있습니다. W110 워드가 50 보다 크면 M 이 ON 됩니다. W112 더블워드가 보다 크면 M 이 ON 됩니다. PLC 가 처음 운전(수행)되는 SCAN 에서 W120 워드에 데이터값 20(10 진수)을 삽입(전송)하며, W122 워드에 데이터값 $20(16 진수표현)(10 진수=32)을 삽입(전송)합니다. (16 진수 입력은 숫자 앞에 $를 삽입하면 됩니다.) 저장된 데이터를 확인하는 프로그램입니다. 즉, W120 값이 20 이면 출력 M0.0 이 ON 됩니다. W120 값이 $20(16 진수)일 때 출력 M0.1 이 ON 됩니다. (10 진수로 32 값이므로 출력은 OFF 상태가 됩니다) W122 값이 $20(16 진수)이면 출력 M0.2 가 ON 됩니다. W122 값이 32(10 진수)이면 출력 M0.3 이 ON 됩니다. 즉, $20 또는 32 로 입력해도 동일한 값이 입력됩니다. 48

50 5.9.2 실수 대입 명령어 명령어 워드수 명칭 래더 표시 설 명 FLET 5 부동소수점 데이터 대입명령 FLET D= S= D 번지에 S 의 값을 저장한다. 1. FLET 은 D 번지에 S 의 부동소수점 값을 복사하거나 부동소수점 상수 값을 지정한다. 2. D 와 S 영역은, L, M, K, W, D 의 더블워드번지를 지정할 수 있으며, S 에는 부동소수점 상수 값을 지정할 수 있다. 3. D 와 S 번지는 자동으로 더블 워드 영역을 할당 받는다. 4. S 값을 상수로 지정하면 2 워드를 할당받아 사용워드수가 5 워드가 된다. M00.00 FLET D= M20 S= 3.4 FLET D= M22 S= M20 FLET(실수대입)명령어를 이용하여 M20 워드에 소수점 값 3.4 를 입력할 수 있다. M20 의 소수점 값을 M22 에 소수점 값으로 대입할 수 있다. S 값은 번지 또는 실수 값을 사용할 수 있다. 49

51 5.9.3 순차 대입 명령 명령어 워드수 명칭 래더 표시 설 명 MLET 9 DMLET 15 FMLET 16 복수의 워드 데이터 대입 복수의 더블 워드 데이터 대입 복수의 Floating Point 데이터 대입 MLET D= N= S1= S6= DMLET D= N= S1= S6= FMLET D= N= S1= S6= 다수의 워드 데이터를 여러 개의 레지스터에 데이터를 저장한다. S1 에서 S6 까지 있는 데이터를 사용하여 D 에서부터 N 개를 저장. 다수의 더블워드 데이터를 여러 개의 레지스터에 데이터를 저장한다. S1 에서 S6 까지 있는 데이터를 사용하여 D 에서부터 N 개를 저장. 다수의 부동소수점 데이터를 여러 개의 레지스터에 데이터를 저장한다. S1 에서 S6 까지 있는 데이터를 사용하여 D 에서부터 N 개를 저장. 1. 어느 한 레지스터로부터 다수의 데이터를 연속적으로 동시에 저장이 가능한 명령어이다. TABLE 형식의 데이터를 입력해야 하는 경우에 유용한 명령어이다. 2. MLET 은 워드 데이터에 대한 명령어이고, DMLET 은 더블워드 데이터에 대한 명령어 입니다. FMLET 은 부동소수점 데이터에 대한 명령어 입니다. 3. D 영역은, L, M, K, W, D, SV, PV, S,D 영역을 지정할 수 있으며, S1 에서 S6 에는 MLET 의 경우 16 bit 워드 데이터만, DMLET 은 32 bit 워드 데이터를, FMLET 에는 부동소수점 데이터만 입력이 가능하다. 4. N 에는 1 에서 6 까지의 수만 입력이 가능하다. 5. N 값에 무관하게 할당되는 워드수는 동일합니다(MLET=9 워드, DMLET=15 워드, FMLET=16 워드) F001.0 MLET D=W100 N=6 S1=2456 S2=6378 S3=8012 S4=7691 S5=1920 S6=3101 처음 CPU 가 운전될 때 F1.0 접점이 한 SCAN ON 되어, S1 에서부터 S6 까지의 데이터가 W100 에서부터 W105 까지 저장한다. 아래 표는 실행 후의 결과를 보여줍니다. W W W W W W 오류처리 N(size) 에 지정한 워드 수 이상의 데이터는 입력되지 않습니다. 즉, N=3 이면 S1,S2,S3 까지 값은 입력되고, S4,S5,S6 값은 적용되지 않고 무시됩니다. Float 명령어의 경우 입력 값이 Float 형태가 아닌 경우 INF 값이 대입됩니다. S1~S6 의 소스 값의 경우 사용하지 않아도 어떤 값이 입력 되어 있어야 합니다. MLET 과 DMLET 사용시 음수 값에 대한 구분을 하지 않습니다.(F13.03 무관) 50

52 2 M00.01 DMLET D=W200 N=3 S1= S2=800 S3=$50000 DMLET 명령어는 각 오퍼랜드가 더블워드로 지정됩니다. 즉, S1=123456=W200,W201 영역 S2=800 =W202,W203 영역 S3=$50000 = W204, W205 영역에 저장됩니다. 3 M00.01 FMLET D=W200 N=2 S1=-20.0 S2= FMLET 명령어는 각 오퍼랜드가 실수로 지정됩니다.(Floating Point 참조) 즉, S1=-20.0 = W200,W201 영역 S2= =W202,W203 영역에 저장됩니다. 51

53 5.10 부호처리 명령(절대값,반전,보수값) 니모닉 워드수 래더 표시 설 명 적용기종 ABS 2 ABS D= Absolute value (절대값 연산, D = D ) (워드) 전기종 DABS 2 DABS D= Absolute value (절대값 연산, D = D ) (더블 워드) 전기종 FABS FABS D= D= l D l (D 의 절대치 값을 D 에 저장함) WNOT 2 DNOT 2 WNOT D= NOT (워드 반전, 1 의보수) (워드) 전기종 DNOT D= NOT (더블워드 반전, 1 의보수) (더블 워드) 전기종 NEG 2 NEG D= 2 의 보수값을 D 에 저장 (1 의 보수+1 = 마이너스 값) Negative (워드) 전기종 DNEG 2 DNEG D= 2 의 보수값을 D 에 저장 (1 의 보수+1 = 마이너스 값) Negative (더블 워드) 전기종 1. ABS(절대값)명령은 최상위 비트(MSB)가 1 이면 2 의 보수를 취하고, 0 이면 그대로 둡니다. 즉, 10 진수 연산으로 마이너스 값은 +값으로 바꾸고, +값은 그대로 둡니다. 2. 절대값 명령은 ABS(워드 절대값) 및 DABS(더블워드 절대값)명령이 있습니다. 3. WNOT(1 의 보수) 명령은 워드(더블워드)의 각 비트를 반전시킨 것과 동일합니다. 4. 반전 명령은 WNOT(워드반전) 및 DNOT(더블워드 반전)명령이 있습니다. 5. NEG(2 의 보수, 마이너스, Negative 등) 명령은 워드(더블워드)값을 마이너스 처리한 것과 같으며, 각 비트를 반전시킨 후 1 을 덧셈한 것과 동일합니다. 6. 마이너스 명령은 NEG(워드 마이너스) 및 DNEG(더블워드 마이너스)명령이 있습니다. 7. D 영역은 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있습니다. 8. 워드명령은 16 비트(65,535) 이내, 더블워드명령은 32 비트(4,294,967,295) 범위 내에서 값을 처리합니다. 9. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M M M M LET D=W100 S=$0123 LET D=W200 S=$8123 ABS D=W100 ABS D=W200 WNOT D=W200 NEG D=W100 워드영역에 데이터를 저장하기 위해 M 접점을 ON 하면, W100 에 $0123(10 진수로 291)을 저장하고, W200 에는 $8123(10 진수로 33059)(부호포함 )이 저장됩니다.(WinGPC 의 레지스터 모니터로 확인 가능) M 접점이 ON 되면 ABS(절대치)명령에 의해 W100, W200 의 값을 절대값으로 처리합니다. 즉, W100 의 $0123( )(291)은 양수(+) 이므로 절대치 변환은 동일한 값이 유지 됩니다. W200 의 $8123( )(-32477)은 음수값 으로 절대값은 양수(+)값인 32477( ) ($7EDD)이 됩니다. 즉, 2 의보수(비트를 반전시킨 후 1 을 더한 값)이다 M0.2 에서 WNOT 명령은 비트를 반전시킨 값이 되고, $8123 이 $7EDC( )으로 변한다. M0.3 의 NEG 명령은 양은 음으로,음은 양으로 한다. $0123(291)은 -291( )이 된다. 52

54 부호 있는 정수의 연산 PLC 에서 다루는 데이터는 부동 소수점을 제외하고는 16 비트 또는 32 비트 정수 값이다. 이 값들은 부호를 갖는 표시되는 경우와 부호 없이 값이 표시되는 경우로 나뉘어진다. 만일 정수 값을 부호를 갖는 경우로 표시하는 경우에는 MSB 가 부호 표시를 위해 사용되고, 나머지 비트만으로 값을 표시하게 된다. 16 비트 정수의 경우에 부호 없이 표시되는 값은 2 16 으로 나타낼 수 있는 0 ~ 가 되지만 부호를 표시하는 경우에는 2 15 으로 나타낼 수 있는 0 ~ 가 된다. MSB 가 1 이면 음수를 나타내므로 부호를 가지고 표시되는 값의 범위는 ~ 이 된다. 이 들 두 부호있는 정수와 부호없는 정수의 연산처리는 부호처리에 기인하여 다른 결과를 초래하므로 연산시 처리방식을 달리하여야 한다. 처리 전에 부호있는 정수의 처리인지 아니면 부호없는 정수의 처리인지를 알려주어야 한다. NX PLC 는 이를 표시하기 위해 별도의 Flag 를 갖고 있다. - F13.3 : 부호처리 접점 (ON= ~ , Off= 0~65535 ) - F13.4 : 최대,최소값 제한설정 (ON= 최대(최소)값 초과시 최대(최소)값 유지, Off= 최대(최소)값 초과시 사이클링 연산함(Flag 처리 후 계속 연산함) F13.03 의 설정에 따라 정수처리 연산은 부호를 가지고 처리(On 인 경우)하기도 하고, 부호없이(Off 인 경우) 처리하기도 한다. 출하시의 기본설정은 Off 이다 추가로 연산의 결과에 따른 정수데이터의 오버플로우 또는 언더플로우 의 경우 NX PLC 에서는 F13.04 의 설정에 따라서 다르게 처리됩니다. 오버(또는 언더)플로우가 발생하면 Carry (F1.08)가 On 되고, F13.04 가 Off 인 경우는 하위값이 결과값으로 저장되고 상위값은 S20,S21 에 저장되나, F13.04 가 On 인 경우는 +/-Max 값이 결과값으로 출력됩니다. 출하시의 기본설정은 Off 이다 부동소수점 연산의 경우는 F13.03, F13.04 에 관련없이 Signed 연산에 +/-Max 로 처리됩니다. 이 경우 +/-Max 는 INF 라는 부통소수점 값이 저장됩니다. 사용예 ADD D=W0, S1=W1, S2=W2 연산의 경우, W1=65535(-1), W2=32768(-32768) 이라고 하면 F13.03 Off F13.03 Off F13.03 On F13.03 On 조건 F13.04 Off F13.04 On F13.04 Off F13.04 On 출력값 (-32768) 관련된 명령어 5. ADD(DADD), SUB(DSUB), MUL(DMUL), DIV(DDIV)등의 사칙연산 6. ==(D==), <>(D<>), >=(D>=), <=(D<=), >(D>), <(D<), LIM(DLIM) 의 비교 명령어 7. MIN,MAX,SUM,AVG,SOT 등의 데이터 처리 명령어 8. SCALE,SCP,BAND,BIAS,LIMIT 등의 데이터 처리 명령어 부호 있는 정수로만 처리되는 명령어 1. 모든 부동소수점 명령어 2. A2I(A2L), I2A(L2A)의 ASCII 변환 명령어 3. F2N(F2L), N2F(L2F)의 부동소수점 변환 명령어 53

55 5.11 연산 위치 대입 명령 명령어 워드수 명칭 래더 표시 설 명 LETX 6 워드데이터 인덱스 대입 LETX D = IDX_D= S = IDX_S= D[D+IDX_D] = S[S+IDX_S] DLETX 6 더블워드 데이터 인덱스 대입 DLETX D = IDX_D= S = IDX_S= D[D+(IDX_D 2)] = S[S+(IDX_S 2)] FLETX 7 Float 데이터 인덱스 대입 FLETX D = IDX_D= S = IDX_S= D[D+(IDX_D 2)] = S[S+(IDX_S 2)] 1. S 번지 위치에서 IDX_S 의 값만큼 더한 위치의 데이터가 D 번지 위치에서 IDX_D 의 값만큼 더한 위치에 저장된다. 2. IDX_D 와 IDX_S 의 위치에는 레지스터 또는 상수 값 입력이 가능하다. 3. D 와 S 번지에 저장된 값은 명령어 실행에 영향을 주지 않습니다. 4. IDX 의 값은 DLETX, FLETX 에서 2 배수 처리를 합니다. F001.0 LETX D= W100 IDX_D=W0 S= D100 IDX_S=D0 W[100+W0] 번지에 D[100+D0] 번지의 값이 저장됩니다 Idx 는 레지스터 또는 상수 지정이 가능합니다. Idx 값은 명령어의 사이즈에 따라서 자동으로 사이즈 확장됩니다. (더블워드 또는 Float 명령어인 경우 2 배수로 처리됩니다) 레지스터 실행 전 비고 레지스터 실행 후 W W(100+W2) W W0 6 = W(100+6) W0 6 W = W106 W D D(100+D0) D D0 10 = D(100+10) D0 10 D = D110 D 복사 오류처리 IDX 값을 포함한 번지의 범위가 처리 가능한 영역을 초과할 경우 untime 오류(F0.3)가 발생하며, CPU 가 실행을 정지합니다. Float 명령어의 경우 Source 값이 Float 명령어가 아닌 경우 INF 값이 대입됩니다. 54

56 5.12 데이터 전송 명령 워드 데이터 전송 니모닉 워드수 래더 표시 설 명 적용기종 MOV 4 MOV D= S= N= S 워드부터 N 개 워드(S 포함)를 D 워드부터 N 개로 값을 복사함. S S S D D D 전기종 FMOV 4 FMOV D= N= V= V 값을 D 부터 N 개 워드로 복사함 V 값 N=4 일때 D D D D 전기종 1. 워드블럭 단위로 데이터를 전송(복사)하고자 할 경우 MOV 명령을 사용하며, 어떤 동일한 데이터를 지정한 레지스터 블록에 전송하고자 할 때에는 FMOV 명령을 사용합니다. 2. MOV 명령에서 D 와 S 는 모두 워드번지 (,L,M,K,W, S,D 등)를 지정할 수 있으며, N 값은 동일한 종류의 레지스터 범위내의 숫자를 지정할 수 있습니다. 3. FMOV 명령에서 D 는 워드번지 (,L,M,K,W,S,D 등)를 지정할 수 있으며, N 값은 동일한 레지스터 범위의 숫자를 지정할 수 있고, V 는 16 비트 이내의 값을 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 5. F M M == A=W30 B=$0305 FMOV D = W0 N=1000 V=0 DLET D=M20 S=$ MOV D = W20 S=M20 N=3 FMOV D = W21 N=10 V=$0305 M F1.0 접점으로 첫 Scan 에서 W0 부터 W999 까지 1000 개워드를 0 으로 초기화 시킨다. M0.0 접점이 ON 되면 M20 워드에 $5678 이 저장되고, M21 워드에 $1234 값을 저장합니다. 동시에 M20~M22 워드 값을 W20~W22 워드까지 저장(복사)합니다. M0.1 접점이 ON 되면 W21 워드부터 W30 워드까지 10 개를 $0305 값으로 저장합니다. W30 워드값이 $0305 값과 동일하면 출력 M1.0 이 ON 됩니다. 응용예제 1. 과거의 Data 를 워드단위로 시프트 시키면서 저장하는 예제 입니다. 즉, 한번씩 작동할 때 마다 W50 은 W51 로 보내고, W51 은 W52 로 보내는 등의 기능입니다. M M INC D=W50 MOV D= W 51 S=W50 N=20 M0.0 접점이 ON 될때마다 INC 명령으로 W50 은 1 씩 증가하며, M0.1 접점이 ON 될때마다 W50 번부터 W69 까지 20 개 워드를 W51~W70 으로 데이터를 전송합니다. 즉, W50의 값은 W51에 저장되고,W51은W52에,W52는W53에 W69 는 W70 에 저장되며, W70 은 소멸됩니다. W50 W51 W52 W53 W70 55

57 비트데이터 전송 니모닉명령 워드수 래더 표시 설 명 적용기종 BMOV 4 BMOV Db= Sb= N = Sb 비트로부터 N 개 비트를 Db 비트부터 N 개로 값을 복사함. (Sb, Db 는 비트번지만 지정가능) Sb Db 전기종 N 개 비트 이동 V 값을 Db 부터 N 개 비트로 복사함. BFMV 4 BFMV Db= N = V = (V=0 또는 1)(N=1 256, 영역내) (Db 는 비트번지) 예) V=1, N=5 일때 전기종 Db 1. 비트블럭 단위로 데이터를 전송(복사)하고자 할 경우 BMOV 명령을 사용하며, 어떤 동일한 데이터(0 또는 1)를 지정한 비트블럭에 전송하고자 할 때에는 BFMV 명령을 사용합니다. 2. BMOV 명령에서 Db 와 Sb 는 모두 비트번지 (,L,M,K 등)를 지정할 수 있으며, N 값은 1~ 256 이내의 값(비트수)을 지정할 수 있습니다. 3. BFMV 명령에서 Db 는 비트번지 (,L,M,K 등)를 지정할 수 있으며, N 은 1~ 256 이내의 비트수, V 는 0 또는 1 의 값을 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M == A=M22 B=$3FF0 DLET D=M20 S=$ BMOV Db=K30.4 Sb=M20.8 N =16 BFMV Db=M22.4 N =10 V =1 M F1.0 접점으로 첫 Scan 에서 M20 워드에 $5678 을 저장하고, M21 워드에 $1234 값을 저장한다. M0.0 접점이 ON 되면 M20.8 비트부터 16 개비트(M21.7 까지) 값을 K30.4 비트부터 16 개(K31.3 까지)로 저장합니다. M0.1 접점이 ON 되면 M22.4 비트부터 10 개비트(M22.13 까지) 를 1 로 저장합니다. 실제 M22 워드의 값이 $3FF0 ( )상태가 되면 출력 M1.0 접점이 ON 됩니다. 56

58 5.13 간접지정 대입명령 니모닉명령 워드수 래더 표시 설 명 적용기종 1. 간접지정 명령은 고정된 번지에 데이터를 저장하지 않고, 지정한 번지의 값에 따라 그 값이 지정한 번지(절대번지)에 데이터를 저장 및 이동시키는 명령을 말합니다. 2. 간접지정 명령에서는 절대번지를 사용하며, 절대번지는 CPU 의 메모리에 할당된 번지를 종류(,M,K,W 등)에 상관없이 순서대로 지정된 번지를 의미하며, 주로 16 진수 단위로 구별이 됩니다. (본 매뉴얼의 절대번지 지정 참조) 3. LD, DLD 명령은 S 번지의 값에 따라 저장하고자 하는 D 의 데이터 값이 달라지며, STO, DSTO 명령은 D 번지의 값에 따라 저장하고자 하는 번지가 달라지는 기능이다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. LD 3 DLD 3 STO 3 DSTO 3 F M == A=W100 B=$1234 M == A=K0 B=$1234 LD D= S= DLD D= S= STO S= D= DSTO S= D= LET D=M20 S=$00C2 DLET D=M2 S=$ LD D=W100 S=M20 M STO S=W100 D=M3 M 간접지정 번지값의 데이터 불러오기 (S 워드의 값이 절대번지인 번지의 값을 D 에 저장) 레지스터번지 절대번지 데이터값 S = X? X Y D= Y 전기종 간접지정 번지값에 S 데이터 저장 (D 워드값이 절대번지인 장소에 S 워드값을 저장) 레지스터번지 절대번지 데이터값 S = X D = Y? Y X F1.0 접점으로 첫 Scan 에서 M20 워드에 $00C2 를 저장하고, M2 워드에 $1234, M3 워드에 $0140 값을 저장한다. M0.0 접점이 ON 되어 LD 명령의 기능을 분석해 보면 D 에 저장하는 값은 S 의 값에 따라 결정되며 S=$00C2 이다. 즉, 절대번지 $00C2 는 M0002 번지이므로 D 번지(W100)에는 M0002 워드의 값($1234)이 저장됩니다. W100 번지에 $1234 값과 동일하면 출력 M1.0 이 ON 됩니다. M0.1 접점에 의한 STO 명령은 저장하는 번지를 결정하는 D 워드값(M3)이 $0140 이며, $0140 의 절대번지는 K0 워드에 해당됩니다. 즉, K0 워드에 S 값(W100=$1234)을 저장하는 명령입니다. K0 의 값이 $1234 이면 출력 M1.1 접점이 ON 됩니다. 절대번지 대응표 (상세내용은 매뉴얼 참조) 레지스터 절대번지 0000 $ $ $ $007E 0127 $007F 레지스터 절대번지 L0000 $0080 L0001 $0081 L0002 $0082 L0062 $00BE L0063 $00BF 레지스터 절대번지 M0000 $01C0 M0001 $01C1 M0002 $01C2 M0126 $013E M0127 $013F 레지스터 절대번지 K0000 $0140 K0001 $0141 K0002 $0142 K0126 $01BE K0127 $01BF 레지스터 절대번지 W0000 $0200 W0001 $0201 W0002 $0202 W2046 $09FE W2047 $09FF 57

59 5.14 데이터 테이블 처리 명령 명령어 워드수 명칭 래더 표시 설 명 FIFOW 4 LIFOW 4 POPS 4 TOS 4 선입선출 저장 후입선출 저장 데이터 읽기 데이터 참조 FIFOW Stack = S= Depth= LIFOW Stack = S= Depth= POPS D = Stack= Depth= TOS D = Stack= Depth= 선입선출 구조의 데이터 저장을 실행한다. 후입선출 구조의 데이터 저장을 실행한다. 데이터 저장소에서 데이터를 읽어낸다, 저장소는 다음 순위의 데이터를 준비한다. 데이터 저장소에서 데이터를 읽어낸다, 저장소는 읽어낸 데이터를 유지하므로 반복해서 같은 데이터를 읽을 수 있다. 1. 스텍(Stack)에서 지정하는 번지에는 저장된 데이터의 개수 값이 자동으로 저장된다. 그 이후 번지부터 깊이(Depth)의 개수만큼의 영역이 데이터의 실제 저장장소가 된다. 2. FIFOW 과 LIFOW 은 데이터 저장소에 기존의 데이터를 저장소 내에서 이동시키며 새로운 데이터를 밀어 넣고, 데이터 저장 개수를 증가 시킨다. 3. POPS 는 데이터 저장소에 데이터를 읽어내고 데이터의 저장개수를 감소시킨다. 4. TOS 는 데이터 저장소에 데이터를 읽어오지만, 데이터의 저장개수를 감소시키지 않는다. (* ead Stack 의 기능을 수행)` 5. 데이터 저장소는 워드번지로 구성되며, Depth 의 크기보다 저장되는 데이터의 개수가 크게 되거나, 데이터 개수가 0 이하가 되면 오류가 발생한다. - 데이터의 저장 갯수 N = FIFOW(LIFOW) 실행횟수 POPS 실행횟수 - N 값이 0 이하로 되거나 Depth 값보다 크게 되는 연산결과가 되면 실행 오류가 발생한다. FIFO 사용 예 M000.0 M000.1 M000.2 FIFOW Stack=W100 Sr=8024 Depth= 5 FIFOW Stack=W100 Sr=3952 Depth= 5 POPS D = W200 Stack=W100 Depth= 5 M0.0 접점이 ON 되면 8024 값이 W100 부터 시작되는 FIFO 저장소에 입력되고, 데이터 저장개수를 1 만큼 증가시킨다. M0.1 접점이 ON 되면 3952 값이 W100 으로 시작되는 FIFO 저장소에 입력되고, 데이터 저장개수를 1 만큼 증가시킨다. M0.2 접점이 ON 되면 FIFO 저장소에서 최초에 저장된 값을 취출하여 W200 에 저장하고, 데이터 저장개수를 1 만큼 감소시킨다. 58

60 실행 전 M0.0 이 ON M0.1 이 ON M0.2 이 ON W W W101 xxxx W102 xxxx xxxx W103 xxxx xxxx xxxx xxxx W104 xxxx xxxx xxxx xxxx W105 YYYY YYYY YYYY YYYY LIFO 사용 예 M000.0 M000.1 M000.2 LIFOW Stack=W100 Sr=3952 Depth= 5 LIFOW Stack=W100 Sr=1723 Depth= 5 POPS D = W200 Stack=W100 Depth= 5 M0.0 접점이 ON 되면 3952 값이 W100 부터 시작하는 LIFO 저장소에 입력되고 데이터의 저장개수는 1 만큼 증가시킨다. M0.1 접점이 ON 되면 1723 값이 W100 부터 시작하는 LIFO 저장소에 입력되고 데이터의 저장개수는 1 만큼 증가시킨다. M0.2 접점이 ON 되면 W100 부터 시작하는 LIFO 저장소에 최종 입력된 데이터를 취출하여 W200 에 저장하고, 데이터 저장 갯수를 1 만큼 감소시킨다. 실행 전 M0.0 이 ON M0.1 이 ON M0.2 이 ON W W W101 xxxx W102 xxxx xxxx W103 xxxx xxxx xxxx xxxx W104 xxxx xxxx xxxx xxxx W105 YYYY YYYY YYYY YYYY 59

61 5.15 정수 비교 명령 니모닉명령 워드수 래더 표시 기능 설 명 적용기종 ST == AND == O == ST D== AND D== O D== ST <> AND <> O <> ST D<> AND D<> O D<> ST > AND > O > ST D> AND D> O D> ST >= AND >= O >= ST D>= AND D>= O D>= ST <= AND <= O <= ST D<= AND D<= O D<= ST < AND < O < ST D< AND D< O D< == A= B= D== A= B= <> A= B= D<> A= B= > A= B= D> A= B= >= A= B= D>= A= B= <= A= B= D<= A= B= < A= B= D< A= B= A = B A = B A B A B A > B A > B A B A B A B A B A < B A < B A 값과 B 값이 같을때 ON. A,B 는 워드번지 또는 워드값 A 값과 B 값이 같을때 ON. A,B 는 더블워드번지 또는 더블워드값 A 값과 B 값이 다를때 ON. <>은 과 동일 A,B 는 워드번지 또는 워드값 A 값과 B 값이 다를때 ON. <>은 과 동일 A,B 는 더블워드번지 또는 더블워드값 A 값이 B 값보다 클때 0N. A,B 는 워드번지 또는 워드값 A 값이 B 값보다 클때 0N. A,B 는 더블워드번지 또는 더블워드값 A 값이 B 값보다 크거나 같을때 ON. A,B 는 워드번지 또는 워드값 A 값이 B 값보다 크거나 같을때 ON. A,B 는 더블워드번지 또는 더블워드값 A 값이 B 값보다 작거나 같을때 ON. A,B 는 워드번지 또는 워드값 A 값이 B 값보다 작거나 같을때 ON. A,B 는 더블워드번지 또는 더블워드값 A 값이 B 값보다 작을때 ON. A,B 는 워드번지 또는 워드값 A 값이 B 값보다 작을때 ON. A,B 는 더블워드번지 또는 더블워드값 전기종 전기종 전기종 전기종 전기종 전기종 전기종 전기종 전기종 전기종 전기종 전기종 1. 비교명령의 A 또는 B 영역은,L,M,K,W,SV,PV,S,D 등의 워드(더블워드)번지 또는 데이터 값을 지정할 수 있습니다. 2. 데이터값 지정시 워드명령은 16 비트(65,535)이내, 더블워드는 32 비트(4,294,967,295) 까지 값을 지정할 수 있습니다. 3. 니모닉 명령은 접점의 형식처럼 각 비교명령마다 ST, AND, O 등이 함께 사용됩니다. 4. 입력이 ON 되고, A 와 B 의 값을 비교한 결과에 따라 출력됩니다. F UC U Ch= == A=PV30 B=7 <> A=PV30 B=10 <= A=15 B=PV30 F D>= A=M5 B=1000 >= A=20 B=PV30 D< A=M5 B= SV=5 M M M DINC D=M5 M UP 카운터를 이용하여 데이터가 증가하는 기능입니다. F1.4 접점은 1 초마다 반복되는 신호임. 카운터의 경과치(PV30)가 7 일 때 출력 M0.0 이 ON. 카운터 경과치가 10 이 아닐 때 출력 M0.1 이 ON 경과치 PV30 이 15 보다 크고, 20 보다 작을 때 출력 M0.2 가 ON 됨. F1.2 접점은 20mS 마다 ON/OFF 반복되는 접점이며, DINC 명령은 20mS 마다 1 씩 증가합니다. M0005 의 더블워드가 1000 이상 이하의 범위에서 출력 M0.3 이 ON 됩니다. 60

62 5.16 실수 비교 명령 명령어 워드수 명칭 래더 표시 기능 설 명 ST F== AND F== O F== ST F<> AND F<> O F<> ST F> AND F> O F> ST F>= AND F>= O F>= ST F<= AND F<= O F<= ST F< AND F< O F< 사용 예제 부동소수점 비교 (A=B) 부동소수점 비교(A B) 부동소수점 비교(A>B) 부동소수점 비교(A B) 부동소수점 비교(A B) 부동소수점 비교(A<B) F== A= B= F<> A= B= F> A= B= F>= A= B= F<= A= B= F< A= B= A = B A B A 값과 B 값이 같을 때 ON. A 값과 B 값이 다를 때 ON. <>은 과 동일 A > B A 값이 B 값보다 클 때 0N. A B A B A < B A 값이 B 값보다 크거나 같을 때 ON. A 값이 B 값보다 작거나 같을 때 ON. A 값이 B 값보다 작을 때 ON. 1. 비교명령의 A 또는 B 에는, L, M, K, W, D 영역의 더블워드번지 또는 부동소수점의 상수 값을 지정할 수 있다. 2. 상수값 지정 시 10 진수의 소수점으로 입력하면 내부에서 2 진 부동소수점 형식으로 변환되어 저장된다. 3. 오퍼랜드를 상수값으로 지정하면 3 워드씩 할당 받아 최대 6 워드가 된다. 4. 명령어는 접점의 형식처럼 각 비교명령마다 ST, AND, O 이 함께 사용됩니다. F01.04 FINC D= W30 FINC 명령어를 이용하여 W30 의 더블워드 값 데이터가 1.0 씩 증가한다 F>= A=W30 B=10.1 F== A=W30 B=32.1 F== A=W30 B=35.0 F<= A=W30 B=20.5 F<> A=W32 B=15 M00.00 M00.01 렁의 시작점의 비교명령(ST F>=)의 W30 값이 10.1 보다 같거나 크고, AND F<= 명령으로 W30 값이 20.5 와 같거나 작을 때 M00.00 출력이 ON 된다. F== 명령으로 W30 이 32.1 과 같거나 O F== 명령 으로 W30 값이 35.0 이고, F<>명령으로 W32 값이 15 와 같으면, 출력 M00.01 이 ON 된다. 61

63 5.17 데이터범위 비교 명령 정수 데이터 범위비교 명령어 워드수 명칭 래더 표시 기능 설 명 ST LIM AND LIM O LIM 4 데이터 범위 비교명령 Word Limit LIM S= Low= High= LOW S HIGH LOW S HIGH S 의 값이 LOW 과 HIGH 의 ange 안에 들어 있으면 ON 된다 ST DLIM AND DLIM O DLIM 4~6 더블 데이터 범위 비교 Double word Limit DLIM S= Low= High= LOW S HIGH LOW S HIGH S 의 값이 LOW 과 HIGH 의 ange 안에 들어 있으면 ON 된다 1. LIM 은 워드비교 명령어이고 DLIM 은 더블워드 비교 명령어이다. 2. S, LOW, HIGH 는, L, M, K, W, D, SV, PV, S,D 의 워드(더블워드)번지 지정할 수 있다. 3. LOW, HIGH 에는 상수 값을 지정할 수 있으며 워드명령은 16 비트(65,535)이내, 더블워드는 32 비트(4,294,967,295) 까지 지정할 수 있다. 4. DLIM 명령어의 Low 또는 High 값을 더블워드 값으로 지정하면 워드수가 1 워드씩 증가된다. F01.04 INC D= W30 INC(증가)명령어를 이용하여 데이터가 1 씩 증가하는 예제이다 LIM S= W30 Low=15 High=20 >= A=W30 B=15 <= A=W30 B=20 M00.00 M00.02 F1.4 접점은 1 초마다 ON/OFF 를 반복하는 신호로 W30 값을 1 초마다 1 씩 증가시킨다 LIM 명령어의 Low 값(15) 과 같거나 크고, High 값(20)보다 같거나 작을 때 출력 M0.0 이 ON 된다 비교명령어 2 개를 이용하여 동일하게 구현할 수도 있다. 값이 15 이상이고 20 이하일 때 출력 M0.2 가 ON 된다. 62

64 실수 데이터 범위비교 명령어 워드수 명칭 래더 표시 기능 설 명 ST FLIM AND FLIM O FLIM 5-7 부동소수점 데이터 범위 비교명령 FLIM S = Low= High= LOW S HIGH S 의 값이 LOW 과 HIGH 의 범위 안에 있으면 ON, (같은 값 일 때도 ON) 그렇지 않으면 OFF 가 된다. 1. 비교명령의 LOW 또는 HIGH 에는, L, M, K, W, D 영역의 더블워드번지 또는 부동소수점의 상수 값을 지정할 수 있다. 2. 상수값 지정 시 10 진수의 소수점으로 입력하면 내부에서 2 진 부동소수점 형식으로 변환되어 저장된다. 3. Low 또는 High 오퍼랜드를 상수값으로 지정하면 2 워드씩 할당받아 최대 7 워드가 된다. 4. 명령어는 접점의 형식처럼 각 비교명령마다 ST, AND, O 등이 함께 사용됩니다. F01.04 FLIM S= W30 Low=15.4 High=20.2 F>= A=W30 B=15.4 F<= A=W30 B=20.2 FINC D= W30 M00.00 M00.02 FINC(소수점증가)명령어를 이용하여 데이터가 1.0 씩 증가하는 예제이다. F1.4 접점은 1 초마다 ON/OFF 를 반복하는 신호로 W30 값을 1 초마다 1.0 씩 증가시킨다 FLIM 명령어의 Low 값(15.4) 과 같거나 크고, High 값(20.2)보다 같거나 작을 때 출력 M0.0 이 ON 된다 비교명령어 2 개를 이용하여 동일하게 구현할 수도 있다. 값이 15.4 이상이고 20.2 이하일 때 출력 M0.2 가 ON 된다. 63

65 5.18 산술연산 명령어 산술연산 뎃셈명령 니모닉명령 워드수 래더 표시 설 명 적용기종 ADD 4 DADD 5 ADC 4 DADC 5 ADD D = S1= S2= DADD D = S1= S2= ADC D = S1= S2= DADC D = S1= S2= 2 진수 덧셈 ( 10 진수 덧셈 ) - 1 워드 (Binary addition ) 전기종 2 진수 덧셈 ( 10 진수 덧셈 ) - 더블워드 전기종 D = S1 + S2 + Carry, (워드) 캐리 포함 2 진수 덧셈 (Decimal addition with carry) D = S1 + S2 + Carry, (더블워드) 캐리 포함 2 진수 덧셈 (Decimal addition with carry) 주 1) 주 1) 1. ADD, DADD 덧셈명령은 S1 과 S2 의 값을 더하여 D 에 저장하는 기능을 가지고 있으며, ADC,DADC 명령은 S1,S2,Carry 값을 모두 합한 연산입니다. 2. Binary 덧셈은 비트단위로 덧셈하고, BCD 덧셈은 BCD 숫자단위로 구성하는 4 개의 비트단위로 덧셈하며, HEX 로 표시되는 숫자의 덧셈 표현과 동일합니다(예제참조). 3. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드)번지만 지정할 수 있습니다. 4. ADD 명령은 16 비트(65,535) 이내, DADD 명령은 32 비트(4,294,967,295) 범위 내에서 값을 연산할 수 있습니다. 5. 연산한 값이 최대치를 넘으면 캐리비트를 ON 시킨 후 최대치를 지나 나머지 값이 저장됩니다. 즉, 워드연산에서 을 하면 캐리비트 F1.8 을 ON 시키고, 최대치 을 뺀 나머지 값인 4 를 저장하게 됩니다. 6. 덧셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M M LET D=W100 S =21 LET D=W102 S =22 ADD D =W110 S1=W100 S2=W102 DADD D =W120 S1=W100 S2=W102 F ADC D =W112 S1=W100 S2=W102 DADC D =W122 S1=W100 S2=W102 처음 CPU 가 운전될 때 F1.0 접점이 한 SCAN ON 되어 W100 에 10 진수 21(16 진수 $15)을 저장하고 W102 에 10 진수 22(16 진수 $16)을 저장합니다. M 접점에 의해 명령어 4 개가 동작하며, ADD 명령은 10 진수 덧셈으로 21+22=43 이 된다. DADD 는 더블워드 연산으로 W120 의 값도 43 이 됩니다. ADC, DADC (캐리포함 덧셈)명령은 캐리값에 따라 달라지며, D=21+22+C 로써, 캐리비트(F1.8) 값이 0 이면 43, 캐리가 1 이면 44 가 D 에 저장된다. 캐리값은 F1.8 번지에 저장된 값이며, 스캔중에도 변경될 수 있으므로 이 명령어 직전에 사용하도록 권장합니다. 64

66 산술연산 뺄셈 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 SUB 4 DSUB 5 SBC 4 DSBC 5 SUB D = S1= S2= DSUB D = S1= S2= SBC D = S1= S2= DSBC D = S1= S2= 2 진수 뺄셈 ( 10 진수 뺄셈 ) - 1 워드 (Binary subtraction ) 전기종 2 진수 뺄셈 ( 10 진수 뺄셈 ) - 더블워드 전기종 D = S1 - S2 - Carry, ( 워드) 캐리 포함 2 진수 뺄셈 (Binary subtraction With Carry) D = S1 - S2 - CY, ( 더블 워드) 캐리 포함 2 진수 뺄셈 (Binary subtraction With Carry) 주 1) 주 1) 1. 뺄셈명령은 S1 에서 S2 를 감산하여 D 에 저장하는 기능을 가지고 있으며, SBC,DSBC 명령은 S1 에서 S2,Carry 값을 모두 뺀(감산한) 연산입니다. 2. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. 3. SUB 명령은 16 비트(65,535) 이내, DSUB(더블워드)명령은 32 비트(4,294,967,295) 범위 내에서 값을 연산할 수 있습니다. 4. 연산한 값이 음수(마이너스)가 되면 캐리비트를 ON 시킨 후 음수(마이너스)값이 표현되지만 10 진수로 볼 경우 최대치에서 뺀 것처럼 표현됩니다. 즉, 워드연산에서 을 하면 -10 이 되지만 결과는 캐리비트 F1.8 을 ON 시키고, 최대치 에서 10 을 뺀 값이 저장 됩니다. 이것을 부호를 포함한 값으로 보면 -10 이 됩니다. 5. 뺄셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M M LET D=W100 S = 34 LET D=W102 S = 19 SUB D =W110 S1=W100 S2=W102 DSUB D =W120 S1=W100 S2=W102 F SBC D =W112 S1=W100 S2=W102 DSBC D =W122 S1=W100 S2=W102 첫 Scan 에서 F1.0 접점이 ON 되어 W100 에 10 진수 34(16 진수로 $22)을 저장하고, W102 에 10 진수 19(16 진수로 $13)을 저장합니다. SUB 명령은 10 진수 뺄셈으로 34-19=15 가 된다. DSUB 는 더블워드 뺄셈으로 연산결과는 15 이다. SBC, DSBC (캐리포함 뺄셈)명령은 캐리값에 따라 달라지며, D=34-19-C 로써, 캐리비트(F1.8) 값이 0 이면 15, 캐리가 1 이면 14 가 D 에 저장된다. 캐리값은 F1.8 번지에 저장된 값이며, 스캔중에도 변경될 수 있으므로 이 명령어 직전에 사용하도록 권장합니다 65

67 산술연산 곱셈명령 니모닉명령 워드수 래더 표시 설 명 적용기종 MUL 4 DMUL 5 MUL D = S1= S2= DMUL D = S1= S2= 2 진수 곱셈 ( 10 진수 곱셈 ) - 1 워드 (Binary multiplication ) 전기종 2 진수 곱셈 ( 10 진수 곱셈 ) - 더블워드 전기종 1. 곱셈명령은 S1 과 S2 를 곱셈하여 D 에 저장하는 기능을 가지고 있습니다. 2. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. 3. MUL 명령은 16 비트(65,535) 이내, DMUL 명령은 32 비트(4,294,967,295) 범위 내에서 값을 연산할 수 있습니다 4. 연산한 값이 최대치를 넘게 되면 상위워드의 값은 특수워드 S20 에 저장하고, 캐리비트를 ON 시킨 후 최대치만큼 뺀 나머지 하위 워드값을 D 에 저장합니다. 즉, 워드연산의 MUL 명령에서 20*3500 을 하면 값은 이 되지만 결과는 S20 에 1(65536)을 저장하고, 캐리 F1.8 을 ON 시키며,하위 워드값 4464 를 D 에 저장합니다. 5. 곱셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F LET D=W100 S = 3 LET D=W102 S = 7 M M MUL D =W110 S1=W100 S2=W102 DMUL D =W120 S1=5000 S2=7000 MUL D =W130 S1=22 S2=$10 첫 Scan 에서 F1.0 접점이 ON 되어 W100 에 10 진수 3(16 진수로도 $3)을 저장하고 W102 에 10 진수 7(16 진수로 $7)을 저장합니다. M 접점이 ON 되면, MUL 명령은 10 진수 연산으로 3 7=21 이므로 D 의 W110 워드에는 21 값이 저장된다. DMUL 은 더블워드 곱셈으로 = 의 값이 D 에 저장된다. 숫자를 직접 입력할 경우 10 진수 또는 16 진수로 입력해도 되며, 연산결과 D 에는 22 16($10)=352 의 값이 저장된다. 66

68 산술연산 나눗셈명령 니모닉명령 워드수 래더 표시 설 명 적용기종 DIV 4 DDIV 5 DIV D = S1= S2= DDIV D = S1= S2= 2 진수 나눗셈 ( 10 진수 나눗셈 ) - 1 워드 (Binary division ) 전기종 2 진수 나눗셈 ( 10 진수 나눗셈 ) - 더블워드 전기종 1. 나눗셈 명령은 분자 S1 에 분모 S2 를 나눈값(D = S1 S2) 을 D 에 저장하는 기능을 가지고 있습니다. 2. 연산한 결과의 나머지값(소수점 이하값)은 내부 특수워드에 더블워드(S22) 상태로 임시 저장합니다. 즉, 더블워드의 상위워드 S23 에 나머지값의 상위값이 저장되고, 하위워드 S22 에는 나머지의 하위값이 저장됩니다. 3. 나눗셈 명령 수행시 분모(S2)의 값이 0 일때는 연산결과가 무한대( )가 되므로 CPU 에서 에러로 처리하고, 에러비트(F1.9)(나눗셈 연산시 분모가 0 인 에러)를 ON 시키며, 에러 LED 를 깜박입니다. 대부분 이러한 에러를 방지하기 위해서 나눗셈 명령어 입력조건에 0 이 아닐 때 동작하도록 비교명령을 사용하여 오동작이 없도록 합니다(예제 참조). 4. Binary 나눗셈은 비트단위로 나눗셈하고, BCD 나눗셈은 BCD 단위로 나눗셈하며, HEX 로 표시되는 숫자의 나눗셈 표현과 동일합니다( 참조). 5. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. 6. DIV 명령은 16 비트(65,535) 이내, DDIV 명령은 32 비트(4,294,967,295) 범위 내에서 값을 연산할 수 있습니다. 7. 나눗셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F LET D=W200 S = 3 LET D=W122 S = 7 M <> A=W200 B=0 DIV D =W100 S1=5000 S2=W200 DDIV D =W112 S1=W122 S2=30 첫 Scan 에서 F1.0 접점이 ON 되어 W200 에 10 진수 3(16 진수로도 $3)을 저장하고 W122 에 10 진수 7(16 진수로 $7)을 저장합니다 W200 = W100 에 저장하는 명령으로 W200 이 0 이 아닐 때 작동하도록 비교명령을 AND 조건 으로 사용하였다. 즉, = 으로 몪은 1666 이고 나머지는 2 가된다. W100 에는 1666 이 저장되고, 나머지 값 2 는 S22 워드에 저장된다. DDIV 명령에서는 분모값이 항상 30 으로 오류가 생기지 않기 때문에 동작조건만으로 가능하고, 연산결과는 7 30 = 몪은 0, 나머지는 30 이므로 W112 워드에는 0, S22 에는 30 값이 저장된다. 67

69 응용예제 1 (나눗셈) F LET D=W100 S =24 LET D=W200 S = 4 M <> A=W200 B=0 DIV D =W300 S1=W100 S2=W200 첫 Scan 에서 W100 에 24, W200 에 4 의 Data 를 저장한다. M0.0 접점이 ON 되고 나눗셈의 분모인 W200 이 0이 아닐 때 W100 W200 = W300 에 저장하게 된다. 즉, 연산결과는 24 4 = 6 의 값이 저장된다. 응용예제 2 (더블워드 나눗셈) F DLET D=W100 S= DLET D=W200 S= M DDIV D =W300 S1=W100 S2=W200 첫 Scan 에서 W100 에 , W200 에 의 Data 를 저장한다. M0.0 접점을 ON 하면, 더블워드 나눗셈 연산기능을 수행하며, 연산결과는 = 몫이 1 이고, 나머지 ($1B209)값이 된다. 이 나머지 값은 더블워드로 S22 에 저장되며, 상위워드(S23)에 $0001 이 저장되고, 하위워드(S22)에 45577($B209)가 저장된다. 응용예제 3 F M DLET D=W100 S=$88000 DLET D=W200 S=3 DDIV D =W300 S1=W100 S2=W200 첫 Scan 에서 더블워드 W100 에 $88000(10 진수 )을 저장하고, W200 에 3 을 저장한다. M0.0 접점을 ON 하면 연산이 되고, 더블워드 DDIV 명령에 의해 W100 은 2 워드값이 되며, W100 은 $8000 이고, 연산은 32768($8000) 3 = 몫이 10922, 나머지가 2 값이 되며, W300 에는 가 저장되고, 나머지 값은 S22 에 2 가 저장됩니다. 68

70 실수 산술연산 명령어 명령어 워드수 명칭 래더 표시 설 명 FADD 7 부동소수점 덧셈 FSUB 7 부동소수점 뺄셈 FMUL 7 부동소수점 곱셈 FDIV 7 부동소수점 나눗셈 FADD D = S1= S2= FSUB D = S1= S2= FMUL D = S1= S2= FDIV D = S1= S2= D= S1+S2 (S1 과 S2 값을 합하여 D 에 저장함) D= S1-S2 (S1 에서 S2 값을 뺄셈하여 D 에 저장함) D= S1xS2 (S1 과 S2 값을 곱하여 D 에 저장함) D= S1/S2 (S1 나누기 S2 를 계산하여 D 에 저장함) 1. 오퍼랜드 S1, S2 영역은 부동소수점의 상수 또는, L, M, K, W, D 의 영역을 더블워드번지 형식으로 지정할 수 있으며, 저장영역인 D 번지는 더블워드번지 형식만 지정할 수 있다. 2. 오퍼랜드 S1, S2 영역을 상수로 사용하면 2 워드씩 할당받아 최대 7 워드가 지정된다. F M FLET D=W100 S=1.2 FLET D=W102 S=2.7 FADD D =W110 S1=W100 S2=W102 FSUB D =W112 S1=W100 S2=W102 FMUL D =W114 S1=W100 S2=W102 FDIV D =W116 S1=W100 S2=W102 FLET D =W118 S =W112 FABS D =W118 첫 Scan 에서 F1.0 접점이 ON 되어 W100 에 소수점 값 1.2 를 저장하고, W102 에 2.7 를 저장한다. M00.00 접점이 ON 되면 다음 명령어가 작동되어 처리된 값은 다음과 같다. W110= (1.2)+ (2.7), 연산결과 W110=3.9 이 된다. W112=(1.2)-(2.7), 연산결과 W112= -1.5 가 된다. W114=(1.2) x(2.7), 연산결과 W114= 3.24 가 된다. W116=(1.2)/(2.7), 연산결과 W116= 이 된다 절대치 값을 연산하기 위해서 연산 이전의 값은 W112 에 두고, 연산 결과값은 W118 에 저장하기 위해 FLET 명령어로 W112 값(-1.5)을 W118 에 대입하고 W118 값의 절대치를 구하면, 연산결과 W118= 1.5 이 된다 69

71 5.19 BCD 산술연산 명령 BCD 산술연산 덧셈명령 니모닉명령 워드수 래더 표시 설 명 적용기종 ADDB 4 DADDB 5 ADCB 4 DADCB 5 ADDB D = S1= S2= DADDB D = S1= S2= ADCB D = S1= S2= DADCB D = S1= S2= BCD 덧셈 - 1 워드 (BCD addition ) 전기종 BCD 덧셈 - 더블 워드 전기종 D = S1 + S2 + Carry, (워드) 캐리 포함 BCD 덧셈 (BCD addition with carry) D = S1 + S2 + Carry, (더블워드) 캐리 포함 BCD 덧셈 (BCD addition with carry) 주 1) 주 1) 1. BCD 덧셈은 BCD 숫자단위로 구성하는 4 개의 비트단위로 덧셈하며, HEX 로 표시되는 숫자의 덧셈 표현과 동일합니다(예제참조). 2. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드)번지만 지정할 수 있습니다. 3. BCD 연산명령(ADDB, DADDB 등)의 S1 과 S2 에 숫자(값)를 입력할 경우에는 BCD 단위로 입력하며, 숫자 앞에 $를 붙여 값을 입력합니다. (예, $100, $300 등) 4. BCD 워드는 0 ~ $9999(10 진수로는 39,321)까지 연산되며, 더블워드 BCD 값은 0~$ (10 진수로 2,576,980,377)까지 연산이 가능합니다. 5. 덧셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M M LET D=W100 S =21 LET D=W102 S =22 ADDB D =W112 S1=W100 S2=W102 DADDB D =W122 S1=W100 S2=W102 F ADCB D =W114 S1=W100 S2=W102 DADCB D =W124 S1=W100 S2=W102 처음 CPU 가 운전될 때 F1.0 접점이 한 SCAN ON 되어 W100 에 10 진수 21(16 진수 $15)을 저장하고 W102 에 10 진수 22(16 진수 $16)을 저장합니다. ADDB 는 BCD 덧셈으로 21+22=49 가 된다. 쉽게 설명하여 BCD 로 표현을 하면 $15 + $16 = $31 이 되고, $31=49(10 진수)이다 ADCB, DADCB (캐리포함 BCD 덧셈)명령은 캐리값에 따라 달라지며, D=21($15)+22($16)+C 로써, 캐리비트(F1.8) 값이 0 이면 $31, 캐리가 1 이면 $32 가 D 에 저장된다. 캐리값은 F1.8 번지에 저장된 값이며, 스캔중에도 변경될 수 있으므로 이 명령어 직전에 사용하도록 권장합니다. 70

72 BCD 산술연산 뺄셈명령 니모닉명령 워드수 래더 표시 설 명 적용기종 SUBB 4 DSUBB 5 SBCB 4 DSBCB 5 1. 뺄셈명령은 S1 에서 S2 를 감산하여 D 에 저장하는 기능을 가지고 있으며, Binary 뺄셈과 BCD 뺄셈의 명령이 있습니다. 2. BCD 뺄셈은 BCD 숫자단위로 구성하는 4 개의 비트단위로 뺄셈하며, HEX 로 표시되는 숫자의 뺄셈 표현과 동일합니다(예제참조) 3. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. 4. BCD 연산명령(SUBB, DSUBB 등)의 S1 과 S2 에 숫자(값)를 입력할 경우에는 BCD 단위로 입력하며, 숫자 앞에 $를 붙여 값을 입력합니다. (예, $10, $30 등) 5. BCD 워드명령은 0 ~ $9999(10 진수로는 39,321)까지 연산되며, 더블워드 BCD 값은 0~$ (10 진수로 2,576,980,377)까지 연산됩니다. 6. 연산한 값이 음수(마이너스)가 되면 캐리비트(F1.8)를 ON 시킨 후 음수(마이너스)값이 표현되지만 10 진수로 볼 경우 최대치에서 뺀 것처럼 표현됩니다. 즉, 워드연산에서 을 하면 -10 이 되지만 결과는 캐리비트 F1.8 을 ON 시키고, 최대치 에서 10 을 뺀 값이 저장 됩니다. 이것을 부호를 포함한 값으로 보면 -10 이 됩니다. 7. 뺄셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M SUBB D = S1= S2= DSUBB D = S1= S2= SBCB D = S1= S2= DSBCB D = S1= S2= LET D=W100 S = 34 LET D=W102 S = 19 SUBB D =W112 S1=W100 S2=W102 DSUBB D =W122 S1=W100 S2=W102 SUBB D =W130 S1=$23 S2=$ 11 BCD 뺄셈 - 1 워드 (BCD subtraction ) 전기종 BCD 뺄셈 - 더블 워드 전기종 D = S1 - S2 - Carry, (워드) 캐리 포함 BCD 뺄셈 (BCD subtraction With Carry ) D = S1 - S2 - Carry, (더블 워드) 캐리 포함 BCD 뺄셈 (BCD subtraction With Carry ) 처음 CPU 가 운전될 때 F1.0 접점이 한 SCAN ON 되어 W100 에 10 진수 34(16 진수로 $22)을 저장하고 W102 에 10 진수 19(16 진수로 $13)을 저장합니다. SUBB 는 BCD 뺄셈으로 34-19=9 가 된다. 쉽게 설명하여 BCD 로 표현을 하면 $22 - $13 = $9 가 되고, $9=9(10 진수)이다. 주 1) 주 1) DSUBB 는 더블워드 BCD 뺄셈으로 연산결과 $9 가 W122 에 저장된다. 명령어의 S1,S2 에는 숫자를 직접 입력해도 되며, 연산결과 W130 에는 $23-$11=$12 의 값이 저장된다. 71

73 BCD 산술연산 곱셈명령 니모닉명령 워드수 래더 표시 설 명 적용기종 MULB 4 DMULB 5 MULB D = S1= S2= DMULB D = S1= S2= BCD 곱셈 - 1 워드 (BCD multiplication ) 전기종 BCD 곱셈 - 더블워드 전기종 1. 곱셈명령은 S1 과 S2 를 곱셈하여 D 에 저장하는 기능을 가지고 있으며, Binary 곱셈과 BCD 곱셈의 명령이 있습니다. 2. BCD 곱셈은 BCD 단위로 곱셈하며, HEX 로 표시되는 숫자의 곱셈 표현과 동일합니다 3. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. 4. BCD 연산명령(MULB, DMULB 등)의 S1 과 S2 에 숫자(값)를 입력할 경우에는 BCD 단위로 입력하며, 숫자 앞에 $를 붙여 값을 입력합니다. (예, $100, $300 등) 5. BCD 워드는 0 ~ $9999(10 진수로는 39,321)까지 연산되며, 더블워드 BCD 값은 0~$ (10 진수로 2,576,980,377)까지 연산됩니다 6. 연산한 값이 최대치를 넘게 되면 상위워드의 값은 특수워드 S20 에 저장하고, 캐리비트를 ON 시킨 후 최대치만큼 뺀 나머지 하위 워드값을 D 에 저장합니다. 7. 곱셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F LET D=W100 S = 3 LET D=W102 S = 7 M MULB D =W112 S1=W100 S2=W102 DMULB D =W122 S1=$800 S2=$700 처음 CPU 가 운전될 때 F1.0 접점이 한 SCAN ON 되어 W100 에 10 진수 3(16 진수로도 $3)을 저장하고 W102 에 10 진수 7(16 진수로 $7)을 저장합니다. MULB 는 BCD 곱셈으로 $3 $7=$21 이 되므로, D 에는 BCD 로 $21 이 저장되며, 10 진수로는 33 값이 된다. DMULB 는 더블워드 BCD 곱셈 명령으로 $800 $700=$ 이 D 에 저장되고, 10 진수로는 이 된다. 72

74 BCD 산술연산 나눗셈 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 DIVB 4 DDIVB 5 DIVB D = S1= S2= DDIVB D = S1= S2= BCD 나눗셈 - 1 워드 ( BCD division ) 전기종 BCD 나눗셈 - 더블워드 전기종 1. 나눗셈 명령은 분자 S1 에 분모 S2 를 나눈값(D = S1 S2) 을 D 에 저장하는 기능을 가지고 있으며, Binary 나눗셈과 BCD 나눗셈의 명령이 있습니다. 2. 연산한 결과의 나머지값(소수점 이하값)은 내부 특수워드에 더블워드(S0022) 상태로 임시 저장합니다. 즉, 더블워드의 상위워드 S23 에 나머지값의 상위값이 저장되고, 하위워드 S22 에는 나머지의 하위값이 저장됩니다. 3. 나눗셈 명령 수행시 분모(S2)의 값이 0 일때는 연산결과가 무한대( )가 되므로 CPU 에서 에러로 처리하고, 에러비트(F1.9)(나눗셈 연산시 분모가 0 인 에러)를 ON 시키며, 에러 LED 를 깜박입니다. 대부분 이러한 에러를 방지하기 위해서 나눗셈 명령어 입력조건에 0 이 아닐 때 동작하도록 비교명령을 사용하여 오동작이 없도록 합니다(예제 참조). 4. BCD 나눗셈은 BCD 단위로 나눗셈하며, HEX 로 표시되는 숫자의 나눗셈 표현과 동일합니다 5. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. 6. BCD 연산명령(DIVB, DDIVB 등)의 S1 과 S2 에 숫자(값)를 입력할 경우에는 BCD 단위로 입력하며, 숫자 앞에 $를 붙여 값을 입력합니다. (예, $100, $300 등) 7. BCD 워드는 0 ~ $9999(10 진수로는 39,321)까지 연산되며, 더블워드 BCD 값은 0~$ (10 진수로 2,576,980,377)까지 연산이 가능합니다. 8. 나눗셈명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F LET D=W120 S = $11 LET D=W210 S = $3 M <> A=W210 B=0 DIVB D =W110 S1=W120 S2=W210 DDIVB D =W114 S1=W124 S2=$ 5 처음 CPU 가 운전될 때 F1.0 접점이 한 SCAN ON 되어 W120 에 16 진수 $11(10 진수로 17)을 저장하고 W210 에 16 진수 #3(10 진수로 3)을 저장합니다. BCD 나눗셈 명령으로 W210 이 0 이 아닐 때 작동하도록 비교명령을 AND 조건으로 사용하였다. 연산은 $11 $3 = 몪$3, 나머지$2 이므로 W110 에는 $3, S22 에 $2 값이 저장됩니다. DDIVB 명령에서 분모값이 항상$5 이므로 오류가 생기지 않기 때문에 동작조건만으로도 가능합니다. 73

75 응용예제 1 (나눗셈) F LET D=W100 S =24 LET D=W200 S = 4 M <> A=W200 B=0 DIVB D =W302 S1=W100 S2=W200 첫 Scan 에서 W100 에 24, W200 에 4 의 Data 를 저장한다. M0.0 접점이 ON 되고 나눗셈의 분모인 W200 이 0 이 아닐 때 W100 의 BCD 값이 $18(24) 이므로 $18 $4 = 몫이 4, 나머지가 2 이므로 W302 에는 $4 가 저장되고, 나머지 2 는 S022 에 저장된다. 응용예제 2 F M DLET D=W100 S=$88000 DLET D=W200 S=3 DDIVB D =W300 S1=W100 S2=W200 첫 Scan 에서 더블워드 W100 에 $88000(10 진수 )을 저장하고, W200 에 3 을 저장한다. BCD 더블워드 나눗셈의 DDIVB 의 연산은 $88000 $3 = 몫은 29333, 나머지는 $1 이 됩니다 결과치는 W300 에 $29333 이 저장되며, 더블워드 S22= $1 이 저장됩니다. 74

76 5.20 논리 연산 명령어 니모닉명령 워드수 래더 표시 설 명 적용기종 WAND 4 WAND D = S1= S2= 논리곱 (Word AND : 워드 연산) S1 과 S2 의 논리곱을 D 에 저장함. S S D 전기종 DAND 5 DAND D = S1= S2= 논리곱 (D-Word AND : 더블 워드) S1 과 S2 의 논리곱을 D 에 저장함. S S D 전기종 1. WAND(DAND)의 논리곱 연산은 S1 과 S2 의 각 비트번지를 논리적으로 곱셈(S1 의 각 비트와 S2 의 비트가 모두 1 일 때 결과값이 1 이 됨)하여 D 의 해당 비트번지에 저장합니다. 2. WO(DO)명령의 논리합 연산은 S1, S2 의 비트를 논리합(S1,S1 중 1 개라도 1 이면 결과가 1) 연산하여 D 에 저장합니다. 3. WXO(DXO)명령의 배타적논리합 연산은 S1,S2 의 비트중 1 개만 1 일때 결과가 1 로 연산하여 D 에 저장합니다. 4. WXN(DXN)명령의 배타적 논리합의 반전(동등회로) 연산은 S1, S2 의 비트가 같을때 결과를 1 로 연산하여 D 에 저장합니다. 5. S1, S2 영역은 숫자 또는 워드(더블워드)번지 (,L,M,K,W,SV,PV,S,D 등)를 지정할 수 있으며, 저장영역인 D 번지는 워드(더블워드) 번지만 지정할 수 있습니다. WO 4 DO 5 WXO 4 DXO 5 WXN 4 DXN 5 M M WO D = S1= S2= DO D = S1= S2= WXO D = S1= S2= DXO D = S1= S2= WXN D = S1= S2= DXN D = S1= S2= LET D=W100 S=$3333 LET D=W200 S=$5555 WAND D =W300 S1=W100 S2=W200 WO D =W301 S1=W100 S2=W200 WXO D =W302 S1=W100 S2=W200 WXN D =W304 S1=W100 S2=W200 논리합 (Word O : 워드 연산) S1 과 S2 의 논리합을 D 에 저장함. 논리합 (D-Word O : 더블 워드) S1 과 S2 의 논리합을 D 에 저장함. 배타적 논리합 (Word Exclusive O) S1 과 S2 의 배타적 논리합을 D 에 저장함. 배타적 논리합 (Exclusive O : 더블 워드) S1 과 S2 의 배타적 논리합을 D 에 저장함. 동등회로 (Word Exclusive O NOT) S1, S2 의 동등논리를 D 에 저장함. (배타적 논리합의 반전 값) 동등회로 (Exclusive O Not : 더블워드) S1, S2 의 동등논리를 D 에 저장함. (배타적 논리합의 반전 값) S S D S S D S S D S S D S S D S S D 전기종 전기종 전기종 전기종 전기종 전기종 워드영역에 데이터를 저장하기 위해 M 접점을 ON 하면, W100 에 $3333( )을 저장하고, W200 에는 $5555( )이 저장됩니다. M 접점이 ON 되면 논리연산 명령이 한번 작동하며, 각 명령의 결과가 D 에 저장됩니다. 즉, WAND 명령의 W300 은 $1111( )이고 WO 명령의 W301 에는 $7777( ), WXO 명령의 W302 에는 $6666( ), WXN 명령의 W304 에는 $9999( )가 저장 됩니다. 75

77 5.21 회전 명령어 좌우 회전명령 니모닉명령 워드수 래더 표시 설 명 적용기종 1. LC(DLC)는 지정된 D 번지의 각 비트를 N 비트씩 좌측으로(하위비트에서 상위로) 이동하며, 상위비트값(MSB)이 캐리(F1.8)비트에 저장됩니다. 2. C(DC)는 지정된 D 번지의 각 비트를 N 비트씩 우측으로(상위비트에서 하위로) 이동하며, 하위비트값(LSB)이 캐리(F1.8)비트에 저장됩니다. 3. D 영역은 워드(더블워드)번지 (,L,M,K,W,S,D 등)를 지정할 수 있으며, N 은 0~15(워드명령) 또는 0~31(더블워드 명령)까지 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. LC 3 DLC 4 C 3 DC 4 M M M LC D= N= DLC D= N= C D= N= C D= N= DLET D=M10 S=$0F0F0F0F DLET D=M12 S=$0F0F0F0F DLET D=M14 S=$FF00FF00 F LC D=M10 N=1 DLC D=M12 N=1 좌로 회전(otate left ) (워드범위, 캐리와 무관) F D 워드 전기종 좌로 회전(otate left ) (더블워드, 캐리와 무관) F D 워드(더블) 우로 회전(otate ight ) (워드범위, 캐리와 무관) 전기종 D 워드 F1.8 전기종 우로 회전(otate ight ) (더블워드, 캐리와 무관) D 워드(더블)... F1.8 전기종 워드영역에 데이터를 저장하기 위해 M 접점을 ON 하면, M10 에 $0F0F0F0F 을 저장합니다. 이것은 M10 워드에 $0F0F 를 저장하고 M11 워드에 $0F0F 를 동시에 저장한다. 또 M12 와 M13 워드에 $0F0F 를 저장하고, M14 와 M15 에는 $FF00 를 저장하게 만든다. F1.8 의 캐리비트 출력은 접점에 반영여부를 판단한다. 초기상태 M10= 15(MSB) (LSB) M0.1 접점이 1 회작동후 M10= F1.8 M12 초기상태 DLC 동작후 M F F C D=M11 N=1 DC D=M14 N=1 F1.4 접점에 의해 1 초 간격으로 이동됩니다. M11 초기상태 F1.8 C 명령 1 회동작후 M14 초기상태 DC 동작후 F

78 캐리포함 좌우회전 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 OL 3 DOL 4 O 3 DO 4 OL D= N= DOL D= N= O D= N= DO D= N= 좌로 회전(otate left ) (워드범위, 캐리 포함) F D 워드 전기종 좌로 회전(otate left ) (더블워드, 캐리 포함) F D 워드(더블) 우로 회전(otate ight ) (워드범위, 캐리 포함) 전기종 D 워드 F1.8 전기종 우로 회전(otate ight ) (더블워드, 캐리 포함) D 워드(더블)... F1.8 전기종 1. OL(DOL)는 지정된 D 번지의 각 비트를 N 비트씩 좌측으로(하위비트에서 상위로) 이동하며, 상위비트값(MSB)은 캐리(F1.8)비트로 이동되며, 캐리비트값이 하위(LSB)에 저장됩니다. 2. O(DO)는 지정된 D 번지의 각 비트를 N 비트씩 우측으로(상위비트에서 하위로) 이동하며, 하위비트값(LSB)은 캐리(F1.8)비트로 이동되며, 캐리비트값이 상위(MSB)에 저장됩니다. 3. D 영역은 워드(더블워드)번지 (,L,M,K,W,S,D 등)를 지정할 수 있으며, N 은 0~15(워드명령) 또는 0~31(더블워드 명령)까지 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M F DLET D=M10 S=$0F0F0F0F DLET D=M12 S=$0F0F0F0F DLET D=M14 S=$FF00FF00 M F / M OL D=M10 N=1 DOL D=M12 N=1 M F / O D=M11 N=1 DO D=M14 N=1 M0.0 접점을 ON 하면, M10, M11 에 $0F0F 를 저장합니다. 또 M12 와 M13 워드에도 $0F0F 를 저장하고, M14 와 M15 에는 $FF00 를 저장하게 만든다. F1.8 의 캐리 출력은 접점에 반영여부를 판단하기 위함이며, 접점이 ON 상태에서 변경되는 값을 확인하자. 초기상태 M10= 15(MSB) (LSB)0 F M0.1 접점이 1회작동후M10= F1.8 M12 초기상태 F1.8 1 DOL 동작후 F F1.4 접점에 의해 1 초 간격으로 이동됩니다. M11 초기상태 F1.8 O 명령 1 회동작후 F1.8 M14 초기상태 DO 동작후 F F1.8 77

79 5.22 시프트 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 SHL 3 DSHL 4 SH 3 DSH 4 SHL D= N= DSHL D= N= SH D= N= DSH D= N= 좌로 이동(Shift left ) (워드범위, 0 입력) F D 워드 전기종 좌로 이동 ( Shift left ) (더블워드, 0 입력 ) F D 워드(더블) 전기종 우로 이동 ( Shift ight ) (워드범위, 0 입력 ) D 워드 F1.8 전기종 우로 이동 ( Shift ight ) (더블워드, 0 입력 ) D 워드(더블)... F1.8 전기종 1. SHL(DSHL)는 지정된 D 번지의 각 비트를 N 비트씩 좌측으로(하위비트에서 상위로) 이동하며, 상위비트값(MSB)은 캐리(F1.8)비트로 이동되며, 0 값이 하위(LSB)에 저장됩니다. 2. SH(DSH)는 지정된 D 번지의 각 비트를 N 비트씩 우측으로(상위비트에서 하위로) 이동하며, 하위비트값(LSB)은 캐리(F1.8)비트로 이동되며, 0 값이 상위(MSB)에 저장됩니다. 3. D 영역은 워드(더블워드)번지 (,L,M,K,W,S,D 등)를 지정할 수 있으며, N 은 0~15(워드명령) 또는 0~31(더블워드 명령)까지 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M M M M F DLET D=M10 S=$F00FF00F DLET D=M12 S=$F00FF00F DLET D=M14 S=$F00FF00F F SHL D=M10 N=1 DSHL D=M12 N=1 F SH D=M11 N=1 DSH D=M14 N=1 M0.0 접점을 ON 하면, M10, M11 에 $F00F 를 저장합니다. 또 M12,M13,M14,M15 워드에도 $F00F 를 저장합니다. F1.8 의 (C)캐리 출력은 접점에 반영여부를 판단하기 위함이며, 접점이 OFF 상태에서 변경되는 값을 확인하자. 초기상태 M10= 15(MSB) (LSB)0 F M0.1 접점이 1 회작동후 M10= F1.8 M12 초기상태 C DSHL 동작후 F1.8 F1.4 접점에 의해 1 초 간격으로 이동됩니다. M11 초기상태 SH명령 1회동작후 F1.8 1 F1.8 M14 초기상태 DSH 동작후 C F1.8 78

80 5.23 BCD 숫자변환 명령 BCD 숫자변환 니모닉명령 워드수 래더 표시 설 명 적용기종 BCD 3 BCD D= S= S 의 2 진수값을 BCD 로 변환하여 D 에 저장(워드) 예) S= (10 진수) D= $0063(BCD) 전기종 DBCD 3 DBCD D= S= S 의 2 진수값을 BCD 로 변환하여 D 에 저장(더블워드) 전기종 BIN 3 BIN D= S= S 의 BCD 값을 2 진수로 변환하여 D 에 저장(워드) 예) S= $0039 (BCD) D= 00039(10 진수, Bianry) 전기종 DBIN 3 DBIN D= S= S 의 BCD 값을 2 진수로 변환하여 D 에 저장(더블워드) 전기종 1. BCD(DBCD)는 S 번지의 Binary 값을 BCD 로 변환하여 D 영역에 저장하며, S 의 값은 BCD 단위의 최대치 범위내에 있어야 한다. 2. BIN(DBIN)명령은 S 번지의 BCD 값을 binary 로 변환하여 D 영역에 저장하며, S 의 값은 BCD 의 최대치 범위내에 있으면 된다. 3. 최대치는 워드명령(BCD, BIN)에서 0 ~ 9999(10 진수) 까지(16 진수로 $270F)이며, 더블워드(DBCD,DBIN)에서는 0 ~ 까지 (16 진수로 $05F5E0FF) 범위 내에 존재해야 합니다. 4. D 영역은 워드(더블워드)번지 (,L,M,K,W,S,D 등)를 지정할 수 있으며, S 는 숫자 또는 워드/더블워드 번지를 지정할 수 있습니다. 5. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M M BCD D=W10 S=1234 DBCD D=W12 S=W10 BIN D=W20 S=W10 BIN D=W22 S=$27 M0.0 접점을 ON 하면, 10 진수의 1234 값이 BCD 로 변환되어 W10 에 저장됩니다. 10 진수 BCD 변환값 W10 ($1234) (=4660) BCD 변환값 W12 ($4660) (=18016) BIN 변환값 W20 (1234) BIN 변환값 W22 (00027) BCD $ (=39) (=$001B) 주) BCD 란? BCD 는 Binary Coded Decimal 의 약자로 2 진 부호화 10 진수 라고 부르며, 4 개의 비트를 이용하여 10 진수를 표현한 코드방식을 말한다. 즉, 10 진법에서 각 자리수의 10 진 숫자를 2 진 숫자로 나타내는 방식이다. 예로 10 진수 23( )을 BCD 로 변환하면 이며, 16 진수 표현은 $23 이 된다. 10 진수 57 은 BCD 로 로 표현되고, 16 진수로 $57 이며, 10 진수로는 87 이된다. WinGPC 를 이용하여 프로그램 편집상태에서 도구(T)/숫자변환(N) 메뉴를 열면 숫자를 10 진수/16 진수/2 진수로 변환하여 확인할 수 있습니다. 79

81 Encoder 변환 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 ENCO 3 DECO 3 ENCO D= S= DECO D= S= S 워드의 상위비트값을 8421 Encode 변환후 D 에 저장 S 워드의 값을 8421 Decode 변환 후 D 에 저장 전기종 전기종 1. ENCO 명령은 S 번지에서 1 이 있는 최상위비트의 비트번지 값을 엔코드(2 n 의 n 값)변환하여 변환된값을 D 영역의 하위 8 비트에 저장하며, D 의 상위 바이트의 값은 유지되고, 1 이 2 개 이상 존재하면 최상위에 있는 비트값만 처리됩니다. (단, SPC 시리즈는 엔코드 변환을 2 n 의 n+1 값으로 변환하여 D 에 저장합니다) 비트번지 : S 번지 기존 값 유지 1 이 있는 최상위 비트번지 = 의 값을 D 의 하위 4 비트에 저장함. 결과저장 D 번지 DECO 명령은 S 번지의 하위 4 비트 값을 디코드(2 n 값)로 변환하여 D 영역에 저장합니다. 3. D 영역은 워드번지 (,L,M,K,W,S,D 등)를 지정할 수 있으며, S 영역은 워드번지 또는 숫자를 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M LET D=W20 S=$1234 ENCO D=W20 S=$0550 ENCO D=W21 S=W20 DECO D=W30 S=W21 DECO D=W31 S=6 초기조건으로 W20 워드에 $1234 값을 대입시킨다. M0.0 접점을 ON 하면, 16 진수의 $0550 값을 Encode 로 변환하여 W10 에 저장합니다. 초기값 W20 ($1234) 진수$ 이 있는 최상위 비트번지=10, 즉, 2 10 의 10 을 W20 워드의 하위 바이트에 저장합니다. ENCO 변환값 W20 ($120A) 상위 비트=12 에서 2 12 의 12 를 저장 ENCO 변환값 W21 ($000C) Decode 변환은 S 의 값을 2 n 처리함 DECO 변환값 W30 ($1000) 의 DECO 변환값 W31 ($0040)

82 Segment 숫자변환 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 SEG 3 SEG D= S= 1. SEG 명령은 S 번지에서 하위 4 비트의 값을 7-세그먼트로 변환하여 D 워드의 하위 8 비트에 저장하는 기능입니다. 비트번지 : S 번지 S 의 하위 4 비트 값을 7-Segment 로 변환하여 D 의 하위 바이트에 저장 =5 S D g f e d c b a 하위 4 비트 값 = 5 5 를 표시하기 위한 7-Segment 값을 저장함. 기존 값 유지 결과저장 e f d a g c b 전기종 D번지 SEG 명령 D 번지의 상위 바이트 값은 변경되지 않고 기존 값을 유지합니다. 3. D 영역은 워드번지 (,L,M,K,W 등)를 지정할 수 있으며, S 영역은 워드번지 또는 숫자를 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M LET D=W20 S=$2345 LET D=W21 S=$2345 SEG D=W21 S=W20 초기조건으로 W20 과 W21 워드에 $2345 값을 대입시킨다. M0.0 접점을 ON 하면, S 번지의 하위 4 비트의 Data 5 를 7-Segment 로 변환하여 D 의 하위 8 비트(1 바이트)에 저장합니다. 초기값 S = W20 ($2345) 연산결과 D= W21($236D) M SEG D=W30 S=3 M0.1 접점을 ON 하면 S 데이터의 3 을 변환하여 D 영역에 저장합니다. 연산결과 D=W30 ($004F) 주) 7-Segment 표시 비트 예 비트번지 : g f e d c b a g f e d c b a 0 = = = = = A = = b = = C = = d = = E = = F = a f g e d c b 81

83 5.24 데이터 변환 명령 워드교환 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 XCHG 3 DXCHG 3 주 1) 적용기종 XCHG D1= D2= DXCHG D1= D2= D1 과 D2 의 값을 서로 교환 (워드) 주 1) D1 과 D2 의 값을 서로 교환 (더블워드) 주 1) SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,9216A CPU70p1/V2,CPU70p2/V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 1. XCHG(DXCHG)명령은 D1 번지와 D2 번지의 값을 서로 교환하는 기능입니다. D D D D D1, D2 영역은 모두 워드번지(,L,M,K,W 등)만 지정할 수 있습니다. 3. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M LET D=W20 S=$2345 LET D=W21 S=$8765 DLET D=W30 S=$98765 XCHG D=W21 S=W20 DXCHG D=W20 S=W30 초기조건으로 W20 워드에 $2345 값을 대입하고, W21 워드에 $8765 값을 대입시킨다. M0.0 접점을 ON 하면, D1 번지와 D2 번지의 Data 를 서로 교환합니다. W20 = ($2345) W21 = ($8765) 초기값 연산결과 W20 = ($8765) W21 = ($2345) M0.1 접점을 ON 하면 더블워드의 D1 과 D2 값을 교환합니다. 초기값 D1=W20 ($ ) D2=W30 ($98765) 연산결과 D1=W20 ($98765) D2=W30 ($ ) 82

84 니블(4bit) 변환 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 DIS 4 UNI 4 DIS D= N= S= UNI D= S= N= S 를 4 비트씩 N+1 개로 분리하여 D 부터 D+N 워드의 하위 4 비트에 저장 S=$7325 일때 N=3 일 때 D =5 D =2 D =3 D =7 S 부터 S+N 워드의 하위 4 비트를 D 에 하위비트부터 저장(N= 0~3) N=3 일 때 S =5 S =2 S =3 S =7 전기종 전기종 D=$ DIS 명령은 4 비트(1 자리수) 단위로 데이터를 분리하는 기능입니다. 2. UNI 명령은 분리된 4 비트씩을 1 개 워드로 결합하는 기능입니다. 3. D, S 영역은 워드번지(,L,M,K,W 등)를 지정할 수 있고, N 은 개수(숫자)로 0~3 까지 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M DLET D=W20 S=$ DLET D=W22 S=$ DIS D = W30 N=1 S=W20 DIS D = W22 N=3 S=W21 UNI D = W32 S=W21 N=3 초기조건으로 W20 워드에 $ 값을 대입하고, W22 워드에 $ 값을 대입시킨다. M0.0 접점을 ON 하면, S 의 W20 번 워드값의 하위 2 자리 수를 분리하여 D 워드(W30), D+1 워드(W31)에 저장합니다. W20 = ($5678) W21 = ($1234) 초기값 DIS 연산결과 1 DIS 연산결과 2 W30 = ($0008) W22 = ($4324) W24 = ($0002) W31 = ($0007) W23 = ($8763) W25 = ($0001) M0.1 접점을 ON 하면 W21~W24 의 하위 4 비트씩 값을 결합하여 W32 워드에 저장합니다. W24 W23 W22 W21 연산결과 W32 = ($2344)

85 바이트 교환 명령어 명령어 워드수 명칭 래더 표시 설 명 SWAP 3 바이트 교환 SWAP D= S= S 값의 상위 바이트와 하위 바이트 값을 바꾸어서 D 에 저장 1. 워드내의 상위바이트와 하위바이트를 교환하는 명령어이다. 워드간 또는 더블워드간의 데이터를 교환하는 명령어에는 XCHG, DXCHG 명령어가 있다. M LET D=W100 S=$80F2 M SWAP D=W200 S=W100 M0.0 의 접점이 ON 되면 $80F2 값이 W100 에 저장된다. M0.1 의 접점이 ON 되면 W100 에 저장된 $80F2 값이 상 하위바이트를 상호 바꾸어서 W100 에 저장된다 MSB LSB 상수 값 $80F2 W100 에 처리된 데이터값 처리후 W100 의 값은 $F280 가 된다 84

86 워드 확장명령 명령어 워드수 명칭 래더 표시 설 명 EXT 3 워드 확장 EXT D = S= V= 워드를 더블워드로 확장하는 명령어 입니다 V 가 0 이면 상위워드에 0 을 V 가 1 이면 지정워드의 MSB(D15) 값을 상위워드에 대입합니다 M0.0 EXT D=W0 V=0 M0.0 이 On 인 동안 W0 를 더블워드로 확장한다 V=0 인 경우 상위워드를 모두 0 으로 확장하고 V=1 인 경우 상위워드를 D 값의 MSB 로 확장합니다 W0 = 0x1234, V=0 인 경우 실행되면, W1=0, W0=0x1234 가 됩니다 W0 = 0x8234, V=0 인 경우 실행되면, W1=0, W0=0x8234 가 됩니다 W0 = 0x1234, V=1 인 경우 실행되면, W1=0, W0=0x1234 가 됩니다 W0 = 0x8234, V=1 인 경우 실행되면, W1=0xFFFF, W0=0x8234 가 됩니다 85

87 비트변환 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 BSET 3 BST 3 BNOT 3 BSET D= N= BST D= N= BNOT D= N= D 워드의 N 번째 비트 값을 1 로 SET 시킴 D N=5 일때 (N=0~15) D 워드의 N 번째 비트 값을 0 으로 저장(리셋시킴) D N=3 일때 0 D 워드의 N 번째 비트 값을 반전시킴. (0 1, 1 0) D N=4 일 때 D 전기종 전기종 BTST 3 BTST D= N= D 워드의 N 번째 비트 값을 F1.8(캐리비트)에 저장 D N=6 일 때 F 비트변환 명령은 워드번지에서 각각의 비트값을 제어하기 위한 기능입니다. 2. N 으로 지정된 비트 이외의 것은 기존의 값을 유지 합니다. 3. D 영역은 워드번지 (,L,M,K,W, S,D 등)를 지정할 수 있으며, N 영역은 숫자 0~15 까지를 지정할 수 있습니다. 4. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M M M M F LET D=W20 S=$2345 BSET D=W20 N=3 BST D=W20 S=6 BNOT D=W20 S=9 BTST D=W20 S=13 M 초기조건으로 W20 워드에 $2345 값을 대입시킨다. 초기값D = W20 ($2345) M0.0 접점을 ON 하면, W20 워드의 3 번 비트를 1 로 Set 함. 연산결과 D=W20 ($234D) 번 비트 Set M0.1 접점을 ON 하면 W20 워드의 6 번비트를 eset 합니다. 연산결과 D=W20 ($230D) 번 비트 eset M0.2 접점을 ON 하면 W20 워드의 9 번비트를 반전합니다. 연산결과 D=W20 ($210D) 번 비트 반전 M0.3 접점을 ON 하면 W20 워드의 13 번비트의 값을 F1.8 에 저장합니다. 동시에 M1.0 출력도 ON 됩니다. 연산결과 D=W20 ($210D) 번비트 저장(F1.8) 86

88 비트카운터 명령 니모닉 워드수 래더 표시 설 명 적용기종 SUM 3 SUM D= S= S 워드에서 1 인 비트의 개수를 D 에 저장 S 의개수=7 D D=7 전기종 1. SUM 명령은 S 워드에서 ON(=1)으로 Set 된 비트의 개수를 D 에 저장하는 기능입니다. 2. D 와 S 는 모두 워드번지 (,L,M,K,W,S,D 등)를 지정할 수 있습니다. 3. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 1. 주로 접점의 상태를 점검하거나 데이터의 변화를 감시하기 위한 용도로 많이 사용합니다. F LET 초기조건으로 W20 워드에 $0365 값을 대입시킨다. D=W20 S=$0365 초기값S = W20 ($0365) F SUM D=W21 S=W20 항상 ON 되어 있는 F0.15 접점으로 S 워드의 값이 변경되면 즉시 D 영역에 Data 를 저장합니다. 연산결과D=W21 ($0006)

89 캐리비트 처리 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 SC 캐리 비트(F1.8)를 1 로 SET 함 SC 1 전기종 1 F1.8 C 1 C 캐리 비트(F1.8)를 0 으로 ESET 함 0 F1.8 전기종 CC 1 CC 캐리 비트(F1.8)값을 반전 시킴. F1.8 F1.8 전기종 캐리비트(F1.8)는 내부 특수 프래그로서 프로그램 연산중에 값의 범위를 넘거나 부호의 표시, 회전이나 이동시에 Set 또는 eset 으로 변경되기도 하므로 현재의 캐리값을 제어하기 위해 사용합니다. 2. 캐리비트(F1.8)를 제어하기 위한 명령으로 SC, C, CC 등이 있습니다. 3. 캐리비트의 조작은 계산의 조건과 결과를 바꿀 수도 있으므로 사용시 주의 해야 합니다. 4. 캐리명령의 오퍼랜드 변수는 없으며, 항상 캐리비트(F1.8)접점을 제어하게 됩니다. 5. 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. M / M F F F SC C SC M M M0.0 접점의 조건에 따라 캐리비트(F1.8)를 Set 또는 eset 으로 지정한다. 즉, M0.0 이 OFF 상태에서는 F1.8 을 Set 으로 지정하고, M0.0 이 ON 상태에서는 F1.8 이 eset 으로 된다. F1.8 의 상태에 따라 출력 M1.0 출력이 ON/OFF 된다. 항상 ON 되는 F0.15 접점으로 CC 명령이 작동되고, 캐리가 반전됩니다. F1.8 접점에 의해 M1.1 출력은 항상 M1.0 과 반대로 된다. 88

90 5.25 데이터 처리 명령어 최대/최소값 찾기 명령어 워드수 명칭 래더 표시 설 명 MAX DMAX FMAX MIN DMIN FMIN 블록내 최대값 찾기 블록내 최소값 찾기 MAX D = S = Ns= MIN D = S = Ns= S 부터 Ns 개의 워드/더블워드/실수 데이터 값 중에 최대값을 찾아 D 에 기록 S 부터 Ns 개의 워드/더블워드/실수 데이터 값 중에 최소값을 찾아 D 에 기록 1. MAX 는 S 부터 Ns 개의 워드/더블워드/실수 데이터 값 중에 최대값을 찾아 D 에 기록하고, Min 명령은 데이터 값 중에 최소값을 찾아 D 에 기록합니다. 2. 출력번지와 사이즈의 합이 최대 메모리 사이즈를 초과하면 untime 오류가 발생하고 CPU 가 정지합니다 3. Signed 연산 실행 Flag(F13.03) 이 On 이면 음의 부호를 기준으로 동작합니다. F001.0 MLET D=W100 N=4 S1=3478 S2=2581 S3=247 S4=192 MAX D=W200 S=W100 Ns=4 MIN D=W202 S=W100 Ns=4 W100 부터 W103 까지 4 개워드에 Data 를 입력시킨다. W100 부터 4 개 워드중에 최대값을 D 워드에 저장한다 최대값은 3478 값이다. W100 부터 4 개 워드중에 최소값을 D 워드에 저장한다 최소값은 192 값이다. S 번지에 저장된 값 번지 저장된 값 S (W100) 3478 S+1 (W101) 2581 S+2 (W102) 247 S+3 (W103) 192 MAX 명령어의 처리결과 번지 결과 값 D (W200) 3478 MIN 명령어의 처리결과 번지 결과 값 D (W202)

91 평균값 처리 명령 명령어 워드수 명칭 래더 표시 설 명 AVG DAVG FAVG 1. AVG 값은 정수연산이므로 소수점 이하는 절삭되어 저장된다. 2. 출력번지와 사이즈의 합이 최대 메모리 사이즈를 초과하면 untime 오류가 발생하고 CPU 가 정지합니다 3. Signed 연산 실행 Flag(F13.03) 이 On 이면 음의 부호를 기준으로 동작합니다 블록 평균값 AVG D = S = Ns= S 부터 Ns 개의 워드/더블워드/실수 데이터 값의 평균값을 찾아 D 에 기록 F001.0 MLET D=W100 N=4 S1=3478 S2=2581 S3=247 S4=192 AVG D=W200 S=W100 Ns=4 W100 부터 W103 까지 4 개워드에 Data 를 입력시킨다. W100 부터 4 개 워드의 평균값을 D 워드에 저장한다 평균값은 ( )/4= 이고, 소수점 이하는 절삭하여 D 값은 1624 가 된다. S 번지에 저장된 값 번지 저장된 값 S (W100) 3478 S+1 (W101) 2581 S+2 (W102) 247 S+3 (W103) 192 AVG 명령어의 처리결과 번지 결과 값 D (W200)

92 데이터 합산 명령 명령어 워드수 명칭 래더 표시 설 명 WSUM DSUM FSUM 1. SUM 값이 워드, 또는 더블워드의 값을 넘는 경우, Overflow flag 를 Set 하고 값을 넘는 초과치의 상위 값은 S20~S21 영역에 저장된다. 2. 출력번지와 사이즈의 합이 최대 메모리 사이즈를 초과하면 untime 오류가 발생하고 CPU 가 정지합니다 3. Signed 연산 실행 Flag(F13.03) 이 On 이면 음의 부호를 기준으로 동작합니다 블록 합산 WSUM D = S = Ns= S 부터 Ns 개의 워드/더블워드/실수 데이터 합을 구해 D 에 기록 F001.0 MLET D=W100 N=4 S1=3478 S2=2581 S3=247 S4=192 WSUM D=W200 S=W100 Ns=4 W100 부터 W103 까지 4 개워드에 Data 를 입력시킨다. W100 부터 4 개 워드를 합한 값을 D 워드에 저장한다 합산값은 ( )=6498 이다. S 번지에 저장된 값 번지 저장된 값 S (W100) 3478 S+1 (W101) 2581 S+2 (W102) 247 S+3 (W103) 192 WSUM 명령어의 처리결과 번지 결과 값 D (W200)

93 데이터 정렬 명령 명령어 워드수 명칭 래더 표시 설 명 SOT DSOT FSOT 블록 정렬 SOT D = S = Ns= Method= S 부터 Ns 개의 워드/더블워드/실수 데이터를 값의 크기로 오름/내림 차순으로 정렬하여 D 부터 저장한다. 1. SOT 명령은 S 부터 Ns 개의 워드/더블워드/실수 데이터를 값의 크기로 오름/내림 차순으로 정렬하여 D 부터 저장한다 2. Method 값이 0 이면 오름차순(낮은 값부터) 1 이면, 내림차순(높은 값부터) 정렬합니다. 3. 출력번지와 사이즈의 합이 최대 메모리 사이즈를 초과하면 untime 오류가 발생하고 CPU 가 정지합니다 4. Signed 연산 실행 Flag(F13.03) 이 On 이면 음의 부호를 기준으로 동작합니다. F001.0 MLET D=W100 N=4 S1=3478 S2=2581 S3=247 S4=192 SOT D=W200 S=W100 Ns=4 Method=0 W100 부터 W103 까지 4 개워드에 Data 를 입력시킨다. W100 부터 4 개 워드의 값을 크기 순서별로 정렬시켜 D 워드부터 순서대로 저장한다 S 번지에 저장된 값 번지 저장된 값 S (W100) 3478 S+1 (W101) 2581 S+2 (W102) 247 S+3 (W103) 192 SOT 명령어의 처리결과 번지 Method=0 일때 Method=1 일때 D (W200) D+1 (W201) D+2 (W202) D+3 (W203)

94 5.26 함수 처리 명령어 명령어 워드수 명칭 래더 표시 설 명 SCALE 5 DSCALE 6-8 FSCALE 6-8 SCP 7 DSCP 12 FSCP 12 데이터 스케일, (1 차함수 그래프처리) (b 점 기준) 데이터 파라메타 스케일 1 차함수 그래프처리 (위치값 기준) SCALE D = S = S1 = S2 = DSCALE D = S = S1 = S2 = FSCALE D = S = S1 = S2 = SCP D = S = SMin= SMax= DMin= DMax= DSCP D = S = SMin= SMax= DMin= DMax= FSCP D = S = SMin= SMax= DMin= DMax= S 의 워드(더블워드, 실수)값을 S1 과 S2 의 값으로 만든 함수로 Scaling 하여 D 에 저장. (D= S1xS + S2)(y=ax+b 의 1 차함수 값) S 의 워드(더블워드, 실수)값을 SMin, SMax, DMin, DMax 의 값으로 만든 함수로 Scaling 하여 D 에 저장. (D=[(Dmax-Dmin)/(Smax-Smin)]*(S-Smin)+Dmin) 1. SCALE, DSCALE, FSCALE 명령어는 S1 을 기울기 값으로 하고, S2 를 Offset 값으로 구성되어 직선의 그래프를 구성하여 S 값에 따라 스케일링되어 D 에 저장된다. 2. SCP,DSCP,FSCP 명령어는 기울기 값을 알 수 없고, 2 개의 통과지점을 알고 있을 때, 직선그래프를 형성하고, S 값에 따라 출력 D 값이 연산할 경우에 SCP 를 사용하면 유용하다. SCP 에서는 Min 과 Max 값을 이용하여 스케일링 한다. (DMax-DMin)/(SMax-SMin)은 기울기가 되고, DMin 은 offset 값이 된다. D 또는 S 값은 최소, 최대값의 범위 이내에 있어야 합니다. 즉, 1 차함수의 기본공식 y=ax+b 에서 상수 값 a, b 를 알고 있을 때 SCALE 명령을 사용하고, 기본공식에서 a,b 값을 알 수 없고, 2 개의 통과지점을 알 때 SCP 명령을 사용합니다. 3. SCALE 과 DSCALE, SCP, DSCP 의 경우 연산이 정수 연산이므로 계산 중에 Overflow 발생이나 소수점 이하 절삭에 의한 데이터 유실이 발생할 수 있으므로 주의하여야 한다. 일반적으로 함수계산에서는 소수점 연산이 필요하므로 FSCALE, FSCP 명령을 대부분 사용한다. 4. D 와 S 를 제외하고, 기타 변수에 대해 명령어에 따라 16 bit 워드 데이터, 32 bit 워드 데이터, 부동소수점 데이터의 입력을 수용한다. D D (SMax,DMax) D축 통과점 (S2) S1 (기울기) (SMin,DMin) SCALE 명령어 S SCP 명령어 S 93

95 1) M00.00 LET D = W200 S = 100 SCALE D = W100 S = W200 S1= 2 S2= 25 D D축 통과점 (S2=25) S1=2 (기울기) M0.0 이 ON 되면 S 에 주어진 W200 값은 S1 x S + S2 의 형식으로 SCALE 되어 W100 에는 (W200 X )가 저장된다. 수식은 y=2x + 25 그러므로 S(W200) 값이 100 이면 D(W100)는 225 가 된다. S SCALE 명령어 2) M00.00 FLET D = W200 S = 500 FSCP D = W100 S = W200 Smin= 120 Smax= 2000 Dmin= 350 Dmax= 1500 D (120,350) S(500) (2000,1500) M0.0 이 ON 되면 S 에 주어진 W200 값은 500 이 저장되고, 기울기는 [(DMax - DMin)/(SMax - SMin)]=( )/( )= 즉, D=0.6117( ) + 350)= 값이 됩니다. 주의사항 아래와 같이 최소, 최대치 값을 벗어나거나 일정할 때 다음과 같은 연산을 합니다. - Dmax 와 Dmin 의 값이 동일할 경우(S 가 일정할 때) D = Dmin - Smax 와 Smin 의 값이 동일할 경우(D 가 일정할 때) D = Dmin - Smin 이 Smax 보다 클 경우(기울기가 음수 값) D = Dmin - S 값이 Smin 보다 작을 경우(최소치 이하 범위) D = Dmin - S 값이 Smax 보다 클 경우(최대치 이상 범위) D = Dmax 94

96 5.27 데이터 제한 명령 명령어 워드수 명칭 래더 표시 설 명 LIMIT DLIMIT FLIMIT BAND DBAND FBAND BIAS DBIAS FBIAS 한계값 설정 불감대역 설정 바이어스 설정 LIMIT D = S = Low= High= BAND D = S = Low= High= BIAS D = S = Low= High= 워드/더블워드/실수 S 값을 상한값과 하한값을 제한하여 그 결과를 D 에 저장한다 워드/더블워드 S 값을 상한값과 하한값을 불감대 영역으로 해서 이 영역의 값은 0 으로 하고 범위를 범어나면 상, 하한값을 초과하는 값만을 D 에 저장한다 워드/더블워드 S 의 입력값이 0 이면 출력은 0 으로 하고, 0 이 아니면 상하한값을 BIAS 시켜서 D 에 저장한다 1. LIMIT 는 S 값이 상한값(High)과 하한값(Low)의 범위를 벗어나지 않도록 제한하기 위해 사용한다. 2. LIMIT 에서는 S 가 상한치와 하한치 범위안에 있으면 S 값이 D 에 저장되고, S 가 하한치 이하면 하한값, 상한치 이상이면 상한치 값이 D 에 저장된다. 즉, Low <= S <= High 면 D=S, S>High 면 D =High, S<Low 면 D=Low 이다. 3. LIMIT 는 워드값 처리, DLIMIT 는 더블워드 처리, FLIMIT 는 실수값 처리명령이다. 4. D, S 는 레지스터(,L,M,K,W,D,SV,PV,S)를 사용할 수 있고, Low, High 는 레지스터 또는 데이터값을 사용할 수 있다. 출력 출력 D D Low S High 입력 0 Low S High 입력 <양수부호 지정시> <부호처리를 지정할 때(음수)> 5. BAND 는 S 가 상한값(High)과 하한값(Low)의 범위 내에 있으면 0 를 저장하고, 상하한 범위를 벗어나면 벗어난 값을 계산해서 D 에 저장한다. 즉, Low <= S <= High 면 D=0, S>High 면 D = S-High, S<Low 면 D= Low-S 가 저장된다. 주의) BAND 명령의 연산결과가 음수(마이너스)가 될 때 부호처리(비트 F13.3)를 ON 하면 연산한 값이 음수로 표현되고, 양수(+)처리 연산으로 하면 항상 +값이 저장된다. 출력 D 출력 D Low High 입력 S Low High 입력 S <부호처리를 지정하지 않을 때(양수)> <부호처리를 지정할 때(음수)> 95

97 6. 바이어스(BIAS)명령은 S 값에 바이어스 값을 더해서 D 에 저장한다. S 가 0 이면 D=0, S > 0 이면 D= S+High, S<0 이면 D=S+Low 출력 D 입력 High S Low 7. 음수 영역이나 마이너스(-) 기울기는 Signed 명령어 실행 Flag(F13.03)가 ON 인 경우에 작동됩니다. M01.00 M00.00 M00.01 M00.02 LET D = W0 S = 1000 LIMIT D = W100 S = W0 Low = 2 High= 25 BAND D = W200 S = W0 Low = 2 High= 25 BIAS D = W300 S = W0 Low = 2 High= 25 W0 에 임의의 1000 의 값을 대입하고, LIMIT 명령은 M0.0 이 ON 이 되는 순간 1000 이 High 값인 25 보다 크므로 25 의 값이 W100 에 저장된다. BAND 명령은 M0.1 이 ON 이 되는 순간 1000 은 양수 값이므로 High 값 25 를 W0 값에서 뺀 975 가 W200 에 저장된다. BIAS 명령은 M0.2 이 ON 이 되는 순간 1000 은 양수 값이고, High 보다 크므로 High 값 25 를 W0 값에 더한 1025 가 W300 에 저장된다 96

98 참고(용어) - 실수(부동 소수점)의 표시 부동 소수점 처리에 대한 백과사전의 설명을 참조 바랍니다. 부동소수점( 浮 動 小 數 點 ) 방식은 실수를 표현할 때 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것으로, 유효숫자를 나타내는 가수( 假 數 )와 소수점의 위치를 풀이하는 지수( 指 數 )로 나누어 표현한다. 컴퓨터에서는 고정 소수점 방식보다 넓은 범위의 수를 나타낼 수 있어 과학기술 계산에 많이 이용되고 있고, 고정 소수점과 달리 정수 부분과 소수 부분의 자릿수가 일정하지 않으나, 유효 숫자의 자릿수는 정해져 있다. 이 부동 소수점 표현은 수를 (가수) (밑수) (지수) 와 같이 유효숫자를 사용한 곱셈 형태로 표현한다. 예를 들어, -0.4 를 밑수가 10 인 부동 소수점으로 나타내면 이 되며, 밑수가 2 이면 가 되는데, 가수 부분을 한자리 자연수를 갖도록 바꾸면 과 같이 된다. 이처럼 가수의 첫째 자리가 밑수보다 작은 한자리 자연수가 되도록 바꾸는 것을 정규화라고 한다. 예를 들어, 앞의 값은 밑수가 2 이면 이 되는데 이것을 정규화하면 이 된다. (여기서 볼 수 있듯이 밑수가 2 일 때에는 정규화 결과는 가수부의 첫째 숫자는 언제나 1 이 된다.) 컴퓨터 프로그래밍에서는 밑수가 10 인 경우에 로마자 E 또는 e 를 사용하여 함수 형태로 표시하기도 하는데, -0.4 는 -0.04E+1 또는 -0.04e+1 이 되며, 정규화하면 -4E-1 또는 -4e-1 로 쓴다. 만약, 사용할 밑수를 미리 정해 놓는다면 가수와 지수만으로 실수를 표현할 수 있는데, 앞의 보기에서 밑수를 10 으로 고정한다면 실수 -0.4 는 가수 -4 와 지수 -1 의 조합으로 나타낼 수 있다. 보다 정형화된 형태로는 가수부와 지수부의 자릿수를 고정할 수 있는데, 만약 밑수는 10 이고 부호는 따로 표시하며, 가수부 5 자리, 지수부 3 자리로 하는 형식이라면 앞의 값 -0.4 는 '부호 -, 가수 40000, 지수 -005'로 나타낼 수 있다. 밑수가 2 일 때에 정규화 결과 가수의 첫째 자리는 항상 1 이 되므로 표시를 생략할 수 있다. 따라서, 고정된 형식에서 가수부에 1 자리를 더 표시할 수 있게 되므로, 처리할 수 있는 유효숫자가 1 자리만큼 늘어 난다. 앞의 예 를 이 방식으로 표현하면 '부호 +, 가수 60000, 지수 -002'가 된다. (가수 1.6 에서 1 이 생략되고, 유효숫자는 6 자리까지 가능하게 된다.) 실제 컴퓨터에서는 보통 이진법을 사용하여 밑수를 2 로 하고, 다음과 같이 세 부분의 값으로 실수를 나타낸다. 부호부 (1 비트) 지수부 (부호가 있는 정수) 가수부 (부호가 없는 정수) 이때, 값을 먼저 이진수로 변환한 후에 정규화하고, 그것을 다시 정형화된 형식으로 표현한다. 먼저 부호는 1 비트로 실수가 양수일 때는 0, 음수일 때는 1 로 표현한다. 지수부에는 따로 부호 비트가 없기 때문에 음수 지수를 처리하기 위해 보통 바이어스 표현법을 사용한다. 즉, 할당된 자릿수로 표현 가능한 전체 영역을 반으로 나누어, 작은 영역에는 음수값 및 0, 큰 영역에는 양수값이 차례대로 1:1 대응되도록 한다. 예를 들어, 지수부를 8 비트로 표현한다면 모두 256 가지 수를 나타낼 수 있는데 이것을 반으로 나누어 음수 127 개와 0, 양수 128 개를 차례대로 대응시킨다. 따라서, 비트열 은 지수 -127 을 나타내고, 은 지수 0, 은 지수 128 을 나타낸다. 일반적으로는 지수부가 n 비트일 때 (2 n / 2-1 = 2 n-1-1)을 지수 값에 더하며 이것을 바이어스 상수라고 한다. (다만, 지수부의 모든 자리가 모두 0 또는 1 인 경우는 각각 0 또는 무한대를 나타내는 등 종종 특수한 목적으로 예약되어 있다.) 가수부에서는 정규화 결과 유효숫자의 첫째 자리는 언제나 1 이므로 표시하지 않고, 소수 부분만 표현한다. 예를 들어, 앞의 보기와 같이 실수값 -0.4 을 16 비트 부동소수점으로 처리하되, 가수부는 10 비트, 지수부는 5 비트라면, 먼저 값을 이진수로 변환하면 (2) 이고, 정규화 결과는 (2) 2-2 이므로, 가수는 (2), 지수는 -10 (2) 이 된다. 양수값이므로 부호부는 '0'이 되고, 지수는 5 비트이므로 바이어스 상수는 = 15 이다. 따라서, 지수부는 '01101'이 된다. 가수부는 소수 부분만 10 비트로 나열하여 ' '이 된다. 부호-지수-가수의 순서로 조합하여 16 비트 를 얻는다. 97

99 이러한 부동 소수점으로 표현한 수는 정확도에 문제가 있기 때문에 정확도에 대한 규정을 정하고 있다. 실제로 실수를 정확히 표현하지 못하고 부동 소수점 연산 역시 실제 수학적 연산을 정확히 표현하지 못하는 것은 여러가지 문제를 낳는다. 그래서 실제 사용되고 있는 부동 소수점 방식은 대부분 IEEE 754 표준을 따른다. 이 규격에서는 실수를 32 비트로 처리하는 단정밀도(single precision)에서는 부호 1 비트, 지수부 8 비트, 가수부 23 비트를 사용하며, 64 비트로 처리하는 배정밀도(double precision)에서는 부호 1 비트, 지수부 11 비트, 가수부 52 비트를 사용한다. 4 배정도(quadruple precision)에서는 128 비트로 부호 1 비트, 지수부 15 비트, 가수부 112 비트를 사용한다. 쉽게 표현하자면, 10 진수 는 으로 표현되는데, 이때에 를 가수(mantissa)라고 하고 -3 을 지수(exponent)라고 한다. 가수는 실수 부분을 나타내고 지수는 소수점의 위치를 지정한다. 따라서 = 이 된다. 부동 소수점 형식으로 표현된 수에서 E 자 앞의 수. 예를 들면, 10 진수 640,000 은 6.4E5 로 표현되는데, 이때에 6.4 는 가수이고 5 는 지수를 나타낸다. 따라서 640,000= 이 된다 NX PLC 에서도 부동 소수점은 IEEE754 규격에 따르는 32 비트 2 진 부동소수점 표시법에 따르고 있다. IEEE754 규격에서 32 비트 2 진 소수점은 F=(-1)S x (1.M) x 2 (E-127) 으로 나타낸다. 이 값을 32bit 메모리 내에서 다음과 같은 형식으로 Sign(부호)부, Exponent(지수)부와 Mantissa(가수)부로 나누어 저장한다. 이때 Sign(S)는 부호를 나타내며 값이 1 이면 음수의 값이며 0 이면 양수의 값을 나타낸다. 지수(E)는 그 다음 8 bit 로 구성된다. 실제에 지수에 작용하는 값은 부호 없는 Exponent 값에서 127 을 뺀 값이다. Exponent 값이 0 이면 -127 을 의미하며, 254 이면 127 을 의미하게 된다. 그 다음 23 비트 Mantissa(M)는 23 비트 길이의 정수 값이다 S Exponent Mantissa NX PLC 에서 부동소수점 32bit 의 정보는 DWOD 의 형식으로 저장된다. 레지스터의 지정도 더블워드번지 지정과 같다. 일반적으로 W 또는 D 영역을 사용하며,,M,K,L 영역도 사용 가능하다. WinGPC 통해 부동소수점의 상수 값을 지정할 수 있는 데, 이때의 입력되는 형식과 자릿수는 WinGPC 의 규칙에 따른다. 입력된 값은 32 비트 2 진 부동소수점의 형식으로 변환되어 저장된다. 참고) 저장 가능한 수 영역 내 오류 검사방법 F=(-1)S Х (1.M) Х 2 (E-127) S= 1 bit, M = 23 bit, E = 8 bit 로 모두 합치면 32bit (더블워드) 가 된다. -라디안(adian) 라디안(adian) : 원둘레 위에서 반지름의 길이와 같은 길이를 갖는 호에 대응하는 중심각의 크기. 1 라디안은 약 57 도 17 분 44.8 초이다. 기호는 rad 따라서 360 =2πrad, 1rad= 이며 삼각함수의 전개 등을 취급할 때의 단위는 라디안이다. -각도 (Degree) Degree 는 자나 수량을 계산하는 단위 또는 매긴 눈이란 뜻이다. 예를 들어 각도, 온도, 굴절도 등의 어 떤 값을 측정할 때를 말하며, 여기서는 각도를 뜻하며, 각도는 원주를 360 등분한 호( 孤 )에 대한 중심각을 말한다. 기호로는 를 쓴다. 보조단위로서 초 분 및 항공 항해에서 사용되는 점( 點 )이 있는데, 1 (초)=1/3600, 1'(분)=1/60, 1pt(점)=11.25 로 규정해 놓고 있다. 98

100 5.28 실수(부동 소수점) 변환 명령 명령어 워드수 명칭 래더 표시 설 명 N2F 4 F2N 4-5 L2F 4 F2L 4-5 D2 4 2D 4 데이터 변환 명령 (10 진수 1 워드 부동소수점) 데이터 변환 명령 (부동소수점 10 진수 1 워드) 데이터 변환 명령 (10 진수 2 워드 부동소수점) 데이터 변환 명령 (부동소수점 10 진수 2 워드) 라디안 변환명령 (Degree to adian) 각도변환 명령 (adian to Degree) N2F D= S= F2N D= S= L2F D= S= F2L D= S= D2 D= S= 2D D= S= 부호 있는 16 비트(워드) 정수를 부동소수점으로 변환 부동소수점을 부호 있는 16 비트 정수로 변환 부호 있는 32 비트(더블워드)정수 를 부동소수점으로 변환 부동소수점을 부호 있는 32 비트 정수로 변환 D(라디안) = S(각도) x π /180 D(각도) = S(라디안) x 180/π 1. 이 변환명령들에서 다루는 정수는 모두 부호가 있는 정수이다. 변환 전 또는 변환 후에 이 값을 사용하여 부호 없는 정수 연산 시에 유의하여야 한다. 2. F2N 및 F2L 을 사용하여 부동소수점을 정수로 변환 시에 소수점 이하는 절삭된다. 3. 부동소수점이 저장되어 있는 또는 저장될 영역은 더블워드형식으로 번지가 지정되어야 한다. 4. F2N 또는 F2L 명령어의 S 오퍼랜드를 상수 값으로 지정하면 2 워드씩 할당 받아 최대 5 워드가 된다. 5. D 와 S 에는, L, M, K, W, D 영역의 워드 또는 더블워드 번지를 지정할 수 있으며, S 영역에는 상수 값도 지정할 수 있다. 1 F01.00 LET D= M30 S= 25 LET(대입)명령어를 이용하여 M30 워드에 10 진수 25 를 입력시킨다. M00.00 M00.01 N2F D= M32 S= M30 F2N D= M34 S= M32 M0.0 접점이 ON 되면, M30 값(25)을 소수점으로 변환하여 M32 워드에 실수 소수값(25.0)으로 저장한다. 소수점으로 저장되는 M32 는 더블워드로 지정이 된다. M0.1 접점이 ON 되면, M32 워드의 소수점 값(25.0)을 10 진수 값(25)으로 변환하여 M34 에 저장하며, 소수점 이하 값은 절삭(버림)된다. 99

101 2 F01.00 DLET D= M40 S= M00.00 L2F D= M42 S= M40 DLET(대입)명령어를 이용하여 M40 워드에 10 진수 을 입력시킨다. M0.0 접점이 ON 되면, M40 값(345678)을 소수점으로 변환하여 M42 워드에 소수값( )으로 저장한다. M00.01 F2L D= M44 S= M42 M0.1 접점이 ON 되면, M42 워드의 소수점 값( )을 10 진수 값(345678)으로 변환하여 M44 에 저장하며, 소수점 이하 값은 절삭(버림)된다. 3 F01.00 FLET D= M40 S= 90.0 FLET(실수대입)명령어를 이용하여 M40 워드에 실수 90.0 을 입력시킨다. M00.00 M00.01 D2 D= M42 S= M40 2D D= M44 S= M42 M0.0 접점이 ON 되면, M40 값(90.0)을 라디안으로 변환하여 M42 워드에 라디안 값( )으로 저장한다. (라디안= 각도(90.0)* π /180 ) M0.1 접점이 ON 되면, M42 워드의 라디안 값( )을 각도(Degree) 값(90.0)으로 변환하여 M44 에 저장한다. (각도= 라디안( )* 180/π ) 100

102 5.29 문자열 처리 명령어 명령어 워드수 명칭 래더 표시 설 명 STLET 3+String (4~65) STADD 4 STEX 5 문자 대입 (String Let) 문자 결합 (String Add) 문자열 추출 (String Extract)) STLET D= S= STADD D = S1= S2= STEX D = S = Pos= N = D 번지에는 문자열의 크기가 입력되고, D+1 번지부터 S 에 입력되는 문자열정보가 저장된다. S1 과 S2 의 두개 문자열을 S1 문자열이 선행하고 S 문자열이 후행하는 하나의 문자열로 바꾸어 D 에 저장한다. S 문자열의 Pos 번째 문자부터 N 개의 문자열을 추출하여 D 에 저장한다. ST ST== O ST== AND ST== ST ST<> O ST<> AND ST<> 3 3 문자열 비교 (A=B) 문자열 비교 (A B) SEACH 5 문자열 찾기 ST== A = B = ST<> A = B = SEACH D = S1= POS= S2= A 와 B 의 문자열이 동일한지 비교한다. 동일하면 ON 된다 A 와 B 의 문자열이 동일한지 비교한다. 동일하지 않으면 ON 된다 S1 의 Pos 부터 S2 의 문자열을 찾아서 일치하는 순번을 D 에 저장합니다. S1,S2 는 모두 String 형태이어야 합니다 1. 문자열 처리명령에서 처리하는 문자열의 구조는 선두번지에 문자열의 문자개수를 저장하고 문자열의 첫 문자부터 그 다음번지의 Low 바이트부터 저장되는 구조를 갖는다. 2. STLET 에서 S 는 안에 문자열을 직접 입력 한다. 입력될 수 있는 최대 문자수는 62 개이다. 3. STLET 과 STADD, STEX 을 실행 할 경우 입력하는 문자열의 수와는 상관 없이 D 번지의 레지스터에서부터 32Word(1Word + 62 Byte)만큼의 레지스터가 0 으로 초기화 된 후 문자열이 입력된다. 4. STLET 외에는 명령어에 문자열을 직접 입력할 수 없다. 문자열 입력 예 M STLET D=W100 (5) S= Hello M0.0 이 ON 되면 W100 에는 5 가 입력되고 W101 부터 W103 에 문자열이 Low 바이트 우선 순에 의거 순차적으로 입력된다. 주의할 점으로 문자열 입력 시, 32WOD 만큼의 레지스터 영역이 초기화 되므로 주의한다. MSB LSB W100 5 문자열의 길이(문자의 개수)가 저장된다. W101 e H $6548 W102 l l $6C6C W103 \00 o $006F W104 \00 \00 $0000 W131 \00 \00 $

103 문자열 연산 예 M STLET D=W100 (5) S= Hello STLET M STADD D=W110 (7) S= Friend D=W120 S1=W100 S2=W110 M STEX D=W140 S=W120 Pos=6 N=7 ST== A=W110 B=W140 M M0.0 접점이 ON 되면 W100 과 W110 을 선두 번지로 해서 각각 Hello 와 Friend 라는 문자열이 저장된다. M0.2 의 접점이 ON 되면 두 문자열을 하나로 문자열로 해서 W120 을 선두번지로 Hello Friend 가 저장된다. W120 에는 합쳐진 문자열의 문자수가 저장되고, W121 부터 W110 의 문자열이 먼저 저장되고 W100 의 문자열이 뒤따라 저장된다. M0.3 의 접점이 ON 되면 W120 에 저장된 문자열의 7 번째부터 6 자리의 문자열을 발췌하여 W140 에 저장한다. W110 과 W140 에 저장된 문자를 비교하여 M0.10 에 출력한다. MSB LSB M0.0 이 ON 되면 W100 5 문자열의 길이(문자의 개수)가 저장된다. W101 e H $6548 W102 l l $6C6C W103 o $006F MSB LSB W110 7 문자열의 길이(문자의 개수)가 저장된다. W111 F $4620 W112 i r $6972 W113 n e $6E65 W114 d $0064 MSB LSB M0.2 가 ON 되면 W 문자열의 길이(문자의 개수)가 저장된다. W121 e H $6548 W122 l l $6C6C W123 o $206F W124 r F $7246 W125 e i $6569 W126 d n $646E MSB LSB M0.3 이 ON 되면 W140 7 문자열의 길이(문자의 개수)가 저장된다. W141 F $4620 W142 i r $6972 W143 n e $6E65 W144 d $

104 SEACH M0.0 SEACH D=W0 S1=W10 Pos=4 S2=W100 M0.0 이 On 인 동안 S2 의 문자열을 S1 의 Pos 부터 찾아서 그 순번 결과값을 D 에 저장합니다 W10 = , Pos=3, W100= 4567 이면 W0 에 2 이 출력됩니다 103

105 5.30 문자열 변환 명령 명령어 워드수 명칭 래더 표시 설 명 A2H 4 H2A 4 A2I 4 I2A 3 A2L 4 L2A 3 1. A2H 와 A2I 의 D, S 은 워드번지로 지정한다. 2. H2A 와 I2A 의 D 는 워드번지로 지정하고, S 은 워드번지로 지정되거나 워드범위의 HEX 값 또는 부호 있는 16 비트 정수 값을 입력할 수 있다. 3. A2L 의 D 와 L2A 의 S 는 더블워드의 번지로 지정한다. 4. A2I 와 A2L 의 경우 변환 값이 각각 16 비트와 32 비트를 넘으면 오류가 발생한다. 5. N 과 Bytes 는 상수값으로만 지정된다. H2A 는 1~31, A2I 는 1~5, A2L 은 1~10 범위이다. 6. A2I 와 A2L 의 N 값이 실제보다 작을때나, A2H,A2L,A2I 의 S 값 오류는 작동하지 않습니다. 1 ( HEX 변환 예) M ASCII HEX 변환 HEX ASCII 변환 ASCII Integer 변환 Integer ASCII 변환 ASCII 2Word 변환 2Word ASCII 변환 입력된 Data(W100~W101) DLET D=W100 S=$A5B3C1 M H2A D=W200 S=W100 Bytes=3 M A2H D=W300 S=W200 N=6 A2H D = S = N = H2A D = S = Bytes= A2I D = S = N = I2A D = S = A2L D = S = N = L2A D = S = M0.0 이 ON 되면 $00A5B3C1 가 W100~W101 에 저장된다. M0.1 이 ON 되면 W100 에 저장되어 있는 HEX 값 $00A5B3C1 가 ASCII 코드로 변환되어 W200 의 하위바이트부터 A,5,B,3,C,1 의 순서로 (ASCII 값으로) 저장된다. M0.2 이 ON 되면 W200 과 W201, W202 에 들어 있는 6 개의 문자열은 W200 의 Low 바이트 문자부터 HEX 로 변환되어 W300~W301 에 저장된다. W101 S 의 하위 바이트부터 N 개의 문자열을 HEX 값으로 변환하여 [D + (N/4-1)]번지 상위 니블(4bit) 순으로 저장한다. S 의 Low 니블부터 HEX 값을 Byte 수만큼 문자열로 변환하여 [D + Byte/2]번지부터 상위 바이트부터 저장한다. Byte 수당 2 개의 문자열이 생성된다. S 의 하위 바이트부터 N 개의 문자열을 부호 있는 16 비트 정수값으로 변환하여 D 번지에 저장한다. D 번지부터 부호 있는 16 비트 정수값으로 읽어 6 개의 문자열로 변환하여 D 번지의 Low 바이트부터 높은 자리수를 저장한다. S 의 하위 바이트부터 N 개의 문자열을 부호 있는 32 비트 정수값으로 변환하여 D 번지에 저장한다. D 번지 값을 부호 있는 32 비트 정수값으로 읽어 11 개의 문자열로 변환하여 D 번지의 Low 바이트부터 높은 자리수를 저장한다. W A 5 B 3 C 1 H2A 연산결과 (W100 부터 3 바이트 HEX 코드를 ASCII 코드로 변환해서 역순으로 W200 부터 저장함) W202 W201 W200 ASCII Code(HEX) 1 ($31) C ($43) 3 ($33) B ($42) 5 ($35) A ($41) Binary 표시 A2H 연산결과 (W200 부터 6 바이트의 ASCII 코드를 HEX 로 변환해서 역순으로 W300 부터 저장함) W301 W300 HEX 표시 0 0 A 5 B 3 C 1 104

106 2 (정수 변환 예) M LET D=W100 S=4720 M I2A D=W200 S=W100 M A2I D=W300 S=W200 N=6 M0.0 이 ON 이 되면 4720 의 정수가 W100 에 저장된다. M0.1 이 ON 되면 W100 에 저장되어 있는 4720 이 6 자리의 ASCII(문자열)로 변환되어 가 W200 의 Low 바이트부터 저장된다. M0.2 이 ON 되면 W200 부터 W202 까지 들어 있는 6 개의 문자열은 W200 의 Low 바이트 문자부터 정수 값으로 변환되어 W300 에 저장된다. 입력된 Data(W100) W100 정수 값 4720 (+04720) I2A 연산결과 (W100 값의 부호포함 10 진 정수(Integer) 값을 ASCII 코드로 변환해서 역순으로 W200 하위 바이트부터 저장함) W202 W201 W200 ASCII Code(HEX) 0 ($30) 2 ($32) 7 ($37) 4 ($34) 0 ($30) + ($2B) Binary 표시 A2I 연산결과 (W200 부터 6 바이트의 ASCII 코드를 정수(Integer)로 변환해서 W300 에 저장함) W300 정수(Integer)표시

107 참고 : ASCII 코드표 b8 b b b b8 b7 b6 b5 b4 b3 b2 b NUL DEL P ` p SOH DC1! 1 A Q a q STX DC2 2 B b r ETX DC3 # 3 C S c s EOT DC4 $ 4 D T d t ENQ NAK % 5 E U e u ACK SYN & 6 F V f v BEL ETB ' 7 G W g w BS CAN ( 8 H X h x HT EM ) 9 I Y i y A LF SUB * : J Z j z B VT ESC + ; K k { C FF FS < L \ l D C GS - = M m } E SO S. > N n ~ F SI US /? O _ o DEL 106

108 5.31 삼각함수 명령 삼각함수 명령 명령어 워드수 명칭 래더 표시 설 명 SIN Sine 변환 SIN D = SIN ( S ), 4 D= ASIN Arc Sine 변환 S= D = ASIN ( S ) COS Cosine 변환 COS D = COS ( S ), 4 D= ACOS Arc Cosine 변환 S= D = ACOS ( S ) TAN Tangent 변환 TAN D = TAN ( S ), 4 D= ATAN Arc Tangent 변환 S= D = ATAN ( S ) 1. D 와 S 영역 모두 실수값이다.,L,M,K,W 더블워드번지로 지정할 수 있으며 S 에는 실수값을 입력할 수 있다 2. 삼각함수에서 S 값은 라디안 값으로 주어져야 한다. 3. SIN 명령어는 S 에 대한 사인함수의 값을 계산하여 D 에 저장한다. 4. COS 명령어는 S 에 대한 코사인함수의 값을 계산하여 D 에 저장한다. 5. TAN 명령어는 S 에 대한 탄젠트함수의 값을 계산하여 D 에 저장한다. F01.00 FLET D= M40 S= 45.0 D2 D= M42 S= M40 FLET(실수대입)명령어를 이용하여 M40 워드에 45.0 을 입력시킨다. 라디안 값으로 변경시킨다 의 라디안은 값이다. M00.00 SIN D= M50 S= M42 COS D= M52 S= M42 TAN D= M54 S= M42 M0.0 접점이 ON 되면, M42 값( )을 Sin 으로 변환하여 M50 워드에 값( )으로 저장한다. M42 값( )을 Cos 으로 변환하여 M52 워드에 값( )으로 저장한다. M42 값( )을 Tan 으로 변환하여 M54 워드에 값(1.0)으로 저장한다. 107

109 용어(참고) -사인(Sine), 코사인(Cosine), 탄젠트(Tangent) y P(x, y) Sine 은 반지름 길이가 r 이고, 중심점이 0 인 원 안에 예각이 θ, 밑변의 길이가 x, 예각의 대변의 길이가 y, 빗변의 길이가 r 인 직삼각형을 그리면, 0 r θ x y 와 r 의 비율 y/r 는 반지름 r 에 관계없이 θ 만의 함수가 된다. 이 비율의 값을 각 θ 의 사인이라 하며, sinθ 라고 표시한다. 즉, 직각삼각형의 빗변과 높이의 비율로 표현한다. 사인(Sine) 은 Sinθ =y/r, 이 된다. 코사인(Cosine) 은 Cosθ = x/r, 탄젠트(Tangent) 는 Tanθ = y/x 가 된다. y 0 x PLC 에서의 Sin 값은 변수를 라디안으로 하기 때문에 빗변과 높이로 값을 나타내기 힘들다. 라디안 명령을 참고로 하면, 90 의 경우, 빗변과 높이가 같으며, 라디안 값은 이고, Sin( )값은 1.0 이 된다. Cos( ) 값은 0/r = e-008 로 표기된다. Tan( ) 값은 r/0 = e+007 로 표기된다 θ C a b 45 의 경우, 라디안이고, Sin 값은 이다. 쉽게 표현하면, sinθ 는 b/c 값이고, a 와 b 가 같으면, θ 가 45 가 된다. 즉, C 2 = a 2 +b 2, 여기서 a,b 가 1 이면, C= 이고, Sinθ= 1/ = 이 되고. Cosθ= 1/ = Tanθ= 1/1 = 1.0 이 된다. 108

110 로그 함수 명령 명령어 워드수 명칭 래더 표시 설 명 SQT 4 제곱근 EXP 4 지수 (Exponent) LOG 4 로그 LN 4 자연로그 POWE 5 제승 SQT D= S= EXP D= S= LOG D= S= LN D= S= POWE D= S1= S2= D = SQT ( S ) D = EXP ( S ) ( e 에 S 값 제승) D = LOG ( S ) (상용로그,10 베이스 로그) D = LN ( S ) (e= 베이스 로그) D = S1^S2 (S1 의 값에 S2 를 제승하여 D 에 저장) 1. D 와 S 영역 모두 실수값이다.,L,M,K,W 더블워드 번지로 지정할 수 있으며 S 에는 실수값을 입력할 수 있다 2. 제곱근(SQT)에서 S 값은 양수여야 한다. 음수가 입력되면 연산오류가 발생한다. 제곱근 3. Exp 명령어는 "e( )" 에 대한 S 의 거듭제곱을 계산하여 D 에 저장한다. 지수 D = e s 4. Log 명령어는 상용로그 값 연산이며, LN 은 자연로그 값에 대한 연산명령이다. 5. Power 명령은 거듭제곱을 계산하여 D 에 저장한다. D = S1 S2 F01.00 FLET D= M40 S= FLET(실수대입)명령어를 이용하여 M40 워드에 을 입력시킨다. M00.00 SQT D= M50 S= M40 EXP D= M52 S= M50 LOG D= M54 S= M50 LN D= M56 S= M50 POWE D= M58 S1= 3.0 S2= 4.0 M0.0 접점이 ON 되면, -M40 값(100.0)을 제곱근으로 변환하여 M50 워드에 값(10.0)으로 저장한다. -M50 값(10.0)을 지수(Exponent)로 변환하여 M52 워드에 값( )으로 저장한다. -M50 값(10.0)을 Log 로 변환하여 M54 워드에 값(1.0)으로 저장한다. -M50 값(10.0)을 LN 으로 변환하여 M56 워드에 값( )으로 저장한다. -Power 명령은 3.0 값을 4.0 거듭제곱으로 연산하여 M58 워드에 값(81.0)으로 저장한다 109

111 5.32 루프/분기 명령 루프 반복명령 니모닉명령 워드수 래더 표시 설 명 적용기종 FO 3 FO D= D 값(워드)을 1 씩 감소시키면서 NEXT 명령까지 D 회 (D 가 0 일때까지) 반복수행(FO Loop 시작) 전기종 DFO 3 DFO D= D 값(더블워드)을 1 씩 감소시키면서 NEXT 명령까지 D 회 (D 가 0 일때까지) 반복수행(FO Loop 시작) 전기종 NEXT 2 NEXT FO 명령어부터 반복 수행 종료(FO Loop 끝) 전기종 1. FO(DFO) 명령은 D 워드의 값이 0 이 될 때 까지 반복해서 NEXT 까지 구간을 수행하는 기능이며, FO ~ NEXT 명령 구간에서도 일반 명령어나 분기명령(JMP, CALL 등)을 사용할 수 있고, 실행 횟수(D 값)는 프로그램 수행중에도 변경이 가능합니다. 2. FO 명령의 D 값이 0 이면 NEXT 이후의 명령으로 분기합니다. 3. FO(DFO) 명령과 NEXT 명령어는 항상 쌍으로 구성되어야 하며, NEXT 명령어는 오퍼랜드가 존재하지 않습니다. 4. NEXT 명령어의 입력조건이 OFF 상태에서는 FO(DFO)명령 루프가 한번만 작동하고, 입력조건이 ON 상태에서만 FO(DFO) ~ NEXT 명령 루프가 반복해서 수행 합니다. 5. D 영역은 워드번지 (,L,M,K,W 등)를 지정할 수 있으며, FO 명령은 워드범위, DFO 명령은 더블워드 값을 지정할 수 있습니다. 6. FO(DFO) 명령을 사용해서 D 값을 크게 하면, 많은 루프 수행을 하기 때문에 스캔타임이 길어지므로 사용에 주의 바랍니다. 7. FO, DFO 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. F M >= A=M21 B=20 LET D=M20 S=5 FO D=M20 INC D=M21 NEXT M F0.15 접점은 운전중일 때 항상 ON 되는 접점이며, 매 Scan 마다 M20 워드에 5 의 값을 저장합니다. M0.0 접점이 ON 될 때마다 FO, NEXT 구간이 반복되며, 한번씩 수행될 때 마다 M20 워드가 1 씩 감소되어 0 이 되면 NEXT 다음 명령어로 넘어갑니다. 즉, M0.0 접점이 한번 ON 될때마다 M20 이 5 이므로 5 번 수행하며, INC 명령에 의해 M21 워드가 1 SCAN 에서 5 씩 증가하게 됩니다. M21 워드값이 20 이상에서(4 번 이상 수행후) 출력 M1.0 이 ON 됩니다. 110

112 분기제어 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 JMP 3 JMP Lb= LBL 명령의 Lb 번까지 점프(포인터에 의한 점프) Lb=0~63 (중복 사용 불가) 전기종 LBL 2 LBL Lb= JMP 로 이동되는 위치(점프 포인터 지정) Lb=0~63 (중복 사용 불가) 전기종 1. JMP 명령은 프로그램 처리중에 회로의 일부를 수정하지 않고 강제로 점프하고자 할 때 사용하며, Lb 의 범위가 0 ~ 63 까지 64 개 까지 사용이 가능 합니다. 2. JMP 명령과 LBL 명령은 항상 쌍을 이루어야 하며, Lb 번호를 중복해서 사용할 수 없습니다. 3. 점프 시작명령(JMP) 보다 항상 점프위치(LBL)명령이 뒤에 위치해야 합니다. 4. JMP 명령어와 쌍을 이루는 LBL 명령어 사이에서도 JMP 명령어를 사용할 수 있습니다. 5. JMP 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 6. LBL 명령은 항상 oot 에서 직접 연결되어야 하며, 입력조건 없이 사용해야 합니다. F F F F JMP Lb=1 M INC D=M20 LBL Lb=1 INC D=M21 -F1.4 접점은 1 초 간격으로 ON/OFF 를 반복하는 내부접점이며, 동시에 출력 M1.0 은 0.5 초 동안 ON, 0.5 초 동안 OFF 로 작동합니다.(작동상황 모니터링 용) -항상 ON 되는 F0.15 접점으로 JMP 명령이 작동되므로 내부의 F1.4 접점과 INC(M20 워드)명령은 작동하지 않습니다. -LBL 명령으로 Lb 1 번의 점프 쌍이 완료됩니다. -LBL 명령으로 점프가 완료되고 난 후, F1.4 접점은 작동하며, INC 명령의 M21 워드값은 1 초마다 1 씩 증가합니다. 111

113 점프 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 JMPS 2 JMPS JMPE 명령어 까지 점프(점프 시작) 전기종 JMPE 1 JMPE 점프 끝 (JMPS 와 쌍으로 구성) (JMPS 명령 이후에 있어야 함) 전기종 1. JMPS 명령은 프로그램 처리중에 회로의 일부를 수정하지 않고 강제로 점프하고자 할 때 사용하며, 오퍼랜드가 없이 JMPE 명령어 까지 점프 합니다. 2. JMPS 명령과 JMPE 명령은 항상 쌍을 이루어야 하며, JMPS 보다 LBL 명령이 항상 뒤에 위치해야 합니다. 3. JMPS 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 4. JMPE 명령은 항상 oot 에서 직접 연결되어야 하며, 입력조건 없이 사용해야 합니다. F F F F M JMPS INC D = M20 JMPE INC D = M21 F1.4 접점으로 출력 M1.0 은 0.5 초 동안 ON, 0.5 초 동안 OFF 로 작동합니다. F0.15 접점으로 JMPS 명령이 작동되어 JMPE 명령까지 점프하므로 INC 의 M20 워드는 증가하지 않습니다. JMPE 명령으로 점프가 완료되고, F1.4 접점은 작동하며, INC 명령의 M21 워드값은 1 초마다 1 씩 증가합니다. 112

114 서브루틴 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 CALL 3 CALL Sb= 서브루틴 호출 명령 전기종 SB 2 SB Sb= 서브루틴 시작 명령 Sb=0~63(64 개 사용, 중복사용 불가) 전기종 ET 1 ET 서브루틴 끝 (Subroutine eturn) 전기종 1. CALL 명령은 서브루틴을 호출해서 실행하는 명령어로 서브루틴 번호(Sb 번호)의 모든 프로그램을 불러와서 처리하는 명령어입니다. 2. 하나의 서브루틴이 끝나는 ET 명령어를 수행한 후에는 CALL 명령 다음으로 복귀합니다. 3. CALL 및 SB 명령의 Sb 는 0~63 까지 64 개의 서브루틴을 지정할 수 있으며, CALL 명령어는 SB/ET 명령어 이전에 존재해야 합니다. 4. CALL 명령의 Sb 번호는 다중으로 사용이 가능하며, SB 과 ET 명령어는 중복해서 사용할 수 없고, 항상 쌍을 이루어야 하며, SB 보다 ET 명령이 항상 뒤에 위치해야 합니다. 5. CALL 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 6. SB 과 ET 명령은 항상 oot 에서 직접 연결되어야 하며, 입력조건 없이 사용해야 합니다. 7. SB 과 ET 명령어로 구성되는 서브루틴 블록 이후에는 프로그램 수행을 하지 않으므로 시퀀스 처리용 프로그램은 항상 SB 명령어 이전에 있어야 작동합니다. F M F M CALL Sb=3 CALL Sb=5 SB Sb=3 F INC D=M23 ET SB Sb=5 F INC D=M25 ET F1.4 접점으로 출력 M1.0 은 0.5 초 동안 ON, 0.5 초 동안 OFF 로 작동합니다. M1.0 에 의한 CALL 3 의 동작은 1 초마다 서브루틴 3 번 프로그램을 수행합니다. 서브루틴에서는 F0.15 접점에 의해 INC 명령이 작동하고 동작할 때 마다 1 씩 증가하므로 M23 워드는 1 초마다 1 씩 증가합니다. F1.3 은 0.2 초 클럭의 내부접점이며, 0.1 초동안 ON, 0.1 초동안 OFF 로 작동합니다. 즉, CALL 5 의 동작은 0.2 초마다 서브루틴 5 번 프로그램을 수행하며, 서브루틴 5 번의 INC 명령으로 M25 워드는 0.2 초마다 1 씩 증가합니다. 113

115 5.33 인터럽트 처리 명령 인터럽트 명령 (인터럽트 기능 Ver.3) 명령어 워드수 명칭 래더 표시 설 명 INT 2 Interrupt ETI 1 eturn Interrupt INT V= ETI 인터럽트가 발생하였을 때 처리하는 루틴의 선언한다. 인터럽트 처리루틴 종료 1. 인터럽트의 기능이 F/W 3.xx 버전 이상부터 변경 되었으며 V3.xx 이상의 기능설명입니다. F/W 2.xx 버전과 호환성이 없으므로 주의해서 사용 바랍니다.. 2. V 는 인터럽트의 종류를 설정한다. V 값 인터럽트의 종류 1 정주기 인터럽트 2 HSC0 인터럽트 9 PTO0: PTO1: External input: External input: External input: External input: 정주기 인터럽트는 NX plus 전 기종에 적용되고, 나머지 인터럽트는 NX7, NX7S 의 버전 3.0 이상에서만 지원되는 기능이다. 4. 인터럽트 제어설정은 S480 부터 S486 의 시스템 레지스터설정을 통해 이루어진다. 5. 프로그램 내부에서 인터럽트명령은 하나만 사용할 수 있다. 6. INT 와 ETI 명령은 항상 Power Line 에서 직접 연결되어야 하며, 입력조건 없이 사용해야 한다. 7. 인터럽트 루틴은 매 스캔 메인 프로그램 처리 전에 실행된다. 8. 인터럽트 루틴을 수행하는 시간이 메인 프로그램의 스캔타임 보다 크면 프로그램이 정상적으로 작동하지 않을 수 있으므로 인터럽트 루틴은 최소 스텝으로 작성해야 한다. 114

116 INT 기능에서 사용하는 레지스터의 상세정보 내역 1. INT 1 : Periodic timed interrupt Address Type Contents S480 Word Set a periodic time(ms)* S481.0 Bit User Interrupt Enable * S482.0 Bit Executing User Interrupt.* S483.0 Bit Lost User Interrupt.* 2. INT 2 : Interrupt occurs when Comparison is Equal to Target Value Address Type Contents S481.1 Bit User Interrupt Enable * S482.1 Bit Executing User Interrupt.* S483.1 Bit Lost User Interrupt.* 40 Word High Speed Counter Mode 40.7 Bit Software preset 40.8 Bit Select Counter Mode of 0.3 On = Input Direction, Off = B Phase 40.9 Bit Select Counter Mode of 0.2 On = Input Pulse, Off = A Phase Bit Enable Input Counter Inhibit using of Bit Enable Input Preset using of Bit 00 = Mode 0 = Pulse Input Mode 10 = Mode 2 = Encoder Input Mode Bit On when HSC is operating 42 Double Word Accumulator - Counted Pulses 44 Double Word Preset Value 46 Double Word High limit Compare Value 48 Double Word Low limit Compare Value 56 Double Word Software Preset Value 65.0 Bit Enable HSC Bit Start HSC0 counting 65.6 Bit Set ing Counter Mode 3. INT 9 : Interrupt is triggered when PTO0 is finished Address Type Contents S481.8 Bit User Interrupt Enable.* S482.8 Bit Executing User Interrupt.* S483.8 Bit Lost User Interrupt.* 80 Word Pulse Train Output Mode 80.9 Bit Enable Direction Output using of Bit Control Direction Output Mode of Bit 00 = PTO Mode = Pulse Output(16.0) + Direction(16.2) 10 = PWM Mode = PWM Pulse Output(16.0) + Direction(16.2) Bit On when PTO is operating 81 Word Pulse Output Frequency : 20-5KHz 82 Double Word PWM Mode = Duty ratio : 25-75% PTO Mode = Pulse Output Numbers 84 Double Word the number of output pulses 86 Word Start Frequency 87 Word Acceleration Pulse 88 Word Deceleration Pulse 115

117 4. INT 10 : Interrupt is triggered when PTO1 is finished Address Type Contents S481.9 Bit User Interrupt Enable.* S482.9 Bit Executing User Interrupt.* S483.9 Bit Lost User Interrupt.* 90 Word Pulse Train Output Mode 90.9 Bit Enable Direction Output using of Bit Control Direction Output Mode of Bit 00 = PTO Mode = Pulse Output(16.1) + Direction(16.3) 10 = PWM Mode = PWM Pulse Output(16.1) + Direction(16.3) Bit On when PTO is operating 91 Word Pulse Output Frequency : 20-5KHz 92 Double Word PWM Mode = Duty ratio : 25-75% PTO Mode = Pulse Output Numbers 94 Double Word the number of output pulses 96 Word Start Frequency 97 Word Acceleration Pulse 98 Word Deceleration Pulse 5. INT 17 : Interrupt is triggered by External Input 0.0 Address Type Contents S484.0 Bit User Interrupt Enable.* S485.0 Bit Executing User Interrupt.* S486.0 Bit Lost User Interrupt.* 6. INT 18 : Interrupt is triggered by External Input 0.1 Address Type Contents S484.1 Bit User Interrupt Enable.* S485.1 Bit Executing User Interrupt.* S486.1 Bit Lost User Interrupt.* 7. INT 19 : Interrupt is triggered by External Input 0.4 Address Type Contents S484.2 Bit User Interrupt Enable.* S485.2 Bit Executing User Interrupt.* S486.2 Bit Lost User Interrupt.* 8. INT 20 : Interrupt is triggered by External Input 0.5 Address Type Contents S484.3 Bit User Interrupt Enable.* S485.3 Bit Executing User Interrupt.* S486.3 Bit Lost User Interrupt.* 116

118 정주기 스캔(V2.xx 이전) 니모닉명령 워드수 래더 표시 설 명 적용기종 INT 2 ETI 1 주 1) 적용기종 INT V= ETI 정주기 스캔 시작명령(1 개만 사용가능) V=1~999 까지 지정가능, 제어비트= F0.11 정주기시간=(V+1) 0.01 초 (20msec 10sec) 주 1) 정주기 스캔 끝 주 1) SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,9216A CPU70p1/V2,CPU70p2/V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 1. 정주기 스캔 명령은 스캔타임과 상관없이 특정 프로그램 구간(INT 명령~ETI 명령까지)을 일정한 주기로 작동시키고자 할 경우에 사용하며, 0.02 초 ~ 10 초까지 지정할 수 있다. 2. 정주기 스캔의 시간설정은 10mSec 단위로 V 값+1 으로 정해지며, 수식으로는 정주기 시간 = (V+1)*0.01 초 이다. 즉, V 값이 3 이면, (3+1)*0.01=40mSec 이 된다. 3. 프로그램 내부에서 정주기 스캔 명령은 하나만 사용할 수 있습니다. 4. 정주기 명령의 동작은 내부접점 F0.11 으로 제어하며, 이 접점이 ON 상태에서만 작동합니다. 5. INT 와 ETI 명령은 항상 oot 에서 직접 연결되어야 하며, 입력조건 없이 사용해야 합니다. 6. 정주기 루틴을 수행하는 시간이 메인 프로그램의 스캔타임 보다 크면 프로그램이 정상적으로 작동하지 않으므로 정주기 루틴은 최소 스텝으로 작성해야 합니다. F M F1.4 접점으로 출력 M1.0 은 0.5 초 동안 ON, 0.5 초 동안 OFF 로 작동합니다. M F INC D=M20 INT V=9 F INC D=M23 ETI F M0.0 이 ON 상태에서 INT 명령이 작동하며, OFF 상태에서는 INT 명령부터 ETI 명령까지 동작하지 않습니다. F0.15 접점에 의해 메인 프로그램이 동작하는 매 스캔마다 M20 워드 값이 1 씩 증가합니다. 정주기 영역은 V 값이 9 이므로 (9+1)*10mS=100mSec 단위로 작동하며, M23 워드는 100mSec 마다 1 씩 증가합니다. 단, M0.0 접점이 ON 상태에서 F0.11 이 ON 되어야 정주기 프로그램이 작동합니다. 117

119 5.34 입출력 제어 명령 입출력 신호제어 니모닉명령 워드수 래더 표시 설 명 적용기종 INP 2 OUT 2 주 1) 적용기종 INP Ch= OUT Ch= 외부입력 리프레쉬(프로그램 수행중 입력신호 받아들임) Ch 는 외부 입력 워드번지 외부출력 리프레쉬(프로그램 수행중 출력신호 보냄) Ch 는 외부출력 워드번지 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,9216A CPU70p1/V2,CPU70p2/V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 주 1) 주 1) 1. PLC 의 입출력 데이터 처리의 순서는 CPU 진단 ( 입력데이터 전송 ( 프로그램 연산 ( 출력 데이터 처리 ( 통신 및 기타 데이터 처리 의 순서로 진행됩니다. 2. INP 및 OUT 명령은 입출력 데이터 전송을 프로그램 스캔 중에 실시하고자 할 경우에 사용하며, 빠른 입력펄스를 감지하거나 특수모듈의 초기 데이터 설정등에 주로 사용합니다. 3. INP 명령은 프로그램 수행 중 데이터를 입력모듈로부터 입력레지스터로 Update 시키는 기능이며, Ch 값은 지정된 입력의 워드번지( 을 제외한 숫자)를 뜻합니다. 4. OUT 명령은 프로그램 수행 중인 출력 레지스터값을 출력모듈로 전송하여 Update 시키는 기능이며, Ch 값은 지정된 출력의 워드번지( 을 제외한 숫자)를 뜻합니다. 5. Ch 값은 0 ~ 63 까지 지정할 수 있으며, Local(기본 및 확장베이스)에 장착된 입출력 모듈의 번지를 지정하며, 리모트 영역의 입출력은 사용할 수 없습니다. 장착된 입출력 모듈의 번지가 아래와 같이 입력 0, 1, 고속카운터(입력 2, 출력 3)등의 경우를 예제로 간단하게 설명한 것입니다. POWE CPU IN IN HSC OUT OUT 모듈종류 (32) 점유 점수 0 1 2,3 4 5 입출력 번지(워드) F LET D=3 S=$0080 OUT Ch=3 F LET D=W1 S=1 F INP Ch=1 <> A=W1 B=1 INC D=W2 프로그램이 시작되는 한 Scan 에서 F1.0 접점이 ON 되며, 출력모듈 3 워드에 값을 $0080 으로 설정되고, 직접 출력모듈에 데이터를 전송하게 됩니다. 매 스캔마다 입력모듈의 데이터를 받아 프로그램을 수행하며, 프로그램 진행중에 입력모듈의 Data 가 변화된 것이 있는지 확인하고자 하는 프로그램이다. 즉, 프로그램 시작시점의 입력 1 워드를 W1 에 저장하고, 다시 입력 모듈로부터 변화된 값을 INP 명령어로 불러와서 1 에 저장하며, 기존의 W1 값과 1 값이 다르면 입력 접점에 변화가 생긴 것을 의미합니다. 매 스캔마다 이것을 점검하여 차이가 나는 회수를 카운터하여 W2 에 저장합니다. 118

120 프로그램 제어 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 WAT 1 END 1 주 1) 적용기종 WAT END 워치독 타이머의 경과치 값을 리셋시킴 (0 으로 처리) 프로그램 수행종료(끝) (마지막 부분은 CPU 에서 자동생성) 주 1) 전기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,9216A CPU70p1/V2,CPU70p2/V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 1. WAT 명령은 프로그램 수행중에 워치독 타이머의 경과치를 리셋시켜 스캔타임이 워치독시간을 초과하여도 프로그램이 정지되지 않도록 하는 명령어 입니다. 2. CPU 에서는 프로그램을 스캔단위로 처리하며, 프로그램 수행과 입출력신호 및 기타 처리시간을 합친 시간을 스캔시간(1 Scan Time)이라 합니다. 3. 스캔타임이 지정한 워치독 타임보다 길어지면 프로그램 처리에 문제가 생긴것으로 판단하고 CPU 는 프로그램 수행을 중단하며, Error 를 발생시킵니다. 4. 스캔타임은 수행할 때 마다 달라지며, 이것을 점검하는 시계가 워치독 타이머이고, 워치독 타임은 프로그램 수행에 문제가 생겨 정지시키고자 하는 최대의 시간을 지정합니다. 최초에 기본으로 설정된 워치독 타임은 3000mSec(3 초)입니다. 5. 특정프로그램 수행시 워치독 타임보다 길어지는 경우가 예상되면 WAT 명령어로 워치독 경과시간을 초기화 하여 프로그램 수행에 이상이 없도록 해 줍니다. 6. WAT 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 7. END 명령은 프로그램의 수행을 종료하고 다음 단계로 넘기는 명령이며, 프로그램 마지막 부분에는 자동으로 CPU 에서 삽입시켜 줍니다. 8. 프로그램을 부분적으로 점검하거나 강제로 프로그램을 종료하고자 할 경우에 사용합니다. 9. END 명령은 항상 oot 에서 직접 연결되어야 하며, 입력조건 없이 사용해야 합니다. 10. WAT, END 명령은 오퍼랜드가 없이 명령어만 사용합니다. F F / LET D=M3 S=$5555 LET D=M3 S=$AAAA F1.4 접점으로 M3 워드는 0.5 초 동안 $5555 을 대입하고, 0.5 초 동안은 $AAAA 를 대입합니다. 일반적인 프로그램이 작동하는 예제입니다. M WAT M5.0 이 ON 상태가 되면 워치독 타임의 경과치를 초기화 시킵니다. F END M 프로그램 중간에 END 명령을 사용하여 강제로 프로그램을 종료시키면 F1.4 접점에 의한 M1.0 출력접점은 동작하지 않습니다. 119

121 5.35 특수기능 제어명령 고속카운터 명령 명령어 워드수 명칭 래더 표시 설 명 SET_HSC SET_HSC 11 HSC 파라메터 설정 Ch= Mode= Start= CmpH= CmpL= SV= PLC 에 내장된 HSC 기능의 파라메터를 설정하기 위한 명령어 HSC HSC 3 HSC 실행 D= CH= PLC 에 내장된 HSC 기능실행 명령어 1. CH 는 설정하고자 하는 채널을 지정하고, Mode 는 Operation Mode 를 설정한다. 상수값만 설정이 가능하다. 2. EN 의 입력신호가 On 되어 있는 동안 지정한 상수값이 해당 기능의 내부레지스터로 대입된다 3. UN 신호가 입력되면 해당기능을 실행하고 지정한 PV 레지스터에 현재의 값을 출력한다. 4. HSC 입력의 경우 ing 입력이 On 되어 있으면 ing count 를 실행한다 5. PWM/PTO 는 동일한 내부 레지스터를 사용하므로 같은 Ch 을 동시에 지정하는 경우는 오동작이 될수 있으니 주의하세요 6. 각 명령어의 해당 기능요약은 아래와 같으며 보다 상세한 내용은 기능별 상세 설명서를 참고하십시요 명령어 Operand 사이즈 내용 SET_HSC Ch 1W HSC Ch number Mode 1W HSC mode 설정 Start 2W HSC Preset Value Cmp H 2W HSC 비교출력 상한값 Cmp L 2W HSC 비교출력 하한값 SV 2W HSC Set Value HSC D 2W HSC Present Value Ch 1W HSC Ch number 120

122 NX7 시리즈 고속카운터 (HSC) 입력기능 고속카운터(High Speed Counter)는 CPU 가 프로그램을 수행하는 속도주기(스캔타임)보다 빠르고 짧은 펄스를 카운터하여, 시퀀스 및 연산에 이용하기 위한 기능이며, 사용하고자 할때는 일반접점에 이용되는 0.0~0.3(0.4~0.7)까지를 고속카운터용 내부비트설정으로 사용할 수 있도록 설계되어 있으며, 신호의 종류는 접점과 같이 DC12~24V 전압을 입력으로 받아들일 수 있도록 되어 있습니다. 고속카운터로 사용할 때는 설정에 따라 펄스입력모드와 엔코더모드로 구분됩니다. 입력사양 NX7 : 최대 단상 8KHz/ 이상 4KHz, 1 Channel NX7 : 최대 40KHz, 2 Channel 파라메터 설정 번지(CH0) 번지(CH1) 신호명 기 능 모드설정 비트 0-6 : 예약 비트 7 : S/W Preset 기능설정 비트 8 : 0.3(0.7) 방향/B 상 사용여부 설정 비트 9 : 0.2(0.6) 펄스/A 상 사용여부 설정 비트 10 : 0.1(0.5) 계수금지사용여부 설정 비트 11 : 0.0(0.4) 프리셋사용여부 설정 (* ON 이면 사용, OFF 면 미사용) 비트 13:12 : 모드설정 00 : 펄스입력모드, 11 : 엔코더입력모드 비트 14 : 링모드설정 비트 15 : UN/STOP 상태표시 현재치(PV) 카운터 현재치 표시 (32bit) 프리셋(Preset) 카운터 프리셋 값 (32bit) 비교치최대(CmpH) 카운터 비교치 최대값 (32bit) 비교치최소(CmpL) 카운터 비교치 최소값 (32bit) 설정치(SV) 카운터 설정치 값 (32bit) ** NX7 의 경우만 CH1 을 지원합니다. 제어설정 번지 신호명 기 능 65.0(65.1) Enable 파라메터 입력 완료 SET_HSC 명령어를 실행시 자동으로 ON 됩니다 65.2(65.3) STAT 카운터 스타트/스톱 HSC 명령어 사용시 입력상태를 반영합니다. 정상적으로 동작이 개시되면 40.15(41.15)에도 반영됩니다 (ON 이면 STAT, OFF 면 STOP) 입력단자 번지 신호명 기 능 0.0(0.4) Preset 프리셋(Preset) 값을 카운터 현재치로 저장함. 즉, 접점을 ON 하면 초기값을 현재값으로 저장함. (단, (41.11)번지가 SET 되어 있을 때 작동됨) 0.1(0.5) Inhibit 계수금지입력 (접점 ON 시 카운터를 중지함). (단, (41.10) 번지가 SET 되어 있을 때 작동됨) 0.2(0.6) IN 0 MODE0 설정시: 카운트 펄스 입력 MODE2 설정시: Encode 의 A 상 입력 0.3(0.7) IN 1 MODE0 설정시: 카운트 방향 입력 MODE2 설정시: Encode 의 B 상 입력 ** () 는 CH1 에 해당됩니다. 121

123 펄스출력 PWM 제어 명령 명령어 워드수 명칭 래더 표시 설 명 SET_PWM SET_PWM 6 PWM 파라메터 설정 Ch= Mode= Freq= SV= Duty= PLC 에 내장된 PWM 기능의 파라메터를 설정하기 위한 명령어 PWM PWM 3 PWM 실행 D= CH= PLC 에 내장된 PWM 기능실행 명령어 1. CH 는 설정하고자 하는 채널을 지정하고, Mode 는 Operation Mode 를 설정한다. 상수값만 설정이 가능하다. 2. EN 의 입력신호가 On 되어 있는 동안 지정한 상수값이 해당 기능의 내부레지스터로 대입된다 3. PWM/PTO 는 동일한 내부 레지스터를 사용하므로 같은 Ch 을 동시에 지정하는 경우는 오동작이 될수 있으니 주의하세요 4. 각 명령어의 해당 기능요약은 아래와 같으며 보다 상세한 내용은 기능별 상세 설명서를 참고하십시요 명령어 Operand 사이즈 내용 SET_PWM Ch 1W PWM Ch number Mode 1W PWM mode 설정 Freq 2W PWM 목표출력주파수 SV 2W PWM 출력 지령펄스수 Duty 1W PWM On Duty % PWM D 2W PWM 출력된 펄스수 Ch 1W PWM number 과거자료 명령어 Operand 사이즈 내장레지스터 내용 PWM PV 2W 85:84/95/94 PWM Ch0/1 현재치 Ch 1W 0,1 PWM Ch0/1 number Mode 1W 80/90 PWM Ch0/1 mode 설정 SV 2W 83:82/93:92 PWM Ch0/1 초기펄스수 Duty W 81/91 PWM Ch0/1 Duty 값 EN Bit 64.0/64.1 PWM Ch0/1 Parameter Load UN Bit 64.2/64.3 PWM Ch0/1 un 수행 122

124 고속펄스(PWM/PTO) 출력기능 개요 : 고속펄스출력기능는 CPU 가 프로그램을 수행하는 속도주기(스캔타임)보다 빠르고 짧은 펄스를 출력하여, 시퀀스 및 연산에 이용하기 위한 기능이며, 사용하고자 할때는 일반접점에 이용되는 16.0~16.3 까지를 고속출력용 내부비트설정으로 사용할 수 있도록 설계되어 있읍니다, 고속출력으로 사용할 때는 설정에 따라 PWM(Pulse Width Modulation)모드와 PTO(Pulse Transition Output)모드로 구분됩니다. 출력사양 : NX7 : 최대 PTO:10KHz, PWM:5KHz, 2 Channel (단, PWM 시 Duty 는 20% ~ 75%) NX7 : 최대 PTO:60KHz, PWM:30KHz,2 Channle (단, PWM 시 Duty 는 10% ~ 85%) 파라메터 설정 번지(CH0) 번지(CH1) 신호명 기 능 모드설정 비트 0-8 : 예약 비트 9 : 16.2(16.3) 방향출력 사용여부 (1 : 사용, 0: 미사용) 비트 10 : 예약 비트 11 : 16.2(16.3) 방향출력제어 (1 = High, 0 = Low) 비트 13:12 : 모드설정 00 : PTO 모드 (Pulse + Direction) 11 : PWM 모드 (PWM + Direction) 비트 14 : 예약 비트 15 : UN/STOP 상태표시 목표주파수(Freq) 출력주파수 설정 82~ 출력펄스수(SV) 출력펄스수 설정 출력된펄스수(PV) 출력된 펄스수 표시 시작주파수(Start or Duty) PTO 모드 : 시작주파수 PWM 모드 : On Duty 설정 가속펄스수(Acc) PTO 모드 : 가속펄스수설정 PWM 모드 : 사용안함 감속펄스수(Dcc) PTO 모드 : 감속펄스수설정 PWM 모드 : 사용안함 예약 제어설정 번지 신호명 기 능 64.0(64.1) Enable 파라메터 입력 완료 SET_PTO(또는 SET_PWM) 명령어를 실행시 자동으로 ON 됩니다 64.2(64.3) STAT 펄스출력 스타트/스톱 PTO/PWM 명령어 사용시 입력상태를 반영합니다. 정상적으로 동작이 개시되면 80.15(91.15)에도 반영됩니다 (ON 이면 STAT, OFF 면 STOP) ** () 는 CH1 에 해당됩니다 출력단자 번지 신호명 기 능 16.0(16.1) 펄스출력 PTO/PWM 펄스를 출력합니다. 16.2(16.3) 방향출력 80.9(90.9) 가 ON 되어 있을 때 80.11(90.11) 의 상태를 출력합니다 ** () 는 CH1 에 해당됩니다. 123

125 펄스출력 PTO 명령 명령어 워드수 명칭 래더 표시 설 명 SET_PTO SET_PTO 9 PTO 파라메터 설정 Ch= Mode= Freq= SV= Start= Acc= Dcc= PLC 에 내장된 PTO 기능의 파라메터를 설정하기 위한 명령어 PTO PTO 3 PTO 실행 D= CH= PLC 에 내장된 PTO 기능실행 명령어 1. CH 는 설정하고자 하는 채널을 지정하고, Mode 는 Operation Mode 를 설정한다. 상수값만 설정이 가능하다. 2. EN 의 입력신호가 On 되어 있는 동안 지정한 상수값이 해당 기능의 내부레지스터로 대입된다 3. UN 신호가 입력되면 해당기능을 실행하고 지정한 PV 레지스터에 현재의 값을 출력한다. 4. HSC 입력의 경우 ing 입력이 On 되어 있으면 ing count 를 실행한다 5. PWM/PTO 는 동일한 내부 레지스터를 사용하므로 같은 Ch 을 동시에 지정하는 경우는 오동작이 될수 있으니 주의하세요 6. 각 명령어의 해당 기능요약은 아래와 같으며 보다 상세한 내용은 기능별 상세 설명서를 참고하십시요 명령어 Operand 사이즈 내용 SET_PTO Ch 1W PTO number Mode 1W PTO mode 설정 Freq 1W PTO 목표출력주파수 값 SV 2W PTO 출력 지령펄스수 Start 1W PTO 시작주파수 Acc 1W PTO 가속펄스수 Dcc 1W PTO 감속펄스수 PTO D 2W PTO 출력된 펄스수 Ch 1W PTO number 과거자료 명령어 Operand 사이즈 내장레지스터 내용 PTO PV 2W 85:84/95/94 PTO Ch0/1 현재치 Ch 1W 0,1 PTO Ch0/1 number Mode 1W 80/90 PTO Ch0/1 mode 설정 Freq 1W 81/91 PTO Ch0/1 출력파수 값 SV 2W 83:82/93:92 PTO Ch0/1 출력펄스수 Start 1W 86/96 PTO Ch0/1 시작주파수 Acc 1W 87/97 PTO Ch0/1 가속펄스수 Decel 1W 88/98 PTO Ch0/1 감속펄스수 EN Bit 64.0/64.1 PTO Ch0/1 Parameter Load UN Bit 64.2/64.3 PTO Ch0/1 un 수행 124

126 PID 제어 명령 명령어 워드수 명칭 래더 표시 설 명 SET_PID 15 PID parameter 설정 SET_PID Parm= Co nt ro l= SP= PV= Kc= Ti= Td= L- Ti me = FF /B ia s= DB= SPmax= SPmin= CVmax= CVmin= PID 파라메터를 설정하기 위한 명령어 PID PID 2 PID 실행 Parm= PID 실행명령어 명령어 Operand 사이즈 내용 SET_PID Parm 1W PID Parameter 설정을 위한 선두 레지스터 지정 Control 1W PID 제어모드 설정 SP 1W Set Point 설정 PV 1W Process Value 입력 Kc 1W Controller Gain 설정 Ti 1W Integral Gain 설정 Td 1W Derative Gain 설정 L-Time 1W Sample Time 설정 (x10ms) FF/Bias 1W Feedforward Bais 설정 DB 1W Deadband 설정 SPmax 1W Set point maximum value 설정 SPmin 1W Set point minimum value 설정 CVmax 1W Contorl Output Value maximum value 설정 CVmin 1W Contorl Output Value minimum value 설정 PID Parm 1W PID Parameter 블럭 선두 레지스터 동작설명 습도,압력,유량,액화등의 프로세스 제어량(PV) 를, 목표치(SP)에 일치시켜 유지하기 위해, PID 연산을 수행하고 그 결과를 출력치(CV)에 출력합니다. 프로세스 제어량의 현재치를, A/D 변환유니트 등을 이용하여 PV 에 입력해주십시오. PID 연산 값 CV 을, D/A 변환유니트 등을 이용하여 프로세스로 출력해 주십시오 PID 연산에 사용되는 계수(비례 Gain,적분시간,미분시간)나 연산의 종류 및 주기는 파라메타테이블로 설정해주십시오. 지정한내용으로 PID 연산을 수행합니다. 125

127 파라메터 테이블의 설정 인덱스 심볼 내용 입/출력 입출력 범위 0 STATUS PID 진행상태 표시 출력 비트 1 CONTOL PID 제어모드 설정 입력 비트 2 SP 목표치 입력 ~ PV 현재치 입력 ~ CV 출력치 입력 ~ Kc 비례 Gain 입력 0 ~ Ti 적분시간 입력 0 ~ Td 미분시간 입력 0 ~ BIAS 바이어스 입력 ~ SP max 설정치 최대값 입력 ~ SP min 설정치 최소값 입력 ~ ZCB 불감대역 입력 0 ~ CV max 출력치 최대값 입력 ~ CV min 출력치 최소값 입력 ~ Ts 샘플링 타임 입력 0 ~ ECODE 에러코드 출력 16~17 PID 연산용 에리어 18 CV man 매뉴얼모드시 강제출력값 입력 ~ ~29 PID 연산용 에리어 각 파라메터의 설명 상태표시워드 (STATUS) 비트번호 내용 PID enable Bit 0 1 : PID enable, 0 : PID disable Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 9-15 PID done 1 : PID 완료, 0 : PID ready PID parameter error 1 : Error, 0 : 정상 DB : Error is in Deadband 1 : Error 의 절대값 <= 불감대역 값, 0 : 에러의 절대값 > 불감대역 값 PID 샘플링 시간이 빠름 1 : PID lost working, 0 : none CV is over Cvmax when Output Limiting Enable 1 : CV > Cvmax, 0 : CV <= CVmax CV is under Cvmin when Output Limiting Enable 1 : CV < CV min, 0 : CV > CV min SP out of range when SP Limiting Enable 1 : SP < SP min, or SP > SP max, 0 : SP min <= SP <= SP max PV ou of range when SP Limiting Enable 1 : PV < SP min, or PV > SP max, 0 : SP min <= PV <= SP max 예약 126

128 제어워드 (CONTOL) 비트 번호 내용 Bit 0 항상 Off Bit 1 자동/수동 모드 설정, 0: 자동, 1: 수동 에러 처리 동작 설정 Bit 2 1: 정동작 (PV-SP or PVn-1 - PVn), 0: 역동작 (SP-PV or PV PVn-1) Bit 3 출력값 범위 리미트 설정, 1: Enable, 0: Disable Bit 4 Ti/Td 게인 x 10 설정, 1: Enable, 0: Disable Bit 5 설정치 범위 리미트 설정, 1: Enable, 0:Disable Bit 6 미분항 처리 동작 설정, 1: Error, 0: delta PV Bit 7 비례동작 처리 설정, 1: Error, 0: delta PV 용어정리 설정치 (SP) 프로세스 제어량의 목표치를 설정합니다. ( ~ 32767) 설정치 범위 리미트가 Enable 되어 있으면 SPmin ~ SPmax 에 설정합니다 측정치 (PV) 프로세스 제어량의 측정치를 입력합니다. ( ~ 32768) A/D 변환유니트를 이용하여 입력하여 주십시요 설정치 범위 리미트가 Enable 되어 있으면 SPmin ~ SPmax 에 설정합니다 출력치 (CV) PID 연산 결과가 보관됩니다. D/A 변환유니트를 이용하여 프로세스로 출력해 주십시요 출력치 범위 리미트가 Enable 되어 있으면 CVmin ~ CVmax 에 설정됩니다 제어기 게인 (Kc) PID 연산에 사용되는 제어기 게인을 설정합니다. 설정치 x 0.01 이 실제의 게인이 됩니다. 적분시간 (Ti) PID 연산에 사용되는 적분 게인을 설정합니다. 설정치 x 10ms 이 실제의 게인이 됩니다. 설정치 범위는 0 ~ 이며, Ti/Td 게인 x 10 설정 이 활성화 되어 있으면 x10 이 됩니다. 0 이면 적분을 실행하지 않습니다. 미분시간 (Td) PID 연산에 사용되는 미분 게인을 설정합니다. 설정치 x 10ms 이 실제의 게인이 됩니다. 설정치 범위는 0 ~ 이며, Ti/Td 게인 x 10 설정 이 활성화 되어 있으면 x10 이 됩니다. 0 이면 미분을 실행하지 않습니다. 바이어스 (FF/Bias) PID 연산 결과 출력치에 더하는 바이어스를 값을 설정합니다. ( ~ 32767) 불감대역 (ZCB) PID 연산이 실행될 최소 오차값을 설정합니다. (0 ~ 32767) 오차(Error) 값의 절대값이 설정값보다 작으면 PID 연산을 중지합니다 설정치 최대값 (SPmax) 127

129 프로세스 제어량의 목표치의 최대값을 설정합니다. ( ~ 32767) 설정치 범위 리미트가 Enable 되면 활성화 됩니다. A/D 변환유니트의 최대값 사용을 권장합니다 설정치 최소값 (SPmin) 프로세스 제어량의 목표치의 최소값을 입력합니다. ( ~ 32767) 설정치 범위 리미트가 Enable 되면 활성화 됩니다. A/D 변환유니트의 최소값 사용을 권장합니다 출력치 최대값 (CVmax) PID 연산결과의 최대값을 설정합니다. ( ~ 32767) 출력치 범위 리미트가 Enable 되면 활성화 됩니다. D/A 변환유니트의 최대값 사용을 권장합니다 출력치 최소값 (CVmin) PID 연산결과의 최소값을 입력합니다. ( ~ 32767) 출력치 범위 리미트가 Enable 되면 활성화 됩니다. D/A 변환유니트의 최소값 사용을 권장합니다 연산주기(Ts) PID 연산 주기를 설정합니다. (1 ~ x 10ms) 연산주기가 너무 빠르면 상태표시의 Bit4 가 On 됩니다 에러코드(ECODE) PID 파라메터의 오류여부를 검사하여 표시합니다 에러코드 내용 조치사항 11 연산주기 설정오류 (Ts) 연산주기(Ts) 값을 1 이상으로 설정합니다 12 제어기 게인설정오류 (Kc) 제어기 게인을 0 이상으로 설정합니다 13 적분시간 설정오류 (Ti) 적분시간을 0 이상으로 설정합니다 14 미분시간 설정오류 (Td) 미분시간을 0 이상으로 설정합니다 21 목표치(SP) 범위설정오류 목표치 최소값을 최대값 이하로 설정합니다 25 불감대역 범위설정 오류 불감대역 설정값을 0 이상으로 설정합니다 26 출력치(SP) 범위설정오류 출력치 최소값을 최대값 이하로 설정합니다 출력치 수동조작 값(CV manual) PID 가 수동모드일 경우에 출력치 값을 설정합니다 연산용 워크에리어 PID 연산을 위한 내부 영역입니다. 다른 연산에서 사용하지 않도록 주의하여 주십시요 PID 연산오류 발생의 원인이 됩니다 프로그램 상의 주의사항 PID 연산은 Para 에 설정된 레지스터부터 30 개의 워드를 사용합니다. 이영역이 다른 연산에서 사용하지 않도록 주의하여 주십시요 참고 : PID 연산의 종류 128

130 CV = Kc x ( de + 1/Ti de x dt + Td x de/dt) + Bias CV : 출력치 de : 에러값 ( SP- PV 또는 PV PVn-1) 제어모드 (CONTOL) 설정에 따른 연산 정/역동작 미분항 비례항 연산종류 연산식 설정 에러처리 에러처리 Off Off Off PID CV = Kc x ( de + 1/Ti de x dt + Td x de/dt) de : SP-PV Off Off On PI-D CV = Kc x ( de + 1/Ti de x dt + Td x dpv/dt) de : PV-SP dpv :PV - PVn-1 Off On On I-PD CV = Kc x ( dpv + 1/Ti de x dt + Td x de/dt) de : PV-SP dpv :PV - PVn-1 On Off Off PID CV = Kc x ( de + 1/Ti de x dt + Td x de/dt) de : PV-SP On Off On PI-D CV = Kc x ( de + 1/Ti de x dt + Td x dpv/dt) de : PV-SP dpv :PVn-1 - PV On On On I-PD CV = Kc x ( dpv + 1/Ti de x dt + Td x de/dt) 역동작/정동작 de : PV-SP dpv :PVn-1 - PV 프로세스에 변화가 있을때, 출력의 상하방향을 선택할 수 있습니다. 역동작 : 측정값이 내려가서, 출력을 올릴경우(가열등) 지정합니다. 정동작 : 측정값이 올라가서, 출력을 올릴경우(냉각등) 지정합니다. 는 정동작 을지정합니다. 미분선행형(PI-D) 제어목표값이 스텝함수상으로 변화했을 경우, 미분동작의 원리적으로 조작량이 예리한 펄스상의 응답을 나타냅니다. 그러나, 실제제어를 해보면 이와 같은 제어는 불가능하며, 설비에 미치는 영향도 바람직하지 않습니다. 그래서 목표값에 대한 미분처리를 하지않고 측정값만에 미분처리가 작용하도록 한 연산이 PI-D(미분선행형 PID 제어) 입니다. 비례미분 선행형(I-D) 상기 PI-D(미분선행 형 PID 제어)에서도 제어목표 값이 스텝상으로 변화했을 경우, 비례동작에는 스텝함수가 포함되어 있습니다. 따라서, 미분동작에 더하여 다시 비례동작도 측정값에만 작용하도록 한 것이 I-PD(비례선행 형 PID 제어)입니다. 129

131 서스펜드(Suspend) 명령 명령어 워드수 명칭 래더 표시 설 명 SUS 2 에러감지 진단 SUS V= 에러감지 후 시스템 정지 및 에러모드로 전환함 1. 시스템을 디버깅 하거나 진단할 때 이 명령어를 사용합니다. 2. 이 명령어는 PLC 를 에러 상태로 변경한다. 3. 에러 코드는 온라인에서 CPU 진단(Diagnostics), (online - System Information - CPU Diagnostics - Misc) 에서 확인할 수 있다. 4. 에러를 지우기 위해서는 사용자 툴 바에서 "Clear fault" 버튼을 누르거나, F1.14 비트를 1 로 설정하면 된다. M0.0 SUS V=10 M0.0 이 On 이 되면 CPU 는 즉시 Ladder 수행을 중지하고 Error Stop Mode 로 전환됩니다. 이때 지정된 V 값은 특수레지스터에 저장됩니다. (V 값은 WinGPC 에서 Online-System Information-CPU Diagnostic-Misc 에서 확인가능 합니다. WinGPC 의 Clear Fault Button 에 의해 Error 가 해제됩니다) 130

132 5.36 시간제어 명령 명령어 워드수 명칭 래더 표시 설 명 SET_DATE 5 TC Date 설정 SET_DATE Year = Month= Week= Day= PLC 에 eal time clock 에 년/월/주/일을 설정한다. GET_DATE 2 TC Date 참조 GET_DATE D = PLC 에 eal time clock 에서 년/월/일/시를 읽어낸다. SET_TIME 4 TC Time 설정 SET_TIME HOU = MIN= SEC= PLC 에 eal time clock 에 시/분/초을 설정한다. GET_TIME 2 T2S 4 TC Time 참조 Time to Second GET_TIME D = T2S D = S = PLC 에 eal time clock 에서 일/시/분/초를 읽어낸다. 시간(BCD)을 초(십진데이타)로 바꾸어 준다 S2T 4 Second to Time S2T D = S = 초(10 진 데이터)를 시간(BCD)으로 바꾸어 준다 1. SET_DATE 와 SET_TIME 에서 설정하는 값은 모두 상수값이다. 2. TC 관련하여 처리되는 데이터는 모두 BCD 형이다 3. GET_DATE 로 읽는 경우 워드번지별 데이타는 다음과 같다. D 상위바이트 Year(년) 하위바이트 Month(월) D+1 상위바이트 Date(일) 하위바이트 Hour(시) 4. GET_TIME 으로 읽는 경우 워드번지별 데이타는 다음과 같다. D 상위바이트 DATE(일) 하위바이트 HOU(시) D+1 상위바이트 MIN(분) 하위바이트 SEC(초) T2S S 상위바이트 12(BCD) D+1:D 1,123,005 하위바이트 34(BCD) S+1 상위바이트 56(BCD) 하위바이트 45(BCD) S2T S+1:S 1,123,005 D 상위바이트 12(BCD) 하위바이트 34(BCD) D+1 상위바이트 56(BCD) 하위바이트 45(BCD) 주의사항 SET_DATE 와 SET_TIME 명령어의 경우 PLC 메모리에 업데이트 하는 속도가 느리기 때문에 GET_DATE나 GET_TIME 명령어와 함께 사용할 때에 주의하도록 한다. 131

133 5.37 통신모듈 제어명령 공유메모리 읽기 니모닉명령 워드수 래더 표시 설 명 적용기종 EAD 5 주 1) 적용기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. 고기능 입출력 모듈은 입출력 모듈에 전용의 프로세서와 메모리를 내장하여 PLC CPU 와 데이터를 교환하는 구조를 가진 것을 말하며, 아날로그 입출력, 고속카운터, 위치결정 모듈, SCU 통신모듈, DeviceNet, 리모트모듈, 링크모듈 등이 있다. 2. EAD 명령어는 고기능 입출력 모듈에 내장된 메모리(공유메모리)의 데이터를 PLC CPU 가 읽어내기 위해 사용합니다. 3. 1= 읽은 데이터를 보관할 워드의 시작번지(PLC CPU 의 레지스터), N3= 읽고자 하는 데이터 또는 레지스터의 갯수, NN5= 입출력 모듈이 장착된 슬롯번호(0 부터 바이트 단위의 숫자, 슬롯번호 부문 참조) N6= 고기능 입출력 모듈에서 읽고자 하는 공유메모리의 시작번지(숫자/레지스터) 4. EAD 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 고기능의 아날로그 입력모듈을 공유메모리 방식으로 번지지정을 하고, 공유 메모리 데이터를 읽기 위한 예제 입니다. POWE EAD TO=1 SZ=N3 F=NN5:N6 CPU IN IN A/I OUT OUT 모듈종류 Ch 점유 점수(비트) 0 1, ,6 입출력 번지(워드) 슬롯 번호 F EAD TO=W2 SZ=8 F=2:0 고기능 입출력 모듈의 공유 메모리 데이터 읽기 -지정 Slot(NN5)의 내부번지(NN6) 부터 지정워드 수(N3) 를 읽어내어 레지스터(1)에 차례로 저장함. 공유메모리 방식으로 설정한 경우에 해당됨 (입력 접점방식의 경우 채널 수 만큼 워드지정(8 채널=8 워드 할당됨)) 저장위치 읽을 워드수 시작번지(A/D 매뉴얼참조) 장착된 모듈의 슬롯번호 주 1) 아날로그 입력모듈의 공유메모리 영역(0~52 번 워드까지)의 데이터 중 0~7 번까지 8 개 워드의 내용을 읽어서 W2 워드부터 W9 워드까지 저장하는 명령어 입니다.. 아날로그 모듈의 공유메모리 영역 공유 메모리 데이터값 PLC CPU 내부 레지스터 영역 CPU 메 모 리 데 이 터 값 W W W W W W W W W W W

134 공유메모리 쓰기 니모닉명령 워드수 래더 표시 설 명 적용기종 WITE 5 주 1) 적용기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : NN=숫자 표시, N=숫자 또는 레지스터, =레지스터 표시 1. 고기능 입출력 모듈은 입출력 모듈에 전용의 프로세서와 메모리를 내장하여 PLC CPU 와 데이터를 교환하는 구조를 가진 것을 말하며, 아날로그 입출력, 고속카운터, 위치결정 모듈, SCU 통신모듈, DeviceNet, 리모트모듈, 링크모듈 등이 있다. 2. WITE 명령어는 PLC CPU 의 레지스터 데이터를 고기능 입출력 모듈에 내장된 메모리 (공유메모리)에 데이터를 쓰기(전송하기) 위해 사용합니다. 3. NN1= 입출력 모듈이 장착된 슬롯번호(0 부터 바이트 단위의 숫자, 슬롯번호 부문 참조) N2= 고기능 입출력 모듈에 쓰고자 하는 모듈 공유메모리의 시작번지(숫자/레지스터) N3= 쓰고자 하는 데이터 또는 레지스터의 갯수 N5= 쓰고자 하는 PLC CPU 의 레지스터 시작번지(숫자/레지스터) 4. WITE 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없고, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 고기능의 아날로그 출력모듈을 공유메모리 방식으로 번지지정을 하고, 모듈의 공유 메모리에 데이터를 쓰기 위한 예제 입니다. POWE WITE TO=NN1:N2 SZ=N3 F=N5 CPU IN IN A/O OUT OUT 모듈종류 Ch 점유 점수(비트) 0 1, ,6 입출력 번지(워드) 슬롯 번호 F WITE TO=2:0 SZ=4 F=W0002 고기능 입출력 모듈의 공유 메모리에 데이터 쓰기 PLC 레지스터/숫자(N5)에서 워드수(N3)만큼 읽어내어 지정슬롯(NN1)의 모듈레지스터(2)에 차례로 저장함. 공유메모리 방식으로 설정한 경우에 해당됨 (입력 접점방식의 경우 채널 수 만큼 워드지정(4 채널=4 워드 할당됨)) 슬롯번호, 저장할 공유번지 전송할 워드수 전송할 CPU 레지스터 번지 아날로그 출력모듈의 공유메모리 영역(0~47 번 워드까지)의 0~3 번 영역에 CPU 의 W2~W5 워드의 4 개를 전송하는 명령어 입니다. 주 1) PLC CPU 내부 레지스터 영역 CPU 메모리 데이터값 W0000 W0001 W W W W W0006 W0007 아날로그 출력모듈의 공유메모리 영역 공유 메모리 데이터값

135 리모트 읽기 명령 니모닉명령 워드수 래더 표시 설 명 적용기종 MD 7 주 1) 적용기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. 고기능 입출력 모듈은 입출력 모듈에 전용의 프로세서와 메모리를 내장하여 PLC CPU 와 데이터를 교환하는 구조를 가진 것을 말하며, 아날로그 입출력, 고속카운터, 위치결정 모듈, SCU 통신모듈, DeviceNet, 등이 있다. 2. MD 명령어는 리모트 슬레이브(자국)의 베이스에 장착된 고기능 입출력 모듈의 공유메모리 데이터를 PLC CPU 가 읽어내기 위해 사용합니다. 3. N1= 읽고자 하는 데이터 또는 레지스터의 갯수, 2= 읽은 데이터를 보관할 워드의 시작번지(PLC CPU 의 레지스터), NN3= 리모트 네트워크의 번호(1, 2 또는 3 = 리모트 Master 가 1 개의 경우 1) NN4= 해당 리모트 네트워크에 연결된 Slave Station 의 번호 NN5= 읽고자 하는 모듈이 장착된 슬롯 번호 N6= 고기능 입출력 모듈에서 읽고자 하는 공유메모리의 시작번지(숫자/레지스터) 4. MD 명령은 SCAN 완료후에 실행 하므로 1Scan 내에 해당 리모트 네트워크에 중복으로 수행되지 않도록 프로그램 작업시 주의해야 합니다. 5. MD 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 리모트 Master 가 장착된 상태에서 Slave ID 5 번의 4 번슬롯 번호에 있는 고기능의 아날로그 입력모듈을 공유메모리 방식으로 번지지정을 하고, 공유 메모리 데이터를 읽기 위한 예제. POWE CPU EM IN IN OUT OUT Mas ter 0,1 2,3 4 5, F8.0 F8.8 / MD TO=N1:2 NT=NN3:NN4 Fr=NN5:N6 F8.14 / 리모트 슬레이브(자국)의 베이스에 장착된 고기능 입출력 모듈의 공유 메모리 데이터 읽기 리모트 Loop(NN3)의 Station(NN4)에 대한 Slot 번호(NN5)의 공유메모리(N6)에서 워드수(N1)를 읽어 레지스터(2)에저장 MD TO=4:W10 NT=1:5 F=4:0 POWE 주 1) EM IN IN OUT OUT A/I Slave Ch #5 0,1 2,3 4 5, 공유 메모리방식 으로 지정 리모트 통신이 정상일 때, Slave 에 장착된 4 채널 아날로그 입력모듈의 입력 데이터를 읽어 W10~13 번 워드에 저장하는 명령어 입니다. 아날로그 입력모듈의 공유메모리 영역 공유 메모리 데이터값 PLC CPU 내부 레지스터 영역 CPU 메모리 데이터값 W0009 W W W W W0014 W

136 리모트 쓰기명령 니모닉명령 워드수 래더 표시 설 명 적용기종 MW 7 주 1) 적용기종 MW NT=NN1:NN2 TO=NN3:N4 F=N5:N6 리모트 슬레이브(자국)의 베이스에 장착된 고기능 입출력 모듈의 공유 메모리에 데이터 쓰기 CPU 의 데이터/레지스터(N6)부터 워드수(N5)를 읽어 리모트 Loop(NN1) Station(NN2)의 Slot 번호(NN3)의 공유메모리(N4)에 저장 주 1) SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. 고기능 입출력 모듈은 입출력 모듈에 전용의 프로세서와 메모리를 내장하여 PLC CPU 와 데이터를 교환하는 구조를 가진 것을 말하며, 아날로그 입출력, 고속카운터, 위치결정 모듈, SCU 통신모듈, DeviceNet, 등이 있다. 2. MW 명령어는 리모트 슬레이브의 베이스에 장착된 고기능 입출력 모듈의 공유 메모리에 데이터를 쓰기 위해 사용합니다. 3. NN1= 리모트 네트워크의 번호(1, 2 또는 3 = 리모트 Master 가 1 개의 경우 1) NN2= 해당 리모트 네트워크에 연결된 Slave Station 의 번호 NN3= 쓰고자 하는 모듈이 장착된 슬롯 번호 N4= 고기능 입출력 모듈에 쓰고자 하는 공유메모리의 시작번지(숫자/레지스터) N5= 쓰고자 하는 데이터 또는 레지스터의 갯수, 6= 쓰고자 하는 데이터가 저장되어 있는 CPU 의 시작번지(PLC CPU 의 레지스터), 4. MW 명령은 SCAN 완료후에 실행 하므로 1Scan 내에 해당 리모트 네트워크에 중복으로 수행되지 않도록 프로그램 작업시 주의해야 합니다. 5. MW 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 리모트 Master 가 장착된 상태에서 Slave ID 5 번의 4 번슬롯 번호에 있는 고기능의 아날로그 출력모듈을 공유메모리 방식으로 번지지정을 하고, 공유 메모리에 데이터를 쓰기 위한 예제. POWE CPU EM IN IN OUT OUT Mas ter 0,1 2,3 4 5, F8.0 F8.8 / F8.14 / MW NT=1:5 TO=4:0 F=4:1000 <PLC CPU 내부 레지스터 영역> 데이터 1000 POWE EM IN IN OUT OUT A/O Slave Ch #5 0,1 2,3 4 5, 공유 메모리방식 으로 지정 리모트 통신이 정상일 때, Slave 에 장착된 4 채널 아날로그 출력모듈에 데이터 1000 을 전송(쓰기)하는 명령어 입니다. <아날로그 출력모듈의 공유메모리 영역> 공 유 메모리 데이터값

137 링크 데이터 수신명령 니모닉명령 워드수 래더 표시 설 명 적용기종 ECV 7 주 1) 적용기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. ECV 명령어는 링크 네트워크를 구성한 상태에서 다른 ID 를 가진 CPU 의 데이터를 읽어내기 위해 사용합니다. 2. N1= 수신(읽고자 하는) 데이터 또는 레지스터의 개수. 2= 수신(읽은) 데이터를 보관할 워드의 시작번지(PLC CPU 의 레지스터), NN3= 링크 네트워크의 Loop 번호(1, 2 또는 3 = 링크가 CPU 마다 1 개씩 장착된의 경우 1) NN4= 해당 링크 네트워크에 연결된 Station 의 번호(ID 번호) NN5= 읽고자 하는 레지스터의 종류(0= L 레지스터, 1=M, 2=, 3=K, 4=SV, 5=PV,6=W,7=F) N6= 읽고자 하는 레지스터의 시작번지(숫자/레지스터) 원격 CPU 3. ECV 명령은 SCAN 완료후에 실행 하므로 1Scan 내에 해당 링크 네트워크에 중복으로 수행되지 않도록 프로그램 작업시 주의해야 합니다. 4. ECV 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 링크 통신모듈이 1 개씩 장착된 상태에서 Link ID 3 번 CPU 에 있는 레지스터(종류 2)의 5 번 워드부터 3 개를 읽어 자신의 K10 번지부터 저장하는 예제. POWE ECV TO=N1:2 NT=NN3:NN4 F=NN5:N6 CPU Link IN IN OUT OUT # ,2 3 4, 읽기(수신) 명령 링크통신 모듈을 이용한 워드 데이터 수신명령 링크 네트워크(NN3)의 Station(NN4)에 대한 레지스터 종류(NN5)의 지정위치(N6)에서 지정워드 수(N1)를 읽어 레지스터(2)에 차례로 저장함. POWE CPU Link IN IN OUT OUT # ,1 2, 주 1) F3.3 F3.10 / ECV TO=3:K10 NT=1:3 F=2:5 링크가 장착되어 있고, 송신 완료된 상태에서 ID #3 번의 5 번지부터 3 개워드를 읽어 ID #1 번의 K10~12 번 워드에 저장하는 기능입니다. PLC CPU #1 레지스터 영역 CPU #1 메모리 데이터값 K0009 K0010 $2345 K0011 $3456 K0012 $4567 K0013 K0014 PLC CPU #3 레지스터 영역 CPU #3 메모리 데이터값 $ $ $ $

138 링크 데이터 전송명령 니모닉명령 워드수 래더 표시 설 명 적용기종 SEND 7 주 1) 적용기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. SEND 명령어는 링크 네트워크를 구성한 상태에서 CPU 의 데이터를 다른 ID 를 가진 CPU 에 데이터를 전송하기 위해 사용합니다. 2. NN1= 링크 네트워크의 Loop 번호(1, 2 또는 3 = 링크가 CPU 마다 1 개씩 장착된의 경우 1) NN2= 해당 링크 네트워크에 연결된 Station 의 번호(ID 번호) NN3= 저장할 레지스터의 종류(0= L 레지스터, 1=M, 2=, 3=K, 4=SV, 5=PV,6=W,7=F) N4= 전송한 레지스터를 저장할 시작번지(숫자/레지스터) 원격지 CPU. N5= 전송하고자 하는 데이터 또는 레지스터의 개수. N6= 전송하고자 하는 데이터의 레지스터 번지 3. SEND 명령은 SCAN 완료후에 실행 하므로 1Scan 내에 해당 링크 네트워크에 중복으로 수행되지 않도록 프로그램 작업시 주의해야 합니다. 4. SEND 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 링크 통신모듈이 1 개씩 장착된 상태에서 Link ID 4 번 CPU 의 W10~14 영역에 ID 1 번 CPU 의 4 워드부터 5 개를 송신(쓰기)하는 명령 예제. POWE SEND NT=NN1:NN2 TO=NN3:N4 F=NN5:N6 CPU Link IN IN OUT OUT # ,2 3 4, 쓰기(송신) 명령 링크통신 모듈을 이용한 워드 데이터 송신명령 지정레지스터/숫자(N6)의 지정워드 수(N5)를 읽어 링크 네트워크(NN1)의 Station(NN2)에 레지스터 종류(NN3)의 지정위치(N4)에 차례로 저장함 POWE CPU Link IN IN OUT OUT # ,1 2, 주 1) F3.3 F3.10 SEND / NT=1:4 TO=6:10 F=5:4 PLC CPU #1 레지스터 영역 CPU #1 메모리 데이터값 $ $ $ $ $ 링크 네트워크 = 1, Station (ID)번호= 4 송신 저장번지 종류 W=6, 시작 번지 = 10 송신워드 개수 = 5, 송신워드 시작번지 = 4 PLC CPU #4 레지스터 영역 CPU #4 메모리 데이터값 W0009 W0010 $1234 W0011 $2345 W0012 $3456 W0013 $4567 W0014 $

139 링크 비트 수신 (ECVB) 니모닉명령 워드수 래더 표시 설 명 적용기종 ECVB 6 주 1) 적용기종 ECVB TO=B1 NT=NN3:NN4 F=NN5:N6 링크통신 모듈을 이용한 비트 데이터 수신명령 링크 네트워크(NN3)의 Station(NN4)에 대한 레지스터 종류(NN5)의 지정 비트위치(N6)의 값을 읽어 비트 레지스터(B1)에 저장함. 주 1) SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : B=비트 레지스터 표시, NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. ECVB 명령어는 링크 네트워크를 구성한 상태에서 다른 ID 를 가진 CPU 의 비트 데이터를 읽어내기 위해 사용합니다. 2. B1= 수신(읽고자 하는) 데이터를 저장할 비트번지. NN3= 링크 네트워크의 Loop 번호(1, 2 또는 3 = 링크가 CPU 마다 1 개씩 장착된의 경우 1) NN4= 해당 링크 네트워크에 연결된 Station 의 번호(ID 번호) NN5= 읽고자 하는 레지스터의 종류(0= L 레지스터, 1=M, 2=, 3=K, 4=SV, 5=PV,6=W,7=F) N6= 수신(읽고자 하는) 레지스터의 비트번지(숫자/레지스터) 원격 CPU, 16 진수로 표시 예) 3 번째 워드의 5 번째 비트를 지정할 경우 : N6=$0035 로 지정함. 3. ECVB 명령은 SCAN 완료후에 실행 하므로 1Scan 내에 해당 링크 네트워크에 중복으로 수행되지 않도록 프로그램 작업시 주의해야 합니다. 4. ECVB 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 링크 통신모듈이 1 개씩 장착된 상태에서 Link ID 3 번 CPU 에 있는 K 레지스터(종류 3)의 비트위치 $0012(1 번워드 비트번호 2(K1.2))를 읽어 자신(ID #1)의 M2.0 비트에 저장. POWE CPU Link IN IN OUT OUT # ,2 3 4, POWE CPU Link IN IN OUT OUT # ,1 2, 비트읽기(수신) 명령 F3.3 F3.10 / ECVB TO=M2.0 NT=1:3 F=3:$012 수신 값 저장 비트번지 = M2.0 링크 네트워크 = 1, Station (ID)번호= 3 수신 저장번지 종류 K=3, 저장 비트번지=01.2 PLC CPU #1 레지스터 영역 CPU #1 메모리 데이터 값(비트) M0000 M0001 M M M M0005 M0006 PLC CPU #3 레지스터 영역 CPU #3 메모리 데이터 값(비트) K0000 K K K K K0005 K

140 링크 비트 송신명령 (SENDB) 니모닉명령 워드수 래더 표시 설 명 적용기종 SENDB 6 주 1) 적용기종 SPC-10 SPC100 SPC300 A200 N70 plus NX70 plus 24S/120S 9215A,CPU70p1,V2 9216A,CPU70p2,V2 7215A,CPU700p N/NX700plus CPU700p/V2 NX700plus 참조) 오퍼랜드 형식 : B=비트 레지스터 표시, NN=숫자표시, N=숫자 또는 레지스터, =레지스터 표시 1. SENDB 명령어는 링크 네트워크를 구성한 상태에서 CPU 의 비트 데이터를 다른 ID 를 가진 CPU 에 전송하기 위해 사용합니다. 2. NN1= 링크 네트워크의 Loop 번호(1, 2 또는 3 = 링크가 CPU 마다 1 개씩 장착된의 경우 1) NN2= 해당 링크 네트워크에 연결된 Station 의 번호(ID 번호) NN3= 저장할 레지스터의 종류(0= L 레지스터, 1=M, 2=, 3=K, 4=SV, 5=PV,6=W,7=F) N4= 저장할 비트 번지(숫자/레지스터) 원격지 CPU, 16 진수로 표시 예) 3 번째 워드의 5 번째 비트를 지정할 경우 : N6=$0035 로 지정함. NB5= 전송하고자 하는 비트 데이터 값. 3. SENDB 명령은 SCAN 완료후에 실행 하므로 1Scan 내에 해당 링크 네트워크에 중복으로 수행되지 않도록 프로그램 작업시 주의해야 합니다. 4. SENDB 명령의 동작은 접점과 같은 입력조건이 있어야 하며, oot 에서 직접 연결될 수 없으며, 입력조건에 따라 한번 작동시킬 경우에는 입력 접점을 엣지접점 으로 사용해야 합니다. 링크 통신모듈이 1 개씩 장착된 상태에서 Link ID 4 번 CPU 의 M0.1 비트 영역에 ID 1 번 CPU 의 3.2 비트값을 송신(쓰기)하는 명령 예제. POWE SENDB NT=NN1:NN2 TO=NN3:N4 F=NB5 CPU Link IN IN OUT OUT # ,2 3 4, 비트쓰기(송신) 명령 링크통신 모듈을 이용한 비트 데이터 송신명령 비트 레지스터/숫자(NB5)의 값을 읽어 링크 네트워크(NN1)의 Station(NN2)에 레지스터 종류(NN3)의 지정 비트위치(N4)에 저장함 POWE CPU Link IN IN OUT OUT # ,1 2, 주 1) F3.3 F3.10 SENDB / NT=1:4 TO=1:$001 F=3.2 PLC CPU #1 레지스터 영역 CPU #1 메모리 데이터 값(비트) 링크 네트워크 = 1, Station (ID)번호= 4 저장할 비트번지의 종류 M=1, 비트 번지 = 00.1 송신할 비트번지 = 3.2 PLC CPU #4 레지스터 영역 CPU #3 메모리 데이터 값(비트) M M M M M M0005 M

141 5.38 통신제어 명령 Modbus 제어 명령어 워드수 명칭 래더 표시 설 명 MODCOMM 9 Modbus Communication (Master) MODCOMM Port= SID= SL Addr= eg = N = Status= FNC= TimeOut= Modbus TU 로 데이터를 읽거나 쓰는 기능이다. - Port 는 CPU 에 내장된 통신포트 - SID 는 MODBUS TU 장치의 통신 Address - SL Addr 는 MODBUS TU 장치의 레지스터 - eg 는 NX PLC 의 저장위치 - N 는 WOD 또는 Bit 의 개수 - Status 는 통신상태를 나타내는 레지스터 - FNC 는 Modbus 통신의 기능코드(Function Code) - TimeOut 은 Time Out 지정시간. 1. Modbus 통신 명령어는 Modbus TU 로 부터 데이타를 읽거나 쓰는 기능을 한다 2. MODCOMM 명령어를 사용하여 통신을 하기 위해서는 COM1 Port 의 경우 F13.8 접점을 Enable, COM2 Port 의 경우 F13.12 의 접점을 반드시 Enable 해야 한다 3. 통신포트는 CPU 에 내장되어 있는 COM1(1) 또는 COM2(2)를 지정할 수 있다. 4. S ID 값은(Slave ID) 사이의 상수 값으로 지정할 수 있다. 5. S Addr(Slave Address)는 Slave 장치의 번지를 뜻하며, 상수 값으로 되어 있다. TU 장치가 NX PLC 인 경우에는, M, L, K, W, D, PV, SV, S 의 워드번지와 대칭되는 절대번지 값을 지정할 수 있다. 6. eg 는 Slave 와 통신지령 후 응답된 Data 를 처리 저장하는 PLC 내부번지를 뜻하며,, M, L, K, W, D 의 워드번지를 지정할 수 있다. 7. N 는 Protocol 상에 지정하는 Data 길이를 뜻하며, 상수 값만 지정할 수 있다. 8. Status 는 현재의 통신 진행상태를 나타내는 워드로써, 각 접점의 상태를 확인하려면 비트번지지정이 가능한, M, L, K 의 번지를 지정하면 된다. 지정한 번지의 각 비트 상태값은 다음과 같다. S15 S8 S7 S3 S2 S1 S0 에러코드 값 Busy Err DN EN S0(EN) : 통신 요구가 있으면(Enable) ON 된다. S3 가 ON 되면 OFF 된다. S1(DN) : 통신이 완료되면 ON 된다. 통신이 개시되면 OFF 된다. S2(E) : 통신 오류가 발생되면 ON 된다. 이때 S1 도 ON 된다. S3(BUSY): 통신이 개시되면 또는 요청이 받아들여지면 ON 된다 S3 가 ON 되면 OFF 된다. S8 - S15: 에러 발생시(S2 비트가 ON 될 때) 다음과 같은 오류 코드가 저장된다. - Mod_No Error : 0 ($00) - Mod_Timeout Error : 1 ($01) - Mod_MasterNotEnable : 2 ($02) - Mod_NotSupportPort : 3 ($03) - Mod_NotSupportCmd : 4 ($04) - Mod_CC Error : 5 ($05) 9. FNC 는 Modbus Protocol 의 01, 02, 03, 04, 05, 06, 15, 16 의 기능코드를 지원한다. 각 코드의 기능은 01($01) : ead Coil Status, 02($02) : ead Input Status, 03($03) : ead Holding egisters 04($04) : ead Input egisters, 05($05) : Force Single Coil, 06($06) : Preset Single egister, 15($0F) : Force Multiple Coils, 16($10) : Preset Multiple egisters 등 입니다. 140

142 10. Time out 은 통신지령 후 응답을 기다리는 최대 시간이며, 이 시간이 지나서도 응답이 없을 경우 Timeout Error 를 발생시키며, 통신완료처리 된다. 단위는 10 msec 단위이다. 11. S485 통신을 할 경우에는 송신 및 수신신호가 1 개의 선으로 이루어 지므로 통신 신호를 주고 받을 수 있도록 신호 지연시간이 필요합니다. NX7 에서는 Port 에서 응답속도를 제어하는 레지스터가 다음과 같습니다. 통신 Port PreSend Delay Time (전송 대기시간) InterChar Time Out (패킷간 대기시간) 비고 COM1 S503 S506 (권장 값 2ms 이상필요) COM2 S504 S MODCOMM 명령어를 제어로 Flag register F13 워드의 상위 바이트(MSB)가 할당되어 있다. 단 이 Flag register 는 MODCOMM 명령어 사용시에만 해당된다. ---COM2-- - COM F13 COM1 Modbus Enable COM1 Busy COM1 Comm. Error COM1 Timeout COM2 Modbus Enable COM2 Busy COM2 Comm. Error COM2 Timeout - F13.8(Enable) : ON 시키면 COM1 Port 를 Modbus 통신요청 가능 상태가 된다. - F13.9(Busy) : COM1 Port 의 Modbus 통신 BUSY 상태가 되면 ON 된다. - F13.10(Error) : COM1 Port 의 Modbus 통신에 Error 가 발생하면 ON 된다. - F13.11(Timeout): COM1 Port 의 Modbus 통신에 Timeout 이 발생하면 ON 된다. - F13.12(Enable) : ON 시키면 COM2 Port 를 Modbus 통신요청 가능 상태가 된다. - F13.13(Busy) : COM2 Port 의 Modbus 통신 BUSY 상태가 되면 ON 된다. - F13.14(Error) : COM2 Port 의 Modbus 통신에 Error 가 발생하면 ON 된다. - F13.15(Timeout): COM2 Port 의 Modbus 통신에 Timeout 이 발생하면 ON 된다. 13. Modbus Slave 통신 Protocol 을 지원하기 위해서는 이 명령어를 사용하지 않고 내부 특수접점만 Set 시키면 됩니다. 특수접점 기능 비고 F12.02 COM1 Port Modbus slave 통신으로 전환 1 Modbus TU Mode F12.09 COM2 Port Modbus slave 통신으로 전환 1 Modbus TU Mode 141

143 Modbus Address Bit Data Table 비트관련 기능코드 01, 02, 05, 0F 명령은 시스템에서 동일하게 동작한다. NX PLC Bit Address Modbus 통신 Modbus PLC Address Input / Output Bit 비트번지 Input Output 비 고 ~ $0000~$07FF ~ ~ 외부 릴레이 접점 L000.00~L $0800~$0BFF ~ ~ 링크 데이터 접점 M000.00~M $0C00~$13FF ~ ~ 내부 릴레이 접점 K000.00~K $1400~$1BFF ~ ~ 정전 유지 접점 F000.00~F $1C00~$1CFF ~ ~ 특수 릴레이 접점 TC000 ~ TC $1D00~$1DFF ~ ~ Timer/Counter 접점 Modbus Address Word egister Data Table 워드관련 기능코드 03, 04, 06, 16, 명령은 시스템에서 동일하게 동작한다 NX PLC Word Address Modbus 통신 Modbus PLC Address Input/Output 워드 워드번지 Input Output 비 고 000 ~ $0000~$07FF 30001~ ~40128 외부 릴레이 워드 L000 ~ L $0800~$0BFF 30129~ ~40192 링크 데이터 워드 M000 ~ M $0C00~$13FF 30193~ ~40320 내부 릴레이 워드 K000 ~ K $1400~$1BFF 30321~ ~40448 정전 유지 워드 F000 ~ F $1C00~$1CFF 30449~ ~40464 특수 릴레이 접점 TC000 ~ TC $01D0~$01DF 30465~ ~40480 Timer/Counter 접점 W0000 ~ W $0200~$09FF 30513~ ~42560 내부레지스터 워드 SV000 ~ SV $0A00~$0AFF 32561~ ~42816 TC 설정치 PV000 ~ PV $0B00~$0BFF 32817~ ~43072 TC 경과치 S000 ~ S $0C00~$0DFF 33073~ ~43584 내부특수 레지스터 D0000 ~ D $0E00~$15FF 33585~ ~45632 내부레지스터 워드 142

144 M000.0 MODCOMM Port= 01 SID= 03 SLAddr= 0100 eg = L10 N= 2 Status= M10 FNC= 03 TimOut= 3000 M000.1 MODCOMM Port= 01 SID= 03 SLAddr= 0100 eg = K10 N = 2 Status=M11 FNC= 16 TimOut= 3000 통신요청 M0.0 이 ON 되면 COM1 을 통해 03 번지의 Modbus TU 로부터 0100 번지에서 2 개의 연속된 레지스터 값을 읽어 L10 에 저장하는 기능을 수행한다. 통신요청 M0.1 이 ON 되면 COM1 을 통해 03 번지의 Modbus TU 의 0100 번지에 K10 과 K11 번지의 값을 기록하는 기능을 수행한다. 143

145 샘플 프로그램 2 : PLC 와 PLC 를 COM2 Port 를 이용하여 Data 를 쓰기와 읽기를 자동으로 반복하는 프로그램. 144

146 PLC 통신 명령어 워드수 명칭 래더 표시 설 명 PLCCOMM 9 PLC Communication (Master) PLCCOMM Port= ID= Sl Addr= Ma Addr= Size = Status= FnCode= TimeOut= 다른 NX PLC 로 부터 데이타를 읽거나 쓰는 기능을 한다. - Port 는 CPU 에 내장된 통신포트 - ID 는 대상 PLC 의 통신 Address - SL Addr 는 대상 PLC 의 레지스터 - MA Addr 는 Master PLC 의 레지스터 - Size 는 WOD 또는 Bit 의 개수 - Status 는 통신상태를 나타내는 레지스터 - FNC 는 NX PLC 통신의 기능코드(Function Code) - TimeOut 은 Time Out 지정시간(x10ms). 1. PLCCOMM 명령어를 사용하여 통신을 하기 위해서는 COM1 Port 의 경우 S272.0 접점을 Enable, COM2 Port 의 경우 S273.0 의 접점을 반드시 Enable 해야 한다 2. 통신포트는 CPU 에 내장되어 있는 COM1(1) 또는 COM2(2)를 지정할 수 있다. 3. ID 값은(PLC Slave ID) 사이의 상수 값으로 지정할 수 있다. 4. SL Addr(Slave Address)는 Slave 장치의 어드레스(Bit 또는 Word 번지)를 지정한다. 5. MA Addr(Master Address)는 Master 장치의 어드레스(Bit 또는 Word 번지)를 지정한다. 6. Size 는 Protocol 상에 지정하는 Data 길이를 뜻하며, 상수 값만 지정할 수 있다. 7. Status 는 현재의 통신 진행상태를 나타내는 워드로써, 각 접점의 상태를 확인하려면 비트번지지정이 가능한, M, L, K 의 번지를 지정하면 된다. 지정한 번지의 각 비트 상태값은 다음과 같다. S15 S8 S7 S4 S3 S2 S1 S0 사용 안함 Tout Busy Err DN EN S0(EN) : 통신 요구가 있으면(Enable) ON 된다. 통신이 개시되면(S3 가 ON 되면) OFF 된다. S1(DN) : 통신이 완료되면 ON 된다. 통신이 개시되면 OFF 된다. S2(E) : 통신 오류가 발생되면 ON 된다. 이때 S1 도 ON 된다. S3(BUSY): 통신이 개시되면 또는 요청이 받아들여지면 ON 된다 S3 가 ON 되면 OFF 된다 S4(Timeout) 통신이 Timeout 지정시간 이상 동안 안된 경우 ON 된다. 8. FnCode 기능코드(Function Code)는 NXplus PLC 의 01, 02 의 기능코드를 지원한다. 01 : 워드 읽기, 02 : 워드 쓰기 9. Time out 은 통신지령 후 응답을 기다리는 최대 시간이며, 이 시간이 지나서도 응답이 없을 경우 Timeout Error 를 발생시키며, 통신완료처리 된다. 단위는 10 msec 단위이다. 10. PLCCOMM 명령어를 제어하기 위해 S272(COM1), S273(COM2) 가 할당되어 있다. 이 번지는 PLCCOMM 명령어 사용시에만 해당된다 S272(or S273) Tout E BY DN EN Bit 0 (Enable) : ON 시키면 해당 포트를 통신요청 가능 상태가 된다. Bit 1 (Done) : 해당 포트의 통신이 완료되면 ON 된다 Bit 2 (Busy) : 해당 포트의 통신 BUSY 상태가 되면 ON 된다. Bit 3 (Error): 해당 포트의 통신에 Error 가 발생하면 ON 된다. Bit 4 (Timeout): 해당 포트의 통신에 Timeout 이 발생하면 ON 된다. 11. 입력 접점은 통신이 끝날 때까지 On 되어 있어야 한다. 145

147 12. S485 통신을 할 경우에는 송신 및 수신신호가 1 개의 선으로 이루어 지므로 통신 신호를 주고 받을 수 있도록 신호 지연시간이 필요합니다. NX7 에서는 Port 에서 응답속도를 제어하는 레지스터가 다음과 같습니다. 통신 Port PreSend Delay Time (전송 대기시간) InterChar Time Out (패킷간 대기시간) 비고 COM1 S503 S506 (권장 값 5ms 이상) COM2 S504 S

148 ASCII 통신 명령 명령어 워드수 명칭 래더 표시 설 명 WASCII 9 DASCII 9 Write ASCII Communication ead ASCII Communication WASCII Port= TxBuf= TxLen= S Char= E Char= Status= Mode= TimeOut= DASCII Port= xbuf= xlen= S Char= E Char= Status= Mode= TimeOut= ASCII Serial 장치들에 정보를 전송한다. - Port 는 CPU 에 내장된 통신포트 - Txbuf 는 전송할 데이터 시작번지. - TxLen 은 전송할 데이터의 Byte 길이 - S Char 는 전송시 삽일될 시작 문자 - E Char 는 전송시 삽입될 종료 문자 - Status 는 통신상태를 표시 - Mode 는 통신방법을 지정 - TimeOut 은 Time Out 지정시간. ASCII Serial 장치들로부터 정보를 수신한다. - Port 는 CPU 에 내장된 통신포트 - xbuf 는 전송받을 데이터 저장장소. - xlen 은 전송받을 데이터의 Byte 길이 - S Char 는 전송시 삽일될 시작 문자 - E Char 는 전송시 삽입될 종료 문자 - Status 는 통신상태를 표시 - Mode 는 통신방법을 지정 - TimeOut 은 Time Out 지정시간. 1. 통신포트는 CPU 에 내장되어 있는 COM1 또는 COM2 를 지정할 수 있다. 2. TxBuf, xbuf 는, M, L, K, W, D 영역의 워드번지를 지정할 수 있다. 3. TxLen 과 xlen 은 16bit 길이의 상수 값을 지정한다. 4. S Char 의 전송 시작문자이고, E Char 은 전송 종료문자이다 5. Mode 는 전송의 시작과 끝을 어떻게 할지 정의하며 다음과 같다. 단 M0 와 M1 둘 다 0 인 경우에는 S Char 를 전송하지 않고 M2 와 M3 둘 다 0 인 경우 E Char 를 전송하지 않는다. M15 M8 M7 M3 M2 M1 M0 M0: 전송 시작 문자를 1 Byte 의 크기로 한다. M1: 전송 시작 문자를 2 Byte 의 크기로 한다. (M1 이 설정되면 M0 는 무시된다) M2: 전송 종료문자를 1 Byte 의 크기로 한다. M3: 전송 종료문자를 2 Byte 의 크기로 한다. (M3 이 설정되면 M2 는 무시된다) 6. Status 에서 나타내는 통신상태는 다음과 같다. S15 S8 S7 S3 S2 S1 S0 S0(EN) : 통신이 시작하면 On 되었다가, 통신이 완료되면 (S3 가 ON 되면) OFF 된다. S1(DN) : 통신을 시작하면 Off 되었다가, 통신이 완료되면 On 된다. S2(E) : 통신 오류가 발생되면 ON 된다. 이때 S1 도 ON 된다. S3(BUSY): 통신중일때 On 된다. 통신이 완료되면 OFF 가 된다. S8 - S11: 통신 완료 후 수신된 데이터의 길이가 저장된다. 7. Time out 의 단위는 10msec 단위이다. 8. ASCII 통신 명령어를 활용하여 위해서는 COM1 Port 의 경우 S270.0 이, COM2 Port 의 경우 S271.0 이 Enable 되어야 한다. 이 Enable 된 접점은 ASCII 통신을 하는 경우 유지 되어야 한다. (S 레지스터의 경우 접점 제어가 되지 않음으로 BSET 명령어를 사용하여 해당 비트를 SET 한다.) 147

149 M000.0 WASCII Port=01 TxBuf=W100 TxLen=16 S Char=12 E Char=13 Status=M10 Mode =5 TimeOut=1000 M000.1 DASCII Port=01 xbuf=w200 xlen=16 S Char=12 E Char=13 Status=M11 Mode =5 TimeOut=1000 통신요청 M0.0 이 ON 되면 COM1 을 통해 W100 번지부터 16 bytes 의 문자 데이타를 전송한다. 선두에 12 시작문자를 전송하고 이어 16 개의 문자가 전송한다. 맨 나중에 13 을 전송하고 종료한다. 통신요청 M0.1 이 ON 되면 COM1 을 통해 12 가 수신되면 16 bytes 의 문자 데이타를 수신하여 W200 부터 저장한다. 맨 나중에 13 이 수신되면 전송을 종료한다. 통신요청 M0.0 이 ON 되면 COM1 을 통해 W100 번지부터 16 bytes 의 문자 데이타를 전송한다. 선두에 STX 선두문자를 전송하고 이어 16 개의 문자가 전송한다 맨 나중에 Carry eturn 을 전송하고 종료한다. 통신요청 M0.1 이 ON 되면 COM1 을 통해 STX 가 수신되면 16 bytes 의 문자 데이타를 수신하여 W200 부터 저장한다. 맨 나중에 Carry eturn 이 수신되면 전송을 종료한다. 148

150 Hex 통신 명령 명령어 워드수 명칭 래더 표시 설 명 WBIN 9 DBIN 9 Write Binary Communication (바이너리 데이터통신 쓰기명령) ead Binary Communication (바이너리 데이터통신 읽기명령) WBIN Port= TxBuf= TxLen= S Char= E Char= Status= Mode= TimeOut= DBIN Port= xbuf= xlen= S Char= E Char= Status= Mode= TimeOut= Serial 장치에 정보를 Binary 형식으로 전송한다. - Port 는 CPU 에 내장된 통신포트 - Txbuf 는 전송할 데이터 저장장소. - TxLen 은 전송할 데이터의 Byte 길이 - S Char 는 전송시 삽일될 시작 문자 - E Char 는 전송시 삽입될 종료 문자 - Status 는 통신상태를 표시 - Mode 는 통신방법을 지정 - TimeOut 은 Time Out 지정시간. Serial 장치에서 Binary 형식의 정보를 수신한다. - Port 는 CPU 에 내장된 통신포트 - xbuf 는 전송할 데이터 저장장소. - xlen 은 전송할 데이터의 Byte 길이 - S Char 는 전송시 삽일될 시작 문자 - E Char 는 전송시 삽입될 종료 문자 - Status 는 통신상태를 표시 - Mode 는 통신방법을 지정 - TimeOut 은 Time Out 지정시간. 1. 통신포트는 CPU 에 내장되어 있는 COM1 또는 COM2 를 지정할 수 있다. 2. TxBuf, xbuf 는, M, L, K, W,D 영역의 워드번지를 지정할 수 있다. 3. TxLen 과 xlen 은 16bit 길이의 상수값을 지정한다. 4. SChar 의 전송 시작문자이고, EChar 은 전송 종료문자이다 5. Mode 는 전송의 시작과 끝을 어떻게 할지 정의하며, 다음과 같다. 단 M0 와 M1 둘 다 0 인 경우에는 SChar 를 전송하지 않고 M2 와 M3 둘 다 0 인 경우 EChar 를 전송하지 않는다. M15 M8 M7 M3 M2 M1 M0 M0: SChar 를 Byte 의 크기로(1 byte) 한다. M1: SChar 를 Word 의 크기로(2 byte) 한다. M2: EChar 를 Byte 의 크기로(1 byte) 한다. M3: EChar 를 Word 의 크기로(2 byte) 한다. 6. Status 에서 나타내는 통신상태는 다음과 같다. S15 S8 S7 S0 S0(EN) : 통신이 시작하면 On 되었다가, 통신이 완료되면 (S3 가 ON 되면) OFF 된다. S1(DN) : 통신을 시작하면 Off 되었다가, 통신이 완료되면 On 된다. S2(E) : 통신 오류가 발생되면 ON 된다. 이때 S1 도 ON 된다. S3(BUSY): 통신중일때 On 된다. 통신이 완료되면 OFF 가 된다. S8 - S11: 통신 완료 후 수신된 데이터의 길이가 저장된다. 7. Time out 의 단위는 10msec 단위이다. 8. Binary 통신 명령어를 활용하여 위해서는 COM1 Port 의 경우 S270 의 00 번 비트, COM2 Port 의 경우 S271 의 00 번 비트가 Enable 되어야 한다. 이 Enable 된 접점은 Binary 통신을 하는 경우 유지 되어야 한다. (S 레지스터의 경우 비트접점 제어를 위해 BSET 명령어를 사용하여 해당 비트를 SET 한다.) 149

151 M000.0 WBIN Port=01 TxBuf=W100 TxLen=16 S Char=12 E Char=13 Status=M10 Mode =5 TimeOut=1000 M000.1 DBIN Port=01 xbuf=w200 xlen=16 S Char=12 E Char=13 Status=M11 Mode =5 TimeOut=1000 통신요청 M0.0 이 ON 되면 COM1 을 통해 W100 번지부터 16 bytes 의 문자 데이타를 전송한다. 선두에 12 시작문자를 전송하고 이어 16 개의 문자가 전송한다 맨 나중에 13 을 전송하고 종료한다. 통신요청 M0.1 이 ON 되면 COM1 을 통해 12 가 수신되면 16 bytes 의 문자 데이타를 수신하여 W200 부터 저장한다. 맨 나중에 13 이 수신되면 전송을 종료한다. 통신요청 M0.0 이 ON 되면 COM1 을 통해 W100 번지부터 16 bytes 의 문자 데이타를 전송한다. 선두에 STX 선두문자를 전송하고 이어 16 개의 문자가 전송한다 맨 나중에 Carry eturn 을 전송하고 종료한다 통신요청 M0.1 이 ON 되면 COM1 을 통해 STX 가 수신되면 16 bytes 의 문자 데이타를 수신하여 W200 부터 저장한다. 맨 나중에 Carry eturn 이 수신되면 전송을 종료한다. 150

152 통신코드 연산명령 명령어 워드수 명칭 래더 표시 설 명 CHKSUM 5 Check Sum 코드 계산 CHKSUM D = S = Bytes= Type= S 번지부터 Bytes 개수만큼의 데이터에서 지정된 Type 의 CHKSUM 을 계산하여 D 번지에 저장한다. CC-16 또는 SUM16 을 선택할 수 있다 1. 지정될 수 있는 길이는 Byte 수를 나타낸다. 연산시 데이터는 Low 바이트를 먼저 계산한다. 따라서 홀수로 개수가 지정되면, 맨 나중에 참조되는 워드의 경우에는 Low 바이트의 내용만 연산된다. 2. 연산은 Byte 단위로 이루어지지만, 결과값은 워드에 저장된다. 상위 값이 불필요한 경우에는 마스킹해야 한다. 3. 최대 지정 가능한 바이트 길이는 255 바이트이다. 4. 지정 가능한 Type 은 다음과 같다. Type=1: CC16 Type=2: SUM8 또는 SUM16 151

FARA PLC N70plus 시스템 사용자 메뉴얼

FARA PLC N70plus 시스템 사용자 메뉴얼 FARA PLC N70plus FARA PLC N70plus FARA PLC N70plus FARA PLC N70plus RUN h P U S H h i RUN PROG. ERROR COMM1 COMM2 REMOTE PROG. INITIALIZE (CPL9216A) (CPL9215A) FARA PLC N70plus CPL9215A CPL9216A CPL93023

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

온습도 판넬미터(JTH-05) 사양서V1.0

온습도 판넬미터(JTH-05)  사양서V1.0 온습도 조절기 Model:JTH-05 1. 제품 사양. [제품 구분] JTH-05A(입력 전원 AC), JTH-05D(입력 전원 DC) [전원 사양] JTH-05A 입력 전압 출력 전원 소비 전력 JTH-05D AC 90~240V DC 10~36V 12Vdc / Max.170mA Max.2W [본체 사이즈] ~ 온/습도 범위(본체): 사용 [0 ~ 50, 85%RH

More information

ADP-2480

ADP-2480 Mitsubishi PLC 접속 GP 는 Mitsubishi FX Series 와통신이가능합니다. 시스템구성 6 7 8 GP-80 RS- Cable RS-C Cable FXN--BD FXN--BD 6 FX Series(FXS,FXN,FXN,FXNC, FXU) 7 FXS, FXN 8 FXN FX Series 는기본적으로 RS- 통신을하며, RS-/ converter

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

핸디로더(PGM-500) 사용자 메뉴얼

핸디로더(PGM-500) 사용자 메뉴얼 PLC PGM-500 1. 1.1 PGM-500... 1.2... 1.3... 2. 2.1... 2.2... 3. 4. 5. 6. 3.1... 3.2... 4.1 (EDIT)... 4.2 (MONITOR)... 4.3 (SYSTEM)... 5.1... 5.2... 5.3 Timer/Counter/SR... 5.4... 5.5... 5.6... 6.1...

More information

AnyTouch V8, V7 Plus Series 최상의연결성과편리성

AnyTouch V8, V7 Plus Series 최상의연결성과편리성 AnyTouch V8, V7 Plus Series 최상의연결성과편리성 케이블리스트 PC연결케이블결선도작화전송케이블 Code : V6CP (V6+, V7+), VCP (V8+) V8+, V7+, V6+ Series & PC 연결케이블결선도 V4, GT80 Series & PC 연결케이블결선도 Touch Panel PC Touch Panel PC AllenBradley

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( [email protected]) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가 www.kdnetwork.com 특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가능할 삭제할 건전지 사용자를 위한 개별 비밀번호 및 RF카드

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

untitled

untitled 4.1.3 %IX0.0.0 %IX0.0.1 %QX0.1.0 ( ) %QX0.1.0 %IX0.0.0 %IX0.0.1 %QX0.1.0 * 5 GMWIN. - 31 - SW1 ON SW2 OFF. SW2 ON SW1 OFF. (%QX0.1.0) SW1 (%IX0.0.0) SW2 (%IX0.0.0) SW1 SW1 SW2 SW2 ( ) SW1 SW2-32 - P (

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1 장수의체계. 진수. 진수 3. 8진수와 6진수 4. 진법변환 5. 진정수연산과보수 6. 진부동소수점수의표현 진수 진수표현법 v 기수가 인수 v,,, 3, 4, 5, 6, 7, 8, 9 사용 9345.35 = 9 3 4 5 3. 5. = 9 3 3 4 5 3-5 - v 고대로마의기수법에는 5 진법을사용 v 진법의아라비아숫자는인도에서기원전 세기에발명 진법을나타내는기본수를기수

More information

H3250_Wi-Fi_E.book

H3250_Wi-Fi_E.book 무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12

More information

서보교육자료배포용.ppt

서보교육자료배포용.ppt 1. 2. 3. 4. 1. ; + - & (22kW ) 1. ; 1975 1980 1985 1990 1995 2000 DC AC (Ferrite) (NdFeB; ) /, Hybrid Power Thyrister TR IGBT IPM Analog Digital 16 bit 32 bit DSP RISC Dip SMD(Surface Mount Device) P,

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

Computer Architecture

Computer Architecture 정수의산술연산과부동소수점연산 정수의산술연산부동소수점수의표현부동소수점산술연산 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 3.5 정수의산술연산 기본적인산술연산들 2 2 3.5.1 덧셈 2 의보수로표현된수들의덧셈방법 두수를더하고, 만약올림수가발생하면버림 3 3 병렬가산기 (parallel adder) 덧셈을수행하는하드웨어모듈 4- 비트병렬가산기와상태비트제어회로

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로 한국어 표준 설정안내 서브 초침 시간 및 설정 1. 용두를 2의 위치로 뽑아냅니다. 2. 용두를 시계방향 또는 반시계방향으로 돌려(모델에 따라 다름) 를 전날로 설정합니다. 3. 용두를 3의 위치로 당기고 현재 가 표시될 때까지 시계방향으로 돌립니다. 4. 용두를 계속 돌려 정확한 오전/오후 시간을 설정합니다. 5. 용두를 1의 위치로 되돌립니다. 169 쓰리

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Microsoft PowerPoint - hw8.ppt [호환 모드]

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

More information

KMC.xlsm

KMC.xlsm 제 7 장. /S 에필요한내용 1] IGBT 취급시주의사항 ) IGBT 취급시주의 1) 운반도중에는 Carbon Cross로 G-E를단락시킵니다. 2) 정전기가발생할수있으므로손으로 G-E 및주단자를만지지마십시요. 3) G-E 단자를개방시킨상태에서직류전원을인가하지마십시요. (IGBT 파손됨 ) 4) IGBT 조립시에는사용기기나인체를접지시키십시요. G2 E2 E1

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

Contents 01. 안전을 위한 주의 사항 03 02. 터치형 멀티 조절기 각부 명칭 04 03. 터치형 각방 조절기 각부 명칭 05 04. 조절기 난방/정지 하기 06 05. 조절기 외출 /해제하기 07 06. 조절기 반복난방 하기 09 07. 조절기 예약난방 /

Contents 01. 안전을 위한 주의 사항 03 02. 터치형 멀티 조절기 각부 명칭 04 03. 터치형 각방 조절기 각부 명칭 05 04. 조절기 난방/정지 하기 06 05. 조절기 외출 /해제하기 07 06. 조절기 반복난방 하기 09 07. 조절기 예약난방 / 사 용 설 명 서 대림산업 Touch형 조절기 멀티조절기 각방조절기 본 사용설명서는 찾기 쉬운 장소에 보관하세요. 제품 사용 전 반드시 사용설명서를 잘 읽어 주세요. 제품의 사양은 사전에 통보 없이 변경될 수 있습니다. 본사 및 공장 : 경기도 용인시 처인구모현면일산리 483-1 TEL : +82-31 - 336 9911 FAX : +82-31 - 336 9911

More information

슬라이드 제목 없음

슬라이드 제목 없음 ETOS-DPS-X Guide AC&T SYSTEM 1 ETOS-DPS-X 개요 ETOS-DPS-X Field Bus Network 중 Profibus-DP Network 에연결되는장비. ProfiBus-DP Network 시스템에 DP 통신을지원하지않는현장장비에대한통신서버기능구현. Profibus-DP Slave 동작하기때문에반드시 DP-Master 모듈이있는시스템에서적용가능.

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( [email protected]) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

Siemens

Siemens SIEMENS () 2004 7 Updated 2004 DEC 09 1. 4 1.1 4 1.2 4 2. 5 2.1 5 2.2 6 2.3 6 2.4 7 3. 8 3.1 50/60 Hz DIP 8 4. 9 4.1 420 9 4.2 420 9 4.3 (CB) 10 5. / () 11 5.1 11 5.2 : P0003 12 6. 13 6.1 13 6.2 15 6.2.1

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: [email protected] 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

초급과정 목차

초급과정 목차 제목 S7 PLC 소개.... 2 STEP 7 패키지구성... 3 Automation License Manager... 4 Automation License Manager 화면설명... 5 License 설치 / 백업... 6 P.C PLC 연결...... 7 인터페이스설정.... 8 P.C Adapter(RS-232C, USB) 인터페이스설정... 9 P.C

More information

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예 Mitsubishi FX Series Computer Link 2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK... 1 1. 시스템구성... 3 2. 시스템설정... 4 3. 사용예... 6 3.1. 사용예 1... 6 3.2. 사용예 2... 9 4. 케이블연결도... 13 4.1.

More information

네트워크 설정

네트워크 설정 158. 내용 비고 제조사 기기명 통신모듈 MITSUBISHI MELSEC(GOLDSEC-M) AJ71E71(MJ71E71)/QJ71E71 통신방식 Ethernet 3 장참조 프로토콜 3E 통신프레임표시가능 1 장 8 쪽참조 쓰기후읽기가능 1 장 9 쪽참조 통신설정 1. 통신포트설정 소켓포트번호네트워크통신을위해지정된소켓포트번호를입력합니다. 값은 5000 에서

More information

0.1-6

0.1-6 HP-19037 1 EMP400 2 3 POWER EMP400 4 5 6 7 ALARM CN2 8 9 CN3 CN1 10 24V DC CN4 TB1 11 12 Copyright ORIENTAL MOTOR CO., LTD. 2001 2 1 2 3 4 5 1.1...1-2 1.2... 1-2 2.1... 2-2 2.2... 2-4 3.1... 3-2 3.2...

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

슬라이드 1

슬라이드 1 첨부 4 리모콘별 TV 셋팅방법 2011. 1 전략서비스본부서비스지원팀 1 경제형 2002년개발쌍방향단순-2007년개발경제형 /PVR-2007년개발 2002 년 02 월 ~ 2003 년 08 월 85 만 (40 만은 TV 설정불가 ) 선호채널 도움말 만가능 1) TV 전원을키고 2) 0( 숫자 )+ 음소거동시에누름 -> LED ON 3) 리모콘 LED 주황색불확인후제조사코드입력

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M (1) 주소지정방식 Address Mode 메모리접근 분기주소 2. 8051 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data Memory 외부 Data Memory (2) 명령어세트 - 8051 명령어는 5 가지로분류,

More information

ez-md+_manual01

ez-md+_manual01 ez-md+ HDMI/SDI Cross Converter with Audio Mux/Demux Operation manual REVISION NUMBER: 1.0.0 DISTRIBUTION DATE: NOVEMBER. 2018 저작권 알림 Copyright 2006~2018 LUMANTEK Co., Ltd. All Rights Reserved 루먼텍 사에서

More information

RS- 232, RS485 FND Display Module NET-SFND-4-23A RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) Net-Control http

RS- 232, RS485 FND Display Module NET-SFND-4-23A RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) Net-Control   http RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) - 1 - 1. 정격사양. NET-SFND-4-23A Display Module 은 RS-232, RS-485 겸용입니다. 밝기조절기능을추가하여통신명령으로밝기를조절할수있습니다. 이기능을사용하여표시부를점멸시키거나점차밝아지거나어두워지는특수효과를낼수도있습니다.

More information

untitled

untitled 1... 2 System... 3... 3.1... 3.2... 3.3... 4... 4.1... 5... 5.1... 5.2... 5.2.1... 5.3... 5.3.1 Modbus-TCP... 5.3.2 Modbus-RTU... 5.3.3 LS485... 5.4... 5.5... 5.5.1... 5.5.2... 5.6... 5.6.1... 5.6.2...

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc 제 8 장 Counters 실험의목표 - Catalog counter 의동작원리에대하여익힌다. - 임의의 counter를통하여 FSM 구현방법을익힌다. - 7-segment display 의동작원리를이해한다. 실험도움자료 1. 7-segment display 7-segment는디지털회로에서숫자를표시하기위하여가장많이사용하는소자이다. 이름에서알수있듯이 7개의 LED(

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

<BCD2B0E6C0FCBCAD20C1A62032B1C72E687770>

<BCD2B0E6C0FCBCAD20C1A62032B1C72E687770> 소경전서 제 2권 이는 광야에서 물이 솟겠고 사막에서 시내가 흐를것임이라(사 35 : 6-10) 1. 황무지가 장미꽃같이 피는 것을 볼 때에 구속함의 노래 부르며 거룩한 길 다니리 거기 거룩한 그 길에 검은 구름 없으니 낮과 같이 맑고 밝은 거룩한 길 다니리 4. 거기 악한 짐승 없으니 두려울 것 없겠네 기쁨으로 노래 부르며 거룩한 길 다니리 거기 거룩한 그

More information

歯표지_통합_.PDF

歯표지_통합_.PDF LG GLOFA MASTER-K PID G3F-PIDA G4F-PIDA G3F-PIDA/G4F-PIDA PLC GLOFA GM3/4 CPU MASTER-K 200S/300S/1000S CPU!!! 2 ! PLC,,,,,! PCB,,, Off! 1 1-1 ~ 1-1 11 1-1 2 2-1 ~ 2-13 21 2-1 22 2-2 23 2-3 24 PID 2-4 241

More information

BS-K1217-M□□-3012_ProductGuide_KR_PDF

BS-K1217-M□□-3012_ProductGuide_KR_PDF READER/WRITER MADE IN JAPAN System [ASLINK ] S-K1217-M-3012..,.,....,,. S-K1217-M08-3012 S-K1217-M12-3012 S-K1217-M18-3012 S-K1217-M30-3012 2() () / 1 2 1 DC..,,.,,,..,....... ' ARW-04 (Ver.04-1.01 ),

More information

CPX-E-SYS_BES_C_ _ k1

CPX-E-SYS_BES_C_ _ k1 CPX-E 8727 27-7 [875294] CPX-E-SYS-KO CODESYS, PI PROFIBUS PROFINET (). :, 2 Festo CPX-E-SYS-KO 27-7 ... 5.... 5.2... 5.3... 5.4... 5.5... 5 2... 6 2.... 6 2..... 6 2..2 CPX-E... 7 2..3 CPX-E... 9 2..4...

More information

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는 Dong Yang E&P 인버터 Modbus Monitoring Protocol 2018. 08. 27 Sun Spec (Modbus-RTU) -. Modbus Protocol 각 Field에대한설명 Frame갂의구별을위한최소한의시갂 BaudRate 9600에서 1bit 젂송시갂은 Start 0.104msec, (3.5 character Times, 1 Character

More information

디지털공학 5판 7-8장

디지털공학 5판 7-8장 Flip-Flops c h a p t e r 07 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 292 flip flop Q Q Q 1 Q 0 set ON preset Q 0 Q 1 resetoff clear Q Q 1 2 SET RESET SET RESET 7 1 crossednand SET RESET SET RESET

More information

근대문화재분과 제4차 회의록(공개)

근대문화재분과 제4차 회의록(공개) 문화재위원회(근대문화재분과) 제4차 회의록 문 화 재 위 원 회 - 2 - - 3 - 안건번호 근대2012-04-001-4 - - 5 - - 6 - - 7 - - 8 - 안건번호 근대2012-04-002-9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 -

More information

목차 제 1 장개요 제 2 장소프트웨어구조 제 3 장공통요소 I

목차 제 1 장개요 제 2 장소프트웨어구조 제 3 장공통요소 I 목차 제 1 장개요 제 2 장소프트웨어구조 제 3 장공통요소 I 목차 제 4 장 제 5 장 II 제 6 장 목차 제 7 장펑션과펑션블록 III 목차 제 8 장기본펑션 / 펑션블록라이브러리 IV 목차 V 목차 VI 목차 VII 1-1 1-2 2-1 2-2 2) 3) 2-3 2-4 3-1 3-2 3-3 3-4 3-5 3-6 ±± ±± 3-7 3-8 3-9 3-10

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 3 장 : 변수와데이터형 2012 년 이은주 학습목표 변수와상수의개념에대해알아본다. 리터럴상수, 매크로상수, const 변수에대해알아본 다. C 언어의데이터형에대해알아본다. 2 목차 변수와상수 변수 상수 데이터형 문자형 정수형 실수형 sizeof 연산자 3 변수와상수 변수 : 값이변경될수있는데이터 상수 : 값이변경될수없는데이터

More information

vRealize Automation용 VMware Remote Console - VMware

vRealize Automation용 VMware Remote Console - VMware vrealize Automation 용 VMware Remote Console VMware Remote Console 9.0 이문서는새버전으로교체되기전까지나열된각제품버전및모든이후버전을지원합니다. 이문서에대한최신버전을확인하려면 http://www.vmware.com/kr/support/pubs 를참조하십시오. KO-002230-00 vrealize Automation

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 9) . T 플립플롭으로구성된순서논리회로의해석 () 변수명칭부여 F-F 플립플롭의입력 :, F-F 플립플롭의출력 :, (2) 불대수식유도 플립플롭의입력 : F-F 플립플롭의입력 : F-F 플립플롭의출력 : (3) 상태표작성 이면,

More information

PRO1_16E [읽기 전용]

PRO1_16E [읽기 전용] MPI PG 720 Siemens AG 1999 All rights reserved File: PRO1_16E1 Information and MPI 2 MPI 3 : 4 GD 5 : 6 : 7 GD 8 GD 9 GD 10 GD 11 : 12 : 13 : 14 SFC 60 SFC 61 15 NETPRO 16 SIMATIC 17 S7 18 1 MPI MPI S7-300

More information

歯FDA6000COP.PDF

歯FDA6000COP.PDF OPERATION MANUAL AC Servo Drive FDA6000COP [OPERATION UNIT] Ver 1.0 (Soft. Ver. 8.00 ~) FDA6000C Series Servo Drive OTIS LG 1. 1.1 OPERATION UNIT FDA6000COP. UNIT, FDA6000COP,,,. 1.1.1 UP DOWN ENTER 1.1.2

More information

°ø±â¾Ð±â±â

°ø±â¾Ð±â±â 20, 30, 40 20, 30, 40 1 2 3 4 5 6 7 8 9 10 3.1 6.3 9.4 12.6 15.7 18.8 22.0 25.1 28.3 31.4 2.4 4.7 7.1 9.4 11.8 14.1 16.5 18.8 21.2 23.6 7.1 14.1 21.2 28.3 35.3 42.4 49.5 56.5 63.6 70.7 5.9 11.9 17.8 23.7

More information

ez-shv manual

ez-shv manual ez-shv+ SDI to HDMI Converter with Display and Scaler Operation manual REVISION NUMBER: 1.0.0 DISTRIBUTION DATE: NOVEMBER. 2018 저작권 알림 Copyright 2006~2018 LUMANTEK Co., Ltd. All Rights Reserved 루먼텍 사에서

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

= ``...(2011), , (.)''

= ``...(2011), , (.)'' Finance Lecture Note Series 사회과학과 수학 제2강. 미분 조 승 모2 영남대학교 경제금융학부 학습목표. 미분의 개념: 미분과 도함수의 개념에 대해 알아본다. : 실제로 미분을 어떻게 하는지 알아본다. : 극값의 개념을 알아보고 미분을 통해 어떻게 구하는지 알아본다. 4. 미분과 극한: 미분을 이용하여 극한값을 구하는 방법에 대해 알아본다.

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 변수와상수의개념에대해알아본다.

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가 수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습

More information

정 답 과 해 설 1 (1) 존중하고 배려하는 언어생활 주요 지문 한 번 더 본문 10~12쪽 01 2 02 5 03 [예시 답] 상대에게 상처를 주고 한 사 람의 삶을 파괴할 수도 있으며, 사회 전체의 분위기를 해쳐 여러 가지 사회 문제를 발생시킬 수 있다. 04 5

정 답 과 해 설 1 (1) 존중하고 배려하는 언어생활 주요 지문 한 번 더 본문 10~12쪽 01 2 02 5 03 [예시 답] 상대에게 상처를 주고 한 사 람의 삶을 파괴할 수도 있으며, 사회 전체의 분위기를 해쳐 여러 가지 사회 문제를 발생시킬 수 있다. 04 5 S I N S A G O 정답과 해설 채움 1. 마음을 나누는 삶 02 2. 효과적인 자료, 적절한 단어 11 3. 문학을 보는 눈 19 4. 보다 쉽게, 보다 분명하게 29 5. 생각 모으기, 단어 만들기 38 정 답 과 해 설 1 (1) 존중하고 배려하는 언어생활 주요 지문 한 번 더 본문 10~12쪽 01 2 02 5 03 [예시 답] 상대에게 상처를

More information

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드] 컴퓨터구조 강의노트 #8: Chapter 9: 컴퓨터산술 2008. 5. 8. 담당교수 : 조재수 E-mail: [email protected] 1 컴퓨터시스템구조론 제9장컴퓨터산술 (Computer Arithmetic) 2 1 핵심요점들 컴퓨터산술에있어서두가지주요관심사는수가표현되는방법 (2진수형식 ) 과기본적인산술연산들 ( 더하기, 빼기, 곱하기, 나누기

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

歯메뉴얼v2.04.doc

歯메뉴얼v2.04.doc 1 SV - ih.. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - - - 23 24 R S T G U V W P1 P2 N R S T G U V W P1 P2 N R S T G U V W P1 P2 N 25 26 DC REACTOR(OPTION) DB UNIT(OPTION) 3 φ 220/440 V 50/60

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

歯설명서_020925_.PDF

歯설명서_020925_.PDF GMPC-III (Protocol Converter-III) USER S MANUAL 1 1 1 4 2 5 2.1 5 2.2 5 2.3 6 3 7 3.1 7 4 8 4.1 8 4.2 8 5 GMPC-III 9 5.1 9 5.2 I-NET 9 5.3 ( ) 9 5.4 ( ) ( ) 10 6 12 6.1 12 7 GMPC-III 13 7.1 CPU 13 7.2

More information

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제 회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제 KR000****4 설 * 환 KR000****4 송 * 애 김 * 수 KR000****4

More information

AVSHH100B10 IM.~20.

AVSHH100B10 IM.~20. 30cm 30cm 50cm 30cm ø ø 800 932.0 385 1270 1154 416 440 5mm A R H 90 O K1 K2 K3 K4 SW03 K5 K6 K7 K8 SW04 K5 K6 K7 K8 SW04 K5 K6 K7 K8 SW04 전기배선 작업 계속 전원연결 구성도 1. 단상 전원연결 16쪽 1-1 시스템 구성도 참조 단상 AC220V

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : [email protected]) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx 2.4 명령어세트 (instruction set) 명령어세트 CPU 가지원하는기계어명령어들의집합 명령어연산의종류 데이터전송 : 레지스터 / 메모리간에데이터이동 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈 논리연산 : 비트들간의 AND, OR, NOT 및 XOR 연산 입출력 (I/O) : CPU( 레지스터 ) 와외부장치들간의데이터이동 프로그램제어 : 분기, 서브루틴호출

More information

실험 5

실험 5 실험. OP Amp 의기초회로 Inverting Amplifier OP amp 를이용한아래와같은 inverting amplifier 회로를고려해본다. ( 그림 ) Inverting amplifier 위의회로에서 OP amp의 입력단자는 + 입력단자와동일한그라운드전압, 즉 0V를유지한다. 또한 OP amp 입력단자로흘러들어가는전류는 0 이므로, 저항에흐르는전류는다음과같다.

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

- 2 -

- 2 - - 1 - - 2 - - - - 4 - - 5 - - 6 - - 7 - - 8 - 4) 민원담당공무원 대상 설문조사의 결과와 함의 국민신문고가 업무와 통합된 지식경영시스템으로 실제 운영되고 있는지, 국민신문 고의 효율 알 성 제고 등 성과향상에 기여한다고 평가할 수 있는지를 치 메 국민신문고를 접해본 중앙부처 및 지방자 였 조사를 시행하 였 해 진행하 월 다.

More information

머리말 저희 프로그래머블 컨트롤러 FPO 를 사주셔서 감사합니다. 이 매뉴얼에서는 FPO로 사할 수 있는 중 적인 의 설과 고속카운터, 펄스출력, 시리얼 통신등의 기 능에 대해 설하고 있습니다. 부탁의 말씀 이 매뉴얼의 내에 관해서는 만전을 기했습니다만, 의심스런 점이

머리말 저희 프로그래머블 컨트롤러 FPO 를 사주셔서 감사합니다. 이 매뉴얼에서는 FPO로 사할 수 있는 중 적인 의 설과 고속카운터, 펄스출력, 시리얼 통신등의 기 능에 대해 설하고 있습니다. 부탁의 말씀 이 매뉴얼의 내에 관해서는 만전을 기했습니다만, 의심스런 점이 프로그래머블 컨트롤러 USER의 매뉴얼 MATSUSHITA 工 의 제어기기는 글로벌 브랜드NAIS로 통일합니다. 머리말 저희 프로그래머블 컨트롤러 FPO 를 사주셔서 감사합니다. 이 매뉴얼에서는 FPO로 사할 수 있는 중 적인 의 설과 고속카운터, 펄스출력, 시리얼 통신등의 기 능에 대해 설하고 있습니다. 부탁의 말씀 이 매뉴얼의 내에 관해서는 만전을

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Computer Architecture CHAPTER 컴퓨터산술과논리연산 제 3 장 컴퓨터산술과논리연산 3.1 ALU의구성요소 3.2 정수의표현 3.3 논리연산 3.4 시프트연산 3.5 정수의산술연산 3.6 부동소수점수의표현 3.7 부동소수점산술연산 3.1 ALU 의구성요소 산술연산장치 : 산술연산들 (+, -,, ) 을수행 논리연산장치 : 논리연산들 (AND,

More information

statistics

statistics 수치를이용한자료요약 statistics [email protected] 한림대학교 통계학 강희모 ( 한림대학교 ) 수치를이용한자료요약 1 / 26 수치를 통한 자료의 요약 요약 방대한 자료를 몇 개의 의미있는 수치로 요약 자료의 분포상태를 알 수 있는 통계기법 사용 중심위치의 측도(measure of center) : 어떤 값을 중심으로 분포되어 있는지

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

<32303136C7D0B3E2B5B520B9FDC7D0C0FBBCBABDC3C7E820C3DFB8AEB3EDC1F528C8A6BCF6C7FC292E687770>

<32303136C7D0B3E2B5B520B9FDC7D0C0FBBCBABDC3C7E820C3DFB8AEB3EDC1F528C8A6BCF6C7FC292E687770> 20학년도 법학적성시험 1 제2교시 추리논증 성명 수험 번호 이 문제지는 35문항으로 구성되어 있습니다. 문항 수를 확인하십시오. 문제지의 해당란에 성명과 수험 번호를 정확히 쓰십시오. 답안지에 수험 번호, 문형, 성명, 답을 표기할 때에는 답안 작성 시 반드시 지켜야 하는 사항 에 따라 표기하십시오. 답안지의 필적 확인란 에 해당 문구를 정자로 기재하십시오.

More information