当前位置:首页 > 工业控制 > 工业控制
[导读] 互联网技术成本低廉、灵活性强,在很多领域都有着广泛的应用前景。其在工业自动化领域的应用一直是一个研究热点。SNMP(简单网络管理)协议是一种被广泛应用的互联网设备管理协议,其最大的特点就是成本低廉,容易实现

 互联网技术成本低廉、灵活性强,在很多领域都有着广泛的应用前景。其在工业自动化领域的应用一直是一个研究热点。SNMP(简单网络管理)协议是一种被广泛应用的互联网设备管理协议,其最大的特点就是成本低廉,容易实现。SNMP协议可以管理大部分符合Internet标准的设备。通过添加新的被管对象,可以非常方便地扩展其管理能力。即使在被管设备发生严重的错误时,协议本身的特点也促使其不会影响管理者的正常工作。

本文介绍一种基于AT91SAM9260工控机平台的SNMP协议实现方法,通过开发能在AT91SAM9260工控机平台上运行的SNMP Agent(SNMP代理),并扩展其MIB(管理信息)库,实现在互联网上管理工控机本身和与工控机通过其他通信协议连接的设备资源。

1 SNMP(简单网络管理)协议介绍

1.1 SNMP协议概述

SNMP协议是一种基于TCP/IP协议的应用层网络管理标准,被广泛应用于管理互联网上众多厂家的软硬件平台。SNMP协议的模型如图1所示,其中管理应用通过发送Get、Set、GetNext、GetResponse和Event这五种类型的消息来读取或设置被管设备的MIB库,实现对被管设备的管理。

SNMP协议作为应用层协议,通过用户数据报协议(UDP)来实现管理信息在互联网上的传输,相对于TCP协议,UDP这种无连接的通信方式,不但加强了SNMP协议的稳定性,而且提高了SNMP协议的运行效率。

1.2 MIB(管理信息)库

MIB库是管理站可以通过SNMP协议访问的被管理对象的集合。MIB描述了被管理对象能够为管理者提供哪些管理信息以及这些信息之间的关系。MIB使用ASN.1描述语言对对象进行描述。ASN.1使被描述对象在逻辑上形成树形结构(如图2),这样管理站就可以很方便地访问到MIB库中各个节点的信息。ASN.1描述语言也提供了基本编码规则(BER),使MIB库中数据按规则转换为串行字节流在网络上传输。

2 开发环境介绍

2.1 AT91SAM9260工控机

本文使用的AT91SAM9260工控机是一套基于ARM926EJ-S核心的嵌入式工控机系统,处理器采用ATMEL公司的AT91SAM9260,210 MHz,230MIPs。存储器包括64MB NandFlash,64MB SDRAM,2MB NorFlash。网络(Ether-net)单元为一个10/100M网络。操作系统为2.6.19内核的嵌入式linux。该设备的软硬件平台是完全满足SNMP协议的开发需求的。

2.2 net-snmp开发包

net-snmp开发包是由加州大学戴维斯分校(University ofCalifonia,Davis)开发并维护的可在linux系统下使用的SNMP协议开发程序。本文使用的是net-snmp-5.4.4版本,其组成内容主要包括:

1)可扩展SNMP Agent程序(snmpd)开发库;

2)几个用于设置SNMP代理变量的管理端命令(snmpget,snmpset,snmpwalk等);

3)将MIB文件转换成C语言程序用于MIB库扩展的mib2c工具;等等。

3 SNMP协议实现

3.1 交叉编译环境搭建

由于AT91SAM9260工控机平台上的嵌入式linux系统运行能力有限,需要在电脑上搭建net-snmp的交叉编译环境。电脑的操作系统选用的是fedora 8,交叉编译工具选用的是AT91SAM9260工控机开发包自带的armv51-linux-gcc.tar.bz2交叉编译器。

交叉编译环境搭建好以后,将net-snmp-5.4.4.tar.gz开发包拷贝到fedora 8系统的/usr/local/src文件夹下,打开fedora 8下终端(terminal)程序,运行“tar-zxvf net-snmp-5.4.4.tar.gz/work”、“cob/work/net-snmp-5.4.4”,就到达net-snmp-5.4.4的源码所在的文件夹“/work/net-snmp-5.4.4”中了。

交叉开发环境搭建好以后,就可以开始在工控机上实现SNMP协议的开发了。开发过程主要分为以下两个部分:

1)开发出能在AT91SAM9260工控机上运行的SNMPAgent程序(即snmpd程序);

2)通过net-snmp开发包提供的工具,扩展MIB库。

3.2 SNMP Agent开发

在使用net-snmp开发包编译smnpd程序之前,要对编译选项进行配置。继续在fedora 8下运行“./configure-with-cc=armv51-linux-gcc-with-ar=armv51-linux-ar-enable-mini-agent-with-endianness=little-enable-mini-agent-disable-ipv6-disable-snmptrapd-subagent”,此命令主要是对交叉编译器,目标机大小端,代理的编译模式进行配置。各配置选项的具体含义可以运行“./configure-help”查看。

配置完net-snmp编译选项后可以进行静态编译,运行“make LDFLAGS=”-static””,编译得到snmpd。将snmpd拷贝到工控机操作系统的/usr/sbin目录下,并在工控机操作系统终端下运行“ehmod u+x snmpd”,更改snmpd的权限。

要在工控机操作系统下运行SNMP Agent程序,还需要配置snmpd.conf文件。使用电脑上路径“/work/net-snmp-5.4.4/EXAMPLE.conf”的文件作为测试范本,将其拷贝成工控机“/usr/loeal/share/snmp/snmpd.cord”文件,将其中的community设置修改为以下内容:

#sec.name source community

com2sec local loealhost public

com2sec net 192.168.0.135/24 public

其中工控机所在的测试网段为192.168.0.xxx。将组设置改为可读写(group MyRWGroup v2c net),以方便测试使用。

移植完snmpd和snmpd.eonf文件后,在工控机操作系统终端下运行“snmpd-f-Le-d”命令,如果正常启动,则snmpd移植成功。

3.3 MIB库扩展

进入fedora 8的“/work/net-snmp-5.4.4/share/snmp/mibs”路径下,可以看到net-snmp包涵了很多公有MIB文件。这些文件都是按照规范格式开发出来的。管理信息库的扩展就是将按照这种规范格式开发出来的私有MIB文件移植到net-snmp中。以实现管理端通过SNMP协议对私有对象进行管理。扩展MIB库主要分为以下三个步骤:

首先,将待扩展的私有MIB文件拷贝到fedora 8的“/work/net-snmp-5.4.4/share/snmp/mibs”路径下,并将该MIB文件添加到环境变量MIBS中去(fedora下运行“ex port MIBS=ALL”)。添加完可以用net-snmp自带的snmptranslate命令检测代理是否能够正确找到待扩展的私有MIB。

然后,使用mib2c工具生成C文件,例如fedora下运行“mib2 netSnmpExampleScalars”命令,就会生成MIB文件中定义的netSnmpExampleScalars对象的.h文件和.c文件。其中.h文件对节点进行函数声明和宏定义。.c文件分为初始化函数和响应函数两大块。其中初始化函数用来对变量进行注册,响应函数用来响应管理端的操作命令,响应函数的返回值需要手工填充。

最后,将私有MIB生成的C文件拷贝到“/work/net-snmp-5.4.4/agent/mibgroup”目录下,重新配置net-snmp,在./configure后面添加“-with-mib-modules=“XXX ””(其中XXX为生成的C文件名),编译生成新的snmpd程序,移植到工控机系统中。

连接好工控机到电脑的网络,使用net-snmp开发包自带的snmpget,snmpset等命令测试snmpd的运行情况,如果得到正确的结果测试,就证明在AT91SAM9260工控机上实现SN MP协议成功。

4 结束语

net-snmp开发包提供了强大的开发和测试工具,使开发者能方便地完成各种嵌入式工控机平台下的SNMP协议开发。本文实现的基于AT91SAM9260工控机平台的SNMP协议,在工业级互联网管理设备的开发上有着很大的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对工控机的认识,本文将对工控机的主要分类、工控机的应用领域予以介绍。

关键字: 工控机 指数 PLC

为增进大家对工控机的认识,本文将对工控机、工控机的作用予以介绍。

关键字: 工控机 指数 工业自动化

在当今的自动化和数字化时代,计算机在各个行业的应用变得越来越普遍。其中,工业控制计算机(Industrial Control Computers, ICCs)和普通计算机是两类针对不同应用场景设计的计算设备。虽然它们都基...

关键字: 工业控制计算机 工控机 ICC

在现代工业自动化的浪潮中,工业控制计算机(Industrial Control Computer, ICC)作为核心的处理单元,正逐渐成为连接信息技术和工业生产的关键纽带。从制造业的生产线到能源领域的监控室,再到交通运输...

关键字: 工业控制计算机 工控机 ICC

在现代自动化和控制系统中,工业控制计算机(Industrial Control Computers,简称工控机)提供了强大的计算能力、数据存储和处理功能。为了充分发挥工控机的潜力,实现高效、稳定且可靠的系统设计,工程师需...

关键字: 工业控制计算机 工控机

在现代工业生产与自动化领域,工业控制计算机(Industrial Control Computers)扮演着核心的角色。它们不同于常规的商用计算机,在稳定性、耐用性以及适应恶劣环境方面有着更为严格的要求。工控机的应用场景...

关键字: 工业控制计算机 工控机

工控机和普通电脑有什么区别呢?随着科技的不断发展,计算机已经成为了我们生活中不可或缺的一部分。在众多的计算机产品中,工控机和普通电脑是两个非常常见的概念。那么,工控机和普通电脑有什么区别呢?本文将从硬件、软件、应用场景等...

关键字: 工控机 工业控制计算机 计算机

工业自动化已经成为现代工业生产的重要组成部分。在这个过程中,工控机作为一种关键的硬件设备,发挥着至关重要的作用。本文将对工控机的作用进行详细的介绍,并探讨其在现代工业中的应用。

关键字: 工控机 工业控制计算机

工控机,全称为工业控制计算机,是一种专门为工业环境设计的计算机系统。它结合了计算机技术、自动化技术和通信技术,为工业控制系统的智能化、网络化和集成化提供了强大的支持。

关键字: 工控机 计算机 智能化

今天,小编将在这篇文章中为大家带来嵌入式工控机的有关报道,通过阅读这篇文章,大家可以对嵌入式工控机具备清晰的认识,主要内容如下。

关键字: 嵌入式 工控机 嵌入式工控机
关闭
关闭