第4卷第1期上海应用技术学院学报Vol.4No.12004年3月JOURNALOFSHANGHAIINSTITUTEOFTECHNOLOGYMar.2004:1671-7333(2004)01-0061-03基于VB的实时把握系统软件设计江敏,钱平(上海应用技术学院机械与自动化工程学院,上海200235)摘要:以温度把握系统为例,介绍了如何利用VisualBasic构建PID把握器,并利用DLL技术实现输出输入接口的操作。关键词:VisualBasic;BorlandC++Builder;DLL实时把握系统;I/O操作:TP311.131文献标识码:AProgrammingfortheRealtimeControlSystemBasedonVisualBasis激ANGMing,QIANPing(SchoolofMechanicalandAutomationEngineering,ShanghaiIntituteofTechnology,Shanghai200235,China)Abstract:Thispaperdetailshowtoprogramthesoftwareofarealtimecontrolsystembasedonvisualbasic,includinghowtodesignPIDcontrollerandhowtorealizeI/Ooperation.Keywords:visualbasic;BorlandC++Builder;DLL;realtimecontrolsystem;I/O随着工业技术的飞速进展,不仅对把握系统的把握精度的要求越来越严,而且对系统的人机互动的要求也越来越高,利用VB的强大的图形界面功能,开发出一套对温度的实时把握系统,用于标准件制造流程中回火炉的温度把握。1系统构造组成系统由PC机协作数据采集和把握卡,对电加热炉的温度进展把握,数据采集和把握卡可承受研华工控的PCL18L/LS多功能卡,此卡具有12位A/D区分率,每秒40K采样速率,16路单端或8路差分模拟量信号输入和1路12位D/A输出。在系统中还包括了温度测量装置(Pt100铂电阻)、可控硅触发电路、双向可控硅等。系统框图见图1。---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---图1系统构造框图收稿日期:2003-09-03作者简介:江敏(1971-),女,讲师,硕士.---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---62上海应用技术学院学报第4卷2系统软件设计温度把握系统的软件设计主要包括PID把握算法的设计和输入输出接口的设计,由于在VB中没有供给对硬件的操作方法,因此,这一局部为设计的主要难点。2.1PID把握器在VB中的实现在把握系统中承受增量式PID把握算法,其把握算法表达式为:Δui=d0ei+d1ei-1+d2ei-2(1)其中:d0=K(1+T/Ti+Td/T);d1=-K(1+2Td/T);d2=K(Td/T)。可依据式(1)便利地设计出数字PID把握器,其程序流程见图2。2.2输入输出接口的设计VisualBasic虽然有较丰富的图形界面设计力量,却没有供给直接的I/O操作功能,要访问I/O接口格外不便。要解决这个问题,可以利用用户控件VBX,动态链接库DLL,动态数据交换DDE及对象连接与嵌入技术OLE实现其功能的扩展。本系统承受动态链接库DLL技术解决这一问题。2.2.1DLL技术简介DLL(DynamicLinkLibraries)是Windows最重要的组成要素,Windows中的很多新功能、新特性都是通过DLL来实现的,其实Windows本身就是由很多的DLL组成的,它最根本的三大组成模块Kernel、GDI和User都是DLL,它全部的库模块也都设计成DLL。2.2.2实现I/O读写开发动态连接库(DLL)应用的方法很多,可以承受VC、BC、BorlandC++、BorlandC++Builder等应用开发软件开发,在本应用中承受BorlandC++Builder6.0做为硬件接口调用动态连接库(DLL)的开发环境。在开发中,首先使用BCBFile|NEW建立一个新的DLL工程,生成一个DLL的程图2增量式PID把握算法流程序框架。其中,DLLEntryPoint函数为一个入口方法,假设使用者在DLL被系统初始化或者注销时被调用,用来写入对DLL的初始化程序和卸载程序;参数:hinst用来指示DLL的基地址;reason用来指示DLL的调用方式,用于区分多线程单线程对DLL的调用、创立、卸载DLL;intWINAPIDLLEntryPoint(HINSTANCEhinst,unsignedlongreason,void3lpReserved){return1;}---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---然后在程序中参加创立的DLL过程、函数,完成输入输出接口操作功能。从动态链接库中调用过程、函数时有不同的CALL方式—cdecl、—pascal,—fastcall、—stdcall,BCB中默认的方式为—cdecl(可不写),假设考虑兼容性,可用—stdcall声明为:extern“C”void-stdcalloutputb(unsignedshortintport,unsignedcharvalue)extern“C”void-stdcalloutpu...