iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android端使用Modbus协议的简单方法
  • 826
分享到

Android端使用Modbus协议的简单方法

2024-04-02 19:04:59 826人浏览 八月长安
摘要

目录1、导入Modbus4Android的库2、基于 tcp/IP 的 Modbus Master/客户端2.1、初始化ModbusMaster2.2、读写保持寄存器2.3、读写线圈

点我了解Modbus协议

Modbus用于设备之间的通信,同样在正常App开发中用的也很少

1、导入Modbus4Android的库

gayhub地址:GitHub.com/zgkxzx/Modb…

使用jar包的方式引入可以,也可以直接将这个项目down到本地,引入这个项目,我使用是第二种方法

2、基于 TCP/IP 的 Modbus Master/客户端

2.1、初始化ModbusMaster


        ModbusReq.getInstance().setParam(ModbusParam()
                .setHost(salveIP)//从站的IP地址
                .setPort(salvePort)//从站的端口
                .setEncapsulated(false)//
                .seTKEepAlive(true)
                .setTimeout(2000)
                .setRetries(0))
                .init(object : OnRequestBack<String> {
                    override fun onSuccess(t: String?) {
                   
                    }

                    override fun onFailed(msg: String?) {
                      
                    }
                })

2.2、读写保持寄存器


读保持寄存器


 ModbusReq.getInstance().readHoldingReGISters(object : OnRequestBack<ShortArray> {
            @SuppressLint("SetTextI18n")
            override fun onSuccess(t: ShortArray?) {//这个就是读取到的数据
            
            }

            override fun onFailed(msg: String?) {
                
            }
        }, slaveId, shart, len)

写保持寄存器




 ModbusReq.getInstance().writeRegisters(object : OnRequestBack<String> {
            override fun onSuccess(s: String) {

            }

            override fun onFailed(msg: String) {
            
            }
        }, slaveId, start, shortArray)
        

2.3、读写线圈

读线圈


读线圈


ModbusReq.getInstance().readCoil(object :OnRequestBack<BooleanArray>{
    override fun onSuccess(t: BooleanArray?) {
       
    }

    override fun onFailed(msg: String?) {
       
    }
},1,1,10)

写线圈


ModbusReq.getInstance().writeCoils(object :OnRequestBack<String>{
    override fun onFailed(msg: String?) {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }

    override fun onSuccess(t: String?) {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }
},1,1, arrayOf(true,true,false,false).toBooleanArray())

各个功能的用法都基本上差不多,就是方法名和功能码不一样,读的时候都是传入从站的id和开始的位置,还有要读取的长度,写的时候也是传入一个从站地址,开始的位置和一个数组,依次将数组的值从开始的位置写入

2.4 回收Master


ModbusReq.getInstance().destory()

3、基于 TCP/IP 的 Modbus Salve/服务端

启动服务


var modbusSlave=TcpSlave(502,false)//默认端口502,不开启压缩儿
modbusSlave.addProcessImage(BasicProcessImage(1))//初始化数据存储的镜像,
modbusSlave.start()//关闭服务 stop方法

4、总结

到此这篇关于Android端使用Modbus协议的文章就介绍到这了,更多相关Android端使用Modbus协议内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Android端使用Modbus协议的简单方法

本文链接: https://www.lsjlt.com/news/156289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android端使用Modbus协议的简单方法
    目录1、导入Modbus4Android的库2、基于 TCP/IP 的 Modbus Master/客户端2.1、初始化ModbusMaster2.2、读写保持寄存器2.3、读写线圈...
    99+
    2024-04-02
  • C#操作串口通信协议Modbus的常用方法介绍
    一、读线圈状态 /// <summary> /// 读线圈状态测试 /// </summary> ...
    99+
    2024-04-02
  • Android简单使用PopupWindow的方法
    本文实例为大家分享了Android简单使用PopupWindow的的具体代码,供大家参考,具体内容如下 思路 1.在res下面创建一个menu文件夹,并新建一个xml文件作为Poup...
    99+
    2024-04-02
  • PHP使用简单邮件传输协议(SMTP)发送邮件的方法
    随着互联网的发展,邮件已经成为了人们日常交流的重要方式之一。而对于一些网站开发者来说,在网站中发送邮件也显得尤为关键。PHP作为一种服务器端脚本语言,自然也需要提供一种发送邮件的方式。本文就将介绍PHP使用简单邮件传输协议(SMTP)发送邮...
    99+
    2023-05-22
    PHP 邮件发送 SMTP
  • 使用gonet实现简单的redis通信协议
     图解redis通信协议 请求协议: 请求协议一般格式: *<参数数量> CR LF $<参数 1 的字节数量> CR LF <参数 1 的数据&...
    99+
    2024-04-02
  • phpfilter协议使用方法
    <php highlight_file(__FILE__); error_reporting(0); $content = $_POST['content']; file_pu...
    99+
    2022-12-15
    php filter协议 php filter
  • Android传感器的简单使用方法
    本文实例为大家分享了Android传感器简单使用的具体代码,供大家参考,具体内容如下 1. SensorManager类 SensorManager类用来管理各个传感器:通过Sens...
    99+
    2024-04-02
  • 如何使用go net实现简单的redis通信协议
    这篇文章主要为大家展示了“如何使用go net实现简单的redis通信协议”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用go net实现简单的redis通信协议”这篇...
    99+
    2023-06-21
  • Android Popupwindow弹出窗口的简单使用方法
    本文实例为大家分享了Android Popupwindow弹出窗口的具体代码,供大家参考,具体内容如下代码很简单,没有和别的控件连用。布局自己随意定义,我的这个是最基础的,就直接上代码啦! 在MainActivity里import andr...
    99+
    2023-05-30
    android popupwindow 弹出窗口
  • Android ViewFlipper的简单使用
    大家都使用过ViewPager,但是ViewPager还有一个兄弟,那就是ViewFlipper。两者的名字非常相似,我们可以将ViewPager理解成“一页一页的视图”,ViewFlipper则是“快速翻转的视图”,但后者的使用率却远不及...
    99+
    2023-05-31
    android viewflipper pp
  • Vuejs的简单使用方法
    这篇文章主要介绍“Vuejs的简单使用方法”,在日常操作中,相信很多人在Vuejs的简单使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vuejs的简单使用方法”的疑惑...
    99+
    2024-04-02
  • 在netty中使用native传输协议的方法
    目录简介native传输协议的依赖netty本地传输协议的使用总结简介 对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NI...
    99+
    2024-04-02
  • Android 之 ViewPager 的简单使用
    本节引言: 本节带来的是Android 3.0后引入的一个UI控件——ViewPager(视图滑动切换工具),实在想不到 如何来称呼这个控件,他的大概功能:通过手势滑动可以完成View的切换,一般是用来做APP 的引导页或者实现图片轮播...
    99+
    2023-09-13
    android 动画
  • Qt Designer的简单使用方法
    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用 C++ 代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。 用 ...
    99+
    2024-04-02
  • JavaDubbo协议下的服务端线程使用详解
    目录Provider端线程模型AllDispatcherDirectDispatcherExecutionDispatcherMessageOnlyDispatcherConnect...
    99+
    2023-03-01
    Java Dubbo服务端线程 Java服务端线程模型
  • 获取cookie的简单方法(电脑端)
    获取cookie 首先科普一下Cookie是什么 百度搜索的官方解释如下: Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加...
    99+
    2023-08-20
    前端 安全 服务器
  • Win7关闭445端口的简单方法
    要关闭Windows 7上的445端口,您可以按照以下简单的步骤进行操作:1. 打开“控制面板”。2. 选择“Windows防火墙”...
    99+
    2023-08-21
    win7
  • SpringBootAdmin的简单使用的方法步骤
    目录一、快速入门1.1 SpringBoot Admin服务端的搭建1.2 SpringBootAdmin client端搭建1.3 效果展示二、安全性2.1 admin-serve...
    99+
    2024-04-02
  • 详解Navicat简单使用方法
    Navicat是一款用于数据库管理的工具,支持多种数据库系统,如MySQL、Oracle、SQL Server等。下面是Navicat的简单使用方法:1. 下载和安装Navicat:首先,从Navicat官方网站下载适用于你的操作系统的...
    99+
    2023-08-09
    Navicat
  • Android学习之Broadcast的简单使用
    本文实例为大家分享了Android学习之Broadcast的使用方法,供大家参考,具体内容如下实现开机启动提示网络的广播package com.example.luobo.broadcasttest;import android.conte...
    99+
    2023-05-30
    android broadcast roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作