6se70 与s7-300通讯采用ppo 2, 调用SFC14、sfc15,它们的背景数据块怎样建立?是否数据块中的每一个数据位都需要手动定义?
最佳答案
数据块你要自己建立(共享而非背景数据块),根据你的ppo2来建立(4pkw/6pzd),一般你可以把它分成读和写两部分
比如随便建立个db100,数据块的地址与你6es70从站的pkw、pzd数据相对应,(ppo2是4个pkw,6个pzd)
0.0 pke_r word
2.0 ind_r word
4.0 pke1_r word
6.0 pke2_r word
8.0 pzd1_r word
10.0 pzd2_r word
12.0 pzd3_r word
14.0 pzd4_r word
16.0 pzd5_r word
18.0 pzd6_r word
20.0 pke_w word
....
38.0 pzd6_w word
当然你的数据块中的数据要根据你的实际情况来决定
读pzd程序语言如下:
CALL "DPRD_DAT" SFC14
LADDR :=W#16#108 //硬件组态变频器PZD输入起始地址264
RET_VAL:=MW200 //程序块的返回值
RECORD :=P#DB100.DBX8.0 BYTE 12 //数据块中与PZD对应的数据存放位置
读pkw的程序(比如读P0700参数)
则你需对你的pkw进行附值(根据读p700)
Plc PKW输出 62BC 0000 0000 0000 (A=6(读是6),PNU=2BC即10进制700,)
L W#16#62BC
T DB100.DBW0
L W#16#0
T DB100.DBW2
CALL "DPRD_DAT" SFC14
LADDR :=W#16#100 //硬件组态变频器PZD输入起始地址256
RET_VAL:=MW200 //程序块的返回值
RECORD :=P#DB100.DBX0.0 BYTE 8 //数据块中与pkw对应的数据存放位置
NOP 0
其他写也一样
提问者对于答案的评价:
非常感谢楼上的两位。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc203264.html