开发环境选择 当我们为了量测和自动化应用需求设计适用的软件时,通常会在不同种类的开发软件间进行选择。目前常用的程式语言,包括C、C++、组合语言以及Visual Basic等,这些程式语言通常是以文字指令为基础(text-based)的软件,或者牵涉到微电脑硬件架构的I/O与暂存器配置的指令,即使这些传统的程式工具能够充分发挥其功能及优势,但也因为这类程式语言的使用者必须具备熟悉该程式的语法规则及其发展特性的经验与知识,因此,即使这些工具的应用相当弹性,但也意味着使用者必须接受一些深度内容的训练。
另一种是以设定为基础(configuration-based)的软件,专门用来克服撰写传统程式语言时会遭遇的困难:此类软件可以提供快速的方法,在最短的时间内设计出可自动化操作的测试及量测系统。一般而言,这些以对话框(dialog-based)为基础的互动式应用介面提供了较便利的程式撰写过程,但也导致功能性受限,且其提供客制化以及扩展化方面选择的机会也极低。
如何在上述两种软件开发工具间进行应用程式撰写与实现,则必须视实际情况而定。当尝试使用架构式为基础的软体来快速达成任务的同时,很快就会因软件本身的限制而遭遇瓶颈。若使用传统的程式语言,则会发现即便是最简单的任务,也会因为入门的困难度高而遭遇到使用指令障碍的窘境。
如果选对了软件,使用者可以快速且有效的建立应用系统,并依照系统的需求撰写各子程式并将加以组合成一个系统,而LabVIEW可以让使用者轻易的设计出所需的程式。使用者可以使用LabVIEW中提供的旋钮、开关、温度计、图表等元件设计出人性化的介面,同时透过流程图和图形化程式码进行程式设计,其撰写过程就像画流程图那样简单,不像传统文字型态的程式语言那样难学,可大幅缩短使用者的学习过程与程式撰写的时间。LabVIEW程式的撰写过程如图2(a)及2(b)所示。
图2(a) LabVIEW的人机介面元件
图2(b) LabVIEW的人机介面与图形程式区
使用者只需在LabVIEW的人机介面上点滑鼠右键,便可在跳出的Controls控制面版里面取出适当的元件并放置于人机介面上即可。接着,再将图形程式区中的元件连线后,便完成一个可执行的程式。
综合以上程式语言学习、撰写及除错的时间,根据吾人实际上学习过传统的程式语言与LabVIEW后,由图3(a)与图3(b)可知,以LabVIEW为开发环境的程式可省下约75%的时间。
图3(a)传统程式语言学习时间比例图 图3(b)LabVIEW学习时间比例图
在开发此分散式远端监控水产养殖资讯管理系统前,吾人曾参考国外某知名品牌所开发出来的水产养殖自动化系统(CDi99 System),其整体架构示意图如图4所示。
图4国外水产养殖自动化系统之示意图(取自Single Chips Inc)
此系统使用由单晶片设计进行资料的撷取与处理,其所使用的程式语言设计过程相当复杂。若以NI的Field Point 1600如图5(a)所示,代替由单晶片设计的CDi99 System如图5(b)所示,则不用考虑细部的撷取过程程式码,这些繁杂的程式码LabVIEW都以撰写好,只要直接应用即可。
图5(a) Field Point 1600 图5(b) CDi99 System
此外,Field Point是一个功能强大的模组化系统,其外型就像一列火车般,具备嵌入控制,资料记录与乙太网路连接功能。火车头是一个网路介面,而车厢可以是模拟输入/输出或数字输入/输出四种类型,每个车厢为一个埠,共8个channel。使用者可以将Field Point当作多个具有乙太网路连接功能的DAQ卡来使用。
CDi99 System所撷取的资料需透过RS-232串列埠才能传送至与其连线的电脑上,若要将所撷取的资料透过网路传送至远端的电脑进行监控的话,必需透过编码、解码及设定通信协定等等复杂的步骤才可达成,对一个程式开发者而言,是一种不必要的负担。
针对远端监控的问题,LabVIEW内建的Web伺服器能将已撰写完成的程式发送至网页上,让使用者方便于远端进行监控,如图6所示。
图6 Web LabVIEW
综合以上软、硬件、网路及资料传输的开发环境的比较,根据吾人实际开发后,由图7(a)与图7(b)可知,以NI的LabVIEW及Field Point 1600为开发环境可省下约45%的开发时间。
图7(a)传统开发环境、开发时间比例图 图7(b) LabVIEW开发环境、开发时间比例图
另外,以同样功能作比较。就成本而言,一个CDi99 Controller为5300加币(相当于约台币150,000)。远超过NI的Field Point 1600(包括一组FP-DO-400与一组FP-AI-100)约台币55,000。身为开发工程师,吾人选择较易撰写与除错、开发时间最短、成本较低且功能强大的LabVIEW及Field Point 1600为分散式远端监控水产养殖资讯管理系统专案的开发环境。 |