资源描述
西门子变频器与PLC通讯时,PLC如何给出控制字和主给定
字体大小:大 | 中 | 小 2010-02-11 12:51 - 阅读:143 - 评论:3
全赖有你
积分:3893
帖子:159
注册:07-02-02
[个人博客] [个人播客]
[加为好友] [发送消息]
工控网曾有过关于主题的文章,很精华,没找到链接,抱歉!下面给您一篇我曾摘自工控网的技术文章:
1.通讯方式的设定:PPO 4,这种方式为0 PKW/6 PZD,输入输出都为6个PZD,(只需要在STEP7里设置,变频器不需要设置);
PROFIBUS的通讯频率在变频器里也不需要设置,PLC方面默认为1.5MB.
在P60=7设置下,设置P53=3,允许CBP(PROFIBUS)操作.
P918.1设置变频器的PROFIBUS地址.
2.设置第一与第二个输入的PZD为PLC给变频器的控制字,其余四个输入PZD这里没有用到.
设置第一与第二个输出的PZD为变频器给PLC的状态字,设置第三个为变频器反馈给PLC的实际输出频率的百分比值,
第四个为变频器反馈给PLC的实际输出电流的百分比值,其余两个输出PZD这里没有用到.
3.PLC给变频器的第一个PZD存储在变频器里的K3001字里.
K3001有16位,从高到底为3115到3100(不是3001.15到3001.00).
变频器的参数P554为1时变频器启动为0时停止,P571控制正转,P572控制反转.
如果把P554设置等于3100,那么K3001的位3100就控制变频器的启动与停止,P571设置等于3101则3101就控制正转,
P572设置等于3102则3102就控制反转.(变频器默认P571与P572都为1时正转,都为0时为停止).
经过这些设置后K3001就是PLC给变频器的第一个控制字.
此时K3001的3100到3115共16位除了位3110控制用途都不是固定的,所以当设置P554设置等于3101时则3101可以控制启动与停止,
P571等于3111时则3111控制正转,等等.
K3001的位3110固定为“控制请求”,这位必须为1变频器才能接受PLC的控制讯号,所以变频器里没有用一个参数对应到这个位,
必须保证PLC发过来第一个字的BIT 10为1.
这里设置为:P554=3100,P571=3101,P572=3102,当PLC发送W#16#0403时(既0000,0100,0000,0011)变频器正转.
4.PLC给变频器的第二个PZD存储在变频器里的K3002字里.
变频器的参数P443存放给定值.
如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字.
PLC发送过来的第二个字的大小为0到16384(十进制),(对应变频器输出的0到100%),当为8192时,变频器输出频率为25Hz.
5.变频器的输出给PLC的第一个PZD字是P734.1,第二个PZD字是P734.2,等等.
要想把PLC接收的第一个PZD用作第一个状态字,需要在变频器里把P734.1=0032(既字K0032),
要想把PLC接收的第二个PZD用作第二个状态字,需要在变频器里把P734.2=0033(既字K0032).
(K0032的BIT 1为1时表示变频器准备好,BIT 2表示变频器运行中,等等.)
(变频器里存贮状态的字为K0032,K0033等字,而变频器发送给PLC的PZD是P734.1,P734.2等)
在变频器里把P734.3=0148,在变频器里把P734.4=0022,则第三个和第四个变频器PZD分别包含实际输出频率的百分比值
和实际输出电流的百分比值
6.程序:(建立DB100,调用SFC14,SFC15,6SE7的地址为512既W#16#200)
A. 读出数据
CALL "DPRD_DAT"
LADDR :=W#16#200
RET_VAL:=MW200
RECORD :=P#DB100.DBX0.0 BYTE 12(读取12个BYTE)
NOP 0
B. 发送数据
CALL "DPWR_DAT"
LADDR :=W#16#200
RECORD :=P#DB100.DBX12.0 BYTE 12(写入12个BYTE)
RET_VAL:=MW210
NOP 0
C. L "DB100".DBW0
T "MW20"
NOP 0
D. L "DB100".DBW2
T "MW22"
NOP 0
则:DB100.DBX 13.0 控制启动与停止;
DB100.DBX 13.1 控制正转;
DB100.DBX 13.2 控制反转;
M21.1 变频器READY;
M21.3 变频器FAULT.
不同的通讯方式有不同的通讯连接
虽然 先前也会一部分,但是 楼主的 详细说明 ,个人感觉 ,还是细致入微的。十分感谢。 至于不同的通信方式 ,有不同的通信连接,主要就是装置对装置的。
走USS协议,RS485,两线制差动,四线制差动。
这些 都是在装置里做了 ,跟 PLC没有关系了。
|
就是在程序里将变频器的地址(硬件组态中)和你要发送和接收的字节对应上,然后再变频器侧输入参数控制字1用于启动,停止等控制。控制字2用于速度给定,关键要将参数与你的DB块中的每个位对应好
正转反转不一定要在P571和P572中设定的
|在PLC程序中,编写PLC对变频器控制字1第十位置1,为实现处理过程数据,变频器本身控制要求。大全有说明。
引用 | 回复
| 管理
| 设为最佳回复
| 2008-12-04 20:17:15 18楼
TO1楼:请问发送的数据是不是应为DB100.DBX0.0读出的数据为#PDB100.DBX任意数的第0位请赐教
则:DB100.DBX 13.0 控制启动与停止;
DB100.DBX 13.1 控制正转;
DB100.DBX 13.2 控制反转;
M21.1 变频器READY;
M21.3 变频器FAULT.
中的dbx13.2的地址在哪,,还是不明白,麻烦楼友急急急
看一下70变频器控制字的定义就知道了,控制字1的第十二位就是反向命令啊,
1:04:31 22楼
yyh117491
DB100.DBX 13.2 控制反转
70装置的控制字1的第12是反向命令
可是在db100中没有dbx13.2这个地址
dbx13.2这个代号该如何解释
DB100.DBX 13.2 控制反转
70装置的控制字1的第12是反向命令
可是在db100中没有dbx13.2这个地址
dbx13.2这个代号该如何解释
地址 名称 类型 初始值 注释
0 CONTROL_WORD1 WORD W#16#0 控制字1
2 SPEED_SET WORD W#16#0 速度给定
4 TENSION_SET WORD W#16#0 张力给定
6 CONTROL_WORD2 WORD W#16#0 控制字2
8 SPACE1 WORD W#16#0
10 SPACE2 WORD W#16#0
12 SPACE3 WORD W#16#0
14 SPACE4 WORD W#16#0
16 SPACE5 WORD W#16#0
18 SPACE6 WORD W#16#0
20 STATUS_ WORD1 WORD W#16#0
22 SPEED_ACTUAL INT 0
24 TENSION_ACTUAL WORD W#16#0
26 STATUS_WORD2 WORD W#16#0
28 SPACE7 ARRAY[0..5]
*2 WORD
=40 END-STRUCT
楼主帮我解释一下,这是我的一个se70装置的db块DB31
在程序里面有一个地址是db31 dbx21.3这是一个装置给plc的故障信号
可是在上面的db块列表里面没有dbx21.3这个地址
上面的db块的地址都是偶数,没有像21 23等这些地址该怎么解释?
还有就是dbx和dbw有什么区别
已经将控制字与状态字拆分出来,可以对照矢量大全看一下就明白了,
db31 dbx21.3对应70装置的状态字1的第三位
那么DB57.DBX27.2对应装置第几个状态字的第几位
能不能把控制字2和状态字2也帮忙拆分一下
程序中用到DB1.DBD64,可是我的DB1块中最高地址是+34.0
DB1 DBD64是什么意思,是不是数据类型不一样
双字的,MOV 就行了.没有必要搞的那么复杂.
db31 dbx21.3对应70装置的状态字1的第三位
那么DB57.DBX27.2对应装置第几个状态字的第几位
能不能把控制字2和状态字2也帮忙拆分一下
程序中用到DB1.DBD64,可是我的DB1块中最高地址是+34.0
DB1 DBD64是什么意思,是不是数据类型不一样
阅读:143 | 顶:0 顶一下 | 评论:3 | 收藏| 打印 |
下一篇:使用通讯方式改变变频器参数方法浅谈 >> <<上一篇:s7 300 故障
文章评论 (共3条)
张海波
西门子变频器中的PZD和PKW这两个术语 PZD---过程数据(PZD)部分,包括控制字,设定值,状态字和实际值。 PKW---参数部分(PKW-参数识别值)用于读,写参数值。 如果需要读写变频器中的某个参数,需要PKW,如果要控制变频器启停/设定频率等就要用PZD。 PZD---过程数据(PZD)部分,包括控制字,设定值,状态字和实际值。 如启动停止信号,速度给定值,实际电流值,速度等。 PKW---参数部分(PKW-参数识别值)用于读,写参数值。如读参数P350的设定值。 例如: 你在硬件组态中插入MASTETDRIVERS CBP2\MC\在组态中选PPO5:PKW I/O各4WORD,PZD I/O各10WORD。那么,在参数中举例如主给定P443=K3002(PZD第二个字),P554(ON/OFF1)=B3100(PZD第一个字的第1位);数据发送P734.1=K32(状态字),P734.2=K151(速度实际值)。
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
展开阅读全文