function mbtcpfcn03(nport,node,address,Count:LongInt;
RxdBuffer:PlongInt):LongInt;stdcall;
参数说明:
nport:
网络连接号,取值为0~127,128个网络链接;
node: 从站号或单元标识符,从站时取值为1~255;
address:
元件地址,modbus标准地址40001~4XXXX地址区,(读取时使用偏移地址传入,地址值从0000开始);
Count:
读元件个数,一次最多读125个,但不能超出寻址范围;
RxdBuffer: 整数指针类型,指向一个定义1024个数的整数数组;单个数组单元值范围为-32768~+32767;
返回值:长整型;
返回值:操作成功返回:同Count,操作失败返回:-1。
注:非注册用户,可以读取modbus标准地址40001~10008共8个位地址。
1、VB下的函数调用声明
Private Declare Function mbtcpfcn03 Lib "modbus_tcp.dll" (ByVal nport As
Long, ByVal node As Long, ByVal address As Long, ByVal Count As Long, RxdBuffer
As Any) As Long
调用举例:
Dim buffer(1024) As Long '定义一个数据接收缓冲区
Dim k As Long
'通过网络链接0将modbus从站号1的modbus标准地址40001~40020共20个字的数据值读出
k = mbtcpfcn03(0, 1, 0, 20,buffer(0))
RxdBuffer As Any) 还有一个问题,就是这个数据类型我应该如何定义才能在fox里正常使用