Serial Example
The following example sersimple.cpp shows how to configure a serial Modbus protocol and read values:
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
# include <windows.h>
#else
# include <unistd.h>
#endif
#include "MbusAsciiMasterProtocol.hpp"
#include "MbusRtuMasterProtocol.hpp"
const char *portName =
#if defined(_WIN32)
"COM1";
#elif defined(__LINUX__)
"/dev/ttyS0";
#elif defined(__MACOSX__)
"/dev/ttys0";
#elif defined(__FREEBSD__) || defined(__NETBSD__) || defined(__OPENBSD__)
"/dev/ttyd0";
#elif defined(__QNX__)
"/dev/ser1";
#elif defined(__VXWORKS__)
"/tyCo/0";
#elif defined(__SOLARIS__)
"/dev/ttya";
#elif defined(__IRIX__)
"/dev/ttyf1";
#elif defined(__OSF__)
"/dev/tty00";
#else
"/dev/tty";
#endif
void openProtocol()
{
int result;
19200L,
8,
1,
2);
{
fprintf(stderr, "Error opening protocol: %s!\n",
exit(EXIT_FAILURE);
}
}
void closeProtocol()
{
}
void runPollLoop()
{
short dataArr[10];
for (;;)
{
int i;
int result;
dataArr,
sizeof(dataArr) / 2);
for (i = 0; i < int(sizeof(dataArr) / 2); i++)
printf("[%d]: %hd\n", 100 + i, dataArr[i]);
else
{
return;
}
#ifdef _WIN32
Sleep(1000);
#else
sleep(1);
#endif
}
}
#if defined(_WIN32_WCE)
int wmain()
#else
int main()
#endif
{
openProtocol();
runPollLoop();
closeProtocol();
return (EXIT_SUCCESS);
}
MODBUS/TCP Example
The following example tcpsimple.cpp shows how to configure a MODBUS/TCP protocol and read values:
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
# include <windows.h>
#else
# include <unistd.h>
#endif
#include "MbusTcpMasterProtocol.hpp"
const char *hostName = "127.0.0.1";
void openProtocol()
{
int result;
{
fprintf(stderr, "Error opening protocol: %s!\n",
exit(EXIT_FAILURE);
}
}
void closeProtocol()
{
}
void runPollLoop()
{
short dataArr[3];
int i;
int result;
printf("Device ID OK.");
else
#if 0
for (;;)
{
dataArr,
sizeof(dataArr) / 2);
for (i = 0; i < int(sizeof(dataArr) / 2); i++)
printf("[%d]: %hd\n", 100 + i, dataArr[i]);
else
{
}
#ifdef _WIN32
Sleep(10000);
#else
sleep(1);
#endif
}
#endif
}
#if defined(_WIN32_WCE)
int wmain()
#else
int main()
#endif
{
openProtocol();
runPollLoop();
closeProtocol();
return (EXIT_SUCCESS);
}