关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于CANbus和SNMP的起重力矩监控系统

基于CANbus和SNMP的起重力矩监控系统

作者:时间:2009-10-30来源:网络收藏
1Get 操作

本文引用地址:http://www.eepw.com.cn/article/163509.htm

管理端向代理发送Get 请求,要求返回压力、角度等数据。代理接受请求后,对PDU 进行解析处理,并调用相应的子功能模块,从MIB 文件中读出压力角度长度等变量的值,然后代理调用编码模块,将这些数据打包成相应的PDU 发送给管理端作为对Get 请求的响应。管理端接收到相应数据后,将它们与预先设定的参考值作比较,根据实际值与设定值之间的偏差,判断是否超过限制,并据此发出相应的开关控制命令。

2Set 操作

Set 请求的原理与Get 类似,不过是将某一新的值写给相应的变量,而不是读,从而实现对被管理设备的控制。在该系统中,管理端向代理发送Set 请求,以设置各开关的状态变量。代理接受请求后,向MIB 文件中写入各开关变量的新值,并通过现场的 总线传递给输出控制模块来控制上升、下降、左转、右转开关的动作。

3.3 MIB 的编写

MIB 是有关被管理目标对象的数据库,其数据结构呈树形。本系统中的MIB 文件存储了现场传感器采集的各种信号以及开关的状态,通过读取和设置这些MIB 对象的值,管理端完成监测和控制。MIB 文件编写中最关键的一点是确定要定义的变量。在该系统的MIB 设计中定义的变量如表1 所示。

1 远程MIB 变量表

MIB 变量名

含义

类型

DegreeValue

角度的实际值

Integer

LengthValue

长度的实际值

Integer

PressureValue

压力的实际值

Integer

UpSwitch

上升开关状态

Integer

DownSwitch

下降开关状态

Integer

LeftSwitch

左转开关状态

Integer

RightSwitch

右转开关状态

Integer

3.4 代理与管理端程序的开发

采用AdventNet Agent Toolkit C Edition 工具包来开发代理程序,该工具包提供了一个广泛而完整的开发环境,并带有代理信息定义编辑器、编译器等一系列代理开发工具及测试工具,降低了代理开发的复杂性。所开发的代理仅占用极小的空间,却具有较高的性能,而且代理的扩展几乎不会影响到应用和设备的性能。在编写好MIB 文件后,依据Agent Toolkit C Edition 工具的开发流程编写代理程序,其主要功能是对MIB 文件进行管理,并实现对网络端口的侦听, 数据报的解码及编码,对管理端的请求进行处理,以及对硬件的管理。

VC++.NET 开发平台下利用NET- 开发包来编写管理端程序。NET- 开发包是目前最为流行的C++SNMP 协议开发包之一,开发包中的SNMP 协议模块为用户使用SNMP 协议来构建网络管理应用层软件提供了良好的协议通讯的基础,它提供了一系列的API 函数可供开发者使用。本系统的管理端程序运行在远程监控计算机上,与工作现场工控机上驻留的代理之间进行远程数据通信,主要完成Get Set 操作两项任务。

5 结论

总线因其自身的诸多优点适合于对实时性、可靠性、安全性要求十分严格的机械控制网络。SNMP 协议简洁,可扩展性强,SNMP 协议的网络传输以Internet 作为媒介,传输距离不受限制,可进一步拓展 总线的优势。本文的创新点在于,结合这两种技术的优点,实现了CAN 总线和SNMP 协议的远程,该方案可以保障可靠、实时的远程数据传输和命令执行,确保起重机械的安全运行。项目经济效益达20 万元。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭