6ES7231-4HF32-0XB0西门子PLC模块
SIMATIC S7-1200,模拟输入, SM 1231,8 模拟输入, +/-10V,+/-5V,+/-2.5V, 或 0-20mA/4-20mA, 12 Bit+符号位 或(13 Bit ADC)
PLC分时多任务操作系统与I/O处理
现代工业控制需求的日益提高要求PLC通常用于完成比较复杂的项目,例如,PLC用于DCS,不同的PLC模块分别完成管理、控制、现场的数据采集与处理,多个PLC控制从站之间的通信等另一方面,一个系统在完成之后,常常需要扩容,在不改动原有硬件的基础上,系统硬件以模块方式添加进行扩展,同时,系统的原有软件也不动,新的软件也以模块方式添人一个复杂项目下的多个任务同时执行。这些都需要分时多任务操作系统的支持。
控制任务对于操作系统的要求是,模块化结构,在一个精确的时间段内迅速、反复地执行应用程序。
在PLC发展初期和中期,常规的PLC大多依赖于单任务的时钟扫描或监控程序来处理程序本身的逻辑运算指令以及外部I/0通道的状态采集与刷新,整个应用程序采用一个循环周期。但事实上,在一个较复杂的控制系统中,虽然往往有一些数据变量的实时性要求很高,但也有很多大惯性的模拟量对实时的要求并不是太高,如果所有的变量都采用同样的刷新速度,这实质上是对资源的浪费。循环顺序扫描的运行机制直接导致了系统的控制速度严重依赖于应用程序的大小,应用程序一旦复杂庞大,控制速度就必然降低,这无疑是与I/O通道高实时性处理的要求相违背。
PLC引入大型计算机的分时多任务操作系统理念,采用分时多任务的运行机制,使得应用任务的循环周期与程序长短并不是那么紧密相关,设计人员可根据工艺需要自由设定应用程序的**执行顺序,在CPU运算能力允许的前提下,控制周期按照用户的实际要求设定,从而将应用程序的扫描周期与真正外部的控制周期区别开来,满足了实时控制的要求。
分时多任务操作系统可以分为多个任务层,具有以下优点:
1)模块化、结构化的应用软件在编制用户程序时,一个完整的复杂项目可以分成多个独立的任务来完成。每个任务都是独立的程序部分,它可以完成许多不同的功能(数字量和模拟量的相互关联、控制、定位等)。合理地分配一个项目,可以使应用项目结构化、模块化。
2)用适合的编程语言创建任务∶结构化的优点是每个任务可以用合适的编程语言来建立,单个的功能容易编写,并且使功能模块化,单个任务的故障处理也变得简单。
3)用户可以按需要设定每个应用任务的循环时间。
4)对于特殊任务的响应时间不受完整程序循环时间的限制。
5)任务维护非常简单。
当使用分时多任务操作系统时,处理器的能力分在多个任务中,可能导致同时处理多个任务数据,因此分时多任务操作系统必须具有如下性能∶
1)并行处理几个控制任务。
2)确定多个任务的处理时间。
3)监控任务时灵活设定循环时间。
4)每个任务级别分配一致的I/O映像。
基于分时多操作系统平台,PLC的应用程序可分为多个独立的任务模块,用户可以方便地根据控制项目中各子任务的不同功能要求,如数据采集、报警、PID调节运算、通信控制、数据打印等,开发相应的控制任务模块,在分别编制和调试之后,可一同下载至PLC的用户程序存储器中。控制项目中的各子任务在分时多任务操作系统的调度管理下,并行协同运行。
分时处理各个控制任务给控制项目执行带来的好处是设计人员可以根据不同任务对实时性能的不同需求,*不同的**等级,确定不同的循环周期,使得这些任务模块既相互独立运行,数据又保持一定的相互关联,从而实现确定的分时多任务控制,即使是某个任务处于等待状态,其他任务也可继续执行。
分时多任务操作系统的运行机制是源于大型应用软件模块化的设计思想,一,它带来了项目开发效率上的提高,有着常规PLC无法比拟的灵活性。多任务的设计使得各个任务模块的功能描述趋清晰简洁。二,用户可以自行开发自己*有的而又同时具有通用性的独立功能模块,将其封装以便于日后在其他应用项目中重新使用。三,各个不同的任务还可以由开发小组的不同成员分别编制。不同的开发人员基于共同的约定,可以灵活选用符合IEC1131-3规范的不同编程语言进行任务编程设计,有利于软件设计可靠性的提高,也有益于开发人员短时间内编制出结构清晰、功能明确的控制程序。