사용자 도구

사이트 도구

English

hmimcuapp:simple_modbus_library를_이용한_프로그램

Simple Modbus library란?

Simple Modbus란 범용적으로 많이 사용하고 있는 ModbusRTU 프로토콜을 간단하게 만든 프로토콜 입니다.

Simple Modbus는 표준 ModbusRTU의 평션코드중 1, 2, 3, 4, 5, 6, 15, 16을 사용할 수 있고, 메모리 저장공간은 16비트(Register), 1비트(Coil)를 사용 합니다. 표준 ModbusRTU은 16비트(Holding Register, Input Register), 1비트(Coil Status 와 Input Status)로 각각 나누어저 있지만 Simple Modbus는 16비트(Register), 1비트(Coil)로 되어 있습니다.

Simple Modbus library 사용하기

개발자는 Mbed 사이트에 로그인 한 후 Simple Modbus 라이브러리를 Import하여 쉽고 빠르게 프로그램 할 수 있습니다. Simple Modbus프로그램의 Targetboard는 STM사의 NUCLEO-F103RB로 되어 있습니다.

  • 3. Target board 설정.

  • 4. 프로젝트 컴파일.
    • 프로젝트 Import완료 되면 좌측에 프로젝트 폴더가 생성 됩니다. 해당 프로젝트를 선택한 후 상단의 Comfile버튼을 누르면 컴파일이 진행 됩니다. 컴파일오류가 없다면 bin 파일을 다운로드 받을 수 있습니다. 다운로드 된 bin파일을 NUDE_F103RB 디스크에 넣어 주시면 NUCLEO-F103RB 보드에 다운로드 됩니다. USB케이블로 PC와 NUCLEO-F103RB를 연결하면 NUDE_F103RB디스크가 자동으로 생성됩니다.

StartModbus Function

StartModbus함수는 Simple Modbus 슬레이브의 시작을 알리는 함수 입니다. StartModbus 함수 선언 시 자동으로 ComfileHMI와 모드버트 통신을 진행 합니다. NUCLEO 보드의 통신포트 중 하나만 Simple Modbus 슬레이브 기능을 활성화 시킬 수 있습니다.

void StartModbus(PinName Tx, PinName Rx, long Baud, u8 Address, u16 * BufferRegister, u8 * BufferCoil)

  • Tx : USART Tx 통신 포트
  • Rx : USART Rx 통신 포트
  • Baud : 보레이트 통신 속도
  • Address : 모드버스의 슬레이브 어드레스
  • BufferRegister : 레지스터(Word) 메모리
  • BufferCoil : 코일(Bit) 메모리

아래의 예제 코드와 같이 레지스터와 코일 메모리를 베열로 선언하여 사용 하시면 됩니다.

 static u8 MDcoil[100];
 static u16 MDregister[100];  
 StartModbus(PC_10, PC_11, 115200, 1, MDregister, MDcoil); 

이전 페이지로 가기

hmimcuapp/simple_modbus_library를_이용한_프로그램.txt · 마지막으로 수정됨: 2017/02/05 15:55 저자 Comfile Technology