软件总线范文

2024-07-16

软件总线范文(精选7篇)

软件总线 第1篇

现场总线技术是1990年代初期迅速发展起来的一种新兴技术,它的出现标志着控制技术领域新时代的开始。现场总线技术自产生之日起就受到了广泛的关注,由于巨大的潜在市场利润,许多厂商纷纷投入到对它的研究与开发中,推出了许多不同标准的现场总线技术。目前,在世界范围内,已获得广泛应用的现场总线标准达数十种之多,其中几种典型的现场总线有:德国Siemens公司的Profi Bus,美国Rockwell自动化公司的Device Net、Control Net,现场总线基金会的FF,德国Bosch公司的CAN以及美国Echelon公司的Lonworks等。目前,现场总线技术在国内的应用日益广泛,但是,在应用中基本上采用国外的现场总线技术标准,总线设备及其开发环境要依赖于国外厂商。

现场总线技术的核心是总线协议,i CAN(Industrial CAN)总线协议即"工业CAN应用协议"是我国自行研发的现场总线技术标准,它的物理层和数据链路层完全兼容目前广泛应用的CAN2.0B协议规范。在实际应用中,i CAN总线协议为工业控制应用领域提供了一种简单可靠、易于开发的总线系统,随着时间的推移,其开发环境日益完善,最为可贵的是i CAN协议是我国具有完全自主知识产权的总线协议,它为我国开发具有自主知识产权的现场总线技术标准提供了宝贵的经验[1,2]。

1 iCAN总线主节点软件设计

1.1 iCAN总线节点的组成及功能

iCAN总线节点的组成与功能与CAN总线节点是一致的。CAN总线的节点组成由三部分组成:微处理器系统、CAN控制器、CAN总线收发器。CAN总线节点与总线设备及CAN总线相连。由于节点中有微处理器的存在,所以这样的节点也称为智能节点。节点中微处理器系统由微处理器和本地应用电路构成,微处理器是整个节点的控制中心,本地应用电路与现场设备相连,节点中CAN收发器与CAN总线相连,所以,CAN节点是连接现场设备和总线的关键。

CAN总线的节点具有总线通讯和本地控制两个重要功能。总线通讯功能完成与总线上其它节点的数据传输;本地控制功能完成对与本节点相连的现场设备的控制。节点加上现场设备构成了一个控制系统,而且是具有通讯功能的控制系统,CAN总线是将众多这样的控制系统连接在一起的信息通道,这体现了现场总线技术的本质[3]。

1.2 iCAN总线节点的构成方式

iCAN节点的构成比较灵活,其主要的变化来自对微处理器系统中微处理器、CAN收发器、CAN控制器的选择。总结起来可以归纳为两种实现方式:微控制器器+CAN控制器+CAN收发器(即基于MCU的节点)和PC机+CAN总线接口卡(即基于PC机的节点)[4]。iCAN节点的软件由三部分构成,即:本地控制软件、节点通讯软件和节点主程序。其中本地控制软件完成对现场设备的控制,由控制要求决定;节点通信软件完成节点间的通信功能,它与CAN总线协议及节点的硬件结构密切相关;节点主程序用于各个功能的协调。

1.3 iCAN总线主节点及其软件设计

iCAN是一种多主结构的现场总线,在工业控制系统中,一般采用主/从结构,根据节点在总线系统中的地位,节点又可以分为主节点和从节点,从节点可以作为现场设备直接使用,主节点除具有一般节点的功能以外,它还应具有对总线从节点的监控功能和人机信息交换功能,由于PC机具有丰富的软硬件资源和良好的用户界面,因此,本文中主节点的设计采用基于PC机的节点方式。

iCAN总线主节点的软件开发有两种方法,一是从iCAN总线底层协议进行开发,这样的方法虽然对协议的掌握有益处,但是,开发难度比较大,虽然可以使用相关厂商提供的适配卡驱动程序,但是,对iCAN通信栈软件的设计仍然比较复杂。使用这种方法进行软件开发的节点软件层次示意图如图1所示。其中iCAN通信栈软件应符合iCAN协议。二是使用相应的软件开发工具进行开发,这种方法由于使用了iCAN协议软件模块,所以,隐藏了协议的细节,具有广泛的实际应用意义。由于实际的应用都不同程度地具有自己的特点,不可能不涉及通信栈的细节,所以,本文综合了上述两种设计方法来实现iCAN总线主节点的软件设计。

要实现一个iCAN通信,需要实现3个程序功能模块:iCAN控制器的初始化模块;数据发送模块;数据接收模块。本设计软件遵循模块化设计思想,使之具有良好的可修改性和维护性。

iCAN通信栈中报文接收程序是设计的难点,它负责节点报文的接收以及其它情况处理。与通信软件中其它子程序相比,接收子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线脱离、接收溢出等情况进行处理,由于处理因不同情况而异。报文的接收主要有中断接收和查询接收两种方式,如果对通信的实时性要求不是很强,可以采用查询接收方式。两种接收方式编程的思路基本相同。本文设计了中断接收方式的接收子程序对应的流程图如图2所示。

CAN总线控制器中断寄存器中的IR.0位为接收中断标志位,当接收缓冲器中的新报文为有效且CAN控制中断使能时,此位为1。当CPU读访问中断寄存器时,该位被自动复位。该程序在设计时,应该先判断是何种中断,报文接收可以采用接收中断的方式来实现。

对接收过程中的中断信号处理如下:

(1)数据溢出中断:当接收缓冲器己经有报文存在,但是有新的报文的第一位应该被存贮时,产生超限中断。此时,通过CAN总线控制器中命令寄存器CMR赋0CH,进行清除超限(DO位被置1),并释放接收缓冲器(RRB位被置1)。

(2)总线错误中断:当总线错误状态或总线状态位发生改变时,CAN总线控制器中中断寄存器中的IR.7(EI)位被置位,产生中断,总线中断是CAN总线通讯中比较严重的错误,当收发线路出现短路或断路时,将出现总线关闭,这时CAN总线控制器状态寄存器的值为F4H。CAN总线控制器状态寄存器中F4H的值按二进制展开后,可以看出发送状态和接收状态位的值都是1,从表面上看CAN总线控制器处于正在发送和接收状态,但由于此时是总线错误中断,因此,CAN总线控制器实际是处于等待总线空闲,即此时总线无发送和接收过程进行。对总线错误的处理要根据实际应用情况决定。

(3)接收中断:若是产生接收中断,就可以读取接收缓冲器中的有效的报文,判断接收到的报文类型;若读取的报文是远程帧,就可以向总线发送所请求的标识符ID的数据帧,发送的方式要根据实际应用情况而决定。若读取的报文是数据帧,就把读取的报文转存入指定的地址,以便调用报文处理程序做特定的处理。之后,置命令寄存器的CMR.2(RRB)位为1,释放接收缓冲器。然后,就可以访问CAN总线控制器中状态寄存器的SR.0(RBS)位来判断是否有新的报文,若此位为高,接收缓冲器中有新报文,则再次接收,否则就返回。

1.4 iCAN总线应用层

iCAN总线的物理层和数据链路层采用CAN2.0B协议规范,其应用层是自行定义的。一般讲iCAN协议主要是指其应用层。iCAN协议详细定义了CAN报文中ID以及数据的分配和应用,并定义了设备的I/O资源和访问规则。iCAN协议通讯层结构如图3所示。

iCAN协议规范由四部分组成:

(1)iCAN报文格式定义:规定了iCAN协议中使用的CAN帧类型、帧ID、报文数据的使用等。

在iCAN协议中只使用了扩展式的CAN报文格式,标准格式的CAN报文格式没有使用。iCAN协议中,对扩展式CAN报文的29位标识符和报文数据部分的使用作了详细的规定。a.报文标识符的分配:报文标识符被分为5个部分:Src MACID、Dest MACID、ACK、FUNCID、Source ID。b.MACID:MACID为设备在网络上的唯一标识,分配为8位,范围:0x00-0x FE,0x FE为特殊用途。一个i CAN网络最多支持255个节点。Src MACID分配为8位,范围:0x00-0x FE,0x FF保留。Dest MACID分配为8位,范围:0x00-0x FF,当取0x FF时表示发送的帧为广播帧。c.ACK:ACK分配为1位,占用位ID12。有用表示是否需要应答本帧。d.FUNC ID占4位,用于指示报文所需要实现的功能,在i CAN协议中有详细的规定。

(2)报文传输协议:规定了基于iCAN协议的设备之间的通讯方式。iCAN协议对于通信帧的处理的基本原则是:主站设备向从站设备发送命令帧,从站设备处理命令帧,并返回响应帧。在当前命令帧执行完毕后,才处理下一个命令帧。

(3)网络管理:规定了设备通讯监控以及错误管理。i CAN的网络管理的主要任务是检测和显示网络中的错误,并通过服务以协调的方式控制各个从站设备的通信状态。为保证通信的正常,网络中的每一个通信都需要进行监控,并在出现异常时,采用适当的方式进行恢复,如超时异常等。在iCAN网络中,每个从站设备与主站设备之间均有一个独立的连接,这为对通信的监控提供了可能。

(4)设备定义:定义标准设备类型,区分网络上设备具有的不同功能或者产品类型。为实现不同制造商生产的同类设备的互换性、互操作性和功能的一致性,iCAN协议对直接连接到网络上的每类设备都定义了设备描述。设备描述是从网络角度对设备内部结构的说明,凡是符合同一设备描述的设备均具有同样的功能,生产或消费同样的I/O数据,包含相同的可配置数据[5]。

2 iCAN总线主节点软件的实现

在实现了基本通信软件模块后,iCAN总线主节点软件的实现可以根据所用开发环境的不同选用不同的实现方法。

2.1 DLL动态链接库方法

DLL动态链接库方法常用于编制一个具体的项目程序。它的编程环境可以为VC或VB。这种方法利用了PC机中的现有资源。设计中需要建立i CAN主站函数库,其中文件有:icandllheader.h、icandll.lib、icandll.dll、controlcan.dll。文件夹名可以设定为:kerneldlls。在建立对话框工程后将i CAN主站函数库添加到工程中并根据需要在对话框中添加窗口元素和添加新的元素和源代码,编写完代码后对其进行编译。在对编译出来的文件进行调试时,必须将编译方式设为"Win32Debug"。把编译方式设为"Win32Release"再进行编译,就可以生成发行版。作为主站的PC机中应有相应的i CAN总线接口卡。

2.2 VCI函数库方法

VCI函数库是虚拟iCAN接口函数库,它支持现有的PC机i CAN总线接口卡。VCI函数隐藏了对硬件接口的一些复杂和繁琐的操作,给用户提供了一个统一、简单的编程接口。VCI函数总共14个函数,使用方便可用于VC、VB、CB和DELPHI等语言。

在使用接口库之前,无论用哪种编程环境,都必须首先把接口库的全部文件都拷贝到你的当前工程目录里。总共有三个文件Control CAN.h、Control CAN.lib、Control CAN.dll和一个文件夹kerneldlls。在VB环境下还要把接口库拷贝到系统目录里面。

在各种编程工具中调用VCI库函数的方法。

VC环境:在VC中使用接口库是最方便的,只需在工程文件中加入Control CAN.lib文件,然后在需要使用到接口库函数的*.CPP文件中包含Control CAN.h头文件即可。

VB环境:在VB中使用就比较麻烦一点,需要把接口库中定义的数据结构和函数声明全部转换为VB可识别的形式。作者在课题的研究中已经完成了转换工作,实际应用中只需要把相应段代码拷贝到程序中就可以使用了。

CB环境:在CB中采取的是动态加载的方式,调用相对来说比较灵活,可以直接从例子中拷贝相关代码到你们的程序中使用。

DELPHI环境:DELPHI与VB的调用方式相似,不再赘述。

3 结束语

iCAN总线由于其技术的先进性、可靠性和低成本,必将在国内得到越来越广泛的应用。特别是iCAN协议是我国具有完全自主知识产权的现场总线标准,对它的推广工作是很有意义的。本文在对iCAN总线进行了深入研究的基础上,通过课题的研究工作提出了完整的基于PC机的iCAN总线主站节点的软件设计方法,实践证明这种方法具有较强的实际应用价值。

摘要:作为新一代控制系统,现场总线控制系统在自动化领域中得到了广泛的应用。现场总线的技术标准众多,CAN总线是一种应用极为普及的现场总线。文章对我国自行研发的iCAN总线协议作了简单的介绍。给出了一种基于PC机的iCAN总线主节点软件的设计方法,对软硬件进行了相应的说明。节点的设计,特别是主节点的软件设计是iCAN总线应用的关键,论文在相关实际设计工作的基础上,阐述了主要软件模块的设计程序流程,介绍了iCAN总线主节点软件的设计方法,实践证明该设计方法具有标准化程度高,可靠性高,通信速度快,抗干扰能力强,组态灵活等特点,具有广泛的应用前景。

关键词:协议,iCAN,节点,VCI

参考文献

[1]张健,蒋新华,陈兴武.CAN总线在基于ARM嵌入式数控系统中的应用[J].自动化与仪表,2008(7):25-27.

[2]崔卫见,王大华,任鹏.基于iCAN协议和PC104的测控系统设计方案[J].舰船电子工程,2008(10):159-160,179.

[3]宋君花,唐航波,曹成昆,等.柴油机混合动力客车CAN总线多节点设计与分析[J].上海交通大学学报,2007(9):1402-1405.

[4]张华,吴欣,滕欣欣,等.基于iCAN-bus的汽车驾驶状态测量节点的设计[J].测控技术与仪器仪表,2008(5):69-71.

单总线传感器件及软件开发 第2篇

1 单线协议的探讨

单总线器件是在没有同步时钟的情形下传送信息的, 它采用单线上电平持续的不同时间构成协议。协议中的关键部分是复位、应答读和写时间片, 这些部分构成了单总线协议的基础, 协议的其他部分都是利用这部分来读取数据和写数据、命令等。

读、写时间片相对较短, 60至120微秒, 其中有1微秒或小于15秒的延时, 数据采样时间要求也小于15微秒, 这些都对高级语言的实现细节提出要求, 应特别小心。

复位时间片是一段相对较长的时间, 480至960微秒, 然后是DS18B20给出应答信号, 60至240微秒。具体的实现细节要求可参阅。这些长短不齐的时间段, 给在实时操作系统下的软件开发带来了负作用。

2 程序设计

如果用汇编语言来开发整个系统软件, 则相对时间上容易实现, 只要我们严格按照应用笔记给出的时序要求编写程序, 则较容易实现。然而, 由于开发效率的要求和嵌入式系统的扩大, 现在大多数的开发过程都是用C语言来或再加上嵌入式实时操作系统, 这时一总线的严格时序和操作系统的实时性就会发生矛盾。下面来讨论这两种情况。

2.1 C程序设计

为方便移植或其他原因, 我们多采用标准ANSIC编写程序。但在移植到其他目标处理器时, 与时序相关的除了要考虑处理器的时钟频率及指令周期外, 还要考虑具体的编译器实现, 这部分内容细节可以通过查看编译器生成的汇编语言代码了解到。

在采用结构化程序设计时, 具体的功能都由一些C函数来实现, 例如读取和写入一总线芯片的程序和延时程序。在实践中首先调用延时程序来延时然后进行位操作, 然而调用函数过程的本身也会产生延时, 这时就要注意是否超出时间片的允许上限。例如, 下列的程序片断, 在Ke il的51编译器下编译。在主程序s om e func中, 作一定时间的延时, 如果延时时间可与单片机的指令周期相比较, 如下

这时的延时并非4个空操作NOP, 在12兆晶振下, 4个NOP也即4微秒。而是生成如下的汇编代码

由此可见远远超出了4微秒, 所以在可移植的C代码中, 涉及时间关键部分, 一定得察看目标编译器生成的汇编代码, 尤其在读写时序中。类似标准51的低速单片机, 指令最少也要1微秒的时间, 所以对于几个微秒的延时, 不宜采用子程序延时。

2.2 嵌入式实时操作系统下的程序设计

为提高效率, 很多嵌入式系统采用了实时操作系统下的开发。操作系统的实时性依赖于其任务调度核心对用户程序既任务的调度, 这种调度又依赖对正在运行的任务的短暂中断来实现的, 这正与一线器件的精确时序要求相矛盾。例如对DS18B20一位数据的读写要在60微秒内完成, 而它一次传输的数据要64位, 加之中间大于1微秒的过渡时间, 一次数据传送时间要接近4毫秒。实时操作系统的时钟节拍间隔中断在10毫秒左右, 所以这期间节拍中断随时会到来。在这种大量的位读写中, 被操作系统时钟节拍中断几乎是必然的, 这时的数据传输已经被任务调度打乱, 也就不可用。

最直接的方法是停止节拍中断或关闭所有中断, 既处于临界段代码状态。这样做显然失去了实时系统的意义也是实时性要求高的场合所不允许的, 只能用于小的、实时要求不高的场合。

同样给任务上锁, 停止任务切换也不可行, 因为它并没有关闭操作系统节拍时钟的中断。

可以在系统初始化时作好各一线传感器的初始化工作, 然后将器件的操作简化到复位、寻址、读写有效数据上。复位虽然时间较长, 但他的时序要求也不严格, 所以可取最短时间延时, 同时提高任务的优先级, 避免不必要的中断, 或直接停止任务切换, 这样即使任务被时钟节拍中断, 也会很快返回, 这时仍能处于有效复位状态。

然后再关闭中断, 开始读写时间片, 读写一位数据会在60微秒内完成, 这样两字节的有效数据的读写以及开中断操作会在1毫秒内完成, 对实时性的影响降低了。这样的数据可能仍然不可靠, 这时CRC效验字节未采集, 只能通过计数方式, 在短时间 (十毫秒) 内采集一组数据, 然后通过排序, 去除最大和最小值, 因为操作系统的任务切换的时钟节拍在十毫秒左右, 所以受到任务机制干扰的数据基本上不会超过一、两组, 可以通过其他数字滤波方法使数据更可靠。

3 总结

一总线传感器件给硬件设计带来了方便, 增加了灵活性, 而且相对于传感器到A/D转换器的方式降低了硬件成本。这同时也要求软件设计更加精细。在具体的设计中, 无论从成本还是适应性考虑, 都给我们一个多的选择。

摘要:讨论了美国达拉斯公司一线传感器器件协议, 总结了协议的时序特点。在此基础上, 针对高级语言的特点, 给出了该器件一些软件设计方法。

关键词:协议,传感器,软件,函数

参考文献

[1]DALLAS MAXIM产品资料光盘6.0版.2002.

现场总线虚拟实验软件测试设计 第3篇

INTERBUS总线上的主要设备有总线终端BT(BUS Terminal)上的BK模块、I/O模块和安装在PC或PLC等上位主设备中的总线控制板。总线控制板是INTERBUS总线上的主设备,用于实现协议的控制、错误的诊断、组态的存储等功能。I/O模块实现在总线控制板和传感器/执行器之间接收和传输数据,可处理的数据类型包括机械制造和流程工业的所有标准信号。

此实验需要完成以下任务:某车间传送带分为三段,由三台电动机分别驱动。传送带及传感器的安装位置如图1所示。传感器检测物品的存在。该传送过程如下:传送带1一直运转。传送带2的运转由1号传感器启动,由2号传感器停止。传送带3由2号传感器启动,由3号传感器停止。

一个工作循环是:启动第1段传送带、物品被1号传感器检测,启动第2段传送带、物品被2号传感器检测,启动第3段传感器,同时延时2s后停止电机2,在物品被3号传感器检测到2s后,将电机3停止,随后进入下一个循环,等待1号传感器检测物品。

本文即以现场总线虚拟实验项目为背景,以该项目中的具体测试工作为依据展开论述。

1.1 现场总线虚拟实验功能测试需求

现场总线虚拟实验的功能测试需求主要是客户端的测试,包括:链接测试、元器件拖放测试、按键测试、连线测试、梯形图编程测试、IO配置测试。

1.2 现场总线虚拟实验性能测试需求

(1)连接速度测试:保证用户在一个可接受的时间范围内连接上。(2)负载测试:保证系统在某一负载级别上的性能系统在需求范围内能正常工作。(3)压力测试:保证实际破坏一个应用系统时,系统不会崩溃。

1.3 现场总线虚拟实验客户端兼容性测试需求

(1)同低版本浏览器的兼容性:保证低版本向高版本兼容。(2)不同浏览器的兼容性:必须保证IE浏览器可以访问,Firefox建议可以访问。

2 现场总线虚拟实验软件测试方法选择

现场总线虚拟实验系统是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流。这种在软件设计方面的思想也可被引入到软件测试中,生动的描绘出事件触发时的情景,这样不仅有利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有路径和备选路径。

因为基于Flex现场总线虚拟实验代码单元比较大,黑盒测试比白盒测试效率要高;因为测试人员在测试时不需要关心具体实现的细节;从用户的视角进行测试也容易被理解和接受;有助于暴露任何规格不一致或者有歧义的问题。因此把黑盒测试作为基于Flex现场总线虚拟实验的测试方法。

3 现场总线虚拟实验软件测试内容设计

3.1 现场总线虚拟实验功能测试内容设计

现场总线虚拟实验的功能测试主要是客户端的测试,包括:链接测试、元器件拖放测试、按键测试、连线测试、梯形图编程测试、IO配置测试。下面具体介绍各种功能测试的内容。

(1)链接测试。链接测试包括:确认是否能够到达链接页面;确认被链接页面是否存在;确认每一个页面至少被一个其它页面链接。

(2)元器件拖放测试。当用户进行实验时,需要将元器件拖放到实验操作台上,元器件拖放测试主要测试将元器件从器件库拖放到实验台是否成功。元器件拖放测试包括以下两点:此元器件是否可拖放;此元器件拖放的位置是否正确。BK模块IO模块的拖放如图2所示。

(3)按键测试。用户在进行实验的过程中,有些元器件如开关,实验台上的按钮需要鼠标点击触发开与关,在使用按键操作时,需要根据操作手册验证此按钮时点动式还是联动式,并确认其是否有效。

(4)连线测试。用户在实验时,当把所有元器件拖放到实验台上以后,需要对元器件进行连线。连线测试如图3所示。

(5)梯形图编程测试。用户在完成实验元器件的拖放和连线以后,需要用梯形图编程将相关的逻辑用梯形图的形式表现出来。

(6)IO配置测试。用户在完成梯形图编程以后,需要将梯形图编程的逻辑与具体的实验元器件绑定。这样才能通过梯形图编程最终控制元器件的工作状态。在IO配置测试的过程中,需要测试梯形图中元件的接口与实验台上的元器件接口能否关联。

3.2 现场总线虚拟实验性能测试内容设计

(1)连接速度测试:对于一般用户来说,连接速度是衡量一个系统好坏的最初标准。同样的上网方式,如果系统响应时间太长,用户很可能会离开。(2)负载测试:负载测试目的是测量系统在某一负载级别上的性能,以保证系统在需求范围内能正常工作。(3)压力测试:压力测试是指实际破坏一个应用系统,测试系统的反映,也就是测试系统会不会崩溃,崩溃时的系统所承受的压力状态。一般在表单、登陆和其他信息传输页面等区域进行压力测试。

3.3 现场总线虚拟实验客户端兼容性测试内容设计

(1)同低版本浏览器的兼容性。

为新版浏览器设计的网页如果在旧版的浏览器上是一团糟,则设计是失败的。如何使利用样式表设计的网页能被其它低版本浏览器兼容。

方法1:在类似的HTML标签上应用样式表。如果你想利用字重属性控制文字的加重显示程度,应该使用标签加入这种效果,这样一来,在所有的浏览器中都可以显示出文字的加重显示效果。尽量使用和CSS说明相应的HTML标签,以便在老的浏览器中也能达到新版浏览器相同的显示效果。

方法2:用HTML标签重复加入样式。如果你想确保使段落显示蓝色,那么你应该同时使用样式表属性和HTML标签设定段落的颜色。color:blue同时设定。如果你想使某要素居中,则同时使用text-align:center和

方法3:隐藏不想要的要素。如果你使用了大的装饰性的文字符号,而这个文字符号在老的浏览器中显不是很正常,你可以使用使它的要素同背景色相同,从而使得它在老的浏览器中被“隐藏”起来。

(2)不同浏览器的兼容性。

网页在不同浏览器的兼容性是一个很复杂的问题,只有通过不断的测试改进才能达到最好的效果。要做到100%的兼容,理论上不仅要求对编程人员根据不同的浏览器选用使用的方法,而且需要大量的重复性调试。同时,随着各种浏览器不断的退出新版本,在生产商趋于同一个标准的条件下,兼容性问题会得到很大的改善。有理由相信,在网页设计人员和浏览器生产商不断的努力下,浏览器兼容性将不再是制约虚拟实验网络教育的因素。

4 结语

本文阐述了现场总线虚拟实验软件测试的设计,详细介绍了现场总线虚拟实验的需求分析;软件测试方法的选择;软件测试内容的设计。对从事虚拟实验软件开发和测试人员有一定的帮助和指导作用。

参考文献

[1]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2005.

[2]史济民.软件工程原理方法与应用[M].北京:高等教育出版社,2001.

软件总线 第4篇

一、底层PLC控制级程序设计

PLC一般采用SIMATIC S7系列CPU, 可用其配套的编程工具STEP7进行硬件组态及程序设计。

1. 硬件组态。

监控系统是基于PROFIBUS的通信网络, 在STEP7中, 必须进行硬件网络组态和PLC模块的硬件组态。对于系统的每个不同对象, 如PLC主工作站、PROFIBUS-DP对象, 可以打开对象的属性对话框, 设置相应的属性。对于每个PLC模块, 还必须进行硬件组态, 如CPU模块、电源模块等。

2. PLC控制程序设计。

STEP7中, 用户程序由组织块 (OB) 、功能块 (FB、FC) 和数据块 (DB) 组成。组织块是系统操作程序和用户程序的接口, 决定用户程序的结构, 操作系统通过调用用户编写的组织块程序控制扫描循环和中断程序的执行, 以及PLC的启动和错误处理等。功能块是用户编写的程序块, 用户通过功能块对每个子系统进行程序编写。数据块是用于存放执行用户程序时所需的变量数据的数据区。某煤粉制备系统底层PLC控制级主程序流程图如图所示:

二、上位机监控程序设计

1. 组态软件。

组态软件是指一些数据采集和过程控制的专用软件, 它们是为用户提供快速构建工业自动化控制系统监控功能的、通用层次的软件工具。用户可以利用组态软件的功能, 构建一套最适合自己的应用系统。随着它的发展, 实时数据库、实时控制、通信及网联、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容。

2. 上位机监控程序设计。

上位机监控程序采用监控组态软件开发, 监控组态软件是面向监控和数据采集的软件平台工具。以某煤粉制备系统为例设计上位机监控软件, 此监控软件使用MCGS组态软件来完成监控画面的组态、数据库的建立、生产报表的形成及系统用户管理等设计。

(1) 监控界面开发。 (1) 煤粉制备系统监控主界面。根据运行现场的工艺流程布局图内有仪表数据及系统实际运行情况的动态显示。为了让操作方便, 在界面的底部设有快捷的底部按钮实现相应功能。 (2) 报表生成及数据查询界面。报表一般分为定时报表和随机报表。定时报表界面实时显示固定时间段内各从站数据, 随机报表界面显示各从站实时数据、历史数据。 (3) 报警窗口。报警窗口界面显示实时报警和历史报警记录。报警记录中有发生报警的设备名称、描述、开始时间和结束时间等。

(2) 数据库的建立和用户管理。实时数据库是系统的核心, 也是应用系统的数据处理中心, 系统各部分均以实时数据库为数据共用区, 进行数据交换、数据处理和实现数据的可视化处理。用户管理主要用于设置系统的操作权限, 操作权限分工程师和操作员等级别, 系统启动和退出、运行参数的给定等必须具有相应的操作权限。

三、通讯程序设计

通讯程序主要包括上位机和PLC之间的通信、PLC对被控对象的控制程序等。

1. 上位机和PLC之间的通信。

根据具体的硬件设计, 上位机和PLC之间通过网卡进行通信, 因此在组态软件设计中, 进行设备组态。从设备箱中选择相应的设备, 进行属性设置, 主要包括基本属性、通道连接、设备调试和数据处理, 编写响应脚本程序, 实现上位机和PLC之间的通信。

2. PLC和变频器之间的通信。

为了实现对被控对象的控制, 必须对PLC编写相应的控制程序, 实现PLC和被控对象之间的数据传输。在STEP7中完成硬件网络组态, 为被控对象分配网络地址。在组织块OB中选用SFC14系统功能块, 编写程序, 实现PLC对被控对象数据读取;通过调用SFC15系统功能块实现向被控对象相应的模块写数据。

3. PROFIBUS-DP通信组态的实现步骤。

软件总线 第5篇

分布式控制系统 (Distributed Control System) 以分散的数据采集、控制和集中的监视管理为主要结构特征[1]。而在一个自动监控系统中, 投入运行的组态软件是系统的数据处理收集中心、远程监控中心和数据转发中心, 处于运行状态的监控组态软件与各种控制、检测设备 (如PLC、智能仪表、DCS等) 共同构成快速响应/控制中心。所以, 组态软件是WorldFIP控制系统中的上位软件部分, 是用户与系统的接口, 在现场总线控制系统中, 负责对设备运行和通信的逻辑实现, 进而实现控制系统的功能, 是整个系统不可或缺的部分。

1 组态软件的结构

1.1 设计目标

明确系统的数据结构和软件结构, 此外总体设计还将给出内部软件和外部系统部件之间的接口定义, 各个软件模块的功能说明, 数据结构的细节以及具体的装配要求。

1.2 运行环境

组态软件的所有模块必须能保证正常运行于Windows XP、Windows2003、Windows2000等微软32位操作系统平台环境。在设计开发数据引擎、驱动等后台服务程序时, 以通用C或C++代码来开发, 便于今后向Linux等非Windows操作系统平台移植。

1.3 网络结构

常见的结构划分有功能结构和层次结构两种方式。从功能结构上有软件总体框架的总体实现、物理组态子集的设计实现、逻辑组态子集的设计实现、OPC客户端的设计实现[2]等。该文采用层次结构划分, 图1为组态软件的网络系统结构图, 系统可以分为三个层次, 第一层HMI人机界面交互层, 此层次上的安装等过程数据监测软件;数据引擎管理软件;用于实现对整个系统的安全及网络配置信息的统一化配置管理的软件等。

第二层为数据引擎层, 在此层次上安装实时数据引擎, 通过各个系列的硬件驱动来采集现场硬件的实况数据, 可运行于双网冗余及双机热备环境, 保障现场数据采集的连续性及可靠性。最终能像实时数据库系统后台服务程序一样, 做到无人值守、远程维护并带有强大的数据运算管理功能。

第三层为驱动层, 驱动层向下与现场PLC等硬件设备通讯, 向上与实时数据引擎通讯, 实现对现场硬件设备的采集、控制等功能。

网络上可以同时提供多对数据引擎节点, HMI可以通过GraphX等数据监测软件同时查看多个数据引擎节点的实况过程数据。多个数据引擎节点之间不提供数据链接及交换功能。

2 组态软件的设计与处理流程

WorldFIP组态软件设计采用模块化分解构想[3], 其总体框架与处理流程如图2所示。在驱动层完成Simulate PLC、OPC、MOD-BUS串口/TCP协议驱动的开发。其中Simulate PLC模块可以参照Genesis SimOPC, 用于模拟实况PLC数据;西门子及AB PLC支持多种通讯协议及传输介质, 开发这些协议驱动需要相应硬件及网络平台的支持;

在数据引擎层包含数据引擎服务程序EngSvr及数据库引擎管理程序EngMgr两个部分, 其中EngSvr对外提供三个接口:

第一个接口为驱动接口, 用于和OPC、MODBUS等驱动程序通讯, EngSvr与驱动之间采用数据回调机制来实现数据同步刷新, 即驱动数据更新后立即主动通知EngSvr, 而不是EngSvr来定时向驱动来请求更新数据, 回调机制在提高数据的实时性的同时不但没有提高程序的工作负荷反而使运行性能得到显著提升。

第二个接口为数据接口, 用于和HMI GraphX、AlarmX、TrendX及历史数据存储等程序通讯, 数据接口分本地和远程接口两种类型, 本地接口以共享内存方式提供数据, 远程接口以SOCKET套接字方式提供数据, 数据接口通过线程池技术及完成端口机制来实现, 最大限度地保障多台HMI客户机大量数据并发请求时的数据实时性。

第三个接口为管理接口, 用于和数据引擎管理程序EngMgr通讯, EngMgr主要完成对数据库引擎中的数据点 (添加、删除、编辑) 及驱动 (配置) 的管理。

数据引擎服务EngSvr将设计成双网冗余及双机热备的方式, 保证现场数据采集的连续性及可靠性。EngSvr的内存数据及运算逻辑功能做接口预留。

工程化配置管理部分用于完成对整个项目工程的参数配置、工程信息的备份等工作, 其中安全管理模块用于在GraphX等人机界面交互程序和EngSvr之间建立一道防火墙, 防止用户对现场硬件设备的非法操作及误操作, 安全管理模块通过安全区、操作安全机制来保障系统的安全性及可靠性。

HMI部分, 图形组态设计除了基于象素 (点阵光栅) 的方法与基于图元 (矢量) 的方法外, 还有采用面向对象思想, 通过动画连接组态模块建立图元与现场I/O变量、内存变量等的关联, 以此为基础实现组态软件的动画连接的实现方式[4]。此外, 在GraphX基础上, 还要加上工程化配置管理入口。

所有模块开发统一使用Rational Rose详细建模工具及Visual C++6.0代码开发工具, 所有模块统一使用宽字符, 各个模块的资源文件开发成独立的资源DLL, 便于语言平台移植。

3 结论

现场总线技术、组态监控技术作为较新的控制技术, 正在被越来越广泛地应用于各个领域。这种系统采用PLC作为现场控制设备, WorldFIP现场总线作为系统的通信基础, 以组态软件为监控软件对系统实现实时监控, 从而能够可靠、准确地完成控制操作。该文重点介绍了WorldFIP现场总线组态软件的系统及网络结构, 以模块化思想建构各组成部分, 详细介绍了处理流程。对各功能块应用进程组态设计了良好的界面, 在开放性、连通性、稳定性上具有良好的预期性能。

摘要:详细介绍了符合WorldFIP标准的组态软件的设计, 系统地阐述了其结构与组织形式, 模块化了软件系统的总体框架, 给出了处理流程, 并给出了关键的设计实现方法。

关键词:现场总线,WorldFIP,组态

参考文献

[1]王亚民, 陈青.组态软件设计与开发[M].西安:西安电子科技大学出版社, 2003.

[2]白焰, 梁庚, 李文.WorldFIP现场总线控制系统策略组态软件的设计开发[J].中国电机工程学报, 2005 (2) .

[3]李存珠, 李宣东.软件工程概论[M].南京:南京大学计算机系出版, 2001.

软件总线 第6篇

1 1553B总线和VC++6.0简介

1553B总线(MIL-STD-1553B)全称是飞机内部时分制指令/响应式多路传输数据总线[5,6],1553B总线为多冗余度总线型拓扑结构,具有双向传输特性[7,8],传输速度为1M bit/s[9],传输方式为半双工方式。1553B总线上的计算机节点称为终端。终端有3种类型:总线控制器BC、远程终端RT和总线监控器MT。总线控制器BC(bus controller)管理和控制总线上的信息传输,发出命令字对数据传输进行管理,同时接收终端返回的状态字,任何一个时刻只允许有一个终端以BC的方式操作;远程终端RT(remote terminal)在总线中有唯一的总线地址,接收总线控制器发出的命令字,依据命令字进行数据传输;总线监视器MT(bus monitor)实时接收监控总线上的信息,记录总线的活动[10,11]。MIL-STD-1553B总线的主要构成有:1553B总线接口模块,1553B总线耦合器,1553B电缆,电缆连接器,终端匹配等,它们由两根冗余总线连接,可挂接的32个终端[12]。每个终端被分配了唯一的总线形式,调制成曼彻斯特码进行传送。每条消息最长由32个字组成,所有的字分为三类:命令字、数据字和状态字。每类字的长度为20位,有效信息位是16位,每个字的前3位为单字的同步字头,最后1位是奇偶校验位。有效信息(16位)及奇偶校验位,如图1所示为总线信息字的格式。

VC++6.0是一个可视化的C++集成开发环境,使用了Windows图形用户界面的许多先进特性和设计思想,采用了面向对象的语言,是一种方便快捷的Windows应用程序开发工具。它与Windows操作系统紧密联系,再加上Microsoft公司为其开发的功能强大的微软基础类库(Microsoft Foundation Class,MFC),使用VC++6.0编写的应用程序与其他开发语言相比,具有尺寸小、速度快、效率高等优势。而且其“所见即所得”的程序界面设计方式大大减轻了程序设计人员的劳动强度,提高了开发效率[13]。

2 仿真测试软件功能

该软件的主要功能如下:

(1)能够对不同1553B总线接口设备进行仿真,按照设备ICD文件要求与总线进行数据交互。用户可以根据自己的需要通过填表的方式填写数据,仿真不同的1553B总线设备。

(2)能够实现设备的动态仿真,满足动态仿真试验的要求。

(3)为用户提供友好仿真控制界面,用户可以方便地对仿真过程进行观察和控制,还能对仿真过程进行记录和读取,便于用户事后分析。

本软件作为一个BC,与外部RT进行通信,软件外部接口如图2所示。根据ICD的接口定义模拟真实的设备间总线数据接收发送活动。

3 硬件组成

系统硬件选择用了GE公司的PCCARD-1553B板卡,如图3所示。此板卡支持由GE公司为MIL-STD-1553B产品提供的源代码级API,为用户提供了程序设计和二次开发所需要的调用函数,API支持Windows XP、2000、ME、98和NT等,能实现总线监视器(BM)、总线控制器(BC)和远置终端(RT)功能。该板卡是一款双冗余的多功能MIL-STD-1553B接口模块。可以应用于MIL-STD-1553B系统的测试和仿真。选择GETEC公司的S400加固笔记本计算机作为仿真测试软件的允许平台,S400系列,支持多种接口,包括SIM卡,智能卡、PCMCIA、EXPRESS ARD、USB、MMC/SD/MS/MS PRO读卡器、Mini IEEE 1394、RJ11/J45和多串口。PCCARD-1553B板卡安插在该计算机的PCMCIA插槽上。

4 软件设计

该仿真测试软件使用C++语言编程实现,开发平台为VC++6.0,操作系统为Windows XP。采用多线程技术及消息事件响应的方法隔离数据采集和数据分析。通过回调函数处理接收中断事件,将合法数据发送给数据处理进程。数据处理不在回调函数中进行,避免缓冲区数据因为不能及时处理被覆盖丢失的情况发生;使用事件响应线程对数据接收事件和界面输入进行响应分析处理,并将分析处理结果显示在人机交互界面上。周期性事件通过1 s周期定时线程处理。数据流图如图4所示。

4.1 界面设计

根据ICD中定义的功能点在用户界面上设置人机交互界面。界面面板主要装载菜单、按钮和图形显示等控件,实现对RT设备的激励行为和RT状态显示。实现系统自检及故障列表显示、参数设置、版本显示、设备基本状态显示的功能。每个子界面也都有对应菜单项、各个功能按钮及图形显示等控件,实现类似功能。此外还包含有登陆系统、修改密码、注销和退出系统等功能。用户可通过对键盘或鼠标的操作,来完成软面板上的开关和按钮的各种操作,从而较大程度地提高系统的可操作性,并在需求改变时具有很大的灵活性和扩展性。

4.2 软件实现及API的使用

总线上所有消息的传输都由BC激励和控制,是总线通信的开关。因此软件设计的好坏关系到整个系统的性能。软件功能模块包括初始化模块、中断处理模块、数据分析模块、周期定时模块、数据发送模块,软件功能模块图如图5所示。

4.2.1 初始化设置

在使用板卡功能前,必须确定板卡的工作模式、通讯通道、总线模式、Minor Frame频率、不响应时间、最迟响应时间、重试条件和需要分配的RT子地址数目。作为BC,初始化设置需要按照特定的步骤顺序执行。步骤如下:

(1)板卡初始化。调用API函数BusTools_API_OPen Channel()初始化板卡,设置中断模式为软中断模式,通道号为1。并获取返回的设备号值cardnum,其他API函数都需要使用cardnum,在使用其他API函数之前必须先执行此函数;

(2)总线模式选择。在初始化BC前必须调用API函数us Tools_Set Internal Bus()设置参数为EXTER-NAL,使用外部总线进行通讯;

(3)初始化BC。在进行BC其他设置之前,要求必须先初始化BC,调用Bus Tools_BC_nit()初始化BC,设置并进行Minor Frame频率设置、不响应时间设置、最迟响应时间和重试条件设置;

(4)调用API函数Bus Tools_BC_Message Alloc()为RT子地址消息队列分配内存空间;

(5)调用Bus Tools_BC_Trigger()设置触发方式。

(6)总线消息表设置。总线上的数据按照总线消息表定义的消息帧传输。1553B发送和接收的信息必须满足一定的数据格式,需要结合1553B总线协议用数据结构对其进行定义。结构体API_BC_MBUF用来定义BC消息帧结构。开始一个新的帧要求在control加上BC_CONTROL_MFRAME_BEG,同样,结束一个帧要求在control加上BC_CONTROL_MFRAME_END。下面的代码演示的是如何设置个新的帧。

4.2.2 中断接收处理

执行中断处理之前,必须注册BC中断响应函数。将中断响应函数名bc_Int_watch_赋值给API_INT_FIFO结构体中function,设置API_INT_FIFO结构体变量中的中断优先级、中断事件类型(EVENT_BC_MESSAGE)及允许中断消息的RT地址,调用API函数Bus Tools_Register

Function()注册该中断处理函数;

中断响应函数。在上述的消息帧设置中,设置每一条消息中断方式为消息结束中断。由于总线上所有消息的传输都由BC激励和控制,当执行BC→RT类型消息、RT→BC类型消息会自动触发相应的中断事件响应。在中断响应函数中设置中断头指针(head_index)和尾指针(tail_index),当在中断FIFO缓冲区中有未处理的中断时两指针将不同,循环累加尾指针以遍历中断FIFO,当中断事件和设定事中断件相同时,处理中断。主程序停止时,需要注销中断事件响应。采用中断方式读取BC数据能够快速响应RT→BC的数据,保证了数据在总线上传输的实时性并提高了程序的执行效率。中断响应函数代码如下:

4.2.3 周期处理任务

1 s周期任务提供定时服务,当定时到时通过消息发送函数通知指定的消息事件响应函数。

4.2.4 数据分析处理模块

分析接收数据的正确性和响应来自界面输入的控制信息,按ICD中每包定义的数据结构解析或组合数据包;显示设备状态信息到软面板,并发送控制信息给总线发送模块。

4.2.5 数据发送模块

当有新数据要发送时,将新数据写入到总线消息表。

5 结束语

软件总线 第7篇

随着现代技术的发展, SPI接口总线已经成为了一种标准的接口, 由于协议实现简单, 并且I/O 资源占用少, 为此SPI总线的应用十分广泛。目前, SPI 接口的软件扩展方法虽然简单方便, 但若用来通信, 则速度受到限制。因此, 我们采用ALTERA 公司的FPGA 器件设计SPI总线的通信接口, 该总线接口具有高速、 配置灵活等优点, 大大地缩短了系统的开发周期。

1 SPI总线原理

1.1 SPI总线协议简介

SPI总线是一种全双工同步串行接口, 能够实现微控制器与外设通信。它采用主从模式架构, 支持多slave模式应用, 并且只占用芯片上四个管脚, 节省了芯片的引脚。

1.2 SPI总线接口

SPI是一个环形总线结构, 通常有4条线:串行时钟 (SCK) 线、主机输入/从机输出 (MISO) 数据线, 主机输出/从机输入 (MOSI) 数据线和低电平有效的从机选择线 (CS) 。

SPI总线在与外设进行数据交换时, 可根据外设的工作要求, 配置SCK的相位和极性, 从而产生不同的数据格式。如果时钟相位CPHA=0, 数据在时钟脉冲的前沿被采样;如果时钟相位CPHA=1, 数据在时钟脉冲的后沿被采样。如果时钟的极性CPOL=0, 串行数据的移位操作由时钟的正脉冲触发;如果时钟的极性CPOL=1, 串行数据的移位操作由时钟的负脉冲触发。因此, SPI主模块和从模块的时钟相位和极性应该一致。

2 开发平台介绍

本文主要介绍在FPGA中实现基带对射频前端数据的采集, 通过SPI总线实现对射频前端模式的转换。当射频前端被配置为GPS模式时, 采集到的数据来自GPS卫星;当被配置为北斗模式时, 采集到的数据来自北斗卫星。本文选用的芯片为杭州中科微有限公司HZG09V2D和ALTERA公司Cyclone III 系列中的EP3C40Q240C8。接口之间的连接关系如图1所示。

HZG09V2D是杭州中科微有限公司的一款射频芯片, 它是一款工作在L1频段的多模式卫星导航射频前端接收芯片, 可支持L1频段中国北斗二代、美国GPS、俄罗斯GLONASS、欧洲伽利略等多个导航系统。

EP3C40Q240C8是Altera公司Cyclone Ⅲ系列中的一款FPGA芯片, 它前所未有地同时实现了低功耗、低成本和高性能。其中Cyclone Ⅲ FPGA在布局上提供丰富的存储器和乘法器资源, 并且所有体系结构都含有非常高效的互联。

3 FPGA实现与调试结果

3.1 实现步骤

首先使用ModelSim SE 6.2对所编写的Verilog代码进行编译仿真, 从而得到对功能的验证。再用Quartus Ⅱ软件进行编译后, 将生成的编程文件.sof文件通过 JTAG下载到Altera公司Cyclone Ⅲ系列EP3C40Q240C8运行, 在数字示波器的辅助分析下都得到了正确的结果。

3.2 模块设计

3.2.1 分频模块

由于SPI总线协议要求的SCK时钟频率与FPGA时钟频率不一致, 所以对基带时钟进行分频。本文中, 基带时钟频率为40 MHz, SPI总线时钟频率为1 MHz, 故需要进行40倍分频。

3.2.2 发送数据模块

在片选信号拉低之前, 时钟信必须为低电平。当片选信号拉低后, SCK开始工作, 然后写八位地址, 接着写32位数据;发送操作结束后, 片选信号拉高, SCK=0。代码如下:

3.2.3 接收数据模块

当片选拉低后, SCK=0, 同时写八位地址并且使SDA为高阻, 再读32位数据;当片选拉高时, CS=1, SCK=0.此外, 在片选信号拉低之前, SCK必须为低电平。代码如下:

3.2.4 配置模块

配置模块发送GPS/Compass模式配置命令给SPI功能模块, 从而实现一次完整的射频前端工作模式配置。其中, 射频前端有5个与SPI相关的配置寄存器, 具体模式配置命令如下:

3.3 仿真结果

在GPS模式下, 实现了寄存器的读写时序, 如图2所示。

在GPS/Compass模式下, 实现了5个地址的写操作和读操作。在基带处理中, 将读出来的数据与设定好的配置的数据进行对比, 当结果一致后, 就完成了一次正确的配置操作。如图3所示。

3.4 RTL视图

RTL视图由两个模块组成, 分别为ModeSet和newspi.其中ModeSet模块的功能是发送命令来配置射频前端的模式, newspi模块实现射频前端和基带之间具体的数据读写。如图4所示。

4 结 语

在现代SPI总线得到了广泛的应用, 它能够有效地与FPGA 编程结合在一起, 利用FPGA的灵活性, 将大大减少了电子设计的开发周期。本文通过FPGA实现了射频前端GPS/北斗模式的切换, 为将来射频前端多模设计奠定了基础, 并且可通过外部器件查看读写操作是否完成, 从而实现了实时配置。

参考文献

[1]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社, 2003.

[2]王冠, 黄熙.Verilog HDL与数字电路设计[M].北京:机械工业出版社, 2005.

[3]孙丰军, 余春暄.SPI串行总线接口的Verilog实现[J].现代电子技术, 2005, 28 (16) :105-106.

[4]Altera Corporation.Cyclone III Design Guidelines[EB/OL].[2008-07-14].http://www.altera.com.cn/prod-ucts/devices/cyclone3/cy3-index.jsp, 2008.

[5]卓兴旺.基于Verilog HDL的数字系统应用设计[M].北京:国防工业出版社, 2007.

[6]吴继华, 王诚.Altera FPGA/CPLD设计 (高级篇) [M].北京:人民邮电出版社, 2005.

[7]PETER Minns, LAN Elliott.FSM-based digital design usingVerilog HDL[M].UK:John Wiley&Sons Ltd., 2008.

[8]IEEE.IEEE STD13642001:IEEE standard Verilog hard-ware description language[S].USA:IEEE, 2001.

[9]杨承富, 徐志军.SPI总线接口的FPGA设计与实现[J].军事通信技术, 2004, 25 (2) :72-76.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【软件总线】相关文章:

总线型网络控制通讯软件设计09-13

现场总线虚拟实验软件测试设计论文01-14

信息总线05-07

仪表总线07-30

高速总线08-18

总线控制08-29

PC总线05-08

数据交换总线06-16

总线网络设计06-21

PROFIBUS总线08-01

上一篇:霉菌性食管炎下一篇:会计诚信研究