发表于:2009-07-30 17:46:04
楼主
西门子PLC与台达变频器通过MODBUS RTU协议通讯,PLC做主站,变频器做从站(站址3),用端口1西门子提供的modbus主站库建立程序。现在想读取变频器里面的值(例如电压值),用下面的程序。
问题:读取电压值时,怎么样知道变频器里面电压值的地址,即下面程序段中的40001,这个地址是怎么样得来的?(对应梯形图中的Addr-4001)
STL程序段
LD 读电压:M6.3
= L60.0
LD 读电压:M6.3
EU
= L63.7
LD L60.0
CALL MBUS_MSG_P1:SBR7, L63.7, 3, 0, 40001, 1, &VB236, 读电压完成:M9.0, 执行结果:MB7
LAD程序段
你要看MODBUS的报文,4应该是读数据的功能码,地址是0001.还有变频器的地址应该是个16进制的数据,你编程时要转换成10进制的数据然后加1,再在前面加功能码.