Использую программную среду Android Studio, библиотеку jamod, протокол Modbus. Не получается записывать значения несколько бит с помощью WriteMultipleCoilsRequest не могу понять, как для этого формировать и использовать BitVector. Например по 40 адресу у меня 8-ми битовый Coils, его биты нужно записать, подскажите как это сделать? текст программы:
Код:public class My_WriteMultipleCoils extends AsyncTask<Void, Void, Void> { private Exception exception; BitVector bv = new BitVector(8); protected Void doInBackground(Void... Params) { try { addr = InetAddress.getByName(MainActivity.str_adr); int port = Modbus.DEFAULT_PORT; con = new TCPMasterConnection(addr); con.setPort(port); con.connect(); WriteMultipleCoilsRequest m_WriteMultipleCoilsRequest = new WriteMultipleCoilsRequest(); ModbusTCPTransaction m_Transaction = new ModbusTCPTransaction(con); bv.setBit(0,false); bv.setBit(1,false); bv.setBit(2,false); bv.setBit(3,true); bv.setBit(4,true); bv.setBit(5,true); bv.setBit(6,true); bv.setBit(7,true); m_WriteMultipleCoilsRequest.setUnitID(15); m_WriteMultipleCoilsRequest.setReference(40); m_WriteMultipleCoilsRequest.setCoils(bv); m_Transaction.setRequest(m_WriteMultipleCoilsRequest); m_Transaction.execute(); if (con.isConnected()) con.close(); } catch (Exception e) { Log.d("TAG.Log", e.toString()); return null; } return null; }


Ответить с цитированием
