哪位給個例子,或者API,幫幫忙,折磨一天了。謝謝各位了。
uj5u.com熱心網友回復:
https://blog.csdn.net/MickeyTaKigin/article/details/77803736uj5u.com熱心網友回復:
private void write(final int data) {
new Thread(new Runnable() {
@Override
public void run() {
if (master == null) {
if (!initModbus()) {
return;
}
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
statetextView.setText("指令狀態:失敗");
}
});
}
WriteRegisterRequest writeRegisterRequest = null;
try {
SharedPreferences sharedPreferences = getActivity().getSharedPreferences("System", 0);
int slaveId = sharedPreferences.getInt("Slave", 2);
int address = sharedPreferences.getInt("Register", 1);
writeRegisterRequest = new WriteRegisterRequest(slaveId, address, data);
WriteRegisterResponse writeRegisterResponse = (WriteRegisterResponse) master.send(writeRegisterRequest);
if (writeRegisterResponse.isException()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
statetextView.setText("指令狀態:失敗");
}
});
Log.v("exception", writeRegisterResponse.getExceptionMessage());
} else {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
statetextView.setText("指令狀態:成功");
}
});
Log.v("write", "succeed");
}
} catch (ModbusTransportException e) {
e.printStackTrace();
} finally {
master.destroy();
}
}
}).start();
}
private boolean initModbus() {
ModbusFactory factory = new ModbusFactory();
IpParameters params = new IpParameters();
//設定IP地址以及埠號
SharedPreferences sharedPreferences = getActivity().getSharedPreferences("System", 0);
String IP = sharedPreferences.getString("IP", "192.168.1.21");
if (IP == null) {
Toast.makeText(getActivity(), "未設定IP,請先設定IP", Toast.LENGTH_LONG).show();
return false;
}
params.setHost(IP);
params.setPort(502);
// params.setEncapsulated(false);
//創建ModbusMaster以及設定超時時間
master = factory.createTcpMaster(params, true);
master.setTimeout(2000);
master.setRetries(1);
try {
master.init();
return true;
} catch (Exception e) {
Log.e("modbus", " exception : " + e.toString());
return false;
}
}https://download.csdn.net/download/qq_33813665/10024698
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/100010.html
標籤:Android
上一篇:求救啊
