- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样使用通讯功能块FC50和FC60编程全解
怎样使用通讯功能块 FC50 和 FC60 编程? 显示订货号
说明:
使用下面的连接通信,必须在S7-400的S7程序中调用通信功能块 FC50 AG_LSEND?和 FC60 AG_LRECV 。
TCP?连接
ISO-on-TCP 连接 (RFC 1006)
ISO? 传输连接
UDP 连接
FDL 连接
通讯功能块?FC50 “AG_LSEND”?和 FC60 “AG_LRECV”的特点
FC50?和 FC60 是异步通讯功能块。
FC50?和 FC60?的运行需要几个 OB1?周期。
FC50?由输入参数 ACT 使能。
通讯任务结束由?“DONE”?或 “ERROR”指示。
AG_LSEND?和 AG_LRECV?可以通过同一个连接同时通讯。
最新版本的功能块 FC50 AG_LSEND ?和 FC60 AG_LRCV? 可以在? SIMATIC_NET_CP?库CP 400 Blocks 里找到。
例程说明S7 程序包含来自 SIMATIC_NET_CP 库的通讯功能块?FC50 “AG_LSEND”和 FC60 “AG_LRECV”的调用。 FC50 “AG_LSEND”用于发送数据到 S7 或 S5 站,PC 或者第三方系统。FC60 “AG_LRECV”?用于接收来自 S7?或 S5 站,PC站或第三方系统的数据。例程中通讯功能块?FC50 AG_LSEND?和 FC60 AG_LRCV?用于 ISO-on-TCP 连接的通讯。
首先创建 S7-400 站的硬件配置。
注意:将 MB10 配置为时钟标志。发送任务由该时钟标志触发。保存并编译 S7-400 站的硬件组态并装载到 CPU。例程中用到了定时器 T10 。
然后在 NetPro 中为 CPU 配置上面提到的通讯连接。如果通讯伙伴也在该 STEP7 项目中一起配置,可以配置一个指定的通讯连接。如果通讯伙伴没有与 S7-400 站在同一个 STEP7 项目下,可以配置一个未指定的通讯连接。配置通讯连接时,确认 IP 地址和 Profibus 地址已经正确分配。 同样,确认 PORT,TSAP,LSAP 已经正确分配。这些 用于识别通讯伙伴间的通讯连接。
FC50 “AG_LSEND”和 FC60 “AG_LRECV”的输入参数“ID”和“LADDR”必须被指定。该参数在通讯连接的属性对话框“常规”选项卡中设置。
图. 01
STEP7?的程序由块?OB100, OB1, FB200, DB200, DB201, FC50?和 FC60 组成。?
OB100:OB100 是启动组织块,当 CPU 重新启动(暖启动)时运行。在这个组织块中通过 M1.0 使能第一次通讯触发器。
OB1:OB1 循环组织块。在这个组织块中调用 FB200? (背景数据块:DB200) ,使用 M1.0?作为参数 (INIT_COM)。FB200一旦执行则复位 M1.0。
图. 02
FB200FB200 在 OB1 中调用。在 FB200 中调用了? FC50 “AG_LSEND”?和 FC60 “AG_LRECV”。 在FC50 的输入参数“ACT”得到一个上升沿后触发发送任务。 时钟标志位 M10.7 和 “SND_BUSY”参数控制发送任务的触发。当发送任务正在执行时,“SND_BUSY”被置位 ,此时不能触发新的发送任务。
接收请求的触发由变量 RCV_DISABLE控制,其值等于 FALSE,所以 FC50 AG_LRCV 总是准备接收数据,这样数据 可以在任何时候都被接收。?
由于功能块的执行是异步的,并可以持续几个周期,所以“锁定”功能尤其重要。如果不等待第一个发送工作成功完成或出错终止就不间断的触发新的发送任务会引起通讯过载。
输入参数?“ID”?和 “LADDR”的值必须取自 NetPro中通讯连接的属性对话框(参见 图01)。需要为 FC50 的?“SEND”输入参数指定包含将要发送数据的数据区地址和长度(发送缓冲区), 例如: P#DB201.DBX0.0 BYTE 100。在“LEN”输入参数中键入要发送的字节数,本例中是100。
输出参数 “DONE”, “ERROR”?和 “STATUS”用于任务评估,并且只在同一个周期内有效。?
图. 03
图. 04
当发送任务成功完成后,“SND_BUSY”?被复位。?然后可以触发下一个发送任务。
图. 05
如果发送任务出错终止,“SND_BUSY”?也会被复位?,FC50?输出参数?“STATUS”的值被保存用于故障分析。
如果?“STATUS”输出参数的值是 0x7000Hex?(28672Dec),FC50 “AG_LSEND”再次被调用。
图. 06
如果输出参
您可能关注的文档
最近下载
- 2024年全国“红旗杯”班组长大赛(复赛)备考试题库(简答、案例分析题).docx VIP
- Java_vue基于Spring Boot 在线音乐网站的设计与实现毕业论文.docx
- 水银血压计使用方法.ppt VIP
- 钻井常识200问重点.doc VIP
- 全国教育硕士专业学位研究生联合培养示范基地申报表.pdf VIP
- UI设计(拓展) UI界面设计的常用方法 ui界面设计2-UI设计的常用方法.ppt VIP
- 国家开放大学人力资源管理《人员招聘与培训实务》形考任务1-4参考答案.docx VIP
- 安徽省铜陵市第十中学2024-2025学年七年级上学期期中语文试题(原卷版).docx VIP
- 2025《几何画板在初中数学教学中常见运用案例分析》2300字.docx
- 汽车底盘构造与维修 任务工单 3任务1任务工单 ok.doc VIP
文档评论(0)