MODBUS data acquisition

write in C++ a configurable MODBUS data acquisition console application, suitable to run as a Windows service


0. service installation via command-line parameter

1. on service start:

1.1 execute configure() function: read configuration (modbus master, data read interval in seconds, verbosity and database location) from HKLM registry

1.2 execute read_tag_list() function: read tag list and min/max ranges from the database table TAGS and store in a std::vector<struct tag>

1.3 set up a timer with the specified data read interval to fire the read_values() function

2. read_values() function:

2.1 calculate an integer time-stamp with seconds resolution (for example the unix epoch)

2.2 read the raw 16-bit register values for all tags synchronously

2.3 compute the corresponding numeric values using the respective min/max fields

2.4 write both the raw and the converted numeric values for all tags in the VALUES table, all with the same time-stamp calculated at 2.1 above

2.5 reset the timer to fire after the smallest positive integer multiple of the specified data read interval minus the time that the read operation required (i.e. if the read takes too long we will skip a timed read, but we try to read at exactly the specified interval)

3. log all significant events and errors using boost::logging;

[url removed, login to view]


- support Windows 7 or higher

- the db schema is attached; use ODBC / access or sqlite as you prefer

- for I/O, use libmodbus

- for registry access, use the attached header-only registry_value.h

- for windows service use the Win32 API as demonstrated in this "Complete Service Sample" from Microsoft: [url removed, login to view]%28v=[url removed, login to view]%[url removed, login to view]

Habilidades: Programação C++ , Microsoft, Área de trabalho do Windows

Veja mais: www programming org com, windows programming tutorial, vector library, vector en c, vector cplusplus, tutorial programming, tutorial on programming, tutorial in programming, tutorial for programming, tutorial data, tutorial cplusplus, struct c programming, std tutorial, std list vector, std list c, std list, std library, set o application, programming vector, programming in c tutorial, microsoft win32, library vector, integer tutorial, integer set library, html programming tutorial

Acerca do Empregador:
( 37 comentários ) Vercelli, Italy

ID do Projeto: #6827448

5 freelancers estão ofertando em média $195 para esse trabalho


Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !

$250 USD in 3 dias
(40 Comentários)

hello, i am well experienced system programmer working fulltime freelancer since 2009. i went through your spec and interested in doing this. i have one question though, is your device is connected to PC via serial Mais

$277 USD in 7 dias
(13 Comentários)

Hi, I am an C++ coder. I have over 5 years of experiment on Qt/C++. I read your requirement clearly. I think I have experiments on Qt library. So, if possible I suggest to use Qt library to code for this project: Mais

$111 USD in 5 dias
(8 Comentários)

A proposal has not yet been provided

$155 USD in 3 dias
(0 Comentários)

We are the leading young professional software development organization having extensive technical expertise and knowledge in developing, managing, optimizing and customizing software’s by implementing these software’s Mais

$180 USD in 5 dias
(1 Comentário)