嘉兴西门子总代理商PLC
-
≥ 1台¥0.00
嘉兴西门子总代理商PLC
嘉兴西门子总代理商PLC
嘉兴西门子总代理商PLC
硬件中断组织块(OB40~OB47)用于快速响应信号模块(SM,即输入/输出模块)、通信处理器(CP)和功能模块(FM)的信号变化。具有硬件中断功能的上述模块将中断信号传送到CPU时,将触发硬件中断。绝大多数S7-300 CPU只能使用OB40,S7-400 CPU 可以使用的硬件中断OB的个数与CPU的型号有关。
为了产生硬件中断,在组态有硬件中断功能的模块时,应启用硬件中断。产生硬件中断时,如果没有生成和下载硬件中断组织块,操作系统将会向诊断缓冲区输入错误信息,并执行异步错误处理组织块OB80。
硬件中断 OB 默认的级为16~23,可以修改 S7-400的级。
硬件中断被模块触发后,操作系统将用OB40的局部变量向用户提供模块的起始地址和模块中产生硬件中断的点的编号。如果在处理硬件中断的同时,又出现了其他硬件中断事件,新的中断按以下方法识别和处理如果正在处理某一中断事件,又出现了同一模块同一通道产生的完全相同的中断事件,新的中断事件将丢失,即不处理它。
在图4-46中数字量输入模块输入信号的个上升沿时触发中断,由于正在用OB40处理中断,第2个和第3个上升沿产生的中断信号丢失。
如果正在处理某一中断信号时,同一模块其他通道或其他模块产生了中断事件,新的请求将被记录,空闲后再执行该中断。当前的中断组织块执行完后,再处理被记录的中断。
1.硬件组态
生成一个名为“OB40例程”的项目(见随书光盘中的同名例程),CPU模块的型号为CPU315-2DP。选中SIMATIC管理器左边的300站对象,双击右边窗口的“硬件”图标,打开硬件组态工具HW Config(见图4-47)。将硬件目录中名为“DI4xNAMUR,Ex”的4 点DI模块插入4号槽,16点D0模块插入5号槽。
图4-47 组态硬件中断
自动分配的DI模块的字节地址为0。双击该模块,打开它的属性对话框(见图4-47的右图)。用复选框启用硬件中断,设置10.0产生上升沿中断,10.1产生下降沿中断。
2. 编写OB40中的程序
OB40中的程序(见图4-48)判断是哪个模块的哪个点产生的中断,然后执行相应的操作。临时局部变量OB40_MDL_ADDR和OB40_POINT_ADDR分别是产生中断的模块的起始字节地址和模块内的位地址,数据类型分别为WORD和DWORD,这两个变量不能直接用于整数比较指令和双整数比较指令。
用MOVE指令将它们保存到MW6和MD8,才能用比较指令判别是哪一个模块和哪一点产生的中断。在10.0的上升沿将Q4.0置位,在10.1的下降沿将Q4.0复位。
图4-48 OB40中的程序
3.硬件中断的仿真实验
打开PLCSIM(见图4-49),下载所有的块,将仿真PLC切换到RUN-P模式。执行PLCSIM的菜单命令“Execute”(执行)→“Trigger Error OB”(触发错误OB)→“Hard-ware Interrupt(OB40-OB47)…”,打开“Hardware Interupt OB(40-47)”对话框(见图4-49右上方的小图),在文本框“Module address”(模块地址)内输入模块的起始地址0,在文本框“Module status(POINT_ADDR)”(模块状态(位地址))内输入模块内的位地址0。
单击“Apply”(应用)按钮,触发I0.0的上升沿中断,CPU调用OB40,Q4.0被置为1状态,同时在“Intermupt OB”(中断 OB)显示框内自动显示出对应的OB 编号40。将位地址(POINT_ADDR)改为1,模拟I0.1产生的中断,单击“Apply”按钮,在松开按钮时,Q4.0被复位为0状态。单击“0K”按钮,将执行与“Apply”按钮同样的操作,同时关闭对话框。
4.禁止和激活硬件中断
图4-50是OB1中的程序,在10.2的上升沿调用SFC40(EN_IRT)激活OB40对应的硬件中断,在I0.3的上升沿调用SFC39(DIS_IRT)禁止OB40对应的硬件中断。SFC中的MODE为2时,OB_NR的实参为0B的编号。
单击两次PLCSIM中I0.3对应的小方框,OB40被禁止执行。这时用图4-49右上角的对话框模拟产生硬件中断,不会调用OB40。单击两次10.2对应的小方框,OB40被允许执行,又可以用10.0和10.1产生的硬件中断来控制Q4.0了。
通用型PLC的硬件基本结构如图1所示,它是一种通用的可编程控制器,主要由中央处理单元CPU、存储器、输入/输出(I/O)模块及电源组成。
主机内各部分之间均通过总线连接。总线分为电源总线、控制总线、地址总线和数据总线。各部件的作用如下:
(1)中央处理单元CPU
PLC的CPU与通用微机的CPU一样,是PLC的核心部分,它按PLC中系统程序赋予的功能,接收并存储从编程器键入的用户程序和数据;用扫描方式查询现场输入装置的各种信号状态或数据,并存入输入过程状态寄存器或数据寄存器中;诊断电源及PLC内部电路工作状态和编程过程中的语法错误等;在PLC进入运行状态后,从存储器逐条读取用户程序,经过命令解释后,按指令规定的任务产生相应的控制信号,去启闭有关的控制电路;分时、分渠道地去执行数据的存取、传送、组合、比较和变换等动作,完成用户程序中规定的逻辑运算或算术运算等任务;根据运算结果,更新有关标志位的状态和输出状态寄存器的内容,再由输出状态寄存器的位状态或数据寄存器的有关内容实现输出控制、制表打印、数据通信等功能。以上这些都是在CPU的控制下完成的。PLC常用的CPU主要采用通用微处理器、单片机或双极型位片式微处理器。
(2)存储器
存储器(简称内存),用来存储数据或程序。它包括随机存取存储器(RAM)和只读存储器(ROM)。
PLC配有系统程序存储器和用户程序存储器,分别用以存储系统程序和用户程序。系统程序存储器用来存储监控程序、模块化应用功能子程序和各种系统参数等,一般使用EPROM;用户程序存储器用作存放用户编制的梯形图等程序,一般使用RAM,若程序不经常修改,也可写入到EPROM中;存储器的容量以字节为单位。系统程序存储器的内容不能由用户直接存取。因此一般在产品样本中所列的存储器型号和容量,均是指用户程序存储器。
(3)输入/输出(I/O)模块
I/O模块是CPU与现场I/O设备或其他外部设备之间的连接部件。PLC提供了各种操作电平和输出驱动能力的I/O模块供用户选用。I/O模块要求具有抗干扰性能,并与外界绝缘因此,多数都采用光电隔离回路、消抖动回路、多级滤波等措施。I/O模块可以制成各种标准模块,根据输入、输出点数来增减和组合。I/O模块还配有各种发光二极管来指示各种运行状态。
(4)电源
PLC配有开关式稳压电源的电源模块,用来对PLC的内部电路供电。
(5)编程器
编程器用作用户程序的编制、编辑、调试和监视,还可以通过其键盘去调用和显示PLC的一些内部状态和系统参数。它经过接口与CPU联系,完成人机对话。
编程器分简易型和智能型两种。简易型编程器只能在线编程,它通过一个接口与PLC连接。智能型编程器即可在线编程又可离线编程,还以远离PLC插到现场控制站的相应接口进行编程。智能型编程器有许多不同的应用程序软件包,功能,适应的编程语言和方法也较多。
6ES7211-1BE40-0XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES7211-1AE40-0XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES7211-1HE40-0XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES7212-1BE40-0XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES7212-1AE40-0XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES7212-1HE40-0XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES7214-1BG40-0XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES7214-1AG40-0XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES7214-1HG40-0XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES7215-1BG40-0XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES7215-1AG40-0XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES7215-1HG40-0XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |