- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
Modbus协议的ZigBee/工业以太网网关设计
3.2 地址映射[4]
对于ZigBee 设备,有其IEEE 地址和16 位短地址。设计中将ZigBee16 位短地址与Modbus 从站地址绑定,从而实现Modbus 主、从各节点之间地址定向。具体是将一系列Modbus 从 站地址和ZigBee 短地址以配置文件config.txt 下装到FLASH,网关在初始化时,读取配置文件 内容,存储在数组中。数组形式为:
char ModbusZigbee_Addr[ ][3]=
[{ModbusAddr0,shortAdd0H, shortAdd0L},……{ ModbusAddrn,shortAddnH,shortAddnL}]
接收UDP 报文后,读取报文中的Modbus 从站地址,检索数组得到与之匹配的 ModbusAddrx(ModbusAddr0 到ModbusAddrn 中查找),从而读取该从站ZigBee 短地址 shortAddxH、 shortAddxL。该短地址将附加在所接收的UDP 报文之前,一同作为串行通信 口的转发报文。
config.txt 文件中,Modbus 从站地址和ZigBee 短地址在存储时以空格间隔,文件以#结 束。数组的第一维长度在读取文件后确定,定义为Device_Number。检索ZigBee 短地址函 数如下:
int ZigBee_Search(char Modbusaddr)
{int i=0;
For(i=0;i<Device_Number;i++)
{If(Addr[i][0]== ModbusAddr)
return i ;
}
return Device_Number }
Addr[i][1]、Addr[i][2]为对应的ZigBee 短地址。返回值为Device_Number 表示未检索到。
来源:茄紫
上一篇:新一代呼叫中心技术发展展望
下一篇:软交换技术与下一代网络NGN有何区别