1
关注中国自动化产业发展的先行者!
2024
2024中国自动化产业年会
2023年工业安全大会
OICT公益讲堂
当前位置:首页 >> 案例 >> 案例首页

案例频道

基于线性拟合的PLC模拟量输入模块自动校准设备研究
  • 企业:     领域:PLC /PAC/PCC/RTU     行业:电力    
  • 点击数:440     发布时间:2023-12-30 18:02:29
  • 分享到:
在工业控制领域中,PLC(可编程逻辑控制器)是一种常用的控制器,被用于控制各种工业设备。PLC模拟量输入模块是PLC系统中常用的组件,可用于采集外部模拟量信号并将其转换为数字信号,以便PLC系统能够对其进行处理。由于各种原因,模拟量输入模块的精度往往不够高,需要进行校准来提高精度。传统的校准方法需要专业技术人员利用精密仪器手动完成,操作繁琐,工作量大,效率低下。因此,本文提出了一种自动校准方法,该方法利用PLC控制器和改良后的输出模块作为输入信号源,并通过计算机进行复杂运算来自动控制校准过程。该方法采用线性拟合方法,通过多次迭代来实现自动校准PLC模拟量输入模块。实验表明,该校准方法经济易操作,能够更快更准确地校准PLC模拟量输入模块,避免了人工校准过程中的疏漏和错误。

★北京广利核系统工程有限公司赵伟雄,程康,史雄伟,王家兴,王贺

★中广核数字科技有限公司邹文斌

关键词:PLC;模拟量;输入模块;线性拟合;自动校准;最小二乘法

1 引言

随着工业自动化技术的不断发展,PLC(可编程控制器)在工业控制领域中的应用日益广泛[1]。模拟量输入模块是PLC系统中的重要组成部分,它能够将外部模拟信号转换为PLC能够识别的数字信号。这些数字信号可以被PLC系统进一步处理,从而控制各种工业设备。

然而,在模拟量模块生产、使用过程中,由于各种PCB布线、元器件精度、温度等因素的影响,模拟量输入模块会出现精度不够高的情况,不能满足工业现场使用要求[2]。这种情况下,就需要进行校准来提高模拟量输入模块的精度。传统的校准方法通常需要人工干预,且耗时较长。因此,本文设计了采用PLC控制器和改良后的模拟量输出块作为信号源,利用电脑的强大运行能力和直观的图形界面显示,使用线性拟合方法对PLC模拟量输入模块进行自动校准。该方案能够准确、快速地校准模拟量输入模块。

2 传统校准方法

通常,模拟量输入模块包括多种类型,如(-10V~10V、-1~1V等)电压输入,(0~20mA,4~20mA等)电流输入等[3],并且每个模拟量输入模块包含多个输入通道。这意味着在校准过程中,需要对每种类型、每个通道都进行校准。

传统的校准方法采用手动调节的校准方法[4],这种方法需要专业技术人员使用专门的校准设备产生标准电压或电流信号作为输入源测量记录PLC模拟量输入模块的采集值。然后,通过对比采集值与标准信号的差异,反复调整偏置值和校准值来完成校准。最后,重复相同步骤完成所有通道的校准。

虽然这种方法在一定程度上可以提高PLC模拟量输入模块的精度,但是有几个明显的缺点。首先,它依赖于专业技术人员对模块的所有通道逐个进行校准,对每个通道校准的步骤也非常复杂,校准过程相对耗费人工,不利于批量校准测试,生产效率低[5]。其次,容易出现人为因素造成的误差,因为校准过程需要人工干预,不同的人有可能会出现不同的误差。最后,标准设备电压、电流信号的方法虽然精度高,但需要购买昂贵的校准设备,不够经济实用。

3 基于线性拟合的自动校准法

线性拟合的自动校准法是一种高效、精度高的校准方法[6],能够解决传统校准方法存在的问题,如高人工成本、精度低、时间长等。它的原理很简单,主要就是使用线性拟合算法来计算标准值和测量值之间的线性关系,然后通过计算机自动控制校准过程,使用PLC输出模块作为信号源。这样就可以快速、精确地完成校准,无需人工干预。

在这种方法中,使用PLC模拟量输出模块替代了标准电压源和电流源。作为模拟量输入模块的输入源,为了满足校准要求,对PLC输出模块进行了优化,采用高精度的DAC芯片,其输出精度比模拟量输入模块的精度高一个数量级,并经过了预先校准。PLC输出模块通常也包含电压输入(例如-10V~10V,-1V~1V)和电流输入(例如0~20mA,4~20mA)等多种类型和多个通道,并且其输出稳定、可编程自动调节输出,这样就可以避免手动调节输入源的繁琐,并且减少了反复调整的次数,一次校准多个通道,大大缩短了校准时间。

下面,我们以风机控制PLC的模拟量输入模块AI8(-10V~10V)电压输入校准为例来详细介绍这种自动校准方法的具体流程。

3.1 硬件连接

硬件连接如图1所示,其中AI08是8通道模拟量输入模块,AO08是8通道模拟量输出模块,MPC7000是风机PLC主控制器模块。

image.png

图1 硬件连接图

将AO08模块的输出电压接到AI08模块的输入端,并将两个模块的GND连接在一起。电脑通过网线连接PLC的主控模块MPC7000,电脑上运行校准软件。校准软件采用C#语言编写,通过以太网和PLC进行通信。校准软件界面如图2所示。

image.png

图2 电脑校准工具

3.2 校准过程

PLC模块提供了两个功能接口来满足用户的校准要求,分别是AI_Calibrate_Set和AI_Mode_Set。前者用于设置模拟量模块的校准值,参数包括CardID、Channel、Gain和offset;后者用于设置模块的工作模式,参数包括CardID、Channel和mode。这些功能接口可以通过在PLC上编写ST语言进行调用。

电脑自动校准软件为了使校准工作尽可能准确,通常会设计一系列步骤来进行校准。

(1)首先软件会设置校准模式,例如设定校准模式为(-10V~10V)的电压输入模式。

(2)软件会发送AO输出电压值,输出值的大小和范围可以根据输入模式动态调整。例如,如果范围是(-10V~10V),那么就可以从-10V开始作为输出值。

(3)软件会延迟100ms,等待数据稳定后再读取对应的AI输入电压值。将AI输入电压值和AO输出值记录到Excel文件中,便于用户查看。

(4)最后,软件会修改AO输出值,然后重复上述步骤,直到记录完成-10V~10V范围内多组不同的AO输出值和AI输入值。为了提高校准精度,软件需要尽可能多地采集测量值和实际值。

当软件完成了对多组值的采集后,就可以使用线性拟合算法来计算出偏差和增益值,然后调用AI_Calibrate_Set函数设置AI校准值。在设置完校准值后,软件还需要进行校验,以确保校准工作的准确性。为此,软件会随机从(-10V~10V)范围内选择几组值,并设置AO输出值,同时记录AI采集值。然后,软件会判断误差是否满足要求,如果不满足,则重复上述步骤,直到连续3次误差都满足要求为止。如果连续3次误差都不满足要求,则软件会报警提示操作人员。

通过使用PLC模块的AI_Calibrate_Set和AI_Mode_Set功能接口,电脑自动校准软件可以自动完成多组测量值和实际值的采集,并使用线性拟合算法计算出偏差和增益值,最终使得校准工作更加精确。在校准过程中,软件还提供了记录、显示和检测的功能,使得校准过程更加透明和可控。

电脑自动校准软件的校准功能可以应用于多种工业场景,例如用于自动化测量设备的校准,或者用于工厂生产线上的自动化设备校准。通过使用软件自动完成校准工作,可以大大提高工作效率,并减少了人为操作的误差。此外,电脑自动校准软件还可以提供多种定制功能,例如可以根据用户的特定要求来设计校准流程,或者提供多种数据输出格式,使得校准工作更加灵活。

3.3 线性拟合校准算法

线性拟合算法校准模拟量输入是一种常用的校准方法[7],它通过对数据进行线性拟合来校准模拟量输入的值。这种方法可以用来确定模拟量输入值与实际输出电压值之间的关系。例如本文使用AI08模块的1通道来收集模拟量输入的数据,并记录下来,同时通过电脑记录下AO08模块的1通道的实际输出电压值。我们可以使用线性拟合算法来对这些数据进行分析,从而确定模拟量输入值与AO81通道输出电压值之间的关系。表1是校准前AO08模块1通道的实际输出电压值对应的AI08模块1通道的测量电压值。

表1 模拟电压测量值和实际值

image.png

为了更好地看出测量电压值和实际电压值的对应关系,在Matlab中用曲线表示出来,如图3所示。

image.png

图3 实际电压和测量电压的对应关系图

从图3中可以看出实际电压值和测量电压值之间呈现良好的线性关系,这意味着可以将测量值和实际值之间的关系抽象为线性关系方程。为了更好地表示这种关系,可以设定一个变量x表示测量电压值,并设定一个变量y表示实际电压值。然后,通过使用线性方程y=ax+b来模拟测量值和实际值之间的关系。在这个方程中,参数a表示斜率,也就是增益值;参数b则是方程的常数项,也就是偏置值。

为了精确地计算参数a、b,采用线性拟合中常用的最小二乘法[8][9],它是一种数学方法,可以帮助我们确定模型参数,使得模型在预测值和实际值之间的差距最小。图4所示的是最小二乘法的c语言实现。

image.png

图4 c程序最小二乘法

把测量值作为x,实际输出值作为y,代入根据上面计算,可以得到以下结果:

a=1.046,b=569。

即可得到校准曲线为:y=1.046x+569。然后把校准参数通过AI_Calibrate_Set更新到AI08模块中,重新测量模拟电压输入值,可得到如表2所示的数据。

表2 模拟电压测量值和实际值

image.png

在分析表1和表2的数据后,可以发现:表1中的最大误差为988mV,测量结果与实际电压值之间的差距较大,而在经过线性拟合校准之后,表2中的最大误差降至了9mV。这表明,线性拟合校准技术能够有效地提高测量精度,使得误差小于最大量程的0.1%。测量结果已经达到了设计要求的精度水平。

综上所述,通过对测量结果进行线性拟合校准,可以大幅度地提高测量的准确性,从而满足设计要求。

4 结论

在进行PLC模拟量输入模块的校准工作时,本文所提出的方法显得尤为有效。实验结果表明,该方法不仅具有较高的精度,而且能够自动完成校准过程,避免了人为因素造成的误差。与传统的校准方法相比,这点显得更加优越。除了精度和自动化程度方面的优势之外,该方法还具有较低的计算复杂度。使用线性拟合方法进行校准时,计算量并不大,且采用计算机自动控制,节省人力,因此该方法在实际应用中具有较好的实用性。

在后续工作中,如果想进一步提升校准精度,也可以考虑分区间校准的方式[10]。根据模拟量输入信号的曲线,可以将其划分为可近似认为线性的多个区间[11]。对于不同的区间,可以采用不同的校准曲线[12]。这样,就可以更加精确地校准模拟量输入信号,从而提高校准精度。

总之,本文所提出的校准方法在精度、自动化程度和实用性方面都具有很大的优势。在实际应用中,可以根据需要进一步提升校准精度,使校准工作更加高效、精确。

作者简介:

赵伟雄(1990-),男,河北邯郸人,高级工程师,硕士,现就职于北京广利核系统工程有限公司,主要从事广利核嵌入式软件开发方面的研究。

参考文献:

[1] 刘涛. 一种用于模拟量校准的校准函数关系获取方法及装置: CN110968833A[P]. 2020.

[2] 田垅, 刘宗田. 最小二乘法分段直线拟合[J]. 计算机科学, 2012, 39(B06): 3.

[3] 肖贝. 数字系统中模拟量的线性拟合校准[J]. 现代商贸工业, 2018, 39(5): 3.

[4] 黄中玉, 黄卫红. 使用PLC模拟量输出模块对输入模块进行偏置增益校准的方法研究[J]. 电气开关, 2010, 48(4): 3.

[5] 庞伟, 龙辛, 黄波, 等. 风机PLC内部通信系统的分析与设计[J]. 机械工程与自动化, 2013(5): 3.

[6] Yidan B, Yanping W U, Yong H E, et al. A New Forecasting Model Based on the Combination of GM (1,1) Model and Linear Regression [J]. 系统工程理论与实践, 2004, 24(3): 95-98.

[7] 黄富贵, 崔长彩. 评定直线度误差的最小二乘法与最小包容区域法精度之比较[J]. 光学精密工程, 2007.

[8] 廖常初. PLC模拟量输入模块的使用方法[J]. 电工技术, 2003(10): 2.

[9] 李金城. PLC模拟量与通信控制应用实践[M]. 北京: 电子工业出版社, 2011.

[10] 赵德政, 张帅, 张彪, 等. 一种基于改善PLC模拟量输入模块通道校准效果的方法: CN112165330A[P]. 2021.

[11] 刘巧珍, 栾松, 陈燕光. 最小二乘法在PLC模拟量测量系统标定中的应用[J]. 测控技术, 2007, 26(5): 3.

[12] 赵金荣. PLC模拟量输入通道及其在数据采集处理中的应用[J]. 上海应用技术学院学报: 自然科学版, 2003, 3(4): 4.

摘自《自动化博览》2023年12月刊

热点新闻

推荐产品

x
  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: