Microsoft Word - ③GLOFA-GM - 목차수정다시

Size: px
Start display at page:

Download "Microsoft Word - ③GLOFA-GM - 목차수정다시"

Transcription

1 목 차 모듈 Ⅰ. GLOFA-GM 프로그래밍 제1 장데이터형식및표현 1-1 제2 장표준라이브러리및프로그래밍 2-1 제3 장응용라이브러리의활용 3-1 제4 장사용자정의라이브러리작성 4-1 제5 장 SFC 프로그램작성 5-1 모듈 Ⅱ. 아날로그입력 (AD) 제1장성능규격및변환특성 1-1 제2장 GLOFA-GM 프로그래밍 2-1 제3장프로그램예제 (GLOFA-GM용) 3-1 모듈 Ⅲ. 아날로그출력 (DA) 제1장성능규격및변환특성 1-1 제2장입출력변환특성 2-1 제3장 GLOFA-GM 프로그래밍 3-1 제4장프로그램예제 (GLOFA-GM용) 4-1 부 록 부록A. 플래그일람표 1-1 부록B. GLOFA-GM 명령어집 1-1 부록C. 태스크프로그램 1-1

2 모듈 Ⅰ. GLOFA-GM 프로그래밍 제1장. 데이터형식및표현제2장. 표준라이브러리및프로그래밍제3장. 응용라이브러리의활용제4장. 사용자정의라이브러리작성제5장. SFC 프로그램작성

3 제 1 장데이터형식및표현 데이터형식형식표현범위크기 Boolan 0 ~ 1 (On/Off) 1bit Byte BYTE BIN 16#0~16#FF BCD 16#0~16#99 8bit Word WORD BIN 16#0~16#FFFF BCD 16#0~16# bit Double Word DWORD BIN 16#0~16#FFFFFFFF BCD 16#0~16# bit Long Word LWORD BIN 16#0~16#FFFFFFFFFFFFFFFF BCD 16#0~16# bit Short Integer SINT -128 ~ 127 8bit Integer INT ~ bit Double Integer DINT ~ bit Long Integer LINT e+18 ~ e+18 64bit Unsigned Short Integer USINT 0 ~ 255 8bit Unsigned Integer UINT 0 ~ bit Unsigned Double Integer UDINT 0 ~ bit Unsigned Long Integer ULINT 0 ~ e+19 64bit 각비트위치에있어서비트열의표현은다음과같습니다. 예1) Word 영역의경우 BCD 비트열표현 예2) Word 영역의경우 BIN 비트열표현 A B C D 제 1 장데이터형식및표현 1-1 LS 산전연수원

4 제 2 장표준라이브러리및프로그래밍 2.1 표준펑션및펑션블록 표준펑션에는전송펑션, 변환펑션, 비교펑션, 산술연산펑션, 논리연산펑션, 비트시프트펑션, 선택펑션, 문자열펑션, 날짜시각펑션, 시스템제어펑션등이있고표준펑션블록에는카운터, 타이머, 에지검출, 바이스터블펑션블록등이있습니다. 시퀀스연산자 구분명령어기호기능설명비고 시퀀스연산자 A 접점 B 접점상승검출접점하강검출접점출력코일반전코일출력 Set 출력 Reset 상승검출출력하강검출출력점프 A 접점연산 B접점연산상승에지에서 1Scan On접점하강에지에서 1Scan On접점연산결과출력연산결과반전출력연산결과세트출력연산결과리셋출력상승에지에서 1Scan On출력하강에지에서 1Scan On출력레이블위치로점프 프로그램종료 현재프로그램종료 제 2 장표준라이브러리및프로그래밍 2-1 LS 산전연수원

5 펑션일람 구분명령어기호기능설명비고 전 송 데이터전송 MOVE IN1 : 전송원 ( 모든형식 ) 펑 OUT : 전송선 ( 모든형식 ) 션 데이터형식변환펑션 IN1 : 전송원 OUT : 전송선변환명령펑션의종류 SINT_TO_INT 외 14종 INT_TO_SINT 외 14종 DINT_TO_SINT 외 14종 LINT_TO_SINT 외 14종 변 환 USINT_TO_SINT 외 14종 UINT_TO_SINT 외 14종 UDINT_TO_SINT 외 14종 ULINT_TO_SINT 외 14종 LINT ULINT LWORD REAL ****_TO_**** BYTE_TO_SINT 외 14 종 LREAL 펑 션 WORD_TO_SINT 외 14종 DWORD_TO_SINT 외 14종 LWORD_TO_SINT 외 14종 BCD_TO_SINT 외 7종 REAL_TO_SINT 외 7종 LREAL_TO_SINT 외 7종 STRING_TO_SINT 외18 종 NUM_TO_STRING TIME_TO_UDINT 외 2종 DATE_TO_UINT 외 2종 TOD_TO_UDINT 외 2종 DT_TO_DATE 외 2종 관련펑션은 GM1 과 GM2 만가능 제 2 장표준라이브러리및프로그래밍 2-2 LS 산전연수원

6 구분명령어기호기능설명비고 변 실수를정수로변환 환펑 TRUNC IN1 : 전송원 (REAL, LREAL) OUT : 전송선 (DINT, LINT) GM1, GM2 전용 션 덧셈펑션 IN1 ~ IN8 : 더할값 (Any_INT) ADD OUT : 결과값 (Any_INT) 뺄셈펑션 IN1 : 연산원 (Any_INT) SUB IN2 : 뺄값 (Any_INT) OUT : 결과값 (Any_INT) 수 치 MUL 곱셈펑션 IN1 ~ IN8 : 곱할값 (Any_INT) OUT : 결과값 (Any_INT) 연 산 나눗셈 ( 몫 ) IN1 : 연산원 (Any_INT) 펑 DIV IN2 : 나눌값 (Any_INT) 션 OUT : 몫 (Any_INT) 나눗셈 ( 나머지 ) IN1 : 연산원 (Any_INT) MOD IN2 : 나눌값 (Any_INT) OUT : 나머지값 (Any_INT) 지수연산 EXPT IN1 : 정수 (Any_REAL) IN2 : 지수 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 제 2 장표준라이브러리및프로그래밍 2-3 LS 산전연수원

7 구분명령어기호기능설명비고 절대값 ABS IN1 : 정수 (Any_INT) OUT : 결과값 (Any_INT) 수치 SQRT 제곱근 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 연산 LN 자연대수 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 펑 션 LOG 상용대수 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 EXP 자연지수 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 SIN 싸인연산 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 삼각펑 COS TAN 코싸인연산 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) 탄젠트연산 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 GM1, GM2 전용 션 ASIN 아크싸인연산 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 ACOS 아크코싸인연산 IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 제 2 장표준라이브러리및프로그래밍 2-4 LS 산전연수원

8 구분명령어기호기능설명비고 삼 아크탄젠트연산 각펑 ATAN IN1 : 연산원 (Any_ REAL) OUT : 결과값 (Any_ REAL) GM1, GM2 전용 션 비트열왼쪽으로이동 IN : 전송원 (Any_BIT) 이 SHL N : 이동할비트수 (INT) 동 OUT : 전송선 (Any_BIT) 펑 션 SHR 비트열오른쪽으로이동 IN : 전송원 (Any_BIT) N : 이동할비트수 (INT) OUT : 전송선 (Any_BIT) 비트열왼쪽으로회전 IN : 전송원 (Any_BIT) 회 ROL N : 회전할비트수 (INT) 전 OUT : 전송선 (Any_BIT) 명 령 ROR 비트열오른쪽으로회전 IN : 전송원 (Any_BIT) N : 회전할비트수 (INT) OUT : 전송선 (Any_BIT) 논리곱 IN1 ~ IN8 : 연산원 (Any_BIT) 논 AND OUT : 결과값 (Any_BIT) 리 연 산 OR 논리합 IN1 ~ IN8 : 연산원 (Any_BIT) OUT : 결과값 (Any_BIT) 제 2 장표준라이브러리및프로그래밍 2-5 LS 산전연수원

9 구분명령어기호기능설명비고 배타적논리합 논리연산 XOR NOT IN1 ~ IN8 : 연산원 (Any_BIT) OUT : 결과값 (Any_BIT) 논리반전 IN1, IN2 : 연산원 (Any_BIT) OUT : 결과값 (Any_BIT) 선 택 SEL MAX 2 개중선택 G : 출력선택 () IN0 : G 가 Off 일경우선택값 (Any) IN1 : G 가 On일경우선택값 (Any) OUT : 출력값 (Any) 최대값구하기 IN1 ~ IN8 : 선택값 (Any_INT) OUT : 최대출력값 (Any_INT) 펑 션 MIN 최소값구하기 IN1 ~ IN8 : 선택값 (Any_INT) OUT : 최소출력값 (Any_INT) LIMIT 상하한제한값 MN : 하한값 (Any_INT) IN : 전송원 (Any_INT) MX : 상한값 (Any_INT) OUT : 출력값 (Any_INT) 제 2 장표준라이브러리및프로그래밍 2-6 LS 산전연수원

10 구분명령어기호기능설명비고 최대 7 개중선택 K : 선택입력번호 선택펑션 MUX GT(>) IN0 : 전송원 0번 (Any) IN1 : 전송원 1번 (Any) IN2 : 전송원 2번 (Any) IN3 : 전송원 3번 (Any) IN4 : 전송원 4번 (Any) IN5 : 전송원 5번 (Any) IN6 : 전송원 6번 (Any) OUT : 출력값 (Any) 비교펑션 IN1 ~ IN8 : 비교데이터 (Any) OUT : 출력 () IN1 > IN2 >... > IN7 > IN8 의조건성립시 OUT 출력 On 비 교 GE( ) 비교펑션 IN1 ~ IN8 : 비교데이터 (Any) OUT : 출력 () IN1 IN2... IN7 IN8 의조건성립시 OUT 출력 On 펑 션 EQ(=) 비교펑션 IN1 ~ IN8 : 비교데이터 (Any) OUT : 출력 () IN1 = IN2 =... = IN7 = IN8 의조건성립시 OUT 출력 On LE( ) 비교펑션 IN1 ~ IN8 : 비교데이터 (Any) OUT : 출력 () IN1 IN2... IN7 IN8 의조건성립시 OUT 출력 On 제 2 장표준라이브러리및프로그래밍 2-7 LS 산전연수원

11 구분명령어기호기능설명비고 비교펑션 IN1 ~ IN8 : 비교데이터 (Any) LT(<) OUT : 출력 () IN1 < IN2 <... < IN7 < IN8 의조건성립시 OUT 출력 On 비교펑션 IN1, IN2 : 비교데이터 (Any) NE( ) OUT : 출력 () IN1 IN2 의조건성립시 OUT 출력 On 문자열길이 LEN IN1 : 문자열입력 (STRING) OUT : 문자열길이 (INT) 문자열왼쪽부분전송 IN : 문자열입력 (STRING) LEFT L : 문자열길이 (INT) 문자열펑션 RIGHT OUT : 문자열출력 (STRING) 문자열오른쪽부분전송 IN : 문자열입력 (STRING) L : 문자열길이 (INT) OUT : 문자열출력 (STRING) MID 문자열중간부분전송 IN : 문자열입력 (STRING) L : 문자열길이 (INT) P : 문자열선두위치 (INT) OUT : 문자열출력 (STRING) 제 2 장표준라이브러리및프로그래밍 2-8 LS 산전연수원

12 구분명령어기호기능설명비고 문자열연결 입력문자열을순서대로연결 CONCAT IN1 ~ IN8 : 문자열 (STRING) OUT : 문자열출력 (STRING) 문자열삽입 IN1 : 문자열입력 (STRING) INSERT IN2 : 삽입할문자열 (STRING) P : 문자열선두위치 (INT) OUT : 문자열출력 (STRING) 문자열펑션 DELETE REPLACE 문자열삭제 IN1 : 문자열입력 (STRING) L : 삭제할문자열길이 (INT) P : 문자열선두위치 (INT) OUT : 문자열출력 (STRING) 문자열대체 IN1 : 문자열입력 (STRING) IN2 : 대체할문자열 (STRING) P : 문자열선두위치 (INT) OUT : 문자열출력 (STRING) FIND 문자열찾기 IN1 : 문자열입력 (STRING) IN2 : 검색할문자열 (STRING) OUT : 문자열선두위치 (INT) 제 2 장표준라이브러리및프로그래밍 2-9 LS 산전연수원

13 구분명령어기호기능설명비고시간더하기 IN1 : 시각또는시간 (TIME, TOD, TD) ADD_TIME IN2 : 더할시간 (TIME) OUT : 결과시각또는시간 (TIME, TOD, TD) 시간빼기 IN1 : 시각또는시간 (TIME, TOD, TD) SUB_TIME IN2 : 뺄시간 (TIME) OUT : 결과시각또는시간 날짜시간 SUB_DATE (TIME, TOD, TD) 날짜빼기 IN1 : 날짜 (DATE) IN2 : 뺄날짜 (DATE) OUT : 결과시간 (TIME) 펑 션 SUB_TOD 시각빼기 IN1 : 시각 (TIME OF DAY) IN2 : 뺄시각 (TIME OF DAY) OUT : 결과시간 (TIME) SUB_DT 날짜시각빼기 IN1 : 시각 (DATE&TIME) IN2 : 뺄시각 (DATE&TIME) OUT : 결과시간 (TIME) MUL_TIME 시간곱하기 IN1 : 입력시간 (TIME) IN2 : 곱할값 (INT) OUT : 결과시간 (TIME) 제 2 장표준라이브러리및프로그래밍 2-10 LS 산전연수원

14 구분명령어기호기능설명비고 날짜시간펑션 DIV_TIME CONCAT_TIME 시간나누기 IN1 : 입력시간 (TIME) IN2 : 나눌값 (INT) OUT : 결과시간 (TIME) 날짜와시각연결 IN1 : 입력날짜 (DATE) IN2 : 입력시각 (TOD) OUT : 결과날짜시각 (DT) DI 인터럽트금지 REQ : 금지요구 () OUT : 금지확인 () EI 인터럽트허가 REQ : 허가요구 () OUT : 허가확인 () 시 스 템 STOP PLC 정지요구 REQ : 정지요구 () OUT : 정지확인 () 제어펑션 ESTOP PLC 비상정지요구 REQ : 정지요구 () OUT : 정지확인 () 입력데이터즉시갱신 BASE : 베이스모듈번호 SLOT : 입력모듈슬롯위치 MASK_L : 하위 32Bit 중갱신 DIREC_IN 하지않을 Bit 지정 (DWORD) MASK_H : 상위 32Bit 중갱신하지않을 Bit 지정 (DWORD) OUT : 실행완료 () GM5 제외 제 2 장표준라이브러리및프로그래밍 2-11 LS 산전연수원

15 구분명령어기호기능설명비고 입력데이터즉시갱신 MODL : 입력모듈번호 DIREC_IN5 MASK : 하위 32Bit 중갱신 하지않을 Bit 지정 (DWORD) OUT : 실행완료 () GM5 전용 출력데이터즉시갱신 BASE : 베이스모듈번호 시 SLOT : 출력모듈슬롯위치 스 MASK_L : 하위 32Bit 중갱신 템 DIREC_O 하지않을 Bit 지정 (DWORD) GM5 제외 MASK_H : 상위 32Bit 중갱신 제 하지않을 Bit 지정 (DWORD) 어 OUT : 실행완료 () 펑 출력데이터즉시갱신 션 MODL : 출력모듈번호 DIREC_OUT5 MASK : 하위 32Bit 중갱신하지않을 Bit 지정 (DWORD) GM5 전용 OUT : 실행완료 () 워치독타이머리셋 WDT_RST REQ : 리셋요구 () OUT : 실행완료 () 제 2 장표준라이브러리및프로그래밍 2-12 LS 산전연수원

16 펑션블록구분 명령어 기호 기능설명 비고 On 딜레이타이머 IN : 동작개시신호 () TON PT : 설정시간 (TIME) 타 이 머 Q : 출력 () ET : 현재값 Off 딜레이타이머 펑션블록카운터펑션블록 TOF TP CTU CTD IN : 동작개시신호 () PT : 설정시간 (TIME) Q : 출력 () ET : 현재값펄스타이머 IN : 동작개시신호 () PT : 설정시간 (TIME) Q : 출력 () ET : 현재값 (TIME) 가산카운터 CU : 펄스입력 () R : 현재값리셋 () PV : 설정값 (INT) Q : 출력 () CV : 현재값 (INT) 감산카운터 CD : 펄스입력 () LD : 설정값 Read() PV : 설정값 (INT) Q : 출력 () CV : 현재값 (INT) 제 2 장표준라이브러리및프로그래밍 2-13 LS 산전연수원

17 구분명령어기호기능설명비고 카 운 터 가감산카운터 CU : 가산펄스입력 () CD : 감산펄스입력 () 펑션블록펑션 CTUD SEMA SR R : 현재값리셋 () LD : 설정값 Read() PV : 설정값 (INT) QU : 가산카운트출력 () QD : 감산카운트출력 () CV : 현재값 (INT) 시스템자원제어 (Semaphore) CLAIM : 자원독점요구 () RELEASE : 자원해방 () BUSY : 자원취득불가 () Set 우선쌍안정 (Bistable) S1 : Set 신호 () R : Reset 신호 () Q1 : 출력 () 블 록 RS Reset 우선쌍안정 (Bistable) S : Set 신호 () R1 : Reset 신호 () Q1 : 출력 () R_TRIG F_TRIG 상승에지검출 CLK : 입력 () Q : 출력 () 하강에지검출 CLK : 입력 () Q : 출력 () 제 2 장표준라이브러리및프로그래밍 2-14 LS 산전연수원

18 2.2 프로그램작성 산술연산프로그램작성예 1) 펑션명령 : 다중입력펑션 (2 ~ 8 개까지 ) 산술펑션 EN : 실행요구접점 ( 형 ) IN1~IN8 : 셈할정수값또는 Any INT 형변수입력 ENO : 실행후 EN 신호를출력 ( 형 ) OUT : 결과값을저장할변수 ( 입력과동일한형식의변수 ) 2 입력펑션 EN : 실행요구접점 ( 형 ) IN1 : 피감산정수값또는 Any INT 형변수입력 IN2 : 감산정수값또는 Any INT 형변수입력 ENO : 실행후 EN 신호를출력 ( 형 ) OUT : 결과값을저장할변수 ( 입력과동일한형식의변수 ) EN : 실행요구접점 ( 형 ) IN1 : 피제산정수값또는 Any INT 형변수입력 IN2 : 제산정수값또는 Any INT 형변수입력 ENO : 실행후 EN 신호를출력 ( 형 ) OUT : 결과값을저장할변수 ( 입력과동일한형식의변수 ) 주 ) 몫만취하고나머지는버림 제 2 장표준라이브러리및프로그래밍 2-15 LS 산전연수원

19 EN : 실행요구접점 ( 형 ) IN1 : 피제산정수값또는 Any INT 형변수입력 IN2 : 제산정수값또는 Any INT 형변수입력 ENO : 실행후 EN 신호를출력 ( 형 ) OUT : 결과값을저장할변수 ( 입력과동일한형식의변수 ) 주 ) 나머지만취하고몫은버림 2) 연산에러플레그 _ERR : 연산에러가발생하면 On 되고에러해재시 Off 됩니다. _LER : 연산에러가발생하면 Set 되고사용자프로그램에의해 Reset 할때까지 On 됩니다. 3) 프로그램편집도구상자에서고입력개수 를선택하여원하는위치에클릭하여펀션목록상자가나타나면 ADD 펑션을선택하를설정 (3 개 ) 합니다 제 2 장표준라이브러리및프로그래밍 2-16 LS 산전연수원

20 EN 입력접점은 %IX0.0.1 으로선언하여실행조건접점으로합니다. IN1 은상수 100 을입력하고 IN2 및 IN3 는각각 VALU_01, VALU_02 의 INT 형변수를선언합니다 OUT 에는상수 100 과변수 VALU_01 과 VALU_02 를모두더한값이저장될변수를선언하며이변수의형태는반드시입력측변수와같은 INT 형으로해야합니다. 완성된덧셈펑션과사용된지역변수 제 2 장표준라이브러리및프로그래밍 2-17 LS 산전연수원

21 사칙연산 변수 List 사칙연산 프로그램 List 및모니터결과 제 2 장표준라이브러리및프로그래밍 2-18 LS 산전연수원

22 2.2.2 펑션및펑션블록프로그램 1) 타이머의종류와기능 On 딜레이타이머 입력 출력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) 1 msec ~ 49 day Q : 타이머출력 ET : 경과된시간 (Elapsed Time) On 딜레이타이머의동작 IN Q PT 설정시간 설정시간 ET 설정시간 Off 딜레이타이머 입력 출력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) 1 msec ~ 49 day Q : 타이머출력 ET : 경과된시간 (Elapsed Time) Off 딜레이타이머의동작 IN Q PT 설정시간 설정시간 ET 설정시간 제 2 장표준라이브러리및프로그래밍 2-19 LS 산전연수원

23 펄스타이머 입력 출력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) 1 msec ~ 49 day Q : 타이머출력 ET : 경과된시간 (Elapsed Time) 펄스타이머의동작 IN Q PT 설정시간 설정시간 ET 설정시간 2) 카운터펑션블록의기능 입력 출력 CU : 업 _ 카운트 (Up_Count) 펄스입력 R : 리셋입력 (Reset) PV : 설정값 (Preset Value) Q : 업 _ 카운트 (Up_ Count) 출력 CV : 현재값 (Current Value) Up 카운터의동작 R( 리셋입력 ) CU( 카운트입력 ) 최대계수값 (32767) PV( 설정값 ) CV( 현재값 ) Q( 카운트출력 ) CV 가 1NT 의최대값인 미만일때만증가하고 이되면더이상증가하지않습니다. 리셋입력 R이 On 이되면현재값 CV 는 0으로클리어 (Clear) 됩니다. 출력 Q는 CV 가 PV 이상이될때만 On 이됩니다. PV 값은 CTU 펑션블록을수행시설정값을새롭게가져와연산합니다. 제 2 장표준라이브러리및프로그래밍 2-20 LS 산전연수원

24 3) 프로그램작성예 타이머와카운터의테스트프로그램 제 2 장표준라이브러리및프로그래밍 2-21 LS 산전연수원

25 비교펑션응용프로그램예시스템구성 ( 대차제어시스템 ) 위치검출센서 右行 Limit 左行 Limit 원점 시스템개요본시스템은목표위치를정하고기동지령을하면현위치값과비교하여그대소를판단하여좌또는우방향을결정하여대차가이동되면위치검출센서가레일옆에설치한요철을카운트하여목표위치값과현위치값이일치하면정지하고또다시다음목표위치값을설정한후기동지령을하여다음위치로이동하는프로그램을작성합니다. 프로그램작성 프로그램테스트를위하여실제프로그램에서다음의일부내용을변경하기로합니다다음의프로그램리스트의행번호 10 과 14 행의플래그 _T200MS 는위그림의위치검출센서의외부펄스입력대체하여편집한것으로 200msec 주기의입력펄스로간주하여테스트하기로하였습니다 조작방법원점스위치조작으로카운터를초기화하고목표위치변수를모니터링중더블클릭한후임의의목표위치값을써넣은후기동지령접점신호를 On 합니다. 左行出力및右行出力의상태와현위치값의변화를확인하며운전상태를모니터링합니다 제 2 장표준라이브러리및프로그래밍 2-22 LS 산전연수원

26 프로그램 List 주 ) 실제의시스템에서는위프로그램의부분을시스템구성도의위치검출센서의입력신호로대치하여실제의레일의요철을검출하여시운전을합니다. 제 2 장표준라이브러리및프로그래밍 2-23 LS 산전연수원

27 비교펑션과특수플레그의활용프로그램프로그램개요시스템의 RTC 기능을이용하여지정한시각에서가동을시작하여지정한시각에서가동을중지하는프로그램의예제입니다. 주 ) 변수명시작시간, 종료시간은플래그 _RTC_TIME 과같은 Time_Of_Day 로설정합니다. 테스트를위하여변수명시작시간, 종료시간의입력값은 TOD#09:20:00.0 및 TOD#17:30:00.0 으로입력합니다.( 오전 9 시 20 분, 오후 5 시 30 분 ) 실행모니터링화면의해당변수를마우스로더블클릭하면데이터입력대화상자가나오며이곳의입력란에원하는데이터를타입에맞추어입력합니다. 제 2 장표준라이브러리및프로그래밍 2-24 LS 산전연수원

28 2.3 배열 (Array) 변수에대하여 배열 (Array) 이란동일한이름과동일한데이터타입 (WORD,, INT 등 ) 으로된데이터가순서대로나열된형태의변수를말합니다예를들어, 배열변수의이름을 LED 열 로정의하고배열원소개수를 5 개로지정한경우, 이변수는 LED 열 [0], LED 열 [1], LED 열 [2], LED 열 [3], LED 열 [4] 인 5 개의원소로구성되며, [ ] 안의숫자는배열변수에할당된원소번호로, INT 형변수를사용하면간접어드레스지정을할수있습니다 배열변수활용프로그램예 (1) 변수선언배열변수명 LED 열변수명 A 원소개수 5 개데이터타입 INT 데이터타입 WORD (2) 프로그램편집배열변수 LED 열 의배열원소에미리입력해둔초기값데이터를 1 초간격으로원소번호순으로변수 LED 출력 으로전송하여 %QW0.1.0 의출력모듈로출력하는프로그램예입니다. < 배열변수선언및초기값입력 > 변수명 LED 열 을 WORD 형배열변수로선언합니다. 제 2 장표준라이브러리및프로그래밍 2-25 LS 산전연수원

29 프로그램모니터링결과 INT 형변수 A 의현재값이 3 이므로 LED 열 [A] 의원소번호가 3 이되어, 결국 LED 열 [3] 에들어있는데이터값 16#5500 이 LED 출력으로전송됩니다. 제 2 장표준라이브러리및프로그래밍 2-26 LS 산전연수원

30 제 3 장응용라이브러리의활용 3.1 응용펑션라이브러리 기존의 MASTER-K 사용자편의를위해제공되는라이브러리파일입니다. 응용펑션라이브러리파일 (APP.*fu) 을사용할때는반드시프로젝트에추가로등록해야합니다. 단, 종래의확장라이브러리파일 (mkstdlib.*fu) 내의펑션은응용펑션라이브러리파일 (APP.*fu) 에포함되어있습니다. No. 펑션이름 기능 1 ENCO_BYTE,WORD,DWORD On 된비트위치를숫자로출력 2 DECO_BYTE,WORD,DWORD 숫자에대응되는비트위치를 On 3 BSUM_BYTE,WORD,DWORD On 된비트개수를숫자로출력 4 BMOV_BYTE,WORD,DWORD 비트스트링의일부분을복사이동 응용펑션프로그램예 (1) 프로젝트항목추가 응용펑션을사용하려면프로젝트항목추가를통해 APP.4fu 를프로젝트에추가하여야합니다. 제 3 장응용라이브러리의활용 3-1 LS 산전연수원

31 (2) 프로그램작성예 10 진숫자입력프로그램예 (ENCO_WORD 펑션활용 ) 개요 10 진 Key(Ten Key) 의조작에의하여지정한변수에원하는숫자를써넣는프로그램입니다. 입출력구성 정정 6 9 확인 숫자 0 : %IX0.0.0 숫자 1 : %IX0.0.1 숫자 2 : %IX0.0.2 숫자 3 : %IX0.0.3 숫자 4 : %IX0.0.4 숫자 5 : %IX0.0.5 숫자 6 : %IX0.0.6 숫자 7 : %IX0.0.7 숫자 8 : %IX0.0.8 숫자 9 : %IX0.0.9 정정 : %IX 확인 : %IX 제 3 장응용라이브러리의활용 3-2 LS 산전연수원

32 프로그램작성 행 1 의 AND 및 NE 펑션 %IW0.0.0 의 16Bit 중하위 10Bit 를마스킹하여변수 키 _ 정보 에쓰고, 키 _ 정보 중 On Bit 가있으면변수누름 _ 검출이 On 됨. 행 5 의 ENCO_W( 또는 ENCO_WORD) 및 INT_TO_BCD 펑션 키 _ 정보 중 On Bit 의수치값를구하여변수 정수값 에저장하고, 이를 BCD 값으로변환해변수 BCD 값 에저장. 행 8 의 SHL 및 OR 펑션 표시기 의 Bit 열을 4 Bit 만큼왼쪽으로이동함. 표시기 + BCD 값 = 표시기 행 15 의 BCD_TO_INT 및 MOVE 표시기 를 INT 형으로변환하여 버퍼 에저장하고, 다음수치입력을위해 표시기 를클리어함. 제 3 장응용라이브러리의활용 3-3 LS 산전연수원

33 제 4 장사용자정의라이브러리작성 사용자가직접만든펑션블록 ( 또는펑션 ) 을저장하는라이브러리파일을말합니다. 메뉴의 프로젝트 / 라이브러리 / 프로젝트항목추가 / 라이브러리 에서해당파일을추가하여사용합니다. 사용자정의라이브러리파일에는펑션 (**.?fu) 및펑션블록 (**.?fb) 이있습니다. (? 는기종에따라 1, 2, 3, 4, 6,7 로구분됨 ) 자주사용하는프로그램들을표준화하여펑션블록 ( 또는펑션 ) 으로만들어사용자라이브러리파일에등록해두고, 다른프로젝트수행시재활용함으로써프로그램의작성을편리하고신속하게수행할수있는기능입니다. 4.1 사용자정의펑션블록작성예 제 3 장에서작성한 10 진숫자입력프로그램 ( 텐키입력프로그램 ) 을사용자정의펑션블록으로만들어활용하는예입니다. (1) 기작성한 10 진숫자입력프로그램 열기 주 ) 10 진숫자입력프로그램에서응용펑션라이브러리파일 (APP.4fu) 의 ENCO_WORD 펑션이사용되므로, 라이브러리에이응용펑션라이브러리파일이추가되어야합니다. 제 4 장사용자정의라이브러리작성 4-1 LS 산전연수원

34 (2) 새프로그램을열어프로그램종류를 펑션블록 으로변경하기 10 진숫자입력프로그램 이열린상태에서새프로그램을열어프로그램파일이름을 텐키 FB 로명명하고, 프로그램종류를 프로그램블록 에서 펑션블록 으로변경한다. 또한, 펑션블록이름 텐키 를부여한다. (3) 프로그램블록을복사하여펑션블록에붙여넣기프로그램블록 10 진숫자입력프로그램 을복사하여펑션블록 텐키 FB 에붙여넣고, 텐키 FB 내지역변수의메모리할당을모두 자동 으로수정한다. 제 4 장사용자정의라이브러리작성 4-2 LS 산전연수원

35 (4) 펑션블록 텐키 FB 의끝행에입력및출력 변수추가편집펑션블록에는 1 개이상의입출력 변수가있어야하므로, 텐키 FB 의끝행에입출력 변수를추가로편집한다. 제 4 장사용자정의라이브러리작성 4-3 LS 산전연수원

36 (5) 펑션블록 텐키 FB 의지역변수목록에서입출력변수로정의할변수삭제 (6) 입출력변수정의 주 ) 펑션블록은맨위의첫번째입출력변수는 형이어야합니다. 만약, 형입출력이프로그램에필요하지않을경우에도 Dummy 변수로선언해야합니다. 제 4 장사용자정의라이브러리작성 4-4 LS 산전연수원

37 (7) 컴파일을수행한후확인단추를누르면 펑션블록안내자 가나타납니다. 다음단추를눌러나타난 펑션블록의라이브러리등록안내자 에새라이브러리파일이름을임의로부여합니다. ( 홍길동.4fb) 제 4 장사용자정의라이브러리작성 4-5 LS 산전연수원

38 (8) 라이브러리파일의프로젝트등록안내자 를통하여라이브러리파일을프로젝트파일에등록하고관련내용을적용합니다. 제 4 장사용자정의라이브러리작성 4-6 LS 산전연수원

39 (9) 작성한 텐키 사용자정의펑션블록을재사용합니다. 제 4 장사용자정의라이브러리작성 4-7 LS 산전연수원

40 제 5 장 SFC(Sequencial Function Chart) 프로그램작성 5.1 SFC 개요 SFC 는종래의 PLC 언어를이용하여응용프로그램을실행처리순서에따라플로차트 (Flow Chart) 형식으로전개하는구조화표현방식언어입니다. SFC 는응용프로그램을스텝과트랜지션으로분할하여서로연결하는방법을제공하며각스텝은액션으로, 각트랜지션은트랜지션조건과연관됩니다. SFC 는상태정보를가지고있어야하기때문에프로그램종류중프로그램블록과사용자펑션블록만 SFC 로작성할수있습니다.( 사용자펑션은작성불가 ) 형태초기스텝액션이름 스텝 트랜지션 액션 선택분기 점프 트랜지션이름 병렬분기 레이블 제한자 5.2 SFC 구조 스텝 스텝은액션이연결됨으로써시퀀스제어의단위를나타냅니다. 스텝이활성화상태이면부착되어있는액션의내용이실행됩니다. 초기스텝은최초로활성화되는스텝입니다. 제 5 장 SFC 프로그램작성 5-1 LS 산전연수원

41 최초의활성화상태인초기스텝 (S1) 의다음이행조건 (Transition Condition) 이성립되면현재활성화상태인스텝 (S1) 은비활성화상태로되고다음에연결된스텝 (S2) 이활성화상태로됩니다 트랜지션 트랜지션은스텝간의실행처리이행조건을나타냅니다. 이행조건은 PLC 언어인 IL 또는 LD 로표현되어야합니다. 이행조건의결과는항상 로되어야하며그변수의이름은어느트랜지션이나 TRANS 가됩니다. 이행조건의결과가 1 일경우현재스텝은비활성화되고다음스텝이활성화됩니다. 스텝과스텝사이에는반드시트랜지션이있어야합니다. TRAN1 TRAN1 의내용 TRANS 가 On 되면 S1 이비활성화되고 S2 가활성화상태가됩니다. TRANS 변수는내부적으로선언된변수입니다. 모든트랜지션에서이행조건을 TRANS 변수로출력시켜야합니다 액션 각스텝에는액션을 2 개까지연결할수있습니다. 액션이없는스텝은대기액션으로여겨지며다음의이행조건이 1 이될때까지대기상태가됩니다. 액션은 PLC 언어인 IL 또는 LD 로구성되고스텝이활성화될동안액션의내용이실행됩니다. 액션제한자가액션을제어하는데사용됩니다. 액션이활성화되었다가비활성화상태로될때액션에서실행된접점출력은 0 으로됩니다. 단, Set 출력, 펑션, 펑션블록출력은비활성화되기전의상태가유지됩니다. 제 5 장 SFC 프로그램작성 5-2 LS 산전연수원

42 STEP 의형태 ACTION1 의내용 ACTION2 의내용 - ACTION1 은 S1 이활성화된경우에만실행됩니다. - ACTION2 은 S1 이활성화된후 R 제한자를만날때까지실행됩니다. S1 이비활성화되어도계속실행합니다. - 액션이비활성화되는순간이액션을포스트스캔 (Post Scan) 한후다음스텝으로넘어갑니다. 포스트스캔활성화된액션이비활성화되는순간해당액션은 ON 된코일출력을모두 OFF 합니다. 단펑션, 펑션블록, Set 출력등은해당되지않습니다. 그림에서 postscan 접점이 0 이므로 C 와 %Q0.0.0 은 0 이됩니다. 제 5 장 SFC 프로그램작성 5-3 LS 산전연수원

43 5.2.4 액션제한자 (Action Qualifier) 액션이사용될때마다액션제한자가사용됩니다. 스텝에연관된액션은지정된제한자에따라실행시점과시간이정의됩니다. 액션제한자의종류는다음과같습니다. 1) N(Non-Stored) 스텝이활성화된동안만액션이실행됩니다. 2) S(Set) 스텝이활성화되면 R 제한자가실행될때까지액션이실행됩니다. 3) R(Overriding Reset) 이전에 S, SD, DS, SL 제한자로실행된액션의실행을중지시킵니다. 4) L(Time Limited) 스텝이활성화된후지정된시간또는스텝이비활성화될때까지액션이실행됩니다. 제 5 장 SFC 프로그램작성 5-4 LS 산전연수원

44 5) D(Time Delayed) 스텝이활성화된후지정된시간이경과한후부터비활성화될때까지액션이실행됩니다. 6) P(Pulse) 스텝이활성화된순간에만액션이실행됩니다. 7) SD(Stored & Time Delayed) 스텝이활성화된후지정된시간이경과한후부터 R제한자가실행될때까지액션이실행됩니다. 단, 시간이경과하기전에 R 제한자가실행되면액션은실행되지않습니다. 제 5 장 SFC 프로그램작성 5-5 LS 산전연수원

45 8) DS(Delayed & Stored) 스텝이활성화된후지정된시간이경과한후부터 R제한자가실행될때까지액션이실행됩니다. 단, 시간이경과하기전에스텝이비활성화되거나 R 제한자가실행되면액션은실행되지않습니다. 9) SL(Stored & Timed Limited) 스텝이활성화된후지정된시간또는 R 제한자가실행될때까지액션이실행됩니다. 제 5 장 SFC 프로그램작성 5-6 LS 산전연수원

46 5.3 SFC 전개규칙 직렬연결 2 개의스텝은직접연결되지않고항상트랜지션에의해분리됩니다. 2 개의트랜지션은직접연결되지않고항상스텝에의해분리됩니다. 직렬로연결되어있는스텝간의이행은상위스텝이활성화된상태에서다음에연결된트랜지션의이행조건이 1 로되면하위스텝이활성화상태가됩니다 선택분기 선택분기로연결되어있으면상위스텝이활성화된상태에서다음에연결된 2 개이상의트랜지션중이행조건이 1 로된곳의다음스텝이활성화됩니다. 그다음은직렬연결과동일합니다. 선택분기는여러트랜지션중먼저 1 로된곳의해당액션만실행되고나머지액션은실행되지않습니다. JUMP 의삽입은선택분기의끝에만가능합니다. 예 T1 의이행조건이 1이되었을경우 S1 -> S2 -> S3 순으로활성화상태가됩니다. T4 의이행조건이 1이되었을경우 S1 -> S4 -> S3 순으로활성화상태가됩니다. T5 의이행조건이 1이되었을경우 S1 -> S5 -> S3 순으로활성화상태가됩니다. 이행조건이동시에 1이되었을경우에는가장왼쪽에있는트랜지션쪽으로이행됩니다. T1,T4 의이행조건이동시에 1이되었을경우 S1 -> S2 -> S3 순으로활성화상태가됩니다. T4,T5 의이행조건이동시에 1이되었을경우 S1 -> S4 -> S3 순으로활성화상태가됩니다. 제 5 장 SFC 프로그램작성 5-7 LS 산전연수원

47 5.3.3 병렬분기 병렬분기로연결되어있으면상위스텝이활성화상태에서다음에연결되어있는트랜지션의이행조건이 1 로되면이트랜지션밑에연결된모든스텝이활성화상태로됩니다. 각분기의전개는직렬연결과동일합니다. 이때활성화상태인스텝은분기의수만큼존재하게됩니다. 병렬분기에서합쳐질경우각분기의마지막스텝이모두활성화상태에서트랜지션의이행조건이 1 로되면다음에연결된스텝이활성화상태로됩니다. 병렬분기는두가지동작을동시에실행합니다. 예 - S1 이활성화된상태에서이행조건 T1 이 1 이면 S2, S6, S8 이활성화상태로되고 S1 이비활성화상태로됩니다. - S4, S7, S8 이활성화된상태에서이행조건 T4 가 1이면 S5 가활성화상태로되고 S4, S7, S8 은비활성화상태로됩니다. Active 순서 S1-+->S2--->S3--->S4--+->S5 +->S6--->S >S 제 5 장 SFC 프로그램작성 5-8 LS 산전연수원

48 5.3.4 점프 SFC 마지막스텝이활성화상태로된후다음에연결되어있는트랜지션의이행조건이 1 로되면 SFC 초기스텝 (Initial Step) 이활성화상태로됩니다. 예 점프를사용하면원하는곳으로전개를이어나갈수있습니다. 점프는 SFC 프로그램끝또는선택분기끝에만올수있습니다. 병렬분기안으로또는밖으로는점프할수없습니다. 병렬분기안에서의점프는가능합니다. 예 1) 선택분기끝에서의점프 - S5 다음에는 S2 이활성화됩니다. 제 5 장 SFC 프로그램작성 5-9 LS 산전연수원

49 2) 병렬분기안에서의점프 3) 병렬분기안으로는점프할수없습니다. 제 5 장 SFC 프로그램작성 5-10 LS 산전연수원

50 5.4 SFC 프로그램예 직렬연결프로그램예 (1) 프로그램편집 S1 의 (N) 깜빡이 _ 출력 0 : 초기에 S1 이활성화되어램프 0 을점멸시킴. S2 의 (N) 깜빡이 _ 출력 1 : S2 가활성화되면램프 1 을점멸시킴. S2 의 (S) 셋 _ 출력 2 : 램프 2 를 S2~S3 에서 ON 으로유지시킴. S3 의 (N) 깜빡이 _ 출력 3 : S3 가활성화되면램프 3 을점멸시킴. S4 의 (R) 셋 _ 출력 2 : 램프 2 를 S4 에서리셋시킴. 제 5 장 SFC 프로그램작성 5-11 LS 산전연수원

51 (2) 프로그램모니터링 제 5 장 SFC 프로그램작성 5-12 LS 산전연수원

52 5.4.2 선택분기프로그램예 (1) 프로그램편집 (2) 프로그램모니터링 스텝 S2 가활성화되면램프 %Q0.1.2 가점등됩니다. 분기된 T2 나 T5 중먼저 ON 된해당스텝이활성화됩니다. 제 5 장 SFC 프로그램작성 5-13 LS 산전연수원

53 5.4.3 병렬분기프로그램예 (1) 프로그램편집 제 5 장 SFC 프로그램작성 5-14 LS 산전연수원

54 제 5 장 SFC 프로그램작성 5-15 LS 산전연수원

55 (2) 프로그램모니터링 초기에스텝 1 이활성화되어액션 : 데모 1 프로그램이실행됩니다. 제 5 장 SFC 프로그램작성 5-16 LS 산전연수원

56 액션제한자 D(Time Delyed) 에의해 S2 가활성화된후 5 초후부터액션데모 2 가실행됩니다. S3 가활성화되면액션데모 3, 액션데모 4 및액션 : 데모 5 가동시에실행됩니다. 제 5 장 SFC 프로그램작성 5-17 LS 산전연수원

57 S4 가활성화되면액션 데모 6 이실행우측표시기의수치를 1초마다 1만큼증가 S4 가비활성화되면액션 데모 6 은멈추며 S1 이다시활성화되어액션 데모 1 이재실행. S4 가재활성화되면액션 : 데모 6 이재실행되고우측표시기의수치는이전값부터다시증가. 제 5 장 SFC 프로그램작성 5-18 LS 산전연수원

58 모듈 Ⅱ. 아날로그입력 (AD) - 적용모델 - 제 1 장. GLOFA-GMR/1/2/3 용 제2장. GLOFA-GM4용제3장. GLOFA-GM6용제4장. GLOFA-GM7용 G3F-AD4A G3F-AD4B G3F-AD3A G4F-AD3A G4F-AD2A G6F-AD2A G7F-ADHA G7F-AD2A

59 제 1 장성능규격및변환특성 본제품은 GLOFA PLC GMR/1/2/3/4/6시리즈및 MASTER-K200S/300S/1000S시리즈의 CPU와조합하여사용하는아날로그 / 디지털변환모듈.( 이하 AD 변환모듈 ) 입니다 A/D 변환모듈은 PLC외부기기로부터의아날로그신호 ( 전압또는전류입력 ) 를부호가있는 14또는12비트바이너리데이터의디지털값으로변환하는모듈입니다. 1.1 성능규격 항목 적용 PLC 입출력점유점수 규격 G3F-AD4A G3F-AD4B G3F-AD3A GM3/MK1000S 16점 전 압 DC -5 5V ( 입력저항 560kΩ ) DC-10 10V( 입력저항 560kΩ ) 전 류 DC 20 20mA ( 입력저항 250Ω) DC 1 5V ( 입력저항 600kΩ ) DC 4 20mA ( 입력저항 250Ω ) DC 1 5V( 입력저항 600kΩ ) DC 0 10V ( 입력저항 600kΩ ) DC 4 20mA ( 입력저항 250Ω ) 아날로그 입 력 전압 / 전류선택 제품옆면의입력전환선택스위치로채널마다선택 ( On : 전류, Off : 전압 ) 하고 전류입력사용시제품전면의입력범위선택스위치를 V1/I 쪽으로선택합니다. 제품옆면의입력전환선택스위치로채널마다선택 (On : 전류, Off : 전압 ) 하고 프로그램초기화펑션블록 ( 입력변수 :IN_SEL) 으로지정 ( 0: 전류,1: 전압 ) 제품옆면의입력전환선택스위치로채널마다선택 ( On : 전류, Off : 전압 ) 전압종류선택은프로그램 으로설정함 디지털출력 16비트바이너리값 ( 데이터 : 14비트 ) 출력데이터 [DATATYPE] 지정에따라채널마다설정가능 0 설정 : , 1 설정 : (G3F-AD4A) 0 설정 : , 1 설정 : (G3F-AD4B) 16비트바이너리값 ( 데이터 : 12비트 ) 출력데이터 : ) 최대분해능 DC 1 5V 0.25mV (1/16000) 1mV (1/4000) DC -5 5V 0.625mV (1/16000) DC V 1.25mV (1/16000) DC 0 10V 2.5mV (1/4000) DC 4 20mA 1.0μA (1/16000) 4μA (1/4000) DC mA 2.5μA (1/16000) 정밀도 ±0.5% [ 풀스케일 (Full Scale)] ( 주위온도가 25 일때는 ±0.3%) 최대 변환 속도 3.0ms / 채널 3.0ms / 채널 5.0ms / 채널 절대 최대 입력 전압 : ±12V, 전류 : ±25mA 아날로그입력점수 16채널 /1모듈 16채널 /1모듈 8채널 /1모듈 절 연 방 식 입력단자와 PLC전원간포토커플러절연 ( 채널간비절연 ) 접 속 단 자 38점단자대 38점단자대 20점단자대 내부 소비 전류 0.7A 0.54A 0.5A 중 량 630g 560g 310g 주의 A/D 변환모듈은공장출하시아날로그입력이전류로설정되어있으며이에대해오프셋 / 게인값이조정되어져있습니다. 제 1 장성능규격및변환특성 1-1 LS 산전연수원

60 항 목 규 G4F-AD3A G4F-AD2A G6F-AD2A 격 적용 PLC GM4/MK300S GM6/MK200S 입출력점유점수 16 점 전 압 DC 1 5V( 입력저항 600kΩ ) DC 0 10V ( 입력저항 600kΩ ) DC -5 5V ( 입력저항 560kΩ ) DC-10 10V( 입력저항 560kΩ ) DC 1 5V ( 입력저항 1MΩ 이상 ) DC 0 ~ 10V ( 입력저항 1MΩ 이상 ) DC V ( 입력저항 1MΩ 이상 ) 전류 DC 4 20 ma ( 입력저항 250Ω ) DC ma ( 입력저항 250Ω) DC ma ( 입력저항 250Ω) 아날로그 입 력 제품옆면의입력전환선택스위치로채널마다선택 입력단자에의해선택 ( 전류입력사용시단자대 입력단자에의해선택 ( 전류입력사용시단자대 ( On : 전류, Off : 전압 ) V 단자와 I 단자를연결합니다.) V 단자와 I 단자를연결합니다.) 전압 / 전류 선택 전압종류선택은프로그램으로설정함 전압종류선택은제품옆면의스위치로선택 전압종류선택은제품옆면의스위치로선택 디지털출력 16비트바이너리값 ( 데이터 : 12비트 ) 출력데이터 : ) 16비트바이너리값 16비트바이너리값 ( 데이터 : 14비트 ) ( 데이터 : 12비트 ) 출력데이터 [DATATYPE] 지정 출력데이터 [DATATYPE] 지정에따라채널마다설정가능에따라채널마다설정가능 0 설정 : , 0 설정 : , 1 설정 : 설정 : 최대분해능 DC 1 5V 1mV (1/4000) 1mV (1/4000) DC -5 5V 0.625mV (1/16000) DC V 1.25mV (1/16000) 5mV (1/4000) DC 0 10V 2.5mV (1/4000) 2.5mV (1/4000) DC 4 20mA 4μA (1/4000) 4μA (1/4000) DC mA 2.5μA (1/16000) 정밀도 ±0.5% [ 풀스케일 (Full Scale)] ( 주위온도가 25 일때는 ±0.3%) 최대 변환 속도 5.0ms / 채널 3.0ms / 채널 5.0ms / 채널 절대 최대 입력 전압 : ±15V, 전류 : ±25mA 아날로그입력점수 8채널 /1모듈 16채널 /1모듈 4채널 /1모듈 절 연 방 식 입력단자와 PLC전원간포토커플러절연 ( 채널간비절연 ) 접 속 단 자 20점단자대 38점단자대 18점단자대 내부 소비 전류 0.5A 0.54A DC5V:40mA,DC15V:50mA,DC-15V:20mA 중 량 280g 560g 200g 주의 * A/D 변환모듈은공장출하시아날로그입력이전류로설정되어있으며이에대해오프셋 / 게인값이조정되어져있습니다. * G6F-AD2A 를사용하는경우전원모듈은반드시 GM6-PAFB 를사용해야합니다. 제 1 장성능규격및변환특성 1-2 LS 산전연수원

61 1.2 각부의명칭과역할 각부분의명칭에대해서설명합니다. 1) G3F-AD4A G3F-AD4A RUN LED 점등 : 정상동작중점멸 : 에러발생소등 : DC 5V 단선, G3F-AD4A 모듈이상 OFFSE 오프셋값미세조정용볼륨저항 GAIN 게인값미세조정용볼륨저항 V1 / V2 입력범위선택스위치 1) 전압사용시 : C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 C A C B C C C D C E C F SLD AGN FG V1/I : 전압범위 5V~5V V2 : 전압범위 10V~10V 2) 전류사용시 V1/I : 전류범위 20mA~20mA V2 : 사용불가 각채널입력종류 ( 전압 / 전류 ) 선택스위치 ON 시 : 전류입력 OFF 시 : 전압입력 CH ON -10~+10V -20~+20 제 1 장성능규격및변환특성 1-3 LS 산전연수원

62 2) G3F-AD4B G3F-AD4B 2 1~5V 4~20mA 1 2 RUN LED G3F-AD4B의동작상태를표시전압 / 전류선택스위치 1) 전압선택시스위치의위치 On On ) 전류선택시스위치의위치 On On 내용 스위치는 Off 에위치함. 스위치는 On 에위치함 제 1 장성능규격및변환특성 1-4 LS 산전연수원

63 G3F-AD3A No 1 RUN LED G3F-AD3A 의동작상태를표시 내용 2 전압 / 전류선택스위치 1) 전압선택시스위치의위치 On 스위치는 Off 에위치함. 2) 전류선택시스위치의위치 On 스위치는 On 에위치함 제 1 장성능규격및변환특성 1-5 LS 산전연수원

64 4) G4F-AD3A No 1 RUN LED G4F-AD3A 의동작상태를표시 내용 2 전압 / 전류선택스위치 1) 전압선택시스위치의위치 On 스위치는 Off 에위치함. 2) 전류선택시스위치의위치 On 스위치는 On 에위치함 제 1 장성능규격및변환특성 1-6 LS 산전연수원

65 5) G4F-AD2A 번호내용번호내용 1 RUN LED 4 게인스위치 G4F-AD2A 의동작상태를표시 스위치를위쪽방향으로조정하면해당채널의 노멀 (Normal) 모드 : 채널선택스위치가 4~F 의위치일때 아날로그입력값을게인값으로기억 -점등: 정상동작중 -점멸: 에러발생 입력범위선택스위치 - 소등 : DC 5V 단선, G4F-AD2A 모듈이상 5 공장출하시는전류입력상태로설정되어져있습니다. 2 테스트 (Test) 모드 : 채널선택스위치가 0~3 의위치일때 -점등: 오프셋 / 게인스위치가세트 ( 스위치를위쪽으로조작 ) 일때 -점멸(1.0초): 오프셋 / 게인스위치를조작하지않을때 -점멸(0.2초): 오프셋및게인설정에러일때오프셋스위치 아날로그입력전 DC -10~10V 압 DC -5~5V 전류 DC -20~20 ma 스위치의위치 1 2 OFF 1 2 OFF 3 스위치를위쪽방향으로조정하면해당채널의아날로그입력값을오프셋값으로기억테스트모드용채널선택스위치 스위치의위치를 1 2 OFF 상태로위치하지말아주십시오. 오동작의원인이됩니다. 또는 1 2 OFF 오프셋값및게인값조정시해당채널을선택한다. ( 채널스위치가 0~3 위치일때만유효함 ) 제 1 장성능규격및변환특성 1-7 LS 산전연수원

66 6) G6F-AD2A RUN 1 G6F-AD2A G6F-AD2 V+ CH I+ CO V+ CH I+ CO 2 J1 J2 V+ CH I+ CO 1 2 V+ CH I+ CO F -10~+10V +4~+20 ma No 1 2 RUN LED G6F-AD2A 의동작상태를표시 입력범위선택스위치 내용 아날로그입력 스위치의위치 DC 1~5V J1 J 전압 DC 0~10V J1 J DC-10~10V J1 J 전류 DC 4~20mA J1 J 제 1 장성능규격및변환특성 1-8 LS 산전연수원

67 1.3 입출력변환특성 입출력변환특성은 PLC 외부기기로부터의아날로그신호 ( 전압또는전류입력 ) 를디지털값으로변환할때의오프셋과게인값을직선으로연결한기울기입니다. A/D 변환모듈의입출력변환특성에대하여설명합니다. G3F-AD4 아날로그입력실용범위 게인값 디지털출력값 오프셋값 아날로그입력 DC -10 ~ DC -5 ~ 5V DC -20~ 20-10V 0 10V -5V ma 0 ma 20 ma G4F-AD2 아날로그입력실용범위 디지털출력값 게인값 오프셋값 아날로그입력 DC -10 ~ DC -5 ~ 5V DC -20~ 20-10V 0 10V -5V ma 0 ma 20 ma 제 1 장성능규격및변환특성 1-9 LS 산전연수원

68 1.3.1 G3F-AD4A의입출력특성 G3F-AD4A는채널마다아날로그입력전환선택스위치로전압 / 전류선택이가능하고오프셋 / 게인설정은 16채널일괄로실행합니다. 1) 전압입력특성전압입력은입력전환선택스위치의위치를각채널별로 Off에위치하여사용합니다. 입력전환선택스위치의조작 전압선택시 Off 에위치 On CH On ( 제품의좌측면에위치 ) 채널번호 가 ) DC -10 ~10V 일때 아날로그입력선택스위치를아래쪽 (V2) 으로설정해주십시오. 입력선택스위치의조작 V1/I (DC -5~5V 선택 ) V2 (DC -10~10V 선택 ) < 제품의전면부에위치 > 디지털출력값 V V 아날로그입력 ( 전압 ) 전압입력특성에대한디지털출력값은다음과같습니다. 디지털 아날로그입력전압 (V) 출력범위 ~ ~ 제 1 장성능규격및변환특성 1-10 LS 산전연수원

69 나 ) DC -5 ~5V 일때 아날로그입력선택스위치를위쪽 (V1/I) 으로설정해주십시오. 입력선택스위치의조작 V1/I (DC -5~5V 선택 ) V2 (DC -10~10V 선택 ) < 제품의전면부에위치 > 디지털출력값 V V 아날로그입력 ( 전압 ) 전압입력특성에대한디지털출력값은다음과같습니다. 디지털 아날로그입력전압 (V) 출력범위 ~ ~ 제 1 장성능규격및변환특성 1-11 LS 산전연수원

70 2) 전류입력특성 전류입력은입력전환선택스위치의위치를각채널별로 On 에설정해주십시오 입력전환선택스위치의조작 전압선택시 Off 에위치 On CH On ( 제품의좌측면에위치 ) 채널번호 아날로그입력선택스위치를위쪽 (V1/I) 으로설정해주십시오. 입력선택스위치의조작 V1/I (DC -20~20 ma선택 ) V2 ( 전류사용불가 ) < 제품의전면부에위치 > 디지털출력값 ma 0 ma 4 ma 12 ma 아날로그입력 ( 전류 ) 20 ma 전류입력특성에대한디지털출력값은다음과같습니다. 디지털 아날로그입력전류 ( ma ) 출력범위 ~ ~ 제 1 장성능규격및변환특성 1-12 LS 산전연수원

71 3) 전압, 전류를동시에사용할때의입출력특성 전압과전류를동시에사용할때는입력전환선택스위치를해당채널별전압과전류로설정해주십시오예 ) 전압사용채널 : 0 ~ 7 전류사용채널 : 8 ~ 15 입력전환선택스위치의위치 전압선택시 Off 에위치 On CH On ( 제품의좌측면에위치 ) 채널번호 아날로그입력선택스위치를위쪽 (V1/I) 으로설정해주십시오. 입력선택스위치의조작 V1/I ( 전압선택 : DC -5 ~ 5V) ( 전류선택 : DC 20 ~ 20 ma ) < 제품의전면부에위치 > 디지털출력값 V 0V 1V 3V 5V 5.12V 전압입력 mA전류입력 -20 ma 0 ma 4 ma 12 ma 20 ma20.48 아날로그입력 전압과전류를동시에사용할때의입력특성에대한디지털출력값은다음과같습니다. 아날로그입력전류 ( ma ) 디지털출력범위 -5.12V -5V 0V 1V 3V 5V 5.12V mA -20mA 0mA 4mA 12mA 20mA 20.24mA -192 ~ ~ 제 1 장성능규격및변환특성 1-13 LS 산전연수원

72 1.3.2 G4F-AD2A 의입출력특성 1) 전압입력특성 G4F-AD2A는채널마다전압 / 전류선택이가능하고오프셋 / 게인을조절할수있습니다. 전압입력으로사용할때는입력범위선택스위치의조작에의해 DC -5~5V 또는 DC -10~10V를선택할수있습니다. 가 ) DC -10~10V 일때 입력범위선택스위치 단자대결선 1 2 OFF 1 번 On, 2 번 Off 선택 ( 제품의좌측면에위치 ) V0 아날로그입력 I0 COM SLD 예 1 오프셋 : -10V 게인 : 0V 예 2 오프셋 : 0V 게인 : 5V V V V 아날로그입력 ( 전압 ) 10.24V 오프셋 / 게인값설정을변경한경우전압입력특성에대한디지털출력은다음과같습니다. 구분 디지털아날로그오프셋값게인값출력범위 입력전류 (V) 예 1 예 2 예 1 예 ~ ~ V 0V V 5V V 0V V 5V 제 1 장성능규격및변환특성 1-14 LS 산전연수원

73 나 ) DC -5~5V 일때 입력범위선택스위치 단자대결선 1 2 OFF 1 번 Off, 2 번 On 선택 ( 제품의좌측면에위치 ) V0 아날로그입력 I0 COM SLD 아날로그입력 ( 전압 ) 예 V -5V V 5V 5.12V 예 2 예 3 오프셋 : -5V 오프셋 : 0V 게인 : 2.5V 오프셋 : 1V 게인 : 3V 오프셋 / 게인값설정을변경한경우전압입력특성에대한디지털출력은다음과같습니다. 구분 디지털아날로그오프셋값게인값출력범위 입력전류 (V) 예 1 예 2 예 3 예 1 예 2 예 ~ ~ V 0V V 2.5V V 3V V 0V V 2.5V V 3V 제 1 장성능규격및변환특성 1-15 LS 산전연수원

74 2) 전류입력특성 (DC 20 ~ 20 ma ) 입력범위선택스위치 단자대결선 1 2 OFF 1 번 Off, 2 번 On 선택 ( 제품의좌측면에위치 ) 아날로그입력 V0 I0 COM SLD ma -20 ma 0 ma 4 ma 10 ma 12 ma 20 ma 아날로그입력 ( 전류 ) 예 1 예 2 예 3 오프셋 : -20 ma게인 : 0mA 오프셋 : 0 ma게인 : 10 ma 오프셋 : 4 ma게인 : 12 ma 오프셋 / 게인값설정을변경한경우전류입력특성에대한디지털출력은다음과같습니다. 구분 디지털아날로그입력전류 ( ma ) 출력범위오프셋값게인값 예 1 예 2 예 3 예 1 예 2 예 ~ ~ mA 0mA mA 10mA mA 12mA mA 0mA mA 10mA mA 12mA 제 1 장성능규격및변환특성 1-16 LS 산전연수원

75 3) 전압, 전류를동시에사용할때의입출력특성 전압과전류를동시에사용할때는입력범위선택스위치를 DC -5~5V 범위로선택 (1번은 Off, 2번은 On) 해주십시오. 예 ) 전압사용채널 : 0 전류사용채널 : 입력범위선택스위치 OFF 1 번 Off, 2 번 On 선택 ( 제품의좌측면에위치 ) 단자대결선전압사용 (0 채널 ) 전류사용 (1 채널 ) 아날로그입력 V0 I0 COM SLD 아날로그입력 V1 I1 COM SLD 전압과전류를동시에사용할때는전압입력범위는 DC -5~5V 만사용할수있습니다. 디지털출력값 예 예 2 예 전압입력전류입력 ma -20 ma 0 ma 4 ma 10 ma 12 ma 20 ma ma -5.12V -5V V 5V 5.12V 아날로그입력 오프셋 / 게인값설정을변경한경우전압 / 전류입력특성에대한디지털출력은다음과같습니다. 구분예 1 예 2 예 3 예 1 예 2 예 3 디지털출력범위 -192 ~ ~ 8191 오프셋값게인값아날로그입력전압 / 전류 전압 전류 전압 (v) ( ma ) (v) 전류 -5V 0V 1V 2.5V 3V 5V ( ma ) -20mA 0mA 4mA 10mA 12mA 20mA 제 1 장성능규격및변환특성 1-17 LS 산전연수원

76 주의 1. 디지털출력범위가 192 ~ 16191로지정된경우디지털출력값이 16191또는 192를초과하는아날로그값이입력되어도디지털출력값은 또는 192로고정됩니다. 디지털출력범위가 8192 ~ 8191로지정된경우디지털출력값이 8191또는 8192를초과하는아날로그값이입력되어도디지털출력값은 8191 또는 8192로고정됩니다. 2. 전압은 ±15V, 전류는 ±25mA이상을입력하지말아주십시오. 열상승에의해불량의원인이됩니다. 3. G4F-AD2A에서오프셋 / 게인설정은필히게인값이오프셋값보다크게설정하여주십시오. 그렇지않으면정확한디지털출력을얻을수없게됩니다 G3F-AD4B의입출력특성 입출력변환특성은 PLC 외부기기로부터의아날로그신호 ( 전압또는전류입력 ) 를디지털값으로변환할때의기울기로아래그림과같습니다. A/D 변환모듈은채널마다아날로그입력범위선택스위치로전압 / 전류선택이가능하고오프셋 / 게인설정은고정되어있으므로변경할수없습니다. 아날로그입력실용범위 디지털출력값 아날로그입력 DC 4 ~ 20 ma DC 1 ~ 5V ma V 4 ma 12 ma 20 ma ma V 입출력변환특성 주의 1. 디지털출력값이 또는 0을초과하는아날로그값이입력되어도디지털출력값은 또는 0로고정됩니다. 2. 전압은 +15V, 전류는 +25mA이상을입력하지마십시오. 열상승에의해불량의원인이됩니다. 제 1 장성능규격및변환특성 1-18 LS 산전연수원

77 1) 전압입력 (DC 1 ~5V) 특성 전압선택시초기화펑션블록의입력변수 IN_SEL에서채널마다 1 로설정하여야합니다.. 또한, 입력범위선택스위치의위치를각채널별로 Off에위치하여사용합니다. 전압 / 전류선택스위치 -.Off : 전압 CH 채널번호 On On ( 제품의우측면에위치 ) 전압입력특성에대한디지털출력값은다음과같습니다. 구 분 아날로그입력전압 (V) 1 이하 이상 디지털출력값 ) 전류입력특성 전류선택시초기화펑션블록의입력변수 IN_SEL에서채널마다 0 으로설정하여야합니다.. 전류입력은전압 / 전류선택스위치의위치를각채널별로 On에위치하여사용합니다. 전압 / 전류선택스위치 - On : 전 CH 채널번호 On On ( 제품의우측면에위치 ) 전류입력특성에대한디지털출력값은다음과같습니다. 구 분 아날로그입력전류 ( ma ) 4 이하 이상 디지털출력값 제 1 장성능규격및변환특성 1-19 LS 산전연수원

78 3) 전압, 전류를동시에사용할때의입력특성 아날로그입력을전압입력으로사용하는채널은해당채널마다초기화펑션블록의입력변수 IN_SEL에서 1 로설정하고, 전압 / 전류선택스위치의위치를 Off로선택해야하며 아날로그입력을전류입력으로사용하는채널은해당채널마다초기화펑션블록의입력변수 IN_SEL에서 0 으로설정하고, 전압 / 전류선택스위치의위치를 On으로선택해야합니다. 예 ) 전압사용채널 : 채널0 ~ 3, 8 ~ 11, 전류사용채널 : 채널4 ~7, 12 ~15 전압 / 전류선택스위치 - On : 전류 CH Off : 전압 On On 채널번호 ( 제품의우측면에위치 ) 전압 / 전류입력특성에대한디지털출력값은다음과같습니다. 구분아날로그입력 입력 종류 1~ 5V 1 이하 이상 4~20 ma 4 이하 이상 디지털출력값 ) 아날로그입력과디지털출력의관계아날로그입력과디지털출력의관계는다음과같습니다. 디지털출력값 입력범위 디지털출력값 분해능 아날로그입력값 DC 1~5V DC 4~20 ma 0 ~ mV 1 μa ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 아날로그입력과디지털출력 제 1 장성능규격및변환특성 1-20 LS 산전연수원

79 1.3.4 오프셋 / 게인설정과디지털출력의관계 (G4F-AD2A 만해당됨 ) 1) 분해능분해능은다음식에의해결정됩니다. (1) 전압입력의경우게인값 오프셋값분해능 = X 1000( mv ) 8000 예 ) 게인값 : 0V 오프셋값 : -10V 0 (-10) 분해능 = X 1000( mv ) = 1.25( mv ) 8000 (2) 전류입력의경우게인값 오프셋값분해능 = X 1000( μa ) 8000 예 ) 게인값 : 0mA오프셋값 : -20mA 0 (-20) 분해능 = X 1000( μa ) = 2.5( μa ) ) 최대분해능과디지털출력값과의관계 오프셋 / 게인설정에의해다음의계산식과같이된경우에는디지털출력값이 1 씩증감되지않습니다. 게인값 오프셋값 < 분해능 8000 제 1 장성능규격및변환특성 1-21 LS 산전연수원

80 3) 오프셋 / 게인설정 (1) G3F-AD4A의오프셋 / 게인설정가 ) 오프셋 / 게인설정순서오프셋 / 게인값은 16채널일괄로조정합니다. 오프셋 / 게인조정 조정전준비사항 : 입력범위선택스위치를선택 입력범위선택 A/D 변환용프로그램을 CPU 모듈의메모리에저장 CPU 모듈 : RUN 상태 GMWIN : 변수모니터링 [A/D 변환값 ] 디지털값모니터링 채널 0 에오프셋전압 (DC0V) 또는전류 (0 ma ) 를입력합니다. 오프셋트리머를좌우로조절하면서 GMWIN : 채널 0 의변수모니터링값이오프셋에상당하는값 (8000) 이되도록조절합니다. 오프셋값미세조정 채널 0 에게인전압 (DC10V) 또는전류 (20 ma ) 를입력합니다. 게인트리머를좌우로조절하면서 GMWIN : 채널 0 의변수모니터링값이게인에상당하는값 (16000) 이되도록조절합니다. 게인값미세조정 오프셋 / 게인조정완료 제 1 장성능규격및변환특성 1-22 LS 산전연수원

81 나 ) 오프셋 / 게인설정에따른입출력특성 디지털출력값 N o 1 입력범위 DC -10~10V -192 ~ 디지털오프셋값게인값분해능출력값 0V 10V 1.25 mv 2 DC -5~5V 0V 5V mv ~ ~ ~ ~ 아날로그입력값 ~ ~ ~ ~ ~ ~ ~ ~ 전압입력과디지털출력 디지털출력값 N o 입력범위 디지털출력값 오프셋값게인값분해능 아날로그입력값 1 DC -20~20 ma -192 ~ ma 20 ma 2.5 μa ~ ~ ~ ~ ~ ~ 전류입력과디지털출력 제 1 장성능규격및변환특성 1-23 LS 산전연수원

82 (2) G4F-AD2A의오프셋 / 게인설정가 ) 오프셋 / 게인설정순서오프셋 / 게인값은각각의채널에대해서조정합니다. 오프셋 / 게인조정 테스트모드용채널선택스위치를 0 번채널로설정합니다. : RUN LED 1 초주기로점멸 테스트모드상태 채널 0 에오프셋전압또는전류를입력합니다. 오프셋스위치를위쪽방향으로조작하여해당채널의오프셋에상당하는값이설정되도록조절합니다. : 위쪽방향조작시 RUN LED 점등 오프셋값조정 채널 0 에게인전압또는전류를입력합니다. 게인스위치를위쪽방향으로조작하여해당채널의게인에상당하는값이설정되도록조절합니다. : 위쪽방향조작시 RUN LED 점등 게인값조정 사용하는모든채널 (0~3) 설정완료 오프셋 / 게인조정완료 : 채널선택스위치를 4~F 채널에위치 ( 노멀모드상태 ) 주의 1. 오프셋값및게인값은실사용상태로설정해주십시오. 2. 오프셋값및게인값은 G4F-AD2A 내에기억되어전원이 Off 되어도지워지지않습니다. 3. 테스트 (Test) 모드로하면모든채널의 A/D변환이중지됩니다. 4. 오프셋 / 게인설정은 DC 10 ~ 0 ~ 10V 또는 DC 20 ~ 0 ~ 20mA의범위로해주십시오. 5. 이범위를초과해서설정한경우최대분해능 / 정밀도가성능규격안에들수없습니다 항의 *5에표시된장소의접지를변경 ( 미실시 실시또는실시 떼어냄 ) 할경우에는반드시오프셋 / 게인설정을처음부터다시해주십시오. 제 1 장성능규격및변환특성 1-24 LS 산전연수원

83 나 ) 오프셋 / 게인설정에따른입출력특성 디지털출력값 N o 1 입력범위 DC -10~10V 디지털오프셋값게인값분해능출력값 -10V 0V 1.25 mv DC -5~5V ~ -5V 0V mv DC -5~5V 1V 3V 0.25 mv ~ ~ ~ ~ ~ 아날로그입력값 ~ * 3 은최대분해능을넘기때문에디지털값이 1 씩증감되지않습니다. 전압입력과디지털출력 ~ ~ ~ ~ ~ ~ ~ ~ ~ 디지털출력값 N o 입력범위 디지털출력값 오프셋값게인값분해능 아날로그입력값 1 2 DC -20~20 ma -192 ~ DC -20~ ma -20 ma 0 ma 2.5 μa 4 ma 12 ma 1 μa ~ ~ ~ ~ ~ ~ ~ ~ ~ * 2 는최대분해능을넘기때문에디지털값이 1 씩증감되지않습니다. 전류입력과디지털출력 제 1 장성능규격및변환특성 1-25 LS 산전연수원

84 1.4 A/D 변환특성 필터처리 A/D 변환방샘플링 ( 순시값 ) 처리평균처리횟수에의한평균처리시간에의한평균처리 필터처리필터는노이즈또는입력값의급격한변동을필터 ( 지연 ) 처리함으로써아날로그값에대한안정된디지털입력값으로사용할수있습니다. PVfn = (1-α) X PVn + α X PVfn 1 PVfn 여기서 : 현재의필터출력값 PVn PVfn : 현재의 A/D 변환값 1 : 이전의필터출력값 α : 필터상수 (0.01 ~0.99) 사용되는필터상수값은 1 ~99 입니다. 예1) G3F-AD4A/G4F-AD2A의경우 오프셋 : DC-10V, 게인 : DC0V일때 ( 입력전압범위 : DC-10~ 10V, 디지털출력범위 : -192 ~ 16191) 아날로그입력이 10V 5V 0V 5V 순으로변하면, α값에따라필터출력값은다음과같습니다. α값 필터출력값 비 고 이전값에 1% 치우친값 이전값에 50% 치우친값 이전값에 99% 치우친값 예2) G3F-AD4B의경우 입력전압범위 : DC1~ 5V, 디지털출력범위 : 0 ~ 아날로그입력이 1V 2V 3V 4V 순으로변하면, α값에따라필터출력값은다음과같습니다. α값 필터출력값 비 고 이전값에 1% 치우친값 이전값에 50% 치우친값 이전값에 99% 치우친값 즉, 필터를금지하면현재의 A/D 변환값을그대로출력하게되고, 필터를사용하면현재의 A/D 변환값과이전값사이에서필터상수값에의해어느쪽에비중을많이두느냐에따라 A/D 변환값이결정됩니다. 제 1 장성능규격및변환특성 1-26 LS 산전연수원

85 1.4.2 샘플링 ( 순시값 ) 처리일반적인 A/D변환처리입니다. 즉입력된아날로그값을평균처리없이바로디지털값으로변환됩니다. 샘플링처리된디지털값이메모리에저장되는시간은사용하는채널수에따라달라집니다. ( 처리시간 ) = ( 사용채널수 ) X ( 변환속도 ) 예 ) 사용채널수가 3인경우 G3F-AD4A(G3F-AD4B) : 3( 사용채널수 ) X 3( 변환속도 ) = 9( ms ) G4F-AD2A : 3( 사용채널수 ) X 5( 변환속도 ) = 15( ms ) 샘플링이란평균처리를사용하지않았을때, 아날로그입력이디지털값으로바로변환하는것을의미합니다 평균처리 1) 평균처리사용이유노이즈나비정상적인아날로그입력을평균처리함으로써시스템의제어를원활하게하기위해서사용합니다 2) 평균처리종류평균처리의종류는시간평균과횟수평균이있습니다. (1) 시간평균처리가 ) 설정범위 G3F-AD4A(G3F-AD4B) : 96 ~ 12,000( ms ) G4F-AD2A : 40 ~ 20,000( ms ) 나 ) 시간평균처리를설정하였을경우사용채널수에따라설정시간내의평균처리횟수가정해집니다. 설정시간설정시간내의평균처리횟수 = 사용채널수 X 변환속도예 ) 사용채널수 4, 설정시간 120ms인경우평균처리횟수 G3F-AD4A(G3F-AD4B) : 120 ( 4 X 3 ) = 10회 G4F-AD2A : 120 ( 4 X 5 ) = 6회 제 1 장성능규격및변환특성 1-27 LS 산전연수원

86 다 ) 설정시간을 ( 사용채널수 X 변환속도 ) 로나누었을때나머지가발생하였을경우 처리횟수는올림하여평균처리횟수를 ( 사용채널수 X 변환속도로나눈값의몫 + 1 회 ) 로 평균처리합니다. 예 ) 사용채널수 4, 설정시간 150ms인경우 G3F-AD4A(G3F-AD4B) : 150 ( 4 X 3 ) = 12회 + 나머지 6 13회 G4F-AD2A : 150 ( 4 X 5 ) = 7회 + 나머지 10 8회 (2) 횟수평균처리가 ) 설정범위 G3F-AD4A(G3F-AD4B, G4F-AD2A ) : 2 ~ 4,000( 회 ) 나 ) 횟수평균에의한평균값이메모리에저장되는시간은사용채널수에따라달라집니다. 처리시간 = 설정횟수 X 사용채널수 X 변환속도 예 ) 사용채널수 4, 평균처리횟수가 50회인경우 G3F-AD4A(G3F-AD4B) : 50 X 4 X 3 = 600ms G4F-AD2A: 50 X 4 X 5 = 1000ms 제 1 장성능규격및변환특성 1-28 LS 산전연수원

87 1.5 입력배선예 배선시의주의사항 1) 교류와 A/D변환모듈의외부입력신호를별도의케이블을사용하여교류측에서발생하는서지또는유도노이즈의영향을받지않도록하여주십시오 2) 전선은주위온도, 허용하는전류를고려해서선정되어야하며, 전선의최대사이즈 AWG22(0.3 mm2 ) 이상이좋습니다. 3) 배선할경우에고온이발생하는기기나물질에너무가까이있거나, 기름등에배선이장시간직접접촉하게되면합선의원인이되어파손이나오동작을발생할수있습니다. 4) 단자대에아날로그입력을인가하기전에극성을확인해야합니다. 5) 배선을고압선이나동력선과함께배선하는경우에는유도장애를일으켜오동작이나고장의원인이될수있습니다 배선예 1) G3F-AD4A (1) 전압입력의경우신호원 DC 10V ~10V *1 CH 0 전압 / 전류선택스위치 R R *4 R 전압범위선택스위치 V1/I V2 CH F *1 R R R *3 *2 *5 SLD AGND FG (2) 전류입력의경우 신호원 DC 20 ma ~20 ma *1 CH 0 전압 / 전류선택스위치 R R *4 R 전압범위선택스위치 V1/I V2 CH F *1 R R R *3 *2 *5 SLD AGND FG 제 1 장성능규격및변환특성 1-29 LS 산전연수원

88 2) G3F-AD4B (1) 전압입력의경우 CH 0 전압 / 전류선택스위치 *1 R R R CH F *1 *3 *2 FG R R R (2) 전류입력의경우 CH 0 전압 / 전류선택스위치 *1 R R R CH F *1 *3 *2 FG R R R 3) G3F-AD3A, G4F-AD3A (1) 전압입력의경우 *1 CH0 전압 / 전류선택스위치 R R R 전압범위선택스위치 R R CH7 *1 *2 R R R (2) 전류입력의경우 *1 CH0 전압 / 전류선택스위치 R R R 전압범위선택스위치 R R CH7 *1 R R R *1 : 전선은 2심트위스트실드선을사용하여주십시오. *2 : 노이즈가많은경우접지해주십시오 *3 : 노이즈가많은경우 SLD 단자를 FG 와함께접지해주십시오. 제 1 장성능규격및변환특성 1-30 LS 산전연수원

89 4) G4F-AD2A (1) 전압입력의경우 신호원 DC 10V ~10V CH 0 V0 I0 R R *4 입력범위선택스위치 DC±10V *1 COM0 SLD R DC±10V/20 ma CH 3 V3 R I3 R *4 *1 *2 COM3 SLD R *3 *5 AGND FG (2) 전류입력의경우 신호원 DC 20 ma ~20 ma CH 0 입력범위선택스위치 V0 I0 R *4 R DC±10V *1 COM0 SLD R DC±10V/20 ma CH 3 V3 R I3 R *4 *1 *2 COM3 SLD R AGND *3 *5 FG *1 : 전선은 2심트위스트실드선을사용하여주십시오. *2 : SLD단자와 AGND단자를반드시접속하십시오. *3 : 노이즈가많은경우 SLD단자를 FG와함께접지해주십시오. *4 : 입력저항을나타냅니다. *5 : 노이즈가많은경우접지해주십시오. 전원모듈의 FG와접지하는것이좋은경우가있습니다. 제 1 장성능규격및변환특성 1-31 LS 산전연수원

90 5) G6F-AD2A (1) 전압입력의경우 신호원 DC 10~10V CH0 +15V 입력범위선택스위치 *1 V+ I+ COM R *2 R *2 R *2-15V J1 J CH3 *1 V+ I+ COM R *2 R *2 R *2 FG *3 G6F-AD2A (2) 전류입력의경우 신호원 DC 4~20mA CH0 +15V 입력범위선택스위치 *1 V+ I+ COM R *2 R *2 R *2-15V J1 J CH3 *1 V+ I+ COM R *2 R *2 R *2 FG *3 G6F-AD2A *1 : 전선은 2 심트위스트실드선을사용하여주십시오. *2 : 입력저항을나타냅니다. *3 : 노이즈가많은경우접지해주십시오. 전원모듈의 FG 와접지하는것이좋은경우가있습니다. 제 1 장성능규격및변환특성 1-32 LS 산전연수원

91 제 2 장 GLOFA-GM 프로그래밍 A/D 변환모듈을사용하기위해서는 A/D변환모듈의내부메모리와 PLC CPU간의인터페이스를위한펑션블록을사용해야합니다. 2.1 GMWIN에서 A/D 변환모듈의펑션블록등록절차 D/A 변환모듈용펑션블록을사용하기위해서는먼저라이브러리의등록이필요합니다. - Project창에서 Library창을선택합니다. - 마우스오른쪽버튼을눌러팝업메뉴를부릅니다. - 팝업메뉴에서 [ 프로젝트항목추가 ] [ 라이브러리 ] 선택. - 열기창에서 SPECIAL. fb 또는 REMOTE*. fb 파일을선택하고열기를클릭합니다.. ( : GMR의경우 R,GM1/2의경우 1, GM3의경우 3, GM4의경우 4, GM6의경우 6 에해당됩니다.) (GM3의경우예 ) - Library창에서 SPECIAL 라이브러리가추가된것을확인합니다. 추가된라이브러리 ( 특수모듈에관련된라이브러리는모두펑션블록입니다.) (SPECIAL 라이브러리를추가한경우예 ) 제 2 장 GLOFA-GM 프로그래밍 2-1 LS 산전연수원

92 2.2 펑션블록의종류 GMWIN에서사용되는 A/D변환모듈용펑션블록에대해서설명합니다. 펑션블록의종류는다음과같습니다. No G3F-AD4A G3F-AD4B G3F-AD3A 로컬리모트로컬리모트로컬리모트 비 고 1 AD4INI ADR4INI AD4BINI ADR4BINI AD3INI ADR3INI 모듈초기화 2 AD4ARD ADR4RD AD4BARD ADR4BRD AD3ARD ADR3RD A/D 변환값읽기 ( 복수형 ) 3 AD4RD - AD4BRD - AD3RD - A/D 변환값읽기 ( 단일형 ) No G4F-AD3A G4F-AD2A G6F-AD2A 로컬리모트로컬리모트로컬리모트 비 고 1 AD3INI ADR3INI AD2INI ADR2INI AD2INI ADR62INI 모듈초기화 2 AD3ARD ADR3RD AD2ARD ADR2RD AD2ARD ADR62RD A/D 변환값읽기 ( 복수형 ) 3 AD3RD - AD2RD - AD2RD - A/D 변환값읽기 ( 단일형 ) G3F AD4A 1.Special.3fb. AD4INI. AD4ARD. AD4RD 2.Remote3.3fb. ADR4INI. ADR4RD 3.Remote4.3fb. ADR4INI. ADR4RD G3F AD4B 1.Special.3fb. AD4BINI. AD4BARD. AD4BRD 2.Remote3.3fb. ADR4BINI. ADR4BRD 3.Remote4.3fb. ADR4BINI. ADR4BRD G3F AD3A 1.Special.3fb. AD3INI. AD3ARD. AD3RD 2.Remote3.3fb. ADR3INI. ADR3RD 3.Remote4.3fb. ADR3INI. ADR3RD 로컬용펑션블록등록 GM3 리모트용펑션블록등록 GM4 리모트용펑션블록등록 G4F AD3A G4F AD2A G6F AD2A 1.Special.4fb. AD3INI. AD3ARD. AD3RD 2.Remote3.4fb. ADR3INI. ADR3RD 3.Remote4.4fb. ADR3INI. ADR3RD 1.Special.4fb. AD2INI. AD2ARD. AD2RD 2.Remote3.4fb. ADR2INI. ADR2RD 3.Remote4.4fb. ADR2INI. ADR2RD 1.Special.6fb. AD2INI. AD2ARD. AD2RD 3.Remote6.6fb. ADR62INI. ADR62RD 로컬용펑션블록등록 GM3 리모트용펑션블록등록 GM4 리모트용펑션블록등록 GM6 리모트용펑션블록등록 제 2 장 GLOFA-GM 프로그래밍 2-2 LS 산전연수원

93 2.3 펑션블록의공통사항 아래의입출력변수명의기능과사용법은 2.4 항에서설명되는모든펑션블록에공통되는 내용으로동일합니다. 구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 이영역은초기화펑션블록의실행을요구하는영역입니다. 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면모듈초기화펑션블록이실행됩니다. 입력 BASE USINT SLOT USINT 베이스위치번호 A/D 변환모듈이장착된베이스의번호를쓰는영역입니다. 설정범위 : GM1시리즈 (0 31), GM2시리즈 (0 7), GM3/4시리즈 (0 3) GM6시리즈 (0,1) 슬롯의위치번호 위치결정모듈이장착된슬롯의번호를설정하는영역입니다. 설정범위 : 0 7 CH [Array] *1 사용채널지정영역 0 이면사용하지않는채널 1 이면사용하는채널 DONE STAT USINT 펑션블록실행완료상태표시영역 초기화펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며, 에러가발생되면 0 이출력되면서운전정지상태가됩니다. 에러상태표시영역 펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. 출력 ACT [Array] *1 운전채널표시영역 초기화펑션블록이에러없이실행된후지정된채널의설정조건이정상이면 1 이출력되고, 비정상이면 0 이출력됩니다. 운전지정이안된채널은 0 이출력됩니다. DATA INT [Array] *1 A/D 변환값출력영역 G3F-AD4A, G4F-AD2A : -192 ~ 또는 8192 ~ 8191 G4F-AD4B : 0 ~ 또는 8000 ~ 8000 G3F-AD3A, G4F-AD3A : -48 ~ 4047 또는 2048 ~ 2047 G6F-AD2A : -48 ~ 4047 또는 2048 ~ 2047 알아두기 1 : Array 수는 G3F-AD4A :16, G3F-AD4B: 16, G3F-AD3A :8, G4F-AD3A :8, G4F-AD2A : 4, G6F-AD2A :4 이며, 원소번호가채널을의미합니다. 제 2 장 GLOFA-GM 프로그래밍 2-3 LS 산전연수원

94 2.4 로컬용펑션블록 모듈초기화펑션블록 (1) G3F-AD4A : AD4INI, G4F-AD2A : AD2INI, G3F-AD4B : AD4BINI 모듈초기화펑션블록은 A/D 변환모듈의베이스위치, 슬롯장착위치, 사용채널지정, A/D변환용 Data Type, 필터처리정보및평균처리정보를설정하여프로그램에이용합니다. 펑션블록형태 구분 입력 변수명 REQ BASE SLOT CH IN_ SEL *3 DATA TYPE FILT _EN FILT _VAL AVG_ EN AVG_ SEL NUM/ TIME DONE STAT Datatyp e USINT USINT [Array] [Array] *3 [Array] *1 [Array] *2 USINT [Array] *2 [Array] *2 [Array] *2 USINT [Array] *2 USINT 펑션블록실행요구영역 베이스위치번호 슬롯의위치번호 사용채널지정영역 내용 아날로그입력종류 ( 전류 / 전압 ) 지정 0 이면전류입력선택 1 이면전압입력선택출력데이터타입지정영역 각채널의출력데이터타입의종류를설정하는영역입니다. 0 이면디지털출력범위가 (G3F-AD4B : ) 1 이면디지털출력범위가 (G3F-AD4B : ) 필터처리의사용허가 / 금지설정영역 0 이면필터처리사용금지 1 이면필터처리사용허가필터상수값설정영역 설정범위 : 1 99 평균처리의사용허가 / 금지설정영역 0 이면평균처리의사용금지 1 이면평균처리의사용허가평균처리방식지정영역 0 이면횟수평균 1 이면시간평균평균횟수또는평균시간지정영역 AVG_SEL에서지정한평균처리방식에따라횟수 ( 회 ) 또는시간 ( ms ) 을지정 평균횟수 : 평균시간 : G3F-AD4A/G3F-AD4B [ 96 12,000( ms ) ] G4F-AD2A [ 40 20,000( ms ) ] 펑션블록실행완료상태표시영역 에러상태표시영역 출력 ACT [Array] 운전채널표시영역 알아두기 1 : Array 수는 G3F-AD4A :16, G3F-AD4B: 16, G4F-AD2A : 4 이며, 원소번호가채널을의미합니다. 2 : Array 수는 G3F-AD4A :4, G3F-AD4B: 16, G4F-AD2A : 4 입니다. G3F-AD4A 에서는원소번호 [0] 이채널 0, 1, 2, 3 을일괄로지정하며, 원소번호 [1] 이채널 4, 5, 6, 7 을일괄로지정하며, 원소번호 [2] 이채널 8, 9, 10, 11 을일괄로지정하며, 원소번호 [3] 이채널 12, 13, 14, 15 를일괄로지정합니다. G4F-AD2A 에서는원소번호가채널을의미합니다. 3 : G3F-AD4B 에서만사용하며, :Array 수는 16 이며, 원소번호가채널을의미합니다. 제 2 장 GLOFA-GM 프로그래밍 2-4 LS 산전연수원

95 (2) G3F-AD3A/G4F-AD3A : AD3INI 모듈초기화펑션블록은 A/D 변환모듈의베이스위치, 슬롯장착위치, 사용채널지정, 사용전압종류 지정, 횟수평균처리정보를설정하여프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 입력 출력 REQ 펑션블록실행요구영역 BASE USINT 베이스위치번호 SLOT USINT 슬롯의위치번호 CH [8] 사용채널지정영역 TYPE [8] 아날로그입력전압종류를지정하는영역 0 이면전압 DC1 5, 전류 DC4 20mA 1 이면전압 DC 로선택하면전류를아날로그입력으로사용할수없습니다. AVG_ EN AVG_ NUM [8] USINT[8] 횟수평균처리의사용허가 / 금지설정영역 0 이면샘플링처리 1 이면횟수평균처리횟수평균상수값설정영역 설정범위 : DONE 펑션블록실행완료상태표시영역 STAT USINT 에러상태표시영역 ACT [8] 운전채널표시영역. 알아두기 Datatype 중 [8] 과 USINT[8] 은원소의수가 8 임을나타내며이는채널수와번호를의미합니다. (3) G6F-AD2A : AD2INI 모듈초기화펑션블록은 A/D 변환모듈의베이스위치, 슬롯장착위치, 사용채널지정, 사용전압종류 지정, 횟수평균처리정보를설정하여프로그램에이용합니다 펑션블록형태구분변수명 Datatype 내용 입력 출력 REQ 펑션블록실행요구영역 BASE USINT 베이스위치번호 SLOT USINT 슬롯의위치번호 CH [4] 사용채널지정영역 DATA TYPE AVG_ EN AVG_ NUM [4] [4] USINT[4] 디지털출력데이터종류를지정하는영역 0 이면 : -48 ~ 이면 : ~ 2047 횟수평균처리의사용허가 / 금지설정영역 0 이면샘플링처리 1 이면횟수평균처리횟수평균상수값설정영역 설정범위 : DONE 펑션블록실행완료상태표시영역 STAT USINT 에러상태표시영역 ACT [4] 운전채널표시영역 알아두기 Datatype 중 [4] 과 USINT[4] 은원소의수가 4 임을나타내며이는채널수와번호를의미합니다. 제 2 장 GLOFA-GM 프로그래밍 2-5 LS 산전연수원

96 2.4.2 모듈읽기 _Array형펑션블록 (1) G3F-AD4A : AD4ARD, G3F-AD4B : AD4BARD, G3F-AD3A/G4F-AD3A : AD3ARD, G4F-AD2A/G6F-AD2A : AD2ARD 복수형모듈읽기펑션블록은 A/D 변환모듈의채널을일괄로처리하며사용채널로지정되면 A/D 변환한디지털값을읽어서출력변수 DATA에나타내어프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 입력 BASE USINT 베이스위치번호 SLOT USINT 슬롯의위치번호 CH [Array] *1 사용채널지정영역 DONE 펑션블록실행완료상태표시영역 STAT USINT 에러상태표시영역 출력 ACT [Array] *1 운전채널표시영역 DATA INT [Array] *1 A/D 변환값출력영역 알아두기 1 : Array 수는 G3F-AD4A :16, G3F-AD4B: 16, G4F-AD2A : 4 이며, 원소번호가채널을의미합니다 모듈읽기 _ 단일형펑션블록 (1) G3F-AD4A : AD4RD, G3F-AD4B : AD4BRD, G3F-AD3A/G4F-AD3A : AD3RD, G4F-AD2A/G6F-AD2A : AD2RD 단일형모듈읽기펑션블록은 A/D 변환모듈의한채널만처리하며 A/D 변환한디지털값을읽어서출력변수 DATA 에나타내어프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 입력 BASE USINT 베이스위치번호 SLOT USINT 슬롯의위치번호 CH USINT 사용채널지정영역 DONE 펑션블록실행완료상태표시영역 출력 STAT USINT 에러상태표시영역 DATA INT A/D 변환값출력영역 제 2 장 GLOFA-GM 프로그래밍 2-6 LS 산전연수원

97 2.5 리모트용펑션블록 모듈초기화펑션블록 (1) G3F-AD4A : ADR4INI, G3F-AD4B : ADR4BINI,G3F-AD3A : ADR33INI, G4F-AD3A : ADR3INI G4F-AD2A : ADR2INI, G6F-AD2A : ADR62INI) 모듈초기화펑션블록은 A/D 변환모듈의자국통신모듈의슬롯위치번호, 리모트 I/O국에장착된통신모듈의국번, 베이스위치, 슬롯장착위치, 사용채널지정, A/D변환용 Data Type, 필터처리정보및평균처리정보를설정하여프로그램에이용합니다구펑션블록형태변수명 Datatype 내용분 입력 출력 REQ 상승 Edge에서펑션블록실행요구영역 NET_ 펑션블록이전송될자국의통신모듈이장착된슬롯위치번호 USINT NO 설정범위 : 0 7 ST_NO USINT 리모트 I/O국에장착된통신모듈의국번 설정범위 : 0 63 BASE USINT 베이스위치번호 SLOT USINT 슬롯의위치번호 CH [Array] *1 사용채널지정영역 아날로그입력종류 ( 전류 / 전압 ) 지정 IN_ 0 이면전류입력선택 SEL *3 [Array] 1 이면전압입력선택 DATA TYPE [Array] *1 출력데이터타입지정영역 FILT _EN [Array] *2 필터처리의사용허가 / 금지설정영역 FILT USINT _VAL [Array] *2 필터상수값설정영역 AVG_ EN [Array] *2 평균처리의사용허가 / 금지설정영역 AVG_ SEL NUM/ TIME [Array] *2 USINT [Array] *2 평균처리방식지정영역 평균횟수또는평균시간지정영역 NDR 펑션블록실행이에러없이종료된경우 1 이되며, 실행조건이성립된스켄동안 1 을유지하고다음스켄에서 0 이됩니다. ERR 에러정보표시영역 초기화펑션블록실행중에러가발생되면 1 이출력되어운전정지상태가되고, 실행조건이성립된스켄동안 1 을유지하며, 다음스켄에서 0 이됩니다. STAT USINT 에러상태표시영역 ACT [Array] *1 운전채널표시영역. 알아두기 1 : Array 수는 G3F-AD4A :16, G3F-AD4B: 16, G4F-AD2A : 4 이며, 원소번호가채널을의미합니다. 2 : Array 수는 G3F-AD4A :4, G3F-AD4B: 16, G4F-AD2A : 4 입니다. G3F-AD4A 에서는원소번호 [0] 이채널 0, 1, 2, 3 을일괄로지정하며, 원소번호 [1] 이채널 4, 5, 6, 7 을일괄로지정하며, 원소번호 [2] 이채널 8, 9, 10, 11 을일괄로지정하며, 원소번호 [3] 이채널 12, 13, 14, 15 를일괄로지정합니다. G4F-AD2A 에서는원소번호가채널을의미합니다. 3 : G3F-AD4B 에서만사용하며, :Array 수는 16 이며, 원소번호가채널을의미합니다. 제 2 장 GLOFA-GM 프로그래밍 2-7 LS 산전연수원

98 2.5.2 모듈읽기펑션블록 (1) G3F-AD4A : ADR4RD, G3F-AD4B : ADR4BRD, G3F-AD3A : ADR33RD, G4F-AD3A : ADR3RD, G4F-AD2A: ADR2RD, G6F-AD2A : ADR62RD 리모트에서의모듈읽기펑션블록은 A/D 변환모듈의전채널을일괄로처리하며사용채널로지정되면 A/D 변환한디지털값을읽어서출력변수 DATA에나타내어프로그램에이용합니다 펑션블록형태구분변수명 Datatype 내용 REQ 상승 Edge 에서펑션블록실행요구영역 NET_ NO USINT 펑션블록이전송될자국의통신모듈이장착된슬롯위치번호 설정범위 : 0 7 입력 ST_N O USINT 리모트 I/O 국에장착된통신모듈의국번 설정범위 : 0 63 BASE USINT 베이스위치번호 SLOT USINT 슬롯의위치번호 CH NDR ERR [Array] 사용채널지정영역 펑션블록실행이에러없이종료된경우 1 이되며, 실행조건이성립된스켄동안 1 을유지하고다음스켄에서 0 이됩니다. 에러정보표시영역 초기화펑션블록실행중에러가발생되면 1 이출력되어운전정지상태가되고, 실행조건이성립된스켄동안 1 을유지하며, 다음스켄에서 0 이됩니다. STAT USINT 에러상태표시영역 ACT [Array] 운전채널표시영역 출력 DATA INT [Array] A/D 변환값출력영역 제 2 장 GLOFA-GM 프로그래밍 2-8 LS 산전연수원

99 2.6 펑션블록상의에러코드 출력변수 STAT 에나타내는에러종류및조치방법에대해서설명합니다. STAT 번호 구분내용 펑션블록읽기초기화 Array형단일형 조치방법 0 정상동작중 О О О - 1 베이스의위치가설정범위초과 О О О 설정범위내로수정 (4.2항참조 ) 2 해당베이스의 H/W 에러 О О О A/S 의뢰 3 슬롯의위치번호가설정범위초과 О О О A/D 변환모듈이장착된올바른슬롯번호지정 4 지정한슬롯에 A/D 변환모듈이비어있음 О О О 지정된슬롯에 A/D 변환모듈을장착 5 A/D 변환모듈이아닌다른모듈이장착되어있음 О О О 지정된슬롯에 A/D 변환모듈을장착 6 로컬 채널번호가설정범위초과 - - О 사용채널지정을바르게설정 7 A/D 변환모듈의 H/W 에러 О О О A/S 의뢰 8 A/D 변환모듈의공용메모리에러 О О О A/S 의뢰 9 초기화펑션블록에서사용채널미지정 - О О 초기화펑션블록에서사용채널을바르게지정 10 테스트 (Test) 모드 О О 테스트모드에서노멀모드로전환 (G4F-AD2A만해당 ) 11 필터값설정초과 О 설정범위 1 99 내로수정 17 평균횟수 / 시간평균값설정범위초과 - - 설정범위 [ 횟수 :2 4000회, 시간 :G3F-AD4A, G3F-AD4B (96 12,000ms)/G4F-AD2A(40 20,000ms)] 로수정 128 리모트용통신모듈의 H/W 에러 О О 리모트통신모듈참조 129 베이스의위치가설정범위초과 О О 설정범위내로수정 (4.2항참조 ) 131 슬롯의위치번호가설정범위초과 О О A/D 변환모듈이장착된올바른슬롯번호지정 133 A/D 변환모듈이아닌다른모듈이장착되어있음 О О 지정된슬롯에 A/D 변환모듈을장착 135 A/D 변환모듈의 H/W 에러 О О A/S 의뢰 리모트 A/D 변환모듈의공용메모리에러 О О A/S 의뢰 137 초기화펑션블록에서사용채널미지정 - О 초기화펑션블록에서사용채널을바르게지정 138 테스트 (Test) 모드 О 테스트모드에서노멀모드로전환 (G4F-AD2A만해당 ) 144 필터값설정초과 О 설정범위 1 99 내로수정 145 평균횟수값설정범위초과 - 설정범위 [ 횟수 :2 4000회, 시간 :G3F-AD4A, G3F-AD4B (96 12,000ms)/G4F-AD2A(40 20,000ms)] 로수정 제 2 장 GLOFA-GM 프로그래밍 2-9 LS 산전연수원

100 제 3 장프로그램예제 (GLOFA-GM 용 ) 3.1 A/D 변환값의대소구분프로그램 1) 시스템구성 GM3- PA1A GM3- CPUA G3F- AD4A G3Q- RY4A 2) 초기설정내용 (1) 사용채널 : 채널 0, 채널 2, 채널 4 (2) 출력 Data Type 지정 : ( 채널 0, 2, 4) (3) 필터사용채널 : 채널 0 (4) 필터상수설정 : 채널 0 = 50 (5) 평균처리지정 : 채널 2, 4 (6) 횟수평균지정및설정값 : 채널 2 = 100 회 (7) 시간평균지정및설정값 : 채널 4 = 200 ms (8) 아날로그입력 : 전류입력 3) 프로그램설명 (1) 채널 0 의디지털값이 12,000 보다작을때 %Q0.1.0 을 On (2) 채널 2 의디지털값이 13,600 보다클때 %Q0.1.1 을 On (3) 채널 4 의디지털값이 12,000 보다크거나같고 13,600 보다작거나같을때 %Q0.1.2 을 On (4) 채널 4 의디지털값이 12,800 과같을때 %Q0.1.3 을 On 4) 프로그램 (1) G4F-AD4A 의경우가 ) 프로그램상주의사항알아두기 G3F-AD4A 를사용할때프로그램의초기설정내용중 1) (3) 항에서채널 0 을필터사용으로선택하면채널 0 채널 3 모두가필터사용으로선택됨. 2) (4) 항에서채널 0 을필터상수값으로설정하면채널 0 채널 3 모두가필터상수값을 50 으로설정됨. 3) (5) 항에서채널 2 와채널 4 를평균처리지정하면채널 0 채널 3, 채널 4 채널 7 모두가평균처리로지정됨. 4) (6) 항에서채널 2 를횟수평균값 100 회로지정하면채널 0 채널 3 모두가횟수평균값 100 회로설정됨. 5) (7) 항에서채널 4 를시간평균값 200 ms로지정하면채널 4 채널 7 모두가횟수평균값 200 ms로설정됨. 나 ) 프로그램에사용된입출력변수 Variable Name Var_Kind Data Type (AT Address) (Initial Value) 채널지정 : VAR : ARRAY [0..15] OF : = { 1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0 } 초기화 I : VAR : FB instance 읽기 : VAR : FB instance 평균허가 : VAR : ARRAY [0..3] OF : = { 1,1,0,0 } 횟수시간 : VAR : ARRAY [0..3] OF : = { 0,1,0,0 } DATA : VAR : ARRAY [0..15] OF INT 입력타입 : VAR : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 필터허가 : VAR : ARRAY [0..3] OF : = { 1,0,0,0 } 필터값 : VAR : ARRAY [0..3] OF USINT : = { 50,0,0,0 } 운전채널 : VAR : ARRAY [0..15] OF 초기화 _ 에러정보 : VAR : USINT 평균값 : VAR : ARRAY [0..3] OF UNIT : = { 100,200,0,0 } 기동준비 : VAR : 출발 : VAR : 제 3 장프로그램예제 (GLOFA-GM) 3-1 LS 산전연수원

101 다 ) 프로그램예 정상적으로 A/D 모듈초기화완료 기동조건 정상적으로 A/D 변환읽기완료 읽기펑션블록처리중에러상태표시 장착된베이스번호지정 장착된슬롯번호지정 사용채널지정 초기화펑션블록처리중에러상태표시 초기화펑션블록실행중운전채널표시 읽기펑션블록실행중운전채널표시 사용채널의 A/D 변환값데이터표시 아날로그입력데이터형식지정 필터처리허가 / 금지지령 필터값입력 평균처리허가 / 금지지령 평균처리횟수 / 시간으로지정 평균처리횟수 / 시간값지정 채널 0 의디지털값이 보다작을때 %Q0.1.0 이 On 채널 0 의 A/D 변환값 채널 2 의디지털값이 보다클때 %Q0.1.1 이 On 채널 2 의 A/D 변환값 채널 4 의디지털값이 보다크거가같고 보다작거나같을때 %Q0.1.2 이 On 채널 4 의 A/D 변환값 채널 4 의디지털값이 과같을때 %Q0.1.3 이 On 채널 4 의 A/D 변환값 제 3 장프로그램예제 (GLOFA-GM) 3-2 LS 산전연수원

102 (2) G4F-AD4B 의경우가 ) 프로그램에서사용된입출력변수 Variable Name Var_Kind Data Type (AT Address) (Initial Value) 기동준비 : VAR : 운전채널 : VAR : ARRAY [0..15] OF 읽기읽기 _ 에러정보 : VAR : VAR : FB instance : USINT 입력종류 : VAR : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 입력타입채널지정 1 : VAR : VAR : ARRAY [0..15] OF : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 초기화 : VAR : FB instance 초기화 _ 에러정보출발 : VAR : VAR : USINT : 평균값 2 : VAR : ARRAY [0..15] OF USINT : = { 0,0,100,0,200,0,0,0,0,0,0,0,0,0,0,0 } 평균허가 3 : VAR : ARRAY [0..15] OF : = { 0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0 } 필터값필터허가 4 5 : VAR : VAR : ARRAY [0..15] OF USINT : ARRAY [0..15] OF : = { 50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } : = { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 횟수시간 6 : VAR : ARRAY [0..15] OF : = { 1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0 } DATA : VAR : ARRAY [0..15] OF INT 나 ) G3F-AD4A 와 G3F-AD4B 의차이점 초기화펑션블록의입력변수만차이가있습니다. 1 은 G3F-AD4B 에서만사용합니다. 2, 3, 4, 5, 6 은필터와평균처리기능으로 G3F-AD4A 에서는 4 채널을묶어서필터와평균기능을처리하고 G3F-AD4B 에서는채널마다필터와평균기능을처리합니다. 구 F/B 입력 G3F-AD4A G3F-AD4B 분변수명변수명 Data Type 변수명 Data Type 비고 1 IN_SEL - - 입력타입 ARRAY [0..15] OF G3F-AD4B 만 2 FILT_EN 필터허가 ARRAY [0..3] OF 필터허가 ARRAY [0..15] OF 3 FILT_VAL 필터값 ARRAY [0..3] OF USINT 필터값 ARRAY [0..15] OF USINT 4 AVG_EN 평균허가 ARRAY [0..3] OF 평균허가 ARRAY [0..15] OF 5 AVG_SEL 횟수시간 ARRAY [0..3] OF 횟수시간 ARRAY [0..15] OF 6 NUM/TIME 평균값 ARRAY [0..3] OF USINT 평균값 ARRAY [0..15] OF USINT 제 3 장프로그램예제 (GLOFA-GM) 3-3 LS 산전연수원

103 다 ) 프로그램예 정상적으로 A/D 모듈초기화완료 기동조건 읽기펑션블록처리중에러상태표시 장착된베이스번호지정 장착된슬롯번호지정 사용채널지정 초기화펑션블록처리중에러상태표시 초기화펑션블록실행중운전채널표시 읽기펑션블록실행중운전채널표시 사용채널의 A/D 변환값데이터표시 아날로그입력종류전류 / 전압 아날로그입력데이터형식지정 필터처리허가 / 금지지령 필터값입력 평균처리허가 / 금지지령 평균처리횟수 / 시간으로지정 평균처리횟수 / 시간값지정 채널 0 의디지털값이 보다작을때 %Q0.1.0 이 On 채널 0 의 A/D 변환값 채널 2 의디지털값이 보다클때 %Q0.1.1 이 On 채널 2 의 A/D 변환값 채널 4 의디지털값이 보다크거가같고 보다작거나같을때 %Q0.1.2 이 On 채널 4 의 A/D 변환값 채널 4 의디지털값이 과같을때 %Q0.1.3 이 On 채널 4 의 A/D 변환값 제 3 장프로그램예제 (GLOFA-GM) 3-4 LS 산전연수원

104 라 ) 입출력변수초기값지정방법 ( 채널지정 ) 선택하면 16 채널을나타냄 이화면이나타남 선택하면 채널번호를나타냄 이화면이나타남 이전채널선택 다음채널선택 1: 사용채널 0: 미사용채널 사용채널 / 미사용채널을설정함 제 3 장프로그램예제 (GLOFA-GM) 3-5 LS 산전연수원

105 3.2 A/D 변환값및에러코드를 BCD 표시기로출력하는프로그램 1) 시스템구성 GM3- PA2A GM3- CPUA G3I- D24A G3Q- RY4A G3Q- RY4A G3F- AD4B 초기치설정 %I0.0.0 채널 0(DC 4~20mA) 에러코드 BCD 출력 %I0.0.1 %0.2.0~%Q0.2.7 디지털 BCD 표시기 ( 에러표시 ) A/D 변환값 BCD 출력 %I0.0.2 %Q0.1.0~%Q ) 초기설정내용 (1) 사용채널 : 채널 0 (2) 아날로그입력 : 전류입력 (3) 필터처리지정 : 50 디지털 BCD 표시기 (A/D 변환값 ) 3) 프로그램설명 (1) %I0.0.0 이 On 되면 A/D 변환초기설정을한다. (2) %I0.0.1 이 On 되면 A/D 변환값을디지털 BCD 표시기에출력한다.(%Q0.1.0~%Q0.1.23) (3) %I0.0.2 가 On 되면읽기펑션블록의에러코드를디저털 BCD 표시기에출력한다. (%Q0.2.0~%Q0.2.7) 제 3 장프로그램예제 (GLOFA-GM) 3-6 LS 산전연수원

106 4) 프로그램 기동조건및초기설정 정상적으로 A/D 변환읽기완료 장착된베이스의번호지정 초기화펑션블록처리중에러상태표시 읽기펑션블록처리중에러상태표시 장착된슬롯번호지정 사용채널지정 아날로그입력종류전류 / 전압 아날로그입력데이터형식지정 초기화펑션블록실행중운전채널표시 사용채널지정 사용채널의 A/D 변환값데이터표시 필터처리허가 / 금지지령 필터값입력 평균처리허가 / 금지지령 평균처리횟수 / 시간으로지정 평균처리횟수 / 시간값지정 A/D 변환값인채널 0 의 Data Type 이 INT 이므로이를디지털 BCD 표시기로출력하기위해 BCD 로 Data Type 을변환하기위한프로그램입니다. A/D 변환값디지털 BCD 표시지령 에러코드디지털 BCD 표시지령 초기화펑션블록의에러상태표시인읽기 _ 에러정보의 Data Type 이 USINT 이므로이를디지털 BCD Data Type 을변환하기위한프로그램입니다. 초기화펑션블록의에러값 5) 프로그램에서사용된입출력변수 Variable Name Var_Kind Data Type (AT Address) (Initial Value) 버퍼 : VAR : DINT 운전채널 : VAR : ARRAY [0..15] OF 읽기 : VAR : FB instance 읽기 _ 에러정보 : VAR : USINT 입력종류 : VAR : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 입력타입 : VAR : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 채널 0_ 데이터 : VAR : INT 채널지정 : VAR : ARRAY [0..15] OF : = { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 초기화 : VAR : FB instance 초기화 _ 에러정보 : VAR : USINT 출발 : VAR : 평균값 : VAR : ARRAY [0..15] OF USINT : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 평균허가 : VAR : ARRAY [0..15] OF : = { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 필터값 : VAR : ARRAY [0..15] OF USINT : = { 50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 필터허가 : VAR : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 횟수시간 : VAR : ARRAY [0..15] OF : = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } 제 3 장프로그램예제 (GLOFA-GM) 3-7 LS 산전연수원

107 3.3 리모트 I/O 국에 A/D 변환모듈을장착할때의프로그램 1) 시스템구성 GM4- PA1A GM4- CPUA 슬롯 0 G4L- FUEA G4Q- RY2A 리모트의국번호 1 GM4- PA1A G4L- RBEA G4F- AD2A 슬롯 0 2) 초기설정내용 (1) A/D 변환허가채널 : 채널 0 (2) 변환데이터의범위 : -192 ~16191 (3) 시간에의한평균처리채널 : 채널 0 ( 설정값 : 100 ms ) 3) 프로그램설명 (1) 채널 0 의 A/D 변환된디지털값이 8,000 보다작을때 %Q0.1.0 이 On (2) 채널 0 의 A/D 변환된디지털갓이 8,000 보다크거나같고 10,000 보다작을때 %Q0.1.1 이 On (3) 채널 0 의 A/D 변환된디지털값이 10,000 보다크거나같고 12,000 보다작을때 %Q0.1.2 이 On (4) 채널 0 의 A/D 변환된디지털값이 12,000 보다크거나같을때 %Q0.1.3 이 On 4) 프로그램에사용된입출력변수 Variable Name Var Kind Data Type (AT Address) (Initial Value) AD_CH : VAR : ARRAY [0..3] OF : = {0,0,0,0} AD_DATA : VAR : ARRAY [0..3] OF INT AD_INI : VAR : FB Instance AD_RD : VAR : FB Instance AVG_EN : VAR : ARRAY [0..3] OF : = {1,0,0,0} AVG_SEL : VAR : ARRAY [0..3] OF : = {1,0,0,0} DATATYPE : VAR :ARRAY [0..3] OF : = {0,0,0,0} FILT_EN : VAR : ARRAY [0..3] OF : = {0,0,0,0} FILT_VAL : VAR : ARRAY [0..3] OF USINT : = {0,0,0,0} INI_ACT : VAR : ARRAY [0..3] OF INI_ERR : VAR : INI_STAT : VAR : USINT NUM_TIME : VAR : ARRAY [0..3] OF UINT : = {1000,0,0,0} RD_STAT : VAR : ARRAY [0..3] OF RD_ERR : VAR : RD_STAT : VAR : USINT READY : VAR : 제 3 장프로그램예제 (GLOFA-GM) 3-8 LS 산전연수원

108 5) 프로그램 기동조건및초기설정 초기화펑션블록이동작되지않았을때실행요구 상대국의 Live 정보로서정상동작중에는 ON 되어있고고장 / 전원다운시 OFF 됨 자국통신모듈의슬롯위치번호 정상적으로 A/D 변환초기화완료초기화펑션블록처리중에러상태표시 리모트국의국번 초기화펑션블록실행중운전채널표시 상대국의정전정보로서고장 / 전원다운에서복구시 ON 되며이를사용자프로그램에서 OFF 할때까지 ON 을유지함 START 장착된베이스의번호지정 장착된슬롯번호지정 정상적으로동작하는채널표시 사용채널지정 데이터형식지정 통신주기간격으로읽기펑션블록실행요구자국통신모듈의슬롯위치번호 리모트국의국번 에러정보표시 에러발생시에러종류표시 필터허가 / 금지지정 필터값지정 평균처리허가 / 금지지정 A/D 변환모듈의베이스위치번호 A/D 변환모듈의슬롯위치번호 정상적으로동작하는채널표시 A/D 변환값 횟수 / 시간평균지정 횟수 / 시간평균값설정 사용채널지정 채널 0 의 A/D 변환값이 8000 보다작을때 %Q0.1.0 이 ON 채널 0 의 A/D 변환값이 8000 보다크거나같고 보다작을때 %Q0.1.1 이 ON 채널 0 의 A/D 변환값이 보다크거나같고 보다작을때 %Q0.1.2 이 ON 채널 0 의 A/D 변환값이 보다크거나같을때 %Q0.1.3 이 ON 제 3 장프로그램예제 (GLOFA-GM) 3-9 LS 산전연수원

109 3.4 예제프로그램실습 제 3 장프로그램예제 (GLOFA-GM) 3-10 LS 산전연수원

110 제 3 장프로그램예제 (GLOFA-GM) 3-11 LS 산전연수원

111 제 3 장프로그램예제 (GLOFA-GM) 3-12 LS 산전연수원

112 제 3 장프로그램예제 (GLOFA-GM) 3-13 LS 산전연수원

113 모듈 Ⅲ. 아날로그출력 (DA) - 적용모델 - 제 1 장. GLOFA-GMR/1/2/3 용 G3F-DA4V / G3F- DA4I G3F- DA3V / G3F- DA3I 제 2 장. GLOFA-GM4 용 제 3 장. GLOFA-GM6 용 G4F- DA3V / G4F- DA3I G4F- DA2V / G4F- DA2I G4F- DA1A G6F- DA2V / G6F- DA2I

114 제 1 장성능규격및변환특성 본제품은 GLOFA PLC GMR/1/23/4/6 시리즈및 MASTER-K200S/300S/1000S 의 CPU 와조합하여사용하는디지털 / 아날로그 변환모듈로전압출력형, 전류출력형, 전압전류공통출력형 ( 이하 D/A 변환모듈 ) 이있습니다. 1.1 성능규격 1) G3F-DA4V/I, G4F-DA1A 항 목 규 G3F DA4I G3F DA4V G4F DA1A 격 적용 PLC GM3/MK1000S GM4/MK300S 입출력점유점수 16 점 부호있는 16 비트바이너리값 ( 데이터 :14 비트 ) 디지털입력 입력데이터지정에따라채널마다설정가능 ( 0 : 192 ~ 16191, 1 : 8192 ~ 8191) DC 5 ~ 5V DC 5 ~ 5V ( 외부부하저항 2KΩ~1MΩ) ( 외부부하저항 2KΩ~1MΩ) DC 4 ~ 20 ma DC 10 ~ 10V DC 4 ~ 20mA 아날로그출력 ( 외부부하저항 510Ω 이하 ) ( 외부부하저항 2KΩ~1MΩ) ( 외부부하저항 550Ω 이하 ) 전압출력종류는제품 전압 / 전류구분은단자대 옆면의스위치로선택 에의해선택됩니다. 최대분해능 1 μa (1/16000) DC 5 ~ 5V : 0.625mV(1/16000) DC 10 ~ 10V : 1.25mV(1/16000) DC 10 ~ 10V : 1.25mV(1/16000) DC 4 ~ 20mA : 1.0μA(1/16000) 정밀도 ±0.3% [ 풀스케일 (Full Scale)] 최대변환속도 15ms / 16 채널 3ms / 2 채널 절대최대출력 DC+24mA DC+15V 전압 : DC+15V 전류 : DC+24mA 아날로그출력점수 16 채널 /1 모듈 2 채널 /1 모듈 절연방식출력단자와 PLC 전원간포토 커플러절연 ( 채널간비절연 ) 접속단자 38 점단자대 20 점단자대 내부소비전류 0.25A 0.45A 외부공급전원 전압 DC+15V / DC 15V 전류 DC+15V:0.5A DC 15V:0.1A DC+15V:0.5A DC 15V:0.3A 중량 610g 630g 370g 제 1 장성능규격및변환특성 1-1 LS 산전연수원

115 2) G3F-DA3V/I, G4F-DA4V/I, G4F-DA2V/I 규 격 항 목 전압출력형 전류출력형 G3F-DA3V G4F-DA3V G4F-DA2V G3F-DA3I G4F-DA3I G4F-DA2I 적용 PLC GM3/ MK1000S GM4/MK300S GM3/ MK1000S GM4/MK300S 입출력점유점수 16 점 디지털입력 부호있는 16 비트바이너리값 ( 데이터 : 12 비트 ) 아날로그출력 DC0 ~ DC10V ( 외부부하저항 2kΩ ~ 1MΩ ) :DC 10V ~ 10V ( 외부부하저항 2kΩ ~ 1MΩ ) DC 4mA ~ 12mA ( 외부부하저항 510Ω이하 ) 최대분해능 2.5 mv (1/4000) 5 mv (1/4000) 4 μa (1/4000) 정밀도 ±0.5%[ 풀스케일 (Full Scale)] 최대변환속도 15 ms /8 채널 10 ms /4 채널 15 ms /8 채널 10 ms /4 채널 절대최대출력 DC +15V DC +24 ma 아날로그출력점수 8 채널 4 채널 8 채널 4 채널 절연방식입력단자와 PLC 전원간포토커플러절연 ( 채널간비절연 ) 접속단자 20 점단자대 내부소비전류 (DC5V) 550 ma 700 ma 400mA 60mA 680mA 외부공급전원 전압 소비전류 DC21.6~26.4V 230 ma 중량 390g 280g 260g 410g 280g 260g 알아두기 GM3-PA1A와 GM3-PA2A의출력용량은 DC+5V : 7A, DC+24V : 1.5A입니다. GM4-PA1A와 GM4-PA2A의출력용량은 DC5V:4A, DC24V:0.7A입니다. GM4-PA1B와 GM4-PA2B의출력용량은 DC5V:3A, DC24V:0.5A입니다. 제 1 장성능규격및변환특성 1-2 LS 산전연수원

116 3) G6F-DA2V/I 항 목 G6F-DA2V 규 격 G6F-DA2I 적용 PLC GM6/MK200S 입출력점유점수 16점 디지털입력 부호있는 16비트바이너리값 ( 데이터 : 12비트 ) 아날로그출력 전압출력 : DC 10V ~ 10V 전류출력 : DC 4mA ~ 20mA ( 외부부하저항 2kΩ ~ 1MΩ ) ( 외부부하저항 510Ω이하 ) 최대분해능 5 mv (1/4000) 4 μa (1/4000) 정밀도 ±0.5%[ 풀스케일 (Full Scale)] 최대변환속도 10ms /4채널 10ms /4채널 절대최대출력 DC +15V DC +24mA 아날로그출력점수 4채널 4채널 절연방식 입력단자와 PLC전원간포토커플러절연 ( 채널간비절연 ) 접속단자 18 점단자대 DC+5V 40mA 40mA 내부소비전류 *1 DC+15V 80mA 120mA DC-15V 60mA 25mA 중량 200g 200g 알아두기 *1 GM6 또는 K200S 에서아날로그입출력모듈을사용시전원모듈은 DC±15V 출력이있는 GM6-PAFB 를사용하십시오. GM6-PAFB 는 DC+15V:0.5A, DC-15V:0.2A 입니다. 따라서 D/A 변환모듈을동시에여러대사용할경우각제품의소비전류를고려하여소비전류가규격치를만족하도록설정해주십시오. 제 1 장성능규격및변환특성 1-3 LS 산전연수원

117 1.2 각부의명칭과역할 1) G3F DA4I / G3F DA4V 각부분의명칭에대해서설명합니다 G3F-DA4V CH RUN OFFSET SET GAIN UP DOWN TEST CH 0 CH 1 CH 2 CH 3 CH 4 CH 5 CH 6 CH 7 CH 8 CH 9 CH A CH B CH C CH D CH E CH F +15V INPUT 0V -15V J1 J2-10~10V -5~5V 제 1 장성능규격및변환특성 1-4 LS 산전연수원

118 번호내용 1 RUN LED D/A 변환모듈의동작상태를표시 점등 : 정상동작중 점멸 : 에러발생 ( 자세한사항은 6.1항참조 ) 소등 : DC 5V 단선, D/A 변환모듈이상 2 채널선택스위치 테스트모드에서오프셋 / 게인을조정하고자할때채널을선택하는스위치설정범위 : 0 ~ F ( 0을선택하면 0번채널의오프셋 / 게인이조정됨 ) 3 오프셋 / 게인선택스위치 오프셋 / 세트 / 게인을선택하는스위치 오프셋위치 : 오프셋값조정모드 게인위치 : 게인값조정모드 세트위치 : 오프셋 / 게인값기억모드 ( 오프셋 / 게인의위치에서세트위치로전환할때오프셋 / 게인값이 D/A 변환모듈의내부메모리에기억됩니다. ) 4 5 업 / 다운스위치 채널선택스위치와오프셋 / 게인선택스위치로지정된채널의오프셋 / 게인값을변경하는스위치 업 / 다운위치에따라아날로그출력이다음과같이변경됩니다. 2초미만업 / 다운위치 : G3F DA4I 1회에 1μA 증감 G3F DA4V 1회에 1.25mV 증감 2초이상업 / 다운위치 : G3F DA4I 0.2초마다 10μA 증감 G3F DA4V 0.2초마다 12.5mV 증감테스트단자 단자대 1,2를연결하면테스트모드단자대 1,2를연결하지않으면노멀모드 6 출력범위선택스위치 G3F DA4V 만해당됩니다. 공장출하시는 DC 10 ~ +10V 로선택되어져있습니다. 제 1 장성능규격및변환특성 1-5 LS 산전연수원

119 2) G4F-DA3V/G4F-DA2V/G4F-DA3I/G4F-DA2I 각부분의명칭에대해서설명합니다. G4F-DA3V G4F-DA2V G4F-DA3I G4F-DA2I G4F-DA3V RUN 1 G4F-DA2V RUN 1 G4F-DA3I RUN 1 G4F-DA2I RUN 1 CH 0 CH 1 CH 2 CH 3 CH 4 CH 5 CH 6 CH 7-10~+10V CH 0 CH 1 CH 2 CH 3-10~+10V CH 0 CH 1 CH 2 CH 3 CH 4 CH 5 CH 6 CH 7 DC24V 4~20mA CH 0 CH 1 CH 2 CH 3 4~20mA 번호내용 1 RUN LED 아날로그출력단자대 D/A 변환모듈의동작상태를표시점등 : 정상동작중소등 : DC5V 단선 2 CH 0 CH 1 CH 2 CH 3 CH 4 CH 5 CH 6 CH a b 디지털값을아날로그값으로변환하여각채널마다외부와연결할수있도록되어있는단자대 a 부 : G4F-DA2V 와 G4F-DA2I 의 4 채널 ( 번호 1 8 ) b 부 : G4F-DA3V 와 G4F-DA3I 의 8 채널 ( 번호 1 16 ) 3 외부입력단자대 18 DC24V c G4F-DA3I 만해당 c 부 : 외부전원 DC24V 공급단자 ( 번호 ) 제 1 장성능규격및변환특성 1-6 LS 산전연수원

120 3) G3F-DA3V/G3F-DA3I 각부분의명칭에대해서설명합니다 G3F-DA3V G3F-DA3V G3F-DA3I G3F-DA3I DC24V 2 번호내용 1 2 RUN LED 외부입력단자대 D/A 변환모듈의동작상태를표시점등 : 정상동작중소등 : DC5V 단선 G3F-DA3I만해당외부전원 DC24V 공급단자 ( 번호19 20 ) 제 1 장성능규격및변환특성 1-7 LS 산전연수원

121 4) G6F-DA2V/G6F-DA2I 각부분의명칭에대해서설명합니다. G6F-DA2V G6F-DA2I RUN 1 RUN 1 G6F-DA2V G6F-DA2I G6F-DA2V G6F-DA2I CH0 V+ V- CH0 I+ I- CH1 V+ V- CH1 I+ I- CH2 V+ V- 2 CH2 I+ I- 2 CH3 V+ V- CH3 I+ I- -10~+10V 4 ~ 20 ma No 내용 1 RUN LED D/A 변환모듈의동작상태를표시 점등 : 정상동작중소등 :DC5V 단선 아날로그출력단자대 CH0 V+ V CH1 CH2 V+ V- V+ V 디지털값을아날로그값으로변환하여각채널마다외부와연결하는단자대 CH3 V+ V- 7 8 제 1 장성능규격및변환특성 1-8 LS 산전연수원

122 5) G4F DA1A 각부분의명칭에대해서설명합니다. 번호내용 1 RUN LED 운전상태를표시합니다. 노멀모드 점등 : 정상동작중 점멸 : 에러발생 소등 : DC 5V 단선또는 G4F DA1A 이상 테스트 (Test) 모드 점멸 : 오프셋 / 게인선택스위치가오프셋또는게인의위치일때 1.0 초간격으로점멸 소등 : 오프셋 / 게인선택스위치가세트의위치일때소등 2 오프셋 / 게인선택스위치 오프셋위치 : 오프셋값조정모드 게인위치 : 게인값조정모드 세트위치 : 오프셋 / 게인값기억모드 ( 오프셋 / 게인의위치에서세트위치로전환할때오프셋 / 게인값이 G4F-DA1A 의내부메모리에기억됩니다. ) 3 채널선택스위치 테스트모드에서오프셋 / 게인값조정채널지정 CHO 위치 : CHO 오프셋 / 게인설정가능 중립 : 오프셋 / 게인설정불가 CH1 위치 : CH1 오프셋 / 게인설정가능 4 업 / 다운스위치 지정채널의오프셋 / 게인값을변경하는스위치 업 / 다운위치에따라아날로그출력이다음과같이변경됩니다. (1) 2 초미만업 / 다운위치 : 1 회에전압 1.25mA 증감전류 1.0μA 증감 (2) 2 초이상업 / 다운위치 : 0.2 초마다전압 12.5mA 증감전류 10μA 증감 5 테스트단자 단자대 1,3 를연결하면테스트모드단자대 1,3 를연결하지않을때는노멀모드 제 1 장성능규격및변환특성 1-9 LS 산전연수원

123 제 2 장입출력변환특성 2.1 G3F-DA3V/I, G4F-DA3V/I, G4F-DA2V/I, G6F-DA2V/I 입출력변환특성은 PLC에서설정된디지털신호를아날로그신호 ( 전압또는전류 ) 로변환할때의 기울기로그림 2.1 로나타냅니다 mA 20mA 10.24V 10V 10.12V 10V 아날로그출력값 16mA 12mA 8mA 5V 0V -5V 7.5V 5V 2.5V 아날로그출력실용범위 4mA 3.808mA -10V V 0V -0.12V 디지털입력값 [ 그림 2.1] 입출력변환특성예 D/A 변환모듈의오프셋 / 게인설정은고정되어있으므로변경할수없습니다. G3F-DA3V 전압출력일경우디지털입력 1 에대한아날로그출력은 2.5mV에해당됩니다. G4F-DA3V/DA2V 전압출력일경우디지털입력 1 에대한아날로그출력은 5mV에해당됩니다. 전류출력일경우디지털입력 1 에대한아날로그출력은 4μA입니다. 2.2 G3F-DA4V/I, G4F-DA1A 1) 오프셋값과게인값은다음과같습니다. a) 오프셋값데이터타입이 8192 ~ 8191 일때 : 디지털입력값이 8000 일때의아날로그출력값데이터타입이 192 ~ 일때 : 디지털입력값이 0 일때의아날로그출력값 b) 게인값데이터타입이 8192 ~ 8191 일때 : 디지털입력값이 0 일때의아날로그출력값데이터타입이 192 ~ 일때 : 디지털입력값이 8000 일때의아날로그출력값 2) 공장출하시오프셋값과게인값은아래같이설정되어져있습니다. 모듈명아날로그입력범위오프셋값게인값 G3F-DA4I DC 4 20 ma DC 4 ma DC 12 ma G3F-DA4V DC V DC-10 V DC 0 V G3F-DA1A DC V DC-10 V DC 0 V 3) 오프셋값과게인값은테스트모드에서각채널마다다르게변경할수있습니다. 제 2 장입출력변환특성 2-1 LS 산전연수원

124 2.3 입출력변환특성예 입출력변환특성예를그림 2.2 에나타냅니다. 아날로그출력 오프셋값 게인값 디지털입력값 [ 그림 2.2] 입출력변환특성예 2.4 오프셋 / 게인값과아날로그출력의관계 D/A 변환모듈의분해능은오프셋값과게인값설정을변경하여임의로조절할수있습니다. 오프셋값과게인값의설정을변경할경우, 아날로그값의분해능및디지털입력값에의한아날로그출력값을산출하는식은다음과같습니다. 게인값 오프셋값분해능 = 8000 게인값 오프셋값아날로그출력 = X 디지털입력값 + 오프셋값 8000 아날로그출력 = 분해능 X 디지털입력값 X 오프셋값 예 ) 오프셋값 : DC 10V 게인값 : DC 0V 디지털입력값 일때 0 ( 10) 분해능 = = 아날로그출력 = X (-10) = 5(V) D/A 변환모듈의아날로그값의최대분해능은표 2.1와같으므로디지털입력값을 1 씩증가또는감소시킬때아날로그출력값의변화량은위의계산식과다를수있습니다. 제품명아날로그출력종류최대분해능 G3F-DA4I DC 4 20 ma 1μ A G3F-DA4V DC V DC -5 5 V 1.25 mv mv G4F-DA1A DC 4 20 ma 1μ A DC V 1.25 mv [ 표 2.1] 최대분해능 제 2 장입출력변환특성 2-2 LS 산전연수원

125 2.5 오프셋 / 게인값을변경할경우입출력변환특성 오프셋 / 게인값을변경할경우입출력변환특성은다음과같습니다. 1) 전압입력특성 오프셋 / 게인값설정의변경에따라전압출력특성이변하는것을그림 2.3, 2.4, 2.5 에표시합니다. (1) DC 10 ~ 10V DC 10 ~ 10V 아날로그출력전압 아날로그출력전압실용범위 예 1 예 2 예 3 오프셋값게인값오프셋값게인값오프셋값게인값 디지털입력값 번호 디지털입력범위 오프셋값 게인값 디지털입력값 예 V 5V 0V 2.5V 5V 7.5V 10V 예 2 ~ 5V 0V 5V 2.5V 0V 2.5V 5V 예 V 0V 10V 5V 0V 5V 10V 예 V 5V 0V 2.5V 5V 7.5V 10V 예 2 ~ 5V 0V 5V 2.5V 0V 2.5V 5V 예 V 0V 10V 5V 0V 5V 10V [ 그림 2.3] 전압출력특성 (DC 10~10V) 제 2 장입출력변환특성 2-3 LS 산전연수원

126 (2) DC 5 ~ 5V DC 5 ~ 5V 아날로그출력전압 아날로그출력전압실용범위 예 1 예 2 예 3 오프셋값게인값오프셋값게인값오프셋값게인값 디지털입력값 번호 디지털입력범위 오프셋값 게인값 디지털입력값 예 V 3V 1V 2V 3V 4V 5V 예 2 ~ 0V 2.5V 0V 1.25V 2.5V 3.75V 5V 예 V 0V 5V 2.5V 0V 2.5V 5 예 V 3V 1V 2V 3V 4V 5V 예 2 ~ 0V 2.5V 0V 1.25V 2.5V 3.75V 5V 예 V 5V 2.5V 0V 2.5V 5V [ 그림 2.4] 전압출력특성 (DC 5~5V) 제 2 장입출력변환특성 2-4 LS 산전연수원

127 2) 전류입력특성 오프셋 / 게인값설정의변경에따라전류출력특성이변하는것을그림 1.5 에표시합니다. DC 4 ~ 20mA 아날로그출력전류 아날로그출력전류실용범위 예 1 예 2 오프셋값게인값오프셋값게인값 예 3 오프셋값게인값 디지털입력값 번호 디지털입력범위 오프셋값 게인값 디지털입력값 예 mA 15mA 10mA 12.5mA 15mA 17.5mA 20mA 예 2 ~ 6mA 10mA 6mA 6mA 10mA 12mA 14mA 예 mA 12mA 4mA 4mA 12mA 16mA 20mA 예 mA 15mA 10mA 12.5mA 15mA 17.5mA 20mA 예 2 ~ 6mA 10mA 6mA 6mA 10mA 12mA 14mA 예 mA 12mA 4mA 4mA 12mA 16mA 20mA [ 그림 2.5] 전류출력특성 (DC 4~20mA) 제 2 장입출력변환특성 2-5 LS 산전연수원

128 2.6 오프셋 / 게인설정순서 오프셋 / 게인설정순서를나타냅니다. 오프셋 / 게인값은각각의채널에대해서조정합니다. 테스트 (Test) 모드설정단자연결 G3F DA4V/G3F DA4I : 단자대 1,2 G4F DA1A : 단자대 1,3 : RUN LED 소등 테스트모드상태 오프셋 / 게인스위치가세트위치에있는가를확인한후 CH 선택스위치로오프셋 / 게인조정용채널을선택 아날로그출력채널의설정 오프셋 / 게인조정용채널에계측기를접속 계측기접속 오프셋 / 게인스위치를오프셋위치로설정 : RUN LED 가 1.0 초간격으로점멸 업 / 다운스위치로출력을오프셋값으로조정 : RUN LED 가 0.1 초간격으로점멸 오프셋값조정 오프셋 / 세트 / 게인스위치를세트위치로설정 : RUN LED 가소등 오프셋 / 세트 / 게인스위치를게인위치로설정 : RUN LED 가 1.0 초간격으로점멸 업 / 다운스위치로출력을게인값으로조정 : RUN LED 가 0.1 초간격으로점멸 게인값조정 오프셋 / 세트 / 게인스위치를세트위치로설정 : RUN LED 가소등 아니오 사용채널에대한설정이완료되었습니다 예 테스트 (Test) 모드설정단자개방 (G3F DA4V/G3F DA4I : 단자대 1,2. G4F DA1A : 단자대 1,3) 완 료 제 2 장입출력변환특성 2-6 LS 산전연수원

129 2.7 배선예 1) G3F-DA4V 모터구동모듈등 CH 0 D/A 변환회로 3 4 *1 GND 2 kω ~1 MΩ 모터구동모듈등 CH F kω ~1 MΩ AGND +15V -15V DC +15V 0V DC -15V *1 GND 2) G3F-DA4I 모터구동모듈등 D/A 변환회로 R 3 4 CH 0 *1 GND 510Ω 이하 모터구동모듈등 AGND R +15V -15V CH F DC +15V 0V DC -15V *1 GND 510Ω 이하 3) G4F-DA1A 모터구동모듈등 Vcc +5V GND +15V 0V -15V D/A 변환회로 +15V AGND -15V 5 7 CH 0 전압출력 *1 2 kω ~1 MΩ GND 모터구동모듈등 D/A 변환회로 R CH 전류출력 *1 GND 550Ω 이하 1 : 전선으로는 2 심트위스트실드선을사용하여주십시오. 제 2 장입출력변환특성 2-7 LS 산전연수원

130 4) G3F-DA3V, G4F-DA3V, G4F-DA2V 모터구동모듈등 CH0 D/A 변환회로 kω ~1 MΩ *1 GND 모터구동모듈등 CH7 D/A 변환회로 *1 GND 2 kω ~1 MΩ 5) G3F-DA3I, G4F-DA3I, G4F-DA2I 모터구동모듈등 CH0 D/A 변환회로 Ω 이하 *1 GND 모터구동모듈등 CH7 D/A 변환회로 1 2 *1 GND 510Ω 이하 *1 : 전선은 2 심트위스트실드선을사용하여주십시오. 제 2 장입출력변환특성 2-8 LS 산전연수원

131 주의 전류출력모듈에서전류의 COMMON 선이공통으로되어있는기기와는접속할수없습니다. 전류출력모듈의 - 단자는회로내부적으로각채널별별도의회로로구성되어있으므로외부에서공통으로접속시킬경우정상적인출력이되지않습니다. 1) G3F-DA4I 3 4 CH 0 기기 D/A 변환회로 R AGND R +15V -15V CH F DC +15V 0V DC -15V 2) G4F-DA1A (2 채널을전류출력형으로사용할때 ) D/A 변환회로 5 7 CH 0 기기 R Vcc +5V GND +15V 0V -15V +15V -15V AGND D/A 변환회로 R CH 1 G3F-DA3I, G4F-DA3I, G4F-DA2I, G6F-DA2I 모듈에서도전류출력회로는동일합니다. G4F-DA1A 는한채널에서전압과전류를동시에사용할수없습니다. 한채널에서전압과전류를동시에사용하면내부회로의고장으로인해오출력, 오동작의원인이됩니다. 제 2 장입출력변환특성 2-9 LS 산전연수원

132 제 3 장 GLOFA-GM 프로그래밍 D/A 변환모듈을사용하기위해서는 D/A변환모듈의내부메모리와 PLC CPU간의인터페이스를위한펑션블록을사용해야합니다. 3.1 GMWIN에서 D/A 변환모듈의펑션블록등록절차 D/A 변환모듈용펑션블록을사용하기위해서는먼저라이브러리의등록이필요합니다. - Project창에서 Library창을선택합니다. - 마우스오른쪽버튼을눌러팝업메뉴를부릅니다. - 팝업메뉴에서 [ 프로젝트항목추가 ] [ 라이브러리 ] 선택. - 열기창에서 SPECIAL. fb 또는 REMOTE*. fb 파일을선택하고열기를클릭합니다.. ( : GMR의경우 R,GM1/2의경우 1, GM3의경우 3, GM4의경우 4, GM6의경우 6 에해당됩니다.) (GM3의경우예 ) - Library창에서 SPECIAL 라이브러리가추가된것을확인합니다. 추가된라이브러리 ( 특수모듈에관련된라이브러 (SPECIAL 라이브러리를추가한경우예 ) 제 3 장 GLOFA-GM 프로그래밍 3-1 LS 산전연수원

133 3.2 펑션블록의종류 GMWIN에서사용되는 D/A변환모듈용펑션블록에대해서설명합니다. 펑션블록의종류는다음과같습니다. No G3F-DA4V / G3F-DA4I G4F-DA1A G6F-DA2V/ G6F-DA2I 기 능 로컬 리모트 로컬 리모트 로컬 리모트 1 DA4INI DAR4INI DA1INI DAR1INI - - 모듈초기화 2 DA4AWR DAR4WR DA1AWR DAR1WR DA2AWR DAR2WR D/A 변환값쓰기 ( 복수형 ) 3 DA4WR - DA1WR - DA2WR - D/A 변환값쓰기 ( 단독형 ) No G3F-DA3V/G3F-DA3I G4F-DA3V / G4F-DA3I G4F-DA2V / G4F-DA2I 로컬리모트로컬리모트로컬리모트 기 능 1 DA3AWR DAR33WR DA3AWR DAR3WR DA2AWR DAR2WR D/A 변환값쓰기 ( 복수형 ) 2 DA3WR - DA3WR - DA2WR - D/A 변환값쓰기 ( 단일형 ) 알아두기 1.G3F-DA3V,G3F-DA3I,G4F-DA3V,G4F-DA3I 의평션블록의기능과사용방법은동일합니다. 2.G4F-DA2V 와 G4F-DA2I 의평션블록의기능과사용방법은동일합니다. 3.G3F-DA4V 와 G3F-DA4I 의펑션블록의기능과사용방법은동일합니다. 4.G6F-DA2V 와 G6F-DA2I 의평션블록의기능과사용방법은동일합니다 5.G3F-DA3V,G3F-DA3I,G4F-AD3V,G4F-DA3I,G4F-DA2V,G4F-DA2I,.G6F-DA2V / G6F-DA2I 는초기화펑션블록이없습니다. G3F-DA4V/G3F-DA4I 1. Special.3fb. DA4INI. DA4AWR. DA4AWR 2. Remote3.3fb. DAR4INI. DAR4WR 3. Remote4.3fb. DAR1INI. DAR1INI G3F-DA3V/G3F-DA3I 1. Special.3fb. DA3AWR. DA3WR 2. Remote3.3fb. DAR33WR 3. Remote4.3fb. DAR33WR G4F DA1A 1.Special.4fb. DA1INI. DA1AWR. DA1WR 2.Remote4.4fb. DAR1INI. DAR1WR 3.Remote3.4fb. DAR4INI. DAR4WR G4F-DA3V/G4F-DA3I 1. Special.4fb. DA3AWR. DA3WR 2. Remote3.4fb. DAR3WR 3. Remote4.4fb. DAR3WR G4F-DA2V/G4F-DA2I 1. Special.4fb. DA2AWR. DA2WR 2. Remote3.4fb. DAR2WR 3. Remote4.4fb. DAR2WR G6F-DA2V/G6F-DA2I 로컬용펑션블록등록 GM3 리모트용펑션블록등록 GM4 리모트용펑션블록등록 1. Special.6fb. DA2AWR. DA2WR 로컬용펑션블록등록 2. Remote6.6fb. DAR2WR GM6 리모트용펑션블록 제 3 장 GLOFA-GM 프로그래밍 3-2 LS 산전연수원

134 3.3 펑션블록의공통사항아래의입출력변수명의기능과사용법은 3.4항에서설명되는모든펑션블록에공통되는 내용으로동일합니다. 구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 이영역은초기화펑션블록의실행을요구하는영역입니다. 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면모듈초기화펑션블록이실행됩니다. 입력 BASE USINT SLOT USINT CH DATA TYPE DATA SEL [Array] *1 [Array] 주 1 INT [Array] 주 1 USINT [Array] 주 1 DONE 베이스위치번호 A/D 변환모듈이장착된베이스의번호를쓰는영역입니다. 설정범위 : GM1시리즈 (0 31), GM2시리즈 (0 7), GM3/4시리즈 (0 3) GM6시리즈 (0,1) 슬롯의위치번호 위치결정모듈이장착된슬롯의번호를설정하는영역입니다. 설정범위 : 0 7 사용채널지정영역 0 이면사용하지않는채널 1 이면사용하는채널 입력데이터타입지정영역 (G3F-DA4V/I, G4F-DA1A모듈만해당됨 ) - 채널의입력디지털데이터타입의종류를설정하는영역입니다. - 0 이면데이터가 192~ 이면데이터가 8192~8191 D/A 변환값입력영역 (G3F-DA3V/I, G4F-DA3V/I, G4F-DA2V/I, G6F-DA2V/I모듈만해당됨 ) 채널의입력디지털데이터를설정하는영역입니다. 설정범위 : CPU 모듈이 Stop 상태이거나해당채널을사용하지않을때출력값을선택하는영역 (G3F-DA4V/I, G4F-DA1A 모듈만해당됨 ) - 0 이면출력범위의중간값을출력합니다 - 1 이면이전값을출력합니다 - 2 이면출력범위의최대값을출력합니다 - 3 이면출력범위의최소값을출력합니다 펑션블록실행완료상태표시영역 초기화펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며, 에러가발생되면 0 이출력되면서운전정지상태가됩니다. 출력 STAT USINT ACT [Array] *1 에러상태표시영역 펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. 운전채널표시영역 초기화펑션블록이에러없이실행된후지정된채널의설정조건이정상이면 1 이출력되고, 비정상이면 0 이출력됩니다. 운전지정이안된채널은 0 이출력됩니다. 알아두기 1 : Array 수는 G3F-DA4V/I :16, G3F-DA3V/I : 8, G4F-DA3V/I :8, G4F-DA2V/I :4, G4F-DA1A : 2, G6F-DA2V/I :4 이며, 원소번호가채널을의미합니다. 제 3 장 GLOFA-GM 프로그래밍 3-3 LS 산전연수원

135 3.4 로컬용펑션블록 모듈초기화펑션블록 1) G3F-DA4V / G3F-DA4I : DA4INI, G4F-DA1A : DA1INI 모듈초기화펑션블록은 D/A 변환모듈의베이스위치, 슬롯장착위치, 사용채널지정, D/A 변환용 DATATYPE, CPU 모듈이 Stop 상태일때의 D/A 변환모듈의출력유지정보를설정하여프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 - 이영역은초기화펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면초기화펑션블록이실행됩니다. BASE USINT 베이스위치번호 - D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : GM1 시리즈 (0~31), GM2 시리즈 (0~7), GM3/4 시리즈 (0~3) SLOT USINT 슬롯의위치번호 - D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 7 입력 CH [Array] 주 1 사용채널지정영역 - 사용하는채널을지정하는영역입니다. - 사용하는채널 1, 사용하지않는채널은 0 으로지정합니다. DATA TYPE [Array] 주 1 입력데이터타입지정영역 - 채널의입력디지털데이터타입의종류를설정하는영역입니다. - 0 이면데이터가 192~ 이면데이터가 8192~8191 SEL USINT [Array] 주 1 CPU 모듈이 Stop 상태이거나해당채널을사용하지않을때출력값을선택하는영역 - 0 이면출력범위의중간값을출력합니다 - 1 이면이전값을출력합니다 - 2 이면출력범위의최대값을출력합니다 - 3 이면출력범위의최소값을출력합니다 DONE 펑션블록실행완료상태 - 초기화펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며에러가발생되면 0 이출력되면서운전정지상태가됩니다. 출력 STAT USINT 에러상태표시영역 - 초기화펑션블록을실행중에러가발생되면에러번호를출력하는영역입니다. - 에러내용은 4.4 항을참조하여주십시오. ACT USINT [Array] 주 1 운전채널표시영역 - 초기화펑션블록이에러없이실행된후지정된채널이정상이면 1 이출력되고, 운전지정이안된채널은 0 이출력됩니다. 알아두기 주 1 Array 의수는 G3F DA4V 와 G3F DA4I : 16, G4F DA1A : 2 입니다. 제 3 장 GLOFA-GM 프로그래밍 3-4 LS 산전연수원

136 3.4.2 모듈쓰기 _Array형 1) G3F-DA4V / G3F-DA4I : DA4WR, G4F-DA1A : DA1AWR Array형모듈쓰기펑션블록은 D/A변환모듈의전채널을일괄로처리하여사용채널로지정되면 D/A 변환하고자하는디지털값을설정하여프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 펑션블록실행요구영역 REQ - 이영역은쓰기펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면초기화펑션블록이실행됩니다. 베이스위치번호 BASE USINT - D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : GM1시리즈 (0~31), GM2시리즈 (0~7), GM3/4시리즈 (0~3) 입력 SLOT USINT 슬롯의위치번호 - D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 7 CH [Array] 주1 사용채널지정영역 - 사용하는채널을지정하는영역입니다. - 사용하는채널 1, 사용하지않는채널은 0 으로지정합니다. DATA INT [Array] 주1 D/A 변환값입력영역 - 채널의입력디지털데이터를설정하는영역입니다. 펑션블록실행완료상태 DONE - 쓰기펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며에러가발생되면 0 이출력되면서운전정지상태가됩니다. 에러상태표시영역 출력 STAT USINT - 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. - 에러내용은 4.4항을참조하여주십시오. ACT USINT [Array] 주1 운전채널표시영역 - 쓰기펑션블록이에러없이실행된후지정된채널이정상이면 1 이출력되고, 운전지정이안된채널은 0 이출력됩니다. 알아두기 주 1 Array 의수는 G3F DA4V 와 G3F DA4I : 16, G4F DA1A : 2 입니다. 제 3 장 GLOFA-GM 프로그래밍 3-5 LS 산전연수원

137 2) G3F-DA3V / G3F-DA3I, G4F-DA3V / G4F-DA3I:DA3AWR, G4F-DA2V / G4F-DA2I :DA2AWR Array 형모듈쓰기펑션블록은 D/A 변환모듈의전채널을사용채널로지정되어지고 D/A 변환하고자하는디지털값을설정하여프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 G3F-DA3V/DA3I G4F-DA3V/DA3I REQ BASE SLOT DATA G4F-DA2V G4F-DA2I REQ BASE SLOT DA3AWR DONE DA2AWR DATA STAT DONE STAT 입력 출력 REQ BASE SLOT DATA DONE STAT 3) G6F-DA2V / G6F-DA2I : DA2AWR USINT USINT INT [Array] USINT 펑션블록실행요구영역 이영역은쓰기펑션블록의실행을요구하는영역입니다. 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면쓰기펑션블록이실행됩니다. 베이스위치번호 D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. 설정범위 : 0 3 슬롯의위치번호 D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. 설정범위 : 0 7 D/A 변환값입력영역 채널의입력 : 디저털데이터를설정하는영역입니다. Array의수는 G3F-DA3V,G3F-DA3I,G4F-DA3V,G4F-DA3I : 8, G4F-DA2V, G4F-DA2I : 4 입니다. 펑션블록실행완료상태 쓰기펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며에러가발생되면 0 이출력되면서운전정지상태가됩니다. 에러상태표시영역 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. 에러내용은 4.4항을참조하여주십시오. 펑션블록형태구분변수명 Datatype 내용 G6F-DA2V G6F-DA2I REQ DA3AWR DONE 입력 REQ BASE USINT 펑션블록실행요구영역 - 이영역은펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면쓰기펑션블록이실행됩니다. 베이스위치번호 - A/D 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : 0 1 BASE SLOT DATA STAT SLOT DATA USINT INT [Array] 슬롯의위치번호 - A/D 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 7 D/A 변환값입력영역 - 채널의입력디지털데이터를설정하는영역입니다. - Array 의수는 4 이며채널수를나타냅니다. 출력 DONE 펑션블록실행완료상태 - 쓰기펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며, 에러가발생되면 0 이출력되면서운전정지상태가됩니다. STAT USINT 에러상태표시영역 - 쓰기평션블록실행중에러가발생되면에러번호를출력영역입니다. 제 3 장 GLOFA-GM 프로그래밍 3-6 LS 산전연수원

138 3.4.3 모듈쓰기 _ 단일형 1) G3F-DA4V / G3F-DA4I : DA4WR, G4F-DA1A : DA1WR 단일형모듈쓰기펑션블록은 D/A 변환모듈의한채널만처리하며 D/A 변화하고자하는디지털값을설정하여프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 - 이영역은쓰기펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면쓰기펑션블록이실행됩니다. BASE USINT 베이스위치번호 - D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : GM1 시리즈 (0~31), GM2 시리즈 (0~7), GM3/4 시리즈 (0~3) 입력 SLOT USINT 슬롯의위치번호 - D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 7 CH USINT 사용채널지정영역 - 사용하는채널을지정하는영역입니다. - 설정범위 : 0 ~ 15 (G4F-DA1A : 0 ~ 1) DATA INT D/A 변환값입력영역 - 채널의입력디지털데이터를설정하는영역입니다. DONE 펑션블록실행완료상태 - 쓰기펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며에러가발생되면 0 이출력되면서운전정지상태가됩니다. 출력 STAT USINT 에러상태표시영역 - 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. - 에러내용은 4.4 항을참조하여주십시오. 제 3 장 GLOFA-GM 프로그래밍 3-7 LS 산전연수원

139 2) G3F-DA3V / G3F-DA3I, G4F-DA3V / G4F-DA3I : DA3WR, G4F-DA2V / G4F-DA2I : DA2WR 펑션블록형태구분변수명 Datatype 내용 G3F-DA3V/DA3I G4F-DA3V/DA3I DA3WR REQ DONE BASE SLOT CH DATA G4F-DA2V G4F-DA2I DA2WR REQ BASE SLOT CH DATA STAT DONE STAT 입력 출력 REQ BASE SLOT CH DATA DONE STAT USINT USINT USINT INT USINT 펑션블록실행요구영역 이영역은쓰기펑션블록의실행을요구하는영역입니다. 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면모듈쓰기펑션블록이실행됩니다. 베이스위치번호 D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. 설정범위 : 0 3 슬롯의위치번호 D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. 설정범위 : 0 7 사용채널지정영역 사용하는채널을지정하는영역입니다. 설정범위 : G3F-DA3V / G3F-DA3I / G4F-DA3V / G4F-DA3I : 0~7 G4F-DA2V / G4F-DA2I : 0~3 D/A 변환값입력영역 채널의입력디지털데이터를설정하는영역입니다. 설정범위 : 펑션블록실행완료상태 쓰기펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며, 에러가발생되면 0 이출력되면서운전정지상태가됩니다. 에러상태표시영역 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. 에러내용은 4.4항을참조하여주십시오.. 3) G6F-DA2V / G6F-DA2I : DA2WR 펑션블록형태구분변수명 Datatype 내용 G6F-DA2V G6F-DA2I REQ BASE SLOT CH DA2AWR DATA DONE STAT 입력 출력 REQ BASE SLOT CH DATA DONE STAT USINT USINT USINT INT USINT 펑션블록실행요구영역 - 이영역은읽기펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면쓰기펑션블록이실행됩니다. 베이스위치번호 - D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : 0 1 슬롯의위치번호 - D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 7 사용채널지정영역 - 사용하는채널을지정하는영역입니다 - 설정범위 : 0 ~ 3 D/A 변환값입력영역 - 채널의입력디지털데이터를설정하는영역입니다. 펑션블록실행완료상태표시영역 - 읽기펑션블록이에러없이실행완료되면 1 이출력되고, 다음실행때까지 1 을유지하며, 에러가발생되면 0 이출력되면서운전정지상태가됩니다. 에러상태표시영역 - 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. - 에러내용은 4.3 항을참조하여주십시오. 제 3 장 GLOFA-GM 프로그래밍 3-8 LS 산전연수원

140 3.5 리모용펑션블록 모듈초기화펑션블록 1) G3F-DA4V / G3F-DA4I : DAR4INI, G4F-DA1A : DAR1INI 모듈초기화펑션블록은자국의통신모듈슬롯위치번호, 리모트 I/O 국에장착된통신모듈의국번, D/A 변환모듈이장착된베이스위치번호, 슬롯장착위치번호, 사용채널지정, D/A 변환용디지털 DATATYPE, CPU 모듈이 Stop 상태일때의 D/A 변환모듈출력상태를설정하며이를프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 REQ 펑션블록실행요구영역 - 이영역은쓰기펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 이되면초기화펑션블록이실행됩니다. NET_ NO USINT 펑션블록이전송될자국의통신모듈이장착된슬롯위치번호 - 설정범위 : 0 ~ 7 ST_N O USINT 리모트 I/O 국에장착된통신모듈의국번 - 설정범위 : 0 ~ 63 BASE USINT 베이스모듈위치번호 - D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : 0 ~ 3 입력 SLOT USINT 슬롯위치번호 - D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 ~ 7 CH [Array] 주 1 사용채널지정영역 - 사용하는채널을지정하는영역입니다. - 사용하는채널 1, 사용하지않는채널은 0 으로지정합니다. DATA TYPE [Array] 주 1 입력데이터타입지정영역 - 채널의입력디지털데이터타입의종류를설정하는영역입니다. - 0 이면데이터가 192 ~ 이면데이터가 8192 ~ 8191 SEL USINT [Array] 주 1 CPU 모듈이 Stop 상태이거나해당채널을사용하지않을때출력값을선택하는영역 - 0 이면출력범위의중간값을출력합니다. - 1 이면이전값을출력합니다. - 2 이면출력범위의최대값을출력합니다. - 3 이면출력범위의최소값을출력합니다. NDR 펑션블록실행이에러없이종료된경우 1 이되며, 실행조건이성립된스캔동안 1 을유지하고다음스캔에서 0 이됩니다. 출력 ERR STAT USINT 에러정보표시영역 - 초기화펑션블록실행중에러가발생되면 1 이출력되어운전정지상태가되고, 실행조건이성립된스캔동안 1 을유지하며다음스캔에서 0 이됩니다. 에러상태표시영역 - 초기화펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. - 에러내용은 4.4 항을참조하여주십시오. ACT USINT [Array] 주 1 운전채널표시영역 - 초기화펑션블록이에러없이실행된후지정된채널이정상이면 1 이출력되고, 운전지정이안된채널은 0 이출력됩니다. 알아두기 주 1 Array 의수는 G3F DA4V 와 G3F DA4I : 16, G4F DA1A : 2 입니다. 제 3 장 GLOFA-GM 프로그래밍 3-9 LS 산전연수원

141 3.5.2 모듈쓰기펑션블록 1) G3F-DA4V / G3F-DA4I : DAR4WR, G4F-DA1A : DAR1WR 모듈쓰기펑션블록은 D/A 변환모듈이전채널을일괄로처리하며사용채널로지정되면 D/A 변환하고자하는디지털값을설정하여프로그램에이용합니다. 펑션블록형태구분변수명 Datatype 내용 REQ 상승 Edge 에서펑션블록실행요구영역 - 이영역은쓰기펑션블록의실행을요구하는영역입니다. - 프로그램수행중이영역에접속된조건이성립되어 0 1 로변할때 ( ) 쓰기펑션블록이실행됩니다. NET_ NO USINT 펑션블록이전송될자국의통신모듈이장착된슬롯위치번호 - 설정범위 : 0 ~ 7 ST_N O USINT 리모트 I/O 국에장착된통신모듈의국번 - 설정범위 : 0 ~ 63 입력 BASE USINT 베이스모듈위치번호 - D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. - 설정범위 : 0 ~ 3 SLOT USINT 슬롯위치번호 - D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. - 설정범위 : 0 ~ 7 CH DATA [Array] 주 1 INT [Array] 주 1 사용채널지정영역 - 사용하는채널을지정하는영역입니다. - 사용하는채널 1, 사용하지않는채널은 0 으로지정합니다. D/A 변환값입력영역 - 채널의입력디지털데이터를설정하는영역입니다. NOR 펑션블록실행이에러없이종료된경우 1 이출력되고, 실행조건이성립된스캔동안 1 을유지하고다음스캔에서 0 이됩니다. 출력 ERR STAT USINT 에러정보표시영역 - 쓰기펑션블록실행중에러가발생되면 1 이출력되어운전정지상태가되고, 실행조건이성립된스캔동안 1 을유지하며다음스캔에서 0 이됩니다. 에러상태표시영역 - 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. - 에러내용은 4.4 항을참조하여주십시오. ACT [Array] 주 1 운전채널표시영역 - 쓰기펑션블록이에러없이실행된후지정된채널이정상이면 1 이출력되고, 운전지정이안된채널은 0 이출력됩니다. 알아두기 주 1 Array 의수는 G3F DA4V 와 G3F DA4I : 16, G4F DA1A : 2 입니다. 제 3 장 GLOFA-GM 프로그래밍 3-10 LS 산전연수원

142 2) G3F-DA3V / G3F-DA3I : DAR33WR,G4F-DA3V / G4F-DA3I : DAR3WR, G4F-DA2V / G4F-DA2I : DAR2WR 펑션블록형태구분변수명 Datatype 내용 G3F-DA3V/DA3I G4F-DA3V/DA3I DAR3WR REQ NDR NET_ NO ST_N O BASE SLOT DATA G4F-DA2V G4F-DA2I DAR2WR REQ NDR NET_ NO ST_N O BASE SLOT DATA ERR STAT ERR STAT 입력 출력 REQ NET_ NO ST_NO BASE SLOT DATA NDR ERR STAT USINT USINT USINT USINT INT [Array] USINT 상승 Edge에서펑션블록실행요구영역 이영역은쓰기펑션블록의실행을요구하는영역입니다. 프로그램수행중이영역에접속된조건이성립되어 0 1 로변할때 ( 상승 Edge) 쓰기펑션블록이실행됩니다. 펑션블록이전송될자국의통신모듈이장착된슬롯위치번호 설정범위 : 0 7 리모트 I/O국에장착된통신모듈의국번 설정범위 : 0 63 베이스위치번호 D/A 변환모듈이장착된베이스의번호를쓰는영역입니다. 설정범위 : 0 3 슬롯의위치번호 D/A 변환모듈이장착된슬롯의번호를쓰는영역입니다. 설정범위 : 0 7 D/A 변환값입력영역 채널의입력디지털데이터를설정하는영역입니다. 설정범위 : Array의수는 G3F-DA3V/DA3I,G4F-DA3V/DA3I는 8, G4F-DA2V 와 G4F-DA2I는 4입니다. 펑션블록실행이에러없이종료된경우 1 이출력되고, 실행조건이성립된스켄동안 1 을유지하고다음스켄에서 0 이됩니다. 에러정보표시영역 쓰기펑션블록실행중에러가발생되면 1 이출력되어운전정지상태가되고, 실행조건이성립된스켄동안 1 을유지하며, 다음스켄에서 0 이됩니다. 에러상태표시영역 쓰기펑션블록실행중에러가발생되면에러번호를출력하는영역입니다. 에러내용은 4.4항을참조하여주십시오. 제 3 장 GLOFA-GM 프로그래밍 3-11 LS 산전연수원

143 3.6 펑션블록상의에러종류 출력변수 STAT 에나타나는에러종류및조치방법에대해서설명합니다. STAT 번호 구분내용 초기화 펑션블록 쓰기조치방법 Array 형단일형 0 정상동작중 - 1 베이스의위치가설정범위초과 2 해당베이스의 H/W 에러 3 슬롯의위치번호가설정범위초과 설정범위내로수정 (4.2 항참조 ) A/S 의뢰 D/A 변환모듈이장착된올바른슬롯번호지정 4 로컬 지정한슬롯에 D/A 변환모듈이비어있음 지정된슬롯에 D/A 변환모듈을장착 5 D/A 변환모듈이아닌다른모듈이장착되어있음 지정된슬롯에 D/A 변환모듈을장착 6 채널번호가설정범위초과 - - 사용채널지정을바르게설정 7 D/A 변환모듈의 H/W 에러 A/S 의뢰 8 D/A 변환모듈의공용메모리에러 A/S 의뢰 9 초기화펑션블록에서사용채널미지정 - 초기화펑션블록에서사용채널바르게지정 10 테스트모드 테스트모드에서노멀모드로전환 128 리모트용통신모듈의 H/W 에러 리모트통신모듈사용설명서참조 129 베이스의위치가설정범위초과 설정범위내로수정 (4.2 항참조 ) 131 슬롯의위치번호가설정범위초과 D/A 변환모듈이장착된올바른슬롯번호지정 D/A 변환모듈이아닌다른모듈이 133 장착되어있음리모트 지정된슬롯에 D/A 변환모듈을장착 135 D/A 변환모듈의 H/W 에러 A/S 의뢰 D/A 변환모듈의공용메모리에러 A/S 의뢰 137 초기화펑션블록에서사용채널미지정 - 초기화펑션블록에서사용채널바르게지정 138 테스트모드 테스트모드에서노멀모드로전환 제 3 장 GLOFA-GM 프로그래밍 3-12 LS 산전연수원

144 제 4 장프로그램예제 (GLOFA-GM 용 ) 4.1 5단계의아날로그출력전압으로인버터의속도를제어하는프로그램 1) 시스템구성 슬롯 0 슬롯 1 GM3 PA1A GM3 CPUA G3I D24A G3F DA3V D/A 변환초기설정 о (%I0.0.0) 디지털값 2000 입력о (%I0.0.1) 디지털값 2500 입력о (%I0.0.2) 디지털값 3000 입력о (%I0.0.3) 디지털값 3500 입력о (%I0.0.4) 디지털값 4000 입력о (%I0.0.5) о о о о о о AC220V3φ 인버터 M 유도형모터 2) 초기설정내용 (1) 사용채널 : 채널 0 3) 프로그램설명 (1) %I0.0.0 이 On 되면 D/A 변환초기설정을한다. (2) %I0.0.1 이 On 되면채널 0 에 2000(5V) 을출력한다. (3) %I0.0.2 가 On 되면채널 0 에 2500(6.25V) 을출력한다. (4) %I0.0.3 이 On 되면채널 0 에 3000(7.5V) 을출력한다. (5) %I0.0.4 이 On 되면채널 0 에 3500(8.75V) 을출력한다. (6) %I0.0.5 이 On 되면채널 0 에 4000(10V) 을출력한다. 제 4 장프로그램예제 (GLOFA-GM) 4-1 LS 산전연수원

145 4) 프로그램 채널 0 의디지털입력값을 2000 으로설정 기동조건 채널 0 의디지털입력값을 2500 으로설정 기동조건 채널 0 의디지털입력값을 3000 으로설정 기동조건 기동조건 채널 0 의디지털입력값을 3500 으로설정 채널 0 의디지털입력값을 4000 으로설정 기동조건및초기설정 장착된베이스의번호 장착된슬롯번호 사용할채널지정 설정된디지털데이터입력 5) 프로그램에사용된입출력변수 제 4 장프로그램예제 (GLOFA-GM) 4-2 LS 산전연수원

146 4.2 D/A 변환값을디지털스위치로설정해서출력하는프로그램 1) 시스템구성 GM4 PA1A GM4 CPUA G4I D22A G4I D22A G4F DA3I BCD 디지털스위치 (%I0.0.0~%I0.0.15) о о о о о D/A 변환모듈초기설정 (%I0.1.0) о 채널 0 디지털값입력 (%I0.1.1) о 채널 1 디지털값입력 (%I0.1.2) о 채널 0, 채널 1, 디지털값 0 입력 (%I0.1.3) 2) 초기설정내용 (1) 사용채널지정 : 채널 0, 1 3) 프로그램설명 (1) %I 이 On 되면 D/A 변환모듈을초기화합니다. (2) %I0.1.1 이 On 되면 BCD 디지털스위치로입력된수치가 D/A 변환모듈의채널 0 로출력됩니다. (3) %I0.1.2 이 On 되면 BCD 디지털스위치로입력된수치가 D/A 변환모듈의채널 1 로출력됩니다. (4) %I0.1.3 이 On 되면채널 0 과채널 1 의디저털입력값을 0 으로초기화시킵니다. 제 4 장프로그램예제 (GLOFA-GM) 4-3 LS 산전연수원

147 4) 프로그램 BCD 디지털스위치에서입력되는값이 BCD 이므로 D/A 변환모듈의채널 0 과 1 에서디지털입력값으로사용하기위해 INT 로변환하는프로그램 채널 0 에 BCD 디지털스위치에서입력되는값을 D/A 변환모듈의디지털입력전달 채널 1 에 BCD 디지털스위치에서입력되는값을 D/A 변환모듈의디지털입력전달 채널 0 과채널 1 의디지털입력값을 0 으로 기동조건및초기설정장착된베이스의번호지정 2 장착된슬롯의번호지정 설정된디지털데이터입력 5) 프로그램에사용된입출력변수 제 4 장프로그램예제 (GLOFA-GM) 4-4 LS 산전연수원

148 4.3 리모트 I/O 국에 D/A 변환모듈을장착할때의프로그램 D/A 변환값을디지털스위치로설정해서출력하는프로그램 1) 시스템구성 GM4 PA1A GM4 CPUA G4L FUEA G4I D22A G4I D22A о о BCD 디지털스위치값을 D/A 변환모듈의디지털값으로설정 (%I0.2.0) BCD 디지털스위치 GM4- PA1A 리모트의국번호 0 슬롯 0 G4L- RBEA G4F- DA2V (%I0.1.0 ~ %I0.1.15) 2) 프로그램설명 (1) %I0.2.0 이 On 되면디지털스위치로설정한값을 D/A 변환모듈의채널 0 에출력합니다. 제 4 장프로그램예제 (GLOFA-GM) 4-5 LS 산전연수원

149 3) 프로그램설명 BCD 디지털스위치에서입력된 BCD 값을 INT 로데이터변환 데이터변환된값을채널 0 의디지털값으로입력 기동조건 쓰기펑션블록이동작되지않았을때실행요구 자국통신모듈의슬롯위치번호 쓰기펑션블록처리중에러정보표시 리모트국의국번 장착된베이스의번호지정 쓰기펑션블록처리중에러정보발생시에러종류표시 상대국의 Live 정보로서정상동작중에는 On 되어있고, 고장 / 전원다운시 Off 됨 상대국의정전정보로서고장 / 전원다운에서복구시 On 되며이는사용자프로그램에서 Off 할때까지 On 을유지함 4) 프로그램에사용된입출력변수설명 제 4 장프로그램예제 (GLOFA-GM) 4-6 LS 산전연수원

150 4.4 예제프로그램실습 제 4 장프로그램예제 (GLOFA-GM) 4-7 LS 산전연수원

151 제 4 장프로그램예제 (GLOFA-GM) 4-8 LS 산전연수원

152 부 록 부록 A. 플래그일람표 부록 B. GLOFA-GM 명령어집 부록 C. 태스크프로그램

153 부록 A. 플래그일람표

154 부록 A. 플래그일람표 ( 예약변수 ) 1. 예약변수 예약변수는시스템에서미리선언한변수들입니다. 이변수들은특수한용도로사용하며, 사용자가이변수이름으로변수선언을할수는없습니다. 이예약변수를사용할때에는변수선언없이사용합니다. 1) 사용자플래그예약변수 데이터타입 내 용 _ERR 연산에러접점 _LER 연산에러래치접점 _T20MS 20 ms 클럭접점 _T100MS 100 ms 클럭접점 _T200MS 200 ms 클럭접점 _T1S 1 초클럭접점 _T2S 2 초클럭접점 _T10S 10 초클럭접점 _T20S 20 초클럭접점 _T60S 60 초클럭접점 _ON 항시 On 접점 _OFF 항시 Off 접점 _1ON 1 스캔 On 접점 _1OFF 1 스캔 Off 접점 _STOG 스캔마다반전 _INIT_DONE 초기화프로그램완료 _RTC_DATE DATE RTC 의현재날짜 _RTC_TOD TOD RTC 의현재시간 _RTC_WEEK UINT RTC 의현재요일 부록 A. 플래그일람표부 1-1 LS 산전연수원

155 2) 시스템에러대표플래그 예약변수 데이터타입 내 용 _CNF_ER WORD 시스템의에러 ( 중고장 ) _CPU_ER CPU 구성에러 _IO_TYER 모듈타입불일치에러 _IO_DEER 모듈착탈에러 _FUSE_ER Fuse 단선에러 _IO_RWER 입출력모듈읽기 / 쓰기에러 ( 고장 ) _SP_IFER 특수 / 통신모듈인터페이스에러 ( 고장 ) _ANNUN_ER 외부기기의중고장검출에러 _WD_ER Scan Watch-Dog 에러 _CODE_ER 프로그램코드에러 _STACK_ER Stack Overflow 에러 _P_BCK_ER 프로그램에러 3) 시스템에러해제플래그 예약변수 데이터타입 내 용 _CNF_ER_M BYTE 시스템에러 ( 중고장 ) 해제 _IO_DEER_M 모듈착탈에러해제 _FUSE_ER_M 퓨즈단선에러해제 _IO_RWER_M 입출력모듈읽기 / 쓰기에러해제 _SP_IFER_M 특수 / 통신모듈인터페이스에러해제 _ANNUN_ER_M 외부기기의중고장검출에러해제 4) 시스템경고대표플래그 예약변수 데이터타입 내 용 _CNF_WAR WORD 시스템의경고 ( 경고장 ) _RTC_ERR RTC 데이터이상 _D_BCK_ER 데이터백업에러 _H_BCK_ER 핫리스타트수행불가에러 _AB_SD_ER 비정상전원차단 (Abnormal Shutdown) _TASK_ERR 태스크 (Task) 충돌 ( 정주기, 외부태스크 ) _BAT_ERR 배터리이상 _ANNUN_WR 외부기기의경고장검출 부록 A. 플래그일람표부 1-2 LS 산전연수원

156 예약변수 데이터타입 내 용 _HSPMT1_ER 고속링크파라미터 1 이상 _HSPMT2_ER 고속링크파라미터 2 이상 _HSPMT3_ER 고속링크파라미터 3 이상 _HSPMT4_ER 고속링크파라미터 4 이상 5) 시스템에러상세플래그 예약변수 데이터타입 내 용 _IO_TYER_N UINT 모듈타입불일치슬롯넘버 _IO_TYERR ARRAY OF BYTE 모듈타입불일치위치 _IO_DEER_N UINT 모듈착탈슬롯넘버 _IO_DEERR ARRAY OF BYTE 모듈착탈위치 _FUSE_ER_N UINT Fuse 단선슬롯넘버 _FUSE_ERR ARRAY OF BYTE Fuse 단선슬롯위치 _IO_RWER_N UINT 입출력모듈읽기 / 쓰기에러슬롯넘버 _IO_RWERR ARRAY OF BYTE 입출력모듈읽기 / 쓰기에러슬롯위치 _IP_IFER_N UINT 특수 / 링크모듈인터페이스에러슬롯넘버 _IP_IFERR ARRAY OF BYTE 특수 / 링크모듈인터페이스에러슬롯위치 _ANC_ERR ARRAY OF UINT 외부기기의중고장검출 _ANC_WAR ARRAY OF UINT 외부기기의경고장검출 _ANC_WB ARRAY OF BIT 외부기기의경고장검출비트 Map _TC_BMAP ARRAY OF BYTE 태스크충돌표시 _TC_CNT UINT 태스크충돌카운터 _BAT_ER_TM DT 배터리전압저하시각 _AC_F_CNT UINT 전원차단카운터 _AC_F_TM ARRAY OF DT 순시정전이력 부록 A. 플래그일람표부 1-3 LS 산전연수원

157 6) 시스템운전상태정보 예약변수 데이터타입 내 용 CPU TYPE UINT 시스템의형태 VER NUM UINT PLC O/S 버전번호 MEM TYPE UINT 메모리모듈의타입 SYS STATE WORD PLC 모드및상태 GMWIN CN BYTE PADT 연결상태 RST TY BYTE 리스타트모드정보 INIT RUN BIT 초기화수행중 SCAN MAX UINT 최장스캔시간 (ms) SCAN MIN UINT 최단스캔시간 (ms) SCAN CUR UINT 현재스캔시간 (ms) STSK NUM UINT 실행시간확인을요하는태스크넘버 STSK MAX UINT 최장태스크실행시간 (ms) STSK MIN UINT 최단태스크실행시간 (ms) STSK CUR UINT 현재태스크실행시간 (ms) RTC TIME ARRAY OF BYTE 현재시각 SYS ERR UINT 이상종류 7) 통신모듈정보플래그 [n 은통신모듈이장착되어있는슬롯번호에해당 (n = 0 ~ 7)] 예약변수 데이터타입 내 용 _CnVERNO UINT 통신모듈의버젼 No. _CnSTNOH _CnSTNOL UINT 통신모듈의국번 _CnTXECNT UINT 통신프레임전송에러 _CnRXECNT UINT 통신프레임수신에러 _CnSVCFCNT UINT 통신서비스처리에러 _CnSCANMX UINT 통신스캔타임최대 (1ms 단위 ) _CnSCANAV UINT 통신스캔타임평균 (1ms 단위 ) _CnSCANMN UINT 통신스캔타임최소 (1ms 단위 ) _CnLINF UINT 통신모듈시스템정보 _CnCRDER 통신모듈의시스템에러 ( 에러 = 1) _CnSVBSY 공용 RAM 자원부족 ( 부족 =1) _CnIFERR 인터페이스에러 ( 에러 = 1) _CnINRING 통신참여 (IN_RING = 1) 부록 A. 플래그일람표부 1-4 LS 산전연수원

158 8) 리모트 I/O 제어플래그 [m 은통신모듈이장착되어있는슬롯번호에해당 (m = 0 ~ 7)] 예약변수 데이터타입 내 용 _FSMm_reset (Write 가능 ) 리모트 I/O 국리셋제어 ( 리셋 =1) _FSMm_io_reset (Write 가능 ) 리모트 I/O 국의출력접점리셋제어 ( 리셋 =1) _FSMm_st_no USINT(Write 가능 ) 해당리모트 I/O 국의국번호 9) 고속링크정보상세플래그 [m 은고속링크파라미터의번호 (m = 1,2,3,4) 에해당 ] 예약변수데이터타입내용 _HSmRLINK BIT 고속링크의 RUN_LINK 정보 _HSmLTRBL BIT 고속링크의비정상정보 (Link Trouble) _HSmSTATE ARRAY OF BIT 고속링크의파라미터에서 k 데이터블록의종합적통신상태정보 _HSmMOD ARRAY OF BIT 고속링크의파라미터에서 k 데이터블록에설정된국의모드정보 (Run = 1, 이외 = 0) _HSmTRX ARRAY OF BIT 고속링크의파라미터에서 k 데이터블록의통신상태정보 ( 정상 = 1, 비정상 = 0) _HSmERR ARRAY OF BIT 고속링크의파라미터에서 k 데이터블록에설정된국의상태정보 ( 정상 = 0, 에러 = 1) 부록 A. 플래그일람표부 1-5 LS 산전연수원

159 2. 예약어 예약어는시스템에서사용하기위해미리정의한단어들입니다. 따라서식별자로이예약어를사용할수없습니다. 예약어 ACTION... END_ACTION ARRAY... OF AT CASE... OF... ELSE... END_CASE CONFIGURATION... END_CONFIGURATION 데이터타입이름 DATE#, D# DATE_AND_TIME#, DT# EXIT FOR... TO... BY... DO... END_FOR FUNCTION... END_FUNCTION FUNCTION_BLOCK... END_FUNCTION_BLOCK 펑션블록의이름들 IF... THEN... ELSIF... ELSE... END_IF OK 연산자 (IL 언어 ) 연산자 (ST 언어 ) PROGRAM PROGRAM... END_PROGRAM REPEAT... UNTIL... END_REPEAT RESOURCE... END_RESOURCE RETAIN RETURN STEP... END_STEP STRUCTURE... END_STRUCTURE T# TASK... WITH TIME_OF_DAY#, TOD# TRANSITION... FROM... TO... END_TRANSITION TYPE... END_TYPE VAR... END_VAR VAR_INPUT... END_VAR VAR_OUTPUT... END_VAR VAR_IN_OUT... END_VAR VAR_EXTERNAL... END_VAR VAR_ACCESS... END_VAR VAR_GLOBAL... END_VAR WHILE... DO... END_WHILE WITH 부록 A. 플래그일람표부 1-6 LS 산전연수원

160 부록 B. GLOFA-GM 명령어집

161 제 1 장. 펑션및펑션블록일람표 펑션과펑션블록에대한목록요약입니다. 각각의펑션과펑션블록에대해서는 8. 기본펑션, 펑션블록라이브러리를참고하십시오 기본펑션 타입변환펑션각각의입력데이터타입을출력데이터타입으로변환합니다. 펑션그룹 ARY_ASC_TO_*** 펑션이름 입력데이터타입 출력데이터타입 적용기종 GMR~2 GM3 GM4~7 ARY_ASC_TO_BYTE WORD(ASCII) BYTE ARY_ASC_TO_BCD WORD(ASCII) BYTE(BCD) ARY_BYTE_TO_*** ARY_BYTE_TO_ASC BYTE WORD(ASCII) ARY_BCD_TO_*** ARY_BCD_TO_ ASC BYTE(BCD) WORD(ASCII) ASC_TO_*** BCD_TO_*** TRUNC REAL_TO_*** LREAL_TO_*** ASC_TO_BCD BYTE(BCD) USINT ASC_TO_BYTE WORD(BCD) UINT BCD_TO_SINT BYTE(BCD) SINT BCD_TO_INT WORD(BCD) INT BCD_TO_DINT DWORD(BCD) DINT BCD_TO_LINT LWORD(BCD) LINT BCD_TO_USINT BYTE(BCD) USINT BCD_TO_UINT WORD(BCD) UINT BCD_TO_UDINT DWORD(BCD) UDINT BCD_TO_ULINT LWORD(BCD) ULINT BCD_TO_ASC BYTE(BCD) WORD TRUNC REAL DINT LREAL LINT REAL_TO_SINT REAL SINT REAL_TO_INT REAL INT REAL_TO_DINT REAL DINT REAL_TO_LINT REAL LINT REAL_TO_USINT REAL USINT REAL_TO_UINT REAL UINT REAL_TO_UDINT REAL UDINT REAL_TO_ULINT REAL ULINT REAL_TO_DWORD REAL DWORD REAL_TO_LREAL REAL LREAL LREAL_TO_SINT LREAL SINT LREAL_TO_INT LREAL INT LREAL_TO_DINT LREAL DINT LREAL_TO_LINT LREAL LINT LREAL_TO_USINT LREAL USINT 제 1 장펑션및펑션블록일람표부 1-1 LS 산전연수원

162 펑션그룹 LREAL_TO_*** SINT_TO_*** INT_TO_*** 펑션이름 입력데이터출력데이터적용기종타입타입 GMR~2 GM3 GM4~7 LREAL_TO_UINT LREAL UINT LREAL_TO_UDINT LREAL UDINT LREAL_TO_ULINT LREAL ULINT LREAL_TO_LWORD LREAL LWORD LREAL_TO_REAL LREAL REAL SINT_TO_INT SINT INT SINT_TO_DINT SINT DINT SINT_TO_LINT SINT LINT SINT_TO_USINT SINT USINT SINT_TO_UINT SINT UINT SINT_TO_UDINT SINT UDINT SINT_TO_ULINT SINT ULINT SINT_TO_ SINT SINT_TO_BYTE SINT BYTE SINT_TO_WORD SINT WORD SINT_TO_DWORD SINT DWORD SINT_TO_LWORD SINT LWORD SINT_TO_BCD SINT BYTE(BCD) SINT_TO_REAL SINT REAL SINT_TO_LREAL SINT LREAL INT_TO_SINT INT SINT INT_TO_DINT INT DINT INT_TO_LINT INT LINT INT_TO_USINT INT USINT INT_TO_UINT INT UINT INT_TO_UDINT INT UDINT INT_TO_ULINT INT ULINT INT_TO_ INT INT_TO_BYTE INT BYTE INT_TO_WORD INT WORD INT_TO_DWORD INT DWORD INT_TO_LWORD INT LWORD INT_TO_BCD INT WORD(BCD) INT_TO_REAL INT REAL INT_TO_LREAL INT LREAL 제 1 장펑션및펑션블록일람표부 1-2 LS 산전연수원

163 펑션그룹 DINT_TO_*** LINT_TO_*** USINT_TO_*** 펑션이름 입력데이터출력데이터적용기종타입타입 GMR~2 GM3 GM4~7 DINT_TO_SINT DINT SINT DINT_TO_INT DINT INT DINT_TO_LINT DINT LINT DINT_TO_USINT DINT USINT DINT_TO_UINT DINT UINT DINT_TO_UDINT DINT UDINT DINT_TO_ULINT DINT ULINT DINT_TO_ DINT DINT_TO_BYTE DINT BYTE DINT_TO_WORD DINT WORD DINT_TO_DWORD DINT DWORD DINT_TO_LWORD DINT LWORD DINT_TO_BCD DINT DWORD(BCD) DINT_TO_REAL DINT REAL DINT_TO_LREAL DINT LREAL LINT_TO_SINT LINT SINT LINT_TO_INT LINT INT LINT_TO_DINT LINT DINT LINT_TO_USINT LINT USINT LINT_TO_UINT LINT UINT LINT_TO_UDINT LINT UDINT LINT_TO_ULINT LINT ULINT LINT_TO_ LINT LINT_TO_BYTE LINT BYTE LINT_TO_WORD LINT WORD LINT_TO_DWORD LINT DWORD LINT_TO_LWORD LINT LWORD LINT_TO_BCD LINT LWORD(BCD) LINT_TO_REAL LINT REAL LINT_TO_LREAL LINT LREAL USINT_TO_SINT USINT SINT USINT_TO_INT USINT INT USINT_TO_DINT USINT DINT USINT_TO_LINT USINT LINT USINT_TO_UINT USINT UINT USINT_TO_UDINT USINT UDINT USINT_TO_ULINT USINT ULINT USINT_TO_ USINT USINT_TO_BYTE USINT BYTE USINT_TO_WORD USINT WORD USINT_TO_DWORD USINT DWORD USINT_TO_LWORD USINT LWORD 제 1 장펑션및펑션블록일람표부 1-3 LS 산전연수원

164 펑션그룹 USINT_TO_*** UINT_TO_*** UDINT_TO_*** ULINT_TO_*** 펑션이름 입력데이터출력데이터적용기종타입타입 GMR~2 GM3 GM4~7 USINT_TO_BCD USINT BYTE(BCD) USINT_TO_REAL USINT REAL USINT_TO_LREAL USINT LREAL UINT_TO_SINT UINT SINT UINT_TO_INT UINT INT UINT_TO_DINT UINT DINT UINT_TO_LINT UINT LINT UINT_TO_USINT UINT USINT UINT_TO_UDINT UINT UDINT UINT_TO_ULINT UINT ULINT UINT_TO_ UINT UINT_TO_BYTE UINT BYTE UINT_TO_WORD UINT WORD UINT_TO_DWORD UINT DWORD UINT_TO_LWORD UINT LWORD UINT_TO_BCD UINT WORD(BCD) UINT_TO_REAL UINT REAL UINT_TO_LREAL UINT LREAL UINT_TO_DATE UINT DATE UDINT_TO_SINT UDINT SINT UDINT_TO_INT UDINT INT UDINT_TO_DINT UDINT DINT UDINT_TO_LINT UDINT LINT UDINT_TO_USINT UDINT USINT UDINT_TO_UINT UDINT UINT UDINT_TO_ULINT UDINT ULINT UDINT_TO_ UDINT UDINT_TO_BYTE UDINT BYTE UDINT_TO_WORD UDINT WORD UDINT_TO_DWORD UDINT DWORD UDINT_TO_LWORD UDINT LWORD UDINT_TO_BCD UDINT DWORD(BCD) UDINT_TO_REAL UDINT REAL UDINT_TO_LREAL UDINT LREAL UDINT_TO_TOD UDINT TOD UDINT_TO_TIME UDINT TIME ULINT_TO_SINT ULINT SINT ULINT_TO_INT ULINT INT ULINT_TO_DINT ULINT DINT ULINT_TO_LINT ULINT LINT ULINT_TO_USINT ULINT USINT ULINT_TO_UINT ULINT UINT 제 1 장펑션및펑션블록일람표부 1-4 LS 산전연수원

165 펑션그룹 ULINT_TO_*** _TO_*** BYTE_TO_*** WORD_TO_*** 펑션이름 입력데이터출력데이터적용기종타입타입 GMR~2 GM3 GM4~7 ULINT_TO_UDINT ULINT UDINT ULINT_TO_ ULINT ULINT_TO_BYTE ULINT BYTE ULINT_TO_WORD ULINT WORD ULINT_TO_DWORD ULINT DWORD ULINT_TO_LWORD ULINT LWORD ULINT_TO_BCD ULINT LWORD(BCD) ULINT_TO_REAL ULINT REAL ULINT_TO_LREAL ULINT LREAL _TO_SINT SINT _TO_INT INT _TO_DINT DINT _TO_LINT LINT _TO_USINT USINT _TO_UINT UINT _TO_UDINT UDINT _TO_ULINT ULINT _TO_BYTE BYTE _TO_WORD WORD _TO_DWORD DWORD _TO_LWORD LWORD _TO_STRING STRING BYTE_TO_SINT BYTE SINT BYTE_TO_INT BYTE INT BYTE_TO_DINT BYTE DINT BYTE_TO_LINT BYTE LINT BYTE_TO_USINT BYTE USINT BYTE_TO_UINT BYTE UINT BYTE_TO_UDINT BYTE UDINT BYTE_TO_ULINT BYTE ULINT BYTE_TO_ BYTE BYTE_TO_WORD BYTE WORD BYTE_TO_DWORD BYTE DWORD BYTE_TO_LWORD BYTE LWORD BYTE_TO_STRING BYTE STRING BYTE_TO_ASC BYTE WORD(ASCII) WORD_TO_SINT WORD SINT WORD_TO_INT WORD INT WORD_TO_DINT WORD DINT WORD_TO_LINT WORD LINT WORD_TO_USINT WORD USINT WORD_TO_UINT WORD UINT 제 1 장펑션및펑션블록일람표부 1-5 LS 산전연수원

166 펑션그룹 WORD_TO_*** DWORD_TO_*** LWORD_TO_*** LWORD_TO_*** STRING_TO_*** 펑션이름 입력데이터출력데이터적용기종타입타입 GMR~2 GM3 GM4~7 WORD_TO_UDINT WORD UDINT WORD_TO_ULINT WORD ULINT WORD_TO_ WORD WORD_TO_BYTE WORD BYTE WORD_TO_DWORD WORD DWORD WORD_TO_LWORD WORD LWORD WORD_TO_DATE WORD DATE WORD_TO_STRING WORD STRING DWORD_TO_SINT DWORD SINT DWORD_TO_INT DWORD INT DWORD_TO_DINT DWORD DINT DWORD_TO_LINT DWORD LINT DWORD_TO_USINT DWORD USINT DWORD_TO_UINT DWORD UINT DWORD_TO_UDINT DWORD UDINT DWORD_TO_ULINT DWORD ULINT DWORD_TO_ DWORD DWORD_TO_BYTE DWORD BYTE DWORD_TO_WORD DWORD WORD DWORD_TO_LWORD DWORD LWORD DWORD_TO_REAL DWORD REAL DWORD_TO_TIME DWORD TIME DWORD_TO_TOD DWORD TOD DWORD_TO_STRING DWORD STRING LWORD_TO_SINT LWORD SINT LWORD_TO_INT LWORD INT LWORD_TO_DINT LWORD DINT LWORD_TO_LINT LWORD LINT LWORD_TO_USINT LWORD USINT LWORD_TO_UINT LWORD UINT LWORD_TO_UDINT LWORD UDINT LWORD_TO_ULINT LWORD ULINT LWORD_TO_ LWORD LWORD_TO_BYTE LWORD BYTE LWORD_TO_WORD LWORD WORD LWORD_TO_DWORD LWORD DWORD LWORD_TO_LREAL LWORD LREAL LWORD_TO_DT LWORD DT LWORD_TO_STRING LWORD STRING STRING _TO_SINT STRING SINT STRING _TO_INT STRING INT STRING _TO_DINT STRING DINT 제 1 장펑션및펑션블록일람표부 1-6 LS 산전연수원

167 펑션그룹 펑션이름 입력데이터출력데이터적용기종타입타입 GMR~2 GM3 GM4~7 STRING _TO_LINT STRING LINT STRING _TO_USINT STRING USINT STRING _TO_UINT STRING UINT STRING _TO_UDINT STRING UDINT STRING _TO_ULINT STRING ULINT STRING _TO_ STRING STRING _TO_BYTE STRING BYTE STRING_TO_*** STRING _TO_WORD STRING WORD STRING _TO_DWORD STRING DWORD STRING _TO_LWORD STRING LWORD STRING _TO_REAL STRING REAL STRING _TO_LREAL STRING LREAL STRING _TO_DT STRING DT STRING _TO_DATE STRING DATE STRING _TO_TOD STRING TOD STRING _TO_TIME STRING TIME NUM_TO_STRING NUM_TO_STRING ANY_NUM STRING TIME_TO_UDINT TIME UDINT TIME_TO_*** TIME_TO_DWORD TIME DWORD TIME_TO_STRING TIME STRING DATE_TO_UINT DATE UINT DATE_TO_*** DATE_TO_WORD DATE WORD DATE_TO_STRING DATE STRING TOD_TO_UDINT TOD UDINT TOD_TO_*** TOD_TO_DWORD TOD DWORD TOD_TO_STRING TOD STRING DT_TO_LWORD DT LWORD DT_TO_*** DT_TO_DATE DT DATE DT_TO_TOD DT TOD DT_TO_STRING DT STRING 제 1 장펑션및펑션블록일람표부 1-7 LS 산전연수원

168 수치연산펑션 하나의입력을갖는수치연산펑션 GMR, GM1, GM2 에서만지원됩니다.(ABS 는 GM3, GM4, GM6, GM7 에서도지원됩니다.) No. 펑션이름 기 능 일반펑션 1 ABS 절대값연산 (Absolute Value) 2 SQRT 제곱근연산 (Square Root) 로그펑션 3 LN 자연대수연산 (Natural Logarithm) 4 LOG 상용대수연산 (Logarithm Base To 1 ) 5 EXP 자연지수연산 (Natural Exponential) 삼각펑션 6 SIN 사인값연산 (Sine) 7 COS 코사인값연산 (Cosine) 8 TAN 탄젠트값연산 (Tangent) 9 ASIN 아크사인값연산 (Arc Sine) 10 ACOS 아크코사인값연산 (Arc Cosine) 11 ATAN 아크탄젠트값연산 (Arc Tangent) 각도펑션 12 RAD_REAL 각도의단위를 ( ) 에서라디안 (Radian) 으로변환 13 RAD_LREAL 14 DEG_REAL 라디안 (Radian) 값을각도 ( ) 로변환 15 DEG_LREAL 기본수치연산펑션 EXPT 는 GMR,GM1, GM2 에서만지원됩니다..(XCHG_*** 는 GM3,GM4,GM6,GM7 에서도지원됩니다.) No. 펑션이름 기 능 입력개수를확장할수있는연산펑션 ( 단,n은 8까지가능 ) 1 ADD 더하기 (OUT <= IN1 + IN INn) 2 MUL 곱하기 OUT <= IN1 * IN2 *... * INn) 입력개수가일정한연산펑션 3 SUB 빼기 (OUT <= IN1 - IN2) 4 DIV 나누기 (OUT <= IN1 / IN2) 5 MOD 나머지구하기 (OUT <= IN1 Modulo IN2) 6 EXPT 지수연산 (OUT <= IN1 IN2 ) 7 MOVE 데이터복사 (OUT <= IN) 입력데이터값교환 8 XCHG_*** 입력데이터값을서로교환 제 1 장펑션및펑션블록일람표부 1-8 LS 산전연수원

169 비트열펑션 비트시프트펑션 No. 펑션이름 기 능 1 SHL 입력을 N 비트왼쪽으로이동 ( 오른쪽은 0 으로채움 ) 2 SHR 입력을 N 비트오른쪽으로이동 ( 왼쪽은 0 으로채움 ) 3 SHIFT_C_*** 입력을 N 비트만큼지정된방향으로이동 (Carry 발생 ) 4 ROL 입력을 N 비트왼쪽으로회전 5 ROR 입력을 N 비트오른쪽으로회전 6 ROTATE_C_*** 입력을 N 비트만큼지정된방향으로회전 (Carry 발생 ) 비트연산펑션 No. 펑션이름 기 능 ( 단, n은 8까지가능 ) 1 AND 논리곱 (OUT <= IN1 AND IN2 AND... AND INn) 2 OR 논리합 (OUT <= IN1 OR IN2 OR... OR INn) 3 XOR 배타적논리합 (OUT <= IN1 XOR IN2 XOR... XOR INn) 4 NOT 논리반전 (OUT <= NOT IN1) 선택펑션 No. 펑션이름 기 능 ( 단, n은 8까지가능 ) 1 SEL 입력 IN0 와 IN1 중에선택하여출력 2 MAX 입력 IN1,...INn 중에최대값출력 3 MIN 입력 IN1,...INn 중에최소값출력 4 LIMIT 상하한제한값출력 5 MUX 입력 IN0,... INn 중 K 번째입력을출력 데이터교환펑션 No. 펑션이름 기 능 1 SWAP_BYTE BYTE 의상 하위 Nibble 을교환하여줄력 SWAP_WORD WORD 의상 하위 BYTE 를교환하여줄력 SWAP_DWORD DWORD 의상 하위 WORD 를교환하여줄력 SWAP_LWORD LWORD 의상 하위 DWORD 를교환하여줄력 2 ARY_SWAP_BYTE Array 로입력된 BYTE 의상 하위 Nibble 을교환하여줄력 ARY_SWAP_WORD Array 로입력된 WORD 의상 하위 BYTE 를교환하여줄력 ARY_SWAP_DWORD Array 로입력된 DWORD 의상 하위 WORD 를교환하여줄력 ARY_SWAP_LWORD Array 로입력된 LWORD 의상 하위 DWORD 를교환하여줄력 제 1 장펑션및펑션블록일람표부 1-9 LS 산전연수원

170 비교펑션 No. 펑션이름 기 능 ( 단, n은 8까지가능 ) 1 GT 크다 비교 OUT <= (IN1>IN2) & (IN2>IN3) &... & (INn-1 > INn) 2 GE 크거나작다 비교 OUT <= (IN1>=IN2) & (IN2>=IN3) &... & (INn-1 >= INn) 3 EQ 같다 비교 OUT <= (IN1=IN2) & (IN2=IN3) &... & (INn-1 = INn) 4 LE 작거나같다 비교 OUT <= (IN1<=IN2) & (IN2<=IN3) &... & (INn-1 <= INn) 5 LT 작다 비교 OUT <= (IN1<IN2) & (IN2<IN3) &... & (INn-1 < INn) 6 NE 같지않다 비교 OUT <= (IN1<>IN2) & (IN2<>IN3) &... & (INn-1 <> INn) 문자열펑션 No. 펑션이름 기 능 1 LEN 입력문자열의길이구하기 2 LEFT 입력문자열을왼쪽으로부터 L 만큼출력 3 RIGHT 입력문자열을오른쪽으로부터 L 만큼출력 4 MID 입력문자열의 P 번째부터 L 만큼출력 5 CONCAT 입력문자열을붙여출력 6 INSERT 첫번째입력문자열의 P 번째문자뒤에두번째입력문자열을삽입하여출력 7 DELETE 입력문자열의 P 번째문자부터 L 개문자를삭제하여출력 8 REPLACE 첫번째입력문자열의 P 번째문자부터 L 개문자를두번째입력문자열으로대치하여출력 9 FIND 첫번째입력문자열중에두번째입력문자열패턴과동일한부분을찾아시작문자위치를출력 제 1 장펑션및펑션블록일람표부 1-10 LS 산전연수원

171 날짜시각펑션 No. 펑션이름 기 능 1 ADD_TIME 시간, 시각및날짜시각에시간더하기 2 SUB_TIME 시간, 시각및날짜시각에시간빼기 SUB_DATE 날짜에서날짜를빼서시간산출하기 SUB_TOD 시각에서시각을빼서시간산출하기 SUB_DT 날짜시각에서날짜시각을빼서시간산출하기 3 MUL_TIME 시간에숫자곱하기 4 DIV_TIME 시간에숫자나누기 5 CONCAT_TIME 날짜와시각을붙여서날짜시각만들기 시스템제어펑션 No. 펑션이름 기 능 1 DI 태스크프로그램기동불허 2 EI 태스크프로그램기동허가 3 STOP 프로그램에의한운전정지 4 ESTOP 프로그램에의한비상운전정지 5 DIREC_IN 입력데이터즉시갱신 (GM1- GM7에적용 ) 6 DIREC_O 출력모듈데이터즉시갱신 (GM1- GM7에적용 ) 7 WDT_RST Watch_Dog 타이머갱신 8 MCS Master Control 9 MCSCLR Master Control Clear 제 1 장펑션및펑션블록일람표부 1-11 LS 산전연수원

172 데이터조작명령펑션 No. 펑션이름 기 능 1 MEQ_*** 입력값을 Masking 한후이값들을비교 2 DIS_*** 입력값들을지정된 Bit 개수단위로출력 3 UNI_*** Array로입력된값을지정된 Bit수만큼결합 4 BIT_BYTE 8개의 Bit들을 BYTE로모음 5 BYTE_BIT BYTE를 8개의 Bit로나눔 6 BYTE_WORD 2개의 BYTE들을 WORD로모음 7 WORD_BYTE WORD를 2개의 BYTE로나눔 8 WORD_DWORD 2개의 WORD들을 DWORD로모음 9 DWORD_WORD DWORD를 2개의 WORD로나눔 10 DWORD_LWORD 2개의 DWORD들을 LWORD로모음 11 LWORD_DWORD LWORD를 2개의 DWORD로나눔 12 GET_CHAR 지정된문자열로부터한문자 (Character) 를추출 13 PUT_CHAR 지정된문자를지정된문자열에쓰기 14 STRING_TO_ARY 지정된문자열을 BYTE Array로변환 15 ARY_TO_STRING BYTE Array를지정된문자열로변환 스택연산명령펑션 No. 펑션이름 기 능 1 FIFO_*** 선입선출명령 2 LIFO_*** 후입선출명령 제 1 장펑션및펑션블록일람표부 1-12 LS 산전연수원

173 1.2. MK(MASTER-K) 펑션 No. 펑션이름 기 능 ( 단, n은 8까지가능 ) 1 ENCO_B,W,D,L ON 된비트위치를숫자로출력 2 DECO_B,W,D,L 지정된비트위치를 ON 3 BSUM_B,W,D,L ON 된비트개수를숫자로출력 4 SEG BCD 또는 HEX 값을 7 세그먼트디스플레이코드로변환 5 BMOV_B,W,D,L 비트스트링의일부분을복사, 이동 6 INC_B,W,D,L IN 데이터를하나증가 7 DEC_B,W,D,L IN 데이터를하나감소 1.3. Array 연산명령펑션 No. 펑션이름 기 능 1 ARY_MOVE Array Type 의데이터복사 (OUT <= IN) 2 ARY_CMP_*** 2 개의 Array 로입력된값을동일한값이있는지비교 3 ARY_SCH_*** Array 내에서입력된값과동일한값을찾아출력 4 ARY_FLL_*** 입력데이터값으로 Array 내부의선택영역을채움. 5 ARY_AVE_*** Array 내부의지정된영역에대하여평균값을구함 6 ARY_SFT_C_*** Array 의 Bit 들을정해진개수만큼지정된방향으로이동 7 ARY_ROT_C_*** Array 의 Bit 들을정해진개수만큼지정된방향으로회전 8 SHIFT_A_*** Array 블록중지정된범위의값들을지정된방향으로이동 9 ROTATE_A_*** Array 블록중지정된범위의값들을지정된방향으로회전 1.4. 기본펑션블록 바이스테이블펑션블록 No. 펑션블록이름 기 능 1 SR 세트우선쌍안정출력 2 RS 리세트우선쌍안정출력 3 SEMA 시스템자원제어용 Semaphore 에지검출펑션블록 No. 펑션블록이름 기 능 1 R_TRIG 상승에지검출 (Rising Edge Detector) 2 F_TRIG 하강에지검출 (Falling Edge Detector) 제 1 장펑션및펑션블록일람표부 1-13 LS 산전연수원

174 카운터 No. 펑션블록이름 기 능 1 CTU 가산카운터 (Up Counter) 2 CTD 감산카운터 (Down Counter) 3 CTUD 가감산카운터 (Up Down Counter) 4 CTR 링카운터 (Ring Counter) 타이머 No. 펑션블록이름 기 능 1 TP 펄스타이머 (Pulse Timer) 2 TON On 딜레이타이머 (On-Delay Timer) 3 TOF Off 딜레이타이머 (Off-Delay Timer) 4 TMR 적산타이머 (Integrating Timer) 5 TP_RST 펄스타이머의출력 Off가가능한노스테이블타이머 6 TRTG 리트리거블타이머 (Retriggerable Timer) 7 TOF_RST 동작중출력 Off가가능한 Off 딜레이타이머 (Off-Delay Timer) 8 TON_UNIT 정수설정 On 딜레이타이머 (On-Delay Timer) 9 TOF_UNIT 정수설정 Off 딜레이타이머 (Off-Delay Timer) 10 TP_UNIT 정수설정펄스타이머 (Pulse Timer) 11 TMR_UNIT 정수설정적산타이머 (Integrating Timer) 기타펑션블록 No. 펑션블록이름 기 능 1 SCON 순차스탭및스텝점프 2 DUTY 지정된 Scan마다 On/Off 반복 제 1 장펑션및펑션블록일람표부 1-14 LS 산전연수원

175 제 2 장. 기본펑션및펑션블록라이브러리 2.1 기본펑션라이브러리 각각의기본펑션라이브러리에대한설명입니다. 포인트 펑션에러발생시다음을참고하시어프로그램을작성하십시오. 펑션에러펑션을실행할때에러가발생하면 ENO 가 0 이되고, 에러플래그 ( _ERR, _LER ) 는 1 이됩니다. 에러가발생되지않는펑션의 ENO 는 EN 을그대로출력합니다.EN,ENO 는 LD 에서만사용합니다. 에러플래그 _ERR (Error) - 에러가명시되어있는펑션의연산후 _ERR 값은아래와같이변합니다. ( 에러가명시되어있지않은펑션은연산전의 _ERR 상태를유지합니다.) - 연산에러인경우, 1 이됩니다. - 연산에러가아닌경우, 0 이됩니다. _LER (Latched Error) - 연산후에러인경우에 1 이되고, 그값은수행중인프로그램의끝까지유지됩니다. - 프로그램에서 0 으로써넣는것이가능합니다. 프로그램예 ADD 펑션에러시 SUB 펑션을수행하지않고, VALUE1 의값을 OUT_VAL 에저장하는프로그램입니다. (1) 펑션 (ADD) 의두입력이아래와같을때, 펑션 (ADD) 는에러가발생합니다. 입력 (IN1) : VALUE1(SINT) = 100(16#64) (IN2) : VALUE2(SINT) = 50(16#32) 출력 (OUT) : OUT_VAL(SINT) = -106(16#96) (2) 출력값이출력데이타타입의범위를벗어나, 비정상적인값이 OUT_VAL(SINT) 에저장됩니다. 이때, 펑션 (ADD) 의 ENO 는 0 이되어펑션 (SUB) 는실행되지않고, 에러플래그 _ERR 과, _LER 은 On 됩니다. (3)_ERR 이 On 되어, 펑션 (MOVE) 이실행됩니다. 입력 (IN1): VALUE1(SINT) = 100(16#64) 출력 (OUT): OUT_VAL(SINT) = 100(16#64) 제 2 장기본펑션및펑션블록라이브러리부 1-1 LS 산전연수원

176 ABS 절대값연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_WORD EN IN ABS ENO OUT ANY_NUM 입력 EN : 1 일때펑션실행 IN : 절대값연산의입력값 출력 ENO 1 을출력 OUT : 절대값 IN, OUT 은같은데이터타입이어야함. 기능 IN 의값을. X 의절대값 X 는 X 0 이면 X = X 이고, X<0 이면 X = -X 입니다. OUT = IN 에러 IN 의값이 (-) 최소값일때 _ERR, _LER 플래그가셋 (Set) 됩니다. 예 ) 데이터타입이 SINT 일때 IN 의값이 -128 이면에러 프로그램예 LD (1) 실행조건 (% I0.0.0) 이 On 하면펑션 ABS 가실행됩니다. (2)VALUE = -7 이면, ABS_VALUE = -7 = 7 이됩니다. VALUE = 200 이면, ABS_VALUE = 200 = 200 이됩니다. 입력 (IN):VALUE(INT)= (ABS) (16#FFF9) 출력 (OUT):ABS_VALUE(INT)= (16#0007) INT 형의음수표시는 2 의 Complement 표현 ( 데이터타입별구조참조 ) 제 2 장기본펑션및펑션블록라이브러리부 1-2 LS 산전연수원

177 ACOS Arc Cosine 연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN ACOS ENO OUT ANY_REAL 입력 EN : 1 일때펑션실행 IN : Arc Cosine 연산의입력값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 연산결과각도출력값 (Radian) IN, OUT 은같은데이터타입이어야함. 기능 IN 의 Arc Cosine 값을구해 OUT 으로출력시킵니다. 출력값은 0 에서 π 사이의값이됩니다. OUT = ACOS (IN) 에러 IN1 의범위가 -1.0 부터 1.0 사이에있지않은경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0 ) 이 On 하면 Arc Cosine 연산펑션 ACOS 가실행됩니다. (2)INPUT 변수가 ( 3 / 2) 일때 RESULT 는 (π/6 rad = 30 ) 입니다. ACOS( 3 / 2) = π/6 ( COS π/6 = 3 /2) 입력 (IN1) : INPUT(REAL) = 출력 (OUT) : RESULT (REAL) = E-01 (ACOS) REAL 형의표시는 IEEE Standard 기준 ( 데이터타입별구조참조 ) 제 2 장기본펑션및펑션블록라이브러리부 1-3 LS 산전연수원

178 ADD 더하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_NUM ANY_NUM EN IN1 IN2 ADD ENO OUT ANY_NUM 입력 EN : 1일때펑션실행 IN1 : 더해질값 IN2 : 더할값입력은 8개까지확장가능 출력 ENO : 에러없이실행되면 1 을출력 OUT : 더한결과값 IN1, IN2,..., OUT 에연결되는변수는모두같은데이터타입이어야함. 기능 IN1, IN2,..., INn (n 은입력개수 ) 를더해서 OUT 으로출력시킵니다. OUT = IN1 + IN INn 에러 출력값이해당데이터타입의범위를벗어날경우 _ERR, _LER 플래그가셋 (Set)(Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %M0 ) 이 On 하면더하기펑션 ADD 가실행됩니다. (2) 입력변수값이 VALUE1 = 300, VALUE2 = 200, VALUE3 = 100 이면, 출력변수로설정한 OUT_VAL = = 600 이됩니다. 입력 (IN1): VALUE1(INT) = 300(16#012C) (IN2): VALUE2(INT) = 200(16#00C8) (IN2): VALUE3(INT) = 100(16#0064) (OUT): OUT_VAL(INT) = 600(16#0258) (ADD) (ADD) 제 2 장기본펑션및펑션블록라이브러리부 1-4 LS 산전연수원

179 ADD_TIME 시간더하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TIME,TOD,DT TIME EN IN1 IN2 ADD_TIME ENO OUT TIME,TOD,DT 입력 EN : 1일때펑션실행 IN1 : 기준시각또는시간 IN2 : 더할시간출력 ENO : 에러없이실행되면 1을출력 OUT : 더한결과시각또는시간 OUT의타입은입력 IN1의타입을따름. 즉 IN1의타입이 TIME_OF_DAY이면, 출력 OUT의타입도 TIME_OF_DAY임. 기능 IN1 이 TIME 일경우에는시간과시간을더해서합한시간을출력시킵니다. IN1 이 TIME_OF_DAY 일경우에는기준시각에시간을더해서하루중의시각을출력시킵니다. IN1 이 DATE_AND_TIME 일경우에는기준이되는날짜와시각에시간을더해서날짜와시각을출력시킵니다. 에러 출력값이해당데이터타입의범위를벗어날경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 시간과시간을더한결과가 TIME 데이터타입의범위 T#49D17H2M47S295MS 를넘거나시각 (TOD) 과시간을더한결과가 24 시를넘을경우, 또는날짜와시각 (DT) 과시간을더한결과가 2083 년을넘을경우에러가됩니다. 프로그램예 LD (1) 실행조건 (%I0.1.0 ) 이 On 하면시간더하기펑션 ADD_TIME 이실행됩니다. (2) 작업을시작한 START_TIME 이 TOD#08:30:00 이고작업한시간 WORK_TIME 이 T#2H10M20S500MS 이면작업이종료된시각 END_TIME 에는 TOD#10:40:20.5 가출력됩니다. 입력 (IN1) : START_TIME(TOD) = TOD#08:30:00 + ( ADD_TIME ) (IN2) : WORK_TIME(TIME) = T#2H10M20S500MS 출력 (OUT) : END_TIME(TOD) = TOD#10:40:20.5 제 2 장기본펑션및펑션블록라이브러리부 1-5 LS 산전연수원

180 AND 논리곱 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT ANY_BIT EN IN1 IN2 AND ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN1 : AND 될값 IN2 : AND 될값입력이 8 개까지확장가능 출력 ENO : EN 값이그대로출력 OUT : AND 된값 IN1, IN2, OUT 은모두같은타입이어야함. 기능 IN1 을 IN2 와비트별로 AND 해서 OUT 으로출력시킵니다. IN & IN OUT 프로그램예 LD (1) 실행조건 ( % I0.1.1 ) 이 On하면펑션 AND가실행됩니다. (2)INI= %MBRQ과 IN2 = ABC값을 AND시킨결과가 OUT = %QB0.0.0에출력됩니다. 입력 (IN1) : %MB10 (BYTE) = 16#CC (IN2) : ABC(BYTE) = 16#F & (AND) 출력 (OUT) : %QB0.0.0(BYTE) = 16#C 제 2 장기본펑션및펑션블록라이브러리부 1-6 LS 산전연수원

181 ARY_TO_STRING Byte Array 를문자열로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE_ARY ARY_TO_STRING EN ENO IN1 OUT STRING 입력 EN : 1 일때펑션실행 IN : Byte Array 입력 출력 ENO : EN 값을그대로출력 OUT : 변환된 String 출력 기능 Byte Array 를하나의 String 으로변환합니다. 프로그램예 LD (1) 실행조건 (%M2) 이 On 하면 BYTE_STRING 펑션이실행됩니다. (2) 입력변수인 Input 이하위바이트부터순서대로 16#{22( ),47(G),4D(M),34(4),2D(-),43(C),50(P),55(U),41(A),22( )} 일때출력변수인 RESULT 로 GM4-CPUA 가출력됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-7 LS 산전연수원

182 ASIN Arc Sine 연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 ANY_REAL EN IN 펑션설명입력 EN : 1일때펑션실행 IN : Arc Sine 연산의입력값 ASIN ENO 출력 ENO : 에러없이실행되면 1을출력 OUT ANY_REAL OUT : 연산결과각도출력값 (Radian) IN, OUT은같은데이터타입이어야함. 기능 IN의 Arc Sine값을구해 OUT으로출력시킵니다. 출력값은 -π/2에서 π/2 사이의값이됩니다. OUT = ASIN (IN) 에러입력값의범위가 -1.0 과 1.0 사이에있지않을경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %M0) 이 On하면 Arc Sine 연산펑션 ASIN가실행됩니다. (2)INPUT 변수가 ( 3 /2) 일때펑션의출력변수로선언된RESULT는 (π/3 rad = 60 ) 입니다. ASIN ( 3 / 2) = π/3 (SIN(π/3) = 3 /2) 입력 (IN1) : INPUT(REAL) = 출력 (OUT) : RESULT(REAL) = E+00 (ASIN) 제 2 장기본펑션및펑션블록라이브러리부 1-8 LS 산전연수원

183 ATAN Arc Tangent 연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN ATAN ENO OUT ANY_REAL 입력 EN : 1 일때펑션실행 IN : Arc Tangent 연산의입력값 출력 ENO : EN 값이그대로출력 OUT : 연산결과각도출력값 (Radian) IN, OUT 은같은데이터타입이어야함. 기능 IN의 Arc Tangent 값을구해 OUT으로출력시킵니다. 출력값은 -π/2에서 π/2 사이의값이됩니다. OUT = ATAN (IN) 프로그램예 LD (1) 실행조건 ( %M0) 이 On하면 Arc Trangent 연산펑션 ATAN이실행됩니다. (2) 펑션의입력변수로선언된 INPUT = 1.0일경우, 펑션의출력변수로선언된 RESULT = π/4 = 입니다. ATAN (1) = π/4 ( TAN(π/4) = 1 ) 입력 (IN1) : INPUT(REAL) = 1.0 (ATAN) 출력 (OUT) : RESULT(REAL) = E 제 2 장기본펑션및펑션블록라이브러리부 1-9 LS 산전연수원

184 BCD_TO_*** BCD 타입을정수로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT EN IN BCD_TO_*** ENO OUT *** 입력 EN : 1 일때펑션실행 IN : BCD 형태의데이터를갖고있는 ANY_BIT 입력 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 입력타입 출력타입 동작설명 BCD_TO_SINT BYTE SINT BCD_TO_INT WORD INT BCD_TO_DINT DWORD DINT BCD를출력데이터타입타입으로변환합니다. BCD_TO_LINT LWORD LINT 입력이 BCD값일경우에만정상변환됩니다. BCD_TO_USINT BYTE USINT ( 입력데이터타입이 WORD일경우 0 16#9999값만정상 BCD_TO_UINT WORD UINT 변환됩니다.) BCD_TO_UDINT DWORD UDINT BCD_TO_ULINT LWORD ULINT 에러 IN 이 BCD 형태의데이터가아닌경우, 출력은 0 이되고 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %M0) 이 On 하면펑션 BCD_TO_*** 이실행됩니다. (2)BCD_VAL(BYTE 타입 ) = 16#22(2#0010_ 0010) 이면, 펑션의출력변수로선언된 OUT_VAL(SINT 타입 ) = 22(2#0001_ 0110) 가출력됩니다. 입력 (IN1) :BCD_VAL(BYTE) = 16# (BCD_TO_SINT) 출력 (OUT): OUT_VAL(SINT) = 제 2 장기본펑션및펑션블록라이브러리부 1-10 LS 산전연수원

185 _TO_*** 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 _TO_*** EN ENO IN1 OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할비트 (1 비트 ) 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑 션 출력타입 동작 설명 _TO_SINT SINT _TO_INT INT _TO_DINT DINT 입력의값이 2#0면정수값 0 을, 2#1이면정수값 1 을 _TO_LINT LINT 출력데이터타입에맞추어출력합니다. _TO_USINT USINT _TO_UINT UINT _TO_UDINT UDINT _TO_ULINT ULINT _TO_BYTE BYTE _TO_WORD WORD 을상위비트들을 0으로채운출력데이터타입타입으로 _TO_DWORD DWORD 변환합니다. _TO_LWORD LWORD _TO_STRING STRING 을 STRING 타입으로변환합니다. 0 또는 1 로변환합니다. 0 또는 1 로변환됩니다. 프로그램예 LD (1) 실행조건 ( %M0) 이 On하면펑션 _TO_*** 이실행됩니다. (2) 입력변수로선언된 _VAL( 타입 ) = 2#1이면, 출력변수로선언된 OUT_VAL(BYTE 타입 ) = 2#0000_ 0001) 이출력됩니다. 입력 (IN1) : _VAL() = 2#1 1 출력 (OUT): OUT_VAL(BYTE) = 16# (_TO_SINT) 제 2 장기본펑션및펑션블록라이브러리부 1-11 LS 산전연수원

186 BYTE_TO_*** BYTE 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE BYTE_TO_*** EN ENO IN1 OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할비트열 (8 비트 ) 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 BYTE _TO_SINT SINT 내부비트배열의변환없이 SINT 타입으로변환합니다. BYTE _TO_INT INT 상위비트를 0으로채워 INT 타입으로변환합니다. BYTE _TO_DINT DINT 상위비트를 0으로채워 DINT 타입으로변환합니다. BYTE _TO_LINT LINT 상위비트를 0으로채워 LINT 타입으로변환합니다. BYTE _TO_USINT USINT 내부비트배열의변환없이 SINT 타입으로변환합니다. BYTE _TO_UINT UINT 상위비트를 0으로채워 UINT 타입으로변환합니다. BYTE _TO_UDNT UDINT 상위비트를 0으로채워 UDINT 타입으로변환합니다. BYTE _TO_ULINT ULINT 상위비트를 0으로채워 ULINT 타입으로변환합니다. BYTE _TO_ 하위 1비트를취해 타입으로변환합니다. BYTE _TO_WORD WORD 상위비트를 0으로채워 WORD 타입으로변환합니다. BYTE _TO_DWORD DWORD 상위비트를 0으로채워 DWORD 타입으로변환합니다. BYTE _TO_LWORD LWORD 상위비트를 0으로채워 LWORD 타입으로변환합니다. BYTE _TO_STRING STRING 입력값을 STRING 타입으로변환합니다. 프로그램예 LD (1) 실행조건 ( %M10) 이 On 하면펑션 BYTE_TO_SINT 이실행됩니다. (2)IN_VAL(BYTE 타입 ) = 2#0001_1000 이면, OUT_VAL(SINT 타입 ) = 24(2#0001_1000) 가됩니다. 입력 (IN1) : IN_VAL(BYTE) = 16# 출력 (OUT) : OUT_VAL(SINT) = (BYTE_TO_SINT) 제 2 장기본펑션및펑션블록라이브러리부 1-12 LS 산전연수원

187 CONCAT 문자열연결하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING STRING EN IN1 IN2 CONCAT ENO OUT STRINGL 입력 EN : 1 일때펑션실행 IN1 : 입력문자열 IN2 : 입력문자열입력 8 개까지확장가능 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능입력문자열 IN1, IN2, IN3,..., INn(n 은입력개수 ) 을순서대로붙여서출력문자열 OUT 에출력시킵니다. 에러 ( 각입력문자열의문자수의합 ) > 30 인경우, OUT 값은각입력문자열을 30 자까지 CONCAT 한값이출력되고, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %I0.2.1) 이 On 하면펑션 CONCAT 이실행됩니다. (2) 펑션의입력변수로선언된 IN_TEXT1=`ABCD`, IN_TEXT2=`DEF` 이면, 출력변수로선언된 OUT_TEXT=`ABCDDEF` 가됩니다. 입력 (IN1) : IN_TEXT1(STRING) = `ABCD` (CONCAT) (IN2) : IN_TEXT2(STRING) = `DEF` 출력 (OUT) : OUT_TEXT(STRING) = ABCDDEF 제 2 장기본펑션및펑션블록라이브러리부 1-13 LS 산전연수원

188 CONCAT_TIME 날짜와시각연결하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DATA TOD EN IN1 IN2 CONCAT_TIME ENO OUT DT 입력 EN : 1 일때펑션실행 IN1 : 날짜데이터입력 IN2 : 시각데이터입력 출력 ENO : EN 값이그대로출력 OUT : 날짜와시각출력 기능 IN1( 날짜 ) 과 IN2( 시각 ) 를붙여서날짜와시각 (DATE_AND_TIME) OUT 으로출력합니다. 프로그램예 LD (1) 실행조건 ( %M1) 이 On 하면펑션 CONCAT_TIME 이실행됩니다. (2) 운전시작날짜데이터변수 START_DATE = D# 이고운전시작시각 START_TIME = T OD#08:30:00 이면날짜와시각이합쳐진 START_DT 에는 DT# :30:00 이출력됩니다. 입력 (IN1) : START_DATE1(DATE) = D# (CONCAT_TIME) (IN2) : START_TIME(TOD) = TOD#08:30:00 출력 (OUT) : START_DT(DT) = DT# :30:00 제 2 장기본펑션및펑션블록라이브러리부 1-14 LS 산전연수원

189 COS Cosine 연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN COS ENO OUT ANY_REAL 입력 EN : 1 일때펑션실행 IN : Cosine 연산의각도입력값 (Radian) 출력 ENO: EN 값이그대로출력 OUT: Cosine 연산결과값 IN, OUT 은같은데이터타입이어야함. 기능 IN 의 Cosine 값을구해 OUT 으로출력시킵니다. OUT = COS (IN) 프로그램예 LD (1) 실행조건 ( %I0.1.3) 이 On 하면펑션 COS 이실행됩니다. (2)INPUT 으로선언된입력변수의값이 (π/6 rad = 30 ) 일때출력변수로선언된 RESULT 은 ( 3 /2) 입니다. COS ( π/6) = 3/2 = 입력 (IN1) : INPUT(REAL) = (COS) 출력 (OUT) : RESULT(REAL) = E-01 제 2 장기본펑션및펑션블록라이브러리부 1-15 LS 산전연수원

190 DATE_TO_*** DATE 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DATE DATE_TO_*** EN ENO IN OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할날짜데이터 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 DATE_TO_UINT UINT DATE를 UINT타입으로변환합니다. DATE_TO_WORD WORD DATE 를 WORD 타입으로변환합니다. DATE_TO_STRING STRING DATE 를 STRING 타입으로변환합니다. 프로그램예 LD (1) 실행조건 ( %M0) 이 On 하면데이터타입변환펑션 DATE_TO_STRING 이실행됩니다. (2) 입력변수로선언된 IN_VAL(DATE 타입 ) 의값이 D# 이면, 출력변수로선언된 OUT_VAL (STRING 타입 ) 는 D# 이됩니다. 입력 (IN1) : IN_VAL(DATE) = D# 출력 (OUT) : OUT_VAL(STRING) = D# (DATE_TO_STRING) 제 2 장기본펑션및펑션블록라이브러리부 1-16 LS 산전연수원

191 DELETE 문자열을삭제하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING INT INT EN IN L P DELETE ENO OUT STRING 입력 EN : 1일때펑션실행 IN : 입력문자열 L : 삭제할문자열길이 P : 문자열의삭제위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능문자열 IN 의 P 번째문자부터길이 L 숫자만큼삭제한후, 문자열 OUT 에출력시킵니다. 에러 P 0 또는 L< 0 인경우또는 P > (IN1 의입력문자열의문자수 ) 인경우, _ERR,_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %I0.0.0) 이 On 하면문자열삭제 DELETE 가실행됩니다. (2) 입력변수의값이 IN_TEXT( 입력한문자 )=`ABCDEF`,LENGTH( 삭제할문자열길이 )=3,POSITION( 문자열의삭제위치 )=3 이면, 출력변수로선언된 OUT_TEXT(STRING 타입 ) 는 `ABF` 가됩니다. 입력 (IN) : IN_TEXT(STRING) = `ABCDEF` (L) : LENGTH(INT) = 3 (P) : POSITION(INT) = 3 출력 (OUT): OUT_VAL(STRING) = `ABF` (DELETE) 제 2 장기본펑션및펑션블록라이브러리부 1-17 LS 산전연수원

192 DI 태스크프로그램기동불허 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 EN REQ DI ENO OUT 입력 EN : 1 일때펑션실행 REQ : 태스크프로그램기동불허요구 출력 ENO : EN 값이그대로출력 OUT : DI 동작이실행되면 1 출력 기능 EN이 1이고 REQ에 1의값이들어오면사용자에의해서작성된태스크프로그램 ( 싱글, 인터벌, 인터럽트 ) 의기동을막습니다. 한번 'DI' 명령이수행되면 REQ입력이 0이되어도태스크프로그램은기동되지않습니다. 태스크프로그램이정상적으로기동하도록할때는 'EI' 펑션을사용하여주십시오. 프로그램의수행도중에타태스크프로그램의수행으로연산처리의연속성을잃을경우문제가되는부분에대하여부분적으로태스크프로그램의수행을막고자할때사용할수있습니다. 태스크프로그램의기동불허상태에서발생한태스크들은태스크종류에따라다음과같이수행됩니다. - 싱글태스크 : 'EI' 펑션수행후또는현재수행중인태스크프로그램의종료후에수행됩니다. 이때싱글변수의상태변화횟수만큼태스크프로그램을반복하여수행합니다. - 인터벌태스크, 인터럽트 : 태스크프로그램의기동불허상태에서발생한태스크는 'EI' 펑션수행후또는현재수행중인태스크프로그램의종료후에수행됩니다. 그러나, 태스크가 2번이상발생한경우에는태스크충돌경고 (TASK_ERR) 가발생하고, 충돌횟수 (TC_CNT) 를 Count 합니다. 제 2 장기본펑션및펑션블록라이브러리부 1-18 LS 산전연수원

193 프로그램예 1 초마다값을증가하는태스크프로그램을태스크프로그램기동불허펑션 DI 와태스크프로그램기동허가펑션 EI 를이용하여제어하는프로그램 LD (1)Scan 프로그램 (TASK 프로그램제어 ) (2)1 초마다실행하여증가하는태스크프로그램 (1)DI( 태스크프로그램기동불허펑션 ) 의기동불허요구인 REQ ( 직접변수 %I0.1.14로지정) 가 On하면펑션 DI가실행되어출력변수로설정된 DI_OK의값이 1이됩니다. (2) 펑션 DI가실행되면 1초마다실행되던태스크프로그램의실행이정지됩니다. (3)EI ( 태스크프로그램기동허가펑션 ) 의기동허가요구인 REQ ( 직접변수 %I0.1.15로지정) 가 On하면펑션 EI가실행되어출력변수로설정한 EI_OK의값이 1이됩니다. (4) 펑션 EI가실행하면펑션 DI로정지되었던태스크프로그램이재실행됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-19 LS 산전연수원

194 DINT_TO_*** DINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DINT EN IN DINT_TO_*** ENO OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할 Double Integer값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 DINT_TO_SINT SINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_INT INT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_LINT LINT LINT 타입으로정상변환합니다. DINT_TO_USINT USINT 입력이 0 255일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_UINT UINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_UDINT UDINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_ULINT ULINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_ 하위 1 비트를취해 타입으로변환합니다. DINT_TO_BYTE BYTE 하위 8 비트를취해 BYTE 타입으로변환합니다. DINT_TO_WORD WORD 하위 16 비트를취해 WORD 타입으로변환합니다. DINT_TO_DWORD DWORD 내부비트배열의변화없이 DWORD 타입으로변환합니다. DINT_TO_LWORD LWORD 상위비트를 0으로채운 LWORD타입으로변환합니다. DINT_TO_BCD DWORD 입력이 0 99,999,999일경우정상변화되나, 그외값은에러가발생합니다. DINT_TO_REAL REAL DINT를 REAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. DINT_TO_LREAL LREAL DINT를 LREAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. 에러변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 프로그램예 LD (1) 실행조건 (%M1 ) 이 On하면데이터타입변환펑션 DINT_TO_SINT가실행됩니다. (2)INI = DINT_VAL(DINT 타입 ) = -77이면, SINT_VAL(SINT 타입 ) = -77이됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-20 LS 산전연수원

195 입력 (IN1) : DINT_VAL(DINT) = -77 상위 하위 출력 (OUT) : OUT_VAL(SINT) = -77 (DINT_TO_SINT) 제 2 장기본펑션및펑션블록라이브러리부 1-21 LS 산전연수원

196 DIREC_IN 입력데이터즉시갱신 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 USINT USINT DWORD DWORD DIREC_INH EN ENO BASE OUT SLOT MASK_L MASK_H 입력 EN : 1일때펑션실행 BASE : 입력모듈이장착된베이스의위치번호 SLOT : 입력모듈이장착된슬롯의위치번호 MASK_L : 입력하위 32비트데이터중갱신하지않을비트지정 MASK_H : 입력상위 32비트데이터중갱신하지않을비트지정 출력 ENO : 에러없이실행되면 1 을출력 OUT : 입력데이터갱신이완료되면 1 출력 기능 펑션 DIREC_IN( 입력데이터즉시갱신 ) 은스캔도중에 EN이 1이되면 BASE, SLOT에지정된위치의입력모듈의 64비트데이터를읽어서입력이미지영역에갱신하여넣습니다. 이때이미지영역에는해당슬롯에꽂혀있는입력모듈의점수만큼만갱신됩니다. 펑션 DIREC_IN은스캔중에입력 (%I) 의 On/Off 상태를변화시키고싶을때사용이가능합니다. 통상스캔동기일괄처리방식은입력데이터읽기와출력데이터의출력을스캔프로그램의종료후에일괄처리하기때문에, 1Scan 도중에외부로부터의입력된데이터의갱신이불가능합니다. 펑션 DIREC_IN을사용하면프로그램실행도중에해당하는입력을갱신할수있습니다. 제 2 장기본펑션및펑션블록라이브러리부 1-22 LS 산전연수원

197 프로그램예 1.3번째증설 Base,3번째 Slot에꽂힌모듈이 16점모듈이고, 입력데이터가 2# 1010_1010_1110_1011 로즉시갱신하는프로그램 LD (1) 입력조건 (%M0) 가 On 하면 DIREC_IN( 입력데이터즉시갱신 ) 펑션이실행합니다. (2) 장착된모듈이 16 점모듈이므로갱신대상이미지영역은 %IW3.3.0 이되고갱신하지않을비트의지정변수 MASK_L( 입력하위 32 비트 ) 의값에서하위 16Bit 가갱신허용으로설정되어있으므로 %IW3.3.0 은스캔도중 #1010_1010_1110_1011 로갱신됩니다. (3) 비트의지정변수는 MASK_H( 입력상위 32 비트 ) 의설정값은현재설정된베이스, 슬롯에 16 점모듈이꽂혀있으므로무시됩니다. 2. 3번째증설 Base, 3번째 Slot에꽂힌모듈이 32점모듈이고, 입력데이터가 2#0000_0000_1111_1111_1100_1100_0011_0011일때하위 16Bit만즉시갱신하는프로그램 LD (1) 입력조건 (%M0) 가 On 하면 DIREC_IN( 입력데이터즉시갱신 ) 펑션이실행합니다. (2) 장착된모듈이 32 점모듈이므로갱신대상이미지영역은 %ID3.3.0 가되나, 갱신하지않을때비트지정 MASK_L( 입력하위 32 비트 ) 의값에서하위 16 비트가갱신허용으로설정되어있으므로 %IW3.3.0 만 2#1100_1100_0011_0011 로갱신됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-23 LS 산전연수원

198 3. 3 번째증설 Base, 3 번째 Slot 에꽂힌모듈이 64 점모듈이고입력데이터가 16#0000_FFFF_AAAA_7777(2#0000_0000_0000_1111_1111_1111_1111_1010_1010_1010_1010_0111_0111_ 0111_0111) 일때 64 비트중하위 48 비트만즉시갱신할프로그램. LD (1) 입력조건 (#M0) 가 On하면 DIREC_IN( 입력데이터즉시갱신 ) 펑션이실행합니다. (2) 장착된모듈이 64점이므로갱신이미지영역은 %IL3.3.0 즉 %ID3.3.0과 %ID3.3.1이됩니다. 하위 32비트 (MASK_L) 모두는갱신허용으로되어있으므로 %ID3.3.0은모두갱신됩니다. 상위 32비트 (MASK_H) 는이중하위 32Bit만갱신허용으로되어있으므로 %ID3.3.1은 %IW.3.3.2는 갱신되고, %IW3.3.3은갱신되지않습니다. 따라서이미지영역의데이터의갱신은아래와같습니다. %IL3.3.0 %ID3.3.0 %IW.3.3.0:2#0111_0111_0111_0111 %IW.3.3.1:2#1010_1010_1010_1010 %ID3.3.1 %IW3.3.2:2#1111_1111_1111_1111 %IW3.3.3: 이전값유지 (3) 입력갱신이완료되면 REF_OK( 입력데이터갱신완료 ) 에는 1이출력됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-24 LS 산전연수원

199 DIREC_O 출력모듈데이터즉시갱신 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 USINT USINT DWORD DWORD DIREC_O EN BASE SLOT MASK_L MASK_H ENO OUT 입력 EN : 1일때펑션실행 BASE : 출력모듈이장착된베이스의위치번호 SLOT : 출력모듈이장착된슬롯의위치번호 MASK_L : 출력하위 32비트데이터중갱신하지않을비트지정 MASK_H : 출력상위 32비트데이터중갱신하지않을비트지정 출력 ENO OUT : 에러없이실행되면 1을출력 : 출력데이터갱신이완료되면 1출력 기능 펑션 DIREC_O( 출력데이터즉시갱신 ) 은스캔도중에 EN(DIREC_O 실행조건 ) 이 1 이되면 BASE 와 SLOT 이지정된위치의출력모듈의 64 비트데이터를읽어서 MASK(1) 되지않은비트만을출렬모듈에즉시출합니다. 펑션 DIREC_O 은 1 스캔중에출력 (%Q) 의 On/Off 상태를변화시키고싶을때사용이가능합니다. 통상스캔중에일괄처리방식은입력데이터읽기와출력데이터의출력을스캔프로그램의종료후에일괄처리하기때문에 1 스캔도중에외부로신호를출력하는것이불가능합니다. 펑션 DIREC_O 을사용하면프로그램실행도중에해당하는비트의데이터를외부로출력하는것이가능합니다. 해당위치에다른타입의모듈이꽂혀있거나, 출력모듈에데이터가정상적으로써지지않으면 EN0 와 OUT 을 0 으로출력합니다.( 정상동작시 1 출력 ) 프로그램예 1. 기본베이스 3 번째 Slot 에장착된 16 점 Relay 출력모듈에스캔도중출력데이터값이 2#0111_0111_0111_0111 을출력하는프로그램 LD 제 2 장기본펑션및펑션블록라이브러리부 1-25 LS 산전연수원

200 (1) 출력모듈이장착된 Base 의위치번호 2 와 SLOT 번호 4 를입력합니다. (2) 스캔도중출력하고져하는데이터가 16 비트이므로 MASK_L 의값중하위 16 비트만출력허용값으로설정합니다.(16#FFFF0000) (3) 실행조건 (%I0.0.0) 가 On 하면 DIREC_O( 출력모듈데이터즉시갱신 ) 펑션이실행되어스캔도중에출력모듈의데이터가 2#0111_0111_0111_0111 로출력됩니다. 2.2 번째증설베이스 4 번째 Slot 에장착된 32 점 TR. 출력모듈중하위 24 비트만스캔도중출력데이터값이 2#1111_0000_1111_0000_1111_0000 로변경출력하는프로그램 LD (1) 출력모듈이장착된 Base 의위치번호 2 와 SLOT 번호 4 를입력합니다. (2) 스캔도중출력하고져하는데이터가 24 비트이므로 MASK_L 의값중하위 24 비트만출력허용값으로설정합니다.(16#FF000000) (3) 실행조건 (%I0.0.0) 가 Off 하면 DIREC_O( 출력모듈데이터즉시갱신 ) 펑션이실행되어, 스캔도중에출력모듈의데이터가 2# _ _1111_0000_1111_0000_1111_0000 로출력됩니다. 이전값유지 제 2 장기본펑션및펑션블록라이브러리부 1-26 LS 산전연수원

201 DIV 나누기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_NUM ANY_NUM EN IN1 IN2 DIV ENO OUT ANY_NUM 입력 EN : 1일때펑션실행 IN1 : 나누어질값 ( 피제수 ) IN2 : 나눌값 ( 제수 ) 출력 ENO : 에러없이실행되면 1 을출력 OUT : 나눈결과값 ( 몫 ) IN1, IN2, OUT 에연결되는변수는모두같은데이터타입이어야함. 기능 IN1 을 IN2 로나눠서그몫중에서소수점이하를버린값을 OUT 으로출력시킵니다. OUT = IN1/IN2 IN1 IN2 OUT 비 고 소수점이하버림 에러 에러나눌값 ( 제수 ) 이 0 인경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %I0.0.0 ) 이 On 하면나누기펑션 DIV 가실행됩니다. (2) 입력변수 VALUE1 = 300, VALUE2 = 100 이면, 출력변수로선언된 OUT_VAL = 300/100 = 3 이출력됩니다. 입력 (IN1) : VALUE1(INT) = 300(16#012C) (IN2 ): VALUE2(INT) = 100(16#0064) / (DIV) 출력 (OUT) : OUT_VAL(INT) = 3(16#3) 제 2 장기본펑션및펑션블록라이브러리부 1-27 LS 산전연수원

202 DIV_TIME 시간나누기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TIME ANY_NUM EN IN1 IN2 DIV_TIME ENO OUT TIME 입력 EN : 1일때펑션실행 IN1 : 나눌시간 IN2 : 나눌값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 나눈결과시간 기능 IN1( 시간 ) 을 IN2( 숫자 ) 로나누어서나누어진시간을 OUT 으로출력시킵니다. 에러제수 (IN2) 가 0 인경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예어느생산 Line 의하루작업시간이 12 시간 24 분 24 초이고, 하루생산량이 12 개일때제품한개를생산하는데걸리는시간을계산하는프로그램입니다. LD (1) 실행조건 ( %I0.1.0 ) 이 On 하면시간나누기펑션 DIV_TIME 이실행됩니다. (2) 하루작업시간 TOTAL_TIME( T#12H24M24S) 을하루제품생산량 PRODUCT_COUNT(12) 로나누면, 제품한개당걸리는시간 TIME_PER_PRO(T#1H2M2S) 이출력됩니다. 즉, 1 시간 2 분 2 초에한개씩생산됩니다. 입력 (IN1) : TOTAL_TIME(TIME) = T#12H24M24S (IN2) : PRODUCT_COUNT(INT) = 12 / (DIV_TIME) 출력 (OUT) : TIME_PER_PRO(TIME) = T#1H2M2S 제 2 장기본펑션및펑션블록라이브러리부 1-28 LS 산전연수원

203 DT_TO_*** DT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DT EN IN DT_TO_*** ENO OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할날짜와시각데이터 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 DT_TO_LWORD LWORD DT를 LWORD타입으로변환합니다. ( 내부데이터의변환가없어역변환이가능합니다.) DT_TO_DATE DATE DT를 DATE타입으로변환합니다. DT_TO_TOD TOD DT를 TOD 타입으로변환합니다. DT_TO_STRING STRING DT를 STRING 타입으로변환합니다. 프로그램예 LD (1) 실행조건 ( %M20 ) 이 On 하면 DT 타입변환펑션 DT_TO_DATE 가실행됩니다. (2) 입력변수로선언된 IN_VAL(DT 타입 ) = DT# :00:00 이면, 출력변수로선언된 OUT_VAL (DATE 타입 ) = D# 이됩니다. 입력 (IN1) : IN_VAL(DT) = DT# :00:00 (DT_TO_DATE) 출력 (OUT) : OUT_VA(DATE) = D# 제 2 장기본펑션및펑션블록라이브러리부 1-29 LS 산전연수원

204 DWORD_TO_*** DWORD 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DWORD DWORD_TO_*** EN IN ENO OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할비트열 (32비트) 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 DWORD _TO_SINT SINT 하위 8비트를취해 SINT 타입으로변환합니다. DWORD _TO_INT INT 하위 16비트를취해 INT 타입으로변환합니다. DWORD _TO_DINT DINT 내부비트배열의변환없이 DINT 타입으로변환합니다. DWORD _TO_LINT LINT 상위비트를 0으로채운 LINT 타입으로변환합니다. DWORD _TO_USINT USINT 하위 8비트를취해 USINT 타입으로변환합니다. DWORD _TO_UINT UINT 하위 16비트를취해 UINT 타입으로변환합니다. DWORD _TO_UDINT UDINT 내부비트배열의변환없이 UDINT 타입으로변환합니다. DWORD _TO_ULINT ULINT 상위비트를 0으로채운 ULINT 타입으로변환합니다. DWORD _TO_ 하위 1비트를취해 타입으로변환합니다. DWORD _TO_BYTE BYTE 하위 8비트를취해 BYTE 타입으로변환합니다. DWORD _TO_WORD WORD 하위 16비트를취해 WORD 타입으로변환합니다. DWORD _TO_LWORD LWORD 상위비트를 0으로채운 LWORD 타입으로변환합니다. DWORD _TO_REAL REAL 내부비트배열의변화없이 REAL 타입으로변환합니다. DWORD _TO_TIME TIME 내부비트배열의변화없이 TIME 타입으로변환합니다. DWORD _TO_TOD TOD 내부비트배열의변화없이 TOD 타입으로변환합니다. DWORD _TO_STRING STRING 입력값을 Decimal로바꾸어 STRING 타입으로변환합니다. 제 2 장기본펑션및펑션블록라이브러리부 1-30 LS 산전연수원

205 프로그램예 LD (1) 실행조건 ( %M0 ) 이 On 하면타입변환펑션 DWIRD_TO_TOD 가실행됩니다. (2)IN_VAL(DWORD 타입 ) = 16#3E8(1000) 이면, OUT_VAL(TOD 타입 ) = TOD#1S 가됩니다. 입력 (IN1):IN_VAL(DWORD)= 16#3E8(1000) 상위 하위 데이터 ( 내부비트배열상태 ) 의변화없이데이터타입만변환 출력 (OUT) : OUT_VAL(TOD) = TOD#1S 상위 하위 TIME, TOD 는 10 진값을 MS 단위로환산해계산합니다. 즉 1000 은 1000MS = 1S 로계산합니다. ( 데이터타입별구조참조 ) 제 2 장기본펑션및펑션블록라이브러리부 1-31 LS 산전연수원

206 EI 태스크프로그램기동허가 (DI 의해제 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 EN REQ EI ENO OUT 입력 EN : 1 일때펑션실행 REQ : 태스크프로그램기동허가요구 출력 ENO : EN 값이그대로출력 OUT : EI 동작이실행되면 1 출력 기능 EN 이 1 이고 REQ 에 1 의값이들어오면 'DI' 펑션에의해막혀있던태스크프로그램이정상적으로기동합니다. 한번 'EI' 명령이수행되면 REQ 입력이 0 이되어도태스크프로그램은정상기동합니다. 태스크프로그램의기동불허상태에서발생한태스크들은 'EI' 펑션수행후또는현재수행중인태스크프로그램의종료후에수행됩니다. 프로그램예 (DI 참조 ) LD EN_TASK 가 1 이되면태스크프로그램이정상기동됩니다. 'EI' 펑션에의해서태스크실행허가상태가되면 EN_OK 에는 1 이출력됩니다.. 제 2 장기본펑션및펑션블록라이브러리부 1-32 LS 산전연수원

207 EQ 같다 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 EQ ENO OUT 입력 EN : 1 일때펑션실행 IN1 : 비교될값 IN2 : 비교할값입력은 8 개까지확장가능 IN1, IN2,... 는모두같은타입이어야함. 출력 ENO : EN 값이그대로출력 OUT : 비교결과값 기능 IN1=IN2=IN3...=INn(n 은입력개수 ) 이면 OUT 으로 1 이출력됩니다. 다른경우에는 OUT 으로 0 이출력됩니다. 프로그램예 LD (1) 실행조건 ( %I0.1.0) 이 On 하면비교펑션 EQ 가실행됩니다. (2)VALUE1 = 300, VALUE2 = 300, VALUE3 = 300 이면, 비교결과 VALUE1 = VALUE2 = VALUE3 이므로출력값 %Q0.0.1 = 1 이됩니다. 입력 (IN1) : VALUE1(INT) = 300(16#012C) (IN2) : VALUE2(INT) = 300(16#012C) (IN3) : VALUE1(INT) = 300(16#012C) = (EQ) = (EQ) 출력 (OUT) : %Q0.0.1() = 1(16#1) 1 제 2 장기본펑션및펑션블록라이브러리부 1-33 LS 산전연수원

208 ESTOP 프로그램에의한비상운전정지 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 EN REQ ESTOP ENO OUT 입력 EN : 1 일때펑션실행 REQ: 프로그램에의한비상운전정지요구 출력 ENO : EN 값이그대로출력 OUT : ESTOP 동작이실행되면 1 출력 기능 펑션실행조건 EN이 1이고, 프로그램에의한비상운전정지요구신호 REQ가 1이되면현재수행중인프로그램의운전을즉시강제정지하고 STOP모드로갑니다. 'ESTOP' 펑션에의해정지된경우는전원을재투입하여도기동되지않습니다. 운전모드를 STOP으로하였다가 RUN으로하면재기동이됩니다. 'ESTOP' 펑션이수행되면수행중인프로그램을중도에중지하기때문에재기동시콜드리스타트모드가아닐경우데이터의연속성에오류가있을수있습니다. 프로그램예 LD (1) 실행조건 ( %I0.2.0) 이 On 하면프로그램에의한비상운전정지펑션 ESTOP 이실행됩니다. (2) 펑션 ESTOP 의 ACCIDENT 가 1 이되면실행중인프로그램을즉시중지하고 STOP 모드로됩니다. 비상사태발생시기계적인터럽트와함께이중안전장치로사용할수있습니다. 제 2 장기본펑션및펑션블록라이브러리부 1-34 LS 산전연수원

209 EXP 자연지수연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 EXP 입력 EN : 1 일때펑션실행 IN : 지수연산의입력값 ANY_REAL EN IN ENO OUT ANY_REAL 출력 ENO : EN 값이그대로출력 OUT : 지수연산결과값 IN, OUT 은같은데이터타입이어야함. 기능 IN 의지수연산값을구해 OUT 으로출력시킵니다. OUT = e IN 프로그램예 LD (1) 실행조건 ( %M5) 이 On 하면자연지수펑션 EXP 가실행됩니다. (2) 입력변수로선언된 INPUT 의값이 2.0 일경우, 출력변수로선언된 RESULT 는 입니다. e 2.0 = 입력 (IN1) : INPUT(REAL) = 2.0 상위 하위 (EXP) (16# ) 출력 (OUT) : RESULT(REAL) = E+00 상위 하위 (16#40EC7326) 제 2 장기본펑션및펑션블록라이브러리부 1-35 LS 산전연수원

210 EXPT 지수연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL ANY_NUM EN IN1 IN2 EXPT ENO OUT ANY_REAL 입력 EN : 1일때펑션실행 IN1 : 진수 IN2 : 지수 출력 ENO : 에러없이실행되면 1 을출력 OUT : 결과값 IN1 과 OUT 에연결되는변수는같은데이터타입이어야함. 기능 IN1 에 IN2 를지수승하여 OUT 으로출력시킵니다. OUT = IN1 IN2 에러출력값이해당데이터타입의범위를벗어날경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 ( %I0.1.0) 이 On 하면자연지수펑션 EXPT 가실행됩니다. (2) 입력된변수로선언된 IN_VAL = 1.5, VALUE = 3 이면, 출력변수로선언된 OUT_VAL = = = 가됩니다. 입력 (IN1) : IN_VAL(REAL) = 1.5 (IN2) : VALUE(INT) = 3 (EXPT) 출력 (OUT) : OUT_VAL(REAL) = E+00 제 2 장기본펑션및펑션블록라이브러리부 1-36 LS 산전연수원

211 FIND 문자열찾기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING STRING EN IN1 IN2 FIND ENO OUT INT 입력 EN : 실행허용 IN1 : 입력문자열 IN2 : 찾을문자열 출력 ENO : EN 값이그대로출력 OUT : 찾는문자열의위치 기능입력문자열 IN1 에서문자열 IN2 의위치를찾습니다. 찾으면문자열 IN1 에서문자열 IN2 가있는첫번째문자위치를 OUT 에출력시키고, 없으면 0 을 OUT 에출력시킵니다. 프로그램예 LD (1) 실행조건 ( %I0.1.1) 이 On 하면 FIND( 문자열찾기 ) 펑션이실행됩니다. (2) 입력변수로선언된입력문자열이 IN_TEXT1=`ABCEF, 찾을문자열이 IN_TEXT2=`BC` 이면, 출력변수로선언된 POSITION=2 가선언됩니다. (3) 입력문자열 IN_TEXT1=`ABCEF` 에서찾을문자열 IN_TEXT2=`BC` 의위치는 2 번째입니다. 입력 (IN1) : IN_TEXT1(STRING) = ABCEF (IN2) : IN_TEXT2(STRING) = BC (FIND) 출력 (OUT) : POSITION(INT) = 2 제 2 장기본펑션및펑션블록라이브러리부 1-37 LS 산전연수원

212 GE 크거나같다 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 GE ENO OUT 입력 EN : 1 일때펑션실행 IN1 : 비교될값 IN2 : 비교할값입력은 8 개까지확장가능 IN1, IN2,... 는모두같은타입이어야함. 출력 ENO : EN 값이그대로출력 OUT : 비교결과값 기능 IN1 IN2 IN3... INn(n 은입력개수 ) 이면 OUT 으로 1 이출력됩니다. 다른경우에는 OUT 으로 0 이출력됩니다. 프로그램예 LD (1) 실행조건 ( %M77) 이 On 하면 GE( 비교 : 크거나같다 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1=300, VALUE3=200 이면, 비교결과 VALUE1 VALUE2 VALUE 3 이므로, 출력결과값 %Q0.01=1 이됩니다. 입력 (IN1) : VALUE1(INT) = 300(16#012C) (IN2) : VALUE2(INT) = 200(16#00C8) (GE) (GE) (IN3) : VALUE3(INT) = 100(16#0064) 출력 (OUT) : %Q0.0.1() = 1(16#1) 1 제 2 장기본펑션및펑션블록라이브러리부 1-38 LS 산전연수원

213 GT 크다 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 GT ENO OUT 입력 EN : 1일때펑션실행 IN1 : 비교될값 IN2 : 비교할값입력은 8개까지확장가능 IN1, IN2,... 는모두같은타입이어야함. 출력 ENO : EN 값이그대로출력 OUT : 비교결과값 기능 IN1>IN2>IN3...>INn(n 은입력개수 ) 이면 OUT 으로 1 이출력됩니다. 다른경우에는 OUT 으로 0 이출력됩니다. 프로그램예 LD (1) 실행조건 ( %M0) 이 On 하면 GT( 비교 : 크다 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1 = 300, VALUE2 = 200, VALUE3 = 100 이면, 비교결과 VALUE1 > VALUE2 > VALUE3 이므로출력결과값 %Q0.0.1=1 이됩니다. 입력 (IN1) : VALUE1(INT) = 300(16#012C) (IN2) : VALUE2(INT) = 200(16#00C8) > (GT) > (GT) (IN3) : VALUE3(INT) = 100(16#0064) 출력 (OUT) : %Q0.0.1() = 1(16#1) 1 제 2 장기본펑션및펑션블록라이브러리부 1-39 LS 산전연수원

214 INSERT 문자열삽입하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING STRING INT EN IN1 IN2 P INSERT ENO OUT STRING 입력 EN : 1일때펑션실행 IN1 : 삽입될문자열 IN2 : 삽입할문자열 P : 문자열을삽입할위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능문자열 IN1 의 P 번째문자뒤에문자열 IN2 를삽입한후문자열 OUT 에출력시킵니다. 에러 P 0 이거나 ( 변수 IN1 의문자수 ) < P 인경우, 또는연산결과문자수가 30 자를넘어서 OUT 으로 30 자까지출력된경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 가 On 하면, INSERT( 문자열삽입하기 ) 펑션이실행됩니다. (2) 입력변수로선언된변수 IN_TEXT1= `ABCD`, IN_TEXT2=`XY`, POSITON=2 이면, 출력변수 OUT_TEXT=`ABXYCD` 가됩니다. 입력 (IN1) : IN_TEXT1(STRING) = ABCD (IN2) : IN_TEXT2(STRING) = XY (P) : POSITION(INT) = 2 (FIND) 출력 (OUT): OUT_TEXT = `ABXYCD` 제 2 장기본펑션및펑션블록라이브러리부 1-40 LS 산전연수원

215 INT_TO_*** INT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 INT EN IN INT_TO_*** ENO OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할 Integer값출력 ENO : 에러없이실행되면 1을출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션출력타입동작설명 INT_TO_SINT SINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. INT_TO_DINT DINT DINT 타입으로정상변환합니다. INT_TO_LINT LINT LINT 타입으로정상변환합니다. INT_TO_USINT USINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. INT_TO_UINT UINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. INT_TO_UDINT UDINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. INT_TO_ULINT ULINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. INT_TO_ 하위 1 비트를취해 타입으로변환합니다. INT_TO_BYTE BYTE 하위 8 비트를취해 BYTE 타입으로변환합니다. INT_TO_WORD WORD 내부비트배열의변화없이 WORD 타입으로변환합니다. INT_TO_DWORD DWORD 상위비트들을 0 으로채운 DWORD 타입으로변환합니다. INT_TO_LWORD LWORD 상위비트들을 0 으로채운 LWORD 타입으로변환합니다. INT_TO_BCD WORD 입력이 0~9,999 일경우정상변환되나, 그외값은에러가발생합니다. INT_TO_REAL REAL INT 를 REAL 타입으로정상변환합니다. INT_TO_LREAL LREAL INT 를 LREAL 타입으로정상변환합니다. 에러변환에러발생시 _ERR _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 1-41 LS 산전연수원

216 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 INT_TO_WORD 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(INT 타입 ) = 512(16#200) 이면, 출력변수로선언된 OUT_WORD(WORD 타입 ) =16#200 이됩니다. 입력 (IN1) : IN_VAL(INT) = 512(16#200) 출력 (OUT) : OUT_WORD(WORD) = 16# (INT_TO_WORD) 제 2 장기본펑션및펑션블록라이브러리부 1-42 LS 산전연수원

217 LE 작거나같다 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 LE ENO OUT 입력 EN : 1일때펑션실행 IN1 : 비교될값 IN2 : 비교할값입력은 8개까지확장가능 IN1, IN2,... 는모두같은타입이어야함. 출력 ENO : EN 값이그대로출력 OUT : 비교결과값 기능 IN1 IN2 IN3... INn (n 은입력개수 ) 이면 OUT 으로 1 이출력됩니다. 다른경우에는 OUT 으로 0 이출력됩니다. 프로그램예 LD (1) 실행조건 (%M0) 가 On 하면 LE( 비교 : 작거나같다 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1=150, VALUE2=200, VALUE3 = 250 이면, 비교결과 VALUE1 VALUE2 VALUE 3 이므로, 출력결과값 %Q0.0.1=1 이됩니다. 입력 (IN1) : VALUE1(INT) = 150(16#0096) (LE) (IN2) : VALUE2(INT) = 200(16#00C8) (IN3) : VALUE1(INT) = 250(16#0064) (LE) 출력 (OUT) : %Q0.0.1() = 1(16#1) 1 제 2 장기본펑션및펑션블록라이브러리부 1-43 LS 산전연수원

218 LEFT 문자열의왼쪽을취하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING INT EN IN1 IN2 LE ENO OUT STRING 입력 EN : 1 일때펑션실행 IN : 입력문자열 L : 출력할문자열길이 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능입력문자열 IN 에대하여왼쪽부터문자열길이 L 만큼출력문자열 OUT 에출력시킵니다. 에러 L < 0 인경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 가 On 하면 LEFT( 문자열의왼쪽취하기 ) 펑션이실행됩니다. (2) 입력변수로선언된문자열이 IN_TEXT=`ABCDEFG` 이고, 출력할문자열의길이 LENGTH=3 이면, 출력문자열변수로지정된 OUT_TEXT=`ABC` 가됩니다. 입력 (IN1) : IN_TEXT(STRING) = ABCDEFG (IN2) : LENGTH(INT) = 3 출력 (OUT) : OUT_TEXT(STRING) = `ABC` (LEFT) 제 2 장기본펑션및펑션블록라이브러리부 1-44 LS 산전연수원

219 LEN 문자열길이구하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING EN IN LEN ENO OUT INT 입력 EN : 1일때펑션실행 IN : 입력문자열 출력 ENO : EN 값이그대로출력 OUT : 문자열길이 기능입력문자열 (IN) 의길이 ( 문자수 ) 가 OUT 으로출력됩니다. 프로그램예 LD (1) 실행조건 (%M0) 가 On 하면 LEN( 문자열길이구하기 ) 펑션이실행됩니다. (2) 입력변수로선언된 IN_TEXT=`ABCD` 이면, 출력변수로선언된 LENGTH=4 가됩니다. 입력 (IN1) : IN_TEXT(STRING) = ABCD 출력 (OUT) : LENGTH(INT) = 4 (LEN) 제 2 장기본펑션및펑션블록라이브러리부 1-45 LS 산전연수원

220 LIMIT 상하한제한 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY ANY EN MN IN MX LIMIT ENO OUT ANY 입력 EN : 1일때펑션실행 MN : 최소값 IN : 제한될값 MX : 최대값 출력 ENO : EN 값이그대로출력 OUT : 범위안에든값 MN, IN, MX, OUT 은데이터타입이모두같아야함. 기능 입력 IN값이 MN과 MX 사이에있으면, OUT으로 IN이출력됩니다. 즉, MN IN MX이면 OUT = IN 입력 IN값이 MN보다작으면, OUT으로 MN이출력됩니다. 즉, IN < MN이면 OUT = MN 입력 IN값이 MX보다크면, OUT으로 MX가출력됩니다. 즉, IN > MX이면 OUT = MX 프로그램예 LD (1) 실행조건 (%M0) 가 On하면 LIMIT( 상하한제한 ) 펑션이실행합니다. (2) 하한값의입력변수 (LIMIT_LOW), 상한값의입력변수 (LIMIT_HIGH), 제한된값의입력변수 (IN_VALUE) 에대한출력변수 (OUT_VAL) 의값은아래와같습니다. LIMIT_LOW IN_VALUE LIMIT_HIGH OUT_VAL 입력 (MN): LIMIT_LOW (INT) = 1000 (IN) : IN_VALUE (INT) = 4000 (MX) : IN_VALUE (INT) = 3000 출력 (OUT) : OUT_VAL (INT) = 3000 (LIMIT) 제 2 장기본펑션및펑션블록라이브러리부 1-46 LS 산전연수원

221 LINT_TO_*** LINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 LINT EN IN LINT_TO_*** ENO OUT *** 입력 EN IN : 1일때펑션실행 : 타입변환할 Long Integer값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 LINT_TO_SINT SINT 입력이 일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_INT INT 입력이-32,768 32,767일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_DINT DINT 입력이 일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_USINT USINT 입력이 0 255일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_UINT UINT 입력이 0 65,535일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_UDINT UDINT 입력이 일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_ULINT ULINT 입력이 일경우정상변환되나, 그외값은에러가발생합니다. LINT_TO_ 하위 1비트를취해 타입으로변환합니다. LINT_TO_BYTE BYTE 하위 8비트를취해 타입으로변환합니다. LINT_TO_WORD WORD 하위 16비트를취해 타입으로변환합니다. LINT_TO_DWORD DWORD 하위 32비트를취해 타입으로변환합니다. LINT_TO_LWORD LWORD 내부비트배열의변화없이 LWORD 타입으로변환합니다. LINT_TO_BCD LWORD 입력이 0~9,999,999,999,999,999일경우정상변환되나그외의값은에러가발생합니다. LINT_TO_REAL REAL LINT를 REAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. LINT_TO_LREAL LREAL LINT를 LREAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. 에러변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 1-47 LS 산전연수원

222 프로그램예 LD (1) 입력조건 (%I0.0.0) 이 On 하면 LINT_TO_DINT 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(LINT 타입 ) = 123_456_789 이면, OUT_VAL(DINT 타입 ) = 123_456_789 가됩니다. 입력 (IN1) : IN_VAL(LINT) = 123,456,789 (16#75BCD15) (LINT_TO_DINT) 출력 (OUT) : OUT_VAL(DINT) = 123,456,789 (16#75BCD15) 제 2 장기본펑션및펑션블록라이브러리부 1-48 LS 산전연수원

223 LN 자연대수연산 ANY_REAL CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명입력 EN : 1일때펑션실행 LN IN : 자연대수연산의입력값 EN ENO 출력 ENO : 에러없이실행되면 1을출력 REQ OUT ANY_REAL OUT : 자연대수값 IN, OUT은같은데이터타입이어야함. 기능 IN 의자연대수값을구해 OUT 으로출력시킵니다. OUT = ln IN 에러입력값이 0 또는음수일때 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면 LN( 자연대수연수 ) 펑션이실행됩니다. (2) 입력변수로선언된 INPUT 값이 2.0 일때출력변수로선언된 RESULT 는 입니다. ln (2.0) = 입력 (IN1) : INPUT(REAL) = 2.0 (LN) 출력 (OUT): RESULT(REAL) = E-01 제 2 장기본펑션및펑션블록라이브러리부 1-49 LS 산전연수원

224 LOG 상용대수연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 LOG 입력 EN : 1 일때펑션실행 IN : 상용대수연산의입력값 ANY_REAL EN REQ ENO OUT ANY_REAL 출력 END : 에러없이실행되면 1 을출력 OUT: 상용대수연산값 IN, OUT 은같은데이터타입이어야함. 기능 IN의상용대수값을구해 OUT으로출력시킵니다. OUT = log10 IN = log IN 에러 IN 의값이 0 또는음수일때 _ ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On되면, LOG( 상용대수연산 ) 펑션이실행됩니다. (2) 입력변수로선언된 INPUT 값이 2.0일때출력변수로선언된RESULT는 입니다. log10 (2.0) = 입력 (IN1) : INPUT(REAL) = 2.0 (LOG) 출력 (OUT) : RESULT(REAL) = E-01 제 2 장기본펑션및펑션블록라이브러리부 1-50 LS 산전연수원

225 LREAL_TO_*** LREAL 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 LREAL EN IN LREAL_TO_*** ENO OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할 LREAL 값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 LREAL_TO_SINT SINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_INT INT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_DINT DINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_LINT LINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_USINT USINT 입력의정수부분이 0 255일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_UINT UINT 입력의정수부분이 0 65,535일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_UDINT UDINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_ULINT ULINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) LREAL_TO_LWORD LWORD 내부비트배열의변화없이 LWORD 타입으로변환합니다. LREAL_TO_REAL REAL LREAL을 REAL 타입으로정상변환합니다. 변환중정밀도에따른오차가발생할수있습니다. 에러입력값이출력타입에저장할수있는값보다커서오버플로 (Overflow) 발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시 0 을출력합니다. 제 2 장기본펑션및펑션블록라이브러리부 1-51 LS 산전연수원

226 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면, LREAL_TO_REAL 펑션이실행됩니다. (2) 입력변수로선언된 LREAL_VAL(LREAL 타입 ) = -1.34E-12 이면, 출력변수로선언된 REAL_VAL (REAL 타입 )=-1.34E-12 가됩니다. 입력 (IN1) : LREAL_VAL (LREAL) = -1.34E-12 (LREAL_TO_REAL) 출력 (OUT) : REAL_VAL (REAL) = -1.34E-12 제 2 장기본펑션및펑션블록라이브러리부 1-52 LS 산전연수원

227 LT 작다 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 LT ENO OUT 입력 EN : 1일때펑션실행 IN1 : 비교될값 IN2 : 비교할값입력은 8개까지확장가능 IN1, IN2,... 는모두같은타입이어야함. 출력 ENO : EN 값이그대로출력 OUT : 비교결과값 기능 IN1<IN2<IN3...<INn(n 은입력개수 ) 이면 OUT 으로 1 이출력됩니다. 다른경우에는 OUT 으로 0 이출력됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 LT( 비교 : 작다 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1 = 100, VALUE2 = 200, VALUE3 = 300 이면, 비교결과 VALUE1 < VALUE2 < VALUIE 3 이므로출력결과값 %Q0.0.1=1 이됩니다. 입력 (IN1) : VALUE1(INT) = 100(16#0064) (IN2) : VALUE2(INT) = 200(16#00C8) (IN3) : VALUE3(INT) = 300(16#012C) < (LT) < (LT) 출력 (OUT) : %Q0.0.1() = 1(16#1) 1 제 2 장기본펑션및펑션블록라이브러리부 1-53 LS 산전연수원

228 LWORD_TO_*** LWORD 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 LWORD EN IN LWORD_TO_*** ENO OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할비트열 (64 비트 ) 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 LWORD _TO_SINT SINT 하위 8비트를취하여 SINT 타입으로변환합니다. LWORD _TO_INT INT 하위 16비트를취하여 INT 타입으로변환합니다. LWORD _TO_DINT DINT 하위 32비트를취하여 DINT 타입으로변환합니다. LWORD _TO_LINT LINT 내부비트배열의변화없이 LINT 타입으로변환합니다. LWORD _TO_USINT USINT 하위 8비트를취하여 USINT 타입으로변환합니다. LWORD _TO_UINT UINT 하위 16비트를취하여 UINT 타입으로변환합니다. LWORD _TO_UDINT UDINT 하위 32비트를취하여 UDINT 타입으로변환합니다. LWORD _TO_ULINT ULINT 내부비트배열의변화없이 ULINT 타입으로변환합니다. LWORD _TO_ 하위 1비트를취하여 타입으로변환합니다. LWORD _TO_BYTE BYTE 하위 8비트를취하여 BYTE 타입으로변환합니다. LWORD _TO_WORD WORD 하위 16비트를취하여 WORD 타입으로변환합니다. LWORD _TO_DWORD DWORD 하위 32비트를취하여 DWORD 타입으로변환합니다. LWORD _TO_LREAL LREAL LWORD를 LREAL 타입으로변환합니다. LWORD _TO_DT DT 내부비트배열의변화없이 DT 타입으로변환합니다. LWORD _TO_STRING STRING 입력값을 STRING 타입으로변환합니다. 제 2 장기본펑션및펑션블록라이브러리부 1-54 LS 산전연수원

229 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 LWORD_TO_LINT 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(LWORD 타입 ) = 16#FFFFFFFFFFFFFFFF 면, 출력변수로선언된 OUT_VAL(LINT 타입 ) = -1(16#FFFFFFFFFFFFFFFF) 이됩니다. 입력 (IN1) : IN_VAL(LWORD) = 16#FFFFFFFFFFFFFFFF 출력 (OUT) : OUT_VAL(LINT) = -1 (LWORD_TO_LINT) 제 2 장기본펑션및펑션블록라이브러리부 1-55 LS 산전연수원

230 MAX 최대값 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 LT ENO OUT ANY 입력 EN : 1일때펑션실행 IN1 : 비교될값 IN2 : 비교될값입력 8개까지확장가능출력 ENO : EN값이그대로출력 OUT : 입력값중최대값 IN1, IN2,..., OUT은모두같은타입이어야함. 기능입력 IN1, IN2,..., INn(n은입력개수 ) 중에서최대값을 OUT으로출력시킵니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On하면 MAX( 최대값 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1 = 100, VALUE2 = 200을비교결과최대값이 200이므로출력변수로선언된OUT_VALUE = 200으로출력됩니다. 입력 (IN1) : VALUE1(INT) = 100(16#0064) (IN2) : VALUE2(INT) = 200(16#00C8) (MAX) 출력 (OUT): OUT_VAL(INT) = 200(16#00C8) 제 2 장기본펑션및펑션블록라이브러리부 1-56 LS 산전연수원

231 MID 문자열의중간을취하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING INT INT EN IN L P MID ENO OUT STRING 입력 EN : 1 일때펑션실행 IN : 입력문자열 L : 출력할문자열길이 P : 출력할문자열의시작위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능입력문자열 IN 에대하여입력문자열의 P 번째문자부터길이 L 만큼을출력문자열 OUT 에출력시킵니다. 에러 ( 변수 IN 의문자수 ) < P 인경우, 또는 P <= 0 및 L < 0 인경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하면 MID( 문자열의중간을취하기 ) 펑션이실행됩니다. (2) 입력된문자열 IN_TEXT=`ABCDEFG`, 이고, 출력할문자열의길이 LENGTH=3, 출력할문자열의시작위치 POSITION=2 이면, 출력문자열변수로선언된 OUT_TEXT=`BCD` 가됩니다. 입력 (IN) : IN_TEXT1(STRING) = ABCDEFG (L) : LENGTH(INT) = 3 (P) : POSITION(INT) = 2 (MID) 출력 (OUT) : OUT_TEXT = `BCD` 제 2 장기본펑션및펑션블록라이브러리부 1-57 LS 산전연수원

232 MIN 최소값 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 MIN ENO OUT ANY 입력 EN : 1일때펑션실행 IN1 : 비교될값 IN2 : 비교될값입력 8개까지확장가능 출력 ENO : EN 값이그대로출력 OUT : 입력값중최소값 IN1, IN2,..., OUT 은모두같은타입이어야함. 기능입력 IN1, IN2,..., INn(n 은입력개수 ) 중에서최소값을 OUT 으로출력시킵니다. 프로그램예 LD (1) 실행조건 (%M100) 이 On 하면 MIN( 최소값 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1 = 100, VALUE2 = 200 을비교결과최소값이 100 이므로출력변수로선언된 OUT_VALUE = 100 이출력됩니다. 입력 (IN1) : VALUE1(INT) = 100(16#0064) (MIN) (IN2) : VALUE2(INT) = 200(16#00C8) 출력 (OUT): OUT_VAL(INT) = 100(16#0064) 제 2 장기본펑션및펑션블록라이브러리부 1-58 LS 산전연수원

233 MOD 나머지구하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_INT ANY_INT EN IN1 IN2 MOD ENO OUT ANY_INT 입력 EN : 1 일때펑션실행 IN1 : 나누어질값 ( 피제수 ) IN2 : 나눌값 ( 제수 ) 출력 ENO : EN 값이그대로출력 OUT : 나눈결과값 ( 나머지 ) IN1, IN2, OUT 에연결되는변수는모두같은데이터타입이어야함. 기능 IN1 을 IN2 로나눠서그나머지를 OUT 으로출력시킵니다. OUT = IN1 - (IN1/IN2) IN2 ( 단 IN2 = 0 이면 OUT = 0 ) IN1 IN2 OUT 프로그램예 LD (1) 실행조건 (%M100) 이 On하면 MON( 나머지구하기 ) 펑션이실행합니다. (2) 입력변수중나누어질값 VALUE1=37이고, 나눌값 VALUE2=10이면, 출력변수로선언된OUT_VAL의값은 37을 10으로나눈나머지 7이됩니다. 입력 (IN1) : VALUE1(INT) = 37(16#0025) (MOD) (IN2) : VALUE2(INT) = 10(16#000A) 출력 (OUT): OUT_VAL(INT) = 7(16#0007) 제 2 장기본펑션및펑션블록라이브러리부 1-59 LS 산전연수원

234 MOVE 데이터복사 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY EN IN MOVE ENO OUT ANY 입력 EN : 1일때펑션실행 IN : MOVE할값 출력 ENO : EN 값이그대로출력 OUT : MOVE 된값 IN, OUT 에연결되는변수는같은데이터타입이어야함. 기능 IN의값을 OUT으로옮긴다. 프로그램예입력 %I0.0.0 %I0.0.7의 8점의입력상태를변수 D로전송한후, 전송된데이터를출력 %Q0.4.7의 8점으로출력시키는프로그램 LD %Q0.4.0 (1) 실행조건 (%M100) 가 On 되면 MOVE( 데이터복사 ) 펑션이실행됩니다. (2) 첫번째 MOVE 펑션에의해입력모듈의 8 점입력데이터가변수 D 영역으로옮겨지고두번째 MOVE 펑션에의해변수 D 에저장된입력모듈의상태가출력모듈로출력됩니다. 입력 (IN1) : %IB0.0.0(BYTE) = 16#18 D(BYTE) = 16#18 출력 (OUT) : %QB0.4.0(BYTE) = 16# (MOVE) (MOVE) 제 2 장기본펑션및펑션블록라이브러리부 1-60 LS 산전연수원

235 MUL 곱하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_NUM ANY_NUM EN IN1 IN2 MUL ENO OUT ANY_NUM 입력 EN : 1 일때펑션실행 IN : 곱해질값 ( 피승수 ) IN2 : 곱할값 ( 승수 ) 입력은 8 개까지확장가능 출력 ENO : 에러없이실행되면 1 을출력 OUT : 곱한결과값 IN1, IN2,..., OUT 에연결되는변수는모두같은 데이터타입이어야함 기능 IN1, IN2,..., INn (n 은입력개수 ) 를곱해서 OUT 으로출력시킵니다. OUT = IN1 IN2... INn 에러출력값이해당데이터타입의범위를벗어날경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 MUL( 곱하기 ) 펑션이 On 합니다. (2)MUL 펑션의입력변수로선언된 VALUE1 = 30, VALUE2 = 20, VALUE3 = 10 이면, 출력변수로선언된 OUT_VAL = = 6000 이됩니다. 입력 (IN1) : VALUE1(INT) = 30(16#001E) (IN2) : VALUE2(INT) = 20(16#0014) (MUL) (MUL) (IN3) : VALUE3(INT) = 10(16#000A) 출력 (OUT) : OUT_VAL(INT) = 6000(16#1770) 제 2 장기본펑션및펑션블록라이브러리부 1-61 LS 산전연수원

236 MUL_TIME 시간곱하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TIME ANY_NUM MUL_TIME EN ENO IN1 OUT IN2 TIME 입력 EN : 일때펑션실행 IN1 : 곱할시간 IN2 : 곱할값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 곱한결과시간 기능 IN1( 시간 ) 을 IN2( 숫자 ) 로곱해서결과시간을 OUT 으로출력시킵니다. 에러출력값이 TIME 데이터타입의범위를벗어날경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예어떤제품생산 LINE 에서생산되는제품의단위제품당평균계획시간이 20 분 2 초이고, 하루생산할제품의수가 20 개일때작업소요시간을설정하는프로그램 LD (1) 입력변수 (1N1: 단위제품당제작시간 ) UNIT_TIME:T#20M2S 을입력한다. (2) 입력변수 (1N2: 생산수량 ) PRODUCT_COUNT:20 을입력한다. (3) 출력변수 (OUT: 총작업소요시간 ) 에 TOTAL_TIME 을입력한다. (4) 실행조건 (% M0) 이 On 되면출력변수로설정한 TOTAL_TIME 에 T#6H40M40S 가출력된다. 입력 (IN1) : UNIT_TIME(TIME) = T#20MS2S (MUL_TIME) (IN2) : PRODUCT_COUNT(INT) = 16#18 출력 (OUT): TOTAL_TIME(TIME) = T#6H40M40S 제 2 장기본펑션및펑션블록라이브러리부 1-62 LS 산전연수원

237 MUX 여러개중선택 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 INT ANY ANY EN K IN0 IN1 MUX ENO OUT ANY 입력 EN : 1 일때펑션실행 K : 선택 IN0 : 선택될값 IN1 : 선택될값입력은 7 개까지확장가능 (IN0, IN1,..., IN6) 출력 ENO : 에러없이실행되면 1 을출력 OUT : 선택된값 IN0, IN1,..., OUT 은모두같은타입이어야함. 기능 K값으로여러입력 (IN0, IN1,..., INn) 중하나를선택하여출력시킵니다. K = 0이면 IN0이, K = 1이면 IN1이, K = n이면 INn이 OUT으로출력됩니다. 에러 K의값이입력변수 INn의개수보다크거나같은경우에 OUT으로는 IN0값이출력되고, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 MUX( 여러개를선택 ) 펑션이실행됩니다. (2) 입력변수로설정된 VALUE0, 1, 2 중선택변수 S 의값에따라선택되어출력변수로선언된 OUT 으로출력시킵니다. 입력 (K) : S(INT) = 2 (IN0) : VALUE0(WORD) = 16#11 (IN1) : VALUE1(WORD) = 16#22 (IN2) : VALUE2(WORD) = 16#33 출력 (OUT) : OUT_VAL(WORD) = 16#33 (MUX) 제 2 장기본펑션및펑션블록라이브러리부 1-63 LS 산전연수원

238 NE 같지않다 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 NE ENO OUT 입력 EN : 실행허용 IN1 : 비교될값 IN2 : 비교될값 IN1, IN2 는같은타입이어야함. 출력 ENO : EN 값이그대로출력 OUT : 비교결과값 기능 IN1 이 IN2 와같지않으면 OUT 으로 1 이출력됩니다. 같으면 OUT 으로 0 이출력됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하면 NE( 비교 : 같지않다 ) 펑션이실행됩니다. (2) 입력변수로선언된 VALUE1 = 300, VALUE2 = 200 이면, 비교결과 VALUE1 과 VALUE2 가다르므로출력결과값 %Q0.0.1= 1 이됩니다. 입력 (IN1) : VALUE1(INT) = 300(16#012C) (IN2) : VALUE2(INT) = 200(16#0C8) (NE) 출력 (OUT) : %Q0.0.1() = 1(16#1) 1 제 2 장기본펑션및펑션블록라이브러리부 1-64 LS 산전연수원

239 NOT 논리반전 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT EN IN NOT ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN : NOT 될값 출력 ENO : EN 값이그대로출력 OUT : NOT 된값 IN, OUT 은모두같은타입이어야함. 기능 IN 을비트별로 NOT( 반전 ) 해서 OUT 으로출력시킵니다. IN OUT 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 NOT( 논리반전 ) 펑션이실행됩니다. (2)NOT 펑션이실행되면입력변수로선언된 %MB10 의데이터값이반전되어출력변수로선언된 %0B 에출력됩니다. 입력 (IN1) : %MB10(BYTE ) = 16#CC (NOT) 출력 (OUT) : %QB0.0.0(BYTE) = 16# 제 2 장기본펑션및펑션블록라이브러리부 1-65 LS 산전연수원

240 NUM_TO_STRING 숫자를문자열로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_NUM NUM_TO_STRING EN ENO IN OUT STRING 입력 EN : 1일때펑션실행 IN : STRING으로변환할숫자입력 출력 ENO : EN 값이그대로출력 OUT : 문자로변환된데이터 기능 IN 의숫자데이터를문자데이터로변환해서 OUT 으로출력시킵니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 NUM_TO_STRING( 숫자를문자열로변환 ) 펑션이실행됩니다. (2)NUM_TO_STRING 펑션의입력변수로선언된 IN_VALUE(INT 타입 ) = 123 이면출력변수로선언된 OUT_STRING = 123 이되고, IN_VALUE(REAL 타입 ) = 이면 OUT_STRING = 1.23E2 가됩니다. 입력 (IN1) : IN_VALUE(INT) = 123 출력 (OUT) : OUT_STRING(STRING) = 123 (NUM_TO_STRING) 제 2 장기본펑션및펑션블록라이브러리부 1-66 LS 산전연수원

241 OR 논리합 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT ANY_BIT EN IN1 IN2 OR ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN1 : OR 될값 IN2 : OR 될값입력 8 개까지확장가능 출력 ENO : EN 값이그대로출력 OUT : OR 된값 IN1, IN2, OUT 은모두같은타입이어야함. 기능 IN1 을 IN2 와비트별로 OR 해서 OUT 으로출력시킵니다. IN OR IN OUT 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 OR 펑션이실행됩니다. (2)%MB10 = 을 ABC = 와 OR 시킨결과가 %QB0.0.0 = 로출력됩니다. 입력 (IN1) : %MB10 (BYTE) = 16#CC (IN2) : ABC(BYTE) = 16#F & (OR) 출력 (OUT) : %QB0.0.0(BYTE) = 16#FC 제 2 장기본펑션및펑션블록라이브러리부 1-67 LS 산전연수원

242 REAL_TO_*** REAL 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 REAL EN IN REAL_TO_*** ENO OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할 REAL값출력 ENO : 에러없이실행되면 1을출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 REAL_TO_SINT SINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_INT INT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_DINT DINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_LINT LINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_USINT USINT 입력의정수부분이 0 255일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_UINT UINT 입력의정수부분이 0 65,535일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_UDINT UDINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_ULINT ULINT 입력의정수부분이 일경우정상변환되나, 그외값은에러가발생합니다. ( 소숫점이하는반올림 ) REAL_TO_DWORD DWORD 내부비트배열의변화없이 DWORD 타입으로변환합니다. REAL_TO_LREAL LREAL REAL을 LREAL 타입으로정상변환합니다. 에러입력값이출력타입에저장할수있는값보다커서오버플로 (Overflow) 가발생하면 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시 0 을출력합니다. 제 2 장기본펑션및펑션블록라이브러리부 1-68 LS 산전연수원

243 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 REAL_TO_DINT 펑션이실행됩니다. (2)REAL_VAL(REAL 타입 ) = 1.234E4 이면, DINT_VAL(DINT 타입 ) = 이됩니다. 입력 (IN1) : REAL_VAL(REAL) = 1.234E4 출력 (OUT) : DINT_VAL(DINT) = (REAL_TO_DINT) 제 2 장기본펑션및펑션블록라이브러리부 1-69 LS 산전연수원

244 REPLACE 문자열대체하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING STRING INT INT REPLACE EN IN1 IN2 L P ENO OUT STRING 입력 EN : 1일때펑션실행 IN1 : 대체될문자열 IN2 : 대체할문자열 L : 대체될문자열의길이 P : 대체될문자열의위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능문자열 IN1 의 P 번째문자부터길이 L 만큼의문자를문자열 IN2 로대체한후문자열 OUT 에출력시킵니다. 에러아래와같은경우 ERR, _LER 플래그가셋 (Set) 됩니다. P 0 또는 L < 0 P > (IN1 의입력문자열의문자수 ) 연산결과문자수 > 30 프로그램예 LD 제 2 장기본펑션및펑션블록라이브러리부 1-70 LS 산전연수원

245 (1) 실행조건 (%M0) 이 On하면 REPLACE( 문자열대체하기 ) 펑션이실행됩니다. (2) 대체될문자열입력변수가 IN_TEXT1=`ABCDEF`이고, 대체할문자열입력변수 IN_TEXT2=`X` 이며, 대체될문자열의길이입력변수 LENGTH=3, 대체될문자열위치지정입력변수 POSITION=2 이면 IN_TEXT의 `BCD`가 IN_TEXT2의 `X`로대체되어출력변수 OUT_TEXT에 `AXET`가출력됩니다. 입력 (IN1) : IN_TEXT1(STRING) = `ABCDEF` (IN2) : IN_TEXT2(STRING) = ` X` (L) : LENGTH(INT) = 3 (P) : POSITION(INT) = 2 출력 (OUT) : OUT_TEXT(STRING) = `AXET` 제 2 장기본펑션및펑션블록라이브러리부 1-71 LS 산전연수원

246 RIGHT 문자열의오른쪽을취하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING INT EN IN1 L RIGHT ENO OUT STRING 입력 EN : 1 일때펑션실행 IN : 입력문자열 L : 출력할문자열길이 출력 ENO : 에러없이실행되면 1 을출력 OUT : 출력문자열 기능입력문자열 IN 에대하여오른쪽부터문자열길이 L 만큼을출력문자열 OUT 에출력시킵니다. 에러 L < 0 인경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하면 RIGHT( 문자열의오른쪽취하기 ) 펑션이실행됩니다. (2) 입력변수로선언된문자열이 IN_TEXT=`ABCDEFG` 이고, 출력할문자열의길이 LENGTH=3 이면, 출력문자열변수로지정된 OUT_TEXT=`EFG` 가됩니다. 입력 (IN1) : IN_TEXT(STRRING) = `ABCDEFG` (L) : LENGTH(INT) = 3 출력 (OUT) : OUT_TEXT(STRRING) = `EFG` (RIGHT) 제 2 장기본펑션및펑션블록라이브러리부 1-72 LS 산전연수원

247 ROL 왼쪽으로회전 (Rotate Left) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT INT EN IN N ROL ENO OUT ANY_BIT 입력 EN : 1일때펑션실행 IN : 회전될값 N : 회전할비트수 출력 ENO : EN 값이그대로출력 OUT : 회전된값 기능입력 IN 을 N 비트수만큼왼쪽으로회전시킵니다 N 개 프로그램예입력 %I 이 On 하면입력데이터 (1100_1100_1100_1100:16#CCCC) 의값을좌로 3 비트만큼회전시키는프로그램 LD (1) 회전할데이터값을입력한변수 IN_VALUE 로설정한다. (2) 좌회전할비트수 3 을 : 회전할비트수지정입력 (N) 에살다 (3) 회전된데이터값을출력할출력변수를 OUT_VALUE 로설정한다. (4) 실행조건 %I0.0.0 이 On 하면 ROL( 왼쪽으로회전 ) 펑션이실행되어입력변수로설정된데이터비트를좌로 3 비트회전하여출력변수로선언된 OUT_VALVE 값에출력된다. 입력 (IN1) : IN_VALUE(WORD) = 16#CCCC (N) : 3 출력 (OUT) :OUT_VALUE(WORD)-16# (ROL) 제 2 장기본펑션및펑션블록라이브러리부 1-73 LS 산전연수원

248 ROR 오른쪽으로회전 (Rotate Right) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT INT EN IN N ROR ENO OUT ANY_BIT 입력 EN : 1일때펑션실행 IN : 회전될값 N : 회전할비트수 출력 ENO : EN 값이그대로출력 OUT : 회전된값 기능입력 IN 을 N 비트수만큼오른쪽으로회전시킵니다 N 개 프로그램예입력 %I 이 On 하면입력데이터값 ( :16#E331) 을우로 3 비트만큼회전시키는프로그램 LD (1) 회전할데이터값을입력한변수를 IN_VALUE1 로설정한다. (2) 우회전할비트수 3 을 : 회전할비트수지정입력 (N) 에살다 (3) 실행조건 %I0.0.0 이 On 하면 ROR( 오른쪽으로회전 ) 펑션이실행되어입력변수로설정된데이터비트가우로 3 비트만큼회전되어출력변수로선언된 OUT_VALUE 값에출력된다. 입력 (IN1) :IN_VALUE1(WORD)=16#E331 (N) : 3 출력 (OUT) :OUT_VALUE(WORD)=16#3C (ROR) 제 2 장기본펑션및펑션블록라이브러리부 1-74 LS 산전연수원

249 SEL 둘중선택 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN G IN0 IN1 SEL ENO OUT ANY 입력 EN : 1일때펑션실행 G : 선택 IN0 : 선택될값 IN1 : 선택될값 출력 ENO : EN 값이그대로출력 OUT : 선택된값 IN1, IN2, OUT 은모두같은타입이어야함. 기능 G 가 0 이면 IN0 이 OUT 으로, G 가 1 이면 IN1 이 OUT 으로출력됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 SEL( 둘중선택 ) 펑션이실행됩니다. (2)SEL 펑션이실행되면 S = 1 일때, VALUE1 = 16#1110, VALUE2 = 16#FF00 이면 %QW0.0.0 = 16#FF0 이됩니다. 입력 (G) : S = 1 (IN0) : VALUE1(WORD) = 16#1110 (IN1) : VALUE2(WORD) = 16#FF00 (SEL) 출력 (OUT) : %QW0.0.0(WORD) = 16#FF00 제 2 장기본펑션및펑션블록라이브러리부 1-75 LS 산전연수원

250 SHL 왼쪽으로이동 (Shift Left) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT INT EN IN N SHL ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN : 이동될비트열 N : 이동할비트수 출력 ENO : EN 값이그대로출력 OUT : 이동된값 기능입력 IN 을 N 비트수만큼왼쪽으로이동합니다. 입력 IN 의맨오른쪽에있는 N 개비트는 0 으로채워집니다 N 개, 0 으로채워진다. 프로그램예입력 %I 이 On 하면입력데이터값 (1100_1100_1100_1100:16#CCCC) 을좌로 3 비트만큼이동시키는프로그램 LD (1) 이동할데이터값을입력할변수를 IN_VALUE( :16#CE) 로설정한다. (2) 좌로이동한비트수 3 을지정입력 (N) 에살다. ( 변수지정후쓰기로가능 ) (3) 실행조건 (%Z0.0.0) 이 On 하면 SHL( 왼쪽으로이동 ) 펑션이실행되어입력변수로설정된데이터비트가좌로 3 비트이동하여, 출력변수로선언된 OUT_VALUE 에출력됩니다. 입력 (IN1) :IN_VALUE(WORD)=16#CCCC (N) : 3 (ROL) 출력 (OUT) :OUT_VALUE(WORD)=16# 제 2 장기본펑션및펑션블록라이브러리부 1-76 LS 산전연수원

251 SHR 오른쪽으로이동 (Shift Right) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT INT EN IN N SHR ENO OUT ANY_BIT 입력 EN : 1일때펑션실행 IN : 이동될비트열 N : 이동할비트수 출력 ENO : EN 값이그대로출력 OUT: 이동된값 기능입력 IN 을 N 비트수만큼오른쪽으로이동합니다. 입력 IN 의맨왼쪽에있는 N 개비트는 0 으로채워집니다 N 개, 0 으로채워진다 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 SHL( 왼쪽으로이동 ) 펑션이실행됩니다. (2) 입력변수로설정된데이터비트가우로 3 비트이동하여, 출력변수로선언된 OUT_VALUE 에출력됩니다. 입력 (IN1): IN_VALUE(WORD) = 16#E331 (N) : 3 출력 (OUT) : OU2T_VALUE(WORD)-16#1C (ROR) 제 2 장기본펑션및펑션블록라이브러리부 1-77 LS 산전연수원

252 SIN Sine 연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN SIN ENO OUT ANY_REAL 입력 EN : 1 일때펑션실행 IN : Sine 연산의각도입력값 (Radian) 출력 ENO : EN 값이그대로출력 OUT : Sine 연산결과값 IN, OUT 은같은데이터타입이어야함. 기능 IN 의 Sine 값을구해 OUT 으로출력시킵니다. OUT = SIN (IN) 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On하면 SIN(Sin연산 ) 펑션이실행됩니다. (2)INPUT으로선언된입력변수의값이 (π/3 rad = 60 ) 일때출력변수로선언된 RESULT는 ( 3 /2 ) 이출력됩니다.. SIN (π/3) = 3 /2 = 입력 (IN1) : INPUT(REAL) = (SIN) 출력 (OUT) : RESULT(REAL) = E-01 제 2 장기본펑션및펑션블록라이브러리부 1-78 LS 산전연수원

253 SINT_TO_*** SINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 SINT EN IN SIN_TO_*** ENO OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할 Short Integer값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션출력타입동작설명 SINT_TO_INT INT INT 타입으로정상변환합니다. SINT_TO_DINT DINT DINT 타입으로정상변환합니다. SINT_TO_LINT LINT LINT 타입으로정상변환합니다. SINT_TO_USINT USINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. SINT_TO_UINT UINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. SINT_TO_UDINT UDINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. SINT_TO_ULINT ULINT 입력이 일경우정상변화되나, 그외값은에러가발생합니다. SINT_TO_ 하위 1 비트를취해 타입으로변환합니다. SINT_TO_BYTE BYTE 내부비트배열의변화없이 BYTE 타입으로변환합니다. SINT_TO_WORD WORD 상위비트들을 0 으로채운 WORD 타입으로변환합니다. SINT_TO_DWORD DWORD 상위비트들을 0 으로채운 DWORD 타입으로변환합니다. SINT_TO_LWORD LWORD 상위비트들을 0 으로채운 LWORD 타입으로변환합니다. SINT_TO_BCD BYTE 입력이 0~99 일경우정상변환되나, 그외값은에러가발생합니다. SINT_TO_REAL REAL SINT 를 REAL 타입으로정상변환합니다. SINT_TO_LREAL LREAL SINT 를 LREAL 타입으로정상변환합니다. 에러변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 1-79 LS 산전연수원

254 프로그램예 LD (1) 입력조건 (% M0) 이 On 하면 SINT_TO_BCD 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(SINT 타입 )=64(2#0100_0000) 이면,OUT_VAL(BCD 타입 )=16#64(2#0110_0100) 가됩니다. 입력 (IN1) : IN_VAL(SINT) = 64(16#40) 출력 (OUT) : OUT_VAL(BCD) = 16#64(16#64) (SINT_TO_BCD) 제 2 장기본펑션및펑션블록라이브러리부 1-80 LS 산전연수원

255 SQRT 제곱근연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN SQRT ENO OUT ANY_REAL 입력 EN : 1 일때펑션실행 IN : 제곱근연산의입력값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 제곱근값 IN, OUT 은같은데이터타입이어야함. 기능 IN 의제곱근값을구해 OUT 으로출력시킵니다. OUT = IN 에러 IN 의값이음수일때 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 SQRT( 제곱근연산 ) 펑션이실행됩니다. (2)INPUT 으로선언된입력변수의값이 9.0 일때출력변수로선언된 RESULT 는 3.0 이출력됩니다. 9.0 = 3.0 입력 (IN1) : INPUT(REAL) = 9.0 출력 (OUT) : RESULT(REAL) = 3.0 (SQRT) 제 2 장기본펑션및펑션블록라이브러리부 1-81 LS 산전연수원

256 STOP 프로그램에의한운전정지 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 EN REQ STOP ENO OUT 입력 EN : 1일때펑션실행 RE : 프로그램에의한운전정지요구 출력 ENO : EN 값이그대로출력 OUT : STOP 동작이실행되면 1 출력 기능 EN이 1이고 REQ에 1의값이들어오면운전을정지하고 STOP모드로됩니다. 'STOP' 펑션이수행되면수행중인스캔프로그램의수행을완료한후정지합니다. 전원을재투입하거나운전모드를 STOP으로하였다가 RUN으로하면재기동이됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하고 LOG_OUT 가 1 이되면실행중인스캔프로그램을완료한후 STOP 모드로됩니다. (2) 입력변수로선언한 'STOP' 펑션수행후안정된상태에서 PLC 의전원을끄는것이좋습니다. 제 2 장기본펑션및펑션블록라이브러리부 1-82 LS 산전연수원

257 STRING_TO_*** STRING 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING STRING_TO_*** EN IN ENO OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할문자열 출력 ENO : 에러없이실행되면 1 을출력 OUT : 타입변환된데이터 기능 IN을타입변환해서 OUT으로출력시킵니다. 펑션 출력타입 동작설명 STRING _TO_SINT SINT STRING을 SINT 타입으로변환합니다. STRING _TO_INT INT STRING 을 INT 타입으로변환합니다. STRING _TO_DINT DINT STRING 을 DINT 타입으로변환합니다. STRING _TO_LINT LINT STRING 을 LINT 타입으로변환합니다. STRING _TO_USINT USINT STRING 을 USINT 타입으로변환합니다. STRING _TO_UINT UINT STRING 을 UINT 타입으로변환합니다. STRING _TO_UDINT UDINT STRING 을 UDINT 타입으로변환합니다. STRING _TO_ULINT ULINT STRING 을 ULINT 타입으로변환합니다. STRING _TO_ STRING 을 타입으로변환합니다. STRING _TO_BYTE BYTE STRING 을 BYTE 타입으로변환합니다. STRING _TO_WORD WORD STRING 을 WORD 타입으로변환합니다. STRING _TO_DWORD DWORD STRING 을 DWORD 타입으로변환합니다. STRING _TO_LWORD LWORD STRING 을 LWORD 타입으로변환합니다. STRING _TO_REAL REAL STRING 을 REAL 타입으로변환합니다. STRING _TO_LREAL LREAL STRING 을 LREAL 타입으로변환합니다. STRING _TO_DT DT STRING 을 DT 타입으로변환합니다. STRING _TO_DATE DATE STRING 을 DATE 타입으로변환합니다. STRING _TO_TOD TOD STRING 을 TOD 타입으로변환합니다. STRING _TO_TIME TIME STRING 을 TIME 타입으로변환합니다. 에러입력문자패턴이출력데이터타입과맞지않을때 _ERR, _LER 플래그가셋 (Set) 됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-83 LS 산전연수원

258 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 STRING_TO_REAL 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(STRING 타입 ) = -1.34E12 면, 출력변수로선언된 OUT_VAL(REAL= -1.34E12 가됩니다. 입력 (IN1) : IN_VAL(STRING) = -1.34E12 (STRING_TO_REAL) 출력 (OUT) : OUT_VAL(REAL) = -1.34E12 제 2 장기본펑션및펑션블록라이브러리부 1-84 LS 산전연수원

259 STRING_TO_ARY 문자열을 Byte Array 로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING BYTE_ARY STRING_TO_ARY EN ENO IN1 OUT IN2 입력 EN : 1 일때펑션실행 IN1 : String 입력 출력 ENO : EN 값을그대로출력 OUT : dummy 출력 입출력 IN2 : 변환된 Byte Array 출력 기능하나의 String 을 30 개의 Byte Array 로변환합니다. 프로그램예 LD (1) 실행조건 (%M2) 이 On 하면 STRING_BYTE 펑션이실행됩니다. (2) 입력변수인 INPUT 이 GM4-CPUA 일경우입출력변수인 BYTE_ARY 에하위바이트부터순서대로 16#{22( ),47(G),4D(M),34(4),2D(-),43(C),50(P),55(U),41(A),22( )} 가출력됩니다. 제 2 장기본펑션및펑션블록라이브러리부 1-85 LS 산전연수원

260 SUB 빼기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_NUM ANY_NUM EN IN1 IN2 SUB ENO OUT ANY_NUM 입력 EN : 1일때펑션실행 IN1 : 빼어질값 IN2 : 뺄값 출력 ENO : 에러없이실행되면 1 을출력 OUT : 뺀결과값 IN1,IN2,OUT 에연결되는변수는모두같은데이터타입이어야함 기능 IN1 에서 IN2 를빼서 OUT 으로출력시킵니다. OUT = IN1 IN2 에러출력값이해당데이터타입의범위를벗어날경우 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 SUB( 빼기 ) 펑션이실행됩니다. (2) 입력변수값이 VALUE1 = 300,VALUE2 = 200 이면, 출력변수로설정한 OUT_VAL 는연산을실시한결과 ( =100) 가출력됩니다. 입력 (IN1) : VALUE1(INT) = 300(16#012C) (IN2) : VALUE2(INT) = 200(16#00C8) (SUB) 출력 (OUT) : OUT_VAL(INT) = 100(16#0064) 제 2 장기본펑션및펑션블록라이브러리부 1-86 LS 산전연수원

261 SUB_DATE 날짜빼기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DATE DATE SUB_DATE EN ENO IN1 OUT IN2 TIME 입력 EN : 1일때펑션실행 IN1 : 기준날짜 IN2 : 뺄날짜 출력 ENO : 에러없이실행되면 1 을출력 OUT : 두날짜간의차이를시간으로출력 기능 IN1( 기준날짜 ) 에서 IN2( 특정날짜 ) 를빼서날짜차이를 OUT 으로출력시킵니다. 에러출력값이 TIME 데이터타입의범위를벗어날경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 날짜차이가 TIME 데이터타입의범위 T#49D17H2M47S295MS 를넘거나날짜연산의결과가음수가되면에러가됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하면 SUB_DATE( 날짜빼기 ) 펑션이실행됩니다. (2) 입력변수로선언한현재의날짜 CURRENT_DATE 가 D# 이고시스템이가동을시작한날짜 START_DATE 가 D# 이면, 출력변수로선언한조업한날짜 WORK_DAY 에는 T#44D 가출력됩니다. 입력 (IN1) : CURRENT_DATE(DATE) = D# (SUB_DATE) (IN2) : START_DATE(DATE) = D# 출력 (OUT) : WORK_DAY(TIME) = T#44D 제 2 장기본펑션및펑션블록라이브러리부 1-87 LS 산전연수원

262 SUB_DT 시간과날짜빼기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DATE_AND_TIME DATE_AND_TIME EN IN1 IN2 SUB_DT ENO OUT TIME 입력 EN : 1일때펑션실행 IN : 기준날짜와시각 IN2 : 뺄날짜와시각 출력 ENO : 에러없이실행되면 1 을출력 OUT : 뺀결과시간 기능 IN1( 기준날짜와시각 ) 에서 IN2( 특정날짜와시각 ) 를빼서시간차이를 OUT 으로출력시킵니다. 에러출력값이 TIME 데이터타입의범위를벗어날경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 날짜와시각빼기연산의결과가음수가되면에러가됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 SUB_DT( 시간과날짜빼기 ) 펑션이실행됩니다. (2) 입력변수로선언한현재의날짜와시각 CURRENT_DT 가 DT# :30:00 이고조업이재개된날짜와시각 START_DT 가 DT# :00:00 이면, 출력변수로선언된연속조업한시간 WORK_TIME 에는 T#2D2H30M 가출력됩니다. 입력 (IN1) : CURRENT_DT(DT) = DT# :30:00 (SUB_DATE) (IN2) : START_DT(DT) = DT# :00:00 출력 (OUT) : WORK_TIME(TIME) = T#2D2H30M 제 2 장기본펑션및펑션블록라이브러리부 1-88 LS 산전연수원

263 SUB_TIME 시간빼기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TIME,TOD,DT TIME SUB_TIME EN ENO IN1 OUT IN2 TIME,TOD,DT 입력 EN : 1일때펑션실행 IN1 : 기준시각또는시간 IN2 : 뺄시간 출력 ENO : 에러없이실행되면 1 을출력 OUT : 뺀결과시각또는시간 OUT 의타입은입력 IN1 의타입을따름. 즉 IN1 의타입이 TIME 이면, 출력 OUT 의타입도 TIME 임. 기능 IN1 이 TIME 일경우에는시간에서시간을빼서차이시간을출력시킵니다. IN1 이 TIME_OF_DAY 일경우에는기준시각에서시간을빼서하루중의시각을출력시킵니다. IN1 이 DATE_AND_TIME 일경우에는기준이되는날짜와시각에서시간을빼서날짜와시각을출력시킵니다. 에러출력값이해당데이터타입의범위를벗어날경우, _ERR, _LER 플래그가셋 (Set) 됩니다. 시간에서시간을뺀결과가음수가되거나시각 (TOD) 에서시간을뺀결과가음수가되면에러가됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하면 SUB_TIME( 시간빼기 ) 펑션이실행됩니다. (2) 입력변수로선언된전체작업시간 TARGET_TIME 이 T#2H30M 이고, 경과된시간 ELAPSED_TIME 이 T#1H10M30S300MS 면출력변수로선언된남아있는작업시간 TIME_TO_GO 에는 T#1H19M29S700MS 가출력됩니다. 입력 (IN1) : TARGET_TIME(TIME) = T#2H30M (SUB_TIME) (IN2) : ELAPSED_TIME(TIME) = T#1H10M30S300MS 출력 (OUT) : TIME_TO_GO(TIME) = T#1H19M29S700MS 제 2 장기본펑션및펑션블록라이브러리부 1-89 LS 산전연수원

264 SUB_TOD 시각에서시각빼기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TIME_OF_DAY TIME_OF_DAY EN IN1 IN2 SUB_TOD ENO OUT TIME 입력 EN : 1일때펑션실행 IN1 : 기준시각 IN2 : 뺄시각 출력 ENO : 에러없이실행되면 1 출력 OUT : 뺀결과시간 기능 IN1( 기준시각 ) 에서 IN2( 특정시각 ) 를빼서시간차이를 OUT 으로출력시킵니다. 에러시각에서시각을뺀결과가음수가되면에러가됩니다. 프로그램예 LD (1) 실행조건 (%I0.0.0) 이 On 하면 SUB_TOD( 시각에서시각빼기 ) 펑션이실행됩니다. (2) 입력변수로선언된 END_TIME 이 TOD#14:20:30.5 이고작업을시작한 START_TIME 이 TOD#12:00:00 이면, 출력변수로선언된작업에소요된시간 WORK_TIME 에는 T#2H20M30S500MS 가출력됩니다. 입력 (IN1) : END_TIME(TOD) = TOD#14:20:30.5 (SUB_TOD) (IN2) : START_TIME(TOD) = TOD#12:00:00 출력 (OUT) : WORK_TIME(TIME) = T#2H20M30S500MS 제 2 장기본펑션및펑션블록라이브러리부 1-90 LS 산전연수원

265 TAN Tangent 연산 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN TAN ENO OUT ANY_REAL 입력 EN : 1일때펑션실행 IN : Tangent 각도입력값 (Radian) 출력 ENO : EN 값이그대로출력 OUT : Tangent 연산결과값 IN, OUT 은같은데이터타입이어야함. 기능 IN 의 Tangent 값을구해 OUT 으로출력시킵니다. OUT = TAN(IN) 프로그램예 LD (1) 실행조건 (%M0) 이 On하면 TAN(Tangent연산 ) 펑션이실행합니다. (2)INPUT으로선언된입력변수의값이 (π/4 rad = 45 ) 일때출력변수로선언된 RESULT는 입니다. TAN(π/4) = 1 입력 (IN1) : INPUT(REAL) = (TAN) 출력 (IN2) : RESULT(REAL) = E-01 제 2 장기본펑션및펑션블록라이브러리부 1-91 LS 산전연수원

266 TIME_TO_*** TIME 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TIME TIME_TO_*** EN ENO IN OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할시간데이터 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 TIME_TO_UDINT UDINT TIME를 UDINT 타입으로변환합니다. 데이터 ( 내부비트배열상태 ) 의변화없이데이터타입만변환합니다. TIME_TO_DWORD DWORD TIME를 DWORD 타입으로변환합니다. 데이터 ( 내부비트배열상태 ) 의변화없이데이터타입만변환합니다. TIME_TO_STRING STRING TIME를 STRING 타입으로변환합니다. 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 TIME_TO_UDINT 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(TIME 타입 ) = T#120MS 이면, 출력변수로선언된 OUT_VAL(UDINT 타입 ) = 120 이됩니다. 입력 (IN1) : IN_VAL(TIME) = T#120MS(16#78) (TIME_TO_UDINT) 출력 (OUT) : OUT_VAL(UDINT) = 120(16#78) 제 2 장기본펑션및펑션블록라이브러리부 1-92 LS 산전연수원

267 TOD_TO_*** TOD 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 TOD TOD_TO_*** EN ENO IN OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할하루중시각데이터 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 TOD_TO_UDINT UDINT TOD를 UDINT 타입으로변환합니다. 데이터 ( 내부비트배열상태 ) 의변화없이데이터타입만변환합니다. TOD_TO_DWORD DWORD TOD를 DWORD 타입으로변환합니다. 데이터 ( 내부비트배열상태 ) 의변화없이데이터타입만변환합니다. TOD_TO_STRING STRING TOD를 STRING 타입으로변환합니다. 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 TOD_TO_STRING 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(TOD 타입 ) = TOD#12:00:00 이면, 출력변수로선언된 OUT_VAL(STRING 타입 ) = TOD#12:00:00 이됩니다. 입력 (IN1) : IN_VAL(TOD) = TOD#12:00:00 출력 (IN2) : OUT_VAL(STRING) = TOD#12:00:00 (TOD_TO_STRING) 제 2 장기본펑션및펑션블록라이브러리부 1-93 LS 산전연수원

268 TRUNC 소수점이하값을버리고정수로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN TRUNC ENO OUT ANY_INT 입력 EN : 1 일때펑션실행 IN : 변환될 Real 값 출력 ENO : 에러없이실행되면 1 을출력 OUT: 정수로변환된값 기능펑션 입력타입 출력타입 동 작 설 명 TRUNC REAL LREAL DINT LINT 입력 IN으로들어온부동소수의소수점이하값은버리고 OUT으로정수값을출력합니다. 에러변환된값이 OUT 에연결된데이터타입의최대값보다큰경우또는 OUT 에연결된변수가 Unsigned Integer 이고변환된출력값이음수일때 OUT 으로 0 을출력한경우에는 _ERR, _LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 TRUNC ( 소수점이하값을버리고정수변환 ) 펑션이실행합니다. (2) 입력변수로선언된 REAL_VALUE(REAL 타입 )= 1.6 이면 INT_VALUE(INT 타입 ) = 1 이됩니다. REAL_VALUE(REAL 타입 )= -1.6 이면 INT_VALUE(INT 타입 ) = -1 이됩니다. 입력 (IN1) : REAL_VALUE(REAL) = 1.6 출력 (OUT) : INT_VALUE(INT) = 1 (TRUNC) 제 2 장기본펑션및펑션블록라이브러리부 1-94 LS 산전연수원

269 UDINT_TO_*** UDINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 UDINT UDINT_TO_*** EN ENO IN OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할 Unsigned Double Integer값출력 ENO : EN값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 UDINT_TO_SINT SINT 입력이 0~127일경우정상변환되나그외값은에러가발생합니다. UDINT_TO_INT INT 입력이 0~32767일경우정상변환되나그외값은에러가발생합니다. UDINT_TO_DINT DINT 입력이 0~2,147,483,64일경우정상변환되나그외값은에러가발생합니다. UDINT_TO_LINT LINT UDINT를 LINT 타입으로정상변환합니다. UDINT_TO_USINT USINT 입력이 0~255일경우정상변환되나그외값은에러가발생합니다. UDINT_TO_UINT UINT 입력이 0~65535일경우정상변환되나그외값은에러가발생합니다. UDINT_TO_ULINT ULINT UDINT를 ULINT 타입으로정상변환합니다. UDINT_TO_ 하위 1비트를취해 타입으로변환합니다. UDINT_TO_BYTE BYTE 하위 8비트를취해 BYTE 타입으로변환합니다. UDINT_TO_WORD WORD 하위 16비트를취해 WORD 타입으로변환됩니다. UDINT_TO_DWORD DWORD 내부비트배열의변환없이 DWORD 타입으로변환합니다. UDINT_TO_LWORD LWORD 상위비트를 0으로채운 LWORD 타입으로변환합니다. UDINT_TO_BCD DWORD 0~99,999,999의값은정상변환되나, 그외의값은에러가발생합니다. UDINT_TO_REAL REAL UDINT를 REAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. UDINT_TO_LREAL LREAL UDINT를 LREAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. UDINT_TO_TOD TOD 내부비트배열의변환없이 TOD 타입으로변환합니다. UDINT_TO_TIME TIME 내부비트배열의변환없이 TIME 타입으로변환합니다. 에러변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 1-95 LS 산전연수원

270 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 UDINT_TO_TIME 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(UDINT 타입 ) = 123 이면, 출력변수로선언된 OUT_VAL(TIME 타입 ) = T#123MS 가됩니다. 입력 (IN1) : IN_VAL(UDINT) = 123 출력 (OUT) : OUT_VAL(TIME) = T#123MS 제 2 장기본펑션및펑션블록라이브러리부 1-96 LS 산전연수원

271 UINT_TO_*** UINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 UINT UINT_TO_*** EN ENO IN OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할 Unsigned Integer 값 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN을타입변환해서 OUT으로출력시킵니다. 펑션출력타입동작설명 UINT_TO_SINT SINT 입력이 0~127일경우정상변환되나그외값은에러가발생합니다. UINT_TO_INT INT 입력이 0~32,767 일경우정상변환되나그외값은에러가발생합니다. UINT_TO_DINT DINT UINT 를 UDINT 타입으로정상변환합니다. UINT_TO_LINT LINT UINT를 ULINT 타입으로정상변환합니다. UINT_TO_USINT USINT 입력이 0~255일경우정상변환되나그외값은에러가발생합니다. UINT_TO_UDINT UDINT UINT 를 UDINT 타입으로정상변환합니다. UINT_TO_ULINT ULINT UINT 를 ULINT 타입으로정상변환합니다. UINT_TO_ 하위 1 비트를취해 타입으로변환합니다. UINT_TO_BYTE BYTE 하위 8 비트를취해 BYTE 타입으로변환합니다. UINT_TO_WORD WORD 내부비트배열의변환없이 WORD 타입으로변환합니다. UINT_TO_DWORD DWORD 상위비트를 0 으로채운 DWORD 타입으로변환합니다. UINT_TO_LWORD LWORD 상위비트를 0 으로채운 LWORD 타입으로변환합니다. UINT_TO_BCD BCD 0~99,999,999 의값은정상변환되나, 그외의값은에러가발생합니다. UINT_TO_REAL REAL UINT 를 REAL 타입으로변환합니다. UINT_TO_LREAL LREAL UINT 를 LREAL 타입으로변환합니다. UNIT_TO_DATE DATE 내부비트배열의변환없이 DATE 타입으로변환합니다. 에러 변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 1-97 LS 산전연수원

272 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 UINT_TO_WORD 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(UINT 타입 ) = 255(2#0000_0000_1111_1111) 이면, 출력변수로선언된 OUT_VAL(WORD 타입 ) = 2#0000_0000_1111_1111 이됩니다. 입력 (IN1) : IN_VAL(UINT) = 255 출력 (OUT) : OUT_VAL(WORD) = 16#FF (UINT_TO_WORD) 제 2 장기본펑션및펑션블록라이브러리부 1-98 LS 산전연수원

273 ULINT_TO_*** ULINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ULINT_TO_*** EN ENO IN OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할 Unsigned Long Integer 값 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 ULINT_TO_SINT SINT 입력이 0~127일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_INT INT 입력이 0~32,767일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_DINT DINT 입력이 0~2 31-1일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_LINT LINT 입력이 0~2 63-1일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_USINT USINT 입력이 0~255일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_UINT UINT 입력이 0~65,535일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_UDINT UDINT 입력이 0~ 일경우정상변환되나그외값은에러가발생합니다. ULINT_TO_ 하위 1 비트를취해 타입으로변환합니다. ULINT_TO_BYTE BYTE 하위 8 비트를취해 BYTE 타입으로변환합니다. ULINT_TO_WORD WORD 하위 16 비트를취해 WORD 타입으로변환합니다. ULINT_TO_DWORD DWORD 하위 32 비트를취해 DWORD 타입으로변환합니다. ULINT_TO_LWORD LWORD 내부비트배열의변환없이 LWORD 타입으로변환합니다. ULINT_TO_BCD ULINT_TO_REAL ULINT_TO_LREAL BCD REAL LREAL 0~9,999,999,999,999,999의값은정상변환되나, 그외값은에러가발생합니다. ULINT를 REAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. ULINT를 LREAL 타입으로변환합니다. 변환중정밀도에따른오차가발생할수있습니다. 에러변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 1-99 LS 산전연수원

274 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 ULINT_TO_LINT 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(ULINT 타입 ) = 123,567,899 이면, 출력변수로선언된 OUT_VAL(LINT 타입 ) = 123,567,899 가됩니다. 입력 (IN1) : IN_VAL(ULINT) = 123,567,899 출력 (OUT) : OUT_VAL(LINT) = 123,567,899 (ULINT_TO_LINT) 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

275 USINT_TO_*** USINT 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 USINT USINT_TO_*** EN ENO IN OUT *** 입력 EN : 1일때펑션실행 IN : 타입변환할 Unsigned Short Integer값 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN 을타입변환해서 OUT 으로출력시킵니다. 펑션 출력타입 동작설명 USINT_TO_SINT SINT 입력이 0~127일경우정상변환되나그외값은에러가발생합니다. USINT_TO_INT INT 입력을 INT 타입으로정상변환합니다. USINT_TO_DINT DINT 입력을 DINT 타입으로정상변환합니다. USINT_TO_LINT LINT 입력을 LINT 타입으로정상변환합니다. USINT_TO_UINT UINT 입력을 UINT 타입으로정상변환합니다. USINT_TO_UDINT UDINT 입력을 UDINT 타입으로정상변환합니다. USINT_TO_ULINT ULINT 입력을 ULINT 타입으로정상변환합니다. USINT_TO_ 하위 1비트를취해 타입으로변환합니다. USINT_TO_BYTE BYTE 내부비트배열의변환없이 BYTE 타입으로변환합니다. USINT_TO_WORD WORD 상위비트를 0 으로채운 WORD 타입으로변환합니다. USINT_TO_DWORD DWORD 상위비트를 0 으로채운 DWORD 타입으로변환합니다. USINT_TO_LWORD LWORD 상위비트를 0 으로채운 LWORD 타입으로변환합니다. USINT_TO_BCD BCD 0~99의값은정상변환되나, 그외의값은에러가발생합니다. USINT_TO_REAL REAL USINT를 REAL 타입으로변환합니다. USINT_TO_LREAL LREAL USINT를 LREAL 타입으로변환합니다. 에러변환에러발생시 _ERR, _LER 플래그가셋 (Set) 됩니다. 에러발생시출력타입의비트수만큼하위비트를취해내부비트배열의변환없이출력시킵니다. 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

276 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 ULINT_TO_SINT 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(USINT 타입 ) = 123 이면, 출력변수로선언된 OUT_VAL(SINT 타입 ) = 123 이됩니다. 입력 (IN1) : IN_VAL(USINT) = 123(16#7B) 출력 (OUT) : OUT_VAL(SINT) = 123(16#7B) (ULINT_TO_SINT) 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

277 WDT_RST Watch_Dog 타이머초기화 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 EN REQ WDT_RST ENO OUT 입력 EN : 1 일때펑션실행 REQ : Watch_Dog 타이머초기화요구 출력 ENO : EN 값이그대로출력 OUT : Watch_Dog 타이머를초기화후 1 출력 기능 프로그램중에서 Watch-Dog Timer를 Reset 시킵니다. 프로그램에서스캔타임이조건에의해설정된 Watch-Dog Time 시간을넘는경우사용합니다. 스캔타임이매번설정된스캔 Watch Dog Time을넘는경우는 GMWIN의기본파라미터에서스캔워치독타임의설정값으로변경해주십시오. 프로그램의 0 Line부터 WDT-RST 펑션까지의시간 T1과 WDT-RST 펑션부터프로그램끝까지의시간T2 어느쪽도스캔워치독타임설정값을넘지않도록해주십시오. 프로그램시작 WDT-RST 프로그램끝 T1 T2 WDT-RST 펑션은 1 스캔중에여러번사용가능합니다. 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

278 프로그램예스캔워치독타임이 200ms 로설정된프로그램에서실행조건에따라프로그램의두행시간이 300ms 가될때의프로그램 LD 300ms 의스캔타임을가진프로그램 150ms 의스캔타임을가진프로그램 150ms 의스캔타임을가진프로그램 (1) 실행조건 (%M0) 가 On 하면 WDT-RST(Watch Dog 타이머초기화 ) 펑션이실행합니다. (2)WDT-RST 펑션이실행되면, 프로그램의실행조건에따라스캔타임이 300ms 까지늘어나는프로그램을스캔워치독타임이내 (200ms) 으로맞출수있습니다. 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

279 WORD_TO_*** WORD 타입변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 WORD EN IN WORD_TO_*** ENO OUT *** 입력 EN : 1 일때펑션실행 IN : 타입변환할비트열 (16 비트 ) 출력 ENO : EN 값이그대로출력 OUT : 타입변환된데이터 기능 IN을타입변환해서 OUT으로출력시킵니다. 펑션 출력타입 동작설명 WORD _TO_SINT SINT 하위 8비트를취해 SINT 타입으로변환합니다. WORD _TO_INT INT 내부비트배열의변환없이 INT 타입으로변환합니다. WORD _TO_DINT DINT 상위비트를 0 으로채운 DINT 타입으로변환합니다. WORD _TO_LINT LINT 상위비트를 0으로채운 LINT 타입으로변환합니다. WORD _TO_USINT USINT 하위 8비트를취해 SINT 타입으로변환합니다. WORD _TO_UINT UINT 내부비트배열의변환없이 INT 타입으로변환합니다. WORD _TO_UDINT UDINT 상위비트를 0으로채운 DINT 타입으로변환합니다. WORD _TO_ULINT ULINT 상위비트를 0으로채운 LINT 타입으로변환합니다. WORD _TO_ 하위 1비트를취해 타입으로변환합니다. WORD _TO_BYTE BYTE 하위 8비트를취해 SINT 타입으로변환합니다. WORD _TO_DWORD DWORD 상위비트를 0으로채운 DWORD 타입으로변환합니다. WORD _TO_LWORD LWORD 상위비트를 0으로채운 LWORD 타입으로변환합니다. WORD _TO_DATE DATE 내부비트배열의변환없이 DATE 타입으로변환합니다. WORD _TO_STRING STRING WORD를 STRING 타입으로변환합니다. 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 WORD-TO-INT 펑션이실행됩니다. (2) 입력변수로선언된 IN_VAL(WORD 타입 ) = 2#0001_0001_0001_0001 이면, 출력변수로선언된 OUT_VAL(INT 타입 ) = = 4,369 가됩니다. 입력 (IN1) : IN_VAL(WORD) = 16# (WORD-TO-INT) 출력 (OUT) : OUT_VAL(INT) = 4,369(16#1111) 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

280 XOR 배타적논리합 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 입력 EN : 1 일때펑션실행 ANY_BIT ANY_BIT EN IN1 IN2 XOR ENO OUT ANY_BIT IN1 : XOR될값 IN2 : XOR될값입력 8개까지확장가능 출력 ENO : EN값이그대로출력 OUT : XOR 된값 IN1, IN2, OUT 은모두같은타입이어야함. 기능 IN1을 IN2와비트별로 XOR해서 OUT으로출력시킵니다. IN XOR IN OUT 프로그램예 LD (1) 실행조건 (%M0) 이 On하면 XOR( 배타적논리합 ) 펑션이실행됩니다. (2) 입력변수 %MB10= , ABC= 이면, 두값을 XOR시킨결과가출력변수 %QB0.0.0 = 로출력됩니다. 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

281 입력 (IN1) : %MB10(BYTE) = 16#CC (IN2) : ABC(BYTE) = 16#F (XOR) 출력 (OUT) : %QB0.0.0(BYTE) = 16#3C 제 2 장기본펑션및펑션블록라이브러리부 LS 산전연수원

282 2.2 응용펑션라이브러리 ARY_ASC_TO_BCD 입력 ASCII Array 출력 BCD Array CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ARY_ASC_T O_BCD 입력 EN : 1일때펑션실행 IN1 : ASCII Array 입력 WORD_ARY BYTE_ARY EN IN1 IN2 ENO OUT 출력 ENO : 에러없이실행되면 1 을출력 OUT : Dummy 출력 입출력 IN2 : BCD Array 출력 기능 ASCII 데이터를지니고있는 WORD Array 를입력받아서, BCD(Binary Coded Decimal) 값인 BYTE Array 로변환합니다 IN1[1] B15 B12 B B8 B7 IN1[0] B4 B B0 1 B7 IN2[0] IN2[1] B4 B B0 IN1[n] 에러 입력단의 2 개 Array 의개수가서로다를경우, IN2 값에는변화가없으며 _ERR/_LER 플래그가셋 (Set) 됩니다. IN1 Array 원소의값이 16진값으로 0 ~ 9 이외의값이입력되면, IN1에해당하는 IN2 Array 원소의값은 16#00 이되고나머지원소들의값은정상적으로변환이이루어지지만 _ERR/_LER 플래그가셋 (Set) 됩니다. IN2[n] 프로그램예 LD (1) 실행조건 (%M0) 이 On하면, ARY_ASC_TO_BCD 펑션이실행됩니다. (2) 펑션의입력변수로선언된 ASC_ARY값이다음과같이선언되어있다면 ASC_ARY[0] 3031H ASC_ARY[1] 3839H ASC_ARY[2] 3334H 제 2 장응용펑션라이브러리부 2-1 LS 산전연수원

283 펑션이실행된후에입출력변수로선언된 BCD_ARY의값은 BYTE_ARY[0] 01H BYTE_ARY[1] 89H BYTE_ARY[2] 34H 과같이출력됩니다. 제 2 장응용펑션라이브러리부 2-2 LS 산전연수원

284 ARY_ASC_TO_BYTE 입력 ASCII Array 출력 BYTE Array CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ARY_ASC_T O_BYTE 입력 EN IN1 : 1일때펑션실행 : ASCII Array 입력 WORD_ARY BYTE_ARY EN IN1 IN2 ENO OUT 출력 ENO : 에러없이실행되면 1 을출력 OUT : Dummy 출력 입출력 IN2 : BYTE Array 출력 기능 ASCII 데이터를지니고있는 WORD Array 를입력받아서, 16 진 (HEX) 값인 BYTE Array 로변환합니다. B15 B12 B11 B8 B7 B4 B3 B0 B7 B4 B3 B0 IN1[0] A IN2[0] 4 A IN1[1] IN2[1] 3 F IN1[n] IN2[n] 2 9 에러 입력단의 2 개 Array 의개수가서로다를경우, IN2 값에는변화가없으며 _ERR/_LER 플래그가셋 (Set) 됩니다. IN1 Array 원소의값이 16 진값으로 0 ~ F 이외의값이입력되면, IN1 에해당하는 IN2 Array 원소의값은 0 이되고나머지원소들의값은정상적으로변환이이루어지지만 _ERR/_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On하면, ARY_ASC_TO_BYTE 펑션이실행됩니다. (2) 펑션의입력변수로선언된 ASC_ARY값이다음과같이선언되어있다면 ASC_ARY[0] 3441H ASC_ARY[1] 3346H ASC_ARY[2] 3239H 제 2 장응용펑션라이브러리부 2-3 LS 산전연수원

285 펑션이실행된후에입출력변수로선언된 BYTE_ARY의값은 BYTE_ARY[0] 4AH BYTE_ARY[1] 3FH BYTE_ARY[2] 29H 과같이출력됩니다. 제 2 장응용펑션라이브러리부 2-4 LS 산전연수원

286 ARY_AVE_*** Array 의평균값구하기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_NUM_ARY INT INT ARY_AVE EN IN INDX LEN ENO OUT ANY_NUM 입력 EN : 1일때펑션실행 IN : 평균을위한데이터 Array INDX : Array 내에서연산을시작할위치 LEN : 평균값을구할 Array 원소의개수 출력 ENO : 에러없이실행되면 1 을출력 OUT : 연산후의평균값을출력 기능 ARY_AVE_*** 펑션은 Array 내부의지정된영역에대하여평균값을구합니다. 출력타입은입력 Array 타입과동일하게설정되어있습니다. LEN이마이너스일경우에는 Array 인덱스부터 (Array 인덱스 LEN ) 사이의원소들에대한평균값을구합니다. 평균값은반올림하여출력합니다. 펑션 출력타입 동작설명 ARY_AVE_SINT SINT SINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_INT INT SINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_DINT DINT DINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_LINT LINT LINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_USINT USINT USINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_UINT UINT UINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_UDINT UDINT UDINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_ULINT ULINT ULINT값들의평균값을구합니다.( 소수점이하는반올림 ) ARY_AVE_REAL REAL REAL값들의평균값을구합니다. ARY_AVE_LREAL LREAL LREAL값들의평균값을구합니다. 에러 Array의범위를초과하여지정한경우 _ERR/ _LER 플래그가셋 (Set) 됩니다. 에러발생시 OUT에는 0이출력됩니다. 에러가발생하는범위지정 INDX < 0 또는 INDX > IN 의최대원소번호 INDX + LEN > IN 의최대원소번호 제 2 장응용펑션라이브러리부 2-5 LS 산전연수원

287 프로그램예 LD IN_ARY 10 개 = = 의INT 로구성된어레이 (1) 입력조건 (%I1.1.6) 이 On 하면, ARY_AVE_INT 펑션이실행됩니다. (2)Array 내의값이위의그림과같을경우 Array 인덱스 3 번째로부터 6 개의원소에대한평균값을구합니다. (3) 평균값이 이지만출력타입이 INT 이므로반올림을수행하여 를출력합니다. 제 2 장응용펑션라이브러리부 2-6 LS 산전연수원

288 ARY_BCD_TO_ASC 입력 BCD Array 출력 ASCII Array CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ARY_BCD_T O_ASC 입력 EN IN1 : 1일때펑션실행 : BCD Array 입력 BYTE_ARY WORD_ARY EN IN1 IN2 ENO OUT 출력 ENO : 에러없이실행되면 1 을출력 OUT : Dummy 출력 입출력 IN2 : ASCII Array 출력 기능 BCD 값을지닌 BYTE Array 를입력받아서, ASCII 데이터를지니고있는 WORD Array 로변환합니다. B7 B4 B3 B0 B15 B12 B11 B8 B7 B4 B3 B0 IN1[0] 0 1 IN2[0] IN1[1] 8 9 IN2[1] IN1[n] 4 5 IN2[n] 에러 입력단의 2 개 Array 의개수가서로다를경우, IN2 값에는변화가없으며 _ERR/_LER 플래그가셋 (Set) 됩니다. IN1Array 원소의값이 16 진값으로 0~9 이외의값이입력되면, IN1 에해당하는 IN2 Array 원소의값은 16#3030( 00 ) 이되고나머지원소들의값은정상적으로변환이되지만 _ERR/_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On하면, ARY_BCD_TO_ASC 펑션이실행됩니다. (2) 펑션의입력변수로선언된 BCD_ARY의값이다음과같이선언되어있다면 BYTE_ARY[0] 01H BYTE_ARY[1] 89H BYTE_ARY[2] 45H 제 2 장응용펑션라이브러리 부 2-7 LS 산전연수원

289 펑션이실행된후에입출력변수로선언된 ASC_ARY의값은 ASC_ARY[0] 3031H ASC_ARY[1] 3839H ASC_ARY[2] 3435H 과같이출력됩니다. 제 2 장응용펑션라이브러리부 2-8 LS 산전연수원

290 ARY_BYTE_TO_ASC 입력 BYTE Array 출력 ASCII Array CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE_ARY WORD_ARY EN IN1 IN2 ARY_BYTE_ TO_ASC ENO OUT 입력 EN IN1 : 1일때펑션실행 : BYTE Array 입력 출력 ENO : 에러없이실행되면 1 을출력 OUT : Dummy 출력 입출력 IN2 : ASCII Array 출력 기능 16 진 (HEX) 값을가지고있는 BYTE Array 를입력받아서, ASCII 데이터를지니고있는 WORD Array 로변환합니다. B7 B4 B3 B0 B15 B12 B11 B8 B7 B4 B3 B0 IN1[0] 4 A IN2[0] A IN1[1] 3 F IN2[1] IN1[n] 2 9 IN2[n] 에러입력단의 2 개 Array 의개수가서로다를경우, IN2 값에는변화가없으며 _ERR/_LER 플래그가 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면, ARY_BYTE_TO_ASC 펑션이실행됩니다. (2) 펑션의입력변수로선언된 BYTE_ARY 의값이다음과같이선언되어있다면 BYTE_ARY[0] BYTE_ARY[1] BYTE_ARY[2] 4AH 3FH 29H 제 2 장응용펑션라이브러리부 2-9 LS 산전연수원

291 펑션이실행된후에입출력변수로선언된 ASC_ARY의값은 ASC_ARY[0] 3441H ASC_ARY[1] 3346H ASC_ARY[2] 3239H 과같이출력됩니다. 제 2 장응용펑션라이브러리부 2-10 LS 산전연수원

292 ARY_CMP_*** Array 비교 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_ARY INT ANY_ARY INT INT ARY_CMP EN IN1 IN1_INDX IN2 IN2_INDX LEN ENO OUT 입력 EN : 1일때펑션실행 IN1 : 비교할첫번째 Array IN1_INDX : 첫번째 Array에서비교할시작위치 IN2 : 비교할두번째 Array IN2_INDX : 두번째 Array에서비교할시작위치 LEN : 비교할원소의개수 출력 ENO : 에러없이실행되면 1 을출력 OUT : Array 비교값이동일하면 1 을출력 기능 ARY_CMP_*** 펑션은 2 개의 Array 를입력받아서로동일한값을가지고있는지를비교합니다. LEN 이마이너스일경우에는 Array 인덱스부터 (Array 인덱스 LEN ) 사이의원소들을비교합니다. 펑션 입력 Array 타입 동작설명 ARY_CMP_ 2개의 Array를서로비교합니다. ARY_CMP_BYTE BYTE 2개의 BYTE Array를서로비교합니다. ARY_CMP_WORD WORD 2개의 WORD Array를서로비교합니다. ARY_CMP_DWORD DWORD 2개의 DWORD Array를서로비교합니다. ARY_CMP_LWORD LWORD 2개의 LWORD Array를서로비교합니다. ARY_CMP_SINT SINT 2개의 SINT Array를서로비교합니다. ARY_CMP_INT INT 2개의 INT Array를서로비교합니다. ARY_CMP_DINT DINT 2개의 DINT Array를서로비교합니다. ARY_CMP_LINT LINT 2개의 LINT Array를서로비교합니다. ARY_CMP_USINT USINT 2개의 USINT Array를서로비교합니다. ARY_CMP_UINT UINT 2개의 UINT Array를서로비교합니다. ARY_CMP_UDINT UDINT 2개의 UDINT Array를서로비교합니다. ARY_CMP_ULINT ULINT 2개의 ULINT Array를서로비교합니다. ARY_CMP_REAL REAL 2개의 REAL Array를서로비교합니다. ARY_CMP_LREAL LREAL 2개의 LREAL Array를서로비교합니다. ARY_CMP_TIME TIME 2개의 TIME Array를서로비교합니다. ARY_CMP_DATE DATE 2개의 DATE Array를서로비교합니다. ARY_CMP_TOD TOD 2개의 TOD Array를서로비교합니다. ARY_CMP_DT DT 2개의 DT Array를서로비교합니다. 제 2 장응용펑션라이브러리부 2-11 LS 산전연수원

293 에러 Array의범위를초과하여지정한경우 _ERR/_LER 플래그가셋 (Set) 됩니다. 에러가발생하는범위지정 IN1_INDX < 0 또는 IN1_INDX > IN1 최대원소번호 IN2_INDX < 0 또는 IN2_INDX > IN2 최대원소번호 IN1_INDX + LEN IN1 최대원소번호 IN2_INDX + LEN IN2 최대원소번호 프로그램예 LD (1) 입력조건 (%M0) 이 On 하면 ARY_CMP_TIME 펑션이실행됩니다. (2)IN_ARY1 이 100 개의원소를지닌 TIME Array 이고, IN_ARY2 가 10 개의원소를지닌 TIME Array 일경우 IN_ARY1 의 11 번째원소로부터 20 번째까지 10 개의원소를 IN_ARY 2 의첫번째원소로부터 10 번째까지 10 개의원소와각각비교하여모두동일하면접점출력 %Q1.3.2 가 On 됩니다. 제 2 장응용펑션라이브러리부 2-12 LS 산전연수원

294 ARY_FLL_*** Array 내부영역채우기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY ARY INT INT ARY_FLL_*** EN ENO DATA OUT IN INDX LEN 입력 EN : 1일때펑션실행 DATA : Array 내를채울값 INDX : 값을채울 Array 내의처음위치 LEN : 값을채울 Array 원소의개수 출력 ENO : 에러없이실행되면 1 을출력 OUT : 동작이성공적으로끝나면 1 을출력 입출력 IN : 값이채워질 Array 기능 ARY_FLL_*** 펑션은입력 DATA 값으로 Array 내부의선택영역을채웁니다. LEN 이마이너스일경우에는 Array 인덱스부터 (Array 인덱스 LEN ) 사이의원소들을비교합니다. 펑션 입출력 Array 타입 동작설명 ARY_FLL_ Array 내부를지정된값으로채웁니다. ARY_FLL_BYTE BYTE BYTE Array 내부를지정된값으로채웁니다. ARY_FLL_WORD WORD WORD Array 내부를지정된값으로채웁니다. ARY_FLL_DWORD DWORD DWORD Array 내부를지정된값으로채웁니다. ARY_FLL_LWORD LWORD LWORD Array 내부를지정된값으로채웁니다. ARY_FLL_SINT SINT SINT Array 내부를지정된값으로채웁니다. ARY_FLL_INT INT INT Array 내부를지정된값으로채웁니다. ARY_FLL_DINT DINT DINT Array 내부를지정된값으로채웁니다., ARY_FLL_LINT LINT LINT Array 내부를지정된값으로채웁니다. ARY_FLL_USINT USINT USINT Array 내부를지정된값으로채웁니다. ARY_FLL_UINT UINT UINT Array 내부를지정된값으로채웁니다. ARY_FLL_UDINT UDINT UDINT Array 내부를지정된값으로채웁니다. ARY_FLL_ULINT ULINT ULINT Array 내부를지정된값으로채웁니다. ARY_FLL_REAL REAL REAL Array 내부를지정된값으로채웁니다. ARY_FLL_LREAL LREAL LREAL Array 내부를지정된값으로채웁니다. ARY_FLL_TIME TIME TIME Array 내부를지정된값으로채웁니다. ARY_FLL_DATE DATE DATE Array 내부를지정된값으로채웁니다. ARY_FLL_TOD TOD TOD Array 내부를지정된값으로채웁니다. ARY_FLL_DT DT DT Array 내부를지정된값으로채웁니다. 제 2 장응용펑션라이브러리부 2-13 LS 산전연수원

295 에러 Array의범위를초과하여지정한경우 _ERR/_LER 플래그가셋 (Set) 됩니다. 에러발생시 OUT은 OFF되고, IN의 Array 값은변하지않습니다. 에러가발생하는범위지정 INDX < 0 또는 INDX > IN의최대원소번호 INDX + LEN IN 의최대원소번호 프로그램예 LD IN_ARY (10 개의 INT 로구성된어레이 ) 어레이인덱스 2 번째부터 4 개의원소를채운다. (1) 입력조건 (%M0) 이 On 하면, ARY_FLL_INT 펑션이실행됩니다. (2)Array 인덱스 2 번째부터 4 개의원소를지정된값 34 로채웁니다. (3) 만약 LEN 을 9 로대체하면 Array 의전체개수를초과하므로에러가발생하여 _ERR 과 _LER 플래그가 On 되므로출력접점 %Q 가 On 됩니다. 제 2 장응용펑션라이브러리부 2-14 LS 산전연수원

296 ARY_MOVE Array 복사 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 입력 INT ANY_ARRAY ANY_ARRAY INT INT ARY_MOVE EN MOVE_NUM IN1 IN2 IN1_INDX IN2_INDX ENO OUT EN : 1 일때펑션실행 MOVE_NUM : Move 할어레이개수 IN1 : Move 할어레이변수 (STRING Type 은사용불가 ) IN2 : Move 될어레이변수 (STRING Type 은사용불가 ) IN1_INDX : 어레이변수의 Move 할시작 Pointer 위치 IN2_INDX : 어레이변수의 Move 될시작 Pointer 위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : 에러없이실행되면 1 을출력 기능 EN이 1이면, IN1 어레이변수의데이터를 IN2 어레이변수에복사합니다. IN1의 IN1_INDX번째값부터 MOVE_NUM 개수만큼데이터를복사하여, IN2의 IN2_INDX번째값부터붙여넣기를실행합니다. MOVE가가능하기위해서는 IN1과 IN2의데이터타입과 Size가동일해야합니다. 단, IN1과 IN2의어레이개수는다를수있습니다. 데이터타입의 Size는아래표와같습니다. 데이터 Size 변수타입 1 Bit 8 Bit BYTE, SINT, USINT 16 Bit WORD / INT / UINT / DATE 32 Bit DWORD / DINT / UDINT / TIME / TOD 64 Bit DT 에러 IN1과 IN2데이터타입의 Size가서로다른경우에러가발생합니다. IN1의 Array 개수가 (IN1_INDX + MOVE_NUM) 보다작은경우나, IN2의 Array 개수가 (IN2_INDX + MOVE_NUM) 보다작은경우에러가발생합니다. 이때, 데이터복사는수행하지않고 OUT은 0이됩니다. 또한, ENO가 OFF되고 _ERR,_LER 플래그가셋 (Set) 됩니다. 제 2 장응용펑션라이브러리부 2-15 LS 산전연수원

297 프로그램예 LD 변수명 변수타입 어레이개수 ARY_SRC INT 10 ARY_DES WORD 15 (1) 실행조건 (A) 이 On하면 ARY_MOVE 펑션이실행됩니다. (2) 아래표와같이 ARY_SRC[5] 부터 5개의데이터를 ARY_DES[10] 에복수합니다. 이때, ARY_DES의데이터타입이 WORD이므로 16진수로저장됩니다. 실행전 실행후 ARY_SRC[0] 0 ARY_DES[0] 16#0 ARY_SRC[0] 0 ARY_DES[0] 16#0 ARY_SRC[1] 11 ARY_DES[1] 16#1 ARY_SRC[1] 11 ARY_DES[1] 16#1 ARY_SRC[2] 22 ARY_DES[2] 16#2 ARY_SRC[2] 22 ARY_DES[2] 16#2 ARY_SRC[3] 33 ARY_DES[3] 16#3 ARY_SRC[3] 33 ARY_DES[3] 16#3 ARY_SRC[4] 44 ARY_DES[4] 16#4 ARY_SRC[4] 44 ARY_DES[4] 16#4 ARY_SRC[5] 55 ARY_DES[5] 16#5 ARY_SRC[5] 55 ARY_DES[5] 16#5 ARY_SRC[6] 66 ARY_DES[6] 16#6 ARY_SRC[6] 66 ARY_DES[6] 16#6 ARY_SRC[7] 77 ARY_DES[7] 16#7 ARY_SRC[7] 77 ARY_DES[7] 16#7 ARY_SRC[8] 88 ARY_DES[8] 16#8 ARY_SRC[8] 88 ARY_DES[8] 16#8 ARY_SRC[9] 99 ARY_DES[9] 16#9 ARY_SRC[9] 99 ARY_DES[9] 16#9 ARY_DES[10] 16#A ARY_DES[10] 16#37 ARY_DES[11] 16#B ARY_DES[11] 16#42 ARY_DES[12] 16#C ARY_DES[12] 16#4D ARY_DES[13] 16#D ARY_DES[13] 16#58 ARY_DES[14] 16#E ARY_DES[14] 16#63 제 2 장응용펑션라이브러리부 2-16 LS 산전연수원

298 ARY_ROT_C_*** Array 의 Bit Rotate with Carry CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT_ARY UINT UINT UINT _ARY ARY_ROT_C_*** EN SRC STRT END N CYO ENO OUT 입력 EN : 1일때펑션실행 STRT : Rotate할 bit의시작위치 END : Rotate할 bit의종료위치 N : Rotate 시킬개수 출력 ENO : 에러없이실행되면 1 을출력 OUT : 연산에러가없으면 1 을출력 입출력 SRC : Rotate 시킬 Source Array CYO : Rotate 후에출력되는 Carry bit Array 기능 ARY_ROT_C_*** 펑션은지정된범위의 Array 원소들의 bit들을정해진개수만큼 Rotate 시킵니다. 동작의지정 - 범위지정 : STRT와 END로이동할비트의범위를지정합니다. - 이동방향및횟수 : STRT에서 END방향으로지정된횟수 (N) 만큼 Rotate 합니다 - 출력 : 데이터조작의결과는 SRC에지정된 ANY_BIT_ARY에저장되며, 회전동작으로 END 위치에서 STRT로돌아들어가는비트열데이터는 CYO 비트 Array로출력됩니다. SRC[0] SRC[1] SRC[2] SRC[3] MSB 1 Bit Rotate 실행 SRC[0] SRC[1] SRC[2] SRC[3] END: 13 (4 개의 WORD 어레이 ) CYO CYO STRT: 4 LSB CYO[0] CYO[1] CYO[2] CYO[3] CYO[0] CYO[1] CYO[2] CYO[3] : 변환전 : 변환후 펑션 입출력 Array 타입 동작설명 ARY_ROT_C_BYTE BYTE ARY_ROT_C_WORD WORD 각타입 Array 원소들의비트들을지정된범위내에서 ARY_ROT_C_DWORD DWORD 지정된비트수만큼 Rotate시킵니다. ARY_ROT_C_LWORD LWORD 제 2 장응용펑션라이브러리부 2-17 LS 산전연수원

299 에러 SRC과 CYO Array 의개수가서로동일하지않을경우 _ERR/_LER 플래그가셋 (Set) 됩니다. STRT와 END가 SRC 원소의비트범위를벗어나면에러가발생합니다. 에러발생시 SRC와 CYO는변하지않습니다. 프로그램예 LD (1) 입력조건 (%M2) 이 On 되면, ARY_ROT_C_WORD 펑션이실행됩니다. (2)STRT 인 13 번째 bit 열과 END 인 4 번째비트열로지정된범위에서 STRT 로부터 END 방향으로 2 번회전합니다. (3) 회전된결과는 SRC_ARY 에저장되며이때출력되는캐리비트열은 CYO Array 로출력됩니다. ( 연산전 ) SRC_ARY : 16#F7F7 16#E3E3 16#C1C1 16#8080 (N) : 2 ( 연산후 ) SRC_ARY : 16#FDF7 16#E8F3 16#C071 16#8020 CYO : 2#1100 0: 1: 2: 3: MSB 2 Bit Rotate 실행 0: 1: 2: 3: STRT: 13 (4 개의 WORD 어레이 ) CYO : : 2: : 0 CYO : : 2: : 0 END: 4 LSB : 변환전 : 변환후 제 2 장응용펑션라이브러리부 2-18 LS 산전연수원

300 ARY_SCH_*** Array 탐색 (search) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY_ARY INT INT ARY_SCH EN DATA IN P N ENO OUT 입력 EN : 1일때펑션실행 DATA : 탐색할 DATA IN : 탐색할 Array 출력 ENO : EN 값을그대로출력 OUT : 원하는값을찾으면 1 을출력 입출력 P N : 목표값에해당하는 Array의첫번째위치 : 목표값과동일한 Array 원소들의개수 기능 ARY_SCH_*** 펑션은 Array 내에서입력된값과동일한값을찾아 Array 내에서의처음위치와전체개수를출력합니다. Array 내에서목표값과동일한값이하나이상일경우 OUT 에 1 을출력합니다. 펑션 입력 Array 타입 동작설명 ARY_SCH_ Array 내에서탐색합니다. ARY_SCH_BYTE BYTE BYTE Array 내에서탐색합니다. ARY_SCH_WORD WORD WORD Array 내에서탐색합니다. ARY_SCH_DWORD DWORD DWORD Array 내에서탐색합니다. ARY_SCH_LWORD LWORD LWORD Array 내에서탐색합니다. ARY_SCH_SINT SINT SINT Array 내에서탐색합니다. ARY_SCH_INT INT INT Array 내에서탐색합니다. ARY_SCH_DINT DINT DINT Array 내에서탐색합니다. ARY_SCH_LINT LINT LINT Array 내에서탐색합니다. ARY_SCH_USINT USINT USINT Array 내에서탐색합니다. ARY_SCH_UINT UINT UINT Array 내에서탐색합니다. ARY_SCH_UDINT UDINT UDINT Array 내에서탐색합니다. ARY_SCH_ULINT ULINT ULINT Array 내에서탐색합니다. ARY_SCH_REAL REAL REAL Array 내에서탐색합니다. ARY_SCH_LREAL LREAL LREAL Array 내에서탐색합니다. ARY_SCH_TIME TIME TIME Array 내에서탐색합니다. ARY_SCH_DATE DATE DATE Array 내에서탐색합니다. ARY_SCH_TOD TOD TOD Array 내에서탐색합니다. ARY_SCH_DT DT DT Array 내에서탐색합니다. 제 2 장응용펑션라이브러리부 2-19 LS 산전연수원

301 프로그램예 LD IN_ARY (10 개의바이트로구성된어레이 ) h 22h 33h 44h 22h 66h 77h 22h 88h 99h (1) 입력조건 (%M1) 이 On 하면 ARY_SCH_BYTE 펑션이실행됩니다. (2) 위의그림에서처럼 IN_ARY 가 10 개의바이트 Array 로구성되어있고이 Array 내부에서 22h 이라는값을탐색하면화살표로표시된바와같이 3 개가탐색됩니다. (3)POS 에는 Array 내부의첫번째위치인 1 이출력되고, NUM 에는전체개수인 3 이출력됩니다. 펑션출력으로는하나이상의값이탐색되었으므로 1 이출력되어출력접점 %Q1.3.0 은 On 이됩니다. 제 2 장응용펑션라이브러리부 2-20 LS 산전연수원

302 ARY_SFT_C_*** Array 의 Bit Shift Left with Carry CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 _ARY ANY_BIT_ARY UINT UINT UINT UINT ARY_SFT_C_*** EN ENO CY1 OUT SRC STRT END N CYO 입력 EN : 1일때펑션실행 CYI : Array에입력되는 Carry bit Array STRT : Shift할 bit의시작 END : Shift할 bit의종료위치 N : Shift 시킬개수 출력 ENO : 에러없이실행되면 1 을출력 OUT : 연산에러가없으면 1 을출력 입출력 SRC : Shift 시킬 Source Array CYO : Shift 후에출력되는 Carry bit Array 기능 ARY_SFT_C_*** 펑션은 Array 원소들의 bit들을정해진개수만큼지정된방향으로이동시킵니다. 동작의지정 - 범위지정 : STRT와 END로이동할비트의범위를지정됩니다. - 이동방향및횟수 : STRT에서 END방향으로지정된횟수 (N) 만큼이동합니다 - 입력데이터지정 : Shift한후에비워지는위치를입력데이터 (CYI) 로채웁니다. - 출력 : 데이터조작의결과는 SRC에지정된 ANY_BIT_ARY에저장되며, END 위치에서 Shift 동작으로밀려나온비트열데이터는 CYO로출력됩니다. CYI[0] CYI[1] CYI[2] CYI[3] CYI[0] CYI[1] CYI[2] CYI[3] CYI CYI SRC[0] SRC[1] SRC[2] SRC[3] (4개의 WORD 어레이 ) MSB 13 2 LSB CYO Bit Shift 실행 SRC[0] SRC[1] SRC[2] SRC[3] STRT: CYO END: CYO[0] CYO[1] CYO[2] CYO[3] CYO[0] CYO[1] CYO[2] CYO[3] : 변환전 : 변환후 펑션 입출력 Array 타입 동작설명 ARY_SFT_C_BYTE BYTE ARY_SFT_C_WORD WORD 각타입 Array 원소들의비트들을지정된범위내에서 ARY_SFT_C_DWORD DWORD 지정된비트수만큼 Shift시킵니다. ARY_SFT_C_LWORD LWORD 제 2 장응용펑션라이브러리부 2-21 LS 산전연수원

303 에러 CYI, SRC, CYO Array 의개수가모두동일하지않을경우 _ERR/_LER 플래그가셋 (Set) 됩니다. STRT와 END가 SRC 원소의비트범위를벗어나면에러가발생합니다. 에러발생시 SRC와 CYO는변하지않습니다. 프로그램예 LD (1) 입력조건 (%M2) 이 On 되면, ARY_SFT_C_WORD 펑션이실행됩니다. (2)STRT 인 13 번째 bit 열과 END 인 4 번째비트열로지정된범위에서 STRT 로부터 END 방향으로 3 번 shift 합니다. (3)Shift 후에비워지는비트열은 CYI(2#0011) 로채워집니다. (4)Shift 후의결과는 SRC_ARY 로다시출력되고캐리비트열은 CYO 로출력됩니다. ( 연산전 ) CYI : 2#0011 SRC_ARY : 16#F7F7 16#E3E3 16#C1C1 16#8080 (N) : 3 ( 연산후 ) SRC_ARY : 16#C6F7 16#C473 16#F831 16#B810 CYO : 2#1110 0: 1: 2: 3: 0: 1: 2: 3: CYI CYI : 1: 2: 3: MSB (4 개의 WORD 어레이 ) CYO : : : 0 : 변환전 : 0 3 Bit Shift 실행 0: 1: 2: 3: STRT: 13 CYO : : 2: : 0 END: 4 LSB : 변환후 제 2 장응용펑션라이브러리부 2-22 LS 산전연수원

304 ARY_SWAP_*** Array 원소데이터의상위하위바꾸기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ARY_SWAP_*** 입력 EN IN1 : 1일때펑션실행 : Array 입력 ANY_BIT_ARY ANY_BIT_ARY EN IN1 IN2 ENO OUT 출력 ENO : 에러없이실행되면 1 을출력 OUT : Dummy 출력 입출력 IN2 : Swap 된 Array 출력 기능입력된 Array 원소를 2 개의크기로구분하여상위와하위를서로교환합니다. 펑션 입력타입 동작설명 ARY_SWAP_BYTE BYTE BYTE 원소의상 하위니블 (Nibble) 을서로교환하여출력합니다. ARY_SWAP_WORD WORD WORD 원소의상 하위 BYTE 를서로교환하여출력합니다. ARY_SWAP_DWORD DWORD DWORD 원소의상 하위 WORD 를서로교환하여출력합니다. ARY_SWAP_LWORD LWORD LWORD 원소의상 하위 DWORD 를서로교환하여출력합니다. 에러입력단의 2 개 Array 의개수가서로다를경우, IN2 Array 의원소값에는변화가없으며 _ERR/_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On하면, ARY_SWAP_WORD 펑션이실행됩니다. (2) 펑션의입력변수로선언된 IN_ARY의값이다음과같을경우 IN_ARY[0] 12ABH IN_ARY[1] 23BCH IN_ARY[2] 34CDH 제 2 장응용펑션라이브러리부 2-23 LS 산전연수원

305 펑션이실행된후에입출력변수로선언된 OUT_ARY의값은 OUT_ARY[0] AB12H OUT_ARY[1] BC23H OUT_ARY[2] CD34H 과같이출력됩니다. 제 2 장응용펑션라이브러리부 2-24 LS 산전연수원

306 ASC_TO_BCD ASCII 를 BCD 로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 WORD EN IN1 ASC_TO_BCD ENO OUT BYTE 입력 EN IN : 1일때펑션실행 : ASCII입력 출력 ENO : 에러없이실행되면 1 을출력 OUT : BCD 출력 기능 2 개의 ASCII 값을받아서 2 자리의 BCD(Binary Coded Decimal) 로출력합니다. 에러 IN 값을통해 16 진값으로 0 ~ 9 이외의값이입력되면, 출력은 16#00 이되고 _ERR/_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, ASC_TO_BCD 펑션이실행됩니다. (2) 펑션의입력변수로선언된 ASCII_VAL(WORD 타입 )=16#3732= 72 일경우, 펑션의출력변수로선언된 BCD_VAL(BYTE 타입 )=16#72 가출력됩니다. 제 2 장응용펑션라이브러리부 2-25 LS 산전연수원

307 ASC_TO_BYTE ASCII 를 BYTE 로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 WORD EN IN1 ASC_TO_BYTE ENO OUT BYTE 입력 EN IN : 1일때펑션실행 : ASCII입력 출력 ENO : 에러없이실행되면 1 을출력 OUT : BYTE 출력 기능 2 개의 ASCII 데이터를입력을받아서 2 자리의 16 진 (HEX) 값으로출력합니다. 에러 IN 값을통해 16 진값으로 0 ~ F 이외의값이입력되면, 출력은 0 이되고 _ERR/_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면, ASC_TO_BYTE 펑션이실행됩니다. (2) 펑션의입력변수로선언된 ASCII_VAL(WORD 타입 )=16#4339 일경우, 펑션의출력변수로선언된 BYTE_VAL(BYTE 타입 ) = 16#C9 가출력됩니다. 제 2 장응용펑션라이브러리부 2-26 LS 산전연수원

308 BCD_TO_ASC BCD 를 ASCII 로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE EN IN1 BCD_TO_ASC ENO OUT WORD 입력 EN IN : 1일때펑션실행 : BCD 입력 출력 ENO : 에러없이실행되면 1 을출력 OUT : ASCII 출력 기능 2 자리의 BCD(Binary Coded Decimal) 값을받아서 2 개의아스키값으로출력합니다. 에러 IN 값을통해 16 진값으로 0~9 이외의값이입력되면, 출력은 16#3030( 00 ) 이되고 _ERR/_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면, BCD_TO_ASC 펑션이실행됩니다. (2) 펑션의입력변수로선언된 BCD_VAL(BYTE 타입 )=16#85 일경우, 펑션의출력변수로선언된 ASCII_VAL(WORD 타입 )=16#3835= 85 가출력됩니다. 제 2 장응용펑션라이브러리부 2-27 LS 산전연수원

309 BIT_BYTE 8 개 BIT 들을 BYTE 로묶음 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BIT_BYTE EN ENO IN1 OUT IN1 IN1 IN1 IN1 IN1 IN1 IN1 BYTE 입력 EN : 1일때펑션실행 IN1 ~ IN8 : Bit입력 출력 ENO : EN 값을그대로출력 OUT : Byte 출력 기능 8 개의비트를하나의바이트로조합합니다. IN8: MSB( 최상위비트 ), IN1: LSB( 최하위비트 ) 프로그램예 LD (1) 실행조건 (%M3) 이 On 되면, BIT_BYTE 펑션이실행됩니다. (2)8 개의입력이각각 INPUT1 부터 8 까지순서대로 {0,1,1,0,1,1,0,0} 이면, 출력변수로선언된 OUTPUT(BYTE 타입 )= 2# 입니다. 제 2 장응용펑션라이브러리부 2-28 LS 산전연수원

310 BMOV_*** 비트스트링의일부분을복사, 이동 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 B,W,D,L B,W,D,L INT INT INT BMOV_*** EN ENO IN1 OUT IN2 IN1_P IN2_P N B,W,D,L 입력 EN : 1 일때펑션실행 IN1: 조합할비트데이터를가진스트링데이터 IN2: 조합할비트데이터를가진스트링데이터 IN1_P : IN1 지정데이터상의시작비트위치 IN2_P : IN2 지정데이터상의시작비트위치 N: 조합할비트의수출력 ENO : 에러없이실행되면 1 을출력 OUT : 조합된비트스트링데이터출력 기능 EN이 1이되면 IN1의비트스트링중 IN1_P로지정된비트위치부터큰방향으로 N개의비트를취하여, IN2의비트스트링에서 IN2_P로지정된비트위치부터큰방향으로대치한후 OUT으로출력합니다. IN1 = , IN2 = 이고 IN1_P = 4, IN2_P = 8, N = 4면, 출력되는데이터는 OUT = 이됩니다. 입력에는 B(BYTE), W(WORD), D(DWORD), L(LWORD) 타입의데이터가접속가능하며, L(LWORD) 는GM1,2에만적용됩니다. 입출력데이터에맞추어 ENCO_B, ENCO_W, ENCO_D, ENCO_L 중하나의펑션을골라서사용할수있습니다. 에러 IN1_P, IN2_P의값이데이터범위를벗어나거나, N의값이음수또는 IN1_P, IN2_P부터 N개를취한것이데이터의범위를벗어나면데이터를출력하지않고, _ERR,_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD 제 2 장응용펑션라이브러리부 2-29 LS 산전연수원

311 (1) 실행조건 (%M0) 이 On 하면 BMOV_W 펑션이실행됩니다. (2) 입력변수로선언된 SOURCE = 2# , DESTINE = 2# 이고, IN1_ P = 0, IN2_P = 8, N = 4 이므로연산결과는 2# 이되고, 출력을 DESTINE 으로지정하였으므로 DESTINE = 2# 으로바뀌게됩니다. 입력 (IN1) : SOURCE(WORD) = 16#5F0A (IN2) : DESTINE(WORD) = 16#0000 (IN1_ P) = 0 (IN2_P) = 8 (N) = (BMOV_W) 출력 (OUT) : DESTINE(WORD) = 16#0A 제 2 장응용펑션라이브러리부 2-30 LS 산전연수원

312 BSUM_*** ON 된비트개수를숫자로출력 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 B,W,D,L EN IN BSUM_* ENO OUT INT 입력 EN : 1 일때펑션실행 IN : ON 비트를검색할입력데이터 출력 ENO : EN 값이그대로출력 OUT : ON 된비트개수를합한결과데이터 기능 EN 이 1 이면, IN 의비트스트링데이터중, 1 로되어있는비트의숫자를세어서 OUT 으로출력합니다. 입력에는 BYTE, WORD, DWORD, LWORD 타입의데이터가접속가능하며, LWORD 는 GM1,2 에만적용됩니다. FUNCTION IN변수타입 동작설명 BSUM_BYTE BYTE BSUM _WORD WORD BSUM _DWORD DWORD 입력테이터에맞추어 4가지펑션중하나를골라서사용합니다. BSUM _LWORD LWORD 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 BSUM_WORD 펑션이실행됩니다. (2) 입력변수로선언된 SWITCHS(WORD 타입 ) = 2# 이라면, ON 되어있는비트의개수, 즉 3 을출력하여 ON_COUNT(INT 타입 ) 에정수값 3 이저장됩니다. 제 2 장응용펑션라이브러리부 2-31 LS 산전연수원

313 BYTE_BIT BYTE 를 8 개 BIT 들로나눔 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE BYTE_BIT EN ENO IN OUT Q01 Q02 Q03 Q04 Q05 Q06 Q07 Q08 입력 EN IN : 1일때펑션실행 : Byte 입력 출력 ENO : EN 값을그대로출력 OUT : Dummy 출력 입출력 QO1~8 : Bit 출력 기능 1 개의바이트를입출력변수로선언된 8 개의비트 (QO1~QO2) 로분산합니다. QO8: MSB( 최상위비트 ), QO1: LSB( 최하위비트 ) 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, BYTE_BIT 펑션이실행됩니다. (2) 입력변수로선언된 INPUT=16#AC=2# 이면, 입출력변수로선언된 QO1~8 에 QO1 부터순서대로 2#{0, 0, 1, 1, 0, 1, 0, 1} 이저장됩니다. 제 2 장응용펑션라이브러리부 2-32 LS 산전연수원

314 BYTE_TO_ASC BYTE 를 ASCII 로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE EN IN1 BYTE_TO_ASC ENO OUT WORD 입력 EN : 1 일때펑션실행 IN : BYTE 입력 출력 ENO : EN 값을그대로출력 OUT : ASCII 출력 기능 2 자리의 16 진 (HEX) 데이터를입력받아서 2 개의아스키값으로출력합니다. 예 ) 16#12 -> #A~F 는대문자의아스키값으로출력합니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 BYTE_TO_ASC 펑션이실행됩니다. (2) 펑션의입력변수로선언된 BYTE_VAL(BYTE 타입 ) =16#3A 일경우, 펑션의출력변수로선언된 ASCII_VAL(WORD 타입 ) = 16#3341 = 3, A 가출력됩니다. 제 2 장응용펑션라이브러리부 2-33 LS 산전연수원

315 BYTE_WORD 2 개의 BYTE 를 WORD 로모음 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE BYTE EN LOW HIGH BYTE_WORD ENO OUT WORD 입력 EN : 1일때펑션블록실행 LOW : 하위 BYTE 입력 HIGH : 상위 BYTE 입력 출력 ENO : EN 값을그대로출력 OUT : WORD 출력 기능 2 개의바이트를하나의워드로조합합니다. LOW: 하위바이트입력, HIGH: 상위바이트입력 프로그램예 LD (1) 실행조건 (%M3) 이 On 되면, BYTE_WORD 펑션이실행됩니다. (2) 입력변수로선언된 BYTE_IN1=16#56 이고 BYTE_IN2=16#AD 이면, 출력변수로선언된 OUTPUT=16#AD56 입니다. 제 2 장응용펑션라이브러리부 2-34 LS 산전연수원

316 DEC_*** IN 데이터를하나감소 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT EN IN DEC_*** ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN : 감소시킬입력데이터 출력 ENO : EN 값이그대로출력 OUT : 감소시킨결과데이터 기능 EN 이 1 이면, IN 의비트스트링데이터를 1 만큼감소시켜서 OUT 으로출력합니다. 언더플로우가발생해도에러는발생하지않으며, 결과는 16#0000 인경우에 16#FFFF 가됩니다. 입력에는 BYTE, WORD, DWORD, LWORD 타입의데이터가접속가능하며, LWORD 는 GM1,2 에만적용됩니다. FUNCTION IN/OUT변수타입 동작설명 DEC_BYTE BYTE DEC_WORD WORD 입출력테이터에맞추어 4가지펑션중하나를골라서사용합니 DEC_DWORD DWORD 다. DEC_LWORD LWORD 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 DEC_WORD 펑션이실행됩니다. (2) 입력변수로선언된 %MW100 = 16#0007(2# ) 이라면, 연산이실행된후에는 %MW20 = 16#0006(2# ) 이됩니다. 제 2 장응용펑션라이브러리부 2-35 LS 산전연수원

317 DECO_*** 지정된비트위치를 ON CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 INT EN IN DECO_*** ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN : Decoding 할입력데이터 출력 ENO : 에러없이실행되면 1 을출력 OUT : Decoding 한결과데이터 기능 EN 이 1 이면, IN 의값즉비트위치지정데이터에따라서출력의비트스트링데이터중지정된위치의비트만 1 로하여출력합니다. 출력에는 BYTE, WORD, DWORD, LWORD 타입의데이터가접속가능하며, LWORD 는 GM1,2 에만적용됩니다. FUNCTION OUT변수타입 동작설명 DECO_BYTE BYTE DECO_WORD WORD DECO_DWORD DWORD 출력테이터에맞추어 4가지펑션중하나를골라서사용합니다. DECO_LWORD LWORD 에러입력데이터가음수이거나, 비트위치지정데이터가출력타입의비트한계를넘으면 (DECO_WORD 의경우 16 이상 ), OUT 은 0 이되고 _ERR,_LER 플래그가셋됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 DECO_WORD 펑션이실행됩니다. (2) 입력변수로선언된 ON_POSITON(INT 타입 ) = 5 라면, 출력의 5 번비트만 ON 되므로, RELAYS(WORD 타입 ) = 2# 이됩니다. 제 2 장응용펑션라이브러리부 2-36 LS 산전연수원

318 DEG_*** Radian 값을각도로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN DEG ENO OUT ANY_REAL 입력 EN IN : 1 일때펑션실행 : 라디안 (Radian) 값입력 출력 ENO : EN 값을그대로출력 OUT : 각도출력 기능라디안 (Radian) 값을입력받아서각도 (Degree) 로출력합니다. 펑션 입력타입 출력타입 동작설명 DEG_REAL REAL REAL 라디안 (Radian) 값을출력데이터타입에해당하는각도 DEG_LREAL LREAL LREAL 값으로변환합니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, DEG_LREAL 펑션이실행됩니다. (2) 펑션의입력변수로선언된 RAD_VAL=1.0 일경우, 펑션의출력변수 DEG_VAL= e+001 가됩니다. 제 2 장응용펑션라이브러리부 2-37 LS 산전연수원

319 DIS_*** 데이터분산 (Distribution) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT INT_ARY ANY_BIT_ARY DIS_*** EN IN1 SEG IN2 ENO OUT 입력 EN : 1일때펑션실행 IN1 : 입력데이터 SEG : 데이터분산비트수지정어레이 출력 ENO : 에러없이실행되면 1 을출력 OUT : Dummy 출력 입출력 IN2 : 분산된 WORD 어레이출력 기능입력데이터를 SEG 에서지정된비트개수단위로구분하여 IN2 로출력합니다. 펑션 입력타입 동작설명 DIS_BYTE BYTE DIS_WORD WORD 각타입에해당하는 IN1 입력을 SEG 입력어레이값으로비트열을 DIS_DWORD DWORD 구분하여 IN1 과동일한데이터타입의 IN2 어레이로출력합니다. DIS_LWORD LWORD SEG[3] 4 SEG[2] 5 SEG[1] 4 SEG[0] 3 IN1 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 분산후 IN2[0] IN2[1] IN2[2] IN2[3] b15 b15 b15 b15 b0 B2 B1 B0 b0 B6 B5 B4 B3 b0 B11 B10 B9 B8 B7 b0 B15 B14 B13 B12 에러 SEG 로지정된값들의합이입력변수타입의비트수를초과할경우 _ERR/_LER 플래그가셋 (Set) 됩니다. 제 2 장응용펑션라이브러리부 2-38 LS 산전연수원

320 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면, DIS_WORD 펑션이실행됩니다. (2) 입력변수로선언된 WORD_IN 의값이 16#3456 이고,SEG_ARY={3,4,5,4} 이면, 펑션이실행된후에 DIS_DATA 로출력되는값은 DIS_DATA[0]=16#0003 DIS_DATA[1]=16#000A DIS_DATA[2]=16#0008 DIS_DATA[3]=16#0003 가출력됩니다. 제 2 장응용펑션라이브러리부 2-39 LS 산전연수원

321 DWORD_LWORD 2 개의 DWORD 를 LWORD 로모음 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DWORD DWORD DWORD_LWORD EN LOW HIGH ENO OUT LWORD 입력 EN : 1일때펑션실행 LOW : 하위 DWORD 입력 HIGH : 상위 DWORD 입력 출력 ENO : EN 값을그대로출력 OUT : LWORD 출력 기능 2 개의 DWORD 를하나의 LWORD 로조합합니다. LOW: 하위더블워드입력, HIGH: 상위더블워드입력 프로그램예 LD (1) 실행조건 (%M11) 이 On 되면, DWORD_LWORD 펑션이실행됩니다. (2) 입력변수로선언된 INPUT1=16#1A2A3A4A5A6A7A8A 이고 INPUT2=16#8C7C7C6C5C4C3C2C1C 일때출력변수로선언된 RESULT=16#8C7C6C5C4C3C2C1C1A2A3A4A5A6A7A8A 가출력됩니다. 제 2 장응용펑션라이브러리부 2-40 LS 산전연수원

322 DWORD_WORD DWORD 를 2 개의 WORD 로나눔 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 DWORD WORD WORD EN IN LOW HIGH DWORD_WORD ENO OUT 입력 EN : 1 일때펑션실행 IN : DWORD 입력 출력 ENO : EN 값을그대로출력 OUT : Dummy 출력 입출력 LOW : 하위 WORD 출력 HIGH : 상위 WORD 출력 기능하나의 DWORD 를 2 개의 WORD 로분산합니다. LOW: 하위워드출력, HIGH: 상위워드출력 프로그램예 LD (1) 실행조건 (%M5) 이 On 되면, DWORD_WORD 펑션이실행됩니다. (2) 입력변수로선언된 INPUT=16# AABBCCDD 일때, 입출력변수로선언된 WORD_OUT1=16#AABBCCDD WORD_OUT2=16# 이저장됩니다. 제 2 장응용펑션라이브러리부 2-41 LS 산전연수원

323 ENCO_*** ON 된비트위치를숫자로출력 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT EN IN ENCO_*** ENO OUT INT 입력 EN : 1 일때펑션실행 IN : Encoding 할입력데이터 출력 ENO : 에러없이실행되면 1 을출력 OUT : Encoding 한결과데이터 기능 EN 이 1 이면, IN 의비트스트링데이터중, 1 로되어있는비트중최상위비트의위치를 OUT 으로출력합니다. 입력에는 B(BYTE), W(WORD), D(DWORD), L(LWORD) 타입의데이터가접속가능하며, L(LWORD) 는 GM1,2 에만적용됩니다. FUNCTION IN변수타입 동작설명 ENCO_BYTE BYTE ENCO_WORD WORD ENCO_DWORD DWORD 각입력변수타입에따라원하는 ENCO 펑션을골라서사용합니다. ENCO_LWORD LWORD 에러입력데이터중하나의비트도 1 이되어있지않은경우는 OUT 은 -1 이되고, _ERR,_LER 플래그가셋 (Set) 됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 ENCO_WORD 펑션이실행됩니다. (2)SWITCHS(WORD 타입 ) = 2# 이라면, ON 되어있는 2 비트의위치, 즉 11 과 1 중상위위치인 11 을출력하여 ON_POSITON(INT 타입 ) 에정수값 11 이저장됩니다. 제 2 장응용펑션라이브러리부 2-42 LS 산전연수원

324 GET_CHAR 문자열로부터한문자 (CHAR) 추출 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 STRING INT EN IN N GET_CHAR ENO OUT BYTE 입력 EN : 1 일때펑션실행 IN : STRING 입력 N : STRING 내의위치지정 출력 ENO : EN 값을그대로출력 OUT : Byte 출력 기능 STRING 의지정된위치로부터하나의바이트를추출합니다. 에러 N 값이스트링의바이트개수를넘는경우 _ERR/_LER 플래그가셋 (set) 됩니다. 에러가발생했을경우 16#00이출력됩니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, GET_CHAT 펑션이실행됩니다. (2) 입력변수로선언된 INPUT(STRING 타입 )= LG GLOFA PLC 일때이 String 의 4 번째문자를추출하게되면출력변수로선언된 OUTPUT 으로 16#47( G ) 가출력됩니다. 제 2 장응용펑션라이브러리부 2-43 LS 산전연수원

325 INC_*** IN 데이터를하나증가 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT EN IN INC_*** ENO OUT ANY_BIT 입력 EN : 1 일때펑션실행 IN : 증가시킬입력데이터 출력 ENO : EN 값이그대로출력 OUT : 증가시킨결과데이터 기능 EN 이 1 이면, IN 의비트스트링데이터를 1 만큼증가시켜서 OUT 으로출력합니다. 오버플로우가발생해도에러는발생하지않으며, 결과는 16#FFFF 인경우에 16#0000 가됩니다. 입력에는 BYTE, WORD, DWORD, LWORD 타입의데이터가접속가능하며, LWORD 는 GM1,2 에만적용됩니다. FUNCTION IN/OUT변수타입 동작설명 INC_BYTE BYTE INC_WORD WORD 입출력데이터에맞추어 4가지펑션중하나를골라서사용합니 INC_DWORD DWORD 다. INC_LWORD LWORD 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면 INC_WORD 펑션이실행됩니다. (2) 입력변수 %MW100 = 16#0007(2# ) 이라면, 연산이실행된후에는 %MW100 = 16#0008(2# ) 이됩니다. 제 2 장응용펑션라이브러리부 2-44 LS 산전연수원

326 LWORD_DWORD LWORD 를 2 개의 DWORD 로나눔 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 LWORD DWORD DWORD LWORD_DWORD EN ENO IN OUT LOW HIGH 입력 EN : 1 일때펑션실행 IN : LWORD 입력 출력 ENO : EN 값을그대로출력 OUT : Dummy 출력 입출력 LOW : 하위 DWORD 출력 HIGH : 상위 DWORD 출력 기능 하나의 LWORD 를 2개의 DWORD 로분산합니다. LOW: 하위더블워드출력, HIGH: 상위더블워드출력 프로그램예 LD (1) 실행조건 (%M10) 이 On 되면, LWORD_DWORD 펑션이실행됩니다. (2) 입력변수로선언된 INPUT=16#AAAABBBBCCCCDDDDABCDABCDABCDABCD 일때, 입출력변수로선언된 DWO_OUT1=16#ABCDABCDABCDABCD DWO_OUT2=16#AAAABBBBCCCCDDDD 가출력됩니다. 제 2 장응용펑션라이브러리부 2-45 LS 산전연수원

327 MCS Master Control CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 INT EN NUM MCS ENO OUT 입력 EN : 1 일때펑션실행 NUM : Nesting (0~15) 출력 ENO : MCS 명령이실행되면 1 을출력 OUT : Dummy( 항상 0 을출력합니다.) 기능 EN 이 On 이면, Master Control 이수행됩니다. 이경우, MCS 펑션에서 MCSCLR 펑션사이의프로그램은정상적으로수행됩니다. EN 이 Off 인경우, MCS 펑션에서 MCSCLR 펑션사이의프로그램은아래와같이수행됩니다. 명령어 명령어상태 Timer 현재값은 0이되고, 출력 (Q) 은 Off됩니다. Counter 출력 (Q) 은 Off되고, 현재값은현재상태를유지합니다. 코일 모두 Off됩니다. 역코일 모두 Off됩니다. 셋코일, 리셋코일 현재값을유지합니다. 펑션, 펑션블록 현재값을유지합니다. EN 이 Off 인경우에도 MCS 펑션에서 MCSCLR 펑션사이의명령들이위와같이수행되기때문에스캔타임이감소되지않습니다. Master Control 명령은 Nesting 해서사용될수있습니다. 즉, Master Control 영역이 Nesting(NUM) 에의해구분될수있습니다. Nesting(NUM) 은 0 에서 15 까지설정이가능하고, 만약 16 이상으로설정한경우 Master Control 이정상적으로동작하지않습니다. * MCSCLR 없이 MCS 명령을사용한경우,MCS 펑션에서프로그램의마지막행까지 Master Control 이수행되니주의바랍니다. 제 2 장응용펑션라이브러리부 2-46 LS 산전연수원

328 프로그램예 A 가 On 일때실행합니다. A 와 B 가 On 일때실행합니다. A 와 B 와 C 가 On 일때실행합니다. A 와 B 가 On 일때실행합니다. A 가 On 일때실행합니다. A,B,C 와상관없이실행합니다. 제 2 장응용펑션라이브러리부 2-47 LS 산전연수원

329 MCSCLR Master Control 해제명령 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 INT EN NUM MCSCLR ENO OUT 입력 EN : 1 일때펑션실행 NUM : Nesting (0~15) 출력 ENO : MCSCLR 명령이실행되면 1 을출력 OUT : MCSCLR 명령이실행되면 1 을출력 기능 Master Control 명령을해제합니다. 그리고, Master Control 영역의마지막을가리킵니다. MCSCLR 펑션동작시 Nesting(NUM) 의값보다같거나작은모든 MCS 명령을해제합니다. * MCSCLR 펑션앞에는접점을사용하지않습니다. 프로그램예 MCS 펑션의프로그램예를참조바랍니다. 제 2 장응용펑션라이브러리부 2-48 LS 산전연수원

330 MEQ_*** Masked Equal CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT ANY_BIT ANY_BIT EN IN1 LOW HIGH MEQ ENO OUT 입력 EN : 1일때펑션실행 IN1 : 입력1 IN2 : 입력2 MASK : masking할입력값 출력 ENO : EN 값을그대로출력 OUT : 동일하면 1 을출력 기능 입력된변수값들을 Masking한후두개의변수값이서로동일한지를비교합니다. 만약 8비트변수값을 2# 으로 Masking 하면하위 2비트는입력값비교에서제외됩니다. 하나의변수값에서특정비트들이 ON되어있는지검사하는용도로도사용이가능합니다. 즉, 8비트변수비교시 IN1에비교하고자하는변수를입력하고 IN2에는 16#FF로설정한후 MASK에검색하고자하는비트조합을입력하면 (i.e. 2# ) 입력되는변수와비교하여동일한경우 ON이출력됩니다. 펑션입력변수타입동작설명 MEQ_BYTE MEQ_WORD MEQ_DWORD MEQ_LWORD BYTE WORD DWORD LWORD 입력값들을 Masking 한후이값들이서로동일한지를비교합니다. 제 2 장응용펑션라이브러리부 2-49 LS 산전연수원

331 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, MEQ_BYTE 펑션이실행됩니다. (2) 입력변수 INPUT1(BYTE 타입 )= 2# INPUT2(BYTE 타입 )= 2# MASK(BYTE 타입 ) = 2# 일경우 Making 된후의입력변수들의비교할비트는 INPUT1 (BYTE 타입 ) = 2# INPUT2 (BYTE 타입 )= 2# 과같이되어서로동일한값을가지므로출력접점 %Q 이 On 됩니다 제 2 장응용펑션라이브러리부 2-50 LS 산전연수원

332 PUT_CHAR 문자열에한문자써넣기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 BYTE STRING INT PUT_CHAR EN ENO DATA OUT IN N BYTE 입력 EN : 1일때펑션실행 DATA : String에삽입할 Byte입력 IN : String 입력 N : String내의위치지정 출력 ENO : EN 값을그대로출력 OUT : String 출력 기능하나의바이트입력값을 STRING상의지정된위치 (N 숫자 ) 에덮어쓰기 (Overwrite) 합니다. 에러 N 값이스트링의바이트개수를넘는경우 _ERR/_LER 플래그가셋 (Set) 됩니다. 에러가발생했을경우 16#00 이출력됩니다. 프로그램예 LD (1) 실행조건 (%M1) 이 On하면 PUT_CHAR 펑션이실행됩니다. (2) 입력변수인 INPUT=16#41( A ) 이고 STRING_IN= TOKEN 일때입력변수 STRING_IN의 2번째위치에입력변수 INPUT이지닌값을덮어쓰기하게되면출력변수인 RESULT는 TAKEN 이됩니다. 제 2 장응용펑션라이브러리부 2-51 LS 산전연수원

333 RAD_*** 각도 (DEG) 를 Radian 값으로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_REAL EN IN RAD ENO OUT ANY_REAL 입력 EN IN : 1일때펑션실행 : 각도입력 출력 ENO : EN 값을그대로출력 OUT : 라디안값출력 기능 각도의단위를도 ( ) 에서라디안 (Radian) 값으로출력합니다. 각도가 360 를넘어서더라도정상적으로변환시켜줍니다.( 예를들어, 입력이 370 이면출력은 360 를뺀 10 에해당하는라디안값을출력합니다.) 펑션 입력타입 출력타입 동작설명 RAD_REAL REAL REAL 각도의단위를도 ( ) 에서출력데이터타입에해당하는 RAD_LREAL LREAL LREAL 라디안값으로변환합니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면, RAD_REAL 펑션이실행됩니다. (2) 펑션의입력변수로선언된 DEG_VAL=127( ) 일경우, 펑션의출력변수값은 RAD_VAL= 이됩니다. 제 2 장응용펑션라이브러리부 2-52 LS 산전연수원

334 ROTATE_A_*** 지정된어레이원소의 ROTATE CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_ARY UINT UINT INT ROTATE_A_*** EN ENO SRC OUT STRT END N STRING 입력 EN : 1일때펑션실행 N : Rotate 시킬개수 STRT : 어레이블록중 Rotate할원소의시작위치 END : 어레이블록중 Rotate 할원소의종료위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : Rotate 하여밀려나온데이터를출력 입출력 SRC : Rotate 조작이가해질어레이블록 기능 ROTATE_A_*** 펑션은어레이블록중지정된범위의원소들을지정된방향으로이동시킵니다. 동작의지정 : - 범위지정 : STRT와 END로이동할데이터원소의범위를지정합니다. - 이동방향및횟수 : STRT에서 END방향으로지정된횟수 (N) 만큼 Rotate됩니다. - 입력데이터지정 : Rotate하여비워지는위치를입력데이터 (IN) 로채웁니다. - 출력 : 데이터조작의결과는 SRC에지정된 ANY_ARY 에저장되며, END 위치에서 Rotate 동작으로 STRT로돌아들어가는데이터는 OUT으로출력됩니다. SRC SRC ARRAY(0) ARRAY(0) STRT : 1 ARRAY(1) ARRAY(1) ARRAY(2) ARRAY(2) ARRAY(3) ARRAY(3) ARRAY(4) ARRAY(4) ARRAY(5) ARRAY(5) ARRAY(6) ARRAY(6) END : 7 ARRAY(7) ARRAY(7) ARRAY(8) OUT ARRAY(8) ARRAY(9) N = 2 ARRAY(9) 변환전 변환후 제 2 장응용펑션라이브러리부 2-53 LS 산전연수원

335 펑션 입출력어레이타입 동작설명 ROTATE_A_ ROTATE_A_BYTE BYTE ROTATE_A_WORD WORD ROTATE_A_DWORD DWORD ROTATE_A_LWORD LWORD ROTATE_A_SINT SINT ROTATE_A_INT INT ROTATE_A_DINT DINT ROTATE_A_LINT LINT 각타입어레이의지정된범위의원소들을지정된방향 ROTATE_A_USINT USINT 으로 ROTATE 시킵니다. ROTATE_A_UINT UINT ROTATE_A_UDINT UDINT ROTATE_A_ULINT ULINT ROTATE_A_REAL REAL ROTATE_A_LREAL LREAL ROTATE_A_TIME TIME ROTATE_A_DATE DATE ROTATE_A_TOD TOD ROTATE_A_DT DT 에러 STRT 또는 END값이 SRC 어레이의원소개수범위를벗어나면 _ERR/_LER 플래그가셋 (Set) 됩니다. 에러발생시 SRC는변하지않고출력은각변수타입의초기화값 (i.e. INT=0, TIME=T#0S) 이출력됩니다. 프로그램예 LD (1) 입력조건 (%M2) 이 On 되면, ROTATE_A_BYTE 펑션이실행됩니다. (2) 입출력변수로선언된 SRC_ARY 의인덱스 8 의원소부터인덱스 2 의원소의방향으로 ROTATE 동작이 2 번일어납니다. (3) 출력값에는캐리출력에해당하는원소의값 16#44 가출력됩니다. 제 2 장응용펑션라이브러리부 2-54 LS 산전연수원

336 SRC_ARY SRC_ARY 16#11 16#11 16#22 16#22 END : 2 16#33 16#55 16#44 16#66 16#55 16#77 16#66 16#88 16#77 16#99 16#88 16#33 STRT : 8 16#99 16#44 16#AA 16#AA 변환전 OUT 44 N = 3 변환후 제 2 장응용펑션라이브러리부 2-55 LS 산전연수원

337 ROTATE_C_*** 지정된어레이원소의 ROTATE CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT UINT UINT UINT ROTATE_C_*** EN ENO SRC OUT STRT END N 입력 EN : 1일때펑션실행 STRT : SRC의비트열중회전할범위의시작 bit 위치 END : SRC의비트열중회전할범위의끝 bit 위치 N : Shift할비트수 출력 ENO : 에러없이수행되면 1 을출력 OUT : Carry 출력 입출력 SRC : 회전할변수 기능 SRC의비트열중지정된범위의원소들을지정된방향으로회전합니다. 동작의지정 : - 범위지정 : STRT와 END로이동할비트의범위를지정합니다. - 이동방향및횟수 : START 에서 END방향으로지정된횟수 (N) 만큼회전됩니다. - 출력 : 데이터조작의결과는 SRC 에지정된 ANY_BIT 에바뀌어저장되며, 회전동작으로 END위치에서 STRT로돌아들어가는비트데이터는 OUT으로도출력됩니다. END:12 STRT:0 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 : 실행전 N=1 OUT B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 : 실행후 펑션 SRC변수타입 동작설명 ROTATE_C_BYTE BYTE ROTATE_C_WORD WORD 입력값의지정된범위에해당하는비트들을지정된횟수만큼 ROTATE_C_DWORD DWORD Rotate시킵니다. ROTATE_C_LWORD LWORD 에러 START 와 END 값이 SRC 변수타입의비트개수를넘는경우 _ERR/_LER 플래그가셋 (Set) 됩니다. SRC의값은변화가없습니다. 제 2 장응용펑션라이브러리부 2-56 LS 산전연수원

338 프로그램예 LD (1) 실행조건 (%M2) 이 On 되면, ROTATE_C_WORD 펑션이실행됩니다. (2)16#A5A5 값이 STRT(13) 와 END(3) 로지정된범위에서 STRT 부터 END 방향으로 2 번을회전합니다. (3)Rotate 된후의값이 SRC(16#896D) 로다시출력되고회전되면서 END 위치에서 STRT 로되돌아가는비트인 0 이 OUT 으로출력됩니다. STRT:13 END: : 실행전 N=2 OUT : 실행후 제 2 장응용펑션라이브러리부 2-57 LS 산전연수원

339 RTC_SET 시간데이터쓰기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY REQ DATA RTC_SET DONE STAT USINT 입력 REQ : Rising Edge 시펑션블록실행 DATA : 입력할시간데이터 출력 DONE : RTC_SET 을정상적으로수행되면 1 을출력 STAT : 에러발생시에러코드출력 기능 REQ 변수의 Rising Edge 에서아래와같이 Setting한 RTC시간 (DATA) 을 PLC의 Clock Device에저장합 니다. 변수 내용 예 변수 내용 예 DATA[0] 년도 16#01 DATA[4] 분 16#30 DATA[1] 월 16#03 DATA[5] 초 16#45 DATA[2] 일 16#15 DATA[6] 요일 16#03 DATA[3] 시 16#18 DATA[7] 년대 16#20 * 위예는 2001년 3월 15일 ( 목 ) 18시 30분 45초인경우입니다. * 요일표시는월 : 0, 화 : 1, 수 : 2, 목 : 3, 금 : 4, 토 : 5, 일 : 6 으로합니다. 위 DATA 변수는반드시어레이 BYTE 변수로선언하고, 각각의데이터는 BCD값으로 Setting 합니다. 에러 CPU 가 RTC 를지원하지않는경우나, RTC 데이터가범위를벗어난경우출력 (DONE) 은 0 이 STAT 에아래표와같이에러코드를출력합니다. 에러코드내용 00 No error 01 RTC 모듈이없습니다. * GM6인경우 GM6-CPUB, GM6-CPUC 만 RTC를지원합니다. * GM7 인경우G7E-RTCA를장착하십시오. 02 부적절한 RTC 데이터입니다. 예 ) 14( 월 ) 32( 일 ) 25( 시간 ) * RTC 데이터를옳바르게설정하여주십시오. 프로그램예 RTC 데이터가 :53:24, 일요일인경우의예입니다. (1) 설정스위치가 온 될때설정값으로 PLC 의 RTC 값이입력또는변경됩니다. 제 2 장응용펑션라이브러리부 2-58 LS 산전연수원

340 (2) 아래는변수 ( 설정값 ) 설정방법입니다. (3) 위와같이초기값으로주는방법외에설정값은펑션 MOVE 를사용하여각각의설정치를변수 ( 설정값 ) 로저장할수있습니다. 제 2 장응용펑션라이브러리부 2-59 LS 산전연수원

341 (4) RTC 값을읽을경우아래의플래그를사용합니다. 예 : :37:46, 화 키워드 Type 내용 설명 Data _RTC_TOD TOD 현재시각현재시각데이터 TOD#19:37:46 UINT 현재요일요일데이터 _RTC_WEEK *(0: 월, 1: 화, 2: 수, 3: 목, 4: 금, 1 5: 토, 6: 일 ) _INT_DATE DATE 현재날짜현재날짜데이터 (1984년1월1일 ~2083년 D# 월31일 ) _RTC_ERR RTC 에러 RTC 데이터에러시 1 출력 0 _RTC_TIME[n] * n : 0 to 7 BCD 현재시각 RTC 현재시각의 BCD 데이터 _RTC _TIME[0]: 년, _RTC _TIME[1]: 월, _RTC _TIME[2]: 일, _RTC _TIME[3]: 시, _RTC _TIME[4]: 분, _RTC _TIME[5]: 초, _RTC _TIME[6]: 요일,_RTC _TIME[7]: 세기요일 ( 0: 월, 1: 화, 2: 수, 3: 목, 4: 금, 5: 토, 6: 일 ) _RTC _TIME[0]: 16#98 _RTC _TIME[1]: 16#12 _RTC _TIME[2]: 16#22 _RTC _TIME[3]: 16#19 _RTC _TIME[4]: 16#37 _RTC _TIME[5]: 16#46 _RTC _TIME[6]: 16#1 _RTC _TIME[7]: 16#19 제 2 장응용펑션라이브러리부 2-60 LS 산전연수원

342 SEG BCD 또는 HEX 값을 7 세그먼트디스플레이코드로변환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 WORD EN IN SEG ENO OUT DWORD 입력 EN : 1 일때펑션실행 IN : 7 세그먼트코드로변환할입력데이터 출력 ENO : EN 값이그대로출력 OUT : 7 세그먼트코드로변환된결과데이터 기능 EN이 1이면, IN의 BCD 또는 HEX(16진 ) 숫자를아래표와같이 7세그먼트디스플레이를위한코드로변환하여OUT으로출력합니다. BCD입력의경우 0000 ~ 9999까지의값이 4개의 7세그먼트에표시가능하며, HEX입력의경우 0000 ~ FFFF의값이 4개의 7세그먼트에표시가능합니다. 표시예 1) 4자리 BCD -> 4자리 7세그먼트코드 : SEG 펑션사용 2) 4자리 HEX -> 4자리 7세그먼트코드 : SEG 펑션사용 3) 정수 -> 4자리 BCD형의 7세그먼트코드 : INT_TO_BCD 펑션을거쳐서 SEG 펑션사용 4) 정수 -> 4자리 HEX형의 7세그먼트코드 : INT_TO_WORD 펑션을거쳐서 SEG 펑션사용 5) 7세그먼트의자릿수가 4자리를넘을때가 ) BCD, HEX는 4자리씩나누어 SEG 펑션을사용나 ) 정수 -> 8자리 BCD형 7세그먼트코드 : 정수를 10,000으로나누어몫과나머지를각각 INT_TO_BCD 펑션을거쳐서 SEG 로변환하여상위 4자리와하위 4자리의 7세그먼트코드를생성 프로그램예 LD 제 2 장응용펑션라이브러리부 2-61 LS 산전연수원

343 (1) 실행조건 (%M0) 이 On 하면 SEG 펑션이실행됩니다. (2) 입력변수로선언된 BCD_DATA(WORD 타입 ) = 16#1234 라면, 7 세그먼트디스플레이에 1234 가표시되는코드 2# _ _ _ 이출력되어 SEG_PATTERN(DWORD 타입 ) 에저장됩니다. 입력 (IN1) : BCD_DATA(WORD) = 16#1234 출력 (OUT) : SEG_PATTERN(DWORD) = 16#065B4F66 7 세그먼트의구성 B0 상위하위 (SEG) B5 B6 B1 B4 B3 B2 7 세그먼트코드변환표 입력 (BCD) 입력 (16진수) 정수값 출력 B7 B6 B5 B4 B3 B2 B1 B0 표시데이터 A A B B C C D D E E F F 제 2 장응용펑션라이브러리부 2-62 LS 산전연수원

344 SHIFT_A_*** 지정된어레이원소의 SHIFT CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY_ARY UINT UINT UINT SHIFT_A_*** EN ENO IN OUT SRC STRT END N ANY 입력 EN : 1일때펑션실행 IN : Shift된후비워진원소들의자리에입력될값 N : Shift 시킬개수 STRT: 어레이블록중 Shift할원소의시작위치 END : 어레이블록중 Shift할원소의종료위치 출력 ENO : 에러없이실행되면 1 을출력 OUT : Shift 하여밀려나온데이터를출력 입출력 SRC : Shift 조작이가해질어레이블록 기능 SHIFT_A_*** 펑션은어레이블록중지정된범위의원소들을지정된방향으로이동시킵니다. 동작의지정 : - 범위지정 : STRT와 END로이동할데이터원소의범위를지정합니다. - 이동방향및횟수 : STRT에서 END방향으로지정된횟수 (N) 만큼 Shift 됩니다. - 입력데이터지정 : Shift 하여비워지는위치를입력데이터 (IN) 로채웁니다. - 출력 : 데이터조작의결과는 SRC에지정된 ANY_ARY 에저장되며, END 위치에서 Shift 동작으로밀려나온데이터는 OUT으로출력됩니다. SRC SRC ARRAY(0) IN ARRAY(0) STRT : 1 ARRAY(1) ARRAY(1) ARRAY(2) ARRAY(2) ARRAY(3) ARRAY(3) ARRAY(4) ARRAY(4) ARRAY(5) ARRAY(5) ARRAY(6) ARRAY(6) END : 7 ARRAY(7) ARRAY(7) ARRAY(8) OUT ARRAY(8) ARRAY(9) 변환전 N = 2 ARRAY(9) 변환후 제 2 장응용펑션라이브러리부 2-63 LS 산전연수원

345 펑션 입출력어레이타입 동작설명 SHIFT_A_ SHIFT_A_BYTE BYTE SHIFT_A_WORD WORD SHIFT_A_DWORD DWORD SHIFT_A_LWORD LWORD SHIFT_A_SINT SINT SHIFT_A_INT INT SHIFT_A_DINT DINT SHIFT_A_LINT LINT 각타입어레이의지정된범위의원소들을지정된방향으 SHIFT_A_USINT USINT 로이동시킵니다. SHIFT_A_UINT UINT SHIFT_A_UDINT UDINT SHIFT_A_ULINT ULINT SHIFT_A_REAL REAL SHIFT_A_LREAL LREAL SHIFT_A_TIME TIME SHIFT_A_DATE DATE SHIFT_A_TOD TOD SHIFT_A_DT DT 에러 STRT 또는END값이 SRC 어레이의원소개수범위를벗어나면 _ERR/_LER 플래그가셋 (Set) 됩니다. 에러발생시 SRC는변하지않고출력은각변수타입의초기화값 (i.e. INT=0, TIME=T#0S) 이출력됩니다. 프로그램예 LD (1) 입력조건 (%M2) 이 On 되면, SHIFT_A_INT 펑션이실행됩니다. (2) 입출력변수로선언된 SRC_ARY 의인덱스 2 의원소부터인덱스 8 의원소까지 SHIFT 동작이일어납니다. (3) 지정된영역의원소들이 3 번 SHIFT 됩니다. (4)SHIFT 된후에비워지는원소들즉, 어레이인덱스 2 의원소부터 3 개의원소가입력값 555 로채워집니다. (5) 출력값에는캐리 (Carry) 출력에해당하는원소의값 1234 가출력됩니다. 제 2 장응용펑션라이브러리부 2-64 LS 산전연수원

346 SRC_ARY SRC_ARY IN STRT : END : 변환전 OUT 1234 N = 3 변환후 제 2 장응용펑션라이브러리부 2-65 LS 산전연수원

347 SHIFT_C_*** Shift with Carry CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT UINT UINT UINT SHIFT_C_*** EN ENO CY1 OUT SRC STRT END N ANY 입력 EN : 1일때펑션실행 CYI : Carry 입력 STRT : SRC의비트열중 Shift할시작 bit 위치 END : SRC의비트열중 Shift할끝 bit 위치 N : Shift할비트수 출력 ENO : 에러없이수행되면 1 을출력 OUT : Carry 출력 입출력 SRC : Shift 할변수 기능 SRC의비트열중지정된범위의원소들을지정된방향으로이동합니다. 동작의지정 : - 범위지정 : STRT와 END로이동할비트의범위를지정합니다. - 이동방향및횟수 : STRT에서 END방향으로지정된횟수 (N) 만큼 Shift됩니다. - 입력데이터지정 : Shift 하여비워지는위치를입력데이터 (CYI) 로채웁니다. - 출력 : 데이터조작의결과는 SRC 에지정된 ANY_BIT 에바뀌어저장되며, END위치에서 Shift 동작으로밀려나온비트데이터는 OUT으로출력됩니다. END:12 STRT:0 B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 : 실행전 N=1 CYI OUT B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 : 실행후 펑션 SRC 변수타입 동작설명 SHIFT_C_BYTE BYTE SHIFT_C_WORD WORD 입력값의지정된범위에해당하는비트들을지정된횟수만큼 SHIFT_C_DWORD DWORD Shift시킵니다. SHIFT_C_LWORD LWORD 제 2 장응용펑션라이브러리부 2-66 LS 산전연수원

348 에러 STRT 와 END 값이 SRC 변수타입의비트개수를넘는경우 _ERR/_LER 플래그가셋 (Set) 됩니다. SRC의값은변화가없습니다. 프로그램예 LD (1) 실행조건 (%M2) 이 On 되면, SHIFT_C_WORD 펑션이실행됩니다. (2)16#A5A5 값이 STRT 에서 END 방향으로 2 비트 shift 하고 shift 후에비워지는비트는 CYI 값인 1 로채워집니다. (3)Shift 된후의값은다시 SRC(16#969D) 로출력되고 2 비트 shift 되면서밀려나온값 0 이 OUT 으로출력됩니다. END:13 STRT: : 실행전 N=2 CYI : 실행후 제 2 장응용펑션라이브러리부 2-67 LS 산전연수원

349 SWAP_*** 데이터의상위하위바꾸기 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT EN IN SWAP ENO OUT ANY_BIT 입력 EN IN : 1일때펑션실행 : 입력 출력 ENO : EN 값을그대로출력 OUT : Swap 된값 기능입력된변수를 2 개의크기로구분하여상위와하위를서로교환합니다. 펑션 입력타입 동작설명 SWAP_BYTE BYTE BYTE 의상하위니블 (Nibble) 을서로교환하여출력합니다. SWAP_WORD WORD WORD 의상하위 BYTE 를서로교환하여출력합니다. SWAP_DWORD DWORD DWORD 의상하위 WORD 를서로교환하여출력합니다. SWAP_LWORD LWORD LWORD 의상하위 DWORD 를서로교환하여출력합니다. 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, SWAP_BYTE 펑션이실행됩니다. (2) 펑션의입력변수 INPUT(BYTE 타입 )=16#5F 일경우, 펑션의출력변수 RESULT(BYTE 타입 )=16#F5 가됩니다. 제 2 장응용펑션라이브러리부 2-68 LS 산전연수원

350 UNI_*** 데이터결합 (Union) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY_BIT_ARY INT_ARY EN IN SEG UNI_*** ENO OUT ANY_BIT 입력 EN : 1일때펑션실행 IN : 입력데이터어레이 SEG : 데이터결합비트수지정어레이 출력 ENO : 에러없이실행되면 1 을출력 OUT : 결합된데이터출력 기능입력데이터어레이를 SEG 어레이에서지정한비트수별로하위비트부터지정된비트수만큼결합하여출력합니다. 펑션입력타입출력타입동작설명 UNI_BYTE BYTE BYTE 입력어레이를 SEG 가지정하는비트의개수만큼씩자른 UNI_WORD WORD WORD 후, 입력어레이타입과동일한하나의값으로묶어출력 UNI_DWORD DWORD DWORD 합니다. UNI_LWORD LWORD LWORD IN[0] b15 SEG[0]:3 b0 A2 A1 A0 IN[1] b15 SEG[1]:4 B3 B2 B1 b0 B0 IN[2] IN[3] b15 b15 SEG[2]:5 b0 C4 C3 C2 C1 C0 SEG[3]:4 b0 D3 D2 D1 D0 결합후 OUT b15 D3 D2 D1 D0 C4 C3 C2 C1 C0 B3 B2 B1 B0 A2 A1 A0 b0 SEG 로지정된값들의합이입력변수타입의비트수를초과할경우 _ERR/_LER 플래그가셋 (Set) 됩니다. IN 과 SEG 어레이의개수가서로다를경우, 0 이출력되고 _ERR/_LER 플래그가셋 (Set) 됩니다. 제 2 장응용펑션라이브러리부 2-69 LS 산전연수원

351 프로그램예 LD (1) 실행조건 (%M0) 이 On 하면, UNI_WORD 펑션이실행됩니다. (2) 입력변수로선언된 IN_ARY 와 SEG_ARY 의값이다음과같을경우 IN_ARY[0] IN_ARY[1] IN_ARY[2] IN_ARY[3] A 3 B 5 B 4 C 6 C 5 D 7 D 6 E 8 SEG_ARY[0] SEG_ARY[1] SEG_ARY[2] SEG_ARY[3] 펑션이실행된후에출력변수의 RESULT 의값은 2# = 16#2BB5 로출력됩니다. 제 2 장응용펑션라이브러리부 2-70 LS 산전연수원

352 WORD_BYTE WORD 를 2 개의 BYTE 로나눔 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 WORD BYTE BYTE WORD_BYTE EN ENO IN OUT L0W HIGH 입력 EN : 1 일때펑션실행 IN : WORD 입력 출력 ENO : EN 값을그대로출력 OUT : Dummy 출력 입출력 LOW : 하위 BYTE 출력 HIGH : 상위 BYTE 출력 기능 하나의워드를 2개의바이트로분산합니다. LOW: 하위바이트출력, HIGH: 상위바이트출력 프로그램예 LD (1) 실행조건 ( %M3) 이 On 이면, WORD_BYTE 펑션이실행됩니다. (2) 입력변수로선언된 INPUT 값이 16#ABCD 일때, 입출력변수로선언된변수 BYTE_OUT1=16#CD BYTE_OUT2=16#AB 값이저장됩니다. 제 2 장응용펑션라이브러리부 2-71 LS 산전연수원

353 WORD_DWORD 2 개의 WORD 를 DWORD 로모음 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 WORD WORD WORD_DWORD EN ENO LOW OUT HIGH DWORD 입력 EN : 1 일때펑션실행 LOW : 하위 WORD 입력 HIGH : 상위 WORD 입력 출력 ENO : EN 값을그대로출력 OUT : DWORD 출력 기능 2 개의 WORD 를하나의 DWORD 로조합합니다. LOW: 하위워드입력, HIGH: 상위워드입력 프로그램예 LD (1) 실행조건 (%IX1.1.5) 이 On 되면, WORD_DWORD 펑션이실행됩니다. (2) 입력변수로선언된 INPUT1=16# 이고 INPUT2=16#A0B0C0D0 일때, 출력변수로선언된 RESULT=16#A0B0C0D 가됩니다. 제 2 장응용펑션라이브러리부 2-72 LS 산전연수원

354 XCHG_ *** 2 개의입력변수값을서로교환 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션설명 ANY ANY EN IN1 IN2 XCHG ENO OUT 입력 EN : 1일때펑션실행출력 ENO : EN값을그대로출력 OUT : Dummy 출력입출력 IN1 : 입출력 1 IN2 : 입출력 2 기능 입력1과입력2의데이터를교환합니다. 펑 션 입출력타입 동작설명 XCHG_ 두개의 입력값을서로교환합니다. XCHG_BYTE BYTE 두개의 BYTE입력값을서로교환합니다. XCHG_WORD WORD 두개의 WORD입력값을서로교환합니다. XCHG_DWORD DWORD 두개의 DWORD 입력값을서로교환합니다. XCHG_LWORD LWORD 두개의 LWORD 입력값을서로교환합니다. XCHG_SINT SINT 두개의 SINT입력값을서로교환합니다. XCHG_INT INT 두개의 INT입력값을서로교환합니다. XCHG_DINT DINT 두개의 DINT입력값을서로교환합니다. XCHG_LINT LINT 두개의 LINT입력값을서로교환합니다. XCHG_USINT USINT 두개의 USINT 입력값을서로교환합니다. XCHG_UINT UINT 두개의 UINT입력값을서로교환합니다. XCHG_UDINT UDINT 두개의 UDINT 입력값을서로교환합니다. XCHG_ULINT ULINT 두개의 ULINT 입력값을서로교환합니다. XCHG_REAL REAL 두개의 REAL입력값을서로교환합니다. XCHG_LREAL LREAL 두개의 LREAL 입력값을서로교환합니다. XCHG_TIME TIME 두개의 TIME입력값을서로교환합니다. XCHG_DATE DATE 두개의 DATE입력값을서로교환합니다. XCHG_TOD TOD 두개의 TOD입력값을서로교환합니다. XCHG_DT DT 두개의 DT입력값을서로교환합니다. XCHG_STRING STRING 두개의 STRING 입력값을서로교환합니다. 제 2 장응용펑션라이브러리부 2-73 LS 산전연수원

355 프로그램예 LD (1) 실행조건 (%M0) 이 On 되면, XCHG_ 펑션이실행됩니다. (2) 펑션의입력변수 INPUT1=0 이고 INPUT2=1 이면펑션이실행된후 2 개의입력값은서로바뀌어출력됩니다. 따라서, 펑션이실행된후 INPUT1=1 이고, INPUT2=0 이됩니다. 제 2 장응용펑션라이브러리부 2-74 LS 산전연수원

356 2.3 기본펑션블록라이브러리 CTD 감산카운터 ( 펑션블록 ) 제품명 GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 INT CD D PV CTD Q CV INT 입력 CD : 다운 _ 카운트 (Down_Count) 펄스입력 LD : 설정값입력 (Load) PV : 설정값 (Preset Value) 출력 Q : 카운트 _ 다운 (Count_Down) 출력 CV : 현재값 (Current Value) 기능 감산카운터펑션블록 CTD는다운카운터펄스입력 CD가 0에서 1이되면, 현재값 CV가이전값보다 1만큼감소하는카운터입니다. 단, CV는 INT의최소값인 보다클때만감소하고, 이되면더이상감소하지않습니다. 설정값입력 LD가 1이되면현재값 CV에는설정값 PV값이로드됩니다.(CV=PV) 출력 Q는 CV가 0이하일때만 1이됩니다. 타임차트 LD( 설정값입력 ) CD( 다운 _ 카운터입력 ) PV 설정값 CV( 현재값 ) 0 최대계수값 (-32768) Q( 카운터 _ 다운출력 ) 프로그램예입력접점 %I0.1.14에 5번의펄스가들어오면, 출력접점 %00.3.0을 Set시키는프로그램 LD 제 2 장기본펑션블록라이브러리부 3-1 LS 산전연수원

357 (1)CTD 펑션블록의이름을등록합니다.(COUNT_D) (2)CD 에펄스입력이들어올접점 %I 를입력합니다. (3)PV 를 CV 로로드시킬사용자플래그 _10N ( 첫스캔 On) 을입력합니다. (4)PV 값은 INT 범위 (-32768~32767) 내에서 5 를입력합니다. (5)CV 에는임의의출력변수 (COUNT_CV) 를설정하여입력합니다. (6)Q 에는임의의출력변수 (COUNT_Q) 를설정입력합니다. (7) 프로그램의작성이완료되면, 컴파일을실행하고, PLC 로쓰기를합니다. (8) 쓰기를완료하면모드전환 (Stop Run) 시킵니다. (9) 프로그램이 Run 되면 PV 값 5 가 CV (Count_CV) 로로드됩니다. (10) 입력펄스가입력접점 %I 에들어오면현재값 CV (COUNT_CV) 는 1 만큼줄어듭니다. (11) 입력접점에 5 번의펄스가들어오면현재값 CV 는 0 가되고, Q (COUNT_Q) 는 1 이됩니다. (12)Q (COUNT_Q) 가 1 이되면출력접점 %Q0.3.0 이 Set 됩니다. 제 2 장기본펑션블록라이브러리부 3-2 LS 산전연수원

358 CTU 가산카운터 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 INT CU R PV CTU Q CV INT 입력 출력 CU : 업 _ 카운트 (Up_Count) 펄스입력 R : 리셋입력 (Reset) PV : 설정값 (Preset Value) Q : 업 _ 카운트 (Up_ Count) 출력 CV : 현재값 (Current Value) 기능 가산카운터펑션블록 CTU 는업카운터펄스입력 CU 가 0 에서 1 이되면현재값 CV 가이전값보다 1 만큼증가하는카운터입니다. 단, CV 가 1NT 의최대값인 미만일때만증가하고, 이되면더이상증가하지않습니다. 리셋입력 R 이 1 이되면현재값 CV 는 0 으로클리어 ( Clear) 됩니다. 출력 Q 는 CV 가 PV 이상이될때만 1 이됩니다. PV 값은 CTU 펑션블록을수행시설정값을새롭게가져와연산합니다. 타임차트 R( 리셋입력 ) CU( 업 _ 카운터입력 ) CV( 현재값 ) 최대계수값 (32767) PV 설정값 Q( 업 _ 카운터출력 ) 프로그램예입력접점 %I0.1.15에 10번의펄스가들어오면, 출력접점 %00.3.1을 Set시키는프로그램 LD 제 2 장기본펑션블록라이브러리부 3-3 LS 산전연수원

359 (1)CTU 펑션블록의이름을등록합니다.(COUNT_D) (2)CU 에펄스입력이들어올입력접점 %I 를입력합니다. (3)PV 에 10 을입력합니다. (4)CV 를초기화시키는 R 에는임의의입력접점을설정합니다.(%I0.1.5) (5)CV 에는임의의변수 (COUNT_CV) 를설정하여입력합니다. (6)Q 에는임의의출력변수 (COUNT_Q) 를설정입력합니다. (7) 프로그램의작성이완료되면, 컴파일을실행하고, PLC 로쓰기를합니다. (8) 쓰기를완료하면모드전환 (Stop Run) 시킵니다. (9) 입력펄스가입력접점 %I 에들어오면현재값 CV (COUNT_CV) 는 1 만큼증가합니다. (10) 입력접점에 10 번의펄스가들어오면현재값 CV 는 10 이되고, 설정값과같게되므로출력 Q(COUNT_Q) 가 1 이됩니다. (11)Q(COUNT_Q) 가 1 이되면출력접점 %Q0.3.0 이 Set 됩니다. 제 2 장기본펑션블록라이브러리부 3-4 LS 산전연수원

360 CTUD 가감산카운터 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 INT CU CD R LD PV CTUD QU QD CV INT 입력 CU : 업 _ 카운트 (Up_Count) 펄스입력 CD : 다운 _ 카운트 (Down_Count) 펄스입력 R : 리셋입력 (Reset) LD : 설정값입력 (Load) PV : 설정값 (Preset Value) 출력 QU : 카운트 _ 업 (Count_UP) 출력 QD : 카운트 _ 다운 (Count_Down) 출력 CV : 현재값 (Current Value) 기능 가감산카운터펑션블록 CTUD는업카운터펄스입력 CU가 0에서 1이되면현재값 CV가이전값보다 1만큼증가하고, 다운카운터펄스입력 CD가 0에서 1이되면현재값 CV가이전값보다 1만큼감소하는카운터입니다. 단, CV가 1NT의최소값인 과최대값인 사이의값을가지며최대, 최소값에이르면각각더이상증가, 감소하지않습니다. 설정값입력 LD가 1이되면현재값 CV에는설정값 PV값이로드됩니다. ( CV=PV) 설정값입력 R이 1이되면현재값 CV는 0으로클리어 (Clear) 됩니다. ( CV=0) 출력 QV는 CV가 PV보다크면 1이되고, QD는 CV가 0이하일때 1이됩니다. 각입력신호에대해서 R > LD > CU > CD순으로동작을수행하며, 신호의중복발생시우선순위가높은동작하나만수행합니다. 타임차트 LD( 설정값입력 ) R( 리셋입력 ) CU ( 업 _ 카운트입력 ) CD ( 다운 _ 카운트입력 ) CV( 현재값 ) 0 PV 설정값 Q( 업 _ 카운터출력 ) QD( 카운트 _ 다운출력 ) 제 2 장기본펑션블록라이브러리부 3-5 LS 산전연수원

361 프로그램예 LD 공정라인에서중간적재완충부에임시저장될수있는용량 STACK_MAX 의값이 100 이고적재부에자재가투입될때마다 IN 신호가 1 이되고, 적재부에서자재가빠져나갈때마다 OUT 신호가 1 이되도록되어있다면, 운전을시작하여선공정에서완충부에투입되는속도가다음공정을위해빠져나가는속도보다빠를때, 중간적재부에 100 개가쌓이면카운터의상한출력 QU 가 1 이되어 STACK_FULL 에 1 이출력됩니다. 반대로중간적재부에남아있는것이없으면하한출력 QD 가 1 이되어 STACK_EMPTY 에 1 이출력됩니다. STORED_NUMBER 에는현재적재부에남아있는자재의숫자가표시됩니다. %M1 %M0 %I0.1.0 %I1.1.0 STACK_MAX(100 개 ) STORED_NUMBER 0 STACK_FULL STACK_EMPTY 제 2 장기본펑션블록라이브러리부 3-6 LS 산전연수원

362 F_TRIG 하강에지검출 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 F_TRIG 입력 CLK : 입력신호 CLK Q 출력 Q : 하강에지검출결과 기능 F_TRIG 는 CLK 에연결된입력의상태가 1 에서 0 으로변할때출력 Q 를 1 로만들고다음번수행에서 0 으로만듭니다. 그이외의경우, 출력 Q 는항상 0 이됩니다. 타임차트 CLK Q 프로그램예 (1 스캔또는 F_TRIG 수행간격 ) LD 입력변수 %I0.0.0 의상태를감시하여 1 에서 0 으로변할때에출력변수 FALL_DETECT 에 1 을출력하고, 다음에 INS_FT 수행시 FALL_DETECT 에 0 을출력합니다. 제 2 장기본펑션블록라이브러리부 3-7 LS 산전연수원

363 RS Reset 우선 Bistable( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 S R1 RS Q1 입력 출력 R1 : Reset 조건 S : Set 조건 Q1 : 연산결과 기능 R1 & Q1 S Q1 1 R1이 1이면, S와관계없이출력 Q1은항상 0이됩니다. 출력 Q1은이전상태를유지하며, R1이 0이고 S가 1일때 1 이됩니다. Q1의초기상태는 0입니다. 타임차트 R1 S Q1 프로그램예 LD RESET1 을 Reset 조건으로, SET1 을 Set 조건으로하여연산결과를 RESULT 에출력합니다. 동작조건은위의타임차트에서 R1 을 RESET1, S 를 SET1 으로, Q1 을 RESULT 로대치하여보십시오. (1) 입력변수로선언된 SET1 과 RESET1 이동시에 On 되면출력변수 RESULT 는 1 이됩니다. (2) 입력변수로선언된 RESET1 이 On 되면 RESULT 로선언된출력변수값은 0 이됩니다. (3) 입력변수로선언된 SET1 과 RESET1 이동시에 On 되면출력변수 RESULT 는 0 가됩니다. 제 2 장기본펑션블록라이브러리부 3-8 LS 산전연수원

364 R_TRIG 상승에지검출 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 CLK R_TRIG Q 입력 출력 CLK : 입력신호 Q : 상승에지검출결과 기능 R_TRIG 는 CLK 에연결된입력의상태가 0 에서 1 로변할때출력 Q 를 1 로만들고다음번수행에서 0 으로만듭니다. 그이외의경우, 출력 Q 는항상 0 이됩니다. 타임차트 CLK Q (1 스캔또는 F_TRIG 수행간격 ) 프로그램예 LD (1) 입력변수로선언된 IN_SIGNAL 의상태를감시하여 0 에서 1 로변할때, RISE_DETECT 에 1 을출력하고다음에 INS_RT 수행시 RISE_DETECT 에 0 을출력합니다. 제 2 장기본펑션블록라이브러리부 3-9 LS 산전연수원

365 SEMA 시스템자원배분 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 SEMA CLAIM RELEASE BUSY 입력 CLAIM : 자원독점요구신호 RELEASE : 해제신호출력 BUSY : 요구자원의취득불가신호 ( 대기 ) 기능이펑션블록은시스템자원에대한독점적제어권을취득하는데사용합니다. SEMA 펑션을수행했을때 (CLAIM = 1 또는 0, RELEASE = 0 값으로 ) 타프로그램에서자원을사용중이면 BUSY 가 1 이됩니다. 자원의제어권을획득하고자할때에는 CLAIM = 1, RELEASE = 0 의값으로 SEMA 를계속기동하여 BUSY 가 0 이될때를기다립니다. BUSY 가 0 이되면해당자원에대하여제어를하고제어동작이끝난후에는 CLAIM = 0, RELEASE = 1 의값으로 SEMA 를한번수행하여제어권을양도합니다. ( 이때 CLAIM = 0, RELEASE = 1 의값으로 SEMA 를수행하는제어양도동작은반드시현재제어권을가지고있는프로그램에서만수행해야합니다.) SEMA 의인스턴스는자원을요구하는프로그램에서공통으로액세스할수있도록글로벌영역에설정하여야합니다. 동일한자원을요구하는각각의프로그램은우선순위상동일한우선순위로지정되어있어야합니다. GM1 멀티 CPU 모듈간에는사용할수없습니다. SEMA 펑션블록의내부수행구조 VAR X : : = 0 ; END_VAR BUSY : = X ; IF CLAIM THEN X : = 1 ; ELSIF RELEASE THEN BUSY : = 0; X : = 0 ; END_IF 타임차트프로그램블록 A 와프로그램블록 B 에서동일한자원에대한액세스권을주고받는경우, CLAIM A B A B RELEASE A B A BUSY 제어권 A 사용 B 사용 A 사용 B 사용 제 2 장기본펑션블록라이브러리부 3-10 LS 산전연수원

366 프로그램예 LD PLC시스템에부착되어있는프린터로서로다른프로그램블록에서출력을내고자할때인스턴스 PRINTER 를글로벌로선언하고각각의프로그램에서 PRINTER 로명명된 SEMA펑션블록을이용하여프린터의제어권을쉽게제어할수있습니다. 프린터에출력이필요한시점에서 START는 1, END는 0인상태에서 PRINTER SEMA를수행하여프린터의제어권을요구했을때다른프로그램블록에서이미프린터를사용하고있다면 BUSY신호가 1이되어 NOT_AVAIL에 1이출력됩니다. 만약다른블록에서프린터를사용하고있지않다면 BUSY는 0인상태가되어그것을신호로프린터에출력을내는프로그램을기동시키면됩니다. 프린트동작이모두끝난후에는 START는 0, END는 1인상태로 PRINTER SEMA를실행하여타부분에서프린터의제어권을가져갈수있도록해제하여주어야합니다. VAR_EXTERNAL PRINTER:SEMA END_VAR S1 N CLAIM_PT S1 T1 CLAIM_PT; 프린터제어권요구 CAL SEMA PRINTER CLAIM:= 1 RELEASE:= 0 PT_AVAIL; 프린터제어권획득체크 T1 PT_AVAIL LDN ST PRINTER.BUSY TRANS S2 PRINTING; 프린터출력 S2 N PRINTING T2 PRT_END S3 P REL_PRT T3 RE_PRT T2 S3 T3 프린터제어프로그램프린터완료시 PRINT_DONE:=1 PRT_END; 프린터완료체크 LD ST PRINTER_DONE TRANS REL_PRT; 프린터제어권양도 CAL SEMA PRINTER CLAIM:= 0 RELEASE:= 1 RE_PRT; 프린터재요구 LD ST PRT_REQ TRANS 제 2 장기본펑션블록라이브러리부 3-11 LS 산전연수원

367 제 2 장기본펑션블록라이브러리부 3-12 LS 산전연수원

368 SR Set 우선 Bistable ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 S1 R SR Q1 입력 S1 : Set 조건 R : Reset 조건 출력 Q1 : 연산결과 기능 S1 1 Q1 R Q1 & S1이 1이되면, R과관계없이출력 Q1은항상 1이됩니다. 출력 Q1은이전상태를유지하며, S1이 0이고 R이 1 일때 0이됩니다. Q1의초기상태는 0입니다. 타임차트 S1 R Q1 프로그램예 LD (1) 입력변수로선언된 SET1 이 On 되면, 출력변수로선언된 RESULT 같이 1 이됩니다. (2) 출력변수로선언된 RESULT 값이 0 이되도록하려면, 입력변수로선언된 SET1 이 Off 되고, RESELT1 이 On 되어야합니다. 제 2 장기본펑션블록라이브러리부 3-13 LS 산전연수원

369 TOF OFF 딜레이타이머 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TOF IN Q TIME PT ET TIME 입력 출력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 IN 이 1 이되면, Q 가 1 이되고, IN 이 0 이된후부터 PT 에의해서지정된설정시간이경과한후 Q 가 0 이됩니다. IN 이 0 이된후경과시간이 ET 로출력됩니다. 만일경과시간 ET 가설정시간에도달하기전에 IN 이 1 이되면, 경과시간은다시 0 으로됩니다. 타임차트 IN Q PT 설정시간 PT ET 프로그램예 LD INS_TOF TOF T_OFF IN Q TIMER_OK T#10S PT ET ET_TIME 제 2 장기본펑션블록라이브러리부 3-14 LS 산전연수원

370 T_OFF TIMER_OK 10s 설정시간 10s ET_TIME 입력변수로설정된 T_OFF 가 1 이되면, 출력변수 TIMER_OK 에 1 이출력되고 T_OFF 가 0 이된후 10 초후에 TIMER_OK 가 0 이됩니다. T_OFF 가 0 이된후 10 초이내에다시 1 이되면타이머는다시초기상태가됩니다. 타이머의시간측정값은 ET_TIME 로출력됩니다. 제 2 장기본펑션블록라이브러리부 3-15 LS 산전연수원

371 TON ON 딜레이타이머 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TON IN Q TIME PT ET TIME 입력 출력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 IN이 1이된후경과시간이 ET로출력됩니다. 만일경과시간 ET가설정시간에도달하기전에 IN이 0이되면, 경과시간은 0으로됩니다. Q가 1이된후 IN이 0이되면, Q는 0이됩니다. 타임차트 IN PT Q 설정시간 PT ET 프로그램예 LD INS_TON TON T_ON IN Q TIMER_OK T#10S PT ET ET_TIME 제 2 장기본펑션블록라이브러리부 3-16 LS 산전연수원

372 TON 10s TIMER_OK 설정시간 10s ET_TIME (1) 입력변수 T_ON 이 1 이된후 10 초가경과한후출력변수 TIMER_OK 가 1 이됩니다. (2) 입력변수 T_ON 이 1 이된후경과시간이출력변수 ET_TIME 로출력됩니다. (3) 만일경과시간 ET_TIME 이설정시간 10 초에도달하기전에 T_ON 이 0 이되면, 경과시간 ET_TIME 은 0 으로됩니다. (4)TIMER_OK 가 1 이된후 T_ON 이 0 이되면, TIMER_OK 는 0 이되고경과시간 ET_TIME 도 0 으로됩니다. 제 2 장기본펑션블록라이브러리부 3-17 LS 산전연수원

373 TP 펄스타이머 ( 펑션블록 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TP IN Q TIME PT ET TIME 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) 출력 Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 IN이 1이되면 PT에의해서지정된설정시간동안만 Q가 1이되고, ET가 PT에도달하면자동으로 0이됩니다. 경과시간 ET는 IN이 1이되었을때부터증가하며 PT에이르면값을유지하다가 IN이 0이될때 0의값이됩니다. ET가증가할동안은 IN이 0이되거나재차 1이되어도영향이없습니다. 타임차트 IN Q 설정시간 PT PT ET 프로그램예 LD INS_TP TP T_TP IN Q TIMER_OK T#10S PT ET ET_TIME 제 2 장기본펑션블록라이브러리부 3-18 LS 산전연수원

374 T_TP TIMER_OK 설정시간 10s 10s ET_TIME (1) 입력변수 T_TP 가 0 에서 1 이된후 10 초동안 TIMER_OK 는 1 이됩니다. 일단타이머가가동된후에는 10 초동안 T_TP 신호의변화는무시됩니다. (2) ET_TIME 값은증가후 T#10S 에서멈춥니다. 그리고 T_TP 가 0 이될때 0 으로됩니다. 제 2 장기본펑션블록라이브러리부 3-19 LS 산전연수원

375 2.4 응용펑션블록라이브러리 CTR Ring 카운터 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 INT CD PV RST CTR Q CV INT 입력 CD : 링카운트 (Ring Count) 펄스입력 PV : 설정값 (Preset Value) RST : 리셋입력 (Reset) 출력 Q : 링카운트 (Ring Count) 출력 CV : 현재값 (Current Value) 기능 링카운터 CTR 펑션블록은펄스입력 CD 가 0 에서 1 이될때마다현재값 CV 를 +1 하고현재값 CV 가설정값 PV 에도달한후 CD 가다시 0 에서 1 로되면현재값은 1 로됩니다. 현재값이설정값에도달하면출력은 1 이됩니다. 현재치가설정치미만이거나 Reset 조건이 1 이되면출력은 0 이됩니다. 타임차트 R( 리셋입력 ) CD( 펄스입력 ) PV( 설정값 ) CV( 현재값 ) 0 Q( 카운터 _ 다운출력 ) 제 2 장응용펑션블록라이브러리부 4-1 LS 산전연수원

376 프로그램예입력접점 %I1.1.0 에 10 번의펄스가들어올때마다, 출력접점 %Q1.3.1 을 ON 시키는프로그램 LD (1)CTR 펑션블록의이름을등록합니다 (INS_CTR) (2)CD 에펄스입력이들어올입력접점 %I1.1.0 을입력합니다. (3)PV 에 10 을입력합니다. (4)CV 를초기화시키는 RST 에는임의의입력접점을설정합니다.(%I1.1.10) (5)CV 에는임의의변수 (COUNT_NUM) 를설정하여입력합니다. (6)Q 에는임의의출력변수 (COUNT_Q) 를설정입력합니다. (7) 프로그램의작성이완료되면, 컴파일을실행하고, PLC 로쓰기를합니다. (8) 쓰기를완료하면모드전환 (Stop Run) 시킵니다. (9) 입력펄스가입력접점 %I1.1.0 에들어오면현재값 CV(COUNT_NUM) 은 1 만큼증가합니다. (10) 입력접점에 10 번의펄스가들어오면현재값 CV 는 10 이되고, 설정값과같게되므로출력 Q(COUNT_Q) 가 1 이됩니다. (11)Q(COUNT_Q) 가 1 이되면출력접점 %Q1.3.0 은 ON 됩니다. (12) 다시한번의입력펄스가입력접점 %1.1.0 에들어오면 Q(COUNT_Q) 는 0 이되고출력접점인 %Q1.3.0 은 OFF 됩니다. 제 2 장응용펑션블록라이브러리부 4-2 LS 산전연수원

377 DUTY 스캔지정 On/Off CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 INT INT REQ SON SOFF DUTY ENO OUT 입력 REQ : 펑션블록실행요구 SON : On될 Scan 수 SOFF : Off될 Scan 수 출력 DONE : REQ 가 On 이고 SON,SOFF 두입력변수가 0 보다작지않으면 1 을출력 OUT : On Scan Time 동안 1 을출력 기능 DUTY FB 는 REQ 가 ON 된시점부터 SON Scan 동안 On, SOFF Scan 동안 Off 하는펄스를발생시킵니다. SON = 0 이면출력은항상 OFF 가됩니다. SON > 0, SOFF = 0 이면출력은항상 ON 이됩니다. REQ 가 OFF 면출력은 OFF 됩니다. SON < 0 이거나 SOFF < 0 이면, DONE 은 OFF 되고 OUT = 0 이됩니다. 타임차트 REQ Timing Pulse SON Scan SOFF Scan OUT 제 2 장응용펑션블록라이브러리부 4-3 LS 산전연수원

378 프로그램예입력접점 %I1.1.0 이 SET 되어있으면, 3 번의스캔타임동안출력접점 %Q1.3.0 을 ON 시키고, 4 번의스캔타임동안출력접점 %Q1.3.0 을 OFF 시키는프로그램 LD (1)DUTY 펑션블록의이름을등록합니다 (DUTY_C) (2)REQ 에펑션블록을실행시킬입력접점 %I1.1.0 을입력합니다. (3)SON 에 3 을입력합니다. (4)SOFF 에 4 를입력합니다. (5)OUT 에출력접점 %Q1.3.0 을입력합니다. (6) 프로그램의작성이완료되면, 컴파일을실행하고 PLC 로쓰기를수행합니다. (7) 쓰기를완료하면모드전환 (Stop Run) 시킵니다. (8) 프로그램이실행되면 3 번의스캔타임동안출력접점 %Q1.3.0 이 ON 되고, 4 번의스캔타임동안에는출력접점 %Q1.3.0 이 OFF 되는동작을반복합니다. 제 2 장응용펑션블록라이브러리부 4-4 LS 산전연수원

379 FIFO_*** FIFO 스택에값을 Load/Unload ( 선입선출 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 ANY ANY_ARY REQ IN FIFO LOAD UNLD RST FIFO DONE OUT PNT FULL EMTY ANY INT 입력 REQ : 펑션블록실행요구 IN : FIFO 스택에저장할변수또는상수값 LOAD : ON이면입력모드 UNLD : ON이면출력모드 RST : POINTER VALUE 리셋 출력 DONE : 최초동작후 1 을유지 OUT : 출력모드일경우 FIFO 스택으로부터나온값을출력 PNT : FIFO 스택에입력된값에대한 Pointer FULL : FIFO 스택이가득차면 1 을출력 EMTY : FIFO 스택에아무런값도저장되어있지않으면 1 을출력 입출력 FIFO : FIFO 스택으로사용되는어레이 기능 FIFO 펑션블록은 IN값을 FIFO에 Load 또는 FIFO로부터값을 Unload합니다. 입력모드지정과출력모드지정이동시에 ON되면입출력을동시에수행합니다. FIFO로부터값을 Unload 하면스택의최하위원소가출력되고, 나머지값들은 Shift되며, PNT값이하나줄고, PNT가위치한곳은 0으로클리어 (clear) 됩니다. RST가입력되면 PNT는 0으로초기화되고, EMTY 플래그가 ON되며, FIFO 스택의모든값은 0으로클리어 (clear) 됩니다. 스택의개수는입출력변수 FIFO에지령되는입력시어레이의개수가됩니다. 정전시또는전원 Off시에도입력된값들을유지하기위해서는 FIFO 어레이변수와 FIFO 펑션블록인스턴스를모두 RETAIN 으로설정하여야합니다. 리셋동작은 REQ 요구가없어도동작이가능합니다. PNT는다음번 Load 동작시 IN값이입력될위치를나타냅니다. 또는 Load되어있는전체개수를나타낸다고볼수있습니다. 입력모드일경우 OUT 출력은 0이됩니다. 제 2 장응용펑션블록라이브러리부 4-5 LS 산전연수원

380 펑션 FIFO 변수타입 동작설명 FIFO_Q 타입 DATA에대한 FIFO동작을수행합니다. FIFO_B BYTE BYTE 타입 DATA에대한 FIFO동작을수행합니다. FIFO_W WORD WORD 타입 DATA에대한 FIFO동작을수행합니다. FIFO_DW DWORD DWORD 타입 DATA에대한 FIFO동작을수행합니다. FIFO_LW LWORD LWORD 타입 DATA에대한 FIFO동작을수행합니다. FIFO_SI SINT SINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_I INT INT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_DI DINT DINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_LI LINT LINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_USI USINT USINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_UI UINT UINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_UDI UDINT UDINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_ULI ULINT ULINT 타입 DATA에대한 FIFO동작을수행합니다. FIFO_R REAL REAL 타입 DATA에대한 FIFO동작을수행합니다. FIFO_LR LREAL LREAL 타입 DATA에대한 FIFO동작을수행합니다. FIFO_TM TIME TIME 타입 DATA에대한 FIFO동작을수행합니다. FIFO_DAT DATE DATE 타입 DATA에대한 FIFO동작을수행합니다. FIFO_TOD TOD TOD 타입 DATA에대한 FIFO동작을수행합니다. FIFO_DT DT DT 타입 DATA에대한 FIFO동작을수행합니다. FIFO LOAD 동작시 FIFO [4] PNT:4 [4] PNT:3 [3] [3] FIFO[3] IN FIFO[3] [2] [1] FIFO[2] FIFO[1] [2] [1] FIFO[2] FIFO[1] [0] FIFO[0] [0] FIFO[0] 동작전 동작후 FIFO UNLOAD 동작시 FIFO PNT:4 [4] [4] [3] [2] FIFO[3] FIFO[2] PNT:3 [3] [2] FIFO[3] OUT FIFO[0] [1] FIFO[1] [1] FIFO[2] [0] FIFO[0] [0] FIFO[1] 동작전 동작후 제 2 장응용펑션블록라이브러리부 4-6 LS 산전연수원

381 프로그램예 LD FIFO_*** 펑션블록은위의그림과같이 2 가지방법으로사용이가능합니다. 위에서예를든 2 가지방법은동일한동작을수행합니다. 왼쪽의예제는하나의펑션블록만을사용하여입력과출력을동시에수행할수있도록한프로그램이고, 오른쪽의예제는입력동작을위한펑션블록과출력동작을위한펑션블록을따로작성하여입출력동작을다른위치에서동작하도록작성한프로그램입니다. 단이때주의할점은인스턴스이름이같도록설정해야하는점입니다. (1) 입력조건 (%I1.1.0, %I1.1.1, % ) 이성립되면 FIFO_INT 가실행됩니다. (2) 입력접점 %I1.1.0 이 On 되면 Load 동작을수행합니다 가 FIFO 스택에입력되고 PNT_INDEX 가 1 증가합니다. (3) 입력접점 %I1.1.1 이 On 되면 Unload 동작을수행합니다. FIFO 스택으로부터 1111 이출력되고 PNT_INDEX 가 1 감소합니다. (4) 입력접점 %I 가 On 되면 Reset 동작을수행합니다. FIFO 스택의모든값이 0 으로클리어 (Clear) 되고, PNT_INDEX 가 0 으로초기화되며, EMTY_FLAG 가 On 됩니다. 제 2 장응용펑션블록라이브러리부 4-7 LS 산전연수원

382 LOAD 동작시 (%I1.1.0 이 On 되면 ) FIFO FIFO IN= 5555 [4] [3] [2] [4] [3] [2] [1] 2222 [1] 2222 [0] 1111 [0] 1111 PNT=4 PNT=5 UNLOAD 동작시 (%I1.1.1 이 On 되면 ) FIFO FIFO [4] [3] [2] [1] [0] 5555 [4] PNT=5 [3] [2] [1] [0] PNT=4 OUT= 1111 RESET 동작시 (%I 가 On 되면 ) FIFO FIFO [4] 0 [4] 0 [3] 5555 [3] 0 [2] 4444 [2] 0 [1] 3333 [1] 0 [0] 2222 [0] 0 PNT=4 PNT=0 제 2 장응용펑션블록라이브러리부 4-8 LS 산전연수원

383 LIFO_*** LIFO 스택에값을 Load/Unload ( 후입선출 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 ANY ANY_ARY REQ IN LIFO LOAD UNLD RST LIFO DONE OUT PNT FULL EMTY ANY INT 입력 REQ : 펑션블록실행요구 IN : LIFO 스택에저장할변수또는상수값 LOAD : ON이면입력모드 UNLD : ON이면출력모드 RST : POINTER VALUE 리셋 출력 DONE : 최초동작후 1 을유지 OUT : 출력모드일경우 LIFO 스택으로부터나온값을출력 PNT : LIFO 스택에입력된값에대한 Pointer FULL : LIFO 스택이가득차면 1 을출력 EMTY : LIFO 스택에아무런값도저장되어있지않으면 1 을출력 입출력 LIFO : LIFO 스택으로사용되는어레이 기능 LIFO 펑션블록은 IN 값을 LIFO 에 Load 또는 LIFO 로부터값을 Unload 합니다. 입력모드지정과출력모드지정이동시에 ON 되면입력된값이바로출력됩니다. LIFO 로부터 Unload 동작이수행되면 Unload 된값은출력된후스택으로부터삭제되고 0 으로초기화됩니다. RST 가입력되면 PNT 는 0 으로초기화되고, EMTY 플래그가 On 되며, LIFO 스택의모근값은 0 으로클리어 (clear) 됩니다. 스택의개수는 LIFO 에지정되는어레이의개수가됩니다. 정전시또는전원 Off 시에도입력된값들을유지하기위해서는 LIFO 어레이변수와 LIFO 펑션블록 Instance 를모두 RETAIN 으로설정하여야합니다. 리셋동작은 REQ 요구가없어도동작이가능합니다. PNT 는다음번 Load 동작시 IN 값이입력될위치를나타냅니다. 또는 Load 되어있는전체개수를나타낸다고볼수있습니다. 입력모드일경우 OUT 출력은 0 이됩니다. Load 및 Unload 신호가동시에입력되면 IN 값이그대로 OUT 으로출력됩니다. 제 2 장응용펑션블록라이브러리부 4-9 LS 산전연수원

384 펑션 FIFO 변수타입 동작설명 LIFO_Q 타입 DATA에대한 LIFO동작을수행합니다. LIFO_B BYTE BYTE 타입 DATA에대한 LIFO동작을수행합니다. LIFO_W WORD WORD 타입 DATA에대한 LIFO동작을수행합니다. LIFO_DW DWORD DWORD 타입 DATA에대한 LIFO동작을수행합니다. LIFO_LW LWORD LWORD 타입 DATA에대한 LIFO동작을수행합니다. LIFO_SI SINT SINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_I INT INT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_DI DINT DINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_LI LINT LINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_USI USINT USINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_UI UINT UINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_UDI UDINT UDINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_ULI ULINT ULINT 타입 DATA에대한 LIFO동작을수행합니다. LIFO_R REAL REAL 타입 DATA에대한 LIFO동작을수행합니다. LIFO_LR LREAL LREAL 타입 DATA에대한 LIFO동작을수행합니다. LIFO_TM TIME TIME 타입 DATA에대한 LIFO동작을수행합니다. LIFO_DAT DATE DATE 타입 DATA에대한 LIFO동작을수행합니다. LIFO_TOD TOD TOD 타입 DATA에대한 LIFO동작을수행합니다. LIFO_DT DT DT 타입 DATA에대한 LIFO동작을수행합니다. LIFO LOAD 동작시 LIFO [4] PNT:4 [4] PNT:3 [3] [3] LIFO[3] IN LIFO[3] [2] [1] LIFO[2] LIFO[1] [2] [1] LIFO[2] LIFO[1] [0] LIFO[0] [0] LIFO[0] 동작전 동작후 LIFO UNLOAD 동작시 LIFO PNT:4 [4] [4] [3] [2] LIFO[3] LIFO[2] PNT:3 [3] [2] LIFO[2] OUT LIFO[3] [1] LIFO[1] [1] LIFO[1] [0] LIFO[0] [0] LIFO[0] 동작전 동작후 제 2 장응용펑션블록라이브러리부 4-10 LS 산전연수원

385 프로그램예 LD LIFO_*** 펑션블록은위의그림과같이 2 가지방법으로사용이가능합니다. 위에서예를든 2 가지방법은동일한동작을수행합니다. 왼쪽의예제는하나의펑션블록을사용하여입력과출력을동시에수행할수있도록한프로그램이고, 오른쪽의예제는입력을위한펑션블록과출력을위한펑션블록을따로작성하여입출력동작을다른위치에서동작하도록작성한프로그램입니다. 단이때주의할점은인스턴스이름이같도록설정해야하는점입니다. (1) 입력조건 (%I1.1.0, %I1.1.1, % ) 이성립되면 LIFO_TM 이실행됩니다. (2) 입력접점 %I1.1.0 이 On 되면 Load 동작을수행합니다. T#55S 가 FIFO 스택에입력되고 PNT_INDEX 가 1 증가합니다. (3) 입력접점 %I1.1.1 이 On 되면 Unload 동작을수행합니다. FIFO 스택으로부터 T#11S 가출력되고 PNT_INDEX 가 1 감소합니다. (4) 입력접점 %I 가 On 되면 Reset 동작을수행합니다. FIFO 스택의모든값이 T#0S 으로클리어 (Clear) 되고, PNT_INDEX 가 0 으로초기화되며, EMTY_FLAG 가 On 됩니다. 제 2 장응용펑션블록라이브러리부 4-11 LS 산전연수원

386 LOAD 동작시 (%I1.1.0 이 On 되면 ) LIFO LIFO IN= T#55S [4] [3] [2] T#0S T#44S T#33S [4] [3] [2] T#55S T#44S T#33S [1] T#22S [1] T#22S [0] T#11S [0] T#11S PNT=4 PNT=5 UNLOAD 동작시 (%I1.1.1 이 On 되면 ) LIFO LIFO [4] T#55S [4] T#0S [3] [2] T#44S T#33S [3] [2] T#44S T#33S OUT= T#55S [1] T#22S [1] T#22S [0] T#11S [0] T#11S PNT=5 PNT=4 RESET 동작시 (%I 가 On 되면 ) LIFO LIFO [4] T#0S [4] T#0S [3] T#44S [3] T#0S [2] T#33S [2] T#0S [1] T#22S [1] T#0S [0] T#11S [0] T#0S PNT=4 PNT=0 제 2 장응용펑션블록라이브러리부 4-12 LS 산전연수원

387 SCON 스텝컨트롤러 ( 순차스텝및스텝점프 ) CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 INT SCON REQ DONE ST_0/JP_1 S SET CUR_S ARY INT 입력 REQ : 1 일때펑션블록실행 S/O : 0 이면 SET 동작을지정하고, 1 이면 OUT 동작을지정 SET : 스텝의번호 (0~99) 출력 DONE : 펑션블록실행이에러없이종료된경우 ON되며, 에러가발생하거나펑션블록실행요구가없으면 OFF된다. S : Set된 bit array CUR_S : 현재스텝번호를출력 기능 순차작업조의설정 - 펑션블록의인스턴스이름이하나의순차작업조의이름이됩니다. ( 펑션블록선언예 : S00, G01, 제조1 스텝접점예 : S00.S[1], G01.S[1], 제조1.S[1]) SET 동작일경우 (ST_0/JP_1 = 0) - 동일조내에서바로이전의스텝번호가 On 되었을때현재스텝번호가 On 됩니다. - 현재스텝번호가 On 되면자기유지되어입력접점이 Off 되어도 On 되어진상태를유지합니다. - 입력조건접점이동시에 On 되어도한조내에서는한스텝번호만이 On 됩니다. - Sxx.S[0] 가 On 되면모든 SET 출력이 Clear 됩니다. JUMP 동작일경우 (ST_0/JP_1 = 1) - 동일조내에서입력조건접점이다수가 On 하여도한개의스텝번호만 On 합니다. - 입력조건이동시에 On 하면나중에프로그램된것이우선으로출력됩니다. - 현재스텝번호가 On 되면자기유지되어입력조건이 Off 되어도 On 되어진상태를유지합니다. - Sxx.S[0] 이 On 되면초기스텝으로복귀합니다. 에러 스텝지정 (SET) 이범위 (0~99) 를벗어나면에러가발생합니다. 에러발생시에는 DONE이 OFF되고, 스텝출력은이전스텝을유지합니다. 제 2 장응용펑션블록라이브러리부 4-13 LS 산전연수원

388 SET 동작일경우 (ST_0/JP_1 = 0) 의프로그램설명프로그램 SC1 조를이용한순차제어프로그램 행 0 행 1 행 2 행 3 행 4 행 5 행 6 행 7 행 8 행 9 행 10 행 11 행 12 행 13 행 14 행 15 행 16 행 17 행 18 행 19 %M1 %M2 %M3 %M0 S_BIT[0] S_BIT[1] S_BIT[2] S_BIT[3] SC1 SCON REQ DONE ST_0 S JP_1 SET CUR_ S SC1 SCON REQ DONE ST_0 S JP_1 SET CUR_ S SC1 SCON REQ DONE ST_0 S JP_1 SET CUR_ S SC1 SCON REQ DONE ST_0 S JP_1 SET CUR_ S S_BIT S_BIT S_BIT S_BIT %Q0.0.0 %Q0.0.1 %Q0.0.2 %Q0.0.3 %M1 %M2 %M3 %M0 S_BIT[1] S_BIT[2] S_BIT[2] SC1 를 Clear 하는입력조건 순차제어는바로이전의 Step 이 On 되고자신의조건이 On 되면출력합니다. JUMP 동작일경우 (ST_0/JP_1 = 1) 의프로그램설명프로그램 SC2 조를이용한후입우선제어프로그램 행 0 행 1 행 2 행 3 행 4 행 5 행 6 행 7 행 8 행 9 행 10 행 11 행 12 행 13 행 14 %M0 %M1 %M2 %M SC2 SCON REQ ST_0 JP_1 DONE S S_O SET CUR_ S SC2 SCON REQ ST_0 JP_1 DONE S S_O SET CUR_ S SC2 SCON REQ ST_0 JP_1 DONE S S_O SET CUR_ S SC2 SCON REQ ST_0 JP_1 DONE S S_0 SET CUR_ S NO %M1 %M2 %M3 %M4 S_O S_O S_O S_O [1] [23] [98] [0] 1 On Off Off Off 2 On On Off Off 3 On On On Off 4 On On On On 제 2 장응용펑션블록라이브러리부 4-14 LS 산전연수원

389 TMR 적산타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TIME IN PT RST TMR Q ET TIME 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) RST : 리셋입력 (Reset) 출력 Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 TMR 펑션블록은 IN 이 1 이된후경과시간이 ET 로출력됩니다. 경과시간 ET 가설정시간에도달하기전에 IN 이 0 이되어도현재의경과시간을유지하다가 IN 이다시 1 이되면경과시간을다시증가시킵니다. 설정시간이경과시간에도달하면 Q 가 1 이됩니다.. Reset 입력조건이성립되면 Q 는 0 이되고경과시간도 0 이됩니다. 타임차트 IN RST PT ET PT Q 제 2 장응용펑션블록라이브러리부 4-15 LS 산전연수원

390 프로그램예 LD T_TMR %I s ET_TIME 10s TIMER_OK (1) 입력변수 T_TMR 이 1 이된후 10 초가경과하면출력변수 TIMER_OK 가 1 이됩니다. (2) 입력변수 T_TMR 이 1 이된후경과시간이출력변수 ET_TIME 으로출력됩니다. (3) 경과시간 ET_TIME 이설정시간 10 초에도달하기전에 T_TMR 이 0 이되더라도현재의경과시간을유지합니다. (4) 입력변수 T_TMR 이다시 1 이되면멈추어졌던이전의경과시간부터다시시작합니다. (5) 입력접점 %I 가 1 이되면경과시간 ET_TIME 및출력변수 TIMER_OK 모두 0 으로클리어 (Clear) 됩니다. 제 2 장응용펑션블록라이브러리부 4-16 LS 산전연수원

391 TMR_FRK 점멸기능타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TIME TIME IN ON OFF TMR_FRK Q ET TIME 입력 IN : 타이머기동조건 ON : ON 타이머설정시간 OFF : OFF 타이머설정시간출력 Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 TMR_FLK 펑션블록은 IN 이 1 이되는순간 Q 는 1 이되고, ON 에서지정된시간만큼 Q 는 1 을유지합니다. ON 에서지정된시간이경과하면 OFF 에서지정된시간만큼 Q 는 0 이됩니다. IN 이 0 이되면 ON 또는 OFF 동작을수행을중지하고, IN 이 0 인동안중지된시간을유지하다가 IN 이다시 1 이되면정지된시간부터다시타이머가동작합니다. IN 이 0 인동안출력 Q 는 0 이됩니다. ON 이 0 이면출력 Q 는항상 0 이됩니다. 타임차트 IN ON ON Time ON Time OFF Time OFF OFF Time Q 제 2 장응용펑션블록라이브러리부 4-17 LS 산전연수원

392 프로그램예 LD (1) 입력변수 T_TMR_FRK 가 0 에서 1 이되면, TMR_FRK 펑션블록이동작을시작합니다. (2) 입력변수 T_TMR_FRK 가 1 이된후 ON 에서지정된 5 초만큼출력접점 %QX1.1.5 는 1 이됩니다. (3) 입력변수 T_TMK_FRK 가 1 이된후 ON 에서지정된시간이경과하면 OFF 에서지정된 2 초만큼출력접점 %QX1.1.5 는 0 이됩니다. (3) 입력변수 T_TMR_FRK 가 1 인동안출력 Q 가 1 인동안의경과시간과 Q 가 0 인동안의경과시간이번갈아 ET_TIME 으로출력됩니다. (4) 입력변수 T_TMR_FRK 가 0 이되면동작중인시간을유지하고출력접점 %QX1.1.5 는 0 이되며, T_TMR_FRK 가다시 1 이되면정지되었던시간부터다시동작합니다. 제 2 장응용펑션블록라이브러리부 4-18 LS 산전연수원

393 TMR_UNIT 정수설정적산타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 UINT UINT IN PT UINT RST TMR_FRK Q ET UDINT 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) UNIT : 설정시간의시간단위 (Unit) RST : 리셋입력 출력 Q ET : 타이머출력 : 경과시간 (Elapsed Time) 기능 TMR_UINT 펑션블록은 IN 이 1 이된후경과시간이 ET 로출력됩니다. 경과시간 ET 가설정시간에도달하기전에 IN 이 0 이되어도현재의경과시간을유지하다가 IN 이다시 1 이되면경과시간이다시증가됩니다. 설정시간이경과시간에도달하면 Q 가 1 이됩니다.. Reset 입력조건이성립되면 Q 는 0 이되고경과시간도 0 이됩니다. 설정시간은 PT*UNIT[mSec] 입니다. 타임차트 IN RST 설정시간 (PT UNIT) ET PT UNIT Q 제 2 장응용펑션블록라이브러리부 4-19 LS 산전연수원

394 프로그램예 LD (1) 설정시간은 PT*UNIT[ms] = 10*1000[ms] = 10[s] 가됩니다. (2) 입력변수 T_TMR 이 1 이된후 10 초가경과하면출력변수 TIMER_OK 가 1 이됩니다. (3) 입력변수 T_TMR 이 1 이된후경과시간이출력변수 ET_TIME 으로출력됩니다. (4) 경과시간 ET_TIME 이설정시간 10 초에도달하기전에 T_TMR 이 0 이되더라도현재의경과시간을유지합니다. (5) 입력변수 T_TMR 이다시 1 이되면멈추어졌던이전의경과시간부터다시시작합니다. (6) 입력접점 %IX1.1.5 가 1 이되면경과시간 ET_TIME 및출력변수 TIMER_OK 모두 0 으로클리어 (Clear) 됩니다. T_TMR %IX1.1.5 설정시간 (10000ms) ET_TIME TIMER_OK 제 2 장응용펑션블록라이브러리부 4-20 LS 산전연수원

395 TOF_RST 동작중출력 OFF 가가능한딜레이타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TIME IN PT RST TOF_RST Q ET TIME 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) RST : 리셋입력 (Reset) 출력 Q ET : 타이머출력 : 경과시간 (Elapsed Time) 기능 TOF_RST 펑션블록은기동조건 IN 이 1 이되는순간 Q 는 1 이되고, IN 이 0 이된후부터 PT 에의하여지정된설정시간이경과한후 Q 가 0 이됩니다. IN 이 0 이된후경과시간이 ET 로출력됩니다. 만일경과시간 ET 가설정시간에도달하기전에 IN 이 1 이되면, 경과시간은다시 0 으로됩니다. Reset 입력조건이성립하면타이머출력 Q 는 0 이되고경과시간도 0 이됩니다. 타임차트 IN RST 설정시간 (PT) PT ET Q 제 2 장응용펑션블록라이브러리부 4-21 LS 산전연수원

396 프로그램예 LD T_TOF_RST %IX 설정시간 (10s) 10s ET_TIME TIMER_OK (1) 입력변수로설정된 T_TOF_RST 가 1 이되면, 출력변수 TIMER_OK 에 1 이출력되고 T_TOF_RST 가 0 이된후 10s 후에 TIMER_OK 가 0 이됩니다. (2)T_OF_RST 가 0 이된후 10 초이내에다시 1 이되면타이머는다시초기상태가됩니다. (3) 타이머의시간측정값은 ET_TIME 로출력됩니다. (4) 입력접점 %IX 가 1 이되면 TIMER_OK 와 ET_TIME 모두 0 으로클리어 (Clear) 됩니다. 제 2 장응용펑션블록라이브러리부 4-22 LS 산전연수원

397 TOF_UINT 정수설정 OFF 타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 UINT UINT IN PT UINT RST TOF_UINT Q ET UDINT 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) UNIT : 설정시간의시간단위 (Unit) RST : 리셋입력 출력 Q ET : 타이머출력 : 경과시간 (Elapsed Time) 기능 TOF_UINT 펑션블록은기동조건 IN 이 1 이되는순간 Q 는 1 이되고, IN 이 0 이된후부터 PT 에의하여지정된설정시간이경과한후 Q 가 0 이됩니다. IN 이 0 이된후경과시간이 ET 로출력됩니다. 만일경과시간 ET 가설정시간에도달하기전에 IN 이 1 이되면, 경과시간은다시 0 으로됩니다. Reset 입력조건이성립하면타이머출력 Q 는 0 이되고경과시간도 0 이됩니다. 설정시간은 PT*UNIT[ms] 입니다. 타임차트 IN RST 설정시간 (PT UNIT) PT UNIT ET Q 제 2 장응용펑션블록라이브러리부 4-23 LS 산전연수원

398 프로그램예 LD (1) 설정시간은 PT*UNIT[ms] = 10*1000[ms] = 10[s] 가됩니다. (2) 입력변수로설정된 T_TOF 가 1 이되면, 출력변수 TIMER_OK 에 1 이출력되고 T_TOF 가 0 이된후 10 초후에 TIMER_OK 가 0 이됩니다. (3)T_TOF 가 0 이된후 10 초이내에다시 1 이되면타이머는다시초기상태가됩니다. (4) 타이머의시간측정값은 ET_TIME 로출력됩니다. (5) 입력접점 %IX1.1.5 가 1 이되면 TIMER_OK 와 ET_TIME 모두 0 으로클리어 (Clear) 됩니다. T_TOF %IX1.1.5 설정시간 ( ) ET_TIME TIMER_OK 제 2 장응용펑션블록라이브러리부 4-24 LS 산전연수원

399 TON_UINT 정수설정 ON 타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TIME UNIT IN PT UNIT TON_UNIT Q ET TIME 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) UNIT : 설정시간의시간단위 (Unit) 출력 Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 TON_UINT 펑션블록은 IN이 1이된후경과시간이 ET로출력됩니다. 만일경과시간 ET가설정시간에도달하기전에 IN이 0이되면, 경과시간 ET는 0으로됩니다. Q가 1이된후 IN이 0이되면, Q는 0이됩니다. 설정시간은 PT UNIT[ms] 입니다. 타임차트 IN 설정시간 (PT UNIT) ET PT UNIT Q 제 2 장응용펑션블록라이브러리부 4-25 LS 산전연수원

400 프로그램예 LD (1) 설정시간은 PT*UNIT[s] = 10*1000[s] = 10[s] 가됩니다. (2) 입력변수 T_TON 이 On 이된후, 10 초가경과한후에출력변수 TIMER_OK 가 1 이됩니다. (3) 입력변수 T_TON 이 On 된후경과시간이출력변수 ET_TIME 로출력됩니다. (4) 만일경과시간 ET_TIME 이설정시간 10 초에도달하기전에 T_TON 이 0 이되면, 경과시간 ET_TIME 은 0 으로됩니다. (5)TIMER_OK 가 1 이된후 T_TON 이 0 이되면, TIMER_OK 는 0 이되고경과시간 ET_TIME 도 0 이됩니다. T_TON 설정시간 (10,000ms) ET_TIME TIMER)OK 제 2 장응용펑션블록라이브러리부 4-26 LS 산전연수원

401 TP_RST 펄스타이머출력 OFF 가가능한모노스테이블타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TIME IN PT RST TP_RST Q ET TIME 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) RST : 리셋입력 (Reset) 출력 Q ET : 타이머출력 : 경과시간 (Elapsed Time) 기능 TP_RST 펑션블록은 IN 이 1 이되는순간 Q 는 1 이되고, 경과시간이설정시간에도달하면타이머출력 Q 는 0 이됩니다. 경과시간 ET 는 IN 이 1 이되었을때부터증가하며 PT 에이르면값을유지하다가 IN 이 0 이될때 0 으로클리어 (clear) 됩니다. 타이머출력 Q 가 1 인동안 ( 펄스출력중 ) 에는타이머기동조건 IN 이 1,0 변화를하여도무시합니다. Reset 입력조건이성립하면펄스출력중에도타이머출력 Q 는 0 이되고경과시간도 0 이됩니다. 타임차트 IN RST 설정시간 (PT) ET PT Q 제 2 장응용펑션블록라이브러리부 4-27 LS 산전연수원

402 프로그램예 LD T_TP_RST %I 설정시간 (10s) ET_TIME 10s TIMER_OK (1) 입력변수 T_TP_RST 가 1 이되면출력변수 TIMER_OK 가 1 이되고 10 초가경과하면출력변수 TIMER_OK 는 0 이됩니다. 일단타이머가가동된후에는 10 초동안 T_TP_RST 신호는무시됩니다. (2)ET_TIME 값은증가후 10S 에서멈춥니다. 그리고 T_TP_RST 가 0 이될때 0 으로됩니다. (3) 입력접점 %I 가 1 이되면 TIIMER_OK 와 ET_TIME 모두 0 으로클리어 (Clear) 됩니다. 제 2 장응용펑션블록라이브러리부 4-28 LS 산전연수원

403 TP_UINT 정수설정펄스타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 UINT UINT IN PT UINT RST TP_UINT Q ET UDINT 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) UNIT : 설정시간의시간단위 (Unit) RST : 리셋입력 출력 Q ET : 타이머출력 : 경과시간 (Elapsed Time) 기능 TP_UINT 펑션블록은 IN 이 1 이되는순간 Q 는 1 이되고, 경과시간이설정시간에도달하면타이머출력 Q 는 0 이됩니다. 경과시간 ET 는 IN 이 1 이되었을때부터증가하며 PT 에이르면값을유지하다가 IN 이 0 이될때 0 으로클리어 (Clear) 됩니다. 타이머출력 Q 가 1 인동안 ( 펄스출력중 ) 에는타이머기동조건 IN 이 1,0 변화를하여도무시합니다. Reset 입력조건이성립하면펄스출력중에도타이머출력 Q 는 0 이되고경과시간도 0 이됩니다. 설정시간은 PT*UNIT[ms] 입니다. 타임차트 IN RST 설정시간 (PT UNIT) ET PT UNIT Q 제 2 장응용펑션블록라이브러리부 4-29 LS 산전연수원

404 프로그램예 LD (1) 설정시간은 PT*UNIT[ms] = 10*1000[ms] = 10[s] 가됩니다. (2) 입력변수 T_TP 가 1 이되면출력변수 TIMER_OK 가 1 이되고 10 초가경과하면출력변수 TIMER_OK 는 0 이됩니다. 일단타이머가가동된후에는 10 초동안 T_TP 신호는무시됩니다. (3)ET_TIME 값은증가후 10,000 에서멈춥니다. 그리고 T_TP 가 0 이될때 0 으로됩니다. (4) 입력접점 %IX1.1.5 가 1 이되면 TIIMER_OK 와 ET_TIME 모두 0 으로클리어 (Clear) 됩니다. T_TP %IX1.1.5 설정시간 (10,000ms) ET_TIME TIMER_OK 제 2 장응용펑션블록라이브러리부 4-30 LS 산전연수원

405 TRTG 리트리거블타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 TIME IN PT RST TRTG Q ET TIME 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) RST : 리셋입력 (Reset) 출력 Q : 타이머출력 ET : 경과시간 (Elapsed Time) 기능 TRTG 펑션블록은기동조건 IN 이 1 이되는순간 Q 는 1 이되고, 경과시간이설정시간에도달하면타이머출력 Q 는 0 이된다. 타이머경과시간이 0 이되기전에 IN 이또다시 0 에서 1 로되면경과시간은 0 으로재설정되고다시증가하여설정시간 PT 에도달하면 Q 는 0 이된다. Reset 입력조건이성립하면타이머출력 Q 는 0 이되고경과시간도 0 이된다. 타임차트 IN RST 설정시간 (PT) ET PT Q 제 2 장응용펑션블록라이브러리부 4-31 LS 산전연수원

406 프로그램예 LD T_TRTG %I 설정시간 (10s) ET_TIME 10s TIMER_OK (1) 입력변수 T_TRTG 가 0 에서 1 이된후 10 초동안 TIMER_OK 는 1 이됩니다. 타이머가가동된후 T_TRTG 가다시 0 에서 1 이되면 ET_TIME 은 0 부터다시시작됩니다. (2)T_TRTG 가 1 에서 0 이되어도 10 초동안 TIMER_OK 는 1 이됩니다. (3)ET_TIME 은증가후 T#10S 에서멈춥니다. 그리고 T_TRTG 가 0 이될때 0 으로됩니다. (4) 입력접점 %I 가 1 이되면 TIMER_OK 와 ET_TIME 모두 0 으로클리어 (Clear) 됩니다. 제 2 장응용펑션블록라이브러리부 4-32 LS 산전연수원

407 TRTG_UINT 정수설정리트리거블타이머 CPU 명 GMR GM1 GM2 GM3 GM4 GM6 GM7 적용가능 펑션블록설명 UINT UINT IN PT UINT RST TRTG_UINT Q ET UDINT 입력 IN : 타이머기동조건 PT : 설정시간 (Preset Time) UNIT : 설정시간의시간단위 (Unit) RST : 리셋입력 출력 Q ET : 타이머출력 : 경과시간 (Elapsed Time) 기능 TRTG_UINT 펑션블록은기동조건 IN 이 1 이되는순간 Q 는 1 이되고, 경과시간이설정시간에도달하면타이머출력 Q 는 0 이됩니다. 타이머경과시간이 0 이되기전에 IN 이또다시 0 에서 1 로되면경과시간은 0 으로재설정되고다시증가하여설정시간 PT 에도달하면 Q 는 0 이됩니다. Reset 입력조건이성립하면타이머출력 Q 는 0 이되고경과시간도 0 이됩니다. 설정시간은 PT*UNIT[ms] 입니다. 타임차트 IN RST 설정시간 (PT) ET UNIT PT UNIT Q 제 2 장응용펑션블록라이브러리부 4-33 LS 산전연수원

408 프로그램예 LD (1) 설정시간은 PT*UNIT[ms] = 10*1000[ms] = 10[s] 가됩니다. (2) 입력변수 T_TRTG 가 0 에서 1 이된후 10 초동안 TIMER_OK 는 1 이됩니다. 타이머가가동된후 T_TRTG 가다시 0 에서 1 이되면 ET_TIME 은 0 부터다시시작됩니다. (3)T_TRTG 가 1 에서 0 이되어도 10 초동안 TIMER_OK 는 1 이됩니다. (4)ET_TIME 은증가후 10,000 에서멈춥니다. 그리고 T_TRTG 가 0 이될때 0 으로됩니다. (5) 입력접점 %IX1.1.5 가 1 이되면 TIMER_OK 와 ET_TIME 모두 0 으로클리어 (Clear) 됩니다. T_TRTG %IX1.1.5 설정시간 (10,000ms) ET TIME TIMER_OK 제 2 장응용펑션블록라이브러리부 4-34 LS 산전연수원

409 부록 C. 태스크프로그램

410 부록 C. 태스크프로그램 1.1 태스크프로그램의종류및실행방식 태스크프로그램의종류 연산자, 펑션, 펑션블록등을사용하여작성된각각의프로그램은그실행을제어하기위한프로그램의기동조건인태스크에따라다음과같이분류됩니다. 구분태스그종류기동조건동작 시스템태스크 Event 태스크스캔태스크 초기화 _INIT 태스크로기동 기본파라미터로콜드 / 웜리스타트설정시실행 프로그램 _H_INIT 태스크로기동 기본파라미터로핫리스타트설정시실행 에러처리프로그램 _ERR_SYS 태스크로기동 시스템에러발생시실행 정주기태스크 시간간격설정 설정시간마다주기적으로프 프로그램 태스크로기동 로그램실행 외부접점태스크 인터럽트모듈 인터럽트모듈접점의상승에 프로그램 태스크로기동 지검출시프로그램실행 내부접점내부접점의상승에지검출시내부접점태스크태스크로기동스캔프로그램실행완료후프프로그램로그램실행 스캔프로그램 기동조건없음 매스캔마다프로그램실행 태스크우선순위 : 시스템 > 정주기, 외부접점 > 내부접점 > 스캔 시스템태스크란시스템에서제공되는태스크를말합니다. ( 기본적으로등록되어있음 ) Event 태스크는사용자에의해등록이필요합니다. 스캔태스크란특별한기동조건이없는태스크를말합니다. ( 등록이필요없음 ) 정주기 ( 인터벌 ) 태스크란시간간격설정에의한태스크를말합니다. 외부접점 ( 인터럽트 ) 태스크란인터럽트모듈에의한태스크를말합니다. 내부접점 ( 싱글 ) 태스크란내부접점에의한태스크를말합니다. 시스템태스크의기동조건해제 ( 종료 ) _ 초기화태스크 : _INIT_DONE 플래그 On시해제 _ 시스템에러해제플래그 On시해제 부록 C. 태스크프로그램부 1-1 LS 산전연수원

411 태스크의속성 종류 정주기태스크 외부접점태스크 내부접점태스크 규격 ( 인터벌태스크 ) ( 인터럽트태스크 ) ( 싱글태스크 ) 개수 32 개 16 개 16 개 기동조건검출실행검출지연시간실행우선순위 정주기인터럽트모듈의입력접점 (10ms ~ sec) 의상승또는하강에지설정시간마다주기적으인터럽트모듈의접점의 로실행 에지발생시즉시실행 최대 5ms 지연 최대 5ms 지연 + 인터럽트모듈지연 ( 0.5ms 이내 ) 0 ~ 7 레벨설정 (0 레벨이가장높음 ) 좌동 내부메모리데이터중지정한불 (Bool) 변수데이터의상승에지 (0->1) 스캔프로그램실행완료후에지를검색하여실행최대스캔타임만큼지연좌동 태스크프로그램의실행방식 ( 가 ) 초기화프로그램 콜드나웜리스타트모드로운전을시작할때초기화프로그램은스캔및태스크프로그램실행전에시스템초기화를할때사용됩니다. 초기화프로그램은종료조건이성립될때까지반복연산을실행합니다. ( 초기화프로그램에서 _INIT_DONE 플래그가 ON 될때까지반복연산을실행 ) 초기화프로그램실행중에도입출력리프레시를실행합니다 핫리스타트모드로운전을시작할때초기화프로그램은정전발생시정지된스텝부터실행을다시시작하거나특수모듈을정전이전의상태로복원할필요가있을때사용됩니다초기화프로그램은설정한조건이성립될때까지반복연산을실행합니다. ( 초기화프로그램에서 _INIT_DONE 플래그가 ON 될때까지반복연산을실행 ) 핫리스타트초기화프로그램실행중입출력리프레시를실행하지않습니다. ( 정전시입출력이미지데이터를그대로유지 ) 입출력리프레시가필요하면입출력펑션을사용하십시오. 핫리스타트초기화프로그램실행완료후정지스텝부터프로그램을실행하여 1스캔이완료되어도출력리프레시는하지않고그다음스캔부터정상적인입출력리프레시를합니다. 초기화프로그램실행중에는 _INIT_RUN 플래그가 ON 됩니다. 부록 C. 태스크프로그램부 1-2 LS 산전연수원

412 ( 나 ) 태스크프로그램 정주기태스크에의해지정된프로그램은태스크에설정된시간간격으로프로그램을실행합니다. 외부인터럽트태스크에의해지정된프로그램은인터럽트모듈에서발생한외부인터럽트접점신호에의해프로그램을실행합니다. 내부접점태스크에의해지정된프로그램은내부접점의상승에지발생시스캔프로그램의처리한다음태스크프로그램실행합니다. ( 다 ) 스캔프로그램사용자가작성한프로그램중초기화프로그램이나태스크프로그램으로지정하지않은프로그램들은자동으로스캔프로그램이됩니다. 스캔프로그램은태스크와무관한프로그램으로실행의우선순위가가장낮으며, 주기적인반복연산을수행하는프로그램으로서등록순서에따라처리순서가결정되어순차적인반복연산을실행합니다. ( 라 ) 에러처리프로그램에러태스크프로그램은사용자프로그램의실행중시스템의에러가발생할경우실행됩니다. 사용자는시스템의에러에대응하는프로그램을작성한후 _ERR_SYS 태스크를조건으로하여프로그램을기동합니다. 에러태스크프로그램에서시스템에러해제플래그를제어하면시스템의운전정지를막을수있습니다. * 에러종류 : - 모듈착탈에러 - FUSE 단선에러 - 입출력모듈읽기 / 쓰기에러 ( 고장 ) - 특수, 통신모듈인터페이스에러 ( 고장 ) - 외부기기의중고장검출에러 부록 C. 태스크프로그램부 1-3 LS 산전연수원

413 1.1.3 태스크프로그램의실행도스캔프로그램은작성된순서대로처음부터마지막까지실행됩니다. 이와같이스캔프로그램은반복연산방식으로수행되고이한차례의과정을 1 스캔 이라고합니다. 스캔프로그램실행중에정주기또는외부접점태스크프로그램의실행조건이발생하면현재실행중인프로그램의실행을일시중지하고해당하는태스크프로그램을실행합니다. 스캔프로그램의실행이완료되면, 내부접점태스크프로그램의실행조건을체크하여실행조건이발생한태스크프로그램을실행합니다. 운전시작 초기화처리 *1 _INIT,_H_INIT: 초기화태스크 초기화프로그램을사용자가작성한경우수행 입력리프레시처리 스캔프로그램처리 1 스캔 내부접점태스크프로그램처리 ' 정주기태스크프로그램 ' ' 외부접점태스크프로그램 ' 조건발생시즉시처리 출력리프레시처리 자기진단 *2 _ERR_SYS: 에러태스크 에러가발생하고사용자에의해프로그램이작성되어있을때수행 부록 C. 태스크프로그램부 1-4 LS 산전연수원

414 1.2 태스크추가하기 태스크는프로그램의실행조건을정의하는것입니다. 그종류로는싱글, 인터벌, 인터럽트등이있습니다. 1) 태스크추가하기 프로젝트창내의목록중편집하려는태스크를선택합니다. 메뉴 [ 프로젝트 ]-[ 프로젝트항목추가 ]-[ 태스크 ] 를선택하거나팝업메뉴에서 [ 프로젝트 ]-[ 프로젝트 항목추가 ]-[ 테스크 ] 를선택합니다. 태스크이름입력란에태스크이름을입력합니다. 태스크번호입력란에수행조건에따라아래번호를입력합니다. 수행조건태스크번호정주기 0 31 외부접점 (GM4:32 39) 내부접점 단인터럽트의경우는인터럽트번호와해당태스크번호가지정되어있으므로자동으로설정됩니다. GM6,7 의태스크번호는우선순위에따라자동으로설정됩니다. GM6,7 의태스크는정주기, 외부접점, 내부접점을모두합하여 8 개입니다. 내부접점인경우에는변수이름을, 정주기인경우에는경과시간을, 외부접점인경우에는인터럽트카드의입력위치를번호로표현합니다. 다음은각경우에가능한입력의예를듭니다. (1) 내부접점인경우리소스글로벌변수중 인것 A, VALVE1 등직접변수중 인것 %IX0.0.0, %QX0.1.1, %MX10 등 부록 C. 태스크프로그램부 1-5 LS 산전연수원

415 (2) 정주기인경우 경과시간을나타내는상수값 T#10S, T#1H10M10S10MS 등 (3) 외부접점인경우 Interrupt 번호 (GM1~3:0~15, GM4: 0~7 까지가능 ) 0, 1, (GM6~7 : 직접변수 %I) %IX0.0.0 우선순위목록상자에서우선순위를선택합니다. 우선순위는 0~7 까지가능하며, 작은숫자가높은우선순위를갖습니다. [ 확인 ] 을클릭합니다. 2) 태스크삭제하기 태스크정의목록상자에서삭제할항목을선택합니다. 팝업메뉴의 [ 삭제 ] 또는 Del 키를누릅니다. 3) 태스크수정하기 태스크정의목록상자에서수정할항목을선택합니다. 수정하려는태스크를마우스로더블클릭하거나, 팝업메뉴에서 [ 등록정보 ] 를선택합니다. 태스크추가시와같은방법으로입력한후 [ 확인 ] 을클릭합니다. 하나씩이동시킵니다. 부록 C. 태스크프로그램부 1-6 LS 산전연수원

416 1.3 태스크프로그램 초기화태스크프로그램 (1) 초기화태스크프로그램작성초기화태스크프로그램 ( 초기화태스크.src) 을작성합니다. _INIT_DONE 은 초기화프로그램완료 플래그입니다. (2) 초기화태스크설정예약된 ( 이미정의되어있는 ) 초기화태스크 (_INIT) 를 프로젝트항목추가 를통해설정합니다. 부록 C. 태스크프로그램부 1-7 LS 산전연수원

417 (3) 초기화태스크프로그램모니터초기화태스크프로그램을실행시켜동작을확인합니다. 부록 C. 태스크프로그램부 1-8 LS 산전연수원

418 1.3.2 정주기태스크프로그램 (1) 정주기태스크프로그램작성정주기태스크프로그램을작성합니다. (2) 정주기태스크설정정주기태스크를정의하고 ( 선언하고 ), 기동조건을부여합니다. 부록 C. 태스크프로그램부 1-9 LS 산전연수원

419 부록 C. 태스크프로그램부 1-10 LS 산전연수원

420 부록 C. 태스크프로그램부 1-11 LS 산전연수원

421 (3) 정주기태스크프로그램모니터정주기태스크프로그램을실행시켜동작을확인합니다 내부접점태스크프로그램 (1) 내부접점태스크프로그램작성내부접점태스크프로그램을작성합니다. 부록 C. 태스크프로그램부 1-12 LS 산전연수원

422 (2) 정주기태스크설정정주기태스크를정의하고 ( 선언하고 ), 기동조건을부여합니다. 부록 C. 태스크프로그램부 1-13 LS 산전연수원

423 부록 C. 태스크프로그램부 1-14 LS 산전연수원

424 (3) 내부접점태스크프로그램모니터스캔프로그램에서수행조건접점 %IX 가 ON 되면 ( 상승에지검출 ), 내부접점태스크프로그램이 1 스캔동작되어 적산값 이 +1 되는지확인합니다. 내부접점태스크에서수행조건은직접변수또는 GLOBAL 변수 ( 변수종류 VAR_EXTERNAL) 로지정해야합니다. 또한, 데이터타입은모두 이어야합니다. 부록 C. 태스크프로그램부 1-15 LS 산전연수원

425

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

歯표지_통합_.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

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

歯표지.PDF

歯표지.PDF GLOFA MASTERK !!!! 8 4 4 4 4 4!! 8 4 8 8 8 8 4 4 1 1 1 1 1 2 ± 1 1 3 2 + < < ± 2 1 2 DIN BS ( C) (µv) K NiCrNi NiCrNiAI 2000~12000 5891~48828 J PeCuNi 2000~8000 7890~45498 E NiCrCuNi 1500~6000 7297~45085

More information

OCW_C언어 기초

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

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

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

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

온습도 판넬미터(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

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

<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

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

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

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

<4D F736F F F696E74202D2032C0E55FC6AEB7B9C0CCB4D720C5B0C6AEB1B8BCBAC7B05F446F6E652E707074>

<4D F736F F F696E74202D2032C0E55FC6AEB7B9C0CCB4D720C5B0C6AEB1B8BCBAC7B05F446F6E652E707074> File: PRO_1_02E.1 차례 S7-300 트레이닝키트... 2 S7-300 트레이닝키트 PLC 구성... 3 S7-300 모듈 I/O 어드레스... 4 S7-400트레이닝키트전체구성품. 5 S7-400 트레이닝키트 PLC 구성... 6 시뮬레이터... 7 콘베이어모델... 8 전체심벌리스트 (1)... 9 전체심벌리스트 (2)... 10 전체심벌리스트

More information

Microsoft Word - [00] 표지 앞_XGF-AC8A,AV8A_.doc

Microsoft Word - [00] 표지 앞_XGF-AC8A,AV8A_.doc 최대의이익을위한최선의선택! LS 산전에서는저희제품을선택하시는분들께최대의이익을드리기위하여항상최선의노력을다하고있습니다. 프로그래머블로직컨트롤러 XGT 아날로그입력모듈 XGT Series 사용설명서 XGF-AC8A XGF-AV8A 안전을위한주의사항 사용전에안전을위한주의사항을반드시읽고정확하게사용하여주십시오. 사용설명서를읽고난뒤에는제품을사용하는사람이항상볼수있는곳에잘보관하십시오.

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

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 - 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 : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

tiawPlot ac 사용방법

tiawPlot ac 사용방법 tiawplot ac 매뉴얼 BORISOFT www.borisoft.co.kr park.ji@borisoft.co.kr HP : 00-370-077 Chapter 프로그램설치. 프로그램설치 3 2 Chapter tiawplot ac 사용하기.tiawPlot ac 소개 2.tiawPlot ac 실행하기 3. 도면파일등록및삭제 4. 출력장치설정 5. 출력옵션설정

More information

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

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

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

입출력 2,048(GM4A/B), 3,584(GM4C) 점의중 소규모제어 명령어처리시간의고속화 (0.12~0.2μs /step) 중 소규모의제조라인네트워크구성가능 리모트시스템구성시 2,048(GM4), 8,192(GM4B), 32,000(GM4C) 점의대규모제어가능 3

입출력 2,048(GM4A/B), 3,584(GM4C) 점의중 소규모제어 명령어처리시간의고속화 (0.12~0.2μs /step) 중 소규모의제조라인네트워크구성가능 리모트시스템구성시 2,048(GM4), 8,192(GM4B), 32,000(GM4C) 점의대규모제어가능 3 GLOFA-GM Series GLOFA-GM7U/GM7 연산처리속도`:`0.1(0.5) GLOFA-GM6 연산처리속도`:`0.5 최대제어점수`:`120 점 /80 점 최대제어점수`:`384 점 프로그램용량`:`132Kbyte/68Kbyte 프로그램용량`:` 최대 68Kbyte 내장기능`:`PID, HSC, 위치결정, Cnet등 GLOFA-GM4 연산처리속도`:`0.12~0.2μs

More information

실험 5

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

More information

Microsoft PowerPoint - chap06-2pointer.ppt

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

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

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

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

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

<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

< 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

API 매뉴얼

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

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

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

<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

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

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

More information

슬라이드 1

슬라이드 1 LS 경영철학 목차 제1장 XGI PLC 개요제2장데이터메모리제3장기본 Function 제4장확장 Function 제5장응용 Function 제6장사용자정의 F/FB 제7장태스크프로그램제8장 SFC 언어제9장글로벌변수제10장 Analog 입력모듈제11장 Analog 출력모듈제12장프로그램예제부록1 펑션 / 펑션블록목록부록2 ARRAY 변수부록3 사용자데이터타입부록4

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

슬라이드 제목 없음

슬라이드 제목 없음 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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

제 2 장 기본 사용법

제 2 장  기본 사용법 LS Studio 1. 시작하기 1.1 특징 XG5000 에서는 XP-Builder, DriveView7 등의소프트웨어와의통합된개발환경을제공합니다. 통합된 개발환경에서는모든프로젝트파일을 XG5000 에서통합관리합니다. XP-Builder 통합프로젝트를사용함으로써 PLC 에서사용할변수목록을 CSV 파일로내보내기또는불러오기하는번거로움없이바로사용할수있습니다. 또한

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

ATmega128

ATmega128 ATmega128 외부인터럽트실습 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 외부인터럽트실험 외부인터럽트를사용하기위해관렦레지스터를설정 일반적으로 I/O 포트에대한설정이끝난후에외부인터럽트나타이머 / 카운터설정 PE4~7 번까지 4 개의외부인터럽트 INT4~INT7 까지사용 외부인터럽트사용법요약

More information

untitled

untitled 1 PLC 1.1 PLC 1.1.1 PLC PLC(Programmable Logic Controller),,, LSI,,. (NEMA: National Electrical Manufactrurers Association),,,,. 1.1.2 PLC PLC. FMS(Flexible Manufacturing System) PLC,. 1-1 PLC. - 5 - 1.2

More information

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

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

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

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

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

실험 5

실험 5 실험. apacitor 및 Inductor 의특성 교류회로 apacitor 의 apacitance 측정 본실험에서는 capacitor를포함하는회로에교류 (A) 전원이연결되어있을때, 정상상태 (steady state) 에서 capacitor의전압과전류의관계를알아본다. apacitance의값이 인 capacitor의전류와전압의관계는다음식과같다. i dv = dt

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

03_원격제어반_IDAC-2W

03_원격제어반_IDAC-2W IDAC-2W (Intelligent Distributed Automatic Controller) 1. 개요 IDAC-2W 는 HVAC 의공기조화기, 냉온수열원장비, BC 의저소음휀및기타설비장비를제어하기위한제어기기이다. LCD( Liquid Crystal Display) 가장착된이제어기기는장비의다양한제어기능및데이터통신기능을가지며, Key- Pad 를이용하여장비의운전및설정할수있다.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) 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

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

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

슬라이드 1

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

More information

<B9CCC2EABAF1BDC351BDC3B8AEC1EE504C435FC3E6B3B2C0CEB7C2B0B3B9DFBFF82E687770>

<B9CCC2EABAF1BDC351BDC3B8AEC1EE504C435FC3E6B3B2C0CEB7C2B0B3B9DFBFF82E687770> MITSUBISHI PLC SYSTEM 메카트로닉스연구회 cafe in Daum MITSUBISHI PLC SYSTEM 차 례 1. 미쯔비시 Q씨리즈 PLC 시스템의구성 1.1 기기구성 4 1.1.1 단독 CPU 시스템의구성예 4 1.1.2 시스템의구성 6 1.1.3 성능사양 7 1.1.4 각디바이스설명 9 1.2 CPU 의외관과명칭 13 1.2.1 CPU

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

스마트주택용분전반_160331

스마트주택용분전반_160331 Smart Distribution Board / Home Distribution Board Moving Forward into the World 02_03 World Class Brand 04_05 Smart Distribution Board / Home Distribution Board C o n t e n t s Smart Distribution Board

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

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

PowerPoint Template

PowerPoint Template 10 포인터 1 주소 Address( 주소 ) 메모리에는그메모리의저장장소의위치를나타내는주소값 주소 (address) 는 1 바이트마다 1 씩증가하도록메모리에는연속적인번호가구성 2 주소연산자 & & 변수 변수의주소값을알아내려면변수앞에주소연산자 & (ampersand) 를이용 주소값이용장단점 주소값을이용하면보다편리하고융통성있는프로그램이가능 그러나복잡하고어려운단점

More information

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

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

More information

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. D/A 변환기 2. 병렬 D/A 변환기로 LED 밝기제어하기 3. 직렬 D/A 변환기로 LED 밝기제어하기 D/A 변환기 D/A 변환기 (Digital to Analog Converter) 디지털데이터를아날로그전압으로변환하는소자 A/D변환기와함께마이크로프로세서응용회로에서널리사용됨.

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

Studuino소프트웨어 설치

Studuino소프트웨어 설치 Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

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

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

Microsoft Word - [00]표지 앞.doc

Microsoft Word - [00]표지 앞.doc GLOFA GM6 프로그래머블로직컨트롤러 안전을위한주의사항 사용전에안전을위한주의사항을반드시읽고정확하게사용하여주십시오. 사용설명서가최종사용자와유지보수책임자에게전달되도록하여주십시오. 사용설명서를읽고난뒤에는제품을사용하는사람이항상볼수있는곳에잘보관하십시오. 안전을위한주의사항 제품을사용하기전에 제품을안전하고효율적으로사용하기위하여본사용설명서의내용을끝까지잘읽으신후에사용해주십시오.

More information

LM 가이드

LM 가이드 SR/SS 볼리테이너타입 가이드 B 제품치수제원 치수도, 치수표 SR-R 형, SR-R 형... SS-R 형, SS-R 형... SR- 형, SR- 형... SS- 형, SS- 형... SR-RH 형 ( 수주대응품 ), SR-RH 형 ( 수주대응품 ).. SS-RH 형 ( 수주대응품 ), SS-RH 형 ( 수주대응품 )... SR-H 형 ( 수주대응품 ),

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

More information

@ p a g e c o n te n tt y p e = " te x t/ h tm l;c h a rs e t= u tf- 8 " fo r (in t i= 0 ; i< = 1 0 ; i+ + ) { o u t.p rin tln (" H e llo W o rld " + i + " < b r/> " ); = re s u lt + re s u lts u m ()

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

(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로

(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로 Lab. 1. I-V Characteristics of a Diode Lab. 1. 연산증폭기특성실험 1. 실험목표 연산증폭기의전압이득 (Gain), 입력저항, 출력저항, 대역폭 (Bandwidth), 오프셋전압 (Offset Voltage), 공통모드제거비 (Common-mode Rejection Ratio; CMRR) 및슬루율 (Slew Rate) 등의기본적인성능파라미터에대해서실험을통해서이해

More information

메뉴얼41페이지-2

메뉴얼41페이지-2 데이터 기반 맞춤형 성장관리 솔루션 스마트빌 플러스 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여 등록합니다. 금융정보 자동수집을 위하여 인증서이름, 아이디, 비밀번호를 등록합니다. 통합 자동 수집 금융정보 통합 자동수집을 실행합니다 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

RVC Robot Vaccum Cleaner

RVC Robot Vaccum Cleaner RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while

More information

SBR-100S User Manual

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

More information

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

½½¶óÀ̵å Á¦¸ñ ¾øÀ½ 0.2 완전차동 (fully dfferental) OP amp Dfferental nput, Dfferental output Easy to cascade OP amps nsenstve to supply nose Hgh gan Fully dff OP amp requres CMFB Hgh Speed CMOS IAB, POSTECH 0.2. NMOS 입력완전차동

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

디지털TV솔루션 브로셔

디지털TV솔루션 브로셔 개요 [ADC] [DDC] [DAC] [VSC] 영상 / 음성 변환및압축 Ethernet Stream 전송및전시 저장및재생 입력 - SD 급영상동시 4CH - 디지털영상동시 2CH - Analog Audio 동시 2CH 영상 : H.264 압축 음성 : PCM 16bit HW 방식 Encoding 지원 Gigabit 이더넷전송 / 수신 낮은지연시간 ( 최대

More information

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 사용자매뉴얼 JetFlash Vault 100 ( 버전 1.0) 1 목차 1. 시스템요구사항... 3 2. 암호및힌트설정 ( 윈도우 )... 3 3. JetFlash Vault 시작하기 ( 윈도우 )... 7 4. JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 찾아보기... 10 JetFlash

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

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

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 7) . 반감산기와전감산기를설계 반감산기반감산기는한비트의 2진수 에서 를빼는회로이며, 두수의차 (difference, ) 와빌림수 (barrow, ) 를계산하는뺄셈회로이다. 에서 를뺄수없으면윗자리에서빌려와빼야하며, 이때빌려오는수는윗자리에서가져오므로

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Office 365 사용자 가이드

Office 365 사용자 가이드 [ 여기에입력 ] Office 365 사용자가이드 OFFICE 365 모바일설정 목차 1. 모바일에메일계정추가하기... 2 2. Lync 2013 App 설치하기... 7 3. Office Mobile App 설치하기... 10 4. Office for ipad 설치하기... 16-1 - 모바일기기에 Office 365 를설정해보세요. 모바일기기에 Office

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information