展开查看
以下是引用Zaxife在2019-03-14 14:10:54的发言 >2楼:呃,看来你接触过上位机通讯太少太少了。
1、触摸屏绝不可能每个周期全部去读取你变量表中建立的所有变量的,那样不仅意义不大反而导致画面数据更新太慢。好比你变量表建立了几万个变量,然后每个画面中只用了几十个变量,如果一直读取所有变量,那么画面更新数据的时间间隔就有可能超过几十秒以上!!!但是,人家做触摸屏的不会这么蠢,人家都是根据画面显示哪些变量就只读写哪些通讯变量,这样可以直接2秒内更新所有数据,用户的体验就是数据是实时更新的。所以,人家触摸屏都是优化通讯的,比如限制一帧数据的长度、比如相邻的几个寄存器就作为一帧读取而不是一个一个读取、比如寄存器地址间隔超过5个以上如果还是按一帧读取帧时间就比单个读取更花时间所以直接分开两帧。
2、要读取浮点数?数据格式是在建立变量时就定义好的,你可以选Int(整数)格式、可以选Float(浮点数)格式,然后通讯时自动根据变量的数据格式读取对应的长度,而不是你想象的不管什么数据都是按寄存器读取!然后这个屏说了,不支持输入寄存器按浮点数格式读取!这是西门子的锅。
3、Modbus RTU 协议规定了,RTU是8位数据位,ASCII是7位数据位。你都选用RTU还想选7位数据位,你这不是没事找抽型?就好比你选了奥迪轿车非得选宝马的发动机,你这不是耍流氓么。
4、至于寄存器地址与通讯变量地址对应问题,这个是西门子的锅,西门子不可能改的啊。至于数据高低字节交换问题,这个也是西门子的锅。人家西门子自会跟你说,你下位机交换字节顺序就是了....你下位机做好地址偏移就好了,我的屏是跟我的PLC集成的,不是跟第三方集成的。所以,你没得选。
5、讲真、这个屏除跟国内的知名品牌比的话完全就不是一个层次的东西,弱到不行不行的。
你答非所问;
你根本就没有用过 WinCC flexible smart 软件配置过 这个 触摸屏smart 700IE V3 ,我要求的是功能码04 ,你给建一个变量类型是浮点数,且功能码为 04的变量表,分享一下;
我们讨论的实现方法,首先是先满足功能再说,我就建一个变量,能够读出来也行,至于每个周期读多少变量,不是本贴考虑的范围(看清楚我只建了三个);
如果,没有实际用过,也不打算解决这种技术问题,建议你可以只看,不回答。