이번시간에는 서버(데이터베이스)의 데이터를 가지고 와 PLC가 동작하게 하는 컴퓨터의 설정을 합니다.


제어를 할 PLC인 Master-k 120s는 tcp통신을 할 수 없습니다. 또한 제어 및 모니터링을 하기 위해선 모드버스 프로토콜을 다른 통신 프로토콜을 바꾸는 기능을 하는 게이트웨이가 필요 합니다. 


이 두가지 동작을 하기위하여 컴퓨터는 라즈베리파이3B를 개발환경은 node.js 8.x LTS, npm은 node.js설치시 딸려오는 버전을 사용 합니다.


하드웨어 세팅은 아래와 같이 설정 합니다.


node.js 프로그램을 실행 하려면 아래와 같은 문구가 나옵니다.

이때는 npm ini를 통해 초기화 헤주면 됩니다.

그다음 npm serialport && npm install debug && npm install modbus-serial을 입력합니다.


제어 프로그램을 아래와 같이 작성 합니다.


"/dev/ttyUSB0"는 마운트된 USB형 485이다.


inverter 함수를 통한 logging

형식은

[입력,?,?,출력,?,?,?,?,?,?] 레지스터는 hex형식임으로 (4번 function) 위의 사진처럼 로그를 받아온다

Posted by 오아시스베이베
,

이번 시간에는 PLC를 원격으로 제어 및 모니터링 하기 위해 LS산전의 master k 120s

PLC의 파라메터를 수정 하고 레더도를 작성 합니다.


PLC의 제어를 위한 통신은 modbus 프로토콜을 사용 합니다


1.통신을 위해 아래의 사진과 같이 파라메터를 수정 해 줍니다.

- RS485 단자를 통하여 제어를 하기 위해 통신Ch1 체널을 다음과 같이 수정 합니다.


2.이제 파라메터 수정이 끝났으니 접점을 통하여 직접 제어를 하기 위한 레더도를 

작성 합니다.

3.모스버스 동작 확인은 modbuspoll을 통해서 통신이 되는지 확인 합니다.

Slave ID는 PLC의 국번 

Function은 03Read Holding Registers(4X)

Address는 0~10에 Scan Rate는 1000ms로 합니다.

   

4번 번지의 값을 보면 PLC의 p40 접점이 on 때 1 p40,p41접점이 on 일 때 3의 값이 

반환 되는 것을 볼 수 있다.


접점의 값은 HEX값으로 반환 되는 것을 볼 수 있다


Posted by 오아시스베이베
,

PLC를 원격으로 제어 하기 위해 클라우드 데이터배이스인 firebase를 사용 합니다.


PLC는 현재 상태와 제어 데이터를 데이터베이스에 업로드 또는 다운로드 하고 

클라이언트는 제어 명령, 상태 명령을 데이터베이스에 업로드 또는 다운로드 하며

PLC를 제어 합니다.


구성도는 아래와 같습니다



제어를 위한 테이블은 아래와 같이 구성 합니다.


클라이언트와 PLC는 control 과 monitoring의 하위 노드를 통해 제어 합니다.



Posted by 오아시스베이베
,