07-20-2012 08:31 AM
I am using labview+DSC to create a small control system software. One of my targets is to build a modbus server which can be accessed by other client, such as a program written by C language. The client can acquire some value of the control system. But I don’t know the protocol of modbus in labview. So I follow some examples on NI’s website to create a modbus I/O client by DSC and use another TCP server software to be a modbus server. By this, the server software can monitor the output of modbus I/O client.
I find if I set modbus I/O client to operate register like 000001, the client will output the data(Hex format) like following:
……
00 07 00 00 00 06 01 01 00 00 00 01
00 08 00 00 00 06 01 01 00 00 00 01
00 09 00 00 00 06 01 01 00 00 00 01
00 0A 00 00 00 06 01 01 00 00 00 01
……
Each line is one second's output data, in which the second columm will increase one by one. Can anyone explain what’s the meaning in the output data? It seems not like a modbus protocol?
Or where I can find the document about the definition of modbus protocolin DSC?
Thanks a lot for your help.
07-22-2012 06:55 PM
Nobody is interested in this? Or maybe I will change my question:
If I want to build a modbus slave in DSC, then use a client program such as a program written in C language to visit it. How I know the protocol for C language client?
thank a lot for your help.
07-24-2012 08:37 AM
Modbus is a master/slave communication package. There is a specific protocol used to format modbus messages. The master can read or write data to devices. You could make labview the slave side or the master side. If you want labview to control the data values, it should probably be the master. The master sends a modbus message, and the slave must respond in the proper format. The C program will need to handle the creation of the modbus formatted messages. You could probably find some sample programs on the web.
Go to this page for the spces.