如何解决Modbus协议-MJK设备-获取设备ID从设备ID
我需要通过TCP侦听器读取差异设备的寄存器值。
要获取寄存器的值,我们需要向具有设备ID的设备请求,在下面的代码中0xF7是硬编码的。
现在我们有500多个设备将连接到我们的端口,那么当它们连接到我们的TCP端口时,是否有任何方法来获取设备ID(slaveID)?
class PriceScreen extends StatefulWidget {
@override
PriceScreenState createState() => PriceScreenState();
}
class PriceScreenState extends State < PriceScreen > {
String selectedCurrency = 'USD';
String selectedGraphType = "1M";
Map < String,String > coinValues = {};
Map < String,double > graphValues = {};
***Future futureData;
bool isWaiting = false;
getData() async {
isWaiting = true;
try {
Map coinData = await CoinData().getCoinData(selectedCurrency);
Map graphData = await GraphData().getGraphData(
selectedCurrency: selectedCurrency,selectedGraphType: selectedGraphType);
isWaiting = false;
setState(() {
coinValues = coinData;
graphValues = graphData;
});
} catch (e) {
print(e);
}
}
@override
void initState() {
super.initState();
***futureData = getData();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Crypto Watcher'),),body: ModalProgressHUD(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,crossAxisAlignment: CrossAxisAlignment.stretch,***child: FutureBuilder(
future: futureData,builder: (context,snapshot) {
if (graphValues.isEmpty) {
return new Container();
} else
print(graphValues);
return Graph(closingTimesAndPrices: graphValues);
}),inAsyncCall: isWaiting,progressIndicator: CircularProgressIndicator(
backgroundColor: Colors.orange,);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。