如果仪器支持modbus,厂家应该给出一个地址表,说明仪器中的数据的位置,比如40001地址是电压,诸如此类。拿到仪器的地址表,还需要知道仪器的通讯设置,比如RTU格式,9600,8E1,等等。
知道以上这些信息,找一个arduino的modbus主机协议栈,连接到你的应用程序中,配置好。
主程序中,用协议栈的API读取40001地址就可以得到仪器的电压。
主机不能随意的往从机中发送数据,必须是往确定存在的地址里写,或者读确定存在的地址,如果仪器中没有说明40001地址是存在的,读写这个地址会出错。
arduino 有开源的modbus 协议栈,百度直接搜索就能找到。
Arduino通过TTL转RS232 扩展板(RS232 shield)或TTL转RS485 扩展板(RS485 shield)与WinView触摸屏的串口或485口相连,进行数据通讯。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)