사용자 도구

사이트 도구

English

fa-duino에서_simple_modbus_라이브러리_사용법:index

FA-DUINO에서 Simple modbus 라이브러리 사용법

ComfileHMI와 FA-DUINO 연결은 RS232 또는 RS458로 연결합니다. 프로토콜은 modbusRTU를 이용하여 통신 할 수 있습니다. Simple modbus는 modbusRTU 프로토콜과 동일하며 광볌위한 modbusRTU의 기능들 중 핵심기능들 만을 축약해 놓은 프로토콜입니다. Simple modbus 라이브러를 사용하면 보다 쉽게 빠르게 프로토콜을 구현 할 수 있습니다.

FADUINO (또는 아두이노 MEGA)와 HMI 연결예 (소스 포함)

  • 1. ComfileHMI와 FA-DUINO 결선방법

아래와 같이 FA-DUINO RS232 CH1에 결선합니다. Simple modbus 라이브러리는 RS232 CH1을 지원합니다.


  • 2. Simple modbus 라이브러리 추가

Simple modbus 라이브러리 파일을 arduino라이브러리 폴더 \Documents\Arduino\libraries로 옮겨주셔야합니다~!


  • 3. Simple modbus 라이브러리 사용방법
#include <SimpleModbusRtu_mega2560.h>   // 헤더파일을 include
 
uint16_t au16data[16];    // 레지스터 메모리 영역(word)
uint8_t au8data[10];      // 코일 메모리 영역(bit)
char n;                   // 
 
void setup() {
 
  // FA-DUINO port 모드설정
  char i;
  for(i=38; i<52; i++){ pinMode(i, OUTPUT); } // 38 ~ 51번의 포트를 출력
  for(i=22; i<38; i++){ pinMode(i, INPUT); }  // 22 ~ 37번의 포트를 입력
 
   usart1init(57600); // 모드버스 프로토콜 활성화 및 ch1 보래이트 설정
   startSimpleModbus(1,au16data, au8data); // 잃고 쓸 메모리 배열 설정
}
 
void loop() {
  // port 상태값을 메모리에 읽고 씀.
  for(n=0; n<14; n++){  digitalWrite(38+n, bitRead(au8data[0], n) ) ;}
  for(n=0; n<16; n++){ bitWrite( au8data[1],n, digitalRead(n+22) ) ;}
  au16data[0] = analogRead(A0);
  au16data[1] = analogRead(A1);
}
fa-duino에서_simple_modbus_라이브러리_사용법/index.txt · 마지막으로 수정됨: 2019/04/12 17:14 저자 Comfile Technology