关于PLC实现条件控制程序执行的系统方法外文翻译资料

 2022-01-07 21:39:52

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


《波兰科学院技术科学通报》,第64卷,2016年第1期

DOI: 10.1515 / bpasts - 2016 - 0018

关于PLC实现条件控制程序执行的系统方法

M. CHMIEL和E. HRYNKIEWICZ

格里维斯西里西亚理工大学电子研究所,波兰格里维斯44-100号,Akademicka St. 16

摘要:本文介绍了选择性控制程序执行的原始思想,可以显著缩短响应时间。给出了PLC程序性能的详尽分析。分析方法解释了选择性控制程序评估的想法,并给出了其可行性的要求。提出了一种基于数据流图方法的系统和形式的程序分析方法。该方法从控制程序生成非循环图,该控制程序是优化,变量分配和指令生成的主题。图表方法允许确定选择性程序执行所需的变量依赖性和任务分区。该方法利用硬件支持的变量检测。对系统操作来说是透明的,并能够评估需要更新的模块。

关键词:控制程序,PLC, LD, IL, FPGA,编译器,控制程序优化,PLC编程,流程图。

1. 介绍

PLC是用于实现控制程序的自定义计算机。它能够处理多个独立的进程。与典型的(命令式)编程相反,典型的编程侧重于特定任务的顺序处理,PLC处理多个控制任务[1]。编程概念允许在所有任务之间均匀地分配计算能力。每个任务都以函数的形式构造,函数的形式决定离散方法中的控制值。

控制系统由X、Y、q三组变量描述。X组的项与控制输入信号相关联,Y组的项与输出信号相关联。集合Q的变量存储受控过程的内部状态。系统由函数f和g来描述,函数f和g决定变量Y和Q集的值:

Qn 1 = f(X, Qn)

Y = g(X, Qn)(1)

放置和输出样本。PLC的工作方式为闭环控制,不能采用流水线方式。控制算法与对象响应之间需要紧密对应[4-6]。

系统的离散运行由集合q的变量值来强调,指标n和n 1分别表示当前值和下一个周期值。

PLC是控制系统(图1)的一部分,它与传感器、执行器和被控对象组成控制系统。控制器的响应时间应尽量减少,以便对输入条件的变化立即做出反应[2,3]。这一需求不同于没有直接反馈的典型计算应用程序。计算吞吐量是此类系统的主要目标,而计算延迟则不那么重要。这种方法支持流水线结构,它将计算分配到几个处理步骤中。样本以重叠的方式处理,最大的吞吐量和阶段利用率引入了in-之间的处理延迟

图1所示。基于PLC的控制系统

PLC计算周期示意图如图2[7]所示。它配备了专有的操作系统,管理整个系统的操作。程序执行块负责执行用户提供的控制算法。专用于采集输入信号的周期,将输入值传递给处理图像内存,防止数据竞争。计算结果在处理结束时从进程图像存储器中发出,消除了处理过程中的意外输出切换。程序循环的其余部分负责执行系统和管理功能。为了进一步考虑性能,这些任务被分组到系统功能中。

米利克、奇米尔和赫林凯维奇

图2所示。PLC的典型计算周期

本文的重点是减少用户程序执行时间。第二章对程序执行模型进行了评价。目的是确定控制程序重新计算的条件。给出了事件驱动计算的效率。第三章提出了控制程序分析、优化和依赖跟踪的形式化方法。它利用原始的图表示形式,适用于穷举控制程序的求值。采用基于图的方法解决了程序划分问题。第四部分讨论了一种特定的硬件支持,它显著改进了事件驱动系统,并通过确定要重新计算的程序块减少了编程开销。最后,通过实例说明了该方法的应用和取得的结果。

2. 选择控制程序处理

2.1。PLC的性能。为了比较PLC的效率,制造商用相当于执行1000条指令的扫描时间来描述其性能。测试集由70%的逻辑指令和30%的其他指令组成。分析了[8]中具有代表性的程序集。此因素不描述特定控制系统的控制器吞吐量。PLC程序性能和PLC系统本身是通过对输入信号变化的响应时间来测量的。图3以图形化的方式显示了执行周期。标记为tEV的区间是下一个循环中要处理的事件(变量值更改)的时间范围。PLC的响应时间随事件发生的时间而变化。它假设输入状态在循环开始时(tIN)被锁定和收集,结果在循环结束时(tOUT)被分派。所有详细给出的系统活动都被聚合成单个的系统活动块(tSY S)。输入事件的响应时间分为最短(tR min)和最长(tR max)时间范围:

tR min = tIN tCY tOUT = tSCAN - tSY S,

tR max = tSY S 2 (tIN tCY tOUT) = 2tSCAN - tSY S。

(2)

162

图3所示。参考文献中PLC响应和观察时间的定义

与计算周期有关

出于安全考虑,考虑了最长的一个(tR max)。最坏情况分析表明,PLC的响应时间几乎等于扫描时间(tSCAN)的两倍。

可以注意到,当事件发生在输入读取周期附近时,响应时间急剧减少到最乐观的情况。乐观响应时间甚至比单扫描时间更短。对于周期性变化的信号,其周期必须大于扫描时间。另一方面,由(1)描述的控制过程计算集合Q和X。属于集合Q的变量存储受控进程的内部状态。控制程序不可预测的执行时间禁止使用Q项创建时间依赖项[9]。时间依赖关系是通过使用专用的硬件计时器单元实现的。在目前的方法中,定时器输出与属于集合X的变量相关联,即使它们是PLC的内部组件。最后,当变量习约束为常值时,两个离散时刻的控制方程为:

(3)

如图所示,只有当检测到集合X的变量值发生变化时,才触发控制程序计算。该集合与控制进程的所有类型的输入信号(对象传感器、定时器)相关联。

2.2。事件驱动概念的实现大纲。根据所提出的考虑,可以拟订下列问题。“引入非标准程序执行方法是否可能减少响应时间?”这种方法被提出并称为事件驱动处理。它的灵感来自于对[10]中给出的过程控制的分析。由于主回路执行时间较长,程序的计算时间需要非标准的应急控制实现。

事件驱动处理的概念如图4所示。该思想假设程序块的条件执行,前提是检测到相应输入集中的更改。这种方法影响PLC体系结构的许多方面。它可以作为早期调查的想法介绍,是在PLC程序中实现的。这样可以确认其可行性并估计性能。提出了一种自定义编译器,该编译器基于自动用户程序自动实现事件驱动处理介绍了用PLC实现条件控制程序执行的系统方法。这种方法不仅可以进一步扩展到程序构造,还可以扩展到支持所开发的处理方法的特定硬件体系结构的设计。软硬件协同设计方法通过连接变更检测的数据传输进一步提高了性能。精确定制的硬件平台和特定的编译器支持允许使用描述的方法实现最佳性能。

图4所示。任务的条件执行

2.3。事件驱动方法性能评估。事件驱动处理这个术语需要对其可行性和性能评估进行正式的论证。最重要的问题是所提出的模型计算的正确性。另一个目标是确定系统性能与标准方法的比较。所有plc都是微型可编程系统的祖先,该系统每次只计算一个参数。基本假设要求最短的信号变化时间TCHG大于所表示的处理时间

tSCAN

tSCAN lt; TCHG。(4)

这个假设(和需求)确保控制器能够计算出所有输入信号更改的响应,并且不会遗漏任何事件。当服务对象和输入信号的数量增加时,扫描时间和响应时间都增加。响应时间的增加减少了由其吞吐量决定的控制器的应用范围。单个任务(图5A)的响应时间如下:

tRE min = tIN tE tT tOUT,

tRE max = tSY S 2 (tIN tE tOUT) tT。(5)当与标准方法比较时,计算出循环时间。假设任务执行时间tT保持不变。这允许比较两种方法,并确定事件驱动概念与标准方法竞争的需求。我们来考虑一下响应时间的差异:

∆tR min = tR min - tRE min = - tE,

∆tR max = tR max - tRE max = tT - 2tE, (6)

∆tRav = tT - 3tE。

图5所示。程序化事件驱动处理的响应

响应时间的增加(∆t)比较允许确定对条件执行块施加的限制。通过条件执行测试增加最小响应时间(负减少)。由于事件驱动编程方法的性质,它总是显示最小响应时间的增加。最大响应时间允许确定条件测试的执行时间与任务执行时间的比值。将观察到tE lt;

tT 2

。平均

当条件测试执行时间少于执行时间的第三部分时,响应时间将会减少。

采用单块控制程序进行评价。控制程序由操作系统按给定顺序执行的若干任务(块)组成[5,6]。这个观察非常重要。基于此观察,可以派生出事件驱动概念的需求。任务块之前有一个条件块,该条件块确定重新计算任务的必要性。(3)给出了任务重新计算的准则,该准则以流程图的形式显示(图4),图中描述了触发tE的任务执行时间和任务执行时间tT。当所有任务都需要重新计算时,多个任务的最大响应时间(图5B)如下:

当采用概率方法时,比从(4)可以确定最小信号周期。我们也可以假设并非所有的信号都在以最大频率切换。这种假设将导致特定扫描的选择性控制任务执行。为了简单起见,假设任务执行时间是均匀分布的(所有任务都需要相同的计算时间),并且在单次循环运行期间只触发一个任务。将考虑的时间限制在程序执行时间tP:

设所有条件项块的最大执行时间为所有计算执行的小数部分。根据考虑的因子d为:

然后根据任务执行时间和各自的因素来描述程序执行时间:

相关程序执行加速eta;P根据考虑模型描述如下:

上述语句证明了程序分解为任务的本质。与任务数量n成比例的程序分割带来了一些好处。事件驱动处理引入了额外的任务识别成本。该方法的效率与d给出的识别率成正比,为了使事件驱动处理具有竞争力,必须将任务识别时间最小化。这是通过程序生成方法和硬件辅助的变更检测来解决的。

3.实现选择性程序处理

为了进行选择性处理,每个程序应该由两个分别链接的块组成,这两个块分别是条件触发器块和标准处理块。此过程可手动应用于现有程序。手工准备是低效、复杂和费时的。此外,构造不正确的触发器块将无法在需要时调用处理块,从而导致不适当的行为和不正确的控制处理。

3.1。LD程序中的计算依赖关系。公式(3)描述了事件驱动处理的一般需求。在PLC中,有三组变量与输入、输出和内部标记相关联。让我们考虑如图6所示的示例梯子示意图。横档之间的依赖关系用虚线标记。案例A指最近评估的横档扫描。图旁边的波形显示了从输入到所有梯级的事件传播。案例B展示了脉冲产生的概念,其中第一个横档是指第二个横档计算出的变量。当第一个横档被求值时,q4变量的值来自于之前的扫描周期(没有显示tn - 1),输入i4的变化由两个横档同时求值,分配q3和q4的值。q4变量的变化导致了对网络重新评价的必要性。当计算仅由与输入信号相关的变量触发时,就有可能抑制程序中某些事件的传播。测定方法

变量依赖关系是成功实现事件驱动处理的必要条件。作者开发的方法不仅允许确定变量依赖关系,而且允许优化和跟踪整个控制程序中的依赖关系。

图6所示。梯形图中的计算依赖关系

LD依赖项跟踪的一种可能方法显示在work[11]中。它试图研究分析网络的序列特性,并将其转化为GRAFCET (SFC)表示。为此,引入了依赖关系和同时性图。这些图还用于LD[12]的硬件实现。[13]也描述了类似的想法,用于为多个上下文硬件执行分区LD。详尽的程序分析演示了[14]中给出的方法。开发了数据流图的特殊导数,并将其命名为增强型数据流图EDFG。应用于PLC程序的自动分析。该概念由LD扩展到IL和SFC,最后利用EDFG方法提取控制程序属性,用于事件驱动概念、程序优化和代码生成。

3.2。用EDFG提取LD程序语义。为了提取程序的属性,开发了一种中间表示方法,它允许用算法的方法对LD程序进行分析并提取其属性。它可以记录逻辑和算术运算。它跟踪变量和操作依赖关系。EDFG揭示了并行操作、分支和整个任务。根据目标平台的能力和映射方法,可以从饱受诟病的准等位基因和任务划分中获得优势。消除死代码是控制程序图表示的本质和自然效果。所述方法支持优化的代码生成,这与[15]中给出的方法有很大的不同。

EDFG是一个有向无环图。由图-ple: G = hV, Ei给出,其中:V为节点集合,E为集合的边缘。有向边e用有序三重e = hvSRC, vDST, ai来描述,其中:vSRC为先于节点,vDST为有向边的后继节点。a是从集合a中选择的边的属性。集合a由适用于允许节点集的一元操作组成。这个修改大大简化了逻辑和算术转换和优化。

利用图7中给出的映射规则,将LD转换为EDFG。该图表示整个程序中计算的顺序依赖关系。当应用直接代码生成方法时,很难跟踪这些依赖项和属性。前两种情况显示变量值访问。它区分了未赋值(图7A)和赋值(图7B)变量访问。应该注意,EDFG实现的节点负责将值读取和赋值从操作中分离出来。

图7所示。LD到EDFG映射

值读节点和值写节点允许用变量集链接EDFG。值访问区分了在赋值之前进行的访问、值来自前一个循环的访问或由于前一个赋值而在当前循环中计算的访问。在第二种情况下,访问值源节点(图7B)。如果稍后重新分配变量,

全文共11119字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[1965]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。