西门子6ES322-5HF00-0AB0
1.W#16#100(即256)是硬件组态时PKW 的起始地址
2.将从站数据读入DB1.DBX0.0 开始的8 个字节(P#DB1.DBX0.0 BYTE 8)
PKE -> DB1.DBW0
IND -> DB1.DBW2
PWE1 -> DB1.DBW4 参数值的高字位
PWE2 -> DB1.DBW6 参数值的低字位
3. 将DB1.DBX28.0 开始的8 个字节写入从站(P#DB1.DBX28.0 BYTE 8)
DB1.DBW28 -> PKE
DB1.DBW30 -> IND
参数值的高字位 DB1.DBW32 -> PWE1
参数值的低字位 DB1.DBW34 -> PWE2
注:PKW ,IND 的详细说明见附录
程序举例3 (读参数U001.2)
注:PKW ,IND 的详细说明见附录
1. W#16#100(即256)是硬件组态时PKW 的起始地址
2.将从站数据读入DB1.DBX0.0 开始的8 个字节(P#DB1.DBX0.0 BYTE 8)
PKE -> DB1.DBW0
IND -> DB1.DBW2
PWE1 -> DB1.DBW4 参数值的高字位
PWE2 -> DB1.DBW6 参数值的低字位
3. 将DB1.DBX28.0 开始的8 个字节写入从站(P#DB1.DBX28.0 BYTE 8)
DB1.DBW28 ->PKE
DB1.DBW30 -> IND
参数值的高字位 DB1.DBW32 -> PWE1
参数值的低字位 DB1.DBW34 -> PWE2
注:PKW ,IND 的详细说明见附录
程序举例4(写参数P401.1)
注:PKW ,IND 的详细说明见附录
1. W#16#100( 即256)是硬件组态时PKW 的起始地址
2. 将从站数据读入DB1.DBX0.0 开始的8 个字节(P#DB1.DBX0.0 BYTE 8)
PKE -> DB1.DBW0
IND -> DB1.DBW2
PWE1 -> DB1.DBW4 参数值的高字位
PWE2 -> DB1.DBW6 参数值的低字位
3->将DB1.DBX28.0 开始的8 个字节写入从站(P#DB1.DBX28.0 BYTE 8)
DB1.DBW28 -> PKE
DB1.DBW30 -> IND
参数值的高字位 DB1.DBW32 -> PWE1
参数值的低字位 DB1.DBW34 -> PWE2
注:PKW ,IND 的详细说明见附录
对PZD (过程数据)的读写
说明:
1. 在Step7 中对PZD (过程数据)读写参数时调用SFC14 和SFC15
2. SFC14(“DPRD_DAT")用于读Profibus 从站的数据
3. SFC15(“DPWR_DAT")用于将数据写入Profibus 从站
4. W#16#108(即264)是硬件组态时PZD 的起始地址
5. 对特殊结构的PZD 可用PQW , PIW 进行读写
程序举例5: 对PPO5 中10PZD 的读写
DB1 中与PZD 相对应的数据字
1.在P918 中设置Profibus 地址,必须与Step 7 中设置相同.地址不能重复.
2. 控制字第十位置“1". PZD1 = W#16#X4XX
附录1
西门子6ES7314-1AG14-0AB0参数详细
打开I, Q,可以在里面建立标签变量,双击“New Definition",“Define NewItem"对话框即被打开。可在此定义标签变量与数据类型。注:Datatype、Address、No.Value参数必须定义,No.Value 是指数据长度。定义完成后,点击OK 确认。根据组态中的从站输入输出区,建立好相应的标签变量.
图16.Define New Item
在“Define New Item"中点击确认后,新定义的条目即显示在OPC Navigator的中间窗口。点击“?"就可将此条目移到OPC-Navigator 的右侧窗口,再点击OK 按钮就可将此条目连接到OPCServer..
图17.添加条目到OPC Server
上一步确认后,所定义的条目(Item)即嵌入到OPC Scout 中。如果“Quality"
显示“good",则OPC Server 与变频器的连接已经建立,也就意味着可以对标签变量进行读写操作。
图18.变量连接质量
双击条目的“Value"栏,即可在“Write Value(s) to theItem(s)"窗口中对有关条目进行写操作。
图19.修改变量值
七. 数据传送规则:
本例中组态MM440时选择4个字的PKW和2个字的PZD,对于PKW区数据的访问是同步通讯,即发一条信息,得到返回值后才能发第二条信息。
PKW一般为4个字,定义如下:
PKE:参数表示符 IND:索引 PWE:参数值
A:常用值:1、2、3、6、7、8
其中:1:读请求(无数据分组) 6:读请求(有数据分组)
2:写请求(无数据分组、单字) 7:写请求(有数据分组、单字)
3:写请求(无数据分组、双字) 8:写请求(有数据分组、双字)
PNU:参数号:
当读写0002~1999的参数时,直接将数值转换为十六进制即可;
当读写2000~3999的参数时,将数值减去2000再转换为十六进制
B:数据分组编号,常用值:0、1、2
C:参数选择位,常用值:0、8
当读写0002~1999的参数时,该位为:0
当读写2000~3999的参数时,该位为:8
实例:
读写0002~1999的参数。
如读P0700, 700=2BC(HEX)
PKW输出 =12BC,0000,0000,0000 1为读请求
PKW 输入=12BC,0000,0000,0006 返回1为单字长,值为0006
如读P1082, 1082=43A(HEX)
PKW输出 =143A,0000,0000,0000 1为读请求
PKW 输入=243A,0000,4248,0000 返回2为双字长。
值为42480000(HEX)=50.0(REAL)
如写P1082, 1082=43A(HEX)
PKW输出 =343A,0000,41F0,0000 3为写双字请求
41F00000(HEX)=30.0(REAL)
PKW 输入=243A,0000,41F0,0000 返回2为双字长,确认修改完毕。
2,读写2000~3999的参数。
如读P2010, 10=A(HEX)
PKW输出 =100A,0180,0000,0000
1为读请求; 1 为数组中个参数;8为参数2000~3999;
PKW 输入=100A,0180,0000,0006 返回1为单字长