如何使用通信块FC5/FC6编制通信应用程序?
标签(TAG):FC5/6说明: FC5 ('AG_SEND')和 FC6 ('AG_RECV')通信块的特征 例程介绍 S7 程序包含两个通信块(FC5 'AG_SEND'/FC6'AG_RECV',属于SIMATIC_NET_CP 库)的调用。FC5'AG_SEND'用于给其它S7站点,PC站或第三方系统发送数据。FC6'AG_RECV'用于接收来自其它S7站点,PC站或第三方系统的数据。 首先,新建 S7-300 站的硬件配置。确保标志位10配置为时钟标志位. 发送任务是通过这个时钟标志触发的。保存并编译S7-300站的硬件配置,下载到CPU。 然后,在NetPro里配置上面提到的CPU的一个通信连接。如果通信对象在STEP7项目里配置,就能配置一个特定的通信连接。如果通信对象和S7-300站不在同一STEP7项目里配置,那就配置一个非特定通信连接。配置网络连接时要确保IP 地址和PROFIBUS地址分配正确。同样要确保端口号,TSAP和LSAP分配正确。它们是用来在通信连接中与通信对象区分的独特标识。 通信功能块FC5 'AG_SEND'和 FC6 'AG_RECV'的输入参数'ID'的值可以从STEP 7 通信连接属性对话框的'常规'栏获得。
通信功能块FC5 'AG_SEND'和 FC6 'AG_RECV'的输入参数'LADDR'的值可以从STEP 7 硬件配置界面里工业以太网CP属性对话框的'地址'栏获得。 该值要以十六进制的形式填入通信块: 256(十进制)=100(十六进制)
STEP7程序中包括下述程序块:OB100, OB1, FB200, DB200, DB201,FC5和 FC6。 OB100: OB100是一个启动OB块,在CPU重启(暖启动)时运行一次。第一次通信通过M1.0进行触发。 OB1:
FB200: 输入参数'ID' 和'LADDR'的值必须与NetPro (见图 01)里的通信连接属性对话框一致。FC5的输入参数'SEND'指的是存储被发送数据的数据区域(发送缓冲区)的地址和长度,例如:P#DB201.DBX0.0 BYTE100。 输入参数'LEN'指的是发送的字节数(例如100).。输出参数'DONE','ERROR'和 'STATUS'用于对发送任务的评估,而且只在同一周期有效。
数据发送任务成功完成,'SND_BUSY'参数被复位。接下来可触发一个新的数据发送任务。 如果数据发送任务因出错而中断,,'SND_BUSY'参数被复位,FC5的输出参数 'STATUS'的值被保存做故障分析。
输入参数'ID' 和'LADDR'的值必须与NetPro (见图 01)里的通信连接属性对话框一致。FC5的输入参数'SEND'指的是存储被发送数据的数据区域(发送缓冲区)的地址和长度,例如:P#DB201.DBX100.0 BYTE100。
输出参数'NDR'指示是否已接收到新数据,输出参数 'LEN'则指示接收到的数据长度。 如果数据未成功接收,输出参数值会被保存以备分析。
特别注意: 如果数据交换是通过TCP连接,输出参数'NDR'仅在接收缓冲区完全填满时置位。 您好,欢迎来到启程自动化培训中心,全新课程火爆预约中! ------------------------【点击查看】----------------------- 《S7-200综合班》课时:30天学费:3500 《S7-300专家班》课时:30天学费:4500 《S7-系统集成全科班》课时:60天学费:6800 《Eplan电气系统设计》课时:5天学费:2500 《WinCC系统组态》课时:5天学费:2500 ----------------------------------------------------------- 详细课程情况请点击:http://www.gongkong8.com/course/ 课程咨询电话:0755-85292922QQ:800040685(点击直接交流) 启程为您提供最专业的自动化、PLC、系统技成相关技术的培训。专注只为成就您的高薪!【工控老鬼推荐培训机构】+++++++++++++++++++++++++++++++++++++ 自动化专业技术博客:http://blog.sina.com.cn/wincchome 自动化专业技术微博:http://weibo.com/i/1721143974 |