大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

我是老董,专注于电气自动化项目经验分享!

大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

走起

我们要干嘛?

在过程控制中,我们经常需要测试某一个工艺单元的控制逻辑,但是编程阶段由于没有可用设备,只能手动增加大量测试点,需要占用大量的思维空间,考虑每一个点会发生的变化。从而无法将精力聚焦于工艺和逻辑控制功能的实现,所以我们需要建立面向对象的编程方式,并在控制对象模型中增加测试功能,既能保证正常的功能又预留相应的测试接口;

同时我们要保证我们的测试功能不可以给工作量带来额外的开销。

今天我们使用施耐德Unity来构建一个带测试功能的电机块和仪表块!

过程控制程序设计首先应面向对象

过程控制中存在大量重复设备,比如从小处讲如:水泵、搅拌器、皮带机、减速机其实都有着大量的共性;都有自动、运行、故障等反馈信号,都有启动点。都存在手动启动和自动启动的情况,部分使用变频器控制,部分使用直接启动。利用这些共性,这种设备我们就可以形成一个控制模型!

这种思维方式,可以避免大量重复劳动,不需要过多的复制修改代码,其次使程序结构变的简洁明了,将思维聚焦到工艺的实现和复杂功能的构建。

如果有两套相同的工艺体也可以提炼出相应的控制块,以便简化你的程序,控制块内使用多种编程方式、结构化文本、梯形图、功能块图。。。

1、带测试点的电机控制块

首先来考虑,一个电机我们需要多少个外部接口,我们假定我们是需要在人机界面上监视控制此电机。那么必备的接口(实际使用可能需要增加更多接口):

该功能块可实现实际和测试内部完全分离,测试时作为电机不将结果输出至外部接口,同时将操作反馈至真实反馈接口,可以用于大型项目控制模拟。

外部反馈DI接点:远程、运行、故障

外部控制DO接点:启动

外部反馈AI接点:反馈频率

外部控制AO接点:控制频率

人机界面显示接口:远程、运行、故障(不可以直接引用外部变量,避免更改外部点位时需要同时修改人机界面组态、程序)启动超时报警、当前频率、累计运行时间、本次运行时间

人机界面操作接口:手/自动、手动启动、手动停止、设置频率、复位报警、复位时间


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

变频电机测试块接口


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

真实启停梯形图、启动停止使用共同接点


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

模拟启动梯形图、启动停止与真实使用共同接点


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

状态指示1、可模拟故障、模拟运行、模拟远程


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

手动频率


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

当前频率和模拟频率


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

演示故障


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

真实累计时间


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

测试时累计时间


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

本次运行时间

2、一个仪表功能块

本仪表功能块可以实现将模拟量输入线性转换为实际当前仪表值,并有高限报警、低限报警功能。同时有测试接口可手动/自动,手动时直接输入测试值,自动时根据输入值自动线性变换为输出值。用于大型项目测试。


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

接口

大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

高低限值报警输出


大规模过程控制中逻辑测试非常困难,PLC如果拥有一个测试块~太爽

测试功能


我是老董,关注我学习更多电气自动化知识


分享到:


相關文章: