반응형 MELSEC PLC 기초 강좌35 [34] PLC 기초 강좌 - 완결 [34] PLC 기초 강좌 4.5. 데이터 링크용 명령 1) 타국에서 워드 디바이스 데이터 읽기(READ) ▶ [JP.READ Jn (S1) (S2) (D1) (D2)] ▶ [GP.READ Un (S1) (S2) (D1) (D2)] 컨트롤 데이터의 네트워크 No. 및 국번으로 지정된 MELSECNET/10 접속국의 (S2)로 지정된 워드 디바이스 이후의 데이터를 자국의 (D1)로 지정된 디바이스 이후에 저장합니다. 대상국에서의 디바이스 데이터의 읽기가 완료하면 (D2)로 지정된 완료 디바이스가 ON합니다. 디바이스 데이터의 읽기는 자국 네트워크의 접속국 이외에 MELSECNET/10의 지정 네트워크No.의 접속국에 대해서도 실행할 수 있습니다. 데이터 링크용 명령은 동일 채널에 대해 2개소 이상에서 실행.. 2019. 4. 24. [33] PLC 기초 강좌 [33] PLC 기초 강좌 4.4. 응용 명령 4.4.10. 시계용 명령 1) 시계 데이터의 읽기(DATERD(P)) ★ ▶ [DATERD(P) (D)] QCPU의 시계 소자에서 “년, 월, 일, 분, 초, 요일”을 읽고, (D)로 지정된 디바이스 이후에 BIN값으로 저장합니다. (D)의 “년”에는 서력 4자리를 저장합니다. (D+6)의 “요일”에는 “일~토”를 “0~6”으로 저장합니다. 윤년은 자동적으로 보정됩니다. 2) 시계 데이터의 쓰기(DATEWR(P)) ★ ▶ [DATEWR(P) (S)] (S)로 지정된 디바이스 번호 이후에 저장하고 있는 시계 데이터를 QCPU의 시계 소자에 씁니다. 각 항목의 설정은 BIN값으로 설정합니다. (S)의 “년”은 서력 4자리를 1980~2079로 설정합니다. (S.. 2019. 4. 22. [32] PLC 기초 강좌 [32] PLC 기초 강좌 4.4. 응용 명령 4.4.9. 문자열 처리 명령 10) 부동 소수점→문자열 변환(ESTR(P)) ▶ [ESTR(P) (S1) (S2) (D)] (S1)로 지정된 디바이스에 저장되어 있는 부동 소수점형 실수 데이터를 (S2)로 지정된 디바이스 번호 이후에 저장되어 있는 표시 지정에 따라 문자열로 변환하고, (D)로 지정된 디바이스 번호 이후에 저장합니다. (S2)로 지정된 표시 지정에 따라 소수점 형식, 지수 형식등으로 변환 후의 데이터는 달라집니다. 11) 문자열→부동 소수점 변환(EVAL(P)) ▶ [EVAL(P) (S) (D)] (S)로 지정된 디바이스 번호 이후에 저장되어 있는 문자열을 부동소수점형 실수로 변환하여, (D)로 지정된 디바이스에 저장합니다. 지정된 문자열은.. 2019. 4. 18. [31] PLC 기초 강좌 [31] PLC 기초 강좌 4.4. 응용 명령 4.4.9. 문자열 처리 명령 6) 10진 아스키→BCD 4자리/8자리 변환(DABCD(P), DDABCD(P)) ★ ▶ [DABCD(P) (S) (D)] (S)로 지정된 디바이스 번호 이후에 저장되어 있는 16진 아스키 데이터를 BCD 4자리 데이터로 변환하여, (D)로 지정된 디바이스 번호에 저장합니다. 예를 들면, (S)이후에 8765H의 아스키 코드를 지정한 경우, (D)에는 다음과 같이 저장 됩니다. (S) ~ (S+1)로 지정된 아스키 데이터는 0~9999의 범위 이내입니다. 각 자리에 설정되는 아스키 코드는 “30H”~“39H”의 범위 이내입니다. 각 자리에 설정되는 아스키 코드가 “20H”, “00H”일 때는 “30H”로 처리합니다. ▶ [DD.. 2019. 4. 15. [30] PLC 기초 강좌 [30] PLC 기초 강좌 4.4. 응용 명령 4.4.9. 문자열 처리 명령 1) BIN 16비트/32비트→10진 아스키 변환(BINDA(P), DBINDA(P)) ★ ▶ [BINDA(P) (S) (D)] (S)로 지정된 BIN 16비트 데이터를 10진수로 표현했을 때의 수치 각각을 아스키 코드로 변환하여, (D)로 지정된 디바이스 번호 이후에 저장합니다. (S)로 지정된 BIN 데이터는 –32768~32767의 범위 이내입니다. (D)에 저장되는 연산 결과는 다음과 같습니다. ① “부호”에는 BIN 데이터가 플러스일 때 “20H”를 저장하고, 마이너스일 때 “2DH”를 저장합니다. ② 유효 자리수중의 “0”에는 “20H”를 저장합니다. (0 서프레스 합니다.) ③ (D+3)로 지정된 디바이스에 대한 데.. 2019. 4. 11. [29] PLC 기초 강좌 [29] PLC 기초 강좌 4.4. 응용 명령 4.4.8. 버퍼 메모리 액세스 명령 인텔리전트 기능 모듈/특수 기능 모듈은 사전에 모듈만의 특수한 용도로 정의 된 버퍼 메모리 라는 것을 가지고 있습니다. 이런 특수한 용도로 정의 된 버퍼 메모리를 CPU가 읽고 쓸 수 있도록 액서스 기능의 명령어 입니다. 최근 이러한 버퍼 메모리 액서스 명령을 사용하지 않고, 직접 유니트 지정 명령도 사용 가능 합니다. 샘플 프로그램에서도 두 가지 모두 예시 하였습니다. 1) 인텔리전트 기능 모듈/특수 기능 모듈에서의 1워드 데이터 읽기(FROM(P)) ★ ▶ [FROM(P) n1 n2 (D) n3] n1로 지정된 인텔리전트 기능 모듈/특수 기능 모듈 내의 버퍼 메모리 n2로 지정된 어드레스로부터 n3점의 워드의 데이터를.. 2019. 4. 7. [28] PLC 기초 강좌 [28] PLC 기초 강좌 4.4. 응용 명령 4.4.7. 데이터 테이블 조작 명령 1) 데이터 테이블에 대한 데이터 쓰기(FIFW(P)) ★ ▶ [FIFW(P) (S) (D)] (S)로 지정된 16비트 데이터를 (D)로 지정된 데이터 테이블에 저장합니다. (D)에 테이블에 저장되어 있는 데이터 수를 저장하고, (D)+1 이후에 (S)로 지정된 데이터를 순차적으로 저장해갑니다. FIFW 명령을 처음 실행하는 경우에는 (D)로 지정된 디바이스의 값을 클리어하십시오. 데이터 테이블에 입력한 데이터 수와 데이터 테이블 범위는 사용자가 관리하십시오. 2) 테이블에서의 선입(先入) 데이터 읽기(FIFR(P)) ★ ▶ [FIFR(P) (S) (D)] (D)로 지정된 테이블로부터 가장 먼저 읽혀진 데이터(D+1)가 .. 2019. 4. 3. [27] PLC 기초 강좌 [27] PLC 기초 강좌 4.4. 응용 명령 4.4.6. 구조화 명령 1) FOR~NEXT(FOR, NEXT) ★ ▶ [FOR n] FOR~NEXT 명령간의 처리를 n회 실행하게 되면 무조건 NEXT 명령의 다음 스텝을 처리합니다. n은 1~32767을 지정할 수 있습니다. –32768~0을 지정했을 때는 n=1과 동일한 처리를 합니다. FOR~NEXT 명령 간의 처리를 하지 않을 때는 CJ, SCJ 명령으로 점프시키십시오. FOR의 네스팅은 16중까지 가능합니다. 다음의 경우에는 연산 에러가 되며, 에러 플래그(SM0)가 ON하고 에러 코드가 SD0에 저장됩니다. ᆞFOR 명령 실행 후, NEXT 명령을 실행하기 전에 END(FEND) 명령을 실행했을 때 (에러 코드: 4200) ᆞFOR 명령을 실행.. 2019. 3. 31. [26] PLC 기초 강좌 [26] PLC 기초 강좌 4.4. 응용 명령 4.4.5. 데이터 처리 명령 10) 16비트/32비트 데이터 최대값 검색(MAX(P), DMAX(P)) ★ ▶ [MAX(P) (S) (D) n] (S)로 지정된 디바이스부터 n점의 16비트 BIN 데이터에서 최대값을 검색하여, (D)로 지정된디바이스에 저장합니다.(S)로 지정된 디바이스부터 검색하여, 처음에 검출한 최대값이 저장되어 있는 디바이스 번호가 (S)에서 몇 번째 점인지를 (D)+1에 저장하고, 최대값의 개수를 (D)+2에 저장합니다. ▶ [DMAX(P) (S) (D) n] (S)로 지정된 디바이스부터 n점의 32비트 BIN 데이터에서 최대값을 검색하여, (D), (D)+1로 지정된디바이스에 저장합니다.(S)로 지정된 디바이스부터 검색하여, 처음에.. 2019. 3. 28. [25] PLC 기초 강좌 [25] PLC 기초 강좌 4.4. 응용 명령 4.4.5. 데이터 처리 명령 6) 16비트 데이터의 4비트 분리(DIS(P))▶ [DIS(P) (S)(D)n] ★(S)로 지정된 16비트 데이터의 하위 n자리(1자리 4비트)분의 데이터를 (D)로 지정된디바이스부터 n점분의 하위 4비트에 저장합니다.(D)로 지정된 디바이스부터 n점분의 상위 12비트는 0으로 됩니다. n은 1~4를 지정할 수 있습니다.n=0일 때는 무처리 되며, (D)의 디바이스부터 n점분의 내용은 변화하지 않습니다. 7) 16비트 데이터의 4비트 결합(UNI(P))▶ [UNI(P) (S)(D)n] ★(S)로 지정된 디바이스부터 n점분의 16비트 데이터의 하위 4비트를 (D)로 지정된 16비트 디바이스에 결합 합니다.(D)로 지정된 디바이스.. 2019. 3. 24. [24] PLC 기초 강좌 [24] PLC 기초 강좌 4.4. 응용 명령 4.4.5. 데이터 처리 명령 1) 16비트/32비트 데이터 서치(SER(P), DSER(P))▶ [SER(P) (S1) (S2)(D) n] ★(S1)로 지정된 디바이스의 16비트 데이터를 키워드로서 (S2)로 지정된 디바이스의 16비트 데이터부터 n점을 서치 합니다. 처음에 일치한 디바이스 번호가 (S2)부터 몇 번째 인지를 (D)로 지정된 디바이스에,키워드와 일치한 개수를 (D)+1로 지정된 디바이스에 저장합니다. n이 0 또는 마이너스인 경우는 무처리 됩니다. 서치 한 결과, 일치 데이터가 발견되지 않은 경우 (D), (D)+1로 지정된 디바이스는 “0”으로 처리 됩니다. ▶ [DSER(P) (S1)(S2) (D) n](S1), (S1)+1로 지정된 디.. 2019. 3. 16. [23] PLC 기초 강좌 [23] PLC 기초 강좌 4.4. 응용 명령 4.4.4. 비트 처리 명령 1) 워드 디바이스의 비트 세트/리세트(BSET(P), BRST(P)) ★▶ [BSET(P) (D) n](D) 로 지정된 워드 디바이스의 n번째 비트를 세트(1)합니다.n은 0~15가 유효합니다. 15를 초과한 경우는 하위 4비트의 데이터만 실행합니다.▶ [BRST(P) (D) n](D) 로 지정된 워드 디바이스의 n번째 비트를 리세트(0)합니다.n은 0~15가 유효합니다. 15를 초과한 경우는 하위 4비트의 데이터만 실행합니다. 2) 비트 테스트(TEST(P), DTEST(P))▶ [TEST(P) (S1) (S2)(D)](S1)로 지정된 디바이스 내의 (S2)로 지정된 위치의 비트 데이터를 꺼내어서 (D)로 지정된 비트 디바이스.. 2019. 3. 9. [22] PLC 기초 강좌 [22] PLC 기초 강좌 4.4. 응용 명령 4.4.3. 시프트 명령 1) 16비트 데이터의 n비트 오른쪽 시프트, 왼쪽 시프트(SFR(P), SFL(P)) ▶ [SFR(P) (D) n] ★(D)로 지정된 디바이스의 16비트 데이터를 n비트 오른쪽으로 시프트 시킵니다. 시프트 된 n비트는 0이 됩니다. (D)에 비트 디바이스를 지정한 경우는 지정 자리수의 데이터만큼 시프트 합니다. ▶ [SFL(P) (D) n] ★(D)로 지정된 디바이스의 16비트 데이터를 n비트 왼쪽으로 시프트 시킵니다.시프트 된 n비트는 0이 됩니다. (D)에 비트 디바이스를 지정한 경우는 지정 자리수의 데이터만큼 시프트 합니다.※ TIP !!! SFL, SFR은 바이트 단위의 통신 수신 데이터를 조작하는 프로그램에서 자주 사용합니.. 2019. 3. 4. [21] PLC 기초 강좌 [21] PLC 기초 강좌 4.4. 응용 명령 4.4.2. 로테이션 명령 1) 16비트 데이터의 오른쪽 로테이션(ROR(P), RCR(P)) ★▶ [ROR(P) (D) n](D)로 지정된 디바이스의 16비트 데이터를 캐리 플래그(SM700)를 포함하지 않고, n비트 오른쪽으로 회전 시킵니다. 캐리 플래그는 ROR 실행전의 상태에 따라 ON/OFF 됩니다. (D)에 비트 디바이스를 지정한 경우는 지정 자리수의 데이터 만큼 회전을 실행합니다. 이 때 실제로 회전하는 비트 수는 n/(자리 지정으로 지정된 비트 수)의 나머지가 됩니다. 예를 들면, n=16(자리 지정로 지정된 비트 수)=12비트인 경우 16÷12=1, 나머지가 4이므로, 4비트만큼 회전합니다.▶ [RCR(P) (D) n](D)로 지정된 디바이스.. 2019. 2. 24. [20] PLC 기초 강좌 [20] PLC 기초 강좌 4.4. 응용 명령 4.4.1. 논리 연산 명령논리 연산 명령은 논리합, 논리적 등의 논리 연산을 1비트 단위로 다음과 같이 처리합니다. ※ TIP !!! 1) AND: 특정 비트를 16진코드와 AND처리하여 마스크하는 프로그램에서 사용 합니다. 2) OR: 바이트 단위의 데이터를 결합, 조작하는 프로그램에서 사용합니다. 3) XOR: 입력 A와 B가 같을 때 0이 되고, 다를 때 1이 되므로 SUM명령 또는 = K0의 비교문과 더불어 알람 발생시 BUZZER등의 경보를 발생 할 수 있습니다. 시리얼 통신에서 패리티 체크를 하거나 체크섬 계산에 이용 할 수도 있습니다. 4) XNR: 상대 데이터의 비트 패턴을 비교하는 프로그램에서 사용합니다. 입력 A와 B가 같을 때 1이 되고.. 2019. 2. 20. 이전 1 2 3 다음 반응형