PLC/XG5000

4장. 데이터와 프로그램

황기하 2021. 12. 30.

4.1 PLC데이터

PLC 에서 다루는 데이터는 수치 데이터와 문자 데이터가 있습니다 . 

 

수치 데이터는 다시 정수형 수치 데이터와 실수형 수치 데이터가 있으며 

문자 데이터는 8 bit 문자 데이터와 16 비트 문자 데이터가 있습니다 

 

여기에서 각 데이터의 표현 및 해석 방법을 설명합니다


1) 수치 데이터의 종류 및 범위

수치데이터란 숫자로 표시되는 데이터를 의미하며 , 

진법에 따라 이진수 , 8 진수 , 10 진수 , 16 진수의 형태로 PLC 에서 사용됩니다 . 

 

또 , PLC 에서 사용하는 수치 데이터는 정수형 수치 데이터와 실수형 수치 데이터로 구분될 수 있으며 , 

정수형 수치 데이터는 한 개의 데이터가 점유하는 비트의 수에 따라 

니블(Nibble, 4 bit), 바이트 (Byte, 8 bit), 워드 (Word, 16 bit), 더블 워드 (Double Word, 32 bit) 크기가 있으며 , 

실수형 수치 데이터플롯 (Float, 32bit)롱 (Long,64bit) 의 크기가 있습니다 .

 

2) 수치 데이터의 표현 및 해석

수치 데이터를 PLC 에 저장할 때 

지정된 메모리 주소에서 0 번 비트부터 아래와 같은 방식으로 데이터를 메모리에 저장하며 , 

메모리에 저장되어 있는 데이터를 읽어 올 경우도 동일한 방법으로 해석하여 읽어옵니다 .


16진수 (Hexa Decimal) 의 표현:

16 진수 1 자리가 가질 수 있는 데이터는 0 ~9, A ~ F 까지 16 개 데이터를 가질 수 있으며 , 

16 개 데이터를 표시하기 위해서는 4 개의 비트가 필요합니다 . (2x2x2x2=16)

따라서 1개의 워드에 저장할 수 있는 16 진수 최대 데이터는 hFFFF 가 됩니다 . 

아래의 표는 16 진수를 메모리에 저장할 때 각 비트 별 가수가 됩니다 . 

여기서 가수란 해당 비트가 ON 되었을 때 해석되는 수치입니다

부호없는 십진수 (Unsigned Integer)의 표현 :

비트 배열을 부호 없는 십진수로 해석하는 방법은 각 자리수 별 가수를 사용하는 16 진수와 달리 

메모리의 0 번 비트부터 2 n 가수를 사용합니다 . 

예를 들어 , 16비트 크기의 메모리를 사용하는 워드의 경우

각 비트별로 2의 0승  부터 2의 15승 까지 가수를 가지며 ,

수치의 계산은 ON 비트 가수의 합으로 계산됩니다 . 

만일 , 0 번 비트와 15 번 비트가 가 ON 되어 있다면 2의 0승 = 1 로 해석되고 , 

2의 15승 = 32,768 로 해석되어 전체 수치는 1 + 32,768 = 32,769 로 해석됩니다

 

부호있는 십진수 (Signed Integer)의 표현 :

비트 배열을 부호 있는 십진수로 해석하는 방법은 최상위 비트는 부호 비트가 되며 

0 번 비트부터 최상위 1 번 비트까지가 가수가 됩니다 . 

부호 비트가 OFF 상태 (0) 일 때 전체 수치는 0 또는 양수임을 의미하고 , 

수치는 부호 없는 정수와 마찬가지로 ON 비트 가수의 합으로 계산되며 , 

부호 비트가 ON 상태 (1) 일 때 전체 수치는 음수임을 의미하고 , 

수치는 OFF비트 가수의 합 + 1(2 의 보수)이 됩니다

 

실수형데이터 : 

XGK PLC 에서 사용할 수 있는 실수형 데이터는

32 비트 실수형 (REAL) 과 64 비트 실수형(LREAL) 이 있습니다 . 

32 비트 실수형은 최상위 비트 (31 번 비트)가 부호 비트이며 ,

    30 ~ 23 번 비트가 지수부 , 22 ~ 0 번 비트가 소수부가 되고 , 

64 비트 실수형은 최상위 비트 (63 번 비트 가 부호 비트이며 , 

    62 ~52 번 비트가 지수부 , 51 ~ 0 번 비트가 소수부가 됩니다

 

3) 문자열 데이터

XGK PLC 에서 처리할 수 있는 문자열 데이터는 

영문자 , 숫자 , 특수 문자 외 윈도우에서 지원하는 언어입니다 . 

즉 한글 윈도우를 사용할 경우 한글이 사용 가능하며 , 

한글 윈도우에서 지원하는 한자도 사용 가능합니다 . 

 

키보드에서 기본적으로 지원하는 영문자 , 숫자 또는 특수 문자의 경우 

1 개의 글자는 1Byte 를 점유하며 , 한글 , 한자의 경우 1 개 글자가 2Byte 를 점유합니다 . 

 

XGK 에서 문자열 처리 명령어는 최대 32 Byte 의 문자열 데이터를 처리할 수 있으므로 , 

영문자 , 숫자 , 특수 문자로 구성된 문자열의 경우 최대 32개의 문자를 처리할 수 있으며 , 

한글 , 한자의 경우 16 개의 문자까지 처리할 수 있습니다 .


PLC에 문자 데이터를 저장할 경우 

영문자 , 숫자 , 특수 문자의 경우 아스키 코드로 변환되어 저장 영역의 선두 바이트부터 저장되며 , 

다른 언어 문자의 경우 해당 언어 윈도우에서 표준으로 사용하는 코드로변환되어 

1 개의 문자가 2 Byte 에 저장됩니다 . 

 

예를 들어 영문 대문자 'A'를

XGK 데이터 메모리 D00000 에 저장하면 영문 대문자 'A' 에 대한 아스키 코드 (h41) 을

저장 데이터 메모리의 선두 바이트에 해당하는 D00000 워드의 하위 바이트 (0~7번 비트)에 저장하고 ,

 

한글 '가' 를 D00000 에 저장하면

'가' 에 대한 KSC5601 코드(hA1B0)를 D0000 1 개 워드에 저장합니다 .

여기서 주의할 점은 1 개의 문자를 PLC 에 저장하더라도 32 Byte 메모리를 사용합니다 . 

 

즉 , 영문 대문자 'A' 를 D00000 에 저장할 경우

'A' 는 D00000 의 하위 바이트에 저장되고 , 

D00000 의 상위 바이트 (8~F 번 비트)부터 D00015 의 상위 바이트까지

31 개의 바이트는 모두 NULL(h00) 로 채워집니다


XGK PLC에서 

문자열 데이터를 처리할 경우 연산의 접두어로 '$'를 사용하며

문자열 상수는 작은 따옴표( ‘ ’ )로 표시합니다 .

 

아래의 프로그램 예는 각 비트가 ON 되면

영문자 ‘ABCD’, 한글 '가나다라’,  한자 '日就月將' 을 D00000 부터 저장합니다 .

특히 , P00000 을 ON 시킨 D00000 부터 16 워드 이상의 데이터 메모리를 모니터하면서 

문자열 데이터를 저장하는 조건을 ON 시키면 데이터가 저장되지 않는 영역은 0 으로 

클리어 되는 것을 확인할 수 있습니다

 


4. 2 접점 코일 프로그램


시퀀스프로그램이란 

디지털 입력 모듈을 통해 입력되는 센서 , 스위치 등 비트 신호의 ON 또는 OFF 상태에 따라 

출력 모듈의 접점을 ON 또는 OFF 시키는 제어를 의미합니다 . 

 

시퀀스 프로그램을 작성하기 위해서는 

2 장에서 설명한 입력 신호 및 출력 신호의 메모리 주소를 정확히 이해해야 합니다 . 

그리고 시퀀스 프로그램에 사용하는 시퀀스 기호에 대해서도 정확한 이해가 필요합니다

 

1)접점

접점이란

데이터 메모리에 저장되어 있는 비트의 상태 정보를 읽어 데이터를 읽어 

그 상태를 좌측에서 우측으로 전달하는 프로그래밍 기호 입니다 . 

 

XGK PLC 프로그래밍에서 사용하는 접점의 종류는 평상시
열린 접점 (a 접점 ), 

평상시 닫힌 접점 (b 접점 ), 

양변환 검출 접점 (P 접점),

음변환 검출 접점 (N 접점) 이 있으며 , 각 접점의 동작 특성은 다음과 같습니다 .

 

- 평상시 열린 접점 : 

   비트 메모리의 상태 정보를 그대로 좌측에서 우측으로 전달하는 접점입니다 . 

   평상시 열린 접점에 정논리의 입력 접점 신호를 사용할 경우

   입력 신호가 ON 일 때 의 의미를 가지며 , 

   부논리의 입력 접점 신호를 사용할 경우 입력 신호가 OFF 일 때 의 의미를 가집니다 .

- 평상시 닫힌 접점 : 

   비트 메모리의 상태 정보를 반전하여 좌측에서 우측으로 전달 하는 접점입니다 

   평상시 닫힌 접점에 정논리의 입력 접점 신호를 사용할 경우

   입력 신호가 OFF 일 때의 의미를 가지며 , 

   부논리의 입력 접점 신호를 사용할 경우 입력 신호가 OFF 일 때 의 의미를 가집니다 .


Ex 4-1) 다음의 프로그램을 작성하여 PLC 로 전송한 후 P00000 토글 스위치를 ON /OFF 시키면서
          P00020, P00021 LED 의 상태를 확인하고 , 평상시 열린 접점과 평상시 닫힌 접점의 기능을

          확인하십시오 .

 

- 양변환 검출 접점 : 

  비트 메모리의 상태 정보가 OFF 에서 ON 으로 변화할 때

  1 스캔 시간 동안만 ON 상태를 좌측에서 우측으로 전달하는 접점입니다 .

  양변환 검출 접점에 정논리의 입 력 접점 신호를 사용할 경우 입력 신호가 ON 될 때 의 의미를 가지며 , 

  부논리의 입력 접점 신호를 사용할 경우 입력 신호가 OFF 될 때 의 의미를 가집니다 .

 

- 음변환 검출 접점 : 

  비트 메모리의 상태 정보가 ON 에서 OFF 로 변화할 때

  1 스캔시간 동안만 ON 상태를 유지합니다


Ex 4-2) 다음의 프로그램을 작성하여 PLC 로 전송한 후 

           P00000, P00001, P00002 토글 스위치를 ON/OFF 시키면서 P00022, P00023 LED 의 상태를 확인하고 , 

          양변환 검출 접점과 음변환 검출 접점의 기능을 확인하십시오 .

 

 

- 자기 유지 회로 : 

   아래의 그림과 같이 출력 코일의 주소를 다시 입력으로 사용하는 회로를 자기 유지회로라고 합니다 . 

   자기 유지 회로는 처음의 조건이 만족되었을 때 출력 코일에 사용된 비트의 상태를 ON 시킨 후 

   사용자가 원하는 시점에 출력 코일에 사용된 비트의 상태를 OFF 시킬 때 사용됩니다 .


위의 프로그램에서 

P00000 접점이 ON 되면 M00000 비트가 ON 되고 , 

P00001 이 OFF 되어 있으면 P00022 출력 접점이 ON 됩니다 . 

 

그 다음 스캔에 

P00000 접점이 ON 상태를 유지하더라도 M00000 접점은 OFF 되지만 , 

P00022 비트가 그 전 스캔에서 ON 되었으므로 

P00022 접점의 ON 상태에 의해서 코일의 P00022 비트는 계속 ON 상태를 유지합니다 . 

 

P00001 입력 접점이 ON 되면 접점 P00022 은 ON상태를 좌측에서 우측으로 전달하지만 , 

평상시 닫힌 접점 P00001 에 의해 회로가 차단되므로 , 코일의 P00022 비트는 OFF 됩니다 

 

즉 , P00000 접점이 ON 되면 P00022 출력 접점이 ON 되어 그 상태를 계속유지하다가 

P00001 접점이 ON 되면 P00022 접점이 OFF 됩니다 . 

 

이와 같이 코일에 사용된 비트의 상태를 다시 입력으로 받아 

그 상태를 계속 유지하는 회로를 자기 유지 회로라고 합니다 .

- 자기 유지 회로 와 리테인 : 

자기 유지 회로에서 출력이 ON 된 상태에서 PLC 가 리셋된 후 재기동 할때 

출력 코일에 사용된 메모리 영역의 리테인 설정 여부에 따라 출력의 유지 상태가 달라집니다 . 

기본 파라미터에서 디바이스 영역 설정을 아래의 그림과 같이 설정 하고 

프로그램을 작성하여 PLC 로 전송하고 , 

PLC 를 RUN 시킨 후 출력을 ON 시킨 상태에서 PLC 를 리셋 , 

Overall 리셋 시킨 후 출력 상태를 확인하십시오 . 

다시 출력을 On 시킨 후 PLC 를 STOP 시키고 D.CLR, Overall D.CLR 시킨 후 

각 출력의 상태를 확인하십시오 .

* 파라미터는 런 중 수정이 불가능합니다 . 

  파라미터를 수정했을 경우 PLC 를 STOP 시킨 후 PLC 로 전송해야 합니다

 

 

2) 코 일

'PLC > XG5000' 카테고리의 다른 글

XBL-EMTA 사용설명서  (0) 2022.01.01
XGK 개요  (0) 2021.12.29
XG5000  (0) 2021.12.29

댓글