1 SNMP计算网络流量
1.1 组态SNMP OPC服务器 关于SNMP的原理和组态SNMP OPC服务器的具体方法,请参考 《西门子交换机SCALANCE X SNMP管理快速入门》
参考图 1 PROFINET网络拓扑图,其中CPU319-3PN/DP作为IO控制器,通过SCALANCE X208的Port1连接,SCALANCE X208的Port5和Port6相应的连接ET200s和PG/PC,其中PG/PC作为监视站,即SNMP服务器。
(, 下载次数: 2) 上传 点击文件名下载附件 图 1 PROFINET网络拓扑图在Step7中新建一个项目并命名traffic,插入一个S7-300站,然后进行硬件组态,组态参考图 2 S7-300站的硬件组态。设置交换机和ET200S的刷新时间分别为128ms和512ms。 (, 下载次数: 2) 上传 点击文件名下载附件 图 2 S7-300站的硬件组态然后分配设备名并下载Step7项目到CPU中,完成PROFINET通讯。关于PROFINET通讯的具体方法,请参考网上下载中心的《S7-300 PROFINET IO通讯快速入门》, 在Step7中新建的traffic项目中,再插入一个PC站,打开硬件组态,组态OPC server和IE general网卡,双击OPC Server,打开SNMP标签页,然后点击“Edit Plant configuration”按钮,弹出“Edit System configuration”对话框,点击“Find”按钮,弹出“Browse Network”对话框,再点击“Start”按钮,在对话框的右侧出现搜索到的网络节点,点击“<”,把SCALANCE X208和IM151-3PN加入到右侧对话框,点击OK结束。如图 3 浏览网络对话框。 (, 下载次数: 3) 上传 点击文件名下载附件 图 3 浏览网络对话框对于IM151-3PN,由于其两个端口的MIB条目的序号分别是2,3。所以需要重新创建SNMP Profile,具体创建Profile的方法,请参考《西门子交换机SCALANCE X SNMP管理快速入门》。结果如图 4 编辑系统组态对话框。点击OK结束。 (, 下载次数: 3) 上传 点击文件名下载附件 图 4 编辑系统组态对话框组态站组态编辑器,然后下载PC站的组态,注意两者站的名字需要一致。参考图 5 站组态编辑器。 (, 下载次数: 2) 上传 点击文件名下载附件 图 5 站组态编辑器1.2 WinCC作为SNMP OPC客户端 打开WinCC,在变量管理器中加入OPC驱动,然后鼠标右键点击OPC Group,选择“System parameter”,弹出OPC条目管理器,点击\\<LOCAL>,找到本机上的OPC服务器。如图 6 OPC条目管理器。 (, 下载次数: 3) 上传 点击文件名下载附件 图 6 OPC条目管理器点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。 (, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
在Step7中新建一个项目并命名traffic,插入一个S7-300站,然后进行硬件组态,组态参考图 2 S7-300站的硬件组态。设置交换机和ET200S的刷新时间分别为128ms和512ms。
(, 下载次数: 2) 上传 点击文件名下载附件 图 2 S7-300站的硬件组态然后分配设备名并下载Step7项目到CPU中,完成PROFINET通讯。关于PROFINET通讯的具体方法,请参考网上下载中心的《S7-300 PROFINET IO通讯快速入门》, 在Step7中新建的traffic项目中,再插入一个PC站,打开硬件组态,组态OPC server和IE general网卡,双击OPC Server,打开SNMP标签页,然后点击“Edit Plant configuration”按钮,弹出“Edit System configuration”对话框,点击“Find”按钮,弹出“Browse Network”对话框,再点击“Start”按钮,在对话框的右侧出现搜索到的网络节点,点击“<”,把SCALANCE X208和IM151-3PN加入到右侧对话框,点击OK结束。如图 3 浏览网络对话框。 (, 下载次数: 3) 上传 点击文件名下载附件 图 3 浏览网络对话框对于IM151-3PN,由于其两个端口的MIB条目的序号分别是2,3。所以需要重新创建SNMP Profile,具体创建Profile的方法,请参考《西门子交换机SCALANCE X SNMP管理快速入门》。结果如图 4 编辑系统组态对话框。点击OK结束。 (, 下载次数: 3) 上传 点击文件名下载附件 图 4 编辑系统组态对话框组态站组态编辑器,然后下载PC站的组态,注意两者站的名字需要一致。参考图 5 站组态编辑器。 (, 下载次数: 2) 上传 点击文件名下载附件 图 5 站组态编辑器1.2 WinCC作为SNMP OPC客户端 打开WinCC,在变量管理器中加入OPC驱动,然后鼠标右键点击OPC Group,选择“System parameter”,弹出OPC条目管理器,点击\\<LOCAL>,找到本机上的OPC服务器。如图 6 OPC条目管理器。 (, 下载次数: 3) 上传 点击文件名下载附件 图 6 OPC条目管理器点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。 (, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
然后分配设备名并下载Step7项目到CPU中,完成PROFINET通讯。关于PROFINET通讯的具体方法,请参考网上下载中心的《S7-300 PROFINET IO通讯快速入门》,
在Step7中新建的traffic项目中,再插入一个PC站,打开硬件组态,组态OPC server和IE general网卡,双击OPC Server,打开SNMP标签页,然后点击“Edit Plant configuration”按钮,弹出“Edit System configuration”对话框,点击“Find”按钮,弹出“Browse Network”对话框,再点击“Start”按钮,在对话框的右侧出现搜索到的网络节点,点击“<”,把SCALANCE X208和IM151-3PN加入到右侧对话框,点击OK结束。如图 3 浏览网络对话框。
(, 下载次数: 3) 上传 点击文件名下载附件 图 3 浏览网络对话框对于IM151-3PN,由于其两个端口的MIB条目的序号分别是2,3。所以需要重新创建SNMP Profile,具体创建Profile的方法,请参考《西门子交换机SCALANCE X SNMP管理快速入门》。结果如图 4 编辑系统组态对话框。点击OK结束。 (, 下载次数: 3) 上传 点击文件名下载附件 图 4 编辑系统组态对话框组态站组态编辑器,然后下载PC站的组态,注意两者站的名字需要一致。参考图 5 站组态编辑器。 (, 下载次数: 2) 上传 点击文件名下载附件 图 5 站组态编辑器1.2 WinCC作为SNMP OPC客户端 打开WinCC,在变量管理器中加入OPC驱动,然后鼠标右键点击OPC Group,选择“System parameter”,弹出OPC条目管理器,点击\\<LOCAL>,找到本机上的OPC服务器。如图 6 OPC条目管理器。 (, 下载次数: 3) 上传 点击文件名下载附件 图 6 OPC条目管理器点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。 (, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
对于IM151-3PN,由于其两个端口的MIB条目的序号分别是2,3。所以需要重新创建SNMP Profile,具体创建Profile的方法,请参考《西门子交换机SCALANCE X SNMP管理快速入门》。结果如图 4 编辑系统组态对话框。点击OK结束。
(, 下载次数: 3) 上传 点击文件名下载附件 图 4 编辑系统组态对话框组态站组态编辑器,然后下载PC站的组态,注意两者站的名字需要一致。参考图 5 站组态编辑器。 (, 下载次数: 2) 上传 点击文件名下载附件 图 5 站组态编辑器1.2 WinCC作为SNMP OPC客户端 打开WinCC,在变量管理器中加入OPC驱动,然后鼠标右键点击OPC Group,选择“System parameter”,弹出OPC条目管理器,点击\\<LOCAL>,找到本机上的OPC服务器。如图 6 OPC条目管理器。 (, 下载次数: 3) 上传 点击文件名下载附件 图 6 OPC条目管理器点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。 (, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
组态站组态编辑器,然后下载PC站的组态,注意两者站的名字需要一致。参考图 5 站组态编辑器。
(, 下载次数: 2) 上传 点击文件名下载附件 图 5 站组态编辑器1.2 WinCC作为SNMP OPC客户端 打开WinCC,在变量管理器中加入OPC驱动,然后鼠标右键点击OPC Group,选择“System parameter”,弹出OPC条目管理器,点击\\<LOCAL>,找到本机上的OPC服务器。如图 6 OPC条目管理器。 (, 下载次数: 3) 上传 点击文件名下载附件 图 6 OPC条目管理器点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。 (, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
1.2 WinCC作为SNMP OPC客户端 打开WinCC,在变量管理器中加入OPC驱动,然后鼠标右键点击OPC Group,选择“System parameter”,弹出OPC条目管理器,点击\\<LOCAL>,找到本机上的OPC服务器。如图 6 OPC条目管理器。
(, 下载次数: 3) 上传 点击文件名下载附件 图 6 OPC条目管理器点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。 (, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
点击“Browse Server”按钮,弹出OPC.SIMATICNET对话框,选择\SNMPscalance-x208,加入ifInOctets.1和ifOutOctets.1条目到WinCC的变量管理器中。上述的两个条目表示了SCALANCE X208端口1通讯进出的字节数。如图 7 OPC.SIMATICNET对话框。
(, 下载次数: 1) 上传 点击文件名下载附件 图 7 OPC.SIMATICNET对话框同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。 (, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
同样点击\SNMPim151-3pn,加入ifInOctets.2和ifOutOctets.2条目到WinCC的变量管理器中。这两个条目表示了IM151-3PN端口1通讯进出的字节数。最终WinCC的变量管理器中的SNMP变量如图 8 WinCC中OPC.SIMATICNET的SNMP变量。
(, 下载次数: 1) 上传 点击文件名下载附件 图 8 WinCC中OPC.SIMATICNET的SNMP变量打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。 (, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4
打开WinCC的C脚本编辑器,创建一个全局动作,循环周期为5s。根据流量计算规则,即5秒钟字节数量的差值转换为Mbps为单位的流量。使用C脚本计算端口的Rx和Tx的流量。 举例如下: value1=(float)GetTagDWord("ifInOctets_2"); traffic1= (value1-et200s_p1_rx)*8/(5*1000000); SetTagFloat(" et200s_p1_rx",traffic1); value2=(float)GetTagDWord("ifOutOctets_2"); traffic2= (value2-et200s_p1_tx)*8/(5*1000000); SetTagFloat(" et200s_p1_tx",traffic2); 最后在WinCC画面中添加变量显示和产品以及趋势图,运行WinCC。结果如图 9网络设备端口流量显示。
(, 下载次数: 3) 上传 点击文件名下载附件 图 9网络设备端口流量显示 欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4