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日
下一篇 2021年7月5日

相关推荐

  • S7 200PID温度控制

    使用S7 200的PID自整定设计一个水箱恒温系统,PID输出设置为数字量输出(PWM),我想用组态王仿真红框的部分,这个部分要怎样建模呀?并且PID输出和我要的控制量是…

    2017年5月29日
  • s7200 plc与第三方设备自由口485通讯用哪几个针脚

    s7200 plc与第三方设备自由口485通讯用哪几个针脚 问题补充:我就是通过3,8针脚与台达变频器通信不成功,然后使用modscan32模拟软件与电脑通信(加232T…

    SIMATIC S7-200 2020年10月31日
  • S7200smart编程技巧

    我现在用到语音报警,每一个字有30值,如vd1200=1或2或3..30,判断这个每一个值对应一个报警语音提示,如“第1台皮带机1或2或3….30跑偏,请注意检查”,这…

    SIMATIC S7-200 2021年7月5日
  • Smart 200运动控制的电动速度修改问题。

    本人新手一位,用Smart200运动控制控制一台步进电机,在昆仑通态人机界面上实现控制启停、方向设定、速度设定、位置读取及正反向点动控制。但怎么弄都无法实现在人机界面上实现修改点动…

    SIMATIC S7-200 2021年7月5日
  • 气瓶没气时的报警

    我充的是正气压,想做气瓶没气的提示报警,不知道是用时间来控制还是用气压传感器来控制,请高手给个思路,另外我想报警提示,在手动和自动中都能给提示。是要做个子程序吗?直接SM0.0接报…

    SIMATIC S7-200 2021年7月5日
  • step7 microwin sp9

    一个奇怪的问题,本机装有step7 v5.5和step7 microwin sp9,以前用USB-PPI和s7-200通讯正常,后来由于各种软件原因,…

    SIMATIC S7-200 2017年8月15日
  • 为什么RS232串口容易烧?

    为什么RS232不能热插拔? PC(RS232串口)--PC/PPI--S7-200 尤其是这种连接方式! 问题补充:关于RS232口会烧的问题,我也查过相关资…

    SIMATIC S7-200 2021年7月5日
  • 200 AI输入与AO输出

    各位,以前没用过西门子200。所以有些问题想求证下。我的CPU是224,不是xp也不是CN。 温度探测是PT100,需要接EM231模块, 但现在不用该模块,而…

    SIMATIC S7-200 2021年7月4日
  • 请教关于200程序实现分频

    LD     I0.0 LPS EU S     …

    SIMATIC S7-200 2021年7月5日
  • 电脑通过USB适配器与S7 200PLC通讯出现错误

    电脑与PLC通过USB适配器连接后,打开 STEP 7 MicroWIN SP6软件,点击下载PLC程序按钮,出现提示通讯错误,但是点击通讯…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论