前言:经常有朋友在后台或发微信咨询,中型CompactLogix PLC的模拟量模块数据处理问题,就其原因可能是刚接触AB PLC,或是对AB 模拟量模块的数据转换范围存疑,也怪不得大家,小编刚搞AB那会,也是各种疑问,终极原因出在罗家,不同型号模拟量模块,其转换的数据范围也不尽相同,除了数据转换,模块的诊断信息也很重要。那么,今天分享的主题就是中型模拟量模块数据处理。
01
测试环境
1. 操作系统:Windows7 旗舰版 SP1 64位 2. 编程软件:Studio 5000 V32.00.00中文版
3. 硬件平台:1769-L30ER + IF8 + OF4
02
情景设定
1. 使用模拟量输入模块1769-IF8,采集超声波液位LT101实时数据.
2. 使用模拟量输出模块1769-OF4,调节变频器Invt101频率.
3. 打开Studio 5000 V32中文版本,新建一个项目,CPU型号为1769-L30ER,AI模块为1769-IF8,AO模块型号为1769-OF4.
03
模拟量输入模块 (1769-IF8)
1. 1769-IF8硬件概述
2. 硬件接线,有两种.1) 差分接线方式:信号直接接入通道的信号正、信号负端子,公共端不用接,这样就产生了信号正相对信号负的信号源,这种方式适用于无需接地的情形,可以最大程度抗干扰.
2) 单端接线方式:信号接入通道的信号正、信号负端子,且信号负端子与信号地短接,这样就产生了信号正相对信号地的信号源,要求使用屏蔽电缆,且屏蔽线在控制柜单端接地。
3. 组态配置,双击1769-IF8模块,进入配置页面,如果哪个通道需要接入设备或仪表,选择启用;输入范围由传感器设备信号源决定,比如4-20mA;滤波器一般默认即可;数据格式有4种,通常选择工程单位.
4. 组态配置后,在控制器标签里面自动生成该模块的IO标签,由于是模拟量输入模块,主要的信息和数据在Local:1:I里面,其中:1) Local:1:I:Fault,如果为0,表示控制器与模块连接正常,否则表示连接出现故障; 2) Local:1:I:Ch0Data -- Ch7Data:表示通道0 - 通道7电信号原始数据; 3) Local:1:I:Ch0Status -- Ch7Status:表示通道0 - 通道7状态.
5. 重要诊断信息 1) 工作范围检测,比如:某仪表接入通道0,且配置工作范围在4-20mA,当通道0接收的信号大于20mA,就会产生超过范围错误,这时,Local:1:I:Ch0OverRange就会置1;当通道0接收的信号小于4mA,就会产生未及范围错误,这时,Local:1:I:Ch0UnderRange就会置1;
2) 开路检测,如果信号源为 4 - 20 mA ,且配置为启用,那么通道就会执行开路检测。如果出现开路情况,该通道的未及范围位(Local:1:I:Ch0UnderRange)就会置1,造成开路情况的原因有:传感设备连接断开、电缆松脱或断开、传感设备没有安装在所配置的通道上.
6. 信号源数据转换,传感器设备信号源为电压或电流,模拟量模块需要将其转换为控制器识别的数字信号,再用指令将数字信号进行处理,得出仪表或设备的实时数据。常用的输入数据转换格式有:原始/比例数据、工程单位、PID用比例,百分比。下图为1769-IF8正常工作范围的数据转换表,例如:信号源为4-20mA,输入数据格式为工程单位,那么4mA对应的数值为3200;20mA对应的数值为21000.

7. 使用SCL(标定)指令将信号源数据转换为传感器设备测量的实时值。比如:超声波液位计LT101,信号源为4-20mA,量程范围为0.0 -- 15.0m,接入1769-IF8的第0通道,通过编程采集实时液位值。在Studio 5000新建一个使用FBD语言编程的子例程AI_Data,调用SCL指令,其参数配置如下图:
8. 模拟量输入模块数据处理,SCL指令详解:In:接收传感器设备的信号数据,本文为液位计LT101的信号数据; InRawMax:传感器设备信号源对应的最大原始数据,本文为20mA对应的数据21000; InRawMin:传感器设备信号源对应的最小原始数据,本文为4mA对应的数据3200; InEuMax:传感器设备工程量范围最大值,本文为液位计LT101量程最大值15; InEuMin:传感器设备工程量范围最小值,本文为液位计LT101量程最小值0; Out:经过SCL指令标定后的值,即传感器设备测量的实时数据。
04
模拟量输出模块 (1769-OF4)
1. 1769-OF4硬件概述
2. 硬件接线,采用单端接线方式:传感器设备信号正极接入通道的信号正端子,信号负极与模块信号地连接,要求使用屏蔽电缆,且屏蔽线在控制柜单端接地.
3. 组态配置,双击1769-OF4模块,进入配置页面,选择启用通道;输出范围由设备信号源决定,比如4-20mA或0-10V;数据格式有4种,通常选择工程单位。然后配置通道输出限制在数据范围之内.
4. 组态配置后,在控制器标签里面自动生成该模块的IO标签,主要的信息和数据都能监控,其中:1) Local:2:I:Fault,如果为0,表示控制器与模块连接正常,否则表示连接出现故障; 2) Local:2:I:Ch0Status – Ch3Status:表示通道0 - 通道3状态; 3) Local:2:O:Ch0Data – Ch3Data:表示通道0 - 通道3电信号输出原始数据.
5. 重要诊断信息,当通道被配置启用后,模块将在每个扫描周期对其进行检测诊断,当发生以下情况,其状态位将被置1:1) 工作范围检测,如果检测到数据超过设置的输出范围; 2) 输出线断路/高负载阻抗检测,如果检测到输出线已中断或者负载阻抗较高(在电流模式输出中).
6. 输出信号源数据转换,控制器信号为数字,模拟量模块需要将其转为与设备匹配的电信号数据。常用的输出数据转换格式有:原始/比例数据、工程单位、PID用比例,百分比。下图为1769-OF4正常工作范围的数据转换表,例如:信号源为0-10V DC,输出数据格式为工程单位,那么0V对应的数值为-500、10V对应的数值为10500.
7. 使用SCL(标定)指令将控制器数字信号转换为设备的电信号数据。比如:变频器Invt101,频率调节信号源为0-10V,量程范围为0.0 -- 50.0HZ,接入1769-OF4的第0通道,通过编程实现频率调节。在Studio 5000新建一个使用FBD语言编程的子例程AO_Data,调用SCL指令,其引脚含义与上面1769-IF8相同,大家自行理解。
05
其他模拟量模块 (1794-xx、1734-xx)
1. FLEX I/O模拟量模块,如1794-IE8,1794-OE4等,同样适用本文方法.
2. POINT I/O模拟量模块,如1734-IE8C,1734-OE2V等,同样适用本文方法.
3. 另外,关于这些模拟量模块的数据转换范围,直接去官网下载,具体方法请参考以前发布的文章《如何获取到更多的AB资料》.
结语:综上所述,本文介绍了CompactLogix 模拟量模块数据处理以及重要的诊断信息,其他系列的模拟量模块,如FLEX I/O、POINT I/O模拟量模块同样适用本文方法,不同之处就是这些模块的数据转换范围不尽相同,需要大家去官网下载该型号模块的资料,在里面查询,然后用到编程。
|