System&Embedded

PLC 통신 프로그램 구현시 참고할 사항들

휘프노스 2018. 4. 1. 22:00

PLC와 통신하는 프로그램을 개발할때 감안하게 되는 사안들


- 데이터 형식 : bit, byte, word(2 bytes), double word(4 bytes), array(n bytes)


PLC에서 사용하는 데이터는 주로 비트와 워드이다.

하나의 레지스터를 가르키는 주소값이 표현하는 것이 비트이거나 워드인 경우가 일반적이다.

하지만 실제로 값을 다룰때는 워드를 나누어 바이트로 쓰기도 하고 더블워드를 이용해 float타입을 처리하기도한다.

때론 여러바이트를 연속적으로 읽어 문자열을 담아두기도 한다.


- 데이터 길이 정의

- 자리수(소수점) 표현, 정수/실수 정의, ASCII여부


레지스터가 워드단위로 표현되고 사용 편의상 실수를 자리수를 두어 정수값으로 처리하고

소수점을 따로 계산해서 처리하는 방식이 자주 이용된다.


- 리틀앤디언, 빅앤디언

- n 비트 처리 (비트 자리수 + 비트 길이) : (정수)

- BCD Code 처리


오래전부터 프로그램하셨던 분들은 아직도 BCD코드를 자주 사용한다.

특히 소형PLC를 이용할 경우 사용하는 레지스터 용량이 크지 않아 데이터의 효율성 때문에도 자주 사용된다.


- 문자열 인코딩 타입


ksc5601, euc-kr 등등 한글문자열을 사용할때 인코딩방식을 고려해야 한다.


- Unit(%, $, ₩, ℃, ℉, ℓ, ㎥, 등) 정의 필드 정의

- min, max에 의한 값 변환


PLC에는 아날로그 계측장비가 붙는 경우도 많은데
이럴때 측정된 값은 단순 아날로그 값으로 실제 측정되는 범위에 맞게 계산해서 변환해 줘야한다.