|
桑荣DTU连接西门子200,分别通过PPI和MODBUS两种方式连接。其中用MODBUS方式连接有几点需要注意:
第一、在dtu设置中,要注意串口设置,由于我先用ppi方式进行的连接,再用modbus连接,串口设置忘了把8E1改成8N1,导致dtu一直登录不上。还有一点必须死记,这个错误我都犯两次了,就是桑荣的设备ID号码是八位的,以前用宏电的用习惯了,总是习惯的写成11位的手机号。不过我个人比较喜欢桑荣,因为桑荣设计很合理,DTU断电不用去拔插座,直接坐着就可以操作,不像宏电,每次都要蹲下去拔插座。还有就是桑荣的技术支持特别好。

第二、西门子用modbus rtu驱动连接,其中01号命令对应Q输出,偏移是1,则对应Q0.0,依次类推。如果要用03号命令读取,则要注意地址偏移,按照咱们驱动帮助,地址偏移1的高8位对应VB0,低8位对应VB1,因此,一个偏移对应两个偏移区,例如VB33对应的就是地址偏移17的低8位。得出如下结论:偶数的偏移是除2加1,奇数的偏移是加1除2;奇数对应的都是低8位,偶数对应的都是高8位。如果要读32位浮点数,地址偏移也是如此,譬如我读VW10里的5.55,那地址偏移就应该写6,在读取类型上选择:32位IEEE浮点数。

第三、modbus分配的地址:MaxHold——最大保持寄存器区、与库存储区的地址不能重叠,例如在咱们帮助中MaxHold分配的是100,库存储区从VB250开始,这样是正确的。需要注意的是,西门子MaxHold是按字分配的,而vb250是字节,也就是说,VBXX> MaxHold*2。
|
|