Android 实现ModbusTcp 从机 -- JLibModbus

本文介绍了如何在Android设备上实现ModbusTCP从机功能,利用JLibModbus库创建从机,并详细讲解了数据读写、地址和功能码的转换。文中提供代码示例,帮助读者理解Modbus主从机交互,以及如何配置ModbusPoll工具进行通信测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ModbusTCP Slave for Android

最近项目中 Socket 通讯使用到 ModbusTCP协议,记录下从调试到使用过程。

客户提出Modbus协议,一开始也是有点懵逼的,找遍各种资料,Github开源项目,很少有关于Android端作为从机的文章跟项目参考,时间不等人,只能自己下载源码分析到底怎么回事。最终决定使用JLibModbus开源库

Modbus 一般分主机poll(Client)跟从机slave(Server),网上很多都是以Android端作为主机端的案例,本文主要介绍以Android端作为从机slave。

主机端大家可以参考:https://www.cnblogs.com/ioufev/p/10831289.html

 

使用工具+资源jar

ModbusPoll:主机Poll端

ModbusSlave:从机Slave端

具体使用后面介绍,下载安装就不在这里多说,参考:https://www.cnblogs.com/hieroly/p/9063710.html

jlibmodbus-1.2.9.7.jar 

 

Android 端从机Slave创建

导入jar包后,下面是我自己创建从机的部分代码,应该是可以直接使用的

public class ModBusManager {

    private static final String TAG = "ModBusManager";

    private static ModBusManager modbusManager = null;
    private static ExecutorService singleThreadPool;
    private Context context;

    private ModbusSlave modbusSlave;
    private TcpParameters tcpParameters;
    private MyDataHolder dataHolder;

    public static ModBusManager getInstance(Context context) {

        if (null == modbusManager) {
            synchronized (ModBusManager.class) {
                if (null == modbusManager) {
                    modbusManager = new ModBusManager(context);
                }
            }
        }
        return modbusManager;
    }

    private ModBusManager(Context context) {
        this.context = context;
        singleThreadPool = Executors.newSingleThreadExecutor(
用户可以根据需求在驱动库里选择相对应的通讯驱动程序,配置相应的通讯握手参数,自由定义需要控制和采集的变量名、通讯地址、数据类型和初始值。功能说明及图片展示: 1.安装完成首次进入将会显示三页功能简要展示页面。 2.点击“立即使用”按钮,进入登录界面(公测账户为admin,密码admin)。 3.登录成功进入APP主页,此时主页所有状态为初始未配置状态。 4.在主页状态下向右滑动,可打开功能模块选择列表。 5.点击“WIFI连接”进入连接现场设备网络页面,如果此时用户已通过手WIFI页面连接现场设备,则直接跳过此步骤。 6.连接成功后返回功能模块选择列表,点击“参数设置”进入通讯相关参数配置页面(首先进入驱动配置页面),目前驱动库中只有支持Modbus TCP的驱动,后续会持续更新,用户通过在驱动库列表中长按操作将选中的驱动挑选至已选列表中,如果要取消,可以在已选列表中通过同样的长按操作完成。 7.配置要访问的设备通讯参数,与主页的操作逻辑一致,在驱动配置页面向右滑动打开配置功能列表,点击“通讯参数配置”进入通讯参数配置页,然后点击右上角的加号,此时软件会根据已选的驱动类型自动添加一条相对应的通讯参数,用户可以通过双击的方式打开修改列表,然后在列表的某一条参数处通过长按的方式进入最终的修改对话框,修改完成后,可以通过长按的方式选定当前需要的参数配置信息到已选区域。 8.通讯参数配置完成后,向右滑动进入配置功能列表,点击“IO参数配置”进入地址段的分配,点击右上角的加号,在弹出的对话框中根据实际需求分配响应的起始地址以及地址数量,分配完成后,可在屏幕右侧边缘向左滑动调出隐藏功能菜单,通过功能菜单可查看和修改配置地址段的功能对应的IO点信息。 9.所有配置完成后,可返回主页,此时主页显示当前配置的信息,其中“控制操作”功能可以通过按钮发送布尔值,操作逻辑为当前值为0时发送1,当前值为1时发送0,而“参数设置”功能通过对子项长按可以设置调出输入框设置相应的参数值。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值