写在前面
输入/输出模块(I/O模块)是PLC控制系统的重要组成部分,用于连接传感器和执行器,采集现场信号和执行控制动作。如果将CPU比作PLC控制系统的大脑的话,那么IO模块就是PLC的眼睛、耳朵和手、脚。西门子提供了多种系列的SIMATIC PLC产品,这些产品及相对应的I/O模块,能满足用户不同应用场景的需求。常用的系列产品有S7-1500/ET200MP、ET200SP、ET200pro、ET200eco和ET200AL等,如下图所示。
在之前的推文中,我们重点给大家介绍了一下在模块选型和使用中一些常见的问题。今天,针对模块的功能,我们来看看I/O 模块除了基本的数据采集外,还有哪些更高级的应用功能。西门子I/O模块除了产品种类丰富外,同时具备强大的性能和功能,可满足用户不同的应用需求,除了常见的基本的功能外,还有一些附加功能,非常有用,这些功能如下:
快速响应 - 模块可以响应硬件中断,实现快速控制;
可编程参数 - 模块的参数可以通过编程随时进行修改和调整;
输出保持 - 当CPU停止时,模块输出可以选择保持上一个输出值或使用替代值 ;
共享I/O - 模块支持输入/输出信号的共享使用;
过采样 - 比PROFINET 周期还快的数据采集;
诊断功能 - 模块提供多样化的诊断功能,便于故障排查和维护。
这里我们来介绍几个常见的,调试过程中I/O模块应用的功能:
01 快捷故障诊断
I/O模块为用户提供多种方式的故障诊断方法,用户可以最直观的诊断出故障点,即从I/O模块指示灯查看,同时系统的诊断功能也十分强大,可从CPU的显示屏、TIA 软件监控、上位机等全方位查看故障诊断信息,让分析故障一目了然。
我们首先从模块自带的诊断功能说起,模块自带的诊断方式也有很多种,可从模块外观指示灯初步定位故障点,然后到借用TIA工具监控故障模块或CPU的诊断,查看具体的故障诊断原因。
注意:只有在组态中勾选诊断功能,才会有故障灯和故障诊断信息的显示。
其次,虽然模块可以通过自带诊断很直观的查看具体诊断信息,但是实际现场操作员关注的是上位机或显示屏上的信息,可能不方便(设备在现场)或者不会用TIA软件去监控诊断,所以很有必要将模块的诊断信息读出在上位机,或触摸屏上显示,从而方便快捷的排查故障,其实这些诊断信息可以通过OB82(诊断错误)、OB83(插拔错误)等组织块编程传递给上位机,或者用RDREC读数据记录编程的方式获得更详细的诊断信息。
02 模块输出停止保持
停机保持是指当CPU 停止时,AO/DO模块输出信号保持的功能,停机保持是CPU停止时模块三种响应方式中的一种功能。
应用场景:为了满足某些工艺控制需求,当CPU 停止,要求输出模块能保持输出;还有其他的工况,如从站掉站情况(如网线断开,现场干扰导致频繁掉站),默认情况下站点掉站的时候,输出模块是会断开,也就是输出为0,当站点恢复正常,模块则会正常输出,由于频繁掉站导致输出频繁切换,以上的情况都会影响控制的需求,这就可以使用停止保持的功能。
不是所有的DO和AO模块都支持CPU停止响应操作的功能,其次对于支持的输出模块,需要在组态中配置响应方式,如下图所示,ET200SP分布式从站上的 DO模块为例,DO模块对CPU STOP模式响应有三种方式:关断(不输出,即输出0);保持上一个值;输出替代值。
除了CPU STOP时输出会响应,还有哪些情况也会有相同的效果?
对于分布式从站上的输出模块:在CPU断电:从站和CPU的网络连接线缆断开,这两种情况也会有上面相同的响应效果。
03 模块的快速响应
这里所说的模块快速响应,是指模块的硬件中断功能,在发生相关硬件事件(例如,开关量的沿信号,模拟量的限制信号等)时执行硬件中断 OB,可以立即中断主程序实现快速的响应并执行硬件中断 OB 中的程序(例如立即停止某些关键设备),如下图所示。
应用场景:对于某些关键设备需要快速响应,如果响应不及时,可能导致故障/危险情况,快速的响应需要独立于OB1主程序的循环周期;模块输入信号持续时间过短,在工厂应用中,CPU程序量较多时,执行的相关功能或通信的负载较大,会使得CPU扫描周期较长,例如长达100ms,对于某些现场的输入的关键信号,有可能持续时间短于一个扫描周期,那么就无法更新到过程映像输入区,进而导致OB1中相关逻辑没有执行;还有就是在一个扫描周期的短时间内,产生了多次信号,那OB1中的程序也顶多执行一次,其他信号就都丢失。
注意:一个硬件中断事件只能关联一个硬件中断 OB;但一个硬件中断 OB 可以分配给多个硬件中断事件。
在大多数的应用中,都是在硬件组态中激活事件并绑定OB组织块,而如果需要在CPU运行期间,禁用硬件中断功能,但又不想通过改组态下载硬件配置的方式,因为这么做需要重启CPU,那该怎么做呢?
可以使用“扩展指令集”中的 DETACH 指令,使得事件和中断OB分离。如再次需要激活事件和中断OB的关系,可以使用ATTACH指令。
04 过采样
过采样,又称细分采样,是指用 HS I/O模块在 1 个 PROFINET 发送时钟内完成多次采样,之后将采样的多个数据整体传给 PLC ,以实现高速、高频采样的功能,采样时间可达到μs的数量级,如AI HS模块最快采样可达 50μs /次。
从上图中可以看出,使用过采样功能时,模块将设置的 PROFINET 时钟(发送时钟)分割成16个子时钟,在每一个子时钟内模块记录下一个采样值,或者输出一个控制值。即将恒定的时间间隔分成许多小的时间片,在每个时间片内完成一次采样或输出,达到比PROFINET 周期还快的数据采集。
应用场景:对于一些特殊的应用场景,如喷油控制,快速脉冲检测,高速拍照等高精度、高实时性的场合,以及需要高速采集(如温度、压力)的场合,这些场景需要实现数据采集和控制输出的响应时间必须达到μs级别,但众所周知,PLC 系统最小扫描周期为 1 ms,利用常规方法无法做 μs 级响应,将造成信号精度丢失,严重影响工艺。对此,我们可以使用HS I/O模块的过采样功能加以实现。
西门子 PLC I/O模块的功能丰富而又强大,可以满足用户不同的应用需求,这里列举出几种常用的功能给大家介绍,更多关于输入/输出模块其他功能和相关详细的信息,我们已经为大家梳理出来,大家可参考我们推出的 "探秘SIMATIC PLC IO模块-功能篇"的系列视频,希望这些课程帮助您查漏补缺,帮助每一个自动化工程师扎实的掌握这门基本功。
更多内容请参考
SIMATIC PLC 电源选型(扫码观看)
SIMATIC PCS neo 轻松学(扫码观看)