欢迎来到天天文库
浏览记录
ID:40340035
大小:126.01 KB
页数:7页
时间:2019-07-31
《如何给通信模块SFB14和SFB15编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、问题:如何给通信模块SFB14(“GET”)和SFB15(“PUT”)编程,从而实现S7-400上的数据通信?解答:为了在两个S7-400站之间通过在NetPro中组态的一个S7连接进行数据通信,必须在S7程序中调用通信函数。SFB14(“GET”)用于从远程CPU读取数据,SFB15(“PUT”)用于向远程CPU写入数据。
2、·可以跨几个OB1循环运行。·SFB14和SFB15通过输入参数(“REQ”)激活。·任务结束后显示“DONE”、“NDR”或者“ERROR”。样例程序包含一个S7连接,通过该连接,使用SFB14从远程CPU读取数据,使用SFB15向远程CPU写入数据。样例程序的说明项目包含两个S7-500站,它们具有CPU416-2DP和CP443-1,用于在工业以太网上通信。通信基础是两站之间建立的S7连接。如果通过“右键单击>ObjectProperties”打开NetPro中的S7连接属性,则可以看到通
3、信功能块的块参数“ID”。当调用SFB14或SFB15时必须遵守相应的规定,以通过S7连接实现数据通信。图1:S7连接的属性STEP7程序包含块OB100、OB1、FB100、DB100、DB200、DB201、SFB14和SFB15。·OB100OB100是一个启动型OB,并且在CPU重启时运行。在这个OB中,用于触发第一次通信的使能信号是M1.0和M0.1。图2:OB100·OB1OB1被循环地调用。这个OB包含通过M1.0和M0.1对FB100(背景DB:DB100)的调用。一旦FB100
4、运行,M1.0被复位。图3:OB1·FB100FB100在OB1循环中被调用。这个FB包含调用SFB14(“GET”)和SFB15(“PUT”)。当时钟标志M10.6出现一个上升沿并且没有其它作业正在运行时,通过输入参数“REQ”激活FB14。阻止这个函数调用是非常重要的,因为该函数是异步的并且持续好几个循环。持续激活系统函数块而不等待当前作业结束,将导致通信过载。必须使用在NetPro中S7连接的属性对话框中的输入参数“ID”(见图1)。参数“ADDR_1”规定了将从远程CPU读取的数据区域。
5、对于参数“RD_1”,必须指定用于数据读取的数据区域。需要输出参数“NDR”、“ERROR”和“STATUS”用于评估任务,并且仅仅在同一个循环中有效。图4:FB100:调用SFB14如果块运行出现错误,保存块的状态字,用于错误分析。图5:FB100:保存状态字当时钟标志M10.6出现一个上升沿并且没有其它作业正在运行时,通过输入参数“REQ”激活FB15。阻止这个函数调用是非常重要的,因为该函数的行为是异步的并且持续好几个循环。持续激活该函数块而不等待当前作业结束,将导致通信过载。必须使用在N
6、etPro中S7连接的属性对话框中的输入参数“ID”(见图1)。对于参数“ADDR_1”必须指定远程CPU中用于数值写入的数据区域。对于参数“SD_1”,必须指定待发送数据的地址。需要输出参数“DONE”、“ERROR”和“STATUS”用于评估任务,并且仅仅在同一个循环中有效。图6:FB100:调用SFB15如果块运行出现错误,保存块的状态字,用于错误分析。图7:FB100:保存状态字要下载的STEP7项目:STEP7项目包含一个样例程序,用于调用SFB14和SFB15,具有状态评估。是通过S
7、TEP7V5.2创建的。Sample_S7-400_PUT-GET-01.exe(389KB) 把文件“Sample_S7-400_PUT-GET-01.exe”复制到单独的文件夹,双击打开文件。STEP7项目解包,带有全部相关子文件夹。现在可以使用SIMATICManager来打开和处理该项目。
此文档下载收益归作者所有