哪位大师可以提供PCS7Library里面Comm分类里的发送接收块的使用说明?跪求!
我的邮箱woowar@126.com
问题补充:
二楼的师兄,首先很感谢你的帮忙,小弟愚笨,看所回答文档比较迷茫,那内容该是某个文档吧,烦请将那文档给小弟发个邮件吧,多谢啊
最佳答案
SEND_R的描述
启动
返回
继续
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
SEND_BO:使用BSEND发送128个BOOLEAN值
SEND_BO:使用BSEND发送128个BOOLEAN值
REC_BO:使用BRCV接收128个BOOLEAN值
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
SEND_R:使用BSEND发送32个BOOL值和32个REAL值(受变化驱使)
SEND_R的描述
SEND_R的I/O
对象名(类型+编号)
应用领域
调用OB
工作原理
错误处理
启动特征
时间响应
消息响应
操作和监视
对象名(类型+编号)
FB209
SEND_R块I/O
应用领域
SEND_R块表示连接SFB12“BSEND”的简单用户接口。
它由变化驱动,并通过MPI、PROFIBUS或工业以太网连接将多达32个BOOL值和32个REAL值发送到另一个S7CPU。该CPU需要调用PCS7库的功能块类型“REC_R”(FB210)才能接收数据。
仅当作业完成后(即收到确认DONE=TRUE后),方可在“REC_R”中得到一致的数据。该确认由输出CIW的信号变为0来指示。
若参数FAST=1,由于FB在内部调用两次SFB12“BSEND”(需要使用其控制输入REQ的上升沿才能启用SFB12),所以FB可通过每次FB调用传送一个消息帧。不过,只有在这两次FB调用之间有充足的时间用于传送消息帧时,才能启动如此频繁的发送请求。
调用OB
这是在其中安装该块的循环中断OB(例如OB35)。
工作原理
该块监视32个BOOL和32个REAL输入的数据,以检测先前被成功发送的数据的变化。在每个变化监视周期中,都会为REAL值(R_xx)设置滞后量HYS_R_xx(绝对值)。HYS_R_xx的默认值为零(无滞后量)。通过EDC_MIN和EDC_MAX参数可锁定或强制数据传送。
在EDC_MIN中,可设置等待实际输入数据的下一个发送请求的周期数,与数据中的任何变化无关。
在EDC_MAX中,可设置上一次传送有效数据到下一次传送实际输入数据之间的等待周期数,与数据中的任何变化或REAL值的变化是否在设定的滞后量范围内无关。
由于“SEND_R”和“REC_R”之间数据传输异步(参见下文),所以基于设定周期数的理论时间无法保证。
内部SFB12“BSEND”允许在通讯伙伴之间交换32个BOOL值和32个REAL值。数据由CPU的操作系统发送到通讯伙伴,并自动输入到接收FB(REC_R)的背景数据块中。在发送新值前,系统等待操作系统传送一个针对刚刚发送的值的内部确认。
调用块时,如果控制输入COM=1,则启动数据传送。要传送所有数据,必须至少调用一次该块(与周期无关)。该块将作业传送给CPU操作系统,以完成作业处理。数据传送期间,允许多次调用具有相同ID和R_ID的块;但这些调用不起任何作用,即该块在每个周期中只能调用一次。而是在STAT处输出值11。从用户存储器读取数据与用户程序执行不同步。如果作业完成无误,则会将CIW设置为0。(如出现错误,则ERR=1。新作业将使用实际数据自动启动,直至所有数据都传送完毕。)如果COM输入=0,将中止所有不完整的数据传送并且不会再继续;CIW相应地被设置为0。
ID参数表示在连接组态中指定的连接号,并只在冷启动后第一次调用时应用。
R_ID参数是一个随机数(建议:消息帧ID);但是,它在相应的发送和接收块中必须相同,并且只在冷启动后第一次调用时应用。
如果参数FAST=1,则可通过每次FB调用传送新的消息帧。这种情况下,FB在内部调用两次SFB12“BSEND”(需要使用其控制输入REQ的上升沿才能启用SFB12)。在每个周期中调用FB可实现每个周期传送一个消息帧。
但是,建议仅在以下情况下如此频繁的发送请求:
在两次FB调用之间有足够的时间来传送消息帧。
接收CPU中“REC_R”的调用速度比发送CPU中“SEND_R”的调用速度快(对于每个消息帧,接收CPU需要调用两次“REC_R”(相当于2个周期))。
如果参数FAST=0,则只有每当第二次调用FB时才能启动新的发送作业。
错误处理
块的错误处理只限于下级SFB12“BSEND”的错误信息。有关介绍ERR和STAT输出的更多信息,请参考手册《S7-300/400系统软件–系统和标准功能》(SystemSoftwareforS7-300/400–SystemandStandardFunctions)。
如出现错误,新的作业将使用实际数据自动启动,直至所有数据都传送完毕。
启动特征
不可用。
时间响应
不可用。
消息响应
不可用。
操作和监视
不可用。
REC_R的描述
启动
返回
继续
SEND_BO:使用BSEND发送128个BOOLEAN值
REC_BO:使用BRCV接收128个BOOLEAN值
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
SEND_R:使用BSEND发送32个BOOL值和32个REAL值(受变化驱使)
SEND_R的描述
SEND_R的I/O
SEND_R的描述
SEND_BO的描述
SEND_BO的描述
对象名(类型+编号)
应用领域
调用OB
工作原理
错误处理
启动特征
时间响应
消息响应
操作和监视
对象名(类型+编号)
FB210
REC_R块I/O
应用领域
REC_R块表示连接SFB13“BRCV”的简单用户接口。
它通过MPI、PROFIBUS或以太网连接从另一个S7CPU接收32个BOOL值和32个REAL值。该CPU需要调用PCS7库的功能块类型“SEND_R”(FB209)才能发送数据。在STEP7中,必须为通讯双方组态同种连接,并将其传送到AS。
仅当完成了作业且输出NDR处有0->1信号跳变后,数据才可用。
调用OB
这是在其中安装该块的循环中断OB(例如OB35)。
工作原理
内部SFB13“BRCV”允许在通讯伙伴之间交换32个BOOL值和32个REAL值。数据由CPU的操作系统接收,并输入到接收FB(REC_R)的背景数据块中。操作系统必须发送已接收数据的内部确认,才能接收新数据。
数据输入到背景数据块与用户程序执行不同步。调用“REC_R”后,只要作业正在进行中(NDR=0),就不会计算背景数据块数据。如果作业完成无误,NDR输出被设置为1,并持续一个周期的时间。在下一个周期中,FB自动向CPU操作系统发出接收使能信号(自该调用起,NDR复位到0)。
接收使能信号比第一个进入接收作业更早生效。在此情况下,由操作系统存储接收使能信号。
ID参数表示在连接组态中指定的连接号,并只在冷启动后第一次调用时应用。
R_ID参数是一个随机数(建议:消息帧ID);但是,它在相应的发送和接收块中必须相同,并且只在冷启动后第一次调用时应用。
必须在每个程序周期内为各个ID/R_ID对调用“REC_R”块(周期性调用,也可通过超时报警调用)。每个消息帧需要调用“REC_R”两次。
ERR(错误)和STAT(状态)输出指示有关SFB13的具体错误信息(请参见“错误处理”)。
如果发生错误,可将替代值作为接收的数据输出。
错误处理
REC_R块的错误处理只限于下级SFB13“BRCV”的错误信息。有关介绍ERR和STAT输出的更多信息,请参考手册《S7-300/400系统软件–系统和标准功能》(SystemSoftwareforS7-300/400–SystemandStandardFunctions)。
如果输入SUBS_ON=TRUE,则在发生接收错误或未收到新数据时,替代值将被输出到REC_MON(周期数)。
启动特征
不可用。
时间响应
不可用。
消息响应
不可用。
操作和监视
不可用。
业以太网连接将多达128个BOOL值发送到另一个S7CPU。该CPU需要调用PCS7库的功能块类型“REC_BO”(FB208)才能接收数据。
仅当作业完成后(即收到确认DONE=TRUE后),方可在“REC_BO”中得到一致的数据。该确认由输出CIW的信号变为0来指示。
若参数FAST=1,由于FB在内部?饔昧酱?SFB12“BSEND”(需要使用其控制输入REQ的上升沿才能启用SFB12),所以FB可通过每次FB调用传送一个消息帧。不过,只有在这两次FB调用之间有充足的时间用于传送消息帧时,才能启动如此频繁的发送请求。
调用OB
这是在其中安装该块的循环中断OB(例如OB35)。
工作原理
内部SFB12“BSEND”允许在通讯伙伴之间交换128个BOOL值。数据由CPU的操作系统发送到通讯伙伴,并自动输入到接收FB(REC_BO)的背景数据块中。在发送任何新的128个BOOL值之前,系统等待操作系统传送一个针对刚刚发送的值的内部确认。
调用块时,如果控制输入COM=1,则启动数据传送。要传送所有数据,必须至少调用一次该块(与周期无关)。该块将作业传送给CPU操作系统,以完成作业处理。数据传送期间,允许多次调用具有相同ID和R_ID的块;但这些调用不起任何作用,即该块在每个周期中只能被调用一次。而是在STAT处输出值11。从用户存储器读取数据与用户程序执行不同步。如果作业完成无误,则会将CIW设置为0。(如出现错误,则ERR=1。新作业将使用实际数据自动启动,直至所有数据都传送完毕。)如果COM输入=0,将中止当前数据传送并且不会再继续;CIW相应地被设置为0。
ID参数表示在连接组态中指定的连接号,并只在冷启动后第一次调用时应用。
R_ID参数是一个随机数(建议:消息帧ID);但是,它在相应的发送和接收块中必须相同,并且只在冷启动后第一次调用时应用。
如果参数FAST=1,则可通过每次FB调用传送新的消息帧。这种情况下,FB在内部调用两次SFB12“BSEND”(需要使用其控制输入REQ的上升沿才能启用SFB12)。在每个周期中调用FB可实现每个周期传送一个消息帧。但是,建议仅在以下情况下如此频繁的发送请求:
在两次FB调用之间有足够的时间来传送消息帧。
接收CPU中“REC_BO”的调用速度比发送CPU中的“SEND_BO”的调用速度快(对于每个消息帧,接收CPU需要调用两次“REC_BO”(相当于2个周期))。
如果参数FAST=0,则只有每当第二次调用FB时才能启动新的发送作业。
错误处理
块的错误处理只限于下级SFB12“BSEND”的错误信息。有关介绍ERR和STAT输出的更多信息,请参考手册《S7-300/400系统软件–系统和标准功能》(SystemSoftwareforS7-300/400–SystemandStandardFunctions)。
如出现错误,新的作业将使用实际数据自动启动,直至所有数据都传送完毕。
REC_BO的描述
启动
返回
继续
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
REC_R:使用BRCV接收32个BOOLEAN值和32个REAL值
SEND_R:使用BSEND发送32个BOOL值和32个REAL值(受变化驱使)
SEND_R的描述
SEND_R的I/O
SEND_R的描述
SEND_BO的描述
SEND_BO的描述
REC_R的描述
SEND_BO的描述
对象名(类型+编号)
应用领域
调用OB
工作原理
错误处理
启动特征
时间响应
消息响应
操作和监视
对象名(类型+编号)
FB208
REC_BO块I/O
应用领域
REC_BO块表示连接SFB13“BRCV”的简单用户接口。
它通过MPI、PROFIBUS或以太网连接从另一个S7CPU接收128个BOOL值。该CPU需要调用PCS7库的功能块类型“SEND_BO”(FB207)才能发送数据。在STEP7中,必须为通讯双方组态同种连接,并将其传送到AS。
仅当完成了作业且输出NDR处有0->1信号跳变后,数据才可用。
调用OB
这是在其中安装该块的循环中断OB(例如OB35)。
工作原理
内部SFB13“BRCV”允许在通讯伙伴之间交换128个BOOL值。数据由CPU的操作系统接收,并输入到接收FB(REC_BO)的背景数据块中。操作系统必须发送已接收数据的内部确认,才能接收新数据。
数据输入到数据块与用户程序执行不同步。调用“REC_BO”后,只要作业正在进行中(NDR=0),就不会计算背景数据块数据。如果作业完成无误,则在一个周期的持续时间内,输出NDR=1。在下一个周期中,FB自动向CPU操作系统发出接收使能信号(自该调用起,NDR复位到0)。
接收使能信号比第一个进入接收作业更早生效。在此情况下,由操作系统存储接收使能信号。
ID参数表示在连接组态中指定的连接号,并只在冷启动后第一次调用时应用。
R_ID参数是一个随机数(建议:消息帧ID);但是,它在相应的发送和接收块中必须相同,并且只在冷启动后第一次调用时应用。
必须在每个程序周期内为各个ID/R_ID对调用“REC_BO”块(周期性调用,也可通过超时报警调用)。每个消息帧需要两次调用“REC_BO”。
ERR(错误)和STAT(状态)输出指示有关SFB13的具体错误信息(请参见“错误处理”)。
如果发生错误,可将替代值作为接收的数据输出。
错误处理
REC_BO块的错误处理只限于下级SFB13“BRCV”的错误信息。有关介绍ERR和STAT输出的更多信息,请参考手册《S7-300/400系统软件–系统和标准功能》(SystemSoftwareforS7-300/400–SystemandStandardFunctions)。
如果输入SUBS_ON=TRUE,则在发生接收错误或未收到新数据时,替代值将被输出到REC_MON(周期数)。
提问者对于答案的评价:
谢谢