西门子PLC Modbus地址问题原因分析
Modbus地址实际上分为两种情况即plc作Modbus主站,Modbus地址和PLC手册里的地址一与PLC作从站,PLC不用管什么Modbus地址。 Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200SMART/和S7-1200为例来说明: 种情况:PLC作Modbus主站,Modbus地址和PLC手册里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时,要读取从站VW200开始的V存储区时,保持寄存器的地址是40001。 第二种情况:PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。 主站的计算机软件(例如dcs或组态软件)的编程人员需要编写实现Modbus通信的程序,首先需要确定ModbusRTU的报文结构。他们一般不熟悉PLC,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。 容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是专用的组态软件,通过分析GEPLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。 S7PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同类元件的首地址为1。而西门子plc采用的是基于0的地址,即同类元件的首地址为0。Modbus报文中西门子PLC的Modbus地址也采用基于0的地址。 PLC系统手册中的Modbus地址的高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在报文的功能码中了,报文中S7-200的I0.0的Modbus地址不是10001,而是0。报文中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时,VW200对应的保持寄存器在报文中的Modbus地址为0,而不是40001。 |
西门子变频器选型时的注意事项:
1、负载类型和变频器的选择:电动机所带动的负载不一样,对变频器的要求也不一样。
A:是普通的负载:对变频器的要求为简单,只要变频器容量等于电动机容量即可(空压机、深水泵、泥沙泵、快速变化的音乐喷泉需加大容量)。
B:起重机类负载:这类负载的特点是启动时冲击很大,因此要求变频器有一定余量。同时,在重物下放时,会有能量回馈,因此要使用制动单元或采用共用母线方式。
C:不均行负载:有的负载有时轻,有时重,此时应按照重负载的情况来选择变频器容量,例如轧钢机机械、粉碎机械、搅拌机等。
D:大惯性负载:如离心机、冲床、水泥厂的旋转窑,此类负载惯性很大,因此启动时可能会振荡,电动机减速时有能量回馈。应该用容量稍大的变频器来加快启动,避免振荡。配合制动单元回馈电能。
2、长期低速动转,由于电机发热量较高,风扇冷却能力降低,因此必须采用加大减速比的方式或改用6级电机,使电机运转在较高频率附近。
3、变频器安装地点必需符合标准环境的要求,否则易引起故障或缩短使用寿命;与驱动马达之间的距离一般不超过50米,若需更长的距离则需降低载波频率或增加输出电抗器选件才能正常运转。