基于CAN总线的模拟量输出从站的设计

更新时间:2023-04-19 07:51:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 746f42020740be1e650e9a6b

量的使用。

89C51的主应用程序的应用程序采用事件驱动方

式,这意味着事件可以由用户操作触发或自其他节点的应用程度的消息触发,也可由应用程序本身触发事件。这些事件的顺序决定了代码执行的顺序。

本实例中,节点使用了两个输出网络变量,一个用以标明温度值,一个用以标明报警信号。89C51在应用程序中为不同的温度传感器和继电器分配了不同的地址,在传输前,将地址信息叠加到网络变量上去,用以区别信息的来源,主程序运行时,首先将采集到的温度赋值给已定义的网络变量,通过调用ShortS tack 应用程序提供的lonPropagateNv ()函数,将网络变量的更新值传送到Neuron 芯片。Neuron 芯片通过网络变量绑定的方式,即可向目的节点传送值。在传送结束后,Neu 2

ron 芯片会传送给lonNvUpdateC om plted ()一个值,通过

查询此值可以确认是否传送成功。输入网络变量是温度上、下阈值,主应用程序需要通过ShortS tack 应用程序提供的函数,定期查询是否有新值产生。在本应用中,温度设定值不会经常改变,所以从节约资源的考虑,选择每10s 查询一次。当有新的值出现,首先Neu 2

ron 芯片会将消息传送给ShortS tack 应用程序提供的lonEvenHandler ()函数,并由此函数修改网络变量表中

相应的温度阈值,同时lonNvUpdateOccured ()函数中生

成标志值。主应用程序查询到标志后,从网络表中读取新的值。

5 结束语

ShortS tack M icro Server 的出现,具有很好的应用前

景。首先,它提供了标准的接口,更方便地解决了

Neuron 芯片与外接芯片通信的问题;对于复杂控制或

运行速度要求较高的设备,由于很难使用通常的Lon 2

W orks 节点设计方法,同时又需要与其他LonW orks 节

点通信时,可以不用大范围的改变原程序结构的同时,使原有设备接入LonW orks 网络,使设备可以更好地利用LonW orks 网络技术,获取更多的网络信息;此外,可以利用ShortS tack M icro Server 提供的一些管理应用函数,设计小规模的本地网络管理节点或网关,增强了系统的互操作性和开放性,拓展了LonW orks 网络。

参考文献

1 杨育红.LON 网络控制技术及应用.西安:西安电子科技出版社,1999

2 徐爱钧.单片机高级语言C51应用程序设计.北京:电子工业出版

社,1998

修改稿收到日期:2003-08-15。

第一作者张红,男,1975年生,现为北京工业大学在读硕士研究生;研究方向:楼宇自控领域。

基于CAN 总线的模拟量输出从站的设计

De sign of Analog Output Slave Station Based on CAN Bus

刘 清

(南京师范大学计算机科学系,南京 210042)

摘 要 以水电站仿真系统为背景,设计了基于CAN 总线的多路模拟量输出从站。在对比了数字保持和模拟保持两种方案后,根据系统模出通道多、速率低的特点和性价比要求,采用了基于存储器动态刷新的多路模出从站,分析了有关电路的组成原理和实现方法,解决了地址冲突问题,实现了64个输出通道共用一个D/A ;并通过CPU 和控制电路共享存储器实现模拟量的输出保持和更新。

关键词 输出从站设计 多路模出 现场总线 动态刷新 存储器共享

Abstract  W ith simulation system of water power station as background ,the multiple analog output slave station based on CAN bus is designed.A fter com paring tw o strategies of digital hold and analog hold ,the multiple analog output slave station based on storage dynam ic refresh is used because of the consideration on the features of m ore analog channels exist in the system ,low speed ,and the requirement of cost effectiveness.The com positional princi 2ple of relevant circuits and im plementing method are analyzed ,and the problem of address con flict is res olved.The strategy of 64of output channels share one D/A is im plemented ,the functions of analog output hold and refresh are realized through sharing storage between CPU and control circuit.

9

1基于CAN 总线的模拟量输出从站的设计 刘 清

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 746f42020740be1e650e9a6b

K ey  w ords  Design of output slave station  Multiple output  Fieldbus  Dynam ic refresh  Storage sharing

0 引言

现场总线是应用于生产现场、在智能测控设备之间实现双向串行通信的网络。控制局部网C AN 属于现场总线的范畴,它采用双绞线为传输介质,通信速率最高可达1Mbps/40m ,并支持多种工作方式,具有可靠性高和抗干扰强、信息出错概率低、系统结构的高度分散性、易安装维护等特点[1],在测控系统中被广泛应用。

在水电站仿真系统中存在大量的数据输入和输出,所以采用C AN 总线技术实现数据传送,仿真系统结构如图1所示。主站实现电站仿真算法,从站实现系统的数据输入和输出。因为,系统存在多路模拟量输出通道,所以,作者设计了一个智能从站完成多路模

拟量输出。

图1 系统结构

1 多路模拟量输出智能从站设计

多路模拟量输出实质上是一个多通道数据分配问题,多通道分配首先要进行选择:采用数字分配还是模拟分配。即在数据更新之间是采用数字存储还是模拟存储。

通常在数字分配系统中,每个通道有一个D/A 转换器和一个寄存器。在计算机分配新数据之前,寄存器一直保持原数据,使得D/A 的输出保持不变。在模拟分配系统中,各通道共用一个D/A 转换器。但每个通道各有一个采样/保持电路。D/A 转换器把各通道的数字数据转换成模拟信号,送至相应的采样/保持电路,采样/保持电路在采样到模拟信号后,便转为保持状态,直到下一次采样为止。以上两种系统的优缺点如下:

①数据转换速率:数字分配系统,数据转换速率决定于D/A 转换速率。而对于模拟分配系统,数据转换速率其估算与采样/保持电路的控制逻辑有关,大体上可认为:

S =TNR

式中:S 为数据转换速率;T 为D/A 的转换速率;N 为输出的通道数;R 的值决定于控制逻辑,并小于1。②电路的性能与价格比:显然、模拟分配要比数字分配便宜得多,因为,D/A 是较为昂贵的器件。当然,高质量的采样/保持电路其价格也不低于D/A ,但是采样/保持电路可以用很简单的电路替代。价格上的显著优势是模拟分配系统得以应用的保证,尤其在多路、低速的模拟量输出应用方面,模拟分配系统的价格优势是非常明显的。

一个水电站仿真系统的模拟量输出通道具有多路

(700多个模出通道)和慢速率(011s 内分配一次)特

点,因此,作者选择了模拟分配方案实现模出从站,用

64路模拟输出通道共用一个D/A 转换器。其硬件电

路原理图如图2所示

图2 从站电路原理图

从站以AT 89C51单片机为核心,它主要负责数据的分配和通过C AN 总线接收数据。其中,S JA1000、

82C250、光电隔离电路等组成C AN 总线控制及接口部

分;模出电路实现64路模拟量输出;另外有节点地址设置和波特率设置电路。

2 多路模拟量输出电路设计

考虑到输出模拟量的慢速率,即要求单片机在

011s 内能够分配或刷新64路模拟输出通道,有两种可

选择的模拟分配方案:

①采样/保持电路的控制由CPU 完成,这种方案电路简单,但实现困难。因为CPU 承担数据通信任务,在通信时,它无法完成保持输出数据的刷新任务。

②采样/保持电路的控制由CPU 以外的电路完成,这种方案需要复杂的采样/保持电路的刷新控制逻辑,但不增加CPU 的软件开销,CPU 对各通道的数据分配可象对待数字系统分配一样。这是符合设计要求的一种实用的方案。

2.1 电路结构

模出电路原理如图3所示,它由地址选择电路、分频和刷新地址产生电路、开关控制脉冲产生电路、通道存储器电路、D/A 转换与运放电路、模拟开关与保持电路组成。

2.1.1 地址选择电路

存储器用于存储需要经过D/A 转换的数据,它由

CPU 与刷新地址控制电路共享。刷新地址不停地对存

2《自动化仪表》第25卷第7期 2004年7月

PR OCESS AUTOMATION INSTRU MENTATION,V ol.25,N o.7,Jul.,2004

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 746f42020740be1e650e9a6b

图3 模拟量输出电路结构图

储器进行读操作,以保证输出模拟量的精度;当输出数据变化时,由CPU 对相应存储单元进行写操作。两者之间存在地址冲突的问题,为解决地址冲突,采用两片

74LS157设计了地址选择电路,当CPU 对存储器进行

操作时,单片机P 117引脚信号使地址选择电路输出CPU 的地址。而在一般情况下输出刷新的地址。这样就解决了两个地址冲突的问题。

2.1.2 分频和刷新地址产生电路

通过对12MH z 系统时钟CC LK 信号的分频,产生对每个模拟输出通道的刷新地址。分频采用74LS393,

CC LK 信号经过2分频产生DCP 信号,同时CC LK 信号

经过256分频产生4618kH z 的信号PCP ,此信号经过2,

4,8,16,32及64分频得到动态刷新地址RA 1~RA 6(000000~111111)。该地址以2113μs 循环产生,用于

对每个输出模拟量的周期性刷新,刷新周期为

1137ms ,以保证其输出精度。2.1.3 开关控制脉冲产生电路

将刷新地址RA 4~RA 6送到74LS138,产生8个模拟开关同时打开的控制脉冲,分别去控制8个8通道模拟开关C D4051的同步开通和阻断。这些脉冲的产生要受到另一个单稳控制脉冲的控制,这个单稳脉冲是将DCP 信号经过一个单稳延时产生的。这样使得刷新地址读出的每一个数据经过D/A 转换后,不是马上经过模拟开关输出,而是经过一段时间的延时后,才打开模拟开关,输出模拟量。该电路使得D/A 转换器和运算放大器在不稳定工作状态时,模拟开关全部阻断,以保证输出模拟量的精度。

2.1.4 通道存储器电路

这里,使用了3片2112静态存诸器组成64个端口寄存器,每个寄存器为12位,对应一个输出通道。

2.1.5 D/A 转换电路

因为CPU 与刷新地址控制电路共享存储器,所以当CPU 更新某个通道N 时(占用了存储器的数据线),

它写入存储器的数据同样加在D/A 输入端,而D/A 实际输出值应是通道M 的值(M ≠N ),这样造成D/A 输出值出错。为防止这种错误,在CPU 访问通道存储器时,应禁止D/A 工作。这个禁止信号是由地址选择信号P 117通过一个单稳电路产生,它被加在DAC1210的CS 端,禁止信号的宽度必需要大于CPU 写指令的脉冲宽度。在D/A 禁止工作期间内,由于停止了对输出模拟量的刷新,所以也影响到输出值的精度。但是,CPU 的

写指令脉冲宽度最大是1μs ,D/A 被禁止的时间只占刷新时间2113μs 的415%,所以输出模拟量只会有很小的

变化,其变化在模拟量所显示的电压表精度范围内(其为2级表),并且变化时间很短,人的视觉无法感知。

2.1.6 模拟开关与保持电路

由模拟开关和电容保持电路组成“采样/保持电路”,所不同之处是采样/保持电路一般用于高频,而我们这里的“采样/保持电路”工作于低频。

2.2 电路工作原理

当CPU 不分配新数据时,由系统时钟分频产生动态刷新地址,刷新地址顺序读出存储器各单元数据,数据被加到D/A 上转变成模拟量,在刷新地址读出存储器数据的同时,该地址也选通了64个模拟开关中的一个,这样就完成了对一个模拟输出通道的刷新。刷新周期为1137ms ,它可以使输出电容的放电保持在允许精度范围内。当CPU 要改变输出的模拟量时,由CPU 输出一个地址选择信号P 117,该信号打开数据线,同时使地址选择电路输出CPU 地址,实现对输出模拟量相应存储单元的写操作;同时,为防止D/A 将改写数据误输出,由地址选择信号经LS121产生一个脉冲,禁止

D/A 工作,当CPU 结束操作后,D/A 又重新工作,当刷

新地址再次刷新到被修改单元时,它对应的模拟量输出通道值改变成新值。

3 结束语

在水电站仿真系统中,采用C AN 总线技术的多路模拟量输出从站,可使系统的可靠性提高。另外,从站采用的存储器动态刷新多路复用技术,在对精度要求较高而对速率要求不是太快的模拟量输出系统中,具有一定的实用价值:一是采用多路复用技术,可以节省费用;二是复用不占用CPU 时间,不影响其他环节。

参考文献

1 邬宽明.C AN 总线原理和应用系统设计.北京:北京航空航天大

学出版社,1996

2 张培仁,朱东杰,等.自动控制技术和应用-监控网络设计.合

肥:中国科学技术大学出版社,2001

1

2基于CAN 总线的模拟量输出从站的设计 刘 清

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 746f42020740be1e650e9a6b

3 孙涵芳,徐爱卿.单片机原理及应用.北京:北京航空学院出版

社,1988:207~209

4 潘新民,王燕芳.单片微型计算机实用系统设计.北京:人民邮电

出版社,1992:208~222

5 杨公源.微机在机电一体化传动系统中的应用.北京:电子工业

出版社,1994:142~166

收稿日期:2003-05-09。

作者刘清,男,1962年生,现为河海大学在职博士研究生,副教授;主要从事现场总线测控系统的研究与开发。

一种用功能块构建分布式IPMCS 的策略

Strategy of Structuring Distributed IPMCS with Functional Block

张 渝 刘 枫

(西南师范大学自动化研究所,重庆 400715)

摘 要 介绍了用于分布式控制系统的IEC 61499功能块模型。叙述了功能块产生的背景,IEC 61499功能块模型的特点、对象特性,并与IEC 61131中的模型进行了比较。提出了一种基于功能块模型、结合软件工程方法构建分布式IPMCS 的策略并作了分析。最后指出了IEC 61499功能块需要改进的地方。关键词 IEC 61499 功能块 分布式 IPMCS

Abstract  The functional block m odel IEC61499used for distributed control system is introduced.The background of brings about functional block ,the features of IEC61499,and the characteristics of object are described.Als o the com paris on with m odel in IEC61131is made.A strategy of structuring distributed IPMCS based on functional block m odel and combining with s oftware engineering method is stated and analyzed.Finally comments on im prov 2ing IEC61499functional block are given.

K ey  w ords  IEC61499 Functional block  Distributed  IPMCS

0 引言

为了应对时时变化的市场需求、制造更具竞争力的产品,IEC 61499[1]定义了一种设计工业过程测量和控制系统(IPMCS )的方法。IPMCS 中的功能块是为满足自动控制领域中编程工程化的需要而产生的。据研究,传统控制系统(DCS 或FCS )中60%~80%的基本控制功能可以通过配置功能块及其组合来实现[2]。目前,功能块在IPMCS 中的应用越来越普遍,出现了F B 2

DK 、C ORFU F BDK 等符合IEC 61499标准的功能块开发

工具。IEC 61499功能块还多处于研究阶段,但R ock 2

well 等公司正在研发商业产品,近几年内将有更广泛

的应用。

1 功能块简介

DCS 和P LC 控制系统中,使用者常开发较大的、集成

的程序。这些黑盒子程序缺少易理解、易调用的接口,使得其它程序不能利用它的数据和功能,即使这些程序都用同一种编程语言开发。显然,这不利于系统的升级,不利于在新系统中复用已有的模块,也不利于与其它系统进行集成。由于用户要求更加开放的软件,IEC 制定了

P LC ,DCS 的编程语言标准IEC 61131-3。IEC 61131-3中

给出了集中式系统下的功能块模型。

IEC 61131-3中定义了功能块的编程方法。功能

块的出现给编程人员带来很大的便利。在开发过程中,编程人员发现软件组件的互联(如功能块的互联)会带来很多优点。这些优点包括:通过重复使用一些标准的解决方案来提高软件产量;使用即插即用软件和来自不同厂商的设备提高设计的灵活性。IEC 61131

-3功能块以集中/扫描方式运行、缺少动态重组态功

能和可移植性。

目前,为方便开发分布式控制系统,IEC 制定了新的功能块标准。IEC 61499功能块标准提供了分布式组件技术的集成规范。IEC 61499功能块具有IEC

61131和IEC 61804功能块的特点,具有分布式、可组态

和可编程的特点。它定义了功能块模型的通用结构,使用X M L 来对功能块进行定义,方便功能块从一个系统移植到另一个系统中,也方便在不同软件工具中进行转换。为IPMCS 的设计、开发、分析和维护带来一种新的、高效的方法。

2

2《自动化仪表》第25卷第7期 2004年7月

PR OCESS AUTOMATION INSTRU MENTATION,V ol.25,N o.7,Jul.,2004

本文来源:https://www.bwwdw.com/article/cc1q.html

Top