modbus tcp每秒钟能读写多少个变量

2025-03-22 17:47:03
推荐回答(1个)
回答1:

这要看信道的质量和带宽。先说一种比较高效的通讯架构,前端采用PLC总线挂接TCP模块,采用百兆双绞线信道,通过智能交换机与上位机组网,形成局域网。这样的组网通讯是非常高效的。拿百兆带宽来说,每秒100兆位的数据传输速度,折合成字节是每秒12.5兆字节,一个寄存器两个字节,每秒可以传输625万个寄存器数据。去除MODBUS指令数据,每秒读写600万寄存器不是问题,至于变量,有开关量,也就是线圈,一个变量占用一个二进制位,还有模拟量,整数型占一个寄存器也就是两个字节,浮点和长整型要占用四字节,也就是两个寄存器,再考虑到读写变量是连续读写,还是一个个的读写,平均每秒300万-500万变量应该很轻松。
上述的是百兆局域网,总线TCP模块的效率,这个硬件构架成本是不低的,而实际上,大多采用485总线或者232串口转TCP,受串口限制,效率就会大幅下跌,串口一般是4800波特-119200波特,折合每秒600字节-14900字节,就算TCP带宽再大,串口的速度也跟不上,按照这个指标来算,平均每秒能读写几千变量就不错了。9600常用的速率情况下,也就是每秒600左右变量。