如何使用通信块FC5/FC6编制通信应用程序?

标签:
s7-300工控老鬼启程自动化培训深圳plc培训 |
分类: 启程PLC培训 |
如何使用通信块FC5/FC6编制通信应用程序?
说明:
FC5 ('AG_SEND')
例程介绍
首先,新建 S7-300 站的硬件配置。确保标志位10配置为时钟标志位. 发送任务是通过这个时钟标志触发的。保存并编译S7-300 站的硬件配置,下载到CPU。
然后,在NetPro里配置上面提到的CPU的一个通信连接。如果通信对象在STEP
7项目里配置,就能配置一个特定的通信连接。如果通信对象和S7-300站不在同一STEP
7项目里配置,那就配置一个非特定通信连接。配置网络连接时要确保IP 地址和PROFIBUS
地址分配正确。同样要确保端口号,TSAP
通信功能块FC5 'AG_SEND'
http://support.automation.siemens.com/CN/llisapi.dll/csfetch/17853532/NET_Beispiel_FC5_FC6_01.gif
通信功能块FC5 'AG_SEND' 该值要以十六进制的形式填入通信块: 256(十进制)=100(十六进制)
http://support.automation.siemens.com/CN/llisapi.dll/csfetch/17853532/NET_Beispiel_FC5_FC6_02.gif
STEP7程序中包括下述程序块:OB100, OB1, FB200, DB200, DB201,
FC5 OB100: OB100是一个启动OB块,在CPU重启(暖启动)时运行一次。第一次通信通过M1.0进行触发。
OB1:
http://support.automation.siemens.com/CN/llisapi.dll/csfetch/17853532/NET_Beispiel_FC5_FC6_03.gif
FB200:
输入参数'ID' 和'LADDR'的值必须与NetPro (见图 01)里的通信连接属性对话框一致。
FC5的输入参数'SEND'指的是存储被发送数据的数据区域(发送缓冲区)的地址和长度,例如:P#DB201.DBX0.0 BYTE
100。 输入参数'LEN'指的是发送的字节数(例如100).。输出参数'DONE',
'ERROR'
http://support.automation.siemens.com/CN/llisapi.dll/csfetch/17853532/NET_Beispiel_FC5_FC6_04.gif 数据发送任务成功完成,'SND_BUSY'参数被复位。接下来可触发一个新的数据发送任务。 如果数据发送任务因出错而中断,,'SND_BUSY'参数被复位,FC5的输出参数 'STATUS'的值被保存做故障分析。
http://support.automation.siemens.com/CN/llisapi.dll/csfetch/17853532/NET_Beispiel_FC5_FC6_05.gif 输入参数'ID' 和'LADDR'的值必须与NetPro (见图 01)里的通信连接属性对话框一致。 FC5的输入参数'SEND'指的是存储被发送数据的数据区域(发送缓冲区)的地址和长度,例如:P#DB201.DBX100.0 BYTE 100。
http://support.automation.siemens.com/CN/llisapi.dll/csfetch/17853532/NET_Beispiel_FC5_FC6_06.gif 输出参数'NDR'指示是否已接收到新数据,输出参数 'LEN'则指示接收到的数据长度。 如果数据未成功接收,输出参数值会被保存以备分析。
特别注意:
如果数据交换是通过TCP连接,输出参数'NDR'仅在接收缓冲区完全填满时置位。 您好,欢迎来到启程自动化培训中心,全新课程火爆预约中! ------------------------【点击查看】----------------------- ----------------------------------------------------------- 详细课程情况请点击:http://www.gongkong8.com/course/
课程咨询电话:0755-85292922
启程为您提供最专业的自动化、PLC、系统技成相关技术的培训。专注只为成就您的高薪!【工控老鬼推荐培训机构】
+++++++++++++++++++++++++++++++++++++ 自动化专业技术博客:http://blog.sina.com.cn/wincchome 自动化专业技术微博:http://weibo.com/i/1721143974 |