来源:网络转载更新时间:2020-01-04 10:01:36点击次数:4634次
电子皮带秤二次仪表近年来发展很快, 出现了两大趋势: 一是二次仪表的面板更加简化, 在面板尺寸减少的同时, 显示部分的尺寸增大, 显示内容更为丰富, 操作键减少。 二是通信功能强化也是智能仪表的重要标志, 通过 RS232 , RS485 , CAN 等现场总线方式进行多台皮带秤联网、 集中监控或与上位机系统通信。
新型电子皮带秤二次仪表 XK3208- A1 就是应这种趋势而开发、 生产的对皮带运输机所输送物料进行动态连续计量的计量仪表。 该仪表以增强型 8052 微控制器为核心, 并配有液晶屏和轻触式 PVC 按键, 操作简单, 功能齐全。 通过以太网接口, 可以轻松实现多台电子皮带秤的联网,将瞬时流量、 累计流量、 皮带速度等相关数据送入上位机, 实现对现场称重仪表的集中监控管理。 本文重点介绍该仪表 Ethernet 接口部分的设计方法。
1 EtherNet/IP 协议介绍
在企业信息系统中, TCP/IP 以太网已经成为事实上的标准网络, 将标准 TCP/IP 以太网延伸到工业实时控制, 将很好地帮助用户获得更加开放集成的工业自动化和信息化的整体解决方案。 EtherNet/IP 就是为实现这一目的的标准工业以太网技术, 它是标准 TCP/IP 以太网和通用工业协议 ( CIP ) 的结合。
EtherNet/IP 使用标准 TCP/IP 以太网, EtherNet/IP 支持在标准 TCP/IP以太网上为提供 IT 服务所开发的任何应用层协议, 如 HTTP , SNMPSMTP 等等, 实现工业自动化和企业信息系统的直接集成。 比如, 运行人员打开网页浏览器软件, 像访问某个网站一样, 可方便地浏览、 组态、 诊断并监视 EtherNet/IP 设备。
EtherNet/IP 使用标准 TCP/IP 以太网技术, 保证了用户在工业环境场合可以使用工业等级的标准以太网交换机; 在非工业环境场合, 用户还可利用已有的普通标准以太网交换机产品来扩展 EtherNet/IP 网络, 这有助于实现更多的灵活性和更高的性价比的自动控制系统。
TCP/IP 协议是一套把因特网上的各种系统互联起来的协议组, 保证因特网上数据的准确快速传输。 参考开放系统互联 ( OSI ) 模型, TCP/IP 通常采用一种简化的 4 层模型, 分别为: 应用层、 传输层、 网络层、 链路层 。
符合 IEEE 802.3 标准的以太网帧的长度一般介于 64 字节与 1 518字节之间。 它们由 5 个或 6 个不同的字段组成, 分别是: 目标 MAC 地址、源 MAC 地址、 类型 / 长度字段、 数据有效负载、 可选的填充字段和循环冗余校验 ( CRC ) 字段。 另外, 当通过以太网介质发送数据包时, 一个 7 字节的前导字段和一个字节的帧起始定界符将被附加到以太网数据包的开头。 因此, 在双绞线上的传输格式如下:
2 uIP 栈
uIP TCP/IP 栈是使用于低至 8 位或 16 位微处理器的嵌入式系统的一个极轻型的 TCP/IP 协议栈, 它实现了 TCP/IP 协议组的 4 个基本协议:ARP 协议、 IP 协议、 ICMP 协议和 TCP 协议。 uIPTCP/IP 栈由瑞典单片机专家 AdamDunkels 编写, 是一个免费的 TCP/IP 栈, 它使用 C 语言编程,可以方便地应用到电子衡器中。 uIP 的实现目标是保持代码大小和储存器使用量最小。 目前, uIP 代码的大小和 RAM 的需求比其他的 TCP/IP 栈要小, 但是 uIP 与其他 TCP/IP 栈不同, 它的重发工作需要应用程序的帮助。 其他 TCP/IP 栈 RAM 中存储着传输数据, 直到数据被确认已成功发送才释放 RAM 空间。 如果数据需要重传, 堆栈在没有通知应用程序下监视着重传工作, 在等待确认的过程期间, 数据必须缓存在 RAM 里。 uIP 利用应用程序可以快速重新生成数据的特点, 在等待数据确认的过程中,RAM 中不必缓存数据, 而是等确认不成功信号到达时由应用程序重新快速生成数据。 例如, 一个 HTTP 服务器服务的大部分是 ROM 里的静态和半静态页, 不需要在 RAM 里缓存静态内容, 所以, 如果一个包丢失了,HTTP 服务器可以容易地从 ROM 里重生数据, 使数据简单地从原先的位置读回来。
3 系统的硬件设计
微 控 制 器 选 用 美 国某公司 的 模 拟 微 控 制 器ADuC845 , 它内部集成有两个独立的 24 位 Σ - Δ ADC 、 8 路模拟量输入通道 ( MQFP 封装) 、 单周期 8051 兼容内核、 62kb 片内程序存储器、 4 kb 片内 Flash/EE 数据存储器、 2 kb片内 XRAM 、 12 位电压输出型 DAC 、双 16 位 Σ - Δ DAC/PWM 、 片内温度传感器。
以太网控制器选用美国某公司的ENC28J60 28 引脚独立以太网控制器。 目前市场上大部分以太网控制器采用的封装均超过 80 引脚, 而符合 IEEE802.3 协议的 ENC28J60 只有 28 引脚, 就能既提供相应的功能, 又可以大大简化相关设计, 并减少占板空间。 此外,ENC28J60 以太网控制器采用业界标准的 SPI TM 串行接口,只需 4 条连线即可与主控单片机连接。
ENC28J60 的硬件设计需要注意复位电路、 时钟振荡器、 振荡器启动定时器、 时钟输出引脚、 变压器、 终端和其他外部器件、 输入 / 输出电平等几个方面。
ENC28J60 是一个工作电压为 3.3 V 的器件, 它被设计为易于集成到5 V 的系统中。 SPI 的 CS , SCK 和 SI 输入以及 RESET 引脚都可以承受 5V 的电压。另一方面, 主控制器 ADuC845 是运行在 5 V 电压下, 当 SPI 和中断输入由 ENC28J60 上的 3.3 VCMOS 输出驱动时, 它很可能不符合规范要求, 此时需要一个单向电平转换器。 可以使用一个廉价的 74ACT125( 四三态缓冲器) , 便于系统集成, 并与其他器件共享 SPI 总线。
4 单片机通信系统的软件设计
在使用 ENC28J60 发送和接收数据包前, 必须对器件进行初始化设置。 通常初始化任务会在复位后立即完成, 并且不再需要更改。 初始化包括接收缓冲器的初始化、发送缓冲器的初始化、接收过滤器的初始化、MAC 初始化设置和 PHY 初始化设置。
ENC28J60 内的 MAC 在发送时会自动生成前导符和帧起始定界符。此外, MAC 可根据配置生成填充 ( 如果需要) 和 CRC 字段。 主控制器必须生成所有其他帧字段, 并将它们写入缓冲存储器, 以待发送。 ENC28J60还要求在待发送的数据包前添加一个包控制字节。
5 上位机程序设计
为了实现和单片机的通信, 本文用 VC++ 在用户终端 PC 机上编程了一个数据传输的应用程序。给程序的编写如同一般的网络编程, 采用Winsock 编程, 先创建一个套接字, 绑定 IP 地址和端口号, 本文使用 UDP数据报, 与嵌入 uIP TCP/IP 栈的单片机系统的套接字建立连接。 上位机先调用 Send ( ) 函数发出查询某一参数命令, 当有网络数据到达时,VC++ 响应 Receive ( ) 消息, 读取数据并处理。
6 结语
在电子皮带秤二次仪表中添加了以太网接口, 可实现电子皮带秤和上位机的通信, 可以使工程技术人员通过网页浏览器了解电子皮带秤的运行情况, 其具有传输速度快、 使用方便等优点, 有着广泛的应用前景。
参考文献
[ 1 ] 方原柏 . 电子皮带秤二次仪表的发展 [ J ] . 衡器, 2004 ( 4 ) : 1- 4.
本文源于网络转载,如有侵权,请联系删除
×