首先需要明白的是串口的通讯速率是远低于网口,主机在请求RTU设备通常只处理几个寄存器,“存储型网关”就是应用于这种工作环境。
“存储型网关”对主机请求的读取指令进行存储,当主机再次请求或者其他主机请求相同设备(地址码相同)相同寄存器(操作相同)时,网关会使用缓存数据快速响应主机请求,同时网关的串口会以用户配置速率刷新缓存数据,若长时间主机不再(用户配置时间)询问缓存寄存器,网关将会清除该指令留个其他指令,存储型网关缓存区都是有上限的也就意味着存储指令是有上限。
例如:组态王与MCGS组态屏请求同一个温度传感器,网络拓扑如下:
1.数据流:
2.讲解:
主机一发送请求指令,串口服务器记录发送的主机IP与报文标识,查询缓存表是否已经存储若以存储直接组包响应主机请求,否则将指令通过串口发出,传感器收到指令后返回数据;
网关接收到数据对数据进行存储并查询指令请求主机的身份进行组包响应主机请求,若在这一过程中同时收到主机二的请求,网关将通过缓存数据响应主机请求。
3.仿真软件演示(仿真软件配置方法与多主机相同,仅将串口服务器的网关模式改为存储型网关;
在多主机使用该发送规则请求时具有50ms延迟,而存储型网关仅需要10ms以下的回复延时。