电动机功率 | 3kW | 外形尺寸 | 5mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 8kg |
西门子S7-1200 控制器是我们新推出产品的核心,可实现简单却高度精确的自动化任务。西门子S7-1200 控制器实现了模块化和紧凑型设计,功能强大、投资安全并且*适合各种应用。可扩展性强、灵活度高的设计,可实现标准工业通信的通信接口以及一整套强大的集成技术功能,使该控制器成为完整、全面的自动化解决方案的重要组成部分。
![]() |
参考价 | ¥433 |
订货量 | 1 |
更新时间:2019-06-18 12:07:43浏览次数:354
联系我们时请说明是化工仪器网上看到的信息,谢谢!
西门子S7-1200PLC模块福建代理商
西门子S7-300/400用户程序使用的局部数据堆栈(L堆栈)
各逻辑块都有它的局部变量(L)存储区,局部变量在逻辑块的变量声明表中生成,只在它被创建的块中有效。每个组织块用20B的临时局部数据来存储它的启动信息。局部数据可以按位、字节、字和双字来存取,例如L0.0、LB9、LW4和LD52。
CPU分配给当前正在处理的块的临时局部数据的存储器容量是有限的,这一存储区(即局部堆栈)的大小与CPU的型号有关。CPU给每一优先级分配了局部数据区,这样可以保证不同优先级的OB都有它们可以使用的局部数据空间。
通过在STEP 7中设置参数,可以给S7-400 CPU的每一优先级不同大小的局部数据区。S7-300 CPU每一优先级的局部数据区的大小是固定的。
程序编辑器左边窗口的“库”文件夹中的程序库用来存放可以多次使用的程序部件,其中的子文件夹“Standard Library”(标准库)是STEP 7标准软件包提供的标准程序库,它由以下子文件夹组成:
1) System Function Blocks:保存在CPU的操作系统中的系统功能块SFB和系统功能SFC。
2) S5 - S7 Converting Blocks:用于将S5程序的块转换成S7程序所需的标准功能块。
3) IEC Function Blocks:符合IEC标准的块,处理时间和日期信息、比较操作、字符串处理与选择大值/小值等。
4) Organization Blocks:组织块。
5) PID Control Blocks:用于PID控制的功能块。
6) Communication Blocks:用于SIMATIC NET通信的块。
7) TI - S7 Converting Blocks:一般用途的标准功能。
8) Miscellaneous Blocks(其他块),例如用于时间标记和实时钟同步的块。
“库”文件夹中还有其他程序库,例如“SIMATIC_NET_CP”文件夹中的块用于通信处理器( CP)的编程,文件夹“Redundant IO(V1)”中的块用于冗余控制系统。文件夹“stdlibs”与“Standard Library”的某些子文件夹的内容重复。用户安装可选软件包后,将增加其他程序库:例如安装了顺序功能图语言S7 - Graph后,将会增加GRAPH7库。
组织块是操作系统与用户程序的接口,由操作系统调用,用于控制扫描循环和中断程序的执行、PLC的启动和错误处理等,CPU的档次越高,能使用的同类型组织块越多。
(1) OB1
OB1是用户程序中的主程序,CPU的操作系统完成启动过程后,将循环执行OB1,可以在OB1中调用其他逻辑块。
(2)事件中断处理
如果出现中断事件,例如时间中断、硬件中断和错误处理中断等,当前正在执行的块在当前指令执行完后被停止执行(被中断),操作系统将会调用一个分配给该事件的组织块。该组织块执行完后,被中断的块将从断点处继续执行。
这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时地处理。处理中断事件的程序放在该事件驱动的OB中。
(3)中断的优先级
OB按触发事件分成几个级别,这些级别有不同的优先级,高优先级的OB可以中断低优先级的OB。
PLC的程序分为操作系统和用户程序,操作系统用来实现与特定的控制任务无关的功能,处理PLC的启动、刷新过程映像输入/输出表、调用用户程序、处理中断和错误、管理存储区和处理通信等。用户程序包含处理用户特定的自动化任务所需要的所有功能。
STEP 7将用户编写的程序和程序所需的数据放置在块中,使单个的程序部件标准化。通过块与块之间类似于子程序的调用,使用户程序结构化,可以简化程序组织,使程序易于修改、查错和调试。块结构显著地增加了PLC程序的组织透明性、可理解性和易维护性。各种块的简要说明见表4-1,OB、FB、FC、SFB和SFC都包含程序,统称为逻辑块。程序运行时所需的大量数据和变量存储在数据块中。
表4-1 用户程序中的块
块 | 简要描述 |
组织块(OB) | 操作系统与用户程序的接口,决定用户程序的结构 |
功能块(FB) | 用户编写的包含经常使用的功能的子程序,有的存储区(即背景数据块) |
功能(FC) | 用户编写的包含经常使用的功能的子程序,没有的存储区 |
系统功能块(SFB) | 集成在CPU模块中,通过SFB调用系统功能,有的存储区(即背景数据块) |
系统功能(SFC) | 集成在CPU模块中,通过SFC调用系统功能,无的存储区 |
共享数据块(DB) | 存储用户数据的数据区域,供所有的逻辑块共享 |
背景数据块(DI) | 用于保存FB和SFB的输入、输出参数和静态变量,其数据在编译时自动生成 |
可以将控制任务分层划分为工厂级、车间级、生产线、设备等多级任务,分别建立与各级任务对应的逻辑块。每一层的控制程序(逻辑块)作为上一级控制程序的子程序,前者又可以调用下一级的子程序。这种调用称为嵌套调用,即被调用的块又可以调用别的块。
可以多次重复调用同一个块,来处理同一类任务。FB和FC的内部应全部使用局部变量,不使用I、Q、M、T、C和共享数据块中的全局地址。这样的块具有很好的可移植性,不作任何修改,就可以用于其他项目。
FB和FC通过其输入、输出参数来实现与“外部”的数据交换,即与过程控制的传感器和执行器、用户程序中的其他块交换数据。在块调用中,调用者可以是各种逻辑块,被调用的块是OB之外的逻辑块二调用功能块和系统功能块时需要为它们一个背景数据块,后者随这些块的调用而打开,在调用结束时自动关闭。
在图4-1中,OB1调用FB1,FB1调用FC1,应按下面的顺序创建块:FC1→FB1及其背景数据块→OB1,即编程时被调用的块应该是已经存在的。
如果出现中断事件,CPU将停止当前正在执行的程序,去执行中断事件对应的组织块OB(即中断程序)。中断程序执行完后,返回到程序中断处继续执行。
下面是梯形图编程时应遵守的一些规则:
1)每个梯形图的程序段都必须以输出线圈或指令框( Box)结束,比较指令框(相当于触点)、中线输出线圈和上升沿、下降沿线圈不能用于程序段结束。
2)指令框的使能输出端“ENO”可以和右边的指令框的使能输入端“EN”连接。
3)下列线圈要求布尔逻辑,即必须用触点电路控制它们,它们不能与左侧垂直“电源线”直接相连:输出线圈、置位(S)线圈和复位(R)线圈;中线输出线圈和上升沿、下降沿线圈;计数器和定时器线圈;逻辑非跳转( JMPN);主控继电器接通(MCR<);将RLO存入BR存储器的SAVE线圈和返回线圈(RET)。
下面的线圈不允许布尔逻辑,即这些线圈必须与左侧垂直“电源线”直接相连:主控继电器激活( MCRA);主控继电器关闭(MCRD)和打开数据块(OPN)。
其他线圈既可以用布尔逻辑操作也可以不用。
4)下列线圈不能用于并联输出:逻辑非跳转( JMPN)、跳转(JMP)、调用(CALL)和返回( RET)。
5)如果分支中只有一个元件,删除这个元件时,整个分支也同时被删掉:删除一个指令框时,该指令框除主分支外所有的布尔输入分支都将同时被删除。
6)不允许生成引起短路的分支。
BLD<number>(程序显示指令)、NOP 0和NOP 1并不执行什么功能,也不会影响状态位。BLD指令只是用于编程设备的图形显示,用STEP 7将梯形图或功能块图转换为语句表时,可能会出现BLD指令。指令中的常数<number>是编程设备自动生成的。
字节加指令INC和字节减指令DEC将累加器1的低字节的内容加上或减去指令中的8位常数(0~255),运算结果仍在累加器的低字节。累加器1的其他3个字节不变。
这些指令并不适合于16位或32位算术运算,因为累加器1的低字节和它的相邻字节之间没有进位产生。16位或32位算术运算可以使用整数运算指令。下面是将MB4加1的例程。
L MB 4 //MB4的内容装入累加器1的低字节
INC 1 //累加器1低字节的内容加1,结果存放在累加器1的低字节
T MB 4 //运算结果传回MB4
S7 - 300的CPU的两个累加器或S7 - 400的CPU的4个累加器组成一个堆栈,堆栈用来存放需要快速存取的数据,堆栈中的数据按“先入后出”的原则存取。堆栈指令是否执行与状态字无关,也不会影响状态字。
PUSH(入栈)指令使堆栈中各层原有的数据依次向下移动一层,栈底(累加器4)的值被推出丢失(见图3-112),栈顶(累加器1)的值保持不变。POP(出栈)指令使堆栈中各层原有的数据向上移动一层(见图3-113),原来第2层(累加器2)中的数据成为堆栈新的栈顶值,原来在栈顶(累加器1)中的数据从栈内消失。
图3-112 入栈指令执行前后
图3-113 出栈指令执行前后
进入累加器堆栈指令ENT将累加器3的内容复制到累加器4,累加器2的内容复制到累加器3。使用ENT指令可以用累加器3、4来保存中间结果。
离开累加器堆栈指令LEAVE将累加器3的内容复制到累加器2,累加器4的内容复制到累加器3,累加器1和累加器4的内容保持不变。
堆栈指令主要用来保存中间运算结果,因为可以将中间结果保存在累加器之外的存储区,实际上很少使用堆栈指令。
西门子S7-1200PLC模块福建代理商