LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

I/O Server: Writing 3 Modbus registers in one operation

Solved!
Go to solution

Hello,

 

Can the I/O Server use Modbus Function Code 16 (preset/write multiple holding registers)? Essentially, my CompactRIO needs to send a 48-bit integer to a slave device, which means I need to write 3 registers.

 

I found a way to do it without I/O Server (http://zone.ni.com/reference/en-XX/help/370622M-01/lvmve/modbus_master_write_read_multiple_holding_r... ), but I was wondering if I could do the same using I/O Server.

 

Thanks!

Certified LabVIEW Developer
0 Kudos
Message 1 of 2
(2,931 Views)
Solution
Accepted by topic author JKSH

Hello JKSH,

 

Unfortunately, a bound shared variable cannot read\write from 3 registers at once automatically. Below is a document which details Modbus I\O Server bound shared variable capabilities.

 

Using Modbus I/O Servers (DSC Module or Real-Time Module)
http://zone.ni.com/reference/en-XX/help/371618G-01/lvmve/dsc_modbus_using/

 

You do have the option to access two adjacent 16-bit input registers as one 32-bit shared variable but not 48-bit.

 

Regards, 

 

j_bou

Message 2 of 2
(2,851 Views)