回复:求300编程DP通讯控制ABBACS800变频器!

Lee2219

  • 帖子

    89
  • 精华

    3
  • 被关注

    3

论坛等级:侠士

注册时间:2007-11-20

普通 普通 如何晋级?

发布于 2014-05-17 19:40:18

1楼

给你个方式参考下:
1.建立一个共享DB块,比如DB1. 在里面定义控制字,给定,状态字,转速等地址,比如控制字DB1.DBW2,转速给定DB1.DBW4,扭矩给定DB1.DBW6等等(共6个字12个字节);状态字DB1.DBW14,实际转速DB1.DBW16等等。
2.建立一个功能FC块,比如FC1,在里面写S7-300与变频器的通讯程序:
CALL SFC14 // (读功能)
LADDR:W#16#100 // 组态中的变频器PZD字起始地址(100为256的16进制)
RET_VAL: DB1.DBW20 // 返回值 (随便定义一个地址,但不要和前面的读写地址冲突,也可以用MW)
RECORD: P#DB1.DBW14 BYTE12 //从DB1.DBW14开始读变频器发送过来的值,共6个字12个字节。

CALL SFC15 // (写功能)
LADDR: W#16#100
RECORD: P#DB1.DBW2 BYTE12 // 从DB1.DBW2开始往变频器中写入值,共6个字12个字节。
RET_VAL: DB1.DBW22
至此,变频器与PLC的通讯程序完成。

3.开始写变频器的启停,给定控制程序:
变频器启停: 往DB1.DBW2中写入:47F(启动),47E(停止)。
如: A I0.0 // 变频器启动
AN I0.1 //变频器停止
A I0.2 // 给定是否在零位
L W#16#47F
T DB1.DBW2
变频器速度给定: 往 DB1.DBW4中写入速度给定值。
如: L PIW256 // 外部速度给定值
ITD // 整数转换成双整数
DTR // 双整数转换成实数
L 一个浮点数
/R
T DB1.DBW4
以上就基本上完成了PLC与变频器之间的通讯与控制,至于具体的控制逻辑,根据你的工艺要求来完成。
三思而后行
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。