为了执行行控制程序,从现场采集这些信息的方式有两种:
① 随着程序的执行需要哪一个信息,就到生产现场去采集该信息,这样采集到的信息是实时的,采集时间可能略长。同一因素信息,由于采集的时间不同,其状态可能会有所不同。② 定时采集。在每一循环扫描周期内定时(一般定在扫描周期的开始或结束)将现场全部有关信息采集到控制器中,存放在系统准备好的一定区域——随机存储器的某一地址区,称为输入映像区,对应等效工作电路的输入继电器线圈。执行用户程序所需现场信息都在输入映像区取用,而不直接到外设去取。这种方式因为是集中采集现场信息,虽然从理论上分析每个信息被采集的时间仍有先后差异,但它已很小,因此可以认为采集到的信息是同时的。同样对被控制对象的控制信息,也不采用形成一个输出就去改变一个被控对象的控制方法,而是先把它们存放在随机存储器的某个特定区域,称为输出映像区,对应等效工作电路的输出继电器接点。当用户程序扫描结束后,将所存被控对象的控制信息集中输出,改变被控对象的状态。对于那些在一个扫描周期内没有发生变化的变量状态,就输出一个与前一周期同样的信息,因而也不引起外设工作的变化。上述输入映像区、输出映像区集中在一起就是一般所称的I/O(输入/输出)映像区。映像区的大小随系统输入、输出信息多少,即输入、输出点数而定。
I/O映像区的建立,使系统工作变成一个采样控制系统,我们称之为数字采样控制系统。虽然不像硬件逻辑系统那样,随时反映控制器件工作状态变化对系统的控制作用,但在采样时刻则基本符合实际工作状态,只要采样周期T足够小,采样频率足够高,我们就可以认为这样的采样系统足够符合实际系统的工作状态。
数字采样系统和一般常见的模拟采样控制系统是有差异的。模拟采样系统的采样对象是一个或几个模拟量,它们是随时间而连续变化的;而在采样系统中对它的处理是在采样时刻采集它们的实际瞬时值,在采样周期内将认为它们是不变的,并保持为采样值。在数字控制系统中,变量都是离散量,在两种状态之间变化,所以对系统变量关心的是它们的状态而不是数值的大小变化。
在数字控制系统中输出变量的状态几乎和所有输入信息的状态有关,因此我们关心的是所有输入、输出变量的状态,采集量比较大。在模拟量采集系统中因为要对被采集的模拟量进行各种运算包括微分、积分运算,因此对采集周期T不仅要求它足够短,而且希望它是固定不变的。在数字采样系统中,由于涉及的运算关系多是逻辑关系,因此只要采样周期T足够小即可,而它在一定范围内的变化和影响都是次要的,因此我们可以利用循环扫描周期作为系统的采样周期。
数字采样控制系统中,虽然在采样周期对变量的处理仍然是顺序执行程序,但是,由于输入信息是从现场瞬时采集来的,输出信息又是在程序执行后瞬时输出去控制外设的,因此,可以认为实际上恢复了系统对被控变量控制作用的并行性。
I/O映像区的建立,是PLC工作时只和内存有关地址单元内所存信息状态发生关系,而系统输出也是只给内存某一地址单元设定一个状态,因此,这时的控制系统已经远离实际控制对象,这一点为系统的标准化生产、大规模生产创造了条件。4.输入/输出操作
PLC的工作方式是循环扫描执行用户程序。由于建立了输入/输出映像区,因此执行程序时系统工作只涉及充当映像区的存储器区,只是在扫描周期的适当时刻,在操作系统的组织下将输出映像区的信息全部倾卸给外设,同时也由所有外设读入信息。这种周期性地与外界交换信息,对一般外设是可以满足要求的。但是随着PLC功能的扩展,特别是许多特殊功能单元、智能单元被当作I/O外设以及中断控制的利用等,对响应的及时性,提出了新的要求。因此正常的周期性的输入/输出交换信息就满足不了要求。例如,某中断源提出中断申请被响应后机器就转向执行中断子程序,在执行中断子程序后的输出信息当然希望尽早送到相关外设,而不希望等到扫描周期的输入/输出阶段。又比如闭环控制系统,按照香农定理对系统确定了采样周期,它当然不可能与系统扫描周期一致,因此就希望在采样周期中系统能进行输入/输出的信息交换,以便及时采集到有关参数的数值进而实现控制。诸如此类,系统的周期性扫描与外设希望的及时响应矛盾的解决办法是设法将有关要输入/输出的信息分离出来,即这一部分信息的输入或输出与系统CPU的周期扫描脱离,利用专用的硬件单元(如快速响应I/O单元)或通过软件利用专门指令去执行某一I/O映像区的输入/输出(如利用定区I/O服务指令使定区的信息及时输入或输出,即取得立即执行)。5.中断输入处理
在可编程序控制器系统中,中断输入处理是由一块专用的特殊模板完成的。有关中断的概念及处理的思路和一般微机系统基本是一样的,即当有中断申请信号输入后,系统要中断正在执行的程序而转向执行相关的中断子程序;系统若有多个中断源时,它们之间按重要性有一个先后顺序的排队。系统由程序设定可以中断屏蔽等。此外,结合PLC工作的特点,中断的处理也有其特殊之处。
西门子S7-200全国供应商
(1)中断的响应是在系统循环扫描周期的各个阶段。在可编程序控制器系统工作过程中,系统不仅对用户程序实行循环扫描,而且对输入、输出、编程器、通信单元及自诊断等,都实行循环扫描。因此对中断信号的响应也不限于用户程序的执行阶段,而是在循环扫描周期的各个阶段。那么,系统CPU是否也和一般微机系统CPU一样,在执行每一条指令结束时去查询有无中断申请呢?在可编程序控制器系统中,不是在每条指令执行结束后查询,而是在相关的程序块结束后查询中断申请,如有中断申请,则转入执行中断服务程序。如果用户程序是以块式结构组成的,则在每块结束或实行块调用时处理中断,见图1-61。
中断时间的决定因素有哪些?它应该包括:
① 等待响应时间t1。从外界中断源发出中断申请信息,到主CPU正在执行的程序块结束,CPU开始查询中断申请的时间。它与有关程序块的长短与中断申请发生的时刻有关,是一个在小范围内变化的随机量。
② 中断信号读入处理时间t2。从CPU查询出有中断申请至查清中断源并读入的时间③ 系统处理和中断服务程序的启动t3。它也是一个随机变量,与同时申请中断的中断源源数、中断排队及系统处理速度有关。
所以中断响应时间T=t1+t2+t3。
一般系统的中断响应时间为1~2ms。
(2)在可编程序控制器系统中,用户程序是循环扫描反复执行的。中断程序却不是每次扫描用户程序都要执行的,它只在中断申请被接受后执行一次,也就是说,中断申请只能使系统迅速去执行一次中断程序,而与中断程序中有关信息的状态及中断程序执行的结果无关,因此要想多运行几次中断子程序,则必须多进行几次中断申请。
(3)中断源先后排队顺序问题。在可编程序控制器系统中,中断源的信息是通过输入点而进入系统的,可编程序控制器扫描输入点是按顺序进行的,因此,中断源的先后顺序随它们占用的输入点编号的前后就自动排了顺序,因此在分配输入点时考虑一下中断源的主要性就可以解决中断源的排队问题。系统接到中断申请后,顺序扫描中断源,可能只有一个中断源申请中断,也可能同时有2个或多个中断源提出中断申请。系统在扫描中断源的过程中,就在存储器的一个特定区建立起“中断处理表”,按顺序存放中断信息,中断源被扫描过后,中断处理表亦建立完毕,系统就按照该表顺序先后转至相应的中断子程序入口地址。
在可编程序控制器系统中,中断程序的编制与一般微机系统基本一致。允许中断、禁止中断指令的使用,中断源与中断服务程序的对应关系等都是一样的,稍有不同的地方是:
① 在可编程序控制器系统中,多中断源可以有优先顺序(前面已指出可以通过占用输入点号来排队),根据处理器类型的不同可分为有嵌套关系和无嵌套关系两种,即中断程序执行中,如果系统处于允许中断的状态,若有新的中断发生,可以读取锁存器输出,确定中断输入源,有中断嵌套关系的处理器根据它们的优先顺序,若新中断的优先级高则将现在执行的中断挂起去执行新的中断;但无嵌套关系的处理器不论它们的优先顺序如何,都是将执行中的中断处理结束后,再进行新的中断处理。
② 在中断子程序结束后,返回主程序的方法有两种:其一是中断子程序正常结束,遇到中断处理结束指令(IEND);其二是遇到符合条件的中断处理中断指令(RETI),上述指令放在中断程序中的哪部分,只能根据该程序的具体情况而定。
③ 关于中断服务程序执行结果信息的输出问题,由于PLC执行的是循环扫描方式,正常的输入/输出是在扫描周期的一定阶段进行的,因此对中断子程序有关信息的输出必须进行特殊处理。
浔之漫智控技术(上海)有限公司(s)
本公司是西门子授权代理商 自动化产品,全新,西门子PLC,西门子屏,西门子数控,西门子软启动,西门子以太网西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆我公司**供应,德国进口
6.PLC的主要性能指标
(1)存储容量
PLC的存储器由系统存储器和用户存储器两部分组成。系统存储器用来存放不可改变和访问的系统程序,用户存储器用来存放用户程序及所需要的数据。它包括程序存储器和数据存储器。数字输入/输出量在数据存储器中建立的文件分别称为输入/输出映像文件,也叫输入/输出映像表。模拟输入/输出量通常在数据存储器中建立块传送文件。生产厂家在生产PLC时,已经按照机器型号的不同,设置了不同容量的存储器,小至1KB到几KB,大至1~2MB。用户可根据控制对象的复杂程度不同,预估所需容量,进而选择机型。在16位PLC中,存储器容量通常以字(不是字节)为基本单位,而在32位PLC处理器中,存储容量常以字节计。
(2)控制容量
PLC的控制容量就是I/O容量,也叫I/O能力,通常以离散量(数字量)个数计。不同的PLC的I/O容量的差别很大,一些微型的PLC的I/O能力在20点以下,而大型PLC的I/O能力可达10KB以上。由于I/O容量大小与存储容量的大小基本一致,生产厂家在生产PLC时,常以I/O容量的大小来设置不同的存储器容量。I/O模块、数据存储器与程序存储器之间的关系如图1-62所示。
(3)循环扫描周期
PLC 扫描周期也叫处理器扫描时间。通常将输入扫描与输出扫描合称为 I/O 扫描,因此处理器扫描时间为 I/O 扫描与程序扫描(逻辑扫描)之和。I/O 扫描时间是指处理器把其输出映像表中的数据写到输出模块和把输入数据从输入模块读到处理器输入映像数据表的时间。当处理器完成了系统中所有的 I/O 刷新后,就开始逻辑扫描。逻辑扫描是执行用户程序的时间,程序指令对某些条件进行检查并将该条件与输入映像表中的位相比较。如果映像表中的位与被检查的条件相符,则逻辑为真,处理器就刷新输出映像表中相应的位,这个过程将连续不断地进行,直至执行到逻辑扫描的结束语句为止。这时开始I/O扫描。