• 西门子S7-200 PLC与英威腾变频器实现Modbus通讯

    在与英威腾(INVT)变频器Modbus通讯时,采用自己编制主站通讯程序,参照西门子USS程序格式做成库程序,在多个项目上应用,效果还是不错。

    S7-200自由口通讯确实很自由,可以编制任何通讯。

    西门子自带的Modbus主站程序,用在变频器控制上,不方便。要求是能向USS库程序一样有多个控制的位信号输入,在速度设定值变化是发送速度值,平时要读变频器的运行状态(包括故障状态),还想读变频器运行时的电流。于是,自己根据英威腾变频器的通讯协议,编制了Modbus主站通讯程序。

    Modbus通讯协议要求:

    读写都是8个字节,只是功能码的不同和读是读得字长度,写是要写入的数据值

    发送 VB1600 VB1601 VB1602 VB1603 VB1604 VB1605 VB1606 VB1607 VB1608

    8个字节 发送长度8 从站地址 功能码 数据地址高字节 数据地址低字节 数据字长高字节 数据字长低字节 CRC校验低字节 CRC校验高字节

    从上面的通讯结构可以看出:数据地址、字长和CRC都是一个字,其中地址和长度或数据高低字节与西门子定义一致,即低地址高字节。CRC不一样,是低地址低字节,与计算机上的定义一致。这点必需注意。