控制程序查看源代码讨论查看历史
控制程序就是事先编制程序实现的自动控制。 理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。所谓顺序结构程序就是指按语句出现的先后顺序执行的程序结构,是结构化程序中最简单的结构。[1]
方式方法
程序控制方式是指在程序控制下进行的数据传递方式。 在完成外设数据的输入输出中,整个输入输出过程是在CPU执行程序的控制下完成的。这种方式分为以下两种情况: 无条件传送方式 无条件传送方式是在假定外设已经准备好的情况下,直接利用输入指令(IN指令)或输出指令(OUT指令)与外设传送数据,而不去检查(查询)外设的工作状态。这种传送方式的优点是控制程序简单。但它必须是在外设已经准备好的情况下才能使用,否则传送就会出错。所以在实际应用中无条件传送方式使用较少,只用于一些较简单外设的操作,如对开关信号的输入,对LED显示器的输出等。 在此情况下,外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入 的数据。 程序查询传送方式 程序查询传送方式也称为条件传送方式。在这种方式下,利用查询方式进行输入输出,就是CPU通过执行程序查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。根据这种状态,CPU有针对性地为外设的输入输出服务。 一个用户程序的执行自始至终是在操作系统控制下进行的。一个用户将他要解决的问题用某一种程序设计语言编写了一个程序后就将该程序连同对它执行的要求输入到计算机内,操作系统就根据要求控制这个用户程序的执行直到结束。操作系统控制用户的执行主要有以下一些内容:调入相应的编译程序,将用某种程序设计语言编写的源程序编译成计算机可执行的目标程序,分配内存储等资源将程序调入内存并启动,按用户指定的要求处理执行中出现的各种事件以及与操作员联系请示有关意外事件的处理等。 对于程序查询传送方式来说,一个数据传送可由3步完成: (1)CPU从接口中读取状态信息; (2)CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步继续读取状态信息; (3)如果状态字表明外设已处于“就绪”状态,则传送数据。
举例
例如利用加热器调节房间的温度即可视为一个过程,因为其目的是要使一输出量(在此例中是温度)到达一理想值内(例如20度),且此输出量不随时间变化。在此例中温度是一个控制变量,不过若用温度计量测温度,决定是否加热,温度也同时是输入变量,。理想的温度(20度)为目标值,加热器的状态(如加热器控制热水流量的阀门)会随控制而改变,则是受控变量。过程控制的控制变量通常是温度T、压力P、流量F、液位L、成分A、PH值之等的过程变量。 常见的控制设备是可程序逻辑控制器,简称 PLC。PLC读取许多模拟或数字的输入,内部程序会根据输入产生模拟或数位的输出。若以上一段的例子延伸,房间的温度是 PLC 的输入,内部程序会比较输入变量及目标值的差异,再决定是否加热量要增加或是减少。PLC 的输出会用来改变加热器阀门开启的大小。更大(或更复杂)的系统可能会由分布式控制系统(Distributed Control System, DCS)或SCADA来加以控制。