Skip to content

Killian4096/modbus_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modbus Server

A simple, protable library designed to emulate a modbus server. Written in C to ensure maximum compatibility.

Usage

Usage is fairly simple. See below.

#include "modbus_server.h"
#include <stdio.h>


//Declare Modbus Server Struct
modbus_server_t modbus_server_tag;

//Initialize Struct Values
modbus_server_init(modbus_server_tag);

//Do your own stuff
modbus_server_tag.address = 2;                      //Set server address to 2
modbus_server_tag.points.coils[0] = 0xFF;           //Set first 00001-00008 coils to 1
modbus_server_tag.points.holding_registers[2] = 25; //Set holding reg 400003 to 25
//etc

while(1){
    some_function(some_value); //Your looping code

    //Code to process from peripheral (RS-232, TCP, Other Serial, etc) to buffer
    //In this example buffer sends a read coil command function code 0
    modbus_server_input_PDU_mapper_init(modbus_server_tag);    //Init message
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 2);  //Server Address 2
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 1);  //Function Code 1
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 0);  //High Byte Start Address
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 13); //Start Address 13
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 00); //High Byte Register Count
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 25); //Read 25 Registers
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 27); //CRC
    modbus_server_input_PDU_mapper_add(modbus_server_tag, 0C); //CRC

    modbus_server(modbus_server_tag) //Process request

    //Send request, in this case print
    for(size_t i=0;i<modbus_server_tag.output_PDU_mapper.length;i++){
        printf("%i", modbus_server_tag.output_PDU_mapper.array[i])
    }
}

See full Modbus Documentation at Modbus Reference Guide.

Documentation

Coming Soon...

About

Multi application implementation of modbus slave protocol

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors