MODBUS Library for LabVIEW
Overview
The MODBUS library is a free, downloadable set of Virtual Instruments (VIs) that provide Modbus communication from any standard Ethernet or serial port. The LabVIEW library implements the Modbus protocol in software and offers both master and slave functionality. Using the Modbus library, Programmable Automation Controllers (PACs) can communicate with gateway devices that provide connectivity to a wide variety of industial networks, such as Profibus, EthernetIP, and DeviceNet.
Downloads
Filename: nimodbus121.zip
Requirements: View
Version 1.2 (ni_modbus_1_2.zip) of the MODBUS LabVIEW Library is backward compatible with previous versions of the library. It adds a set of polymorphic VIs that make it easier to use MODBUS commands. These new VIs are also fully documented with a help file. Comments have also been added to the examples. Please follow the steps in the readme file for manual installation of the library. There is no installer available at this time.
If you are new to MODBUS, here is an introduction to the protocol.
Please note that this is an example program and not an official NI Product. For a more complete, fully supported MODBUS solution, NI recommends the LabVIEW Datalogging and Supervisory Control Module.
Requirements
Filename: nimodbus121.zip
Software Requirements
Application Software: LabVIEW Base Development System 7.1
Language(s): LabVIEW
Reader Comments | Submit a comment »
MB Registers Manager.vi
Thanx for version 121 of this free library.
Is bug in "MB Registers Manager.vi" reported
Apr 29, 2009 fixed?
- Dec 8, 2009
a flaw in MB CRC-16.vi in NI Modbus.llb
A failure mode turn up in testing at 1200
baud. It turned out to be a flaw in MB
CRC-16.vi in NI Modbus.llb.
The failure mode is that the MB Serial
Recieve.vi that waits for a Modbus reply
to a command may falsely detemines
that the message is complete before the
last byte is recieved. This is becuase
because MB CRC-16.vi coerces the U16
CRC to a U8, and the U8 becomes zero
for a message with all but the last byte
transmitted.
The correction is to change the data type
of the Exception Code indicator from U8
to U16.
- Jim Figucia, Code G Automation. labview_work@msn.com - Sep 15, 2009
inform us and correct this in Library!
"The 'MB Registers Manager.VI' is used as the
repository for the Slave registers. In the
case of Write, however, the Start Address is
not being taken into account (compare this
with the Read cases to know what I mean). The
Start Address defaults to 0, always! The fix
is to wire-in the Start Address to the Index
input of the Array Subset primitive. This
alongwith the (already present) Length input
should write to the correct set of registers,
coils, etc."
reported by Khalid - March 18, 2006
- Apr 29, 2009
thx for improving the library
The Modbus Slave implementation in this
library is buggy since 2006.
For Details see
http://forums.ni.com/ni/board/message?board.id=170&message.id=174431&query.id=142893#M174431
- Apr 16, 2009
Support for TPC targets LV8.51
1. Can I use this library on a TPC-2106
target (Touch Panel Module project)?
When I try, not all of the example VIs are
executable - e.g. "MB Serial Wait on
Query" displays Target Specific Errors.
2. Copied, as instructed, lvmodbus.chm
and lvmodbus.txt from 85\help to the
LabVIEW_ROOT\help directory. The help
appears with the content seemingly
normal, but selecting any topic results
in: "This program cannot display the
webpage"
- Boyko Bejaniyski, Johnson Security Ltd. boyko@johnson-security.co.uk - Mar 11, 2009
ni_modbus8_2.exe file
want Maodbus toolkit for labview 7.0 .
plese give me a link or supply me
source
- modbus library for LabVIEW version 7.0, canopus. anon4110029 - Sep 4, 2008
Usually the LabVIEW libraries found on the NI
site are very helpful, well documented, and
intuitive. I'm not sure if it was just my
inexperience with the protocol or not, but
this has been the worst library I've
downloaded. There is next to no
documentation at all. Errors are not defined
and the examples not as helpful as could be
hoped.
- Aug 21, 2008
I'm having probles to use the library to read/write registers from a GE PLC, Any example?
- Omar Quintanilla. omar_q@yahoo.com - Jun 30, 2008
automation
I want Maodbus toolkit for labview 7.0 ?
plese give me a link or supply me
source
- Modbus toolkit for labview 7.0, Kevin Tech. talati_dipak@yahoo.co.in - Jun 5, 2008
please tell me can i use this driver with
multidrop N/W.
- shahjimmi@gmail.com - Feb 26, 2008
Modbus for LV 7.0
Hello is there a serial port Modbus driver
for LV 7.0?
- bryan ehrhart, Infinera. behrhart@infinera.com - Dec 28, 2007
Zipped llb, please?!
Hi-
please supply this as a cross-platform archive!
- Tom Lawton, EnFlo, University of Surrey. t.lawton@surrey.ac.uk - Dec 4, 2007
i'm using labview 7.1
is there a version for this? or i use the 6.1
version?
- Leow Cheah Wei, Universiti Teknologi Malaysia. cheahwei.leow@gmail.com - Mar 26, 2007
Is there the Modbus Library for labview
version 6???
- modbus for labview 6, Polytech. caocaofr@gmail.com - Feb 1, 2007
Modbus for CVI
Is there CVI modebus function panel
available?
- Moshe Aizler, MKS TENTA PRODUCTS. moshe_aizler@mksinst.com - Nov 22, 2006
why an MSI file?????
This is just a pain to the non-windows community. Who is
out there just being lazy or not-thinking.
- Scott Hannahs, NHMFL - FSU. sth@magnet.fsu.edu - Oct 18, 2006
LV 6.1 version
Here's the 6.1 version of this:
http://zone.ni.com/devzone/cda/epd/p/id/4564
- Khalid Ansari, Advanced Measurements Inc - AMI (Canada). - Apr 27, 2006
Modbus Slave is buggy
Modbus Slave implementation has a bug. See
this for details:
http://forums.ni.com/ni/board/message?
board.id=170&message.id=174314
- Mar 18, 2006
Why an .msi, not .llb?!
No use to us original (Mac) LabVIEW users; what am I
supposed to do with a Windows installer?! Isn't LV still a
cross platform language, born on the Mac?
- Tom Lawton, EnFlo, UniS. t.lawton@surrey.ac.uk - Feb 24, 2006
Error in code
The "MB Modbus Command to Data Unit.vi" has
a mistake in it. The "Write Multiple Coils"
Function Code will not work properly past 8
bits of data. In case "15", the index to
the "Split Array" VI should just be 8.
Either that or you could remove the shift
register and use an index array instead.
The current implementation however corrupts
the output data past 8 bits.
- Jim Gruenbacher, Airgas. james.gruenbacher@airgas.com - Feb 21, 2006
Here's how to install this in LabVIEW 8.0 ...
http://forums.ni.com/ni/board/message?
board.id=170&message.id=156677&view=by_threa
ding&page=2
- Jan 6, 2006
When will it work with Labview 8.0???
When will it work with Labview 8.0???
The german support team has told me that it
must work, but it doesn't!
After telling them that it doesn't work and
asking for a call back I got no answer until now!
- Nov 30, 2005
versjon 8.0
When will these libraries be available for
LV8??
- Nov 10, 2005
Compatable with Version 8 LABVIEW?
I was unable to run this Modbus Libuary
using the LABVIEW 8. I am currently trying
to concude that LABVIEW can talk Modbus and
how hard is it to configure to do this.
Thanks
513-293 4783
- Mike Wendt, Rolls Royce. michael.wendt@rolls-royce.com - Nov 3, 2005
Several VIs display broken wires when compiled to LV8
- Nov 1, 2005
Legal
This example program (this "program") was developed by a National Instruments ("NI") Applications Engineer. Although technical support of this program may be made available by National Instruments, this program may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this program with each new revision of related products and drivers. THIS EXAMPLE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
