前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过SNMP库读取交换机接口状态

通过SNMP库读取交换机接口状态

作者头像
科控物联
发布2022-03-29 21:38:29
2.8K0
发布2022-03-29 21:38:29
举报
文章被收录于专栏:科控自动化

1 SIMATIC PLC SNMP 库读取交换机接口状态

1.1 SIMATIC PLC SNMP 库

SNMP,简单网络管理协议,是基于UDP/IP的开放以太网协议,通过访问标准的MIB数据库就可以获得网络设备的具体状态信息。

西门子为S7 自带以太网接口的CPU提供了标准的库,可以支持SNMP协议。这样S7 CPU通过指令可以作为SNMP的管理者获得网络节点的信息。

因为SNMP是开放的网络管理协议,绝大多数网络设备都支持,所以功能上具备良好的兼容性;又因为,SNMP规定了公开的MIB数据库,因此可以提供丰富多彩的信息给S7 CPU。

S7 CPU SNMP库的下载和具体使用可以参考以下链接:

https://support.industry.siemens.com/cs/cn/en/view/57249109

1.2 操作步骤

本例中,我们通过在S7-1500 PLC 调用SNMP 指令,来获取其他网络中交换机所有接口的连接状态。

下载SNMP 库后,装载到博途软件全局库,通过拖拽“S7-1X00”到项目中的程序块下,包括了调用的程序块和数据类型会装载到当前项目。

通过使用“SnmpGetBulk”指令,可以批量读取交换机接口状态,该指令只能用于交换机,不支持针对PLC。

首先需要在数据类型中修改“returnValue”对应数组的长度,例如读取对象SCALANCE XC208,8 个接口,则数组长度需要大于等于8。

在DB 中生成“typeParamGetSetBulk”,参数如下。注意确保“connectionID”和“localPort”不要冲突。端口状态的OID 为“1.3.6.1.2.1.2.2.1.8”,适用于所有SCALANCE支持SNMP的设备。

本例中只需要调用一个“SnmpGetBulk”指令,用来批量读取IP:192.168.0.52 的SCALANCE XC208 8个接口状态。

“SnmpGetBulk”指令执行后,通过“returnValue”、“ returnValueLenght”显示读出的数据类型和有效长度。“returnValue[x]”中显示有效数据,数据的含义参考下表。

Return Value type

02

04

41

43

Integer

String

Counter

Timeticks

Return Value

1: Up

2: Down

如下图,SCALANCE XC208交换机的端口P1-P3为UP 状态,其余端口为Down。

如下图,SCALANCE XC208交换机的端口P2 出现了Down。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 SIMATIC PLC SNMP 库
  • 1.2 操作步骤
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档