사용자 도구

사이트 도구

English

modularfaduino:managedlibrary:index

라이브러리 이용하기

지금까지의 과정은 바로 cfManagedBase 라이브러리를 설명하기 위한 빌드업 과정이였습니다. 아무런 설명없이 이 라이브러리를 언급했다면, 아마 대부분의 유저분들은 이 라이브러리를 왜 사용해야만 하는지 이해하지 못했을 것입니다.

Modular FADUINO Library

이 파일을 다운로드 받아 압축을 푼뒤, Arduio/Libaries 폴더아래에 넣으세요.

이 라이브러리를 이용하면, 다음 소스처럼 간결해집니다.

#include "cfManagedBase.h"

void user_setup()
{
  // 초기화 처리
}

void loop() {

  // 이 안에는 기존 아두이노 코드를 사용할 수 있습니다. delay를 써도 상관없습니다.
  // 단, 인터럽트를 금지시키는 명령어를 사용하면 안됩니다. 
}

void logic_proc()
{
  // 로직처리, 타이머 처리 등등
  // 시간 지연금지 (delay, Serial 함수)
}

포트 어드레싱

기존 입출력 버퍼 배열을 사용한 경우입니다. 대괄호의 빈번한 사용으로 다소 쓰기에 불편합니다.

  Y[0] = X[0];  // Main Logic Program

이 보다는 사용하기 편리한 형태로 바꾼 정의문을 라이브러리 안에 넣어두었습니다. 이를 적용하면 위 소스를 아래처럼 표현할 수 있습니다.

  Y00 = X00;  // Main Logic Program

보시는 것처럼 모두 대문자로 구성되어 있습니다. 모든 입출력 모듈이 다 장착된 상태에서의 어드레싱 참조표입니다.

물론, 기존 배열을 사용할 수도 있습니다.

  for (i=0; i<16; i++) {
    Y[i] = 0;
    } // clear Y00~Y15

원하는 이름을 포트에 부여해도 됩니다. 사실 이렇게 하는 것이 더 좋은 방법입니다.

#define MainMotor Y[0]
 
MainMotor = 1; // Main motor turn on

ComfileHMI 와 연결된 경우

HMI와 연결된 상황에서는 MODBUS 라이브러리를 추가해야 됩니다.

#include "cfManagedBase.h"
#include "cfSimpleModbusRtu.h"
 
uint16_t Lword[99];
uint8_t Lbit[99];
 
void user_setup()
{
  startModbusServer(2, 1, Lword, Lbit); // uartCh, ModbusSlaveAdr, WordArea, BitArea
}
 
void loop() {
 
}
 
void logic_proc()
{
 
}

Modular FADUINO

modularfaduino/managedlibrary/index.txt · 마지막으로 수정됨: 2024/10/31 13:39 저자 Comfile Technology