200用modbus与ABB550变频器通讯

我使用200用modbus与ABB550变频器通讯,不知怎样启停变频器,控制字写什么,写在哪个寄存器,如果用200的指令库怎么写呀。请教各位了。请写的详细一点,谢谢

问题补充:
我想知道具体哪个地址写哪个数据就是起或停,向另外哪个地址写某个数据就是给定速度。也就是下面的例子里,VB300开始都赋啥值呀。

最佳答案

USS 字符帧格式
 USS 的字符传输格式符合 UART 规范,即使用串行异步传输方式。USS 在串行数据总线上的字符传输帧为 11 位长度,包括:

 起始位                数据位            校验位 停止位 
   1          0      1     2     3     4     5     6     7          偶 x 1       1 
              LSB                                             MSB 
 连续的字符帧组成 USS 报文。 在一条报文中,字符帧之间的间隔延时要小于两个字符帧的传输时间(当然这个时间取决于传输速率)。

  S7-200 CPU 的自由口通信模式正好能够支持上述字符帧格式。把 S7-200 的自由口定义为以上字符传输模式,就能通过编程,实现 USS 协议报文的发送和接收。主站控制器的所支持的通信模式必须和所要控制的驱动装置所要求的一致,这是实现 S7-200 和西门子驱动装置通信的基础。

 USS 报文帧格式
 USS 协议的报文简洁可靠,高效灵活。报文由一连串的字符组成,协议中定义了它们的特定功能:

 STX   LGE   ADR    净数据区   BCC 
                                  1. 2. 3. ... n 
 以上每小格代表一个字符(字节)。其中:

 STX: 起始字符,总是 02 h 
 LGE: 报文长度 
 ADR:从站地址及报文类型 
 BCC: BCC 校验符 
 在 ADR 和 BCC 之间的数据字节,称为 USS 的净数据。主站和从站交换的数据都包括在每条报文的净数据区域内。
 净数据区由 PKW 区和 PZD 区组成:

            PKW 区                       PZD 区  
 PKE IND PWE1 PWE2 ... PWEm         PZD1 PZD2 ... PZDn 
 以上每小格代表一个字(两个字节)。 
 PKW: 此区域用于读写参数值、参数定义或参数描述文本,并可修改和报告参数的改变 。其中: 

 
 PKE: 参数 ID。包括代表主站指令和从站响应的信息,以及参数号等 
 IND: 参数索引,主要用于与 PKE 配合定位参数 
 PWEm:参数值数据

 
 PZD: 此区域用于在主站和从站之间传递控制和过程数据。控制参数按设定好的固定格式在主、从站之间对应往返。如: 

 
 PZD1:主站发给从站的控制字/从站返回主站的状态字 
 PZD2: 主站发给从站的给定/从站返回主站的实际反馈 
 PZDn: …… 
 根据传输的数据类型和驱动装置的不同,PKW 和 PZD 区的数据长度都不是固定的,它们可以灵活改变以适应具体的需要。但是,在用于与控制器通信的自动控制任务时,网络上的所有节点都要按相同的设定工作,并且在整个工作过程中不能随意改变。

  Addr      读写从站的数据地址:选择读写的数据类型 
         00001 至 0xxxx                 - 开关量输出 
         10001 至 1xxxx                 - 开关量输入 
         30001 至 3xxxx                 - 模拟量输入 
         40001 至 4xxxx                 - 保持寄存器 
 根据 modbus 通信协议,modbus 数据的地址使用 0xxxx、1xxxx、3xxxx 和 4xxxx 的形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址。在使用 S7-200 的指令库时,modbus 数据地址与 S7-200 的 I/O 和数据存储区地址间有特定的对应关系。

 有些设备表明它支持 modbus RTU 通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定 modbus 站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓“功能码”,如功能 1 指定读取单个/多个数字量输出点的值。

 支持 modbus 协议的设备或软件,使用时用户直接设置或看到的应当是 modbus 数据地址。modbus 地址所访问的数据,是通过各种“功能”读写而来。功能码是 modbus 地址的底层。如果 modbus 通信的一方提供的所谓 modbus 协议只有功能码,则需要注意了解此功能号与 modbus 地址间的对应关系。

 通常 modbus 协议的保持寄存器地址范围在 40001 - 49999 之间。对于多数应用来说已经够了。但有些 modbus 从站把地址映射到保持寄存器区的地址超过 9999 的部分。

 modbus Master 协议库支持超过 9999 的保持寄存器地址。地址范围为 400001 - 465536。只需在调用 MBUS_MSG 子程序时给 Addr 参数赋相应的值即可,如 416768。

  Modubs Master 扩展地址模式仅支持保持寄存器区,不支持其他地址类型。

 

提问者对于答案的评价:
谢谢了,我找到答案了

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc354365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午1:53
下一篇 2021年7月5日 上午1:53

相关推荐

发表回复

登录后才能评论