更新记录

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:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问