上海西门子smart200中国授权代理商
由于外部输入设备和输出设备所需的信号电平是多种多样的,而PLC内部CPU处理的信息只能是标准电平,I/O接口要实现这种转换。I/O接口一般具有光电隔离和滤波功能,以提高PLC的抗干扰能力。I/O接口上通常还有状态指示,工作状况直观,便于维护。
输入/输出单元包含两部分:接口电路和输入/输出映像寄存器。接口电路用于接收来自用户设备的各种控制信号,如限位开关、操作按钮、选择开关以及其他传感器的信号。通过接口电路将这些信号转换成CPU能够识别和处理的信号,并存入输入映像寄存器。运行时,CPU从输入映像寄存器读取输入信息并进行处理,将处理结果放到输出映像寄存器中。输入/输出映像寄存器由输出点相对的触发器组成,输出接口电路将其由弱电控制信号转换成现场需要的强电信号输出,以驱动电磁阀、接触器、指示灯等被控设备的执行元件
CPU的主要任务包括控制用户程序和数据的接收与存储;用扫描的方式通过I/O部件接收现场的状态或数据,并存入输入映像寄存器中;诊断PLC内部电路的工作故障和编程中的语法错误等;PLC进入运行状态后,从存储器中逐条读取用户指令,经过命令解释后按指令规定的任务进行数据传递、逻辑或算术运算等;根据运算结果,更新有关标志位的状态和输出映像寄存器的内容,再经输出部件实现输出控制、制表打印或数据通信等功能。
不同型号的PLC,其CPU芯片是不同的,有些采用通用CPU芯片,有些采用厂家自行设计的专用CPU芯片。CPU芯片的性能关系到PLC处理控制信号的能力和速度,CPU位数越高,系统处理的信息量越大,运算速度越快。PLC的功能随着CPU芯片技术的发展而提高和增强。
在PLC中,CPU按系统程序赋予的功能,指挥PLC有条不紊地进行工作,归纳起来主要有以下几个方面。
① 接收从编程器输入的用户程序和数据。
② 诊断电源、PLC内部电路的工作故障和编程中的语法错误等。
③ 通过输入接口接收现场的状态或数据,并存入输入映象寄存器或数据寄存器中。
④ 从存储器逐条读取用户程序,经过解释后执行。
⑤ 根据执行的结果,更新有关标志位的状态和输出映象寄存器的内容,通过输出单元实现输出控制。
2. 存储器
存储器主要有两种:可读/写操作的随机存储器RAM,只读存储器ROM、PROM、EPROM、EEPROM。PLC的存储器由系统程序存储器、用户程序存储器和数据存储器3部分组成。
要强调指出的是,引入“能流”的概念,仅仅是为了和继电接触器控制系统相比较,可以对梯形图有一个深入的认识,其实“能流”在梯形图中是不存在的。功能块图(FBD)
功能块图(FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑。一些复杂的功能(如数学运算功能等)用指令框来表示,有数字电路基础的人很容易掌握。功能块图用类似于与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
利用FBD可以查看像普通逻辑门图形的逻辑盒指令。它没有梯形图编程器中的触点和线圈,但有与之等价的指令,这些指令是作为盒指令出现的,程序逻辑由这些盒指令之间的连接决定。也就是说,一条指令(如AND盒)的输出可以用来允许另一条指令(如定时器)执行,这样可以建立所需要的控制逻辑。这样的连接思想可以解决范围广泛的逻辑问题。FBD编
梯形图中的触点和线圈可以使用物理地址,如I0.1、Q4.0等。如果在符号表中对某些地址定义了符号,如令I0.0的符号为“启动”,在程序中可用符号地址“启动”来代替物理地址I0.1,使程序便以阅读和理解。
用户可以在网络号的右边加上网络的标题,在网络号的下面为网络加上注释。用户还可以选择在梯形图
用的符号信息(Symbol Information)。
如果将两块独立电路放在同一个网络内将会出错。如果没有跳转指令,网络中程序的逻辑运算按从左到右的方向执行,与“能流”的方向一致。网络之间按从上到下的顺序执行,执行完所有的网络后,下一次循环返回*上面的网络(网络1)重新开始执行。
(2)语句表(STL)
语句表(STL)编程语言类似于计算机中的助记符语言,它是PLC*基础的编程语言。语句表编程是用一个或者几个容易记忆的字符来代表PLC的某种操作功能。它是一种类似于微型计算机的汇编语言中的文本语言,多条语句组成一个程序段。语句表比较适合经验丰富的程序员使用,可以实现某些不能用梯形图或功能块图表示的功能梯形图所对应的语句表
模块式PLC为总线结构,在总线板上有若干个总线插槽,每个插槽上可安装一个PLC模块,不同的模块实现不同的功能,根据控制系统的要求来配置相应的模块,如CPU模块(包括存储器)、电源模块、输入模块、输出模块及其他**模块、特殊模块等。大型的PLC通常采用这种结构,一般用于比较复杂的控制场合,如西门子的S7-300/400系列、三菱的Q系统产品。
1.5 可编程控制器的编程语言和发展趋势
1.5.1 PLC的编程语言
由于PLC是专门为工业控制而开发的装置,其主要使用者是广大电气技术人员,为了满足他们的传统习惯,PLC的主要编程语言采用比计算机语言相对简单、易懂、形象的专用语言。PLC的编程语言多种多样,不同的PLC厂家提供的编程语言也不相同。常用的编程语言包括如下4种。
(1)梯形图(LAD)
梯形图(LAD)编程语言是从继电器控制系统原理图的基础上演变而来的。梯形图是目前PLC应用*广、*受电气技术人员欢迎的一种编程语言。梯形图与继电器控制原理图相似,具有形象、直观、实用的特点。PLC的梯形图与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和表达方式上有一定的区别。梯形图具有直观易懂的优点,很容易被工厂熟悉继电器控制的人员掌握,特别适合于数字量逻辑控制。
梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。线圈通常代表逻辑运算的结果,常用来控制外部的指示灯、交流接触器和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。使用编程软件可以直接生成和编辑梯形图,并将它下载到PLC中。
梯形图的一个关键概念是“能流”(PowerFlow),这仅是概念上的“能流”。触点和线圈等组成的独立电路称为网络(Network)。把左边的母线假想为电源的“火线”,而把右边的母线假想为电源的“零线”。如果有“能流”从左至右流向线圈,则线圈被激励;如果没有“能流”,则线圈未被激励