From AE:
Modbus ActiveX control for Visual Basic, Excel etc. The MBAXP demo is a complete operating ActiveX control that has a 60-minutes time limit. After 60 minutes, communication functions will be. It is the goal of WinTECH Software to establish long-term working relationships with software developers via the world-wide-web, and to have no unsatisfied customers. To download an evaluation copy of a WinTECH Software application, select it below. The size of each file and the date it was last updated is shown following each file name.
Continental Control Systems lists some of the available Windows® Modbus® software used by programmers for configuring and monitoring Modbus devices. Continental Control Systems lists some of the available Windows® Modbus® software used by programmers for configuring and monitoring Modbus devices.
MODBUS devices R/W datas access with [MBusDrv.dll] library.Exported functions (pascal declarations) : {* Standard read datas from MODBUS device *} function GetMBData(const SlaveAddr : byte; const ReadType : boolean; var Data : array[0..254] of byte) : integer; stdcall; SlaveAddr : byte (1..254) ReadType : boolean (false=Coils / true=Holding Registers) Data : array[0..254] of byte (device datas) Return integer (0=OK) {* Extended read datas from MODBUS device *} function GetMBDataEx(const SlaveAddr : word; const ReadType : word) : pointer; stdcall; SlaveAddr : word (1..254) ReadType : word (0=Coils / 1=Holding Registers) Return pointer of 255 byte (device datas or 0=Error) {* VBA (Microsoft Visual Basic) read datas from MODBUS device *} function GetMBDataVBA(const SlaveAddr : LongInt; const ReadType : LongInt) : pointer; stdcall; SlaveAddr : longint (1..254) ReadType : longint (0=Coils / 1=Holding Registers) Return pointer of 255 byte (device datas or 0=Error) {* Standard write data to MODBUS device *} function PutMBData(const SlaveAddr : byte; const WriteType : boolean; const DataAddr : byte; const Data : word) : integer; stdcall; SlaveAddr : byte (1..254) WriteType : boolean (false=Coil / true=Holding Register) DataAddr : byte (1..255) Data : word Return integer (status code >=0=OK) {* VBA (Microsoft Visual Basic) write data to MODBUS device *} function PutMBDataVBA(const SlaveAddr : longint; const WriteType : longint; const DataAddr : longint; const Data : longint) : longint; stdcall; SlaveAddr : longint (1..254) WriteType : longint (0=Coil / 1=Holding Register) DataAddr : longint (1..255) Data : longint Return longint (status code >=0=OK).
What do you need to know about free software?
From AE: MODBUS devices R/W datas access with [MBusDrv.dll] library.Modbus Rtu Software Download
Exported functions (pascal declarations) : {* Standard read datas from MODBUS device *} function GetMBData(const SlaveAddr : byte; const ReadType : boolean; var Data : array[0..254] of byte) : integer; stdcall; SlaveAddr : byte (1..254) ReadType : boolean (false=Coils / true=Holding Registers) Data : array[0..254] of byte (device datas) Return integer (0=OK) {* Extended read datas from MODBUS device *} function GetMBDataEx(const SlaveAddr : word; const ReadType : word) : pointer; stdcall; SlaveAddr : word (1..254) ReadType : word (0=Coils / 1=Holding Registers) Return pointer of 255 byte (device datas or 0=Error) {* VBA (Microsoft Visual Basic) read datas from MODBUS device *} function GetMBDataVBA(const SlaveAddr : LongInt; const ReadType : LongInt) : pointer; stdcall; SlaveAddr : longint (1..254) ReadType : longint (0=Coils / 1=Holding Registers) Return pointer of 255 byte (device datas or 0=Error) {* Standard write data to MODBUS device *} function PutMBData(const SlaveAddr : byte; const WriteType : boolean; const DataAddr : byte; const Data : word) : integer; stdcall; SlaveAddr : byte (1..254) WriteType : boolean (false=Coil / true=Holding Register) DataAddr : byte (1..255) Data : word Return integer (status code >=0=OK) {* VBA (Microsoft Visual Basic) write data to MODBUS device *} function PutMBDataVBA(const SlaveAddr : longint; const WriteType : longint; const DataAddr : longint; const Data : longint) : longint; stdcall; SlaveAddr : longint (1..254) WriteType : longint (0=Coil / 1=Holding Register) DataAddr : longint (1..255) Data : longint Return longint (status code >=0=OK).