Modbus

Protocol Library

Overview

Positioned at level 7 of the OSI model that provides client/server communication between devices connected on different types of buses or networks. Modbus is a request/reply protocol and offers services specified by function codes. Modbus function codes are elements of Modbus request/reply PDUs.

Triangle MicroWorks’ Software Libraries provide a cost-effective means of supporting industry-standard protocols in your device. Incorporating our royalty-free Software Libraries in your products will shorten development time, freeing internal resources to work on company proprietary aspects of your products. 

Triangle MicroWorks Software Libraries are available in two formats: .NET Protocol Components for incorporation in Windows .NET-based products, and ANSI-Standard C Source Code Libraries for all other platforms.

  • Conforms to Modbus Application Protocol Specification V1.1.
  • Supports any physical communication network including RS 232/485 (for RTU and ASCII), Modbus Plus, and TCP.
  • Can be used in event-driven or non-event-driven environments.
  • Supports binary data (coils and discrete inputs) and analog data (holding registers and input registers).
  • Supports function codes for read, write, and read/write multiple registers.
  • Simple configuration for big-endian or little-endian byte order.
  • Extensive, built-in (but removable) diagnostics including a protocol analyzer used to visually decipher protocol messages. The diagnostic and analyzer strings can be directed to any target system display device, even a serial port or RAM buffer.
  • Records communication protocol errors such as “Unsupported function code”, “Data base errors”, “Address range errors”, “Exception response, FC = xxx, Exception Code = xxx”.
  • No royalty fees per unit sold.

Outstation Library Features

  • Interoperability is maximized by making it easy to attach virtually all possible interoperability configuration settings to run-time variables or function calls.
  • Supplies data to an unlimited number of host devices through an unlimited number of communication ports.
  • Example Database Interface implementations are provided for testing, illustration, and as templates to be used for developing final Database Interface.

Master Library Features

  • An unlimited number of remote devices can be configured on an unlimited number of communication ports,and new remote devices can be added at runtime.
  • Multiple devices can be assigned to the same communication port to support multiple network communication topologies.
  • Database manager maps received Modbus data into Target Application data points (coils, discrete input registers, holding registers, input registers, etc.).

ANSI C Source Code

  • Written in ANSI-Standard C Source Code, under a strict corporate coding standard.
  • Designed to be processor and operating system independent, using any ANSI-Standard C compiler.
  • Simple configuration for big-endian or little-endian byte order.
  • Can be used with or without a Real Time Operating System (RTOS).
  • Database interface supports any database, ranging from direct I/O input with no storage to complex, relational databases.
  • Includes sample applications and source code for Low-Level Target Interface for Linux and Windows (see Design Details for Implementation).
  • Typical product integration times are less than three weeks.

.NET Components

  • Based on Triangle MicroWorks, Inc. industry-proven Source Code Library design.
  • Supports all .NET Languages (C#, J#, Managed C++,VB .NET, etc.) and tools.
  • Compatible with .NET 2.0 Framework.
  • Integrates with Visual Studio Help.
  • Available as single-use or redistributable with source code.
  • Source code version includes corresponding ANSI-Standard C Source Code Library.
  • Includes built-in simple database with save/restore capabilities; also supports user-defined database.
  • Ideal for quick development of products and tools requiring Modbus support.
  • Scalable for large implementations.
  • Typical product integration time of less than one week.

What’s New

Current Release: v3.16.00
Release Date:  June 2013

Newest Features in this Release

  • Corrected GNU-Wall compiler warnings.

Key Additions to Recent Releases

v3.09 – Modifications to conform to new Modbus certification tests.
v3.07 – Added sample Linux and Windows target implementation.
v3.01.01 – Added ability to keep time on a per-session basis.
v3.00.35 – Added memory alignment support.
v3.00.32 – Added support for multiple threads.
v3.00.25 – Added ability for Master to queue commands.