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 = Executor