c语言开发范文
时间:2023-03-20 07:17:10
导语:如何才能写好一篇c语言开发,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
任何一个好的跨平台软件开发的实现,主要还是对整体设计的把握,跨平台程序设计要求实现与平台无关的代码,在设计和编写的过程中,还要对软件的架构和整体配置的合理性问题作出考虑。思路,我们可以结合自身学习和实践经验在程序设计方面充分利用开源的代码和程序,就可以让跨平台的设计更加地趋于成功。
我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。
3处理器差异的控制
鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。
4利用wxWidgets开发跨平台软件
wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。
5结论
篇2
中图分类号:TP317 文献标识码:A 文章编号:1671-7597(2014)04-0019-01
使用C++语言进行跨平台的开发,目的是把应用程序的代码处理成能够在已有的平台下使用和能执行文件。但是在其他平台中,处理后的文件不可以被使用,特别在Windows与Unix平台下更不能使用。所以,要解决和处理这个缺陷,就要将源程序的代码翻译成在各个平台下都能使用的文件。通过几十年的发展和演变,C++语言基本上能够在所有的平台下进行工作,但是在不同平台下的编译也会不同,也造成了语言之间的不同。同样的,设计一个新产品就要对操作系统的函数进行使用和调用。因此,要避免这种区别就要在代码中使用条件选择编译、进行工程模式编译或可以使用预编译。各种平台使用的程序编译手段也是不一样的。要使在不同平台下进行程序编译时出现最小的差别就要手动对编译条件的设置控制或管理。使用脚本文件和环境变量,还可以使用第三方软件对代码进行动态编译,这样就能使跨平台开发的难度简化。
1 跨平台的概念
在软件开发中有个很重要的概念就是跨平台,跨平台和操作系统无关也与硬件环境不相关联。如果一个应用程序是在操作系统下开发和设计的,那把它放在其他操作系统中也能使用。随着软件工程的发展对跨平台开发的需求也在不断的增加,所以要开发出能够在各种各样的平台下都能使用的应用程序,就能为应用程序创造很大的市场份额。
2 跨平台的开发所需要的环境
软件编辑器、程序编译器和程序调试器是构成开发环境的三个组成部分。Sandbox是进行代码编译和调试的软件,其内部含有各种平台下需要的不同种类的依赖库和代码库。在程序的开发中它还含有各种源代码。它的配置对多元化的平台的要求也是很高的,通常讲,C/C++语言的软件开发和编译要在各个平台上能够使用,还要注意以下问题。
1)最终结果的质量:Sandbox中所选择的工具是否能够产生最好的代码。是否能够产生最简洁,最友好的配置文件以及在捕捉错误和调试时是否能够提供足够的支持。
2)Sandbox中含有的工具是否可以使应用程序与多元性的目标平台进行合理的整合。
3)创立的Sandbox是不是可以使管理更加的简单,即能否在不同的平台进行变换时出现最小差异的文件。
对跨平台开发来说实现抽象是很重要的一个因素,但是利用与平台相关的工具包也需要使用相适应的工具。这些开发工具往往并不是统一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要达到这个目的,就要把用抽象以及相关的设计使用新的开发手段进行开发,实现在不同的平台下都能进行编译。
3 C++语言的跨平台软件开发的设计
3.1 避免语言的扩展特性
不管我们依据哪一种形式的方法进行编程,一般要选择比较老的程序库或文件。比较老的程序库里面的一些原有程序和公式都是很规范的和标准的,不像现在的一些新的程序库一样比较的杂乱无章。有非常普遍出现的故障在跨平台上产生,有时在获得支持后,还是会出现没有定义精确的事故。跨平台开发是对异常灵敏度要求很高的,无限度的利用新特性,就会使软件很难排除异常情况。所以,在跨平台开发时要调用C++的标准函数模型,这样就会使已开发的软件和产品的稳定性更加强。
3.2 实现动态处理
在实际的开发过程中,每当编写一个旨在多种环境中运行的可移植代码库时,项目的开发就会不可避免的面临一个问题,即怎样处理在一个平台上有而在另外一个平台上没有的特性。
3.3 使用脚本文件进行管理
要达到使编写的程序代码简洁、易懂的目的,要使软件的结构更加的合理,这就要求先把与平台相关联的文件和数据库分割开来,再把在开发期间要用的脚本文件进行编译,再合理的分到各个部位。在使用应用程序时,要把配置文件里的配置选项调出来进行读取里面的程序。因此,当跨平台软件开发时,要使与平台相关联的文件全部进行分离,要利用特殊的手段来实现该功能。
3.4 使用安全的数据串行化
如何使用安全和可靠的对数据进行存储和加载是跨平台要解决的核心问题。利用软件的“fwrite”或“fread”指令可以对每个编译器和单一目标平台处理。若果是在跨平台的操作环境中,利用这种方法对数据进行存储和加载就不能做到平台间的独立性。如果要利用跨平台对数据存储到目标文件外,不同平台间是有差异的,这样也会引起结果的多样性。
3.5 跨平台开发中的编译与测试
当进行跨平台软件开发时会与修改和编写的很多代码有关联,相关联的代码会在很长的时期内不能在另外的平台检测,也会造成bug的潜藏时间增长。所以,要在多个不同的平台下进行测试,这样就能及时发现bug。
3.6 实现抽象
实现抽象是处理跨平台中应用程序能被移植难题的有效方式。通过这种方式我们就能不利用一般的结构体系而进行单独的软件开发,同时还能够使编出的程序更加的独立化和简洁化。当对跨平台进行开发时,会有非常多的函数要进行利用,但是开发时不用编译所有的函数,通常使用的方法是封装,这些就是实现抽象的过程。封装的方法并不是在任何情况下都是适用的,当遇到一些特殊的情况时,我们要使用其他的方式来进行程序的调用,我们提前可以将编写好的功能程序存放到程序空中,并以该功能命名,当我们使用该程序或公式的时候,可以直接调用该功能的程序,便可以实现该功能。不管选用哪一种方式无非是对任意接口函数与平台中的联系进行隐藏。
4 结束语
本文主要介绍了跨平台的定义和进行跨平台设计所需要的环境以及怎样进行跨平台设计。在进行跨平台设计的过程中我们结合了其他软件设计的一些思路和方法,经过大量的软件设计实践,得出了一套跨平台设计的方法和手段。与此同时我们还要在开发的软件中加入更多的功能和操作容积。对跨平台进行设计而言,经验是很重要的,经验越丰富的设计工程师设计的软件的功能会越好一些,没有经验的工程师,在首次设计时很难利用跨平台设计一个非常完美的应用软件。所以,本文介绍了跨平台软件设计的一些技术,希望可以为跨平台的开发的设计工程师提供一些帮助。
参考文献
篇3
关键词:数学地质,数值分析,C语言程序设计,教学方法
数学地质解决地质问题的一般步骤或途径如下:第一,进行地质分析,定义地质问题和地质变量,建立正确的地质模型;第二,根据地质模型选择或研究适当的数学模型;第三,运用数值分析理论对数学模型进行求解;第四,运用C语言设计计算机程序,并上机试算;第五,对计算机输出成果进行地质成因解释,对所研究的地质问题作出定量的预测、评价和解答。为了很好地解决地质问题,需要同时学好《数学地质》、《数值分析》和《C语言程序设计》三门课程。本文将对《数学地质》、《数值分析》和《C语言程序设计》三门课程的教学内容和方法进行研究,并介绍瓦斯危险性预测数学地质软件的开发。
1数学地质的教学内容及方法
数学地质(mathematicalgeology)是六十年代以来迅速形成的一门边缘学科。它是地质学与数学及电于计算机相结合的产物,目的是从量的方面研究和解决地质科学问题。它的出现反映地质学从定性的描述阶段向着定量研究发展的新趋势,为地质学开辟了新的发展途径。数学地质方法的应用范围是极其广泛的,几乎渗透到地质学的各个领域。
1.1 数学地质的教学内容
数学地质的研究对象包括地质作用、地质产物和地质工作方法。通过建立数学模型查明地质运动的数量规律性。这种数量规律性具体表现为地质体的数学特征、地质现象的统计规律以及地质勘探工作中存在的概率法则。其内容可概括为以下3个方面:①查明地质体数学特征,建立地质产物的数学模型。例如矿体数学特征是指矿体厚度、品位等标志变化的数量规律性。按其属性可划分为矿体几何特征、空间特征、统计特征和结构特征等4类。比如,尽管矿产有多种多样,但矿石有用组分品位的统计分布却服从正态分布、对数正态分布等有限的几种分布律。从它们的分布特征可以分析判断其成因特点,而且各类数学特征还具有不同的勘探效应。②研究地质作用中的各种因素及其相互关系,建立地质过程的数学模型。如盆地沉积过程的数学模型,地层剖面的计算机模拟,岩浆结晶过程的马尔柯夫链分析等。③研究适合地质任务和地质数据特点的数学分析方法,建立地质工作方法的数学模型。论文写作,C语言程序设计。例如,对于地质分类问题,可根据研究对象的多种定量指标,建立聚类分析或判别分析的数学模型,对所研究的地质对象进行分类或判别。又如针对大量的描述性的地质资料,通常可将其转化为0~1变量,建立各种二态变量的多元分析模型(逻辑信息模型、特征分析模型、数量化理论模型等),以解决地质成因分析和成矿远景预测等各类地质问题。论文写作,C语言程序设计。
1.2 数学地质的教学方法
数学地质的教学方法可概括为:①数学模型法。应用最广泛的是各种多元统计模型。例如用于地质成因研究的因子分析、对应分析、非线性映射分析、典型相关分析;用于研究地质空间变化趋势的趋势面分析和时间序列分析方法等。②概率法则和定量准则。由于地质对象是在广阔的空间、漫长的时间和复杂的介质环境中形成发展和演变的,因此地质现象在很大程度上受概率法则支配,且具有特定的数量规律性,这就要求数学地质研究必须遵循和自觉运用概率法则和定量准则。同时,地质观测结果不可避免地带有抽样代表性误差,因此对各种观测结果或研究结论都要做出可靠概率的估计和精度评价。以矿产定量预测为例,不仅要求确定成矿远景区的空间位置,而且应给出可能发现矿床的个数及规模,发现矿床的概率,查明找矿统计标志的信息量、找矿概率及有利成矿的数值区间等。
数学地质的主要研究手段是电子计算机技术,其中包括:①地质过程的计算机模拟,该项技术可以弥补物理模型法和实验地质学法的不足;②建立地质数据库和地质专家系统,以便充分发掘和利用信息资源和专家经验;③计算机地质制图;④地质多元统计计算及其他科学计算。
2数值分析的教学内容及方法
数值分析(numericalanalysis)是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。为计算数学的主体部分。
2.1 数值分析的教学内容
运用数值分析解决问题的过程:实际问题→数学模型→数值计算方法→程序设计→上机计算求出结果。数值分析的教学内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。论文写作,C语言程序设计。
数值分析具有如下特点:第一,面向计算机。第二,有可靠的理论分析。第三,要有好的计算复杂性。论文写作,C语言程序设计。第四,要有数值实验。第五,要对算法进行误差分析。
2.2 数值分析的教学方法
根据数值分析的特点,教学时首先要注意掌握方法的基本原理和思想,要注意方法处理的技巧及其与计算机的结合,要重视误差分析、收敛性及稳定性的基本理论;其次,要通过例子,学习使用各种数值方法解决实际计算问题;最后,为了掌握数值分析的内容,还应做一定数量的理论分析与计算练习,由于数值分析内容包括了微积分、代数、常微分方程的数值方法,学生必须掌握好这几门课的基本内容才能学好这一课程。
3C语言程序设计的教学内容及方法
C语言是一种计算机程序设计语言。论文写作,C语言程序设计。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
3.1 C语言程序设计的教学内容
C语言程序设计主要有两方面教学内容:一是学习和掌握C语言的基本规则;二是掌握程序设计的方法和编程技巧。“规则”和“方法”即语言和算法,是本课程的两条主线,二者不可偏废其一。从一定意义上说,“方法”更重要,因为它是程序的灵魂。一旦掌握,有助于学生更快、更好地学习和使用其他的程序设计语言。
3.2 C语言程序设计的教学方法
C语言程序设计是一门实践性很强的课程,对C语言初学者而言,除了要学习、熟记C语言的一些语法规则外,更重要的是多读程序、多动手编写程序。学习程序设计的一般规律是:先模仿,然后在模仿的基础上改进,在改进的基础上提高。做到善于思考,勤于练习,边学边练,举一反三,学会“小题大做”,一题多解,这样,才能成为一个优秀的C程序员。
4瓦斯危险性预测数学地质软件的开发
瓦斯危险性预测包括瓦斯含量预测、瓦斯涌出量预测和瓦斯突出预测。在利用数学地质技术进行瓦斯危险性预测时,需要进行大量的计算工作,一般要求用计算机完成其数学建模和未采区预测工作。随着计算机软硬件和可视化技术的发展,编制高速、高效、准确、灵活、用户界面友善的数学地质预测软件,是瓦斯地质研究向定量化发展的需要。论文写作,C语言程序设计。
4.1 数学地质模型的建立
瓦斯含量预测和瓦斯涌出量预测采用回归分析建立数学模型,即通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型,并根据实测数据来求解模型的各个参数,然后评价回归模型是否能够很好的拟合实测数据;如果能够很好的拟合,则可以根据自变量作进一步预测。
瓦斯突出预测采用判别分析建立数学模型,即按照一定的判别准则,建立一个或多个判别函数,用研究对象的大量资料确定判别函数中的待定系数,并计算判别指标。据此即可确定某一样本属于何类。
4.2 数学模型的求解
对建立的数学模型,采用迭代法对线性方程组进行求解,即利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
4.3 数学地质软件的开发
采用C语言编写计算机程序,开发数学地质软件。瓦斯危险性预测软件的操作较为简便,功能较为齐全。在软件主界面菜单栏的菜单项下面,可分别进入瓦斯含量预测,瓦斯涌出量预测、瓦斯突出预测的对话框模块。在对话框里分别输入变量数据和数据文件,运行数据文件,按下详细资料或判别结果按钮,可以查看运算结果。按下预测未知单元按钮可进入预测对话框。
5结论
1)对数学地质、数值分析、C语言程序设计教学内容及方法的研究为解决地质问题提供了便利途径。
2)瓦斯危险性数学地质软件的开发较好地运用了数学地质、数值分析、C语言程序设计的理论和方法,为数学地质、数值分析、C语言程序设计的教学提供了应用实例。
参考文献:
[1]韩金炎.数学地质[M].北京:煤炭工业出版社,1993.1-282.
[2]姚传义.数值分析[M].北京:中国轻工业出版社,2009.1-373.
[3]贾宗璞,许合利.C语言程序设计[M].徐州:中国矿业大学出版社,2007.1-378.
篇4
关键词:采煤机滚筒;C语言;Access数据库;程序开发
中图分类号:TP311.11
传统的滚筒采煤机在设计过程中大量数据都需要计算而且步骤繁杂,滚筒作为采煤机的重要构成部分更是如此,人工处理不但耗时,而且效率不高容易出错。而通过计算机编写应用程序,不但能够让电脑处理大量复杂运算、提高计算精度,还能直接显示出计算结果,操作简单,只需要敲几下键盘就能得到结果,而且做到了结果可更新。
1 关于C语言和Access数据库技术的结合
Access数据库是依据严密的数学概念为基础建立的,所以概念统一,entity之间的相互联系都能够用关系表示,所以Access具有清楚、简明的数据结构,对用户开放的存取路径,数据安全和独立性比较完善。
基于C语言的集成开发工具备受程序员们的青睐。C++Builder是一款集成可视化开发工具。它具有高效灵活的可视化开发环境:只要用户把Component拖到Form上,定义出控件的属性,设定出该控件的外观,就能够地建立出该控件应用程序界面。
把C语言和Access数据库技术的结合,能够做到把需要运算的所有数据存储在Access数据库后台,在参与运算时由C++Builder进行计算并通过C++Builder显示出处理结果。
本程序设计的需要计算处理的参数包括辊轮半径、摇臂内存半径、旋转主页片半径、掘进页片半径、掘进页片角度、辊轮宽度、摇臂高度、剪辊长度、掘进页片高度、引擎转速等参数,在现实应用中运行可靠,有效提高了计算速度和精确度,表现突出。
通过镐型齿螺旋滚筒计算程序开发该程序实现了:(1)具有reset参数能力,使辊轮部件参数输入过程得到简化,节约数据输入时间;(2)在各类型轮毂盘大小计算中,运用数据库链接技术实现C++Builder应用程序与Access数据库的对接,能够自动生成大量参数信息,并且能够自动增加或删除记录;(3)可参照不同类型的页片数量计算页片距离;(4)能够自动生成doc格式的计算报告[2]。
2 镐型齿螺旋滚筒采煤机的设计原理分析
2.1 镐型齿螺旋滚筒采煤机的组成
镐型齿螺旋滚筒采煤机重要结构部件主要由驱动电机、牵引部、截割部减速箱、滚筒、电气控制以及附属装置等部分组成[1]。
2.2 镐型齿螺旋滚筒式采煤机各部件的设计原理
2.2.1 镐型齿螺旋滚筒式采煤机截割部的设计
镐型齿螺旋滚筒采煤机的截割部的设计由采煤机的作业装置和驱动作业装置减速箱组成的组建。截割部还包含作业装置的升降部件和拦煤护板以及传送组织。升降部件和传送部件是运用液压驱动及操控的。镐型齿螺旋滚筒是采煤机的作业中枢,它的设计必修能够适用于煤层的实际构造和挖煤流程及挖掘规格的标准[1]。
2.2.2 采煤机的牵引部设计
为了增加采煤机的牵引力,一般设计为双牵引模式,这样能实现无档变速,能够使牵引力能采煤负荷的增加而自动改变。
采煤机的牵引部的设计由滚动设备和牵引部件两部分完成。滚动设备的作用就是把电能通过电机转换成滚动轮的机械能。牵引设备是辅助采煤机顺着作业面运动的组件。根据牵引部在采煤机的不同设计位置如果是在采煤机上面就称为内牵引,如果是设计在采煤机作业面两端为外牵引[1]。
3 镐型齿螺旋滚筒程序的开发
3.1 镐型齿螺旋滚筒零部件的数据输入
需要输入的数据有:辊轮半径、摇臂内存半径、旋转主页片半径、掘进页片半径、掘进页片角度、辊轮宽度、摇臂高度、剪辊长度、掘进页片高度、引擎转速等参数。
3.2 镐型齿螺旋滚筒零部件数据输出
经过计算机优化程序C++Builder对滚筒的各项参数进行优化换算后输出的数据包含各类旋转页片下展开后外圆半径、页片半径参数输出、辊轮半径参数输出(分大辊轮、小辊轮)、旋转页片半径参数输出、掘进板参数输出、摇臂高度参数输出、小页片长度参数输出、固定版大小参数输出等。
3.3 镐型齿螺旋滚筒零部件变量定义
运用C语言来定义滚筒一些零件变量函数:
floatGT;//滚筒半径
floatYB;//摇臂内侧半径
floatYG;//摇臂高度
floatXB;//旋转主页片半径
floatJC;//剪辊长度
floatJB;//掘进页片半径
floatJG;//掘进页片高度
floatJJ;//掘进页片角度
floatYZ;//引擎转速
3.4 Access数据库应用
Access数据库是适合运用在数据处理量不大的工作站计算机程序中的数据库系统,当其需要处理数据量比较小和微型机运行该数据库系统时表现出绝佳性能。该程序设计中计算辊轮面积的需要处理数据量比较小,选用Access数据库处理比较合适,省去了oracle、sqlserver、mysql、db2、sybase等大型数据库的安装使用费用,有利于采煤机滚筒程序设计的计算和运用。在该计算程序中,运用了Access数据库技术来实现辊轮大小运算,能够把计算结果以列表的形式显示,也利于比较数据。
3.5 生成滚筒各零部件数据报表
将C语言程序运算的结果用报表的方法进行输出,有利于设计人员进行查询、核对与存储。该程序中使用C语言中的Qee函数setupQeeitems(“office.fundamenta”)来实现对象创建和函数V.Exec(Process(“plug-in”)用来实现字符在office文档中的插入操作。程序所输出的数据报表格式方便查阅存储。[2-3]。
4 结束语
镐型齿螺旋滚筒设计计算程序,运用C语言和Access数据库技术相结合,实现了大、小辊轮摇臂等零部件尺寸等参数的电脑编程运算,能够自动生成doc格式的数据报告。使得计算方法得到简化,计算速度有所提高。在利用计算机程序对采煤机的镐型齿螺旋滚筒设计开发过程中,将原来手工设计时需要一个多小时的计算量在利用计算机编程就能够缩短到几分钟就能完成,并且计算结果准确可靠,是一次有效的利用计算机编程对采煤机滚筒设计运算工作的技术改造。
参考文献:
[1]王大川,于利洋.滚筒采煤机的工作原理分析[J].科技资讯,2012(07):89.
[2]路潞,陶嵘.基于C语言和Access数据库的镐型齿螺旋滚筒计算程序的开发[J].煤,2010(09):80-81.
[3]屈中华.滚筒采煤机螺旋滚筒的参数优化设计研究[D].东北大学,2008.
篇5
关键词:.net;microstation;addins
中图分类号: TP311 文献标识码: A 文章编号:
Microstation 是全球驰名的美国Bentley 公司开发的企业及工程模式应用软件产品的基础软件,专为公用事业系统、公路和铁路、桥梁、建筑、通讯网络、给排水管网、流程处理工厂、采矿等所有类型基础设施的建筑、工程、施工和运营而设计。本文针对当前市场上Addins二次开发帮助比较少的现象,讨论了在VS2010环境下,如何使用C#语言去实现Microstation Addins的二次开发,目的是帮助初学者快速入门,为更深层次的开发做准备,具有一定的实用价值。
Microstation二次开发简介
Microstation二次开发的语言有多种,每种开发方式都有不同的特点。常见的开发方式
有MDL、VBA和Addins等。MDL功能强大,但开发难度较大。VBA开发相对简单,但功能不如MDL,代码的保护性也差。而Addins结合了两者的优点,可充分利用.NET的各种优势,在保证功能强大的前提下大大提高开发速度。
Addins是一种全新的开发方式,从V8XM开始支持,完全基于.Net平台,可以使用C#、和C++.NET语言编程。它可以使用WinForm开发出美观实用的用户界面,对于Addins还没有封装的功能,可以调用MDL函数来实现。Addins编译生成的是dll文件,可以直接被Microstation使用。
Addins二次开发流程
基于C#的Addins二次开发流程如图1所示:
图1 Addins二次开发流程图
环境搭建
环境搭建主要包括Visual Studio、Microstation和Addins向导的安装。
Addins向导的安装及配置如下:
解压MicroStationAddInWizard2005.rar开发包,将将解压后的vcprojects和VCWizards两个目录复制到VS2010安装目录的VC目录下,修改vcprojects目录下的MicroStationAddInWizard.vsz文件,修改为“Wizard=VsWizard.VsWizardEngine.10.0”(如果是VS2008,则修改为“Wizard=VsWizard.VsWizardEngine.9.0”)
(2)新建工程
打开VS2010,新建项目,选择VC++下的“MicroStationAddInWizard”模板,语言选择
C sharp,后面的选项页中均勾选,完成后生成项目。
(3)添加dll引用
使用Addins二次开发,需要使用bentley提供的dll文件,安装好Microstatoin后,这些dll文件位于Microstation及其子目录assemblies中,需要用到的dll文件有:
bentley.General.1.0.dll、bentley.interop.microstationdgn.dll、bentley.microstation.dll
bentley.MicroStation.General.dll、bentley.MicroStation.Hosting.dll
bentley.microstation.interfaces.1.0.dll、bentley.windowing.dll、ustation.dll
需要用到的命名空间有:
using BMW = Bentley.MicroStation.WinForms; using BWW=Bentley.Windowing.WindowManager;
using BMI = Bentley.MicroStation.InteropServices; using BCOM = Bentley.Interop.MicroStationDGN;
using BM = Bentley.MicroStation;
(4)增加实际功能
1>添加Windows窗体(如FrmMain)及其控件,修改其相关属性。
2>增加实际功能,如绘制智能线。核心代码如下:
BCOM.Application app = App;
LineElement thisLine = app.CreateLineElement1(null, ref thisLineP); //创建线
thisLine.Color = 1; //颜色
thisLine.LineWeight = 2; //线宽
app.ActiveModelReference.AddElement(thisLine);//加入到当前模型
3>将FrmMain的继承类由System.Windows.Forms.Form改为BMW.Adapter
4>调用FrmMain。FrmMain可作为顶级(TopLevel)对话框,也可作为工具设置(ToolSettings)对话框,以及可停靠(Dockable)对话框。
Addins支持命令形式调用,此时需要定义命令键入类(如KeyinCommands.cs),并在commands.xml文件中作相应定义。核心代码如下:
protected override int Run (System.String[] commandLine ){
s_comApp = App;
s_comApp.CadInputQueue.SendKeyin("mytool open");//命令调用
//直接调用
//FrmMain thisFrmMain = new FrmMain();
//thisFrmMain.AttachAsTopLevelForm(mytool.s_addin, true);
//thisFrmMain.Show();
return 0;}
//KeyinCommands.cs
internal class KeyinCommands{
public static void mytoolCommand(System.String unparsed){
FrmMain thisFrmMain = new FrmMain();
thisFrmMain.AttachAsTopLevelForm(mytool.s_addin, true);
篇6
关键词:抗张力;抗张强度;抗张试验机;C8051F064
中图分类号:TS736+.2
文献标识码:A
文章编号:1006-8228(2011)08-08-02
引言
随着我国经济的繁荣和发展,人们对物品包装、印刷等的要求越来越严格,包装需求量与日俱增,对包装印刷材料的印刷适性的测试需求越来越高。因此,研制一种既符合ISO国际标准,又能从价格上被国人所接受的高性价比纸张印刷适性智能检测系统,对促进我国造纸印刷业的发展具有积极的意义。随着新技术的不断发展,相关的国际国内标准不时进行相应的修订,提高了对测试仪器的要求。与电子、日化等其他行业相比,我国的这类测试仪器整体水平处于相对落后状态,不能很好地适应我国迅猛发展的造纸和及印刷行业面向国际的需要。因此为印刷、造纸行业提供一种测试技术先进、操作简便、自动化程度高的新型电脑抗张试验机就显得非常重要和迫切,对提高行业水平,与国际水平接轨也具有重要的意义。
我们研究的电脑抗张试验机广泛适用于纸张、纸板、塑料薄膜以及其他非金属材料抗张强度、伸长率、抗张能量吸收的测定试验。它可以测量试样抗张力、抗张强度、伸长率、裂断长、抗张能量吸收、指数的智能型数字仪器。该仪器功能齐全,测量精度高,能够显示测量值的大小,测量范围广,并提供了一个友好的人机对话界面,操作简单方便。本文以C8051F064为核心分析设计该试验机的研制过程。
1、系统组成及工作原理
1.1 系统硬件组成
系统的结构如图1所示。
C8051F064为试验机的主控CPU,负责与用户的对话和设备的控制。存储器为非易失性存储器,用于保存用户设置的参数和系统的内部数据。液晶屏用于显示人机对话界面。打印机采用微型打印机,打印测试报告。传感器用于检测试样的抗张力。按键作为人机对话操作,负责指令的输入。步进电机和驱动器为仪器的动力源,用于驱动试验机的拉伸部件,对试样进行拉伸运动。串口用于上下位机的通讯电平转换。
1.2 系统工作原理
电脑抗张试验机利用步进电机驱动传动机构,使试验机的动夹头以设定的拉伸速度拉动被测试样,利用拉力传感器检测试样在被拉伸时所承受的最大拉力值并记录试样被拉伸的变形量,直到试样被拉断或拉溃为止。同时,系统将采样到的力值和变形量以曲线和数字的形式在显示屏上显示出来,让用户了解试样的动态性能参数。
2、主要硬件电路设计
2.1 C8051F064
C8051F064器件是完全集成的混合信号片上系统型MCU,具有59个数字I/O引脚,片内集成了两个16位、l Msps的ADC;64KB可在系统编程的FLASH存储器;4352字节的片内RAIVI;可寻址64KB地址空间的外部数据存储器接口;硬件实现的SPI、SMBus/12C和两个UART串行接口;5个通用的16位定时器;具有6个捕捉,比较模块的可编程计数器/定时器阵列;片内设有看门狗定时器、VDD监视器和温度传感器;在使用JTAG调试时,所有的模拟和数字外设都可全功能运行;每个MCU都可在工业温度范围(-45℃到+85℃)工作,工作电压为2.7-3.6V;端口I/O、/RST和JTAG引脚都容许5V的输入信号电压。
2.2 传感器
测力传感器是电脑抗张试验机的关键部件,它的性能及准确度直接影响到整个测力仪的性能及指标。测力传感器的种类很多,根据国标GB/TBl634-2000对测力仪用传感器的要求,经过测试与比较,我们选用了S型传感器以及柱式传感器。S型传感器用于检定量程100kN以下的试验机,100kN以上试验机则用柱式传感器来检定。S型测力传感器具有准确度高、可靠性好、性能稳定、可拉压两用、抗偏载能力强等性质,可用于电子皮带秤、料仓秤、配料秤、机电结合称、吊钩秤及其他力值的测量与控制及计算机控制配料系统等。
2.3 PF8563时钟日历芯片
PCF8563是PHILIPS公司推出的一款工业级内含12C总线接口功能的具有极低功耗的多功能时钟,日历芯片。PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能,能完成各种复杂的定时服务。甚至可为单片机提供看门狗功能,内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制12C总线通讯方式,不但使电路极其简洁,而且也增加了芯片的可靠性,同时每次读写数据后,内嵌的地址寄存器会自动产生增量。
PCF8563有16个位寄存器,一个可自动增量的地址寄存器,一个内置32.768KHz的振荡器(带有一个内部集成的电容),一个分频器用于给实时时钟RTC提供源时钟,―个可编程时钟输出一个定时器一个报警器,一个掉电检测器和一个400KHz 12C总线接口。
所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。前两个寄存器内存地址(00H,01H)用于控制寄存器和状态寄存器,内存地址(02H-08H)用于时钟计数器(秒一年计数器),地址(09H-0CH)用于报警寄存器(定义报警条件)地址0DH控制CLKOUT管脚的输出频率,地址0EH和0FH分别用于定时器控制寄存器和定时器寄存器。秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警等寄存器,编码格式为BCD,星期和星期报警寄存器则不以BCD格式编码。当一个RTC寄存器被读时所有计数器的内容被锁存,因此在传送条件下可以禁止对时钟日历芯片的错读。
3、软件设计
软件程序由参数设置、启动、打印、设置编码、出厂设置、结果统计等几部分组成,流程图如图4所示。
4、测量结果
C8051F064集成了两个1Msps、16位分辨率的ADC,试验机的最大测试量程一般为300N,以此ADC对传感器接收到的力值信号进行模/数转换,系统的最小分辨率可达0.0046N,在测量时可达到很高的精度。
另外,力值传感器的最大反应(变化)频率一般为1kHz左右,用本系统的ADC,以1Msps的频率对传感器信号进行采样,能够完全保证系统可以采试样的最大峰值。经实际测试,系统的静态力值准确度一般都达到了0.1%左右。
5、结束语
本文所述试验机和同类产品比较,具有测量精度高、可以实时显示力值变形量曲线、可与上位机软件配套使用、方便测试数据的管理等有优点。上位机显示界面如图5所示。该试验机已经投入市场使用,具有良好的市场前景。
参考文献:
[1]泽雷尔.嵌入或系统的C程序设计[M].机械工业出版社,2002.
[2]M帕兹.结构动力学――理论与计算[M].地震出版社,1993.
[3]郑百哲.包装动力学[M].北京科技出版社,1990.
篇7
【关键词】 OPAC 应用与开发 检索策略
从当前的公共图书资源管理模式来看:其中,联机公共检索目录是一种相对突出的主流方式。因此,可以从技术层面进行深入的探索,这一种由美国一些大学图书馆发起的公共检索系统,具有很多的技术优势,从1976年的首批联机公共检索图书馆的发展来看,能起到更好的推动效果。早期OPAC延续传统图书馆卡片目录构建思路,能全面提供与卡目内容相符合的记录内容,同时对于整个检索的格式与需求点形成精细化的系统管理,具有很大的优势。从这种系统检索功能的整体发展来看,主要经历了中心化、分布式、定制系统化不同时代的产品系列开发,构成整个系统的规模化发展模式,这种扩展现状的整体改变,有不同的资料构成电子目录的资料汇集,并形成整个扩展的统计资料、图像、音像以及相关的综合信息,服务对象也能从单一的图书馆读者形成相应的多功能的网络服务,形成分布式的信息资源管理系统。
1 OPAC发展阶段
1.1 第一代OPAC
在第一代公共检索系统的整体发展中,形成个性化的综合发展模式,在具体的命名中,OPAC的名字采用的就是先组式系统方式,在上个世纪70年代,在很多的美国大学中,一些公共图书馆在研究具体的资助项目的基础上,开始进行这方面的研究与探索,并采用的是非盈利方式的管理,并且在侧重点上,也是为整个图书馆的工作人员服务的,这些具体的管理项目记录着图书资源的流动与编目,并没有为用户提供相应的公共检索服务。因此,在这样的环境下,就会产生出不是很充足的发展方向,主要是OCLC、RLIN、WLN和ULTAS等组成中形成公共检索概念的整个应用,形成相匹配的字段运用模式,更好的实现整个系统的初步优势。
在整个用户界面的运用中,主要是采用菜单式的控制检索过程,尤其是在这种技术操作系统相对复杂,必须要经过严格的专业训练,才能更好的掌握相应的检索技术,因此,在当时的背景下,要形成全面的推广效果,这些还是存在一定的困难的,同时,作为一种新型的信息组织查询系统,这种快速处理的方式也深的用户的喜欢。
1.2 第二代OPAC
在第一展的基础上,第二代的整体运用有着很大的优势,尤其是在关键词后组式的系统形成中,道了上个世纪80年代,这一种新技术的运用相对广泛,并呈现出了更多的亮点,采用的书目信息检索系统的模式,并在字词后组配的实现后,形成关键词组的检索,能大大提高检索的整体功能,尤其是在界面采用下拉菜单式的综合管理,能提供相应的帮助、浏览运用,充分发挥出在检索系统中的查询、人机交互等效果,并具有一定的用户导航效果,具有很大的综合优势,因此,通过综合管理的效果运用,能形成高速检索的管理方式,尤其是词组检索效果的融入,能大大提高整个检索的功能。但是,在具体的检索过程中,这些系统的运用,还存在有一定的误差和不足,尤其是在检索能力的界面设计、相应实践、数据库的建立等方面,还存在一定的误差,尤其是在不同系统的综合运用中,也会受到相互不兼容的综合影响,带来一定的困扰。
1.3 第三代OPAC
第三代公共检索系统的发展呈现出更多的亮色,尤其是在整个检索功能、技术的创新上,有了更多的突破,增强式的检索以及匹配技术,检索结果的相关性排序等新技术的推广应用,更多的为公共检索系统的全面升级注入了全新的技术要素,第三代公共检索系统开始实现与用户的相互交流,并实现理解与用户需求能力的整体设计平台,在现代化计算机的运用系统中,改善整个用户检索的策略和相应的过程,帮助用户在整个过程中获取更多的检索结果。第三代公共检索系统能具体的进行词组检索与关键词的检索功能,更多的为用户提供联机帮助,扩展整个图书检索的数据范围,对于相应的目录、专题数据库、全文数据检索等,形成整个信息资源的综合管理,尤其是在用户界面采用超文本的界面效果等,将不利于整个技术过程的综合实现。
2 基于OPAC使用现状分析
从目前整个联机公共检索系统的运用来看,整个系统的综合模式有了更多的亮点,无论是整个经验用户还是没有经验的用户都能形成Google的技术运用,形成图书馆目录的搜素策略,从整个具体的运用来看,主要有这几个方面的综合表现。
(1)用户首选的搜索选项往往是任意关键词。在用户首选的搜素系统来看,用户习惯于在网络上进行引擎搜素,尤其是在图书馆的综合管理中,就会在联机公共检索系统中进行关键词的检索,在系统的运行中,会形成自觉判断的匹配效果,尤其是在计算机信息充足的情况下,能形成更加精准的数据显示,有利于整个系统功能的发挥,并在对图书资源的题名、作者、关键词等进行综合检索,并构建一部分系统的支持关键词检索匹配功能,大大增强整个系统的功能实现。因此,从大量的数据显示中,形成整个功能匹配效果的模式运用,形成更加精准的效果运用。
(2)用户不善于运用同义词概念来修正搜索。在整个检索功能的发挥中,在检索效果不佳的情况下,可以进行相应类型的转换,用户可以采用技巧话的搜素功能,加上一个字或者采用专业术语的扩展等方式,或者运用相对应的同义词进行替换,在这种形势下,就能形成整个在线图书目录管理的有效途径,在这中技术要求下,尤其是在运用同义词检索的情况下,可以有效实现对整个新老用户的联机公共检索功能,表现出各自与网络相连接的技术服务体系,更好的实现整个检索效果的提升,形成不同检索技术的综合提升。
2.1 基于用户使用情况及特点
(1)搜索的随机性和缺少耐心,他们往往快速翻屏,不会花时间反复仔细地查看屏幕上所有的内容和选项,而是选择第一个吸引眼球的有可能相关的链接。他们动作敏捷,但当结果似乎不够满意时同样会迅速放弃。
(2)草率评估搜索结果,由于用户普遍认为图书馆OPAC的搜索结果会像许多因特网搜索引擎那样按相关度分级,因此仅根据前几个结果便断定自己的搜索是否有效,在浏览了首次出现的匹配后往往极少继续浏览,多数用户仅查看一个屏幕的匹配。
(3)愿意尝试新事物,他们往往疯狂点击各种搜索选项,就像在网上冲浪一般,并不担心系统会崩溃。他们很少花时间考虑如何构建完美的搜索策略,而更愿意花较多的时间来尝试不同的事物。这种无畏或鲁莽的劲头让新用户走了许多弯路。
(4)缺乏经验影响到了用户的坚持性。经验有限的新用户无论年龄大小,在使用图书馆OPAC时都会遇到包括概念、有效关键词组合和布尔运算符等方面的困难,从而更容易放弃搜索。
(5)关注超级链接,新用户几乎无一例外地把精力集中在OPAC中具有类似因特网超级链接功能的字段中。在某些语境中,只关注这些链接可能忽略屏幕上其它一些重要内容和细节级的用户,这对于我们重新认识现行系统有着重要的意义,即我们应该建立起一个更简便、更高效、更具亲和性的系统与界面,使其真正符合终端用户搜索图书馆目录任务的实际需要。
3 基于OPAC应用开发及信息检索研究
(1)应以用户需求为中心,增强检索功能,最大限度地满足用户快速、准确、全面地检索所需文献。OPAC系统应充分借鉴国外系统的先进技术与经验,通过增加检索点、完善检索策略提供二次检索以及提供各种输出方式等多种途径最大限度地满足用户检索需求。
(2)未来的OPAC将是一个集成图书馆各种资源的目录体系。用户不仅可以检索本馆各类文献资源,而且能够方便地查寻其它图书馆的书目资源以及数字化资源。而要实现OPAC与馆际类资源的集成,最大范围地实现资源共享,不仅需要有先进的技术,更需要图书馆之间真诚的合作与不懈的努力,才能真正实现图书馆资源面向社会开放。
根据上述调查,本文认为OPAC系统虽然在基本功能方面差异不太明显,但在影响用户使用系统效果的若干核心指标上存在明显差距,主要表现在以下几个方面:
3.1 检索功能
(1)检索点:检索点设置能否充分满足用户需求,直接关系到用户检索查询服务的质量。以任意词检索为例,系统根据用户输入的检索词,自动查找书目记录的所有字段内容,免去用户选择检索入口的操作步骤。为用户提供最方便、快捷的检索服务。由于语言环境、用户对象以及所采用的字符集的不同,国内外系统在检索点设置方面各有特点。总体来说,国外系统提供的检索点更完善。例如,提供20多个检索点,以方便不同类型、不同层次用户的检索需求。
(2)检索策略:检索策略的好坏直接影响用户检索的查全率和查准率。目前,国内外系统的检索策略虽各具特色,但国外系统则更为完善。除了提供基本的检索方式如布尔逻辑检索、精确检索、模糊检索,还提供功能强大的多语种检索,例如,系统的多语种检索能够提供20种语言界面并支持多种字符集,而且国外系统还具有存贮检索策略的功能[2]。而国内系统目前通常仅能提供中、英文两种语言界面,在多语种检索方面还很不完善,由于读者群相对少,在书目数据的建设方面也存在明显的疏漏。
(3)二次检索:是在检索结果中检索。当检中记录太多时,在检索结果范围内查询可有效地提高检索效率,快速找到用户所需文献。目前国外系统都能够进行二次检索,而国内大多数系统只提供重新检索[2],即另一次新的检索,仅少数系统提供二次检索功能。
(4)检索限定:通过限制时间、地点、语种、文献类型等方式缩小检索范围,帮助用户快速、准确地检中所需文献。当检索结果数目大时,其优点更为明显。国外系统通常提供二次检索附加检索限定,例如,系统在检索结果页面提供出版时间、馆藏地、语种、文献类型等限制字段供用户选择。目前国内系统检索限定功能通常出现在高级检索(或复杂检索)界面,仅少数系统提供二次检索附加检索限定。
3.2 检索结果处理
在检索结果的综合运用中,要形成全面的系统管理模式,尤其是围绕用户的图书资源需求,形成使用效果的综合管理方式,在具体的应用中,要针对相应的排序组织检索功能的实现,形成检索结果的列表实现,消除面对大量无序检索的不同影响。国外系统检索结果处理功能总体来说更为完善,除提供记录的多种显示格式简单、复杂等记录的打印外,还提供按特定字段内容的排序显示、存贮以及通过、发送等功能,而目前国内系统在这方面存在明显差距,尚不能提供按字段排序、打印等。
参考文献:
[1]乔欢等.OPAC沿革及其发展趋势[J].国家图书馆学刊杂志.2006(4):5-8.
[2]芦红.国内外大学图书馆联机公共检索目录现状分析[J].现代图书情报技术,2006(6):89-91.
[3]祝力.试析因特网对用户利用图书馆OPAC的影响[J].图书情报知识,2006(1):35-38.
[4]宋登汉,詹萌.中外OPAC系统的比较与分析[J].图书情报知识,2005(3):44-46.
[5]吴彩凤.网络环境下OPAC用户需求及其发展方向[J].情报科学,2008(12):23-28.
篇8
【关键词】TETRA数字集群 直通模式 上MAC
1 引言
TETRA数字集群直通模式(DM)是指移动终端之间直接进行通信的一种单工操作方式,是对集群模式的有效扩充。无论是否有集群网络覆盖,TETRA数字集群终端都可以进行直通模式操作。直通模式上MAC层的主要功能为系统同步、信道状态的确定以及争用控制等,是直通模式协议栈的重要组成部分。
2 直通模式上MAC
2.1直通模式协议栈的结构
直通模式协议栈遵循OSl七层模型,可分为物理层、数据链路层和网络层,其协议栈结构如图1所示。
物理层(PL)的功能主要为调制和解调、发射机和接收机的转换、符号同步等。数据链路层(DLL)包含两个子层:上MAC和下MAC。下MAC主要负责信道编码和交织;上MAC的主要功能为信道状态的确定、分片和重组以及争用控制等。在DLL上,协议栈被垂直分成两部分:控制面和业务面。控制面用于传输有寻址能力的信令信息。业务面用于传输无寻址能力的业务信息。网络层主要包括直通模式呼叫控制(DMCC)实体,负责处理呼叫控制、短数据业务以及固有业务。
2.2上MAC的功能
上MAC的主要功能为争用控制、分片和重组、业务信道的挪用、第2层地址的管理、帧和复帧结构的维护、DM信道状态的确定以及无线链路的建立。
2.3DM信道
TETRA数字集群直通模式的1个帧由4个时隙构成,侣个帧构成1个复帧。一个DM信道占用两个时隙,即一个载波存在两个DM信道,分别定义为DM信道A和DM信道B。DM信道A由时隙1和时隙3组成;DM信道B由另外两个时隙组成,如图2所示。
一个DM呼叫占用一个DM信道。当终端发起一个DM呼叫时,如果DM信道A(时隙1和时隙3)已被占用,则在DM信道B上建立该呼叫;否则,一直使用DM信道A建立呼叫。当DM信道B被占用时,由于该信道上的时隙计数比DM信道A上的时隙计数延迟一个时隙,所以在DM信道B的内部,呼叫业务所占用时隙仍然为时隙1和时隙3。
每个DM信道有空闲、占用和保留三种状态,分别表示无业务、业务进行中和业务结束中。
2.4帧结构的限制条件
根据特定时隙上传输的内容,对直通模式帧结构进行下列限制:
帧18用于同步功能,并在该帧的时隙1和3上发送直通模式同步突发(DSB)。
在占用过程中,在帧6和12的时隙3上,利用DSB发送占用信息;在时隙1上,发送业务信息。
在保留过程中,在帧6和12的时隙1和3上,利用DSB发送保留信息。
在占用过程中,允许在帧2、5、8、11、14、1 7的时隙3上,发送预占信息。
在占用过程中,允许在帧3的时隙3上,用直通模式线性突发(DLB)进行线性化。
在占用过程中,在帧1~17的时隙1上,发送业务信息。
3 上MAC的工作过程
3.1呼叫建立
根据从属用户的存在情况,直通模式的呼叫建立方式可分为不带检验的呼叫建立和带检验的呼叫建立。不带检验的呼叫建立是指主控用户不需要确定从属用户是否存在就可以发送业务数据;带检验的呼叫建立是指主控用户发送业务数据前需要获得从属用户的确认消息。
(1)不带检验的呼叫建立
不带检验的呼叫建立过程如图3所示。
当主控用户的DMCC向上MAC发送DMA―UNITDATA_REQ原语(该原语携带DM_SETUP PDU)时,请求呼叫建立。在主控用户的上MAC向下MAC发送发射机线性化指令之后,利用帧倒计数机制以适当的次数重复发送呼叫建立消息(图2中的“SU”,使用DSB发送),主控用户的上MAC由控制模式切换为业务模式,并通知下MAC在帧1~17的时隙1上发送业务数据(图3中的“TC”)。
当从属用户的上MAC成功地解码且解码后的目的地址与从属用户的地址相同时,将接收到的呼叫建立消息通过DMA_UNITDATA_IND原语发送给DMCC。如果从属用户应用接受该呼叫请求,那么DMCC向上MAC发送DMC_CONFIGURE_REQ原语,上MAC由控制模式切换为业务模式,并且指示下MAC在帧1~17的时隙1上接收业务数据。
(2)带检验的呼叫建立
带检验的呼叫建立过程与不带检验的呼叫建立过程类似。在带检验的呼叫建立过程中,主控用户要求从属用户对呼叫建立消息进行响应,该响应指示从属用户是否在线和是否接受该呼叫请求。在主控用户接收到从属用户的呼叫建立确认消息之后,主控用户开始发送业务数据。
3.2呼叫转换
呼叫转换是指主控用户和从属用户交替发射权的过程,即PTT的切换过程。根据DM信道上争用的情况,呼叫转换分为不存在碰撞的呼叫转换和存在碰撞的呼叫转换。
(1)不存在碰撞的呼叫转换
不存在碰撞的呼叫转换过程如图4所示。
主控用户(图4中的“用户A”)通过发送业务终止消息(图4中的“txc”)向从属用户通知呼叫业务结束,DM信道由占用状态变为保留状态。在信道保留期间,主控用户的上MAC守候在帧1~17的时隙3,等待接收呼叫转换请求消息。当主控用户接收到一个有效转换请求时,利用转换确认消息(图4中的“txa”)为成功发送请求消息的从属用户(图4中的用户B)释放信道,则用户A成为从属用户。在用户B接收到转换确认消息之后,用户B成为新的主控用户。
(2)存在碰撞的呼叫转换
存在碰撞的呼叫转换过程如图5所示。
在组呼过程中。当不同的从属用户同时发送转换请求消息时,就会发生争用现象。上MAC通过基于二元指数back-off机制的时隙ALOHA算法,解决直通模式呼叫过程中的碰撞问题。
在从属用户发送转换请求之后,该用户的上MAC在下一帧的时隙1上等待接收主控用户发送的响应消息。如果上MAC没有接收到该消息,那么上MAC认为本次发送失败。从属用户的上MAC根据第一次发送的情况并利用二元指数back-off算法产生一个随机数K,在延迟K个有效时隙之后,上MAC再次发送转换请求。图5中的从属用户B和c在帧15的时隙3上同时发送转换请求,由于消息发生碰撞,接入失败。在延迟两帧之后,用户B第二次发送转换请求,接入成功。
3.3呼叫预占
呼叫预占是指在呼叫过程中,主控用户以外的用户由于优先原因(例如:紧急呼叫),需要中断当前的业务,重新建立呼叫的情况,该过程如图6所示。
根据直通模式帧结构的限制条件,用户只能在帧 2、5、8、1 1、14和1 7的时隙3上发送预占消息。图6中的用户B在帧5的时隙3上发送预占消息(图6中的“p rq”)。在用户A接收到该消息之后,向用户B发送预占确认消息(图6中的“par”和“pa”)。在用户B接收到该确认消息之后,用户B成为新的主控用户。
3.4呼叫终止
呼叫终止是指整个呼叫业务结束,在下列两种情况中出现呼叫终止情况:
(1)主控用户释放PTT且保留定时器定时时间到
主控用户的DMCC向上MAC发送终止消息(DM_TX_CEASED),在上MAC以适当次数重复发送该消息之后,DM信道进入保留状态,并且上MAC在帧6、12、18上利用DSB发送保留消息(DM_RESERVED)。当保留定时器定时时间到时,上MAC停止发送保留消息,DM信道进入空闲状态。
(2)主控用户主动释放信道
主控用户的DMCC向上MAC发送信道释放消息(DM_RELEASE),在上MAC以适当次数重复发送该消息之后,DM信道进入空闲状态。
4 上MAC协议栈的开发和测试
4.1上MAC协议栈的开发
在To rnado环境下,利用C语言对上MAC层协议栈进行开发。首先,基于上MAC功能和工作过程,设计上MAC与DMCC的接口原语和上MAC与下MAC的接口原,语;其次。根据k,MAC的功能划分功能模块;然后,对各个功能模块进行编程;最后,对编写的程序进行仿真和调试。上MAC协议栈开发的主流程如图7所示。
上MAC程序主要包含中断处理函数和主函数。每个时隙(~14.167ms)产生一次外部中断,外部中断触发中断处理函数的执行,中断处理函数触发主函数的执行。主函数主要包含接收处理模块和发射处理模块。
4.2仿真测试
在完成上MAC协议栈开发之后,利用Tornado环境中的VxSim仿真工具,对上MAC协议栈进行协议一致性测试。目标仿真器输出窗口显示协议栈测试信息,图8示出了呼叫建立的仿真测试过程。
在主控用户的I-MAC接收到DMA_UNITDATA_REQ原语之后,首先,上MAC检验该原语所承载的消息类型,当消息类型为DM_SETUP时,上MAC进入主控用户发射流程;然后,上MAC采用帧倒计数机制发送8次DMAC_SYNC PDU,每个I-MAC PDU中承载了信息完全相同的DM_SETUP PDU;最后,上MAC指示下MAC发送逻辑信道类型为TCH的语音数据(图8中的“U―TCH”)。
篇9
关键词 过程控制系统;PLC;实验装置
中图分类号:G642.423 文献标识码:B
文章编号:1671-489X(2017)02-0041-02
Development of Process Control System Experiment Module based on PLC//SHEN Yabin, ZHAO Tao
Abstract The process control experimental modules designed based
on PLC controller in this paper can be combined with PLC, PLC analog extended module to form the integrated experiment system with convenience and practicality, it can meet the requirements of process control, PLC experiment teaching, can make the students deepen their grasp of knowledge in process control system, PLC control, PID technology. At present the experiment modules have been awarded national invention patent.
Key words process control system; PLC; experimental device
1 前言
^程控制是一门理论与生产实际结合紧密的自动化专业课程,具有很强的工程实践性,相应的过程控制实验是本课程重要的教学环节。学生通过实验,可以了解各种过程控制仪表(包括检测元件及变送器、调节器和执行器),掌握过程对象的建模方法和过程控制系统的设计方法(包括系统构建、控制算法设计、控制参数整定等),并对计算机过程控制系统有一定的了解及掌握。
南京工程学院为提高学生的理论素质、实践能力和改善就业,用大量资金购置多套专业实验装置。过程控制实验室原先采用的是浙大中控10多年前的SUPCON JX-300 DCS系统,配上基于工业过程的物理模拟对象系统,该系统包括流量、温度、液位、压力等热工参数,可实现系统参数辨识、单回路控制、串级控制、前馈―反馈控制、比值控制、解耦控制等多种控制形式。但由于使用年限较长,技术陈旧,且系统站点通信也不可靠,给实验的正常开展及实验效果带来很大影响。
学校近年添置一套南京科远自动化NT6000 DCS系统,但该系统没有配备物理控制对象,只能在DCS的工程师站上进行模拟组态和运行,使得学生不能通过实验真实体验实际工业生产过程控制的具体流程,不能帮助学生真正建立过程控制系统的概念,存在理论和实践脱节的问题。
以上两种基于DCS的实验系统都属于站点多(包括现场控制站、工程师站、操作员站等)的大型装置,占用实验场地大,添置、改造成本高,实验的灵活性、便利性较差。另外,PLC作为工业自动化的三大支柱之一,由于其技术的发展、性能的提高、组网通信功能的灵活,现已广泛应用于过程控制领域,与过程控制的结合愈发紧密。为此,研究开发一套基于PLC控制器的混合信号实验模块。该模块既可作为过程控制系统课程的教学实验装置,又可作为PLC课程的实验控制对象,分别进行开关量和模拟量控制的多个实验,减少专业实验装置的投资,有效提高装置的利用率和实验的便利性。此外,在该实验模块基础上还可进行设计性拓展,有利于培养学生的动手能力、创新意识和科研素质。
2 实验模块设计
系统框图 设计的基于PLC控制器的过程控制实验系统框图如图1所示。该实验系统由PLC、实验模块(PCB板)、PLC模拟量扩展模块等构成,是一套便利性、实用性很强的实验装置,能满足过程控制、PLC课程的实验教学要求,还可为学生加深对过程控制系统、PLC控制、PID技术等知识的掌握,建立明晰的系统概念。
实验系统各部分说明 由实验模块作为主要受控对象构成的实验系统主要包括模块PCB板、PLC控制器和PLC模拟量扩展模块:PCB板包括DC-DC电路、信号给定及被控对象电路(模拟PI调节模块和模拟二阶被控对象模块)、数字信号输入输出电路、译码锁存及数码显示电路、PCB板输入输出接口、第一端子排和第二端子排;PLC控制器包括电源电路、PLC控制器输入输出接口和中央处理单元;PLC模拟量扩展模块包括PLC模拟量扩展模块输入输出接口。数字信号输入输出电路、译码锁存及数码显示电路和PCB板输入输出接口均通过第一端子排与PLC控制器输入输出接口相连接,信号给定及被控对象电路通过第二端子排与PLC模拟量扩展模块输入输出接口相连接。
实验模块的特点 采用通用化设计,PLC主机及其模拟量输入输出模块完全可以根据用户要求自行配置,如西门子、三菱、欧姆龙、松下、台达等,适应性强;功能全面,实验项目丰富,结合过程控制和PLC的经典控制实验,可以丰富目前高等院校过程控制及PLC实验教学内容;成本低廉、输入输出接口通用、使用灵活方便、扩展灵活、易于维护、占用PLC资源少,方便教学实验,具有良好的应用前景。
3 实验项目的开发
基于PLC控制器的过程控制实验模块,作为模拟被控对象,结合PLC及PLC的模拟量输入输出模块,既可以做诸如多路信号巡回检测及数据处理、基于PLC的数字PID闭环控制、显示及报警等传统过程控制的实验,也可做诸如带倒计时的交通信号灯控制、顺序控制、多路彩灯控制等经典PLC实验,功能全面。
基于PLC的巡回检测及数据处理实验 由PCB板上的信号给定模块提供两路模拟实测物理量,经PLC(以西门子S7 200 PLC为例)模拟量扩展模块(型号EM235)定时采集输入,与内给定值进行比较,输出相应切换信号,并且可以设定物理量的上下限值进行越限报警,同时实现实测物理量的显示。
基于PLC的PID闭环控制实验 可通过PCB板上的调试开关连接模拟PI调节模块102c和模拟二阶被控对象模块102b,模拟二阶被控对象模块102b的输出量通过PLC模拟量扩展模块(型号EM235)输入,通过信号给定模块102a改变给定值,通^模拟对象输出量的显示观测PID闭环调节的过程,可以通过实验比较模拟PI调节与PLC的数字PID调节的效果。
基于PLC的交通信号灯控制系统 由PCB板上的16个LED指示灯分别模拟十字交通路口的12个红、黄、绿指示灯和4个路口4辆汽车的行止状态,由PLC的数字量输出口进行控制,东西、南北向的交通控制时间可由数码管进行倒计数显示。另外,若将12个红、黄、绿LED指示灯分成3组,就可模拟进行不同要求的彩灯实验;还可将16个LED灯分组模拟不同对象,进行各种顺控实验。
4 结语
采用基于PLC的过程控制系统实验模块,丰富了过程控制系统和PLC两门课程的实验项目和实验内容,可以方便地组成多种控制实验,模块结构配置简单、灵活,综合性强、性价比高。该模块将开关量、模拟量采集与控制结合起来,充分模拟工业控制实际。通过该系统可以使学生对过程控制系统和PLC控制有比较全面的认识和理解,更重要的是能让学生将过程控制和PLC的理论知识与工程实践得到很好的结合,实现把多种专业知识在实验环节中交叉、融合,为解决目前高校过程控制教学实验设备陈旧落后的问题提供设计思路,具有良好的实践意义。■
参考文献
[1]王化冰,王彦辉.过程控制综合试验系统的设计与研究[J].中国现代教育装备,2006(12):68-70.
[2]邱伯平,喻寿益.PLC在过程控制系统实验装置中的应用[J].可编程控制器与工厂自动化:PLC FA,2005(3):78-81.
[3]康珏.过程控制实验装置改造方案探讨[J].科技信息,
2009(21):123-124.
[4]杨马英,李敏,陈伟锋.“过程控制系统”课程的实验教学改革[J].电气电子教学学报,2015(2):106-108.
[5]黄宜庆.《过程控制系统》课程教学和实践环节的改革与创新探索[J].科技视界,2014(5):25.
篇10
关键词 CRP;数字化校园信息平台;开发和建设;信息化
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2013)13-0040-02
高校数字化校园信息平台是以高校校园网络为基础,利用先进的计算机技术、网络通讯技术、先进的管理理念对高校的教学、科研、管理、师生生活服务和社会服务等全部信息资源进行全方位的信息化和数字化,并集成、整合这些曾分散的资源,从而构成唯一的数据中心、统一门户、统一权限控制、统一身份认证、统一用户管理、统一资源管理的数字化校园信息平台;高校进行数字化校园建设对于高等教育实现现代化,高校实现跨越式发展具有十分深远的意义。
随着信息化时代的发展,国内外高校对校园信息化建设工作不断加大投入,很多高校制定了一体化的建设规划和投入了巨大的人力物力,数字化校园数据平台的建设越来越受到人们的重视,普及程度不断加深。现今美国大学校园的信息化水平最为领先,图书馆网络、科研教学活动甚至师生们的生活都被纳入信息化体系中,教育高度信息化,形成完善的信息网络。
1 数字化校园信息平台建设存在的问题
当前高校在整体校园信息化建设还存在很多问题,目前我国高校陆续将数字资源建设以及现有应用系统的整合作为主要任务,很多高校在学校自身发展的过程中已经逐步建立起来了如教务处的教学管理平台,学生处的学生管理平台,学校教师的OA办公平台等分散的信息化应用系统。由于各个系统都是根据各个部门需要建立起来的,信息化应用系统来自于不同的厂家,使用不同的接口和数据格式,运行开发环境兼容性也比较差,各个信息化应用系统数据共享比较困难。
校园内各部门的各种信息应用系统重复建设严重且没有唯一的数据源、统一的用户管理、统一的资源管理和统一的权限控制,彼此之间相互独立,“信息孤岛”现象比较严重,校园内的各种信息资源不透明,不能很好的满足高校教学、育人、科研和管理决策的需求。
2 基于CRP的数字化校园信息平台
很多高校已经意识到校园信息化建设是一个整体工程,需要统观全局,而不是以各个部门自行建设的孤立的信息化应用系统的形式存在,对现有孤立的信息化应用系统进行整合、融合是校园信息化发展的必然方向。清华大学根据研究,率先根据企业的ERP(Enterprise Resource Planning)提出了URP(University Resource Planning)理念,用以指导其数字化校园建设并取得成功。根据大多数的学校的特征,广东工程职业技术学院在ERP 和URP 的基础上提出了校园资源计划(CRP—Campus Resource Planning)的概念,本研究就是基于CRP的数字化校园信息平台的开发和建设。
为了响应《国家中长期教育改革和发展规划纲要(2010-2020)》对信息化建设和全国教育信息化不断推进的需求,只有不断的提高和完善校园信息化建设,搭建满足高校需求的数字化校园信息平台才能紧跟国际、国内的步伐更好地培养人才。本研究将开发和建设基于CRP(Campus Resource Planning)数字化校园信息平台,构建出唯一的数据源、统一的用户管理、统一的资源管理和统一的权限控制的透明的数字化校园信息平台,更好服务于教学、服务于育人、服务于科研、服务于高校管理、为学校的决策提供可靠的依据。
2.1 研究对象、研究目标、研究内容及拟解决的关键问题
研究对象:基于CRP的数字化校园信息平台。
研究目标:构成统一的用户管理、统一的资源管理和统一的权限控制的数字化校园信息平台;通过标准组织和业务流程,推动高校制度上的规范化,比如制度创新、管理创新,最终实现教育信息化,以提高教育管理水平和效率为目标,同时将开发的CRP数字化信息平台软件模块推广到其他学校促进教育信息化的发展。
研究内容:主要研究和开发基于CRP的数字化校园信息平台,将校园资源进行提炼、整合、数字化,基于工作岗位进行数据采集,用规范化的工作流程建立一个接口规范统一的平台,将校园的各种信息资源和各个部门的数字应用系统相结合,真正实现校园数字信息的共享与交换。并为用户设定统一的访问入口界面,后期的应用系统设计也必须符合统一的规范化要求。
拟解决的关键问题:①已有信息系统的整合;②基于工作岗位信息数据的采集;③业务流程的标准化、流程化再造;④唯一数据中心的建立;⑤本地化功能模块的开发。
2.2 拟采取的研究方法、实验方案
1)该系统研究采用应用层,中间层和数据层的三层体系结构,在数据层建立唯一的数据中心,中间层建立统一的接口和规范,应用层建立各种应用。
2)整体规划,分布实施。
3)建立唯一的数据中心,数据中心是高校数字化校园信息平台建设的基础。
4)通过数据层的数据中心和中间层实现共享数据库与各业务系统的数据交换,从而达到全校信息共享,同时利用校园统一应用门户的模式把各业务应用系统提供的服务集成在一起,最终实现单点登录,达到统一门户与统一身份认证。
2.3 研究的创新之处
1)基于ERP、URP和CRP的理念,开发和建设基于CRP的数字化校园信息平台。
2)构建唯一的数据中心、统一的用户管理、统一的资源管理和统一的权限控制的数字化校园平台。
3)基于工作岗位的数据采集,教师日志、辅导员日志、班主任周志、教官日志、值班日志、安全保卫日志、宿管员日志等,全校人人都参与到数字化校园信息化平台的运行和维护中来。
4)将全校的信息资源如一卡通、图书馆资源和教学资源平台等整合到CRP数字化校园信息平台。
2.4 研究过程
1)对数字化校园信息平台进行系统分析,构建唯一的数据中心,研究确定统一数据中心的数据和数据间的关联关系,重要的数据有部门信息、教职工卡号信息、课程信息、培养计划信息、师资数据、学生数据等。
2)研究各部门的工作过程,将部门和岗位工作过程系统化、标准化、数字化,基于工作岗位进行定期的数据采集,让全院师生共同维护和建设数字化校园信息平台。
3)研究制定统一的平台、接口规范,实现各个模块间信息的共享和交换,为新开发的信息化应用提供统一的平台接口和规范。
4)根据各个部门的工作过程和提出的具体业务需求开发功能模块,功能模块的开发过程中将大量使用前面做好的基础数据,大量的系统应用就是基于基础数据进行,将各个模块挂载到系统中,为用户提供统一的访问界面。
2.5 研究成果
1)构成唯一的数据中心、统一门户、统一权限控制、统一身份认证、统一用户管理、统一资源管理的数字化校园信息平台。
2)根据信息化的刚性化特征,对相应部门和工作岗位的业务流程进行信息化流程再造,从而在推动信息化的同时达到提高高校进行管理制度创新、服务创新,最终实现依托信息化条件下的决策科学化和管理规范化。
3)基于工作岗位信息数据的采集,让学校人人都参与到信息化系统的建设和维护中来,更为重要的是,可以将整个系统各个模块包括各个岗位的数据提取出来进行智能的处理并通过图表的方式显示出来,使学校的各项工作可视、可控及可持续改进,提供给高校决策层进行管理决策。
基金项目
2013年海南省高等学校科学研究项目,项目编号(Hjkj2013-57)
参考文献
[1]杭州正方电子工程有限公司.数字化校园信息平台解决方案[EB/OL].
[2]李春兰,周增国,庞有军.高校信息化建设进程中的问题与对策分析[J].中国教育信息化,2010(9).
[3]黄斌文,矫媛.基于CRP的数字化校园信息平台在高校社会管理创新中的应用[J].硅谷,2013(6):85-86.