您现在的位置是:首页 > PLC技术 > PLC技术

用通信方式接入传感器

来源:艾特贸易2019-02-27

简介传统的传感器多为模拟信号输出,因此 PLC 使用传统的 A/D 输入通道读取数据。现在传感器的智能化程度逐步提高,同时也为了适应数字化、网络化的需要,不少传感器自身已经将数据数


    传统的传感器多为模拟信号输出,因此PLC使用传统的A/D输入通道读取数据。现在传感器的智能化程度逐步提高,同时也为了适应数字化、网络化的需要,不少传感器自身已经将数据数字化。因此更适合通信的需要。不仅如此,智能化的传感器还可能具有可编程、自诊断、自补偿等附加功能。这就更加需要能进行双向沟通,远非传统的A/D输入通道可比。

    这里用一种双参数的机械位移传感器为例,介绍用通信方式接入传感器的基本方法。该传感器可交替输出两个完全独立的参数,但是信息使用16ASCII码的方式送出(注意低8位在前)。信息的格式见表7-23

7-23    数据信息定义表

表7-23 数据信息定义表 

    处理接收到的数据,程序流程图如图7-40所示。

    其中,有如下几点特殊处理:

   (1)参数辨识:因为接受到的信息可能是A参数的,也可能是B参数的,而且参数的符号也是可正可负。这两者都必须在使用之前,根据信息中的标识将它区分开。

   (2)零点补偿:传感器安装好后,因为各种原因,一般不可能正好与测量零位相吻合,也就是此时的传感器输出并非是0。虽然可以重新安装调整传感器,使其与零位重合,但是要使两个参数同时都调到零位,并不容易操作。所以我们建议采用软件补偿的方法,即不去调整传感器的位置,而是将偏移的数据记录下来(注意存放在停电保持记录区),在使用时分别对两个测量的数据进行补偿。另外,传感器的零点还可能因为时间、温度、振动和设备搬运等原因而变化,所以本软件中专门为此加装了“零位飘移标定”模块。只需自动操作一次,即可获得新的补偿数值。

 图7 40处理接收到的数据流程图

7 40处理接收到的数据流程图

   (3)数据偏置:一台设备可能用在不同的工况,处理不同的加工产品,因此有可能需要设置不同的测量零位。在传感器的有效测量范围内完全可以不必移动传感器的安装位置,只需采用与“零点补偿”类似的处理方法,分别记录两个参数的偏移数据(不偏移时,应设置为O),用软件进行处理。

    7-41是用通信方式接入传感器的总体流程图,表7-24是该模块占用的软件咨源定义表。

7- 24    软件资源定义表

 表7- 24 软件资源定义表

 图7-41用通信方式接入传感器总流程图

7-41用通信方式接入传感器总流程图

    数字实例:如果当前收到的ASCII码是412D32352E38ODOA(代表是A参数、负数、绝对值25.8),经数据处理后将有如图7-42所示的结果。

 图7-42数据处理过程图

7-42数据处理过程图

    源程序如下。

    地址    指令    说明

   500    LD M100

   501    MOV  H0002 D8124    //设置起始符

   506 MOV  H0003  D8125    //设置结束符

   511    RS  D200 K6  D60  K8    //通信设置指令

   520 ANI  M8121    //非发送时

   521    PLS M80

   523    LD M80    //清理现场

   524    RST  M81

   525    RST M82

   526    ZRST  D60 D63

   531    LDP    M8123    //接收完成时

   533 ANI  M8122

   534 AND<>  D63  HOAOD

   539    cJ P90    //非正常数据,不处理

   542    LDP     M8123

   544 AND=    D63  HOAOD

   549 ANI     M8122

   550    SET M89    //设置数据处理标志

   551    LD M89    //数据处理

   552    DMOV  D61 D165    //暂存测量数据

   561    SWAP D166    //小数数据与小数点位置交换

   564 WOR D166  HOOFF  D166

   571    WAND D166  H3000 D166    //小数点改成ASCII码的  "0"

   578    HEX  D165 D167  K4    //转成BCD

   585    BIN  D167 D168    //转成BIN(100*测量绝对值)

   590    LD M89

   591    MOV  D168 D163    //存绝对值

   596 WAND D60  HFFOO  D169    //取符号

   603AND=D169  H2DOO    //负数取补码

   608    NEG D168

   611    LD M89    //区分AB

   612 WAND  D60  HOOFF D171

   619    MPs

  620AND=  D171  H0041   //A参数

  625MOV  D168 D150    //实用值

 630    MPP

  631AND=  D171  H0042   //B参数

 636    MOV  D168 D151    //实用值

 641    LD M89    //零位加偏移补偿

 642    MPs

  643AND=    D171  H0041    //补A

 648    SUB  D168 D7022  D150

 655    MPP

  656AND=    D171  H0042    //补B

 661    SUB  D168 D7023  D151

 668    LD M8123    //采样完成

 669    RST   M8123

 671    ZRST  D60 D63

 676    P9

 677    LD M8063    //通信故障

 678    0R=  D60 KO    //数据错误

 683    0R>  D163 K7000    //数据溢出

 688    0UT  T1  K50

 691    LD T1    //出错处理

 692    RST M81    //出错标志

 693    SET M82

 694    RST  D150

 697    RST  D151

 700    LDI  M8063

  701AND=    T1 KO

 706    RST M82

 707    SET M81    //正常标志

    7-43是用来调试时调用参数的显示界面。

    7-43中第一排显示的是读人信息在PLC中的寄存地址;第二排显示的是读入信息的定义;第三排显示的是读入信息的ASCII码;第四排显示的是与ASCII码对应的字符;中间分别是两个参数的数值及它们的零点补偿值和偏移值;下面是通信状态和设定参数;左下角设有一个锁定开关,该触摸键以交替方式工作,用来锁定刚读入的数据,以便能读取到稳定显示的数据。

 图7-43位置传感器调用参数显示界面

7-43位置传感器调用参数显示界面