ModbusRtuConnect例子
package com.modbusconnect;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.ToggleButton;
import com.modbusconnect.rtuwrapper.connection.ModbusRtuConnection;
import com.modbusconnect.rtuwrapper.io.ModbusRtuTransaction;
import com.modbusconnect.rtuwrapper.messaging.ModbusException;
import com.modbusconnect.rtuwrapper.messaging.ReadCoilRequest;
import com.modbusconnect.rtuwrapper.messaging.ReadCoilResponse;
import com.modbusconnect.rtuwrapper.messaging.ReadRegisterRequest;
import com.modbusconnect.rtuwrapper.messaging.ReadRegisterResponse;
import com.modbusconnect.rtuwrapper.messaging.WriteCoilRequest;
import com.modbusconnect.rtuwrapper.messaging.WriteCoilResponse;
import com.modbusconnect.rtuwrapper.messaging.WriteRegisterRequest;
import com.modbusconnect.rtuwrapper.messaging.WriteRegisterResponse;
import static com.modbusconnect.rtuwrapper.ModbusConstants.VENDOR_ID;
public class MainActivity extends AppCompatActivity {
TextView textView;
EditText etRegNum;
EditText etRegVal;
EditText editText;
ToggleButton toggleButton;
Button buttonWriteRegister;
Button buttonWriteCoil;
Button buttonSetAllCoils;
Button buttonReadRegs;
Button buttonReadCoils;
ModbusRtuConnection connection;
ModbusRtuTransaction transaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
editText = (EditText) findViewById(R.id.editText);
toggleButton = (ToggleButton) findViewById(R.id.toggleButton);
etRegNum = (EditText) findViewById(R.id.etRegNum);
etRegVal = (EditText) findViewById(R.id.etRegVal);
System.out.println(etRegNum.getText().toString());
Button buttonConnect = (Button) findViewById(R.id.buttonConnect);
buttonConnect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
connect();
}
});
buttonWriteRegister = (Button) findViewById(R.id.buttonWriteRegister);
buttonWriteRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int address = Integer.parseInt(etRegNum.getText().toString());
int value = Integer.parseInt(etRegVal.getText().toString());
WriteRegisterRequest request = new WriteRegisterRequest(address, value);
WriteRegisterResponse response;
try {
transaction.execute(request);
response = (WriteRegisterResponse) transaction.getResponse();
log("reg " address " = " response.getValue());
} catch (ModbusException e) {
e.printStackTrace();
}
}
});
buttonWriteCoil = (Button) findViewById(R.id.buttonWriteCoil);
buttonWriteCoil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int address = Integer.parseInt(editText.getText().toString());
boolean value = toggleButton.isChecked();
WriteCoilRequest request = new WriteCoilRequest(address, value);
WriteCoilResponse response;
try {
transaction.execute(request);
response = (WriteCoilResponse) transaction.getResponse();
log("coil " address " = " response.getValue());
} catch (ModbusException e) {
e.printStackTrace();
}
}
});
buttonSetAllCoils = (Button) findViewById(R.id.buttonWriteAllCoils);
buttonSetAllCoils.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setAllCoilsOnOff();
}
});
buttonReadRegs = (Button) findViewById(R.id.buttonReadRegs);
buttonReadRegs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ReadRegisterRequest request = new ReadRegisterRequest();
ReadRegisterResponse response;
for (int i = 0; i < 7; i ) {
request.setData(i, 0);
try {
transaction.execute(request);
} catch (ModbusException e) {
e.printStackTrace();
}
try {
response = (ReadRegisterResponse) transaction.getResponse();
log("reg " i " = " response.getValue());
} catch (ModbusException e) {
e.printStackTrace();
}
}
}
});
buttonReadCoils = (Button) findViewById(R.id.buttonReadCoils);
buttonReadCoils.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ReadCoilRequest request = new ReadCoilRequest();
ReadCoilResponse response;
for (int i = 1000; i < 1007; i ) {
request.setData(i, false);
try {
transaction.execute(request);
} catch (ModbusException e) {
e.printStackTrace();
}
try {
response = (ReadCoilResponse) transaction.getResponse();
log("coil " i " = " response.getValue());
} catch (ModbusException e) {
e.printStackTrace();
}
}
}
});
enableUi(false);
}
@Override
protected void onDestroy() {
if (connection != null) {
connection.disconnect();
}
super.onDestroy();
}
private void enableUi(boolean enable) {
buttonWriteRegister.setEnabled(enable);
buttonWriteCoil.setEnabled(enable);
buttonSetAllCoils.setEnabled(enable);
buttonReadRegs.setEnabled(enable);
buttonReadCoils.setEnabled(enable);
}
private void log(String text) {
textView.setText(textView.getText().toString() " // " text);
}
private void connect() {
connection = new ModbusRtuConnection(getApplicationContext(), VENDOR_ID, false);
connection.connect(new ModbusRtuConnection.OnConnectedToPlcListener() {
@Override
public void onConnected() {
if (connection.isConnected()) {
transaction = new ModbusRtuTransaction(connection);
}
log("Connected - " connection.isConnected());
enableUi(true);
}
});
}
//setCoilsOnOff vals
int current = 1000;
int startAddress = 1000;
int endAddress = 1006;
boolean isUp = true;
private void setAllCoilsOnOff() {
if (connection == null || !connection.isConnected()) return;
WriteCoilRequest request = new WriteCoilRequest();
if (current == endAddress) {
isUp = false;
} else if (current == startAddress) {
isUp = true;
}
try {
if (isUp) {
while (current < endAddress) {
request.setData(current, true);
transaction.execute(request);
current;
}
if (current == endAddress) {
request.setData(current, true);
transaction.execute(request);
}
} else {
while (current > startAddress) {
request.setData(current, false);
transaction.execute(request);
current--;
}
if (current == startAddress) {
request.setData(current, false);
transaction.execute(request);
}
}
} catch (ModbusException e) {
e.printStackTrace();
}
}
}
资源文件列表
ModbusRtuConnect/.git/config , 308
ModbusRtuConnect/.git/description , 73
ModbusRtuConnect/.git/HEAD , 23
ModbusRtuConnect/.git/hooks/applypatch-msg.sample , 478
ModbusRtuConnect/.git/hooks/commit-msg.sample , 896
ModbusRtuConnect/.git/hooks/post-update.sample , 189
ModbusRtuConnect/.git/hooks/pre-applypatch.sample , 424
ModbusRtuConnect/.git/hooks/pre-commit.sample , 1642
ModbusRtuConnect/.git/hooks/pre-push.sample , 1348
ModbusRtuConnect/.git/hooks/pre-rebase.sample , 4898
ModbusRtuConnect/.git/hooks/pre-receive.sample , 544
ModbusRtuConnect/.git/hooks/prepare-commit-msg.sample , 1239
ModbusRtuConnect/.git/hooks/update.sample , 3610
ModbusRtuConnect/.git/index , 7360
ModbusRtuConnect/.git/info/exclude , 240
ModbusRtuConnect/.git/logs/HEAD , 197
ModbusRtuConnect/.git/logs/refs/heads/master , 197
ModbusRtuConnect/.git/logs/refs/remotes/origin/HEAD , 197
ModbusRtuConnect/.git/objects/pack/pack-e18eee6f6d07a2667bdd53f5531f4e257ed95e28.idx , 4096
ModbusRtuConnect/.git/objects/pack/pack-e18eee6f6d07a2667bdd53f5531f4e257ed95e28.pack , 139479
ModbusRtuConnect/.git/packed-refs , 107
ModbusRtuConnect/.git/refs/heads/master , 41
ModbusRtuConnect/.git/refs/remotes/origin/HEAD , 32
ModbusRtuConnect/.gitignore , 127
ModbusRtuConnect/.gradle/3.3/taskArtifacts/fileHashes.bin , 271669
ModbusRtuConnect/.gradle/3.3/taskArtifacts/fileSnapshots.bin , 608068
ModbusRtuConnect/.gradle/3.3/taskArtifacts/taskArtifacts.bin , 51580
ModbusRtuConnect/.gradle/3.3/taskArtifacts/taskArtifacts.lock , 17
ModbusRtuConnect/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin , 30513
ModbusRtuConnect/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock , 17
ModbusRtuConnect/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin , 20484
ModbusRtuConnect/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock , 17
ModbusRtuConnect/.idea/compiler.xml , 749
ModbusRtuConnect/.idea/copyright/profiles_settings.xml , 76
ModbusRtuConnect/.idea/encodings.xml , 164
ModbusRtuConnect/.idea/gradle.xml , 643
ModbusRtuConnect/.idea/libraries/com_android_support_animated_vector_drawable_25_3_1.xml , 644
ModbusRtuConnect/.idea/libraries/com_android_support_appcompat_v7_25_3_1.xml , 608
ModbusRtuConnect/.idea/libraries/com_android_support_constraint_constraint_layout_1_0_2.xml , 441
ModbusRtuConnect/.idea/libraries/com_android_support_constraint_constraint_layout_solver_1_0_2_jar.xml , 395
ModbusRtuConnect/.idea/libraries/com_android_support_support_annotations_25_3_1_jar.xml , 761
ModbusRtuConnect/.idea/libraries/com_android_support_support_compat_25_3_1.xml , 614
ModbusRtuConnect/.idea/libraries/com_android_support_support_core_ui_25_3_1.xml , 617
ModbusRtuConnect/.idea/libraries/com_android_support_support_core_utils_25_3_1.xml , 626
ModbusRtuConnect/.idea/libraries/com_android_support_support_fragment_25_3_1.xml , 620
ModbusRtuConnect/.idea/libraries/com_android_support_support_media_compat_25_3_1.xml , 632
ModbusRtuConnect/.idea/libraries/com_android_support_support_v4_25_3_1.xml , 424
ModbusRtuConnect/.idea/libraries/com_android_support_support_vector_drawable_25_3_1.xml , 641
ModbusRtuConnect/.idea/libraries/com_github_felHR85_UsbSerial_4_5.xml , 419
ModbusRtuConnect/.idea/misc.xml , 2092
ModbusRtuConnect/.idea/modules.xml , 547
ModbusRtuConnect/.idea/runConfigurations.xml , 575
ModbusRtuConnect/.idea/vcs.xml , 185
ModbusRtuConnect/.idea/workspace.xml , 171891
ModbusRtuConnect/app/.gitignore , 193
ModbusRtuConnect/app/app.iml , 9194
ModbusRtuConnect/app/build/generated/source/buildConfig/androidTest/debug/com/modbusconnect/test/BuildConfig.java , 451
ModbusRtuConnect/app/build/generated/source/buildConfig/debug/com/modbusconnect/BuildConfig.java , 441
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/compat/R.java , 252
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/constraint/R.java , 15438
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/coreui/R.java , 252
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/coreutils/R.java , 255
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/fragment/R.java , 254
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/graphics/drawable/animated/R.java , 272
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/graphics/drawable/R.java , 263
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/mediacompat/R.java , 257
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/v4/R.java , 248
ModbusRtuConnect/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java , 110550
ModbusRtuConnect/app/build/generated/source/r/debug/com/felhr/usbserial/R.java , 249
ModbusRtuConnect/app/build/generated/source/r/debug/com/modbusconnect/R.java , 560069
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-af.json , 15932
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-am.json , 15926
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ar.json , 15934
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-az-rAZ.json , 15348
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-b+sr+Latn.json , 16244
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-be-rBY.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-bg.json , 15938
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-bn-rBD.json , 16118
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-bs-rBA.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ca.json , 15938
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-cs.json , 15934
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-da.json , 15930
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-de.json , 15934
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-el.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-en-rAU.json , 16106
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-en-rGB.json , 16106
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-en-rIN.json , 16106
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-es-rUS.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-es.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-et-rEE.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-eu-rES.json , 16112
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-fa.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-fi.json , 15930
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-fr-rCA.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-fr.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-gl-rES.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-gu-rIN.json , 16110
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-h720dp-v13.json , 986
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-hdpi-v4.json , 1046
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-hi.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-hr.json , 15934
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-hu.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-hy-rAM.json , 16108
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-in.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-is-rIS.json , 16104
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-it.json , 15932
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-iw.json , 15928
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ja.json , 15922
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ka-rGE.json , 16112
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-kk-rKZ.json , 16110
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-km-rKH.json , 16108
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-kn-rIN.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ko.json , 15918
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ky-rKG.json , 16110
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-land.json , 3206
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-large-v4.json , 7032
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ldltr-v21.json , 984
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-lo-rLA.json , 16106
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-lt.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-lv.json , 15938
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-mk-rMK.json , 14592
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ml-rIN.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-mn-rMN.json , 16108
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-mr-rIN.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ms-rMY.json , 16112
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-my-rMM.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-nb.json , 15926
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ne-rNP.json , 16118
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-night-v8.json , 5518
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-nl.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-pa-rIN.json , 16106
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-pl.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-port.json , 962
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-pt-rBR.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-pt-rPT.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-pt.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ro.json , 15940
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ru.json , 15938
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-si-rLK.json , 16112
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sk.json , 15932
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sl.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sq-rAL.json , 16112
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sr.json , 15936
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sv.json , 15934
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sw.json , 15932
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-sw600dp-v13.json , 6324
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-ta-rIN.json , 16114
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-te-rIN.json , 16116
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-th.json , 15932
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-tl.json , 15942
ModbusRtuConnect/app/build/intermediates/blame/res/debug/multi/values-tr.json , 15932
最多只能显示150条信息!
