更新记录
1.0.1(2024-01-06)
插件使用说明
注意事项
1,购买本插件前,请先试用,并充分自测确认满足需求之后再行购买。一经购买,概不退还。
2,如有使用上的疑问请QQ(303931362)与作者沟通交流。
3,本插件目前仍在优化完善阶段,欢迎大家使用帮助作者完善插件。
本插件
注意点
- 1 个线圈 = 1 位
- 1 个寄存器地址 = 2 个字节;
- [ 寄存器起始地址 = 0001 ] 相当于 [ 访问地址 = 0 ],存在 1 位地址偏移;
- 4 字节数据的编码格式 = BA_DC; (大端模式 = DC_BA,小端模式 = AB_CD)
- 支持自动重连
协议类
Modbus协议 | 对应的类 | 备注 |
---|---|---|
Tcp | ModbusTcp | 网口 |
Rtu | ModbusRtuOverTcp | 需要串口转网口 |
Ascii | ModbusAsciiOverTcp | 需要串口转网口 |
目前只支持Tcp协议,如需 Rtu、Ascii协议请联系作者。
存储区
区号 | 名称 | 读写 | 地址范围 | 对应方法 |
---|---|---|---|---|
0区 | 输出线圈 | 可读可写布尔量 | 00001-09999 | readCoil / writeCoil |
1区 | 输入线圈 | 只读布尔量 | 10001-19999 | readDiscreteInput |
3区 | 输入寄存器 | 只读寄存器 | 30001-39999 | readInputRegister |
4区 | 保持寄存器 | 可读可写寄存器 | 40001-49999 | readHoldRegister / writeHoldRegister |
功能码
序号 | 功能码 | 功能说明 | 对应方法 |
---|---|---|---|
1 | 01H | 读取输出线圈 | readCoil |
2 | 02H | 读取输入线圈 | readDiscreteInput |
3 | 03H | 读取保持寄存器 | readHoldRegister |
4 | 04H | 读取输入寄存器 | readInputRegister |
5 | 05H | 写入单线圈 | writeCoil |
6 | 06H | 写入单寄存器 | writeHoldRegister |
7 | 0FH | 写入多线圈 | writeCoil |
8 | 10H | 写入多寄存器 | writeHoldRegister |
保持寄存器快捷访问
序号 | 方法 | 寄存器数量 | 字节大小 | 位大小 | 含义 | 寄存器 |
---|---|---|---|---|---|---|
1 | readBoolean | 1 | 1/8 | 1 | 读取boolean | 保持寄存器 |
2 | readInt16 | 1 | 2 | 16 | 读取Int16 | 保持寄存器 |
3 | readUInt16 | 1 | 2 | 16 | 读取UInt16 | 保持寄存器 |
4 | readInt32 | 2 | 4 | 32 | 读取Int32 | 保持寄存器 |
5 | readUInt32 | 2 | 4 | 32 | 读取UInt32 | 保持寄存器 |
6 | readFloat32 | 2 | 4 | 32 | 读取Float32 | 保持寄存器 |
7 | readFloat64 | 4 | 8 | 64 | 读取Float64 | 保持寄存器 |
8 | readString | n | 2n | 16n | 读取字符串 | 保持寄存器 |
9 | writeInt16 | 1 | 2 | 16 | 写入Int16 | 保持寄存器 |
10 | writeUInt16 | 1 | 2 | 16 | 写入UInt16 | 保持寄存器 |
11 | writeInt32 | 2 | 4 | 32 | 写入Int32 | 保持寄存器 |
12 | writeUInt32 | 2 | 4 | 32 | 写入UInt32 | 保持寄存器 |
13 | writeFloat32 | 2 | 4 | 32 | 写入Float32 | 保持寄存器 |
14 | writeFloat64 | 4 | 8 | 64 | 写入Float32 | 保持寄存器 |
15 | writeString | n | 2n | 16n | 写入字符串 | 保持寄存器 |
加载插件
var xyMtcp = uni.requireNativePlugin("xy-ModbusTcp")
连接
/**
* param id int 从站编号 非必须(默认编号1)
* param ip String 地址 必须
* param port int 端口 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.connect({
id:1,
ip: '127.0.0.1',
port: 8080
})
关闭连接
xyMtcp.close()
其他方法
/**
* 是否连接
*
* @return JSON
* code:0,正常 -1,异常
* data:true false
*/
var ret = xyMtcp.checkConnected()
/**
* 获取报文
* @return String
*/
var ret = xyMtcp.getComCallback()
/**
* 清空报文
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.clearComCallback()
线圈和寄存器的读取
/**
* 读取线圈, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 线圈数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readCoil({param})
/**
* 写单线圈, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value boolean 线圈状态 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeCoil({param})
/**
* 写单线圈, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param values list 线圈状态列表 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeCoils({
address:1,
values:[false,true,true]
})
/**
* 读取离散输入, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 线圈数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readDiscreteInput({param})
/**
* 读取保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 线圈数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readHoldRegister({param})
/**
* 以数值形式写入保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数值 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeHoldRegisterInt({param})
/**
* 以数值数组形式写入保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param values list 数值数组 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeHoldRegisterInts({param})
/**
* 以字节数组形式写入保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param values list 数值数组 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeHoldRegisterBytes({param})
/**
* 读取输入寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 寄存器数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readInputRegister({param})
通用保持寄存器 读取数据
/**
* 读取一个boolean类型数据,只有一个地址的数据,位索引[0,15]
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param index int 位索引[0,15] 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readBoolean({param})
/**
* 读取一个Int16 2字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param littleEndian bool 是否小端模式,true:小端,false:大端 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readInt16({param})
/**
* 读取一个UInt16 2字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param littleEndian bool 是否小端模式,true:小端,false:大端 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readUInt16({param})
/**
* 读取一个Int32 4字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readInt32({param})
/**
* 读取一个UInt32 4字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readUInt32({param})
/**
* 读取一个Float32的数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readFloat32({param})
/**
* 读取一个Float64的数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readFloat64({param})
/**
* 读取字符串
* (字符串)数据类型存储一串单字节字符
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param length int 字符串长度 必须
* param charset int 字符编码 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* charset:0,US_ASCII 1,ISO_8859_1 2,UTF_8 3,UTF_16BE 4,UTF_16LE 5,UTF_16
*/
var ret = xyMtcp.readString({param})
通用保持寄存器 写入数据
/**
* 写入一个Int16 2字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value Short 字符串长度 必须
* param littleEndian bool 是否小端模式,true:小端,false:大端 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeInt16({param})
/**
* 写入一个Int32 4字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeInt32({param})
/**
* 写入一个UInt32 4字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeUInt32({param})
/**
* 写入一个Float32 4字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeFloat32({param})
/**
* 写入一个Float64 8字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeFloat64({param})
/**
* 写入一个String数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value String 字符串长度 必须
* param charset int 字符编码 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* charset:0,US_ASCII 1,ISO_8859_1 2,UTF_8 3,UTF_16BE 4,UTF_16LE 5,UTF_16
*/
var ret = xyMtcp.writeString({param})
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
插件使用说明
注意事项
1,购买本插件前,请先试用,并充分自测确认满足需求之后再行购买。一经购买,概不退还。
2,如有使用上的疑问请QQ(303931362)与作者沟通交流。
3,本插件目前仍在优化完善阶段,欢迎大家使用帮助作者完善插件。
本插件
注意点
- 1 个线圈 = 1 位
- 1 个寄存器地址 = 2 个字节;
- [ 寄存器起始地址 = 0001 ] 相当于 [ 访问地址 = 0 ],存在 1 位地址偏移;
- 4 字节数据的编码格式 = BA_DC; (大端模式 = DC_BA,小端模式 = AB_CD)
- 支持自动重连
协议类
Modbus协议 | 对应的类 | 备注 |
---|---|---|
Tcp | ModbusTcp | 网口 |
Rtu | ModbusRtuOverTcp | 需要串口转网口 |
Ascii | ModbusAsciiOverTcp | 需要串口转网口 |
目前只支持Tcp协议,如需 Rtu、Ascii协议请联系作者。
存储区
区号 | 名称 | 读写 | 地址范围 | 对应方法 |
---|---|---|---|---|
0区 | 输出线圈 | 可读可写布尔量 | 00001-09999 | readCoil / writeCoil |
1区 | 输入线圈 | 只读布尔量 | 10001-19999 | readDiscreteInput |
3区 | 输入寄存器 | 只读寄存器 | 30001-39999 | readInputRegister |
4区 | 保持寄存器 | 可读可写寄存器 | 40001-49999 | readHoldRegister / writeHoldRegister |
功能码
序号 | 功能码 | 功能说明 | 对应方法 |
---|---|---|---|
1 | 01H | 读取输出线圈 | readCoil |
2 | 02H | 读取输入线圈 | readDiscreteInput |
3 | 03H | 读取保持寄存器 | readHoldRegister |
4 | 04H | 读取输入寄存器 | readInputRegister |
5 | 05H | 写入单线圈 | writeCoil |
6 | 06H | 写入单寄存器 | writeHoldRegister |
7 | 0FH | 写入多线圈 | writeCoil |
8 | 10H | 写入多寄存器 | writeHoldRegister |
保持寄存器快捷访问
序号 | 方法 | 寄存器数量 | 字节大小 | 位大小 | 含义 | 寄存器 |
---|---|---|---|---|---|---|
1 | readBoolean | 1 | 1/8 | 1 | 读取boolean | 保持寄存器 |
2 | readInt16 | 1 | 2 | 16 | 读取Int16 | 保持寄存器 |
3 | readUInt16 | 1 | 2 | 16 | 读取UInt16 | 保持寄存器 |
4 | readInt32 | 2 | 4 | 32 | 读取Int32 | 保持寄存器 |
5 | readUInt32 | 2 | 4 | 32 | 读取UInt32 | 保持寄存器 |
6 | readFloat32 | 2 | 4 | 32 | 读取Float32 | 保持寄存器 |
7 | readFloat64 | 4 | 8 | 64 | 读取Float64 | 保持寄存器 |
8 | readString | n | 2n | 16n | 读取字符串 | 保持寄存器 |
9 | writeInt16 | 1 | 2 | 16 | 写入Int16 | 保持寄存器 |
10 | writeUInt16 | 1 | 2 | 16 | 写入UInt16 | 保持寄存器 |
11 | writeInt32 | 2 | 4 | 32 | 写入Int32 | 保持寄存器 |
12 | writeUInt32 | 2 | 4 | 32 | 写入UInt32 | 保持寄存器 |
13 | writeFloat32 | 2 | 4 | 32 | 写入Float32 | 保持寄存器 |
14 | writeFloat64 | 4 | 8 | 64 | 写入Float32 | 保持寄存器 |
15 | writeString | n | 2n | 16n | 写入字符串 | 保持寄存器 |
加载插件
var xyMtcp = uni.requireNativePlugin("xy-ModbusTcp")
连接
/**
* param id int 从站编号 非必须(默认编号1)
* param ip String 地址 必须
* param port int 端口 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.connect({
id:1,
ip: '127.0.0.1',
port: 8080
})
关闭连接
xyMtcp.close()
其他方法
/**
* 是否连接
*
* @return JSON
* code:0,正常 -1,异常
* data:true false
*/
var ret = xyMtcp.checkConnected()
/**
* 获取报文
* @return String
*/
var ret = xyMtcp.getComCallback()
/**
* 清空报文
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.clearComCallback()
线圈和寄存器的读取
/**
* 读取线圈, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 线圈数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readCoil({param})
/**
* 写单线圈, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value boolean 线圈状态 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeCoil({param})
/**
* 写单线圈, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param values list 线圈状态列表 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeCoils({
address:1,
values:[false,true,true]
})
/**
* 读取离散输入, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 线圈数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readDiscreteInput({param})
/**
* 读取保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 线圈数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readHoldRegister({param})
/**
* 以数值形式写入保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数值 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeHoldRegisterInt({param})
/**
* 以数值数组形式写入保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param values list 数值数组 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeHoldRegisterInts({param})
/**
* 以字节数组形式写入保持寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param values list 数值数组 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeHoldRegisterBytes({param})
/**
* 读取输入寄存器, modbus 1个寄存器占2个字节
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param q int 寄存器数量 必须 >0
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readInputRegister({param})
通用保持寄存器 读取数据
/**
* 读取一个boolean类型数据,只有一个地址的数据,位索引[0,15]
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param index int 位索引[0,15] 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readBoolean({param})
/**
* 读取一个Int16 2字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param littleEndian bool 是否小端模式,true:小端,false:大端 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readInt16({param})
/**
* 读取一个UInt16 2字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param littleEndian bool 是否小端模式,true:小端,false:大端 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.readUInt16({param})
/**
* 读取一个Int32 4字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readInt32({param})
/**
* 读取一个UInt32 4字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readUInt32({param})
/**
* 读取一个Float32的数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readFloat32({param})
/**
* 读取一个Float64的数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.readFloat64({param})
/**
* 读取字符串
* (字符串)数据类型存储一串单字节字符
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param length int 字符串长度 必须
* param charset int 字符编码 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* charset:0,US_ASCII 1,ISO_8859_1 2,UTF_8 3,UTF_16BE 4,UTF_16LE 5,UTF_16
*/
var ret = xyMtcp.readString({param})
通用保持寄存器 写入数据
/**
* 写入一个Int16 2字节数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value Short 字符串长度 必须
* param littleEndian bool 是否小端模式,true:小端,false:大端 必须
*
* @return JSON
* code:0,正常 -1,异常
*/
var ret = xyMtcp.writeInt16({param})
/**
* 写入一个Int32 4字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeInt32({param})
/**
* 写入一个UInt32 4字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeUInt32({param})
/**
* 写入一个Float32 4字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 4字节数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeFloat32({param})
/**
* 写入一个Float64 8字节数据,默认BA_DC格式
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value int 数据 必须
* param format int 数据转换格式 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* format:0,按照单字节反转 1,按照原始顺序排列 2,按照双字节反转 3,按照倒序排列
*/
var ret = xyMtcp.writeFloat64({param})
/**
* 写入一个String数据
*
* param id int 从站编号 非必须(默认编号1)
* param address int 地址 必须
* param value String 字符串长度 必须
* param charset int 字符编码 非必须(默认0)
*
* @return JSON
* code:0,正常 -1,异常
* charset:0,US_ASCII 1,ISO_8859_1 2,UTF_8 3,UTF_16BE 4,UTF_16LE 5,UTF_16
*/
var ret = xyMtcp.writeString({param})