《程序设计技术》PPT课件.ppt

上传人:sh****n 文档编号:11511107 上传时间:2020-04-26 格式:PPT 页数:29 大小:1.69MB
返回 下载 相关 举报
《程序设计技术》PPT课件.ppt_第1页
第1页 / 共29页
《程序设计技术》PPT课件.ppt_第2页
第2页 / 共29页
《程序设计技术》PPT课件.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
在计算机控制系统中,除了硬件电路外,还有软件。软件是工业控制机的程序系统,它可分为系统软件、支持软件和应用软件三部分。系统软件:主要是操作系统(Windows操作系统和windowsNT操作系统),还包括引导程序,调度执行程序。支持软件:汇编语言;高级语言;编辑程序;编译程序;连接、装配程序;调试程序;子程序库;诊断系统等应用软件:,第六章应用程序设计与实现技术,所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。在进行计算机控制系统设计时,大量的工作就是如何根据各个生产过程的实际需要设计应用程序。,控制程序数据采集及处理程序巡回检测程序数据管理程序,数据可靠性检查程序AD转换及采样程序数字滤波程序线性化处理程序,数据采集程序越限报警程序事故预告程序画面显示程序,6.1程序设计技术,一个完整的程序设计过程见右图:首先要分析用户的要求,这大约占整个程序设计工作量的10%;然后编写程序的说明,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。补充见讲稿2P27,6.1.1模块化与结构化程序设计模块化程序设计2.结构化程序设计(顺序、选择、循环)3.面向对象程序设计(C/C+/VC,VB),1.模块化程序设计,模块化程序设计的出发点是把一个复杂的系统软件,分解为若干个功能模块,每个模块执行单一的功能,并且具有单入口单出口结构。,(1)自底向上模块化设计首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这种方法是汇编语言设计常用的方法。高层模块设计中的根本错误也许要很晚才能发现。(2)自顶向下模块化设计首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般适合用高级语言来设计程序。程序大小和性能往往要开发关键性的低层模块时才会表现出来。最好使用两种方法结合起来。,2.结构化程序设计,从高级语言中取消GOTO语句,提高程序的质量。可以证明,只用三(两)种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。,结构化程序设计是一种程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。,应用程序设计的五个步骤:教材P171问题定义程序设计编码调试改进和再设计,6.1.2高级语言与汇编语言混合编程1.汇编语言编程程序执行速度快,要求的硬件少。2.高级语言编程运算能力强,编写方便。3.高级语言和汇编语言混合编程用高级语言编写计算,图形绘制,显示,打印程序,用汇编语言编写时钟管理,中断管理和输入输出程序等。,1.汇编语言编程,用汇编语言编写的程序,比用高级语言编写的程序执行速度要快。以PC总线工业控制机访问IO端口的操作主要是输入指令IN(输入字节或字)和输出指令OUT(输出字节或字)。INAX,210HMOVDX,220HINAL,DX第一条指令是将地址为210H的端口的16位二进制数据输入到累加器AX中,第二条和第三条指令是将地址为220H的端口的8位二进制数输入到AL中。输出指令:OUT240H,AL;OUTDX,AX,2.高级语言编程,MicrosoftCC+7.0通常有库函数,允许直接访问IO端口,头文件CONIOH中定义了IO端口例程。_inp和_outp分别从指定端口读一个字节数据和向指定端口写一个字节数据,_inpw和_outpw分别从指定端口读一个字数据和向指定端口写一个字数据。例如:A1=_inpw(0 x210)A2=_inp(0 x220)在C语言中,0 x起头的是16进制数。第一条指令表示将端口210H的16位二进制数(一个字)输入给变量,第二条指令表示将端口220H的8位二进制数(一个字节)输入给变量。又如:_outpw(0 x230,0 x3435)_outp(0 x240,0 x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。,3高级语言与汇编语言混合编程,单独使用高级语言或汇编语言编程都有局限性。如何发挥汇编语言实时功能强,而高级语言运算能力强的优点,便成为计算机控制系统软件设计中一个使人感兴趣的问题。实际使用中,常常采用高级语言与汇编语言混合编程的方法,即用高级语言编写计算、图形绘制、显示、打印程序等;用汇编语言编写时钟管理、中断管理和输入输出程序等。,(1)内联的汇编环境(2)_asm关键字(3)C语言和汇编语言混合编程,(1)内联的汇编环境,内联的汇编语句可以直接出现在MicrosoftCC+程序中,因此,对这些语句来说,C语言程序是外部环境。在正确地使用内联汇编语言之前,必须知道两件事情。第一,必须知道如何编译一个包括内联汇编语言的C语言程序。第二,必须知道在内联语句中,什么事能做和什么事不能做。在CC+源程序中,可以直接把汇编程序的语句插入特殊的_asm语句中。MicrosoftCC+编译程序有一个特殊的内联汇编程序,它允许在C语言代码中间写汇编语言例程,内联汇编程序是Microsoft汇编功能的子集。,(2)_asm关键字,为了直接在C语言程序中插入内联汇编语句,要在语句的开头使用_asm关键字。下面给出几种不同方式的_asm语句:_asmassemblystatement_asmassemblystatement_asmassemblystatement_asmassemblystatement;assemblystatement,当在程序中写内联汇编语句时,对存储模型和指针的空间大小必须加倍小心。当混合使用C语言和汇编程序时,必须时刻考虑到程序段的安排和指针空间大小。,(3)C语言和汇编语言混合编程,includeincludevoidincrement(int*arg)_asmmovsi,bp+4movax,siincaxmovsi,axvoidmain()intj=3;Printf(“Initialvaluewas%dn”,j);increment(,函数increment的作用是给作为参数传递的增量加1。因为参数arg是一个指针值,所以汇编代码必须把地址值装载到si(源变址)寄存器上,并且接着把si指向的值装入ax中。BP(基数指针)寄存器指向堆栈上名为stackframe(栈结构)的域。汇编代码必须通过用BP寄存器的偏移字节,来访问函数参数。这是一个near过程,far过程应是bp+6。,6.1.3工业控制组态软件目前,越来越多的控制工程师已不再采用从芯片电路设计模块制做系统组装调试的传统模式来研制计算机控制系统,而是采用组态模式。计算机控制系统的组态功能可分为两个主要方面,即硬件组态和软件组态。(集成自动化)硬件组态常以总线式(PC总线或STD总线)工业控制机为主进行选择和配置(现在也经常选用PLC来实现)。工业控制组态软件是标准化、规模化、商品化的通用过程控制软件。组态工作是在组态软件支持下进行的,组态软件主要包括:控制组态、图形生成系统、显示组态、IO通道登记、单位名称登记、趋势曲线登记、报警系统登记、报表生成系统等方面的内容。1.控制组态2.图形生成系统3.显示组态,1控制组态,在工业控制组态软件中,一般有PID等几十种基本算法。控制算法的组态生成在软件上可以分为两种实现方式:一种方式是采用模块宏的方式,即一个控制规律模块(如PID运算)对应一个宏命令(子程序),在组态生成时,每用到一个控制模块,则组态生成控制算法,产生的执行文件中就将该宏所对应的算法换入执行文件。另一种常用的方式是将各控制算法编成各个独立的可以反复调用的功能模块,对应每一模块有一个数据结构,该数据结构定义了该控制算法所需要的各个参数。因此,只要这些参数定义了,控制规律就定了。有了这些算法模块,就可以生成绝大多数的控制功能。,2图形生成系统,计算机控制系统的人机界面越来越多地采用图形显示技术。图形画面主要是用来监视生产过程的状况,并可通过对画面上对象的操作,实现对生产过程的控制。图形画面一般有两种即静态画面(或背景画面)和动态画面。静态画面一般用来反映监视对象的环境和相互关系,它的显示是不随时间的变化的。动态画面一般用以反映被监视对象和被控对象的状态和数值等,它在显示过程中是随现场被监控对象的变化而变化的。在生成图形画面时,不但要有静态画面,而且还要有“活”的部分即动态画面。,3显示组态,(1)选择模拟显示表(2)定义模拟显示表(3)显示登记法(4)IO通道登记(5)单位名称登记(6)趋势曲线登记(7)报警系统登记(8)报表生成系统,计算机控制系统的画面显示一般分为三级即总貌画面、组貌画面、回路画面。若想构成这些画面,就要进行显示组态操作。显示组态操作包括选择模拟显示表、定义显示表及显示登记方法等操作。,(1)选择模拟显示表由于计算机控制系统显示画面常采用各种模拟显示表来显示测量值、设定值和输出值,因此,显示组态一般可用6种模拟显示表,即调节控制表、报警显示表、阀位操作表、监视操作表、比率设定表、流量累计表等。,(2)选择了回路的模拟显示表后,尚须对显示表的每一个参数进行确定,并在画面上设定相应的值。,(3)显示登记法显示登记法是进入系统显示登记画面。选择过程控制站站号及工作方式;登记控制组号、组名,该组员的回路号,进行分组登记操作;显示表登记(登记每一个控制回路所用的模拟显示表);将显示登记文件存入后备文件或打印。,(4)IO通道登记计算机控制系统能支持多种类型的信号输入和输出。从生产过程来看,每一输入输出都有不同的名称和意义,因此需将输入输出定义成特定的含义,这就是IO通道登记。IO通道主要是模拟量IO和开关量IO等通道。,(5)单位名称登记对系统各种画面中需要显示的工程单位名称采用登记的方法,可使用中英文一切符号,登记生成自己特有的单位名称,主要登记编号和单位名。,系统的硬盘中保存有三种趋势曲线数据,即当天的、昨天的和历史的数据。当天的趋势曲线数据,系统以一定的周期将数据保存起来。到第二天就将当天的数据覆盖昨天的数据。历史数据是当你需要某天的数据时,从硬盘拷贝到软盘保存起来。趋势曲线的规格主要有:趋势曲线幅数、趋势曲线每幅条数、每条时间、显示精度。趋势曲线登记表的内容主要有:幅号、幅名、编号、颜色、曲线名称、来源、工程量上限和下限。,(6)趋势曲线登记,报警显示画面分成三级即报警概况画面、报警信息画面、报警画面。报警概况画面是第一级,它显示系统中所有报警点的名称和报警次数;报警信息画面是第二级,它是第一级画面的展开与细化,可调出相应报警信息画面,即可观察到报警时间,消警时间,报警点名称和报警原因等;报警画面是第三级,可调出与报警点相应的各显示画面,包括总貌画面、组画面、回路画面、趋势曲线画面等。为了完成报警登记,还要填写登记表。内容包括:编号、名称、原因类型、原因参数、画面类型、画面参数。,(7)报警系统登记,(8)报表生成系统报表生成系统用于系统的报表及打印输出。因而报表系统主要功能是定义各种报表的数据来源、运算方式以及报表打印格式和时间特性。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!