您的位置 首页 分销

MODBUS通讯总结

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

西门子S7-200PLC在与英威腾变频器Modbus通讯时,选用自己编制主站通讯程序,参照西门子USS程序格局做成库程序,在多个项目上使用,作用仍是不错。

西门子S7-200自在口通讯的确很自在,能够编制任何通讯。

西门子自带的Modbus主站程序,用在变频器操控上,不方便。要求是能向USS库程序相同有多个操控的位信号输入,在速度设定值改动是发送速度值,平常要读变频器的运转状况(包含毛病状况),还想读变频器运转时的电流。所以,自己依据英威腾变频器的通讯协议,编制了Modbus主站通讯程序。

Modbus通讯协议要求:

读写都是8个字节,仅仅功用码的不同和读是读得长度,写是写的数据值

发送

VB1600

VB1601

VB1602

VB1603

VB1604

VB1605

VB1606

VB1607

VB1608

8个字节

发送长度8

从站地址

功用码

数据地址高字节

数据地址低字节

数据字长高字节

数据字长低字节

CRC校验低字节

CRC校验高字节

从上面的通讯结构能够看出:数据地址、字长和CRC都是一个字,其间地址和长度或数据凹凸字节与西门子界说共同,即低地址高字节。CRC不相同,是低地址低字节,与核算机上的界说共同。这点必需留意。

变频器写回来:

承受

VB1609

VB1610

VB1611

VB1612

VB1613

VB1614

VB1615

VB1616

VB1617

8个字节

承受长度8

从站地址

功用码

数据地址高字节

数据地址低字节

数据值 高字节

数据值 低字节

CRC校验低字节

CRC校验高字节

回来与发送时相同,表明通讯数据承受成功,并已履行。

我只需读5个字的参数或1个字的状况,变频器读回来:

承受

VB1609

VB1610

VB1611

VB1612

VW1613

……

VW1621

VB1623

VB1624

N个字节

承受长度n

从站地址

功用码

数据字节字节数

数据1 数值

。。。。。

数据5 数值

CRC校验低字节

CRC校验高字节

读状况回来7个字节,读5个字回来15个字节。

程序要求:界说通讯优先等级是先写,后读。写指令(运转,中止,复位等)发送等级最高,其次是写频率设定。写通讯发送后,判别回来值,确认是否写成功,若写成功则不再写,只需操控状况或频率改动时,再次写。读为一次读变频器状况,一次读当时运转参数,轮番读取。

依据上述要求,确认了以下几个子程序和中止程序:

1. 初始化子程序:对自在口通讯装备波特率、偶校验等

2. 变频器操控子程序:输入运转、中止、复位、地址、频率设定等进口。输出变频器状况、通讯毛病码、当时运转频率、电流等。程序中要依据前次通讯成果判别当时应写仍是读。并宣布XMT通讯指令,注册发送完结中止。

3. CRC校验子程序:运算发送的CRC码。

4. 发送完结中止程序:依据发送的内容,确认承受的长度,封闭承受中止,注册承受完结中止。

5. 承受完结中止程序:判别承受信号是否正常,若不正常送出相应的毛病码。将接收到的正确信号,送入对应暂存区内,供操控子程序输出,封闭承受中止。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/230719.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部