西门子plc与ABB510变频器modbus通讯 1,读写变频器的内部参数 2,控制变频器启停,读频率电流 3,设置变频器输出频率 4,配上位机触摸屏学习,简单 有详细注释,简单易懂

先给设备牵个红线(物理接线)

RS485通讯线怼上,西门子CB1241通讯板接ABB的端子。注意A接A+,B接B-,终端电阻该上的时候别抠搜。波特率建议先设9600,调试稳了再飙车。

西门子plc与ABB510变频器modbus通讯 1,读写变频器的内部参数 2,控制变频器启停,读频率电流 3,设置变频器输出频率 4,配上位机触摸屏学习,简单 有详细注释,简单易懂

TIA Portal里整活(程序架构)

// 主程序OB1
CALL "MB_MASTER"  // Modbus主站指令
Mode:=1           // 持续通讯模式
MB_ADDR:=1        // 变频器站号
DATA_ADDR:=%MW100 // 数据交换区
DATA_LEN:=10      // 交换数据长度
ERROR:=#MB_Error  // 错误代码

拿捏变频器参数的骚操作

读参数直接掏03功能码,写参数用06:

// 读取输出电流(参数0305)
CALL "MB_MASTER_READ_HOLD_REG"
REQ:=TRUE         // 触发读取
MB_ADDR:=1        // 从站地址
DATA_ADDR:=16#0305 // 参数地址转十进制773
DATA_PTR:=P#DB1.DBX0.0 WORD 1 // 存到DB1.DBW0
DONE:=#Read_Done  // 完成标志
ERROR:=#Err_Code  // 错误码

让电机蹦迪(启停控制)

启停指令藏在参数0101:

// 写启动命令(1=启动,2=停止)
CALL "MB_MASTER_WRITE_SINGLE_REG"
REQ:=#Start_Cmd   // 来自触摸屏的触发
MB_ADDR:=1
DATA_ADDR:=16#0101
DATA_IN:=1        // 写入值
DONE:=#Write_Done
ERROR:=#Err_Code

调频老中医(频率设定)

// 设置频率到参数0102(单位0.01Hz)
CALL "MB_MASTER_WRITE_SINGLE_REG"
DATA_ADDR:=16#0102
DATA_IN:=3000     // 30.00Hz
// 注意要乘100处理,ABB这货认的是整数

触摸屏速成班(WinCC Basic)

  1. 新建变量关联DB块
  2. 拖个"频率设定"IO域,格式选INT
  3. 启停按钮直接绑定M点
  4. 电流显示用文本列表,后缀自动加个A

踩坑指南:

  • 地址记得16进制转10进制(直接前面加16#)
  • 写参数前先确认P0000=3(开放参数修改)
  • 通讯超时设500ms起步,ABB有时候反射弧长
  • 电流值要除以100,别傻乎乎直接显示原始值

整完这套组合拳,拿万用表量量输出端子,看着电机转起来那刻,比喝冰镇红牛还带劲!下回整个Profinet通讯的活儿,那才叫丝滑~

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐