핸드폰 - 구글 파이어베이스 -PLC 순서로 명령을 보내 동작 시키는 동영상 입니다.


Posted by 오아시스베이베
,

이번시간에는 스마트폰으로 PLC를 제어 할 수 있는 앱을 만듭니다.

-엡 인벤터를 이용한 PLC 제어


1. 화면 구성

PLC1의 제어할 접점을 2개 만듭니다.


2. 코드 구성

-앱 시작시 포인트를 불러오면서 초기화 하는 부분

-클릭시 서버에 동작 업로드 하는 코드

-처음 시작시 서버에서 값 가져오면서 접점 값을 초기화 하는 코드

-실시간으로 쿼리 한 것을 목록별로 저장 하는 부분

-실시간 쿼리는 접점 값을 위 포인트에 묶여 있는 부분이 한 뭉태기로 가져오기 따문에 위 코드처럼 따로 파싱 하는 부분을 만들어 주어야 한다

-파이어베이스 원격제어 동영상


Posted by 오아시스베이베
,

이번시간에는 PLC와 firebase를 연결 시켜주기 위한 서버에 대한 코드 설명을 합니다.


-서버에서 값을 가져와 변수 최기화 하는 코드

-PLC의 메모리에 쓰는 코드

- 서버에서 실시간으로 값을 가져와선 write 함수를 실행 하는 부분

-0.5초마다 PLC 값을 읽어서 firebase에 업로드 하는 코드



-firebase를 이용한 PLC제어 동영상

Posted by 오아시스베이베
,

이번시간에는 서버(데이터베이스)의 데이터를 가지고 와 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 오아시스베이베
,

학교 과제로 프로젝트를 진행 합니다.


프로젝트 이름은 앱 인벤터를 이용한 어드벤스드 캡스톤 입니다.


기존 자동화 제어를 하기 위해선 중앙서버가 필요 합니다. 


이를 클라우드 서버로 대체 하여 관리 및 운용을 효율적으로 하기 위해 개발 하고 


더 나아가 스마트폰 앱을 통하여 PLC를 제어 할 수 있도록 하는 것이 목표 입니다.


사용기기: 라즈베리파이3 B 


usb 485 컨버터


master k 120s


'project > capstone' 카테고리의 다른 글

클라우드이용 PLC 제어 - PLC 세팅  (0) 2018.05.31
클라우드이용 PLC 제어 - firebase  (0) 2018.05.26
지팡이 외형 설계  (0) 2016.03.29
심박센서 실험  (0) 2016.03.29
스마트 지팡이 만들기  (0) 2016.03.29
Posted by 오아시스베이베
,

지팡이 외형을 설계 해 보았습니다. 


우선 팔걸이가 있는것을 컨셉으로 하였습니다.



만들어 보니 손잡이 부분이 불편해 보입니다. 다음 번에는 세로 방향의 손잡이을 가로로 바꿔서 설계 해보도록 하겠습니다.


'project > capstone' 카테고리의 다른 글

클라우드이용 PLC 제어 - PLC 세팅  (0) 2018.05.31
클라우드이용 PLC 제어 - firebase  (0) 2018.05.26
클라우드이용 PLC 제어  (0) 2018.05.26
심박센서 실험  (0) 2016.03.29
스마트 지팡이 만들기  (0) 2016.03.29
Posted by 오아시스베이베
,

인텔 에디슨 아두이노 보드와 그루브 심박 센서를 가지고 센싱 되는 부위를 실험 해 보았습니다.


센서와 보드 연결 모습 입니다.


센서 사용 중인 사진 입니다.

통신 방법은 i2c를 이용 합니다.

아두이노 코드


센싱 동영상



통신이 중간에 중단 되는데 이유는 잘 모르겠습니다.


여러군데 사용 해본 결과 정맥있는 살부분과 손가락은 잘 센싱 하는것을 확인 하였습니다.


'project > capstone' 카테고리의 다른 글

클라우드이용 PLC 제어 - PLC 세팅  (0) 2018.05.31
클라우드이용 PLC 제어 - firebase  (0) 2018.05.26
클라우드이용 PLC 제어  (0) 2018.05.26
지팡이 외형 설계  (0) 2016.03.29
스마트 지팡이 만들기  (0) 2016.03.29
Posted by 오아시스베이베
,

아두이노를 사용하여 스마트 지팡이 만들어 보자


개요: 기존의 지팡이는 걷는것을 보조 하는 역할을 합니다..

기존의 지팡이에 여러 기능을 넣어 미래의 지팡이를 구현 해보자 합니다.


컨셉은 인체 공학적 디자인과 심박모니터링 비콘과 gps등의 다른 모듈과 센싱을 통한 구현을 해볼까 생각 중 입니다.

'project > capstone' 카테고리의 다른 글

클라우드이용 PLC 제어 - PLC 세팅  (0) 2018.05.31
클라우드이용 PLC 제어 - firebase  (0) 2018.05.26
클라우드이용 PLC 제어  (0) 2018.05.26
지팡이 외형 설계  (0) 2016.03.29
심박센서 실험  (0) 2016.03.29
Posted by 오아시스베이베
,