实用干货:数字量传感器的标准化程序

已锁定

壶琰棠

西门子1847工业学习平台

  • 帖子

    47
  • 精华

    1
  • 被关注

    81

论坛等级:侠士

注册时间:2018-07-25

黄金 黄金 如何晋级?

实用干货:数字量传感器的标准化程序

2671

22

2020-11-04 15:18:40

引文:

    传感器(英文名称:transducer/sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

    自动控制系统或设备中。一些必要的传感器是不可缺少的,它是实现自动检测和自动控制的首要环节。传感器的存在和发展,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。

    对于控制器而言,其接收到的传感器信号一般分为数字量信号和模拟量信号。本文就是基于西门子PLC来探讨一种数字量信号处理的标准程序。

    这些功能是平常程序中的某个部分需要的功能,也许是也有很多私有标准程序,我做的只是将其整理并归纳好,所以这是一个经验的总结,并不是一个算法的创新。

    术语:

     Covered:传感器被触发,即有物体将传感器的发射光线遮挡。

    NPN:是指当有信号触发时,信号输出线OUT和GND连接,相当于OUT输出低电平。

    PNP:是指当有信号触发时,信号输出线OUT和VCC连接,相当于OUT输出高电平的电源线

    

正文:

    功能概述

    在编程中,一个数字量信号可能存在的需求不外乎(一)滤波需求,基于功能而需要的滤波以及基于程序逻辑而需要的滤波(二)信号堵塞(遮挡时间过长)侦测,这既是检测传感器是否正常的需要,也是防止生产过程中物体由于遮挡传感器过久造成的设备和产品的损坏。

    除了功能的需求外,程序也需要考虑到数字量信号的类型(PNP还是NPN)以及功能类型,所以在设计程序的时候也是尽量考虑了所有可能存在的问题和事项,形成一个只要是数字量信号的传感器您都可能可以使用上的标准程序块。

    程序逻辑执行完成后,功能块主要输出(一)传感器是否被遮挡(二)传感器被遮挡的上升沿下降沿(三)传感器被遮挡过久或者过长而导致的堵塞的故障信息。

    程序块说明

    2.1程序块名称

    程序中建立一个功能块(FB),名字为:FB_DigitalSensor,意即数字量传感器功能块。当然,由于可能存在的程序框架问题,功能块的名称可以按照必要的框架来重新定义。

    2.2输入接口

    输入接口即使启用该功能块,也是一些传感器类型和功能需求的配置参数,所以输入接口配置为如下图所示:    

    Figure 1:程序输入接口图示

    i_EnableFunction:该管脚为TRUE的时候使能整个功能块的功能,一般情况下都是满足自动模式以及设备已经运行进入自动逻辑后。若有工艺需要,也可以是其他满足工艺要求的逻辑。

    i_Reset:复位指令,当有传感器堵塞的故障侦测后,可以通过该复位指令将故障复位。

    i_DigitalSensor:外部硬件信号,即数字量信号的输入点位。

    i_SensorType:数字量信号的形式,若为TRUE则代表接入的传感器为PNP型,若为FALSE则代表接入的传感器为NPN型。NPN型信号在程序中需要取反。

    i_FilterEnable:该信号若为TRUE则表示启用过滤功能,程序会在得到功能使能后开始进行信号的过滤功能。

    i_FilterType:该信号若为TRUE则表示基于位置的过滤功能,即程序中会根据后续的位置长度来过滤数字量信号的距离;该信号若为FALSE则表示基于时间的过滤功能,即程序中会根据后续的时间设定来过滤数字量信号的时间。

    i_FilterRise:该信号若为TRUE则表示传感器被遮挡的上升沿过滤功能启用,程序中默认该功能启用。

    i_FilterFall:该信号若为TRUE则表示传感器被遮挡的下降沿过滤功能启用,程序中默认该功能禁止启用。

    i_IgnoreSensorBlockage:该信号若为TRUE则表示忽略传感器堵塞故障的侦测,即不检测传感器是否会被遮挡过长的故障。若该功能启用,则会在输出接口提示一个传感器遮挡时间过长的警告信号。

    i_DigitalSensorFilterTime:单位为ms,用于计算传感器过滤的时间计算的基准,若该值为0则不启用基于时间的过滤功能。

    i_DigitalSensorFilterDistance:单位为mm,用于计算传感器过滤的位置计算的基准,若该值为0则不启用基于位置的过滤功能。

    i_BlockageTime:单位为ms,用于计算传感器堵塞的时间计算的基准,若该值为0则不启用基于时间的堵塞检测功能。

    i_BlockageDistance:单位为mm,用于计算传感器堵塞的位置计算的基准,若该值为0则不启用基于位置的堵塞检测功能。

    i_SectionDisplacement:单位为mm,设备当前周期的位移,用于计算传感器各种功能的位移计算基准。

    以上输入接口除了前三个以外,其他所有的输入接口都可以以参数设置的形式出现,比如在程序中建立一个UDT_DigitalSensor_Sett的数据类型,程序中凡是涉及传感器的程序,都可以集中配置。同时,以上的输入接口也可以做成前三个+配置UDT的接口,这样整个程序的输入接口在视觉效果上就会干净整洁很多。


Figure 2:传感器参数配置数据结构图示

    2.3输出接口

    输出接口的功能在功能概述中已经描述,如下图示则显示了程序的最终的程序输出结果:


Figure 3:程序输出接口图示

    o_DigitalSensorCovered:该管教为TRUE的时候表示当前传感器正在被遮挡,该遮挡信号是基于上述输入接口的配置后而得到的被遮挡的信号。

    o_ER_SensorBlockage:该管教为TRUE的时候表示当前传感器遮挡超时故障,该故障需要停止设备的运营运行,用于保护设备和生产的产品。传感器处的物体被移除后,需要得到复位信号才能将该故障清除。

    o_WN_SensorLatchTimeOut:该管教为TRUE的时候表示当前传感器遮挡超时警告,该警告不需要停止设备的运营运行,只是生产过程的提示信息。该功能是在输入接口忽略堵塞功能的配置后才能生成,否则该输出信号不会被触发。同时,该信号不需要复位,当传感器没有被遮挡后,该输出信号即被清除。

    o_FP_DigitalSensorLatch:该管教为TRUE的时候表示当前传感器遮挡上升沿信号被触发,该信号只执行一个程序运行周期。

    o_FN_DigitalSensorLatch:该管教为TRUE的时候表示当前传感器遮挡下降沿信号被触发,该信号只执行一个程序运行周期。

    后续:

    当设备中有数字量传感器的时候,在程序中建立一个FB_ DigitalSensor数据类型的静态变量,有几个就建立几个并在程序中调用。


Figure 4:传感器程序调用图示

    如上图所示,我在程序中也是配成一个参数设置的类型,这样每一个传感器的功能在调试过程中只需要配置好输入接口的参数,不需要再去细究内部程序是如何实现的,这样便于控制程序的标准化和模块化的应用。


实用干货:数字量传感器的标准化程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有8668条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。