详情请进入 湖南阳光电子学校 已关注:人 咨询电话:0731-85579057 微信号:yp941688, yp94168
未来的自动化操作可能使用多种编程语言,对于程序员来说,了解哪些语言是可用的、适合于哪些领域,以及如何用其创建可读、有资源支持的代码将至关重要。
梯形图逻辑,是可编程逻辑控制器(PLC)的主要编程语言之一。它简单易用,并以图形方式表示继电器触点和线圈。不过,问题是:与其它编程语言相比,梯形图逻辑能在多大程度上满足当前和未来复杂的自动化需求?答案可能比继电器和线圈要复杂的多。
梯形图逻辑的起源
自动化的出现要早于PLC,那时使用继电器网络来充当应用的“大脑”。没有编程人员的角色:只有工程师负责设计电路、电工负责组装。当将逻辑绘制到图纸上时,电路被记录在有点类似梯子的标准结构中,因此被命名为“梯形图”( 见图1)。
图 1: 一个简单的梯形图逻辑示例。本文图片来源: Breen 机器自动化服务
当PLC 刚出现时,宣称它们会为自动化带来很多好处,但没有人知道如何对其进行编程。然后有人想到用梯形图对PLC 进行编程,这样工业领域就可以利用现有的编程技能。工程师和电工也可以阅读和理解程序。在很大程度上,自动化设计可以遵循与继电器相同的模式。
在PLC 之前,继电器控制需要占用机柜的物理空间,而这些机柜需要花钱购买,接线也需要时间。它们只能实现开/ 关功能——在继电器逻辑中,无法实现模拟、数学工具或数据收集功能( 除了特殊继电器中的一些定时和计数功能)。即使是最大、最复杂的自动化系统,也受到继电器物理特性的限制,因此梯形图逻辑语言并不需要做太多。
如今,PLC 所用的处理器芯片,所占用的空间、资金和时间成本比继电器更少,但能实现的功能更多。另外,PLC 中使用的编程语言也在不断扩展,以实现不断增加的功能。现在,梯形图逻辑可以实现的功能比过去更多。PLC 通常用于模拟控制,至于跟踪部件数据( 条形码、测试结果、校准)、控制运动和其它更多任务,梯形图逻辑仍然是主要语言。
随着编程语言的发展,自动化变得更加复杂。对PLC 进行编程已成为一种更专业化的职业。对电工来讲,阅读和维护梯形图逻辑并不十分方便,而且在即将到来的新一代劳动力中,梯形图逻辑也不是普遍掌握的技能。
“封装使程序在不同的细节层次上更容易理解,
并使代码可以复用。”
其它PLC 编程语言
国际电工委员会的工业控制编程标准IEC61131-3,以及个人计算机(PC) 编程也对工业编程产生了重要的影响。这些语言通常被视为梯形图逻辑的补充,而不是对立面。
由于PLC 逐渐开始流行,工业界发现需要新的标准来指导编程。IEC 委员会通过IEC61131 标准(主要是第三部分(IEC 61131-3)中的语言)来解决这一需求。标准中所定义的可以互换的4种编程语言——梯形图、功能块图、结构化文本和指令列表,还有一种被称之为顺序功能图的程序组织语言。
每种语言都有自己的优点和缺点,它们可以在某个程序中一起使用,以便更好地支持不同的程序功能。对于哪种语言最适合哪种任务,要根据不同的应用情况进行讨论( 见图 2)。通常情况下,过程或以离散方式运行、或以连续方式运行。自动化也倾向于直接依靠数字量或模拟量输入输出(I/O)。
图 2:IEC 61131-3 语言概述以及它们最适合编写出可读性程序的领域。
从PC 世界中蜕变而出的自动化语言,往往被用于特殊程序或外设的应用程序。这可能包括与数据库的接口或为自动化外围设备的编程,如摄像机和机器人。结构化文本 ( 在 IEC61131 中的定义) 与Pascal 语言非常相似。
IEC 61131 编程标准面世时,Pascal 语言是常用的PC 编程语言。此后,虽然Pascal 语言不再流行,但这是自动化行业向PC 行业借鉴的一个很好的例子。现在,在自动化中行业中,也有些正在应用的PC语言,例如C++、Java和C#。这些语言虽然功能强大,但在自动化领域还没有得到广泛的应用。
考虑编程语言的关键因素
在将梯形图逻辑与其它潜在选项进行比较之前,了解程序真正需要做什么,这一点非常重要。
程序必须能够使自动化运行,虽然几乎任何语言都能做到,但现实也对其提出了其它要求。这在很大程度上归结于可读性。
应该仔细考虑有关编程语言的3个关键问题:
A. 程序员或维护技术人员,能否查看代码并了解其功能?
B. 能否快速发现问题,最大限度地减少机器停机时间?
C. 当需要新功能时,是否易于扩展程序?不同语言的特性会影响程序员编写可读程序的能力。
以下9 个方面可能会影响编程语言的选择。
1. 基本知识
梯形图逻辑应用广泛,很容易就能找一个能阅读理解程序的人。虽然某些行业对其它IEC 61131 语言表现出一定的偏好,但并没有被普遍采用或理解。自动化中使用的PC语言往往非常流行,并且有大量的支持资源,但这些资源并不总能应用到工业领域,这就降低了可能的潜在收益。
2. 内部文档
每种语言都有一种方法,可以让程序员用简单的语言来解释程序的意图。在梯形图逻辑中,这主要是用回路注释和标签( 变量)注释来完成的,它们适用于简单的回路,但对较大的回路或数学函数的帮助则较小。其它IEC 61131 语言各不相同,但通常很适合记录它们擅长的内容。例如,结构化文本在数学计算和循环结构文档方面表现良好。PC 语言往往有更多的功能,可用于内部文档,有时甚至会自动从源代码生成文档,为程序员或技术人员创建手册,以参考和快速了解整体结构。
3. 决策结构和循环
简单来讲,编程归结为“如果发生这种情况,就那样去做”。这是一个名为“如果,那么”的决策结构。在本文讨论的所有语言中,此结构都易于使用和理解。但是,如果程序员想重复做同一件事情,梯形图逻辑对这些结构支持的并不是特别好,通常会导致代码的可读性较差。而结构化文本和PC 语言往往更擅长常见的决策和循环结构。
4. 数学
。盐都自动化编程培训学校,自动化编程语言的未来,盐都学自动化编程的学校,盐都自动化编程培训哪里好,盐都自动化编程培训学校,盐都自动化编程短期培训班,盐都自动化编程培训学校地址,盐都学自动化编程培训,盐都自动化编程培训哪里好,盐都自动化编程培训班,盐都自动化编程技术培训.(编辑:hnygdzxx888)(整理:盐都自动化编程培训学校)
湖南阳光电子学校教学特色