某些CPU也可以调用OB(组织块)由系统自动地对指定的过程映像分区刷新。
(2)内部存储器标志位(M)存储器区 内部存储器标志位用来保存控制逻辑的中间操作状态或其他控制信息。虽然名为“位存储器区”,表示按位存取,但是也可以按字节、字或双字来存取。
(3)定时器(T)存储器区 定时器相当于继电器系统中的时间继电器。给定时器分配的字用于存储时间基值和时间值(0~999)。时间值可以用二进制或BCD码方式读取。
(4)计数器(C)存储器区 计数器用来累计其计数脉冲上升沿的次数,有加计数器、减计数器和加减计数器。给计数器分配的字用于存储计数当前值(0~999),计数值可以用二进制或BCD码方式读取。
(5)数据块(DB)与背景数据块(DI) DB为数据块,DBX是数据块中的数据位,DBB、DBW和DBD分别是数据块中的数据字节、数据字和数据双字。
DI为背景数据块,DIX是背景数据块中的数据位,DIB、DIW和DID分别是背景数据块中的数据字节、数据字和数据双字。
(6)外设I/O区(PI/PQ) 外设输入(PI)和外设输出(PQ)区允许直接访问本地的和分布式的输入模块和输出模块。可以按字节(PIB或PQB)、字(PIW或PQW)或双字(PID或PQD)存取,不能以位为单位存取PI和PQ。
2.2.6 CPU中的寄存器
西门子控制面板OP73
浔之漫智控技术(上海)有限公司(s)
本公司是西门子授权代理商 自动化产品,全新,西门子PLC,西门子屏,西门子数控,西门子软启动,西门子以太网西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆我公司**供应,德国进口
(1)累加器(ACCUX) 32位累加器用于处理字节、字或双字的寄存器。S7-300有两个累加器(ASCII和ACCU2),S7-400有4个累加器(ACCU1~ACCU4)。可以把操作数送入累加器,并在累加器中进行运算和处理,保存在ACCU1中的运算结果可以传送到存储区。处理8位或16位数据时,数据放在累加器的低端(右对齐)。
(2)状态字寄存器(16位) 状态字(见图2-9)是一个16位的寄存器,用于存储CPU执行指令的状态。状态字中的某些位用于决定某些指令是否执行和以什么样的方式执行,执行指令时可能改变状态字中的某些位,用位逻辑指令和字逻辑指令可以访问和检测它们。
①检测位 状态字的第0位称为检测位(FC),若该位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的条指令。CPU对逻辑串条指令的检测(称为检测)产生的结果直接保存在状态字的RLO位中,经过检测存放在RLO中的0或1称为检测结果。该位在逻辑串的开始时总是0,在逻辑串指令执行过程中该位为1,指出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将该位清0。
②逻辑运算结果(RLO) 状态字的第1位称为逻辑运算结果RLO(Result of Logic Operation)。该位用来存储执行位逻辑指令或比较指令的结果,RLO的状态为1,表示有能流流到梯形图中运算点处,为0则表示无能流流到该点。可以用RLO触发跳转指令。
③状态位(STA) 状态位的第2位称为状态位,执行位逻辑指令时,STA总是与该位的值一致。
④或位(OR) 状态字的第3位称为或位(OR),在先逻辑“与”后逻辑“或”的逻辑运算中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其他指令将OR位复位。
⑤溢出位(OV) 状态字的第4位称为溢出位,如果算术运算或浮点数比较指令执行时出现错误(例如溢出、非法操作和不规范的格式),溢出位被置1。如果后面的同类指令执行结果正常,该位被清0。
⑥溢出状态保持位(OS) 状态字的第5位称为溢出状态保持位,或称为存储溢出位。OV位被置1时OS位也被置1,OV位被清0时OS仍保持,所以它保存了OV位,用于指明前面的指令执行过程中是否发生过错误。只有JOS(OS=1时跳转)指令、块调用指令和块结束指令才能复位OS位。
⑦条件码1(CC1)和条件码0(CC0) 状态字的第7位和第6位称为条件码1和条件码0。这两位综合起来用于表示在累加器1中产生的算术运算或逻辑运算的结果与0的大小关系、比较指令的执行结果或称位指令的移出位状态
⑧二进制结果位(BR) 状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方框指令中,BR位与ENO有对应关系,用于表明方框指令是否被正确执行;如果执行出现了错误,BR位为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1。
在用户编写的FB和FC程序中,必须对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令可将RLO存入BR中,从而达到管理BR位的目的。当FB或FC执行无错误时,使RLO为1,并存入BR;否则在BR中存入0。状态字的9~15位未使用。
(3)数据块寄存器 DB和DI寄存器分别用来保存打开的共享数据块和背景数据块的编号。
(4)诊断缓冲区 诊断缓冲区是系统状态列表的一部分,包括系统诊断事件和用户定义的诊断事件的信息。这些信息按它们出现的顺序排列,行中是新的事件。
诊断事件包括模块的故障、写处理的错误、CPU中的系统错误、CPU的运行模式切换错误、用户程序中的错误和用户用系统功能SFC 52定义的诊断错误。
2.2.7 寻址方式
操作数是指令操作或运算的对象,寻址方式是指令取得操作数的方式,操作数可以直接给出或间接给出。
(1)立即寻址 立即寻址的操作数直接在指令中,有些指令的操作数是惟一的,为简化起见不在指令中写出。
S7可以按字节、字和双字访问存储区。数据处理指令包括装入和传送指令、比较指令和数据类型转换指令。
累加器是CPU中的专用寄存器,数据的传送与变换一般通过累加器进行,而不是直接在存储区进行。S7-300的CPU有两个32位的累加器,即累加器1和累加器2。S7-400的CPU有4个累加器,即累加器1~累加器4。累加器1是主累加器,其余的是辅助累加器。与累加器1进行运算的数据存储在累加器2中。
2.5.1 装入指令与传送指令
装入(L,Load)指令和传送(T,Transfer)指令用于在存储区之间或存储区与过程输入、过程输出之间交换数据。
装入(L)指令将源操作数装入累加器1,而累加器1原有的数据移入累加器2。
装入指令可以对字节(8位)、字(16位)、双字(32位)数据进行操作,数据长度小于32位时,数据在累加器中右对齐,即被操作的数据放在累加器的低端,其余的高位字节填0。
传送(T)指令将累加器1中的内容写入的存储区中,累加器1的内容不变。被复制的累加器中的字节数取决于目的地址中表示的数据长度。数据从累加器1传送到直接I/O区(外设输出区PQ)的同时,也被传送到相应的过程映像输出区(Q)。
从20世纪20年代起,人们开始用导线将各种继电器、定时器、接触器及其触点按一定的逻辑关系连接起来组成控制系统,以控制各种生产机械,这就是大家所熟悉的、传统的继电接触器控制系统。该系统结构简单、容易掌握、价格便宜,能在一定范围内(特别是在工作模式固定、工作方式简单的场合)满足自动控制的需要,因而使用面甚广,这使它在一定时期内成为工业控制领域中占主导地位的设备,但是随着生产的发展,控制要求越来越复杂,继电器的类型和数量不得不大量增加,电器之间的连接也变得非常复杂。首先,由于控制柜的体积越来越庞大,大大增加了生产控制柜的难度;其次,在继电接触器控制系统中,即使一个继电器或一条连线出现故障,也会造成整个系统运行的不正常,并且由于系统的复杂,给查找和排除故障带来困难,维修非常不便;另外,当生产工艺或对象改变时,原来的接线和控制柜就要改接或更换,可见继电接触器控制系统的通用性和灵活性都远远不够。为了满足现代生产的需求,人们自然对控制系统提出了更可靠、更经济、更通用、更灵活、易维修等要求。
从20世纪60年代开始,人们相继开发了各式各样的控制装置来满足上述要求,如半导体逻辑元件控制装置。半导体逻辑元件是一种由半导体电子器件(各种晶体管、电阻、电容和硅可控整流元件等)组成的自动化元件,它种类很多,如各种逻辑门(与、或、非)、触发器、延时元件、振荡器、开关放大器、电平检测器、接近开关、交流可控硅开关等。用这些元件可按某种控制需要构成相应的无触点逻辑控制系统及控制装置;也可用逻辑元件组成通用的顺序控制装置。常用的一种顺序控制装置利用二极管矩阵来实现输入/输出逻辑关系,只要改变矩阵板上二极管插头的位置就可以改变动作的顺序,即可大大增加控制系统的灵活性。随后由于小型计算机的出现和大规模的生产,以及多机控控技术的发展,人们也曾试图用小型计算机来实现工业控制的要求,但由于价格昂贵、输入/输出电路的不匹配及编程技术复杂等原因(因为当时计算机的接口技术、编程技术还远远没有达到目前的水平)并未得到推广应用。
到20世纪60年代末期,美国的汽车制造业竞争趋向激烈,各生产厂家的汽车型号不断更新,其加工的生产线必须随之改变,从而要求对整个控制系统重新配置,1968年,美国通用汽车公司(GM)公开招标,并对控制系统提出如下具体的要求。
(1)编程简单,可在现场修改程序;
(2)维修方便,采用模块化结构,即插件式;
(3)可靠性高于继电器控制系统,能在恶劣环境下工作;
(4)体积小于继电器控制柜;
(5)价格便宜,成本可与继电器控制系统竞争;
(6)输入/输出可以采用市电,电流达到一定要求(2A以上),可直接驱动继电器和电磁阀;
(7)具有数据通信功能,数据可直接送入管理计算机;
(8)易于系统扩展,在扩展系统时只要很小的改变;
(9)用户程序存储器容量至少能扩展到4KB以上。
这些要求实际上是提出了将继电器控制系统的简单易懂、使用方便、价格低的优点与计算机的功能完善、灵活性、通用性好的特点结合起来,将继电接触器控制硬连线逻辑转变为计算机软件逻辑编程的设想。1969年,美国数字设备公司(DEC)根据上述要求研制出世界上台可编程序控制器,并在GM公司汽车生产线上应用成功。