我用西门子200的cpu,具体型号是226,port0做modbus从站通讯。
程序在附件中,不知道大家能不能看到?
测试时用modscan做主站,可以读取VB0开始的所有寄存器数据。
但是我用modscan往VD300中写入一个实数,也就是浮点数的时候,地址与西门子地址换算不一致。VD300按照西门子modbus地址换算后应该是40151,40152,。我在40151写入3.0,实际上监视PLC状态表可以发现,VD300的数还是零。而我将数据格式均改为整数时,在40152中写2222,40151中写1111时状态表监视VD300与实际写入时一致。但写实数时(申明数据格式我都是一致的),需要再40150中写3.0,VD300才显示为3.0
我又测试了VD100,与这个一样,需要写到40050中才行。
这是怎么回事?有朋友解答一下吧~谢谢
楼主最近还看过