课程中心
HOME
课程中心
正文内容
plc编程的思考 学习PLC编程的经验之谈
发布时间 : 2025-05-05
作者 : 小编
访问数量 : 23
扫码分享至微信

学习PLC编程的经验之谈

关注“PLC发烧友”,一起涨知识!

鄙人是工业自动化专业毕业的,我刚开始学习PLC时,也是一头雾水, 后来在来了技成之后,在专家老师的学习指导下,才有了更加明确的学习方向。在此,我想粗略的总结一下自己的学习之路,供大家参考。

1、学习PLC编程需要坚强的毅力和足够的耐心

人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战,编程需要经历无数次的试错,调试-修改-调试-修改…经过无数次失败后,当看到PLC按照自己的控制要求有条不紊的运行时,你将得到极大的成就感,这就如同打通了一个游戏的关口,那种感觉是一样的。

2、学习PLC编程需要敢于实践的信心

很多初学者往往是出于一种畏惧,担心损坏设备,而不敢进行实际操作。其实这些畏惧是没有任何道理的,只要你仔细的阅读手册,遵循标准的规范去接线实操的,都不会出什么问题。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果,像STEP7 MicroWin编程软件为用户提供了非常好的监控手段,通过观察监控情况,再反过来重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响PLC的正常工作,程序有没有问题,只有让PLC运行了才能发现。所以,要有敢于实践的信心,大胆的实践是PLC编程的必由之路。

3、编程需要有缜密的逻辑思维

编程本身就是一种逻辑思维过程。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。所以,要理顺对象之间的逻辑关系,要有缜密的逻辑思维。

4、养成良好的编程习惯

每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。 PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,可能会造成程序错误。编制寄存器符号表不仅可以避免上述问题,而且可以使程序具备更好的可读性。PLC提供了丰富的指令、模块,初学者编程时应尽量先使用简单的指令达到目的,这对你理解那些较为复杂的指令会有帮助,具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。

5、有一定的程序设计基础知识

有一定的程序设计基础知识,以及弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办,复杂的就不好办了,不仅无从下手,而且花了很多时间与精力,也难编出质量也较高的程序,常常是事倍功半。任何理论也都只是经验的总结,归根到底也都是来自实践。

另附学习PLC编程的10个Tips:

1.不要只会说:给我程序吧!你应该自己去思考,当你自己想出来后,再参考对比别人的,你就知道自己和别人思路的差异。

2.别买本书几十块都舍不得,为了省钱看电子书,浪费的时间绝对超过书的价值。

3.学习编程软件的使用或编程知识时,一定要看帮助手册,买的书不一定就非常全面。

4.别人的经验,自己的经验,都很重要。前者要自己去学习别人的经验,后者要靠自己用心积累,这些都要一定的时间与必要的精力去积累的。

5.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。 别指望看第一遍书就能记住和掌握什么,请看第二遍、第三遍。

6.多实践和调试操作,只用软件模拟,是永远成不了高手的。

7.保存好你做过的所有的源程序,那是你最好的积累之一。

8.对于网络,还是希望大家能多利用一下,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相 关资料,可以学会自己找答案,别老是等待别人给你希望。

9. 到一个论坛,你要学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了。

(来源:技成培训网,作者:蔡慧荥,未经授权,请勿转载)

千万别这样干了——PLC编程四大陋习

此图片来源:Rother Machine

作者 | Jon Breen

有时为了解决眼前问题,可能需要对可编程逻辑控制器(PLC)进行编程,但从长期来讲这可能会带来问题,在原程序员不在的情况下更是如此。

生产停滞让客户每小时损失10万美元,他们已经打电话给可编程逻辑控制器(PLC)程序员,以尽快解决问题。在查看最近的航班后,程序员启动了一个虚拟专用网络(VPN)。一个小时后,程序员看到了一个“全新”的程序(对他们来说是新的),数千行梯形图逻辑没有标记描述,命名规则不清晰,代码已经复制粘贴了上百次 ,而这一切都在一个庞大的例程中。这可能会导致该程序员弄不清楚,原来的编程人员究竟想做什么。

一般来说,PLC程序员倾向于用自己熟悉的方法编写代码以便立即解决当前的问题。人们很容易忽略未来必须维护这些代码的“可怜虫”。如果不注意,屏幕前被骂的可能就是我们。以下四个建议可以帮助你避免成为抱怨对象。

01

不要复制和粘贴重复的逻辑

比方说,有两个线圈需要依次激活。一个用来打开第一个梯级,也许是一个定时器,然后是另一个梯级,用于开启下一个。除了将标签名称从“CoilOne”更改为“CoilTwo”之外,梯级内容都是相同的。我们都用使用这样的代码,因为事情总是这样的,但那是只有几个梯级的情况。但如果你有50个线圈,看看会发生什么事情?在你开始敲击Ctrl+V之前,可以先仔细思考一下。

寻找重用代码的机会。回路是个好帮手。AOI、子例程,甚至是基本数组都可以加快开发时间,使代码更简洁,并让未来的维护更容易。如果遇到逻辑变更?您不必粘贴50个修复程序,只需对子例程进行更改,一个小时既可完成。客户想把 50 个线圈改成 100 个?如果做得对,您通常只需将 "Coil_Count "或其他类似的标签从 50 改为 100 即可。

02

切忌使用难以辨认的标签名称,

且不加任何标注

“tmrdelay”–“Timer”和“delay”是多余的。该延时的功能是什么?是用它来点灯,还是等待一段安全时间后再放下重压机?

很显然,“AB_XGI:I.Data[1]”是一个用于某些连接设备的数据结构,但在主例程中如果这样引用,代码就不清晰。“fireRobotMove”,这是指哪个机器人?哪一个动作?我需要灭火器吗?这些标签名称本身并不是无用的,但如果没有情境信息,它们就没有多大意义。

应当使用描述性标签名称。名称应该说明标签的用途。此外,还应注意格式。即使是“tmrDelay”或“tmr_delay”也许会更好。没有人需要去猜测如何分割这个词。

在标签和梯级中添加说明。一个简单的缓冲区例程或别名,可以将“AB_XGI:I.Data[1]”转换为更有用的东西,如“partX-Pos”。“tmrdelay”可以变成“tmrDriverReady”。更好的做法,是在标签或横档上添加描述,解释它的用途。

应当使用合适的拼写。有没有试过搜索所有处理位置数据的标签,看看其中是否有一个名为“poision”的标签?

03

不要忽略程序结构

没有人愿意看到一个名为“Main”的例程有200个梯级,它涵盖了从输入/输出(I/O)到工艺流程的所有内容。

使用例程和用户自定义的数据类型(UDT)(或“结构”,具体取决于制造商)来保持代码组织有序。只需将代码分解为几个名为“Camera”、“InputBuffer”和“Faults”的例程,就会使代码更具可读性。不需要筛选50级不相关的逻辑——如果你需要Camera逻辑,请直接搜索Camera例程。

UDT非常有用。它们允许您对数据进行分组和命名,即使是在数组中也是如此。例如,如果你的视觉系统返回了很多位置数据,你可以创建一个带有“X”、“Y”和“Z”标签的“位置”UDT,来保持代码组织有序。带子标签的“point1”远远优于“point1X”、“point1Y”和“point1Z”。更容易重命名、交叉引用和填充到数组中,并进行迭代。

“通过使用数据结构、一致的命名规则和描述性注释,可以为PLC编可维护且灵活的代码。”

04

不要过于乐观

“这个项目只需要几个月的时间。客户确切地知道他们想要什么。除了我,没有人会看到这个”。或最容易出现的想法:“我会记得为什么这么做。”

▲图:通常,PLC 编程人员都倾向于为自己编写代码以获得即时解决方案,但这可能会带来长期问题。

记住墨菲定律:“任何可能出错的事情都会出错。”这一点实际上是为了强调所有其它事情的必要性。积极的态度很少是坏事,但如果没有任何问题,我们可能就没有工作了。可扩展、可读和可维护的代码是墨菲定律的致命对头。

为迎接未知的未来,我们能做的最好的事情就是注意上述PLC编程该做的事情。通过使用数据结构、一致的命名规则和描述性注释,有助于编写易于维护和灵活的代码。这样,未来每个人都可以更轻松读懂程序。

当您的客户需要添加新的按钮时,他们会向您表示感谢。你的同事会感谢你有一个易于遵循的结构。但根据我的经验,受益最多的人可能是你自己。因为说实话,当我抱怨代码时,发现50%都是我自己编写的代码。

不要只是能运行就好。花点时间把事情做好。现在越聪明地工作,以后的维护就更轻松。

关键概念:

■ PLC程序员倾向于编写代码解决眼前问题,而不是制定长期解决方案,这对那些后来介入工作的人来说可能是个灾难。

■ PLC编程要避免的一些事情,包括复制/粘贴重复的逻辑和使用不带标签的无法识别的标签名称等。

思考一下:

您是否允许或禁止未来的PLC编程人员处理您的代码?

相关问答

PLC编程提高效率和准确率的方法?

系统判断该提问价值不高,回答后预期流量较低!!呵呵,这种问题判断价值不高?那什么问题判断价值高??是零基础如何快速学会PLC,还是本人精通S7-1200,多久能...从...

新手如何进入plc编程行业,该注意些什么?

新手如何进入plc编程行业,该注意些什么,plc编程行业涉及到的东西很多,但不要求立刻就懂,它是一个循循渐进的过程或者说一个螺旋式内容的学习过程,入门很简单...

三菱plc编程入门?

1.确定控制任务和要求:在开始编程前,需要清楚确定控制任务和要求,以便编写相应的程序。2.选用编程软件:选择适合自己的编程软件,一般推荐使用三菱PLC编程...

plc下载程序之前需要做什么?

..所有的元器件都整理好,搞清楚以后下面要做的回过头来在看工艺,根据提供的工艺,规划我们程序的功能区划,定义功能分布。这个时候根据工艺主要的功能都以后...

谁能给我说一下!!怎样学好PLC,PLC怎样入门。?

[回答]1、学习继电器,延时器,计数器。2、认识各种传感器,开关,电磁阀,马达及其相关。3、买一台PLC学习机。4、上传程式,调试程式,自己动手写程式。5、将P...

感觉自己在编程方面,真的超级小白啊,该怎么入门呢?

可以通过下面这张图做个小测试,看看自己更适合哪种编程语言。下面的图对比了最流行的9种编程语言,来帮初学者选择最适合自己的。选择好编程语言以后,最关键...

PLC编程调试有什么标准吗?

[回答]如果程序中某些定时器或计数器的设定值过大,为了缩短调试时间,可以在调试时将它们减小,模拟调试结束后再写入它们的实际设定值。计算布袋除尘设备...

在互联网时代,如何同工控的从业人员交流?

在互联网时代,如何同工控的从业人员交流?谢悟空邀请。在工控行业摸爬滚打快20年,现在响应国家万众创新、全民创业的号召,投入到工业互联网应用的开发和运营...

PLC编程调试一般的价格是多少?

[回答]您看到的该元件是蓝色的背影,是零的时候是白色的没有蓝色背影,D数据寄存器,看到的是当前所存储的数字。plc上电,几台不开动,也就是待机装配,您看到...

UG软件好学吗?

对于三维软件(UG或是PROE或是SOLIDWORKS)来说,学习三维软件需要掌握以下几点:1)熟悉软件的界面以及指令的去所在位置。2)懂得如何熟练运用指令。3)了解...对...

 第53届台湾电影金马奖  商品销售税金及附加 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部