小型PLC自动控制器的嵌入式设计与实现

姜永华 张正中
摘 要: 为了解决原有PLC生产过程中手工调试参数校准效率低和测试精度低的弊端,设计并实现了小型PLC自动控制器。详细分析了PLC硬件中AIO模块、DIO模块、PTA模块以及CPU模块的功能,基于这些模块的功能,设计小型PLC自动控制器的模块级自动检测方案,重点分析AIO模块的自动检测过程。描述自动控制器中矩阵开关以及上位机软件的实现过程,采用最小二乘拟合的方法校准AIO模块中的数据,降低系统误差的干扰度,提升检测精度。实验结果表明,所设计自动控制器各测试模块检测方案可行,具有较高的测试精度。
关键词: 小型PLC; 自动控制器; 嵌入式设计; 最小二乘拟合
中图分类号: TN876?34; TM315 文献标识码: A 文章编号: 1004?373X(2017)22?0082?03
Abstract: In order to eliminate the disadvantages of low calibration efficiency and low test accuracy of manual debugging parameters in original production process of PLC, a small automatic controller for PLC was designed and implemented. The functions of AIO module, DIO module, PTA module and CPU module in PLC hardware are analyzed in detail. The automatic detection scheme in module level of small automatic controller for PLC is designed on the basis of the module functions. The process of automatic detection of AIO module is analyzed emphatically. The realization process of the matrix switch and the host computer software in the automatic controller is described. The least square fitting method is used to calibrate the data in the AIO module to reduce the interference degree of the system error and improve the detection precision. The experimental results show that the detection scheme for each module of the designed automatic controller is feasible and has high test precision.
Keywords: small PLC; automatic controller; embedded system; design; implementation
由于信息技術的快速发展,基于PLC的自动检测技术在产品质量检测领域的应用价值也不断提升,并且在工业生产领域具有广泛的应用价值。为了解决原有PLC生产过程中手工调试参数校准效率低、测试精度低的弊端,基于嵌入式模块化设计原理,设计并实现了小型PLC自动控制器。
1 小型PLC设计
1.1 硬件体系架构设计
小型PLC采用模块化设计,主要由PLC底板、CPU模块、I/O模块、通信模块以及温度采集模块构成[1]。其中通信模块由CAN通信模块和网络通信模块构成。图1是单条底板组态下的小型PLC的架构图。
其中CPU模块是关键模块,各模块间采用底板实现通信。单个CPU模块可为16个I/O模块提供服务。为了增强CPU模块数据通信质量,本文PLC在CPU模块中塑造协议处理器对CPU模块数据的输入/输出实施处理,主CPU同协议处理采用共享数据区完成数据交互。
1.2 软件体系结构设计
小型PLC的软件系统结构如图2所示,PLC的软件系统由系统软件和应用软件构成[2]。
其中PLC硬件组成中的AIO模块是模拟量输入/输出模块,其由16组输入/输出通道构成。输入通道收集电压源、电流源以及Pt100传感器信号,输出通道输出±10 V的电压控制信号[3]。
DIO模块是数字量输入/输出模块,其通过1~16通道位输入/输出可配通道,并采用LED呈现不同通道的状态。PTA模块是模拟量输入模块,包括16组输入,采用12组输入通道采集温度。对输入配置寄存器中的值实施调控[4],对其他4组输入通道输入采集模式实施在线配置。
CPU处理器模块采用Powerpc技术,处理器芯片为8280,并配备一个3 V纽扣锂电池,是总体小型PLC的指挥站,完成系统配置、数据交互运算以及程序运行。
2 小型PLC自动控制器的嵌入式设计与实现
基于第1节分析的各PLC模块的特征,设计PLC自动控制器的模块级自动检测方案,并对AIO模块的自动检测过程进行重点分析。
2.1 模块级自动检测方案
嵌入式小型PLC自动控制器是一种闭环检测系统,由上位机、需要检测的模块以及不同的外围部件组成[5],通过上位机对检测结果实施分析。其中I/O模块由AIO模块、DIO模块以及PTA模块构成。I/O模块检测内容是分析该模块能否准确辨识输入信号、输入信号精确度以及输出信号精确度引起的负载性能等内容。其结构如图3所示,包括上位机、待测I/O模块、PLC测试底板、交换机、万用表以及矩阵开关等。程控电源向总体控制器提供电源,模拟I/O模块需求的输入信号;不同模块输出信号以及电源端的输入信号都传递到万用表中,I/O模块的检测参照值则是万用表内的信号;通过矩阵开关完成检测电路和外围设备的变换[6]。检测I/O模块时将数字万用表当成实际值和待测模块参照值构成闭环系统,对I/O模块实施检测和校准。本文重点分析AIO模块自动检测系统的设计和实现过程。
2.2 矩阵开关实现
矩阵开关行和列的高效配置,能够实现不同模块的检测需求。本文按照小型PLC自动控制器闭环控制系统的需求,设计一种基于FPGA的大规模矩阵开关,其控制逻辑的关键部分是FPGA,可对通道进行旋转和变换处理[7],矩阵开关原理结构图如图4所示。自动控制器设计两块8×32矩阵开关,包括8条行信号线和32条列信号线,不同行和列的信号能够进行变换。
2.3 上位机软件
小型PLC自动控制器的控制核心是上位机。上位机能够显示不同的数据界面、对控制器实施管理、对数据实施检测和解析[8]。上位机对AIO模块检测流程如图5所示[9]。按照用户选择的模块号等参数设置AIO模块参数,调控信号源的输出,获取AIO模块的状态值,对状态寄存器的标识情况实施检测[10]。上位机采用开关矩阵变换温度信号获取AIO模块的输入信号,通过万用表得输入信号的参照值,分析参照值和实际数据,获取检测结果。上位机向AIO模块数据区寄存器存入电压输出设置值,采用矩阵开关切换,将电压设置值同万用表输出的实际电压值进行对比,完成AIO模块电压输出检测。
3 实验测试
3.1 AIO模块检测结果分析
本文设计的小型PLC自动控制器中的AIO模块需要实现0~20 mA电流输入检测、±10 V电压输出检测。上位机按照检测数据自动绘制波形,如图6、图7所示。电压输入检测时间是21 s,最高误差是0.45%。0~20 mA电流输入检测通道检测时间是20 s,最高误差是0.13%。分析这些数据得AIO模块在通过本文设计的控制器校准后,不同检测条件下各通道的误差值都小于最高误差值1%,说明校准后的误差符合要求,本文设计小型PLC自动控制器中AIO自动检测方案是有效的。
3.2 溫度记录模块PTA测试
温度记录模块PTA应进行0~20 mA电流输入检测以及Pt100输入检测,结果如图8、图9所示。电压输入检测方法同AIO一致,0~20 mA电流输入测试单通道测试时间是20 s,最高误差是0.1%。Pt100输入测试手段同AIO一致,单通道总测试时间是25 s,最高误差是0.45%。分析这些测试数据可得,PTA模块通过校准后各测试项的不同通道实验误差值小于最高误差值1%,说明校准后的误差符合需求。本文设计的小型PLC自动控制器中的PTA自动检测方案可行,并且有较高精度。
4 结 论
本文基于嵌入式模块化设计原理,设计并实现了小型PLC自动控制器,实验结果表明,所设计自动控制器各测试模块检测方案可行,具有较高的测试精度。
参考文献
[1] 乔全胜,邢双云,尚文利,等.可信PLC的设计与实现[J].自动化仪表,2016,37(12):76?78.
[2] 王超,张春,杨莲红,等.基于组态软件的电梯远程监控系统的设计[J].现代电子技术,2016,39(9):167?170.
[3] 乔荣华,董建刚,张永恒.基于TRIO和PLC双控制器的船舶焊接机器人运动控制系统设计[J].热加工工艺,2016(11):253?256.
[4] 张媛,蒋乐天,翟任何,等.基于嵌入式小型PLC的移动式保温餐车控制系统设计与实现[J].机械设计与制造工程,2016,45(4):31?36.
[5] 齐继阳,孟洋,李金燕,等.基于安卓移动设备的嵌入式监控系统设计方法[J].自动化与仪表,2015,30(9):5?9.
[6] 陈小贝,汪志成,叶宝安.基于嵌入式系统的PLC触摸屏控制系统设计[J].电子测量技术,2015,38(3):54?56.
[7] 肖成.PLC的嵌入式风机智能控制系统设计探讨[J].中国新通信,2016,18(9):123.
[8] 李雪莲,杨悦.基于加密与验证机制的嵌入式PLC系统设计[J].青岛大学学报(自然科学版),2015,28(1):80?84.
[9] 李林琛,蒋小平.基于改进遗传算法的PLC压力传感误差控制器设计[J].现代电子技术,2016,39(17):161?163.
[10] 杨硕,沈振军.基于Linux的步进电机嵌入式控制系统[J].仪表技术与传感器,2015(1):77?80.