- {{item.name}}
Rawdata,BSEND/BRCV,AR_SEND使用中的一些常见问题
- 0
- 282
- 7451
前言
如大家所知,在我们通过WinCC与SIMATIC S7自动化系统进行通信时,可以通过“SIMATIC S7 Protoclo Suite”通道,此协议集里有多种网络协议和类型,如“工业以太网,MPI,Name connection,Profibus,TCP/IP等等”这些都是大家使用“SIMATIC S7 Protoclo Suite”时常用的一些方式。但SIMATIC S7 Protocol Suite 还包含一些特殊功能,如通过原始数据变量(RAWDATA)进行数据采集,通过BSEND/BRCV进行原始数据变量的大数量采集(参见下载中心文档A0204),以及通过AR_SEND进行高速数据采集(参见下载中心文档A0109)等。对于详细的步骤,在此不作阐述,可以参见下载中心文档,由于大家在使用过程中产生的一些疑问,以下对一些常见的问题进行一些解析,以便大家更好的使用。
使用Rawdata进行传送数据时,为什么经常所有数据都是0,而有时又能采集到数据?
问:使用Rawdata进行数据的传送时,为什么经常数据是0,而有时正常?
答:可能与设置传输的数据长度有关。虽然Rawdata的最大长度时65535字节,但是当我们使用Rawdata进行传送原始变量数据块时,其数据的传送必须能使用一个PDU(协议数据单元)完整地传送。而SIMATIC S7通常使用的PDU长度是有限制的:
S7-300:240个字节/PDU
S7-400:480个字节/PDU
由于一个PDU还包括了报头和附加信息,减去后可以传送的数据块字节大小为:
S7-300:208个字节/PDU
S7-400:448个字节/PDU
意味着当使用Rawdata 进行数据传送时,一个块只能是208(S7-300)或448(S7-400)字节以内,小于或等于此数据量时,WinCC是可以采集到数据的,如果大于此数据量,则WinCC中无法采集到任何数据,设置数据区长度如图1所示:表示从DB1.DBB0开始的448个字节被传送
图1
在Rawdata,BSEND/BRCV,AR_SEND这三种数据传送方式中,当组态通道连接参数时,哪些需要勾选Send/receive raw data block,具体是起什么作用?
问:Rawdata,BSEND/BRCV,AR_SEND三种数据传送方式,哪些需要勾选Send/receive raw data block,具体作用是什么
答:只有在使用BSEND/BRCV时需要勾选,Rawdata和AR_SEND不需要选择,此选项的应与STEP7在Netpro里建立连接时的参数(如图3) 相匹配
图2
图3
使用BSEND/BRCV做大数据量采集时,什么情况会导致通信无法建立?
问:使用BSEND/BRCV做大数据量采集时,什么情况会导致通信无法建立
答:主要有以下几种情况,
A,检查WinCC中建立连接时的设备名称是否与Set PG/PC Interface中一致,如不一致,则通信不正常,如图4
图4
B,在STEP7中建立Unspecified连接时,需要注意图5中的几个参数。
a, 1默认为勾选,一定得取消此选项,否则通信无法建立。
b, 2此ID号一定要与STEP7程序中编写的BSEND/BRCV中的ID(如图6)一致,否则通信无法建立
c, 3此IP地址要与实际上位机以太网卡IP地址相同,否则通信无法建立
图5
图6
C,注意WinCC中(如图2)和STEP7 Netpro中(如图3)的Connection Resource一定要相同,否则通信无法建立
D,注意STEP7程序中(如图6)和WinCC中(如图7)的R_ID一定要相同,否则通信无法建立
图7
为什么在通过BSEND(SFB12)进行原始数据变量的大数量传送时会在STATUS管脚返回状态25?
问:通过BSEND(SFB12)进行原始数据变量大数据量传送时SFB12的STATUS管脚会返回状态值25
答:因为如果传送数据量比较大的时候,那么传送数据会花费一些时间,上一次调用BSEND传送数据的工作还没有完成,再次调用BSEND时,那么STATUS管脚就会显示的状态25,表示上次传送数据的过程还在继续。所以,当我们再次调用BSEND时应该等上一次调用工作完成,即DONE管脚为1后。
图8
在使用AR_SEND进行高速数据采集时,什么情况会导致通信无法建立?
问:使用AR_SEND进行高速数据采集时,什么情况会导致通信无法建立
答:主要有以下几种情况
A,确保所建立的数据块结构正确,参数赋值无误,详情参考WinCC在线帮助。例如,图9为“一个归档变量,具有等间隔时间标志的数据块结构”
图9
B,注意归档变量的长度,及数据块大小等几个关键参数一定要保持一致。否则通信无法建立,以“一个归档变量,具有等间隔时间标志的数据块结构”为例,注意图9,10,11中的几个传送数据大小的参数必须一致,否则通信无法建立,此处与BSEND有所区别。
图10 初始化数据块长度
图11
使用AR_SEND进行高速数据采集时,WinCC中设置AR_ID和AR_ID Subnumber需要注意什么?
问:使用AR_SEND进行高速数据采集时,WinCC中设置AR_ID和AR_ID Subnumber需要注意什么?
答:如果传送一个归档变量,则只需要AR_ID参数,如果传送多个归档,则需要通过AR_ID Subnumber来区分多个归档变量。
图12
使用AR_SEND采集变量时发现WinCC中时间与实际采集时间有出入,例如“一个归档变量,具有等间隔时间标志的数据块结构”。
问:使用AR_SEND采集变量时,发现WinCC中时间与实际采集时间有出入
答:我们知道,因为使用AR_SEND采集数据时,有多种数据结构,每种采集方式都不尽相同,所以他们也有各自的差别,因此如果我们采集数据过多时,得注意我们的采集方式,他们的数据和采样时间可能会不太一样。我们以“一个归档变量,具有等间隔时间标志的数据块结构”为例子。可以看到,在图14中,当时系统时间为15:44:15,可是WinCC中采集到的数据已经是包含了此时间之后的数据采集时刻。原因是当使用“一个归档变量,具有等间隔时间标志的数据块结构”时,你的触发发送的时刻为第一个数据量采集的时刻,之后的数据按程序里设置的间隔时间累加,所以会出现此情况。
注:如果采集数据过多,而间隔时间设置过大,那么可能会相差比较大的时间。如采集10000个数据,而采集间隔时间为1秒,那么最后一个值的时间标志大概为2小时40分钟以后了。
图13
关键词
Rawdata,BSEND/BRCV,AR_SEND,PDU,通信
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}