사용자 도구

사이트 도구

English

faduino:faduino_simplemodbus:index

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

ComfileHMI와 FA-DUINO 연결은 RS232C 또는 RS485로 연결합니다. 프로토콜은 Simple MODBUS RTU를 이용하여 통신 할 수 있습니다. Simple MODBUS는 MODBUS RTU의 기능들 중 핵심기능들 만을 축약해 놓은 프로토콜입니다. Simple MODBUS 라이브러를 사용하면 보다 쉽게 빠르게 프로토콜을 구현 할 수 있습니다.

  • 32TA, 12RA, 24RA 모델은 모두 2560칩을 사용하므로 같은 SimpleMODBUS 라이브러를 쓸 수 있습니다.

주의 사항

  • Serial1 용으로 되어 있습니다. 따라서 Serial1을 다른 용도로 사용할 수 없습니다.
  • Serial2 또는 Serial3을 SimpleModbus로 사용하려면 위 라이브러리를 직접 수정하셔야 하지만 권장드리지 않습니다.
  • 115200보레이트는 동작하지 않습니다. 57600을 권장합니다.

저작권 관련 주의 사항

  • 본 라이브러리는 고객여러분의 편의를 위하여 무료로 제공해드리고 있습니다. 여러분의 제품에 포함하여 배포하실 수 있습니다.
  • 다만 상업적 사용은 금합니다. (이 라이브러리 자체를 사이트에 링크하는 경우)
  • 본 라이브러리 자체에 대한 기술지원은 하고 있지 않은점 양해바랍니다.

1. Simple modbus 라이브러리 추가

simplemodbusrtu_mega2560.zip

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


2. 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);
}

3. ComfileHMI와 FA-DUINO 결선

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


프로젝트 파일입니다.

2560_COMFILEHMI_ProjectFile

상위 페이지로 이동

faduino/faduino_simplemodbus/index.txt · 마지막으로 수정됨: 2023/10/10 23:10 저자 Comfile Technology