课程中心
HOME
课程中心
正文内容
plc结构化编程论坛 实例讲解:如何将复杂的编程简单化之结构化编程
发布时间 : 2025-03-19
作者 : 小编
访问数量 : 23
扫码分享至微信

实例讲解:如何将复杂的编程简单化之结构化编程

结构化编程如何实现?

Hi,各位亲爱的读者们,几天没更新了,今天更新一波。

今天,我们来分享一下PLC编程之结构化编程。通过这种方式,让复杂的程序简单化,清晰化。

做工控的人都知道,PLC编程就是把复杂的电气回路,通过编程的方式用PLC实现。

比如一个自锁控制,通过电气回路,就需要接很多线才能实现。而通过PLC呢,只需要简单的几个逻辑编程,就实现了。

但是,如果有几十个泵需要做自锁控制,那么用普通的办法来编程,需要复制粘贴做几十遍,也是很繁琐,那么有没有个简单的办法,能够只做一次编程,其余的就COPY就可以了呢?

答案是有,那就是结构化编程

结构化编程,顾名思义就是,机构相同的控制,只需建立一个模板,余下的调用这一个模板就可以了。

那有同学就说了,光说不练假把式,那具体要如何操作呢?

下面,我们就用西门子1200系列PLC,通过一个简单的例子,来介绍一下如何来实现。

1、首先,我们建立一个程序

2、然后,建立一个子程序,我们起名为:“电机控制”

3、建立需要使用的变量

其中,INPUT变量是输入变量,比如启动按钮,停止按钮,电机故障,都属于输入变量,相当于X点,只能用于常开或常闭指令

INOut变量是输入输出变量,比如电机运行,相当于Q点,既可以用它的常开常闭点,也可以线圈输出。

这里为什么要用INOUT变量,而不是使用OUT变量呢?

因为我们自锁回路既要用到这个点输出,也要用到这个点的输入

4、做一个简单的自锁回路

这个大家都会做,但是不同的是,我们不使用I,Q,M点,而是使用局部变量

通过拖动的方式,即可调用局部变量。

5、模板程序编写完成,我们在OB1里调用一下看看什么效果。

鼠标点击引脚,并悬停,会提示你需要输入什么类型的变量

可以看到,这个自锁回路以一个程序块的形式出现了。

这样看起来是不是就很清爽了。我们继续。

6、我们填写上相应的变量

7、到这里,一个结构化程序就做好了,同样的自锁回路,我们无须在复制梯形图再挨着改变量了,只需要调用一下模板程序,就可以实现。

当然,一个简单的自锁回路,一个一个的改变量很简单,如果这个控制很复杂呢,一个一个的改变量将会变得异常难受,而且容易出错。

而且,这样编程还有一个好处,就是我想批量的改变这个电机的控制逻辑时,比如加个急停,那么我们只需在模板里加上一个急停的逻辑即可。

那么又有同学说了,如果有几十个电机,几十个阀门,那建变量也是一件很大的工程

如果电机参数少还好,如果再加上运行时间,累计运行时间等等,想想都头大。

不用担心,这也可以通过结构化的方法来实现

下期,我们就介绍一下,如何通过结构化的方式建立重复的,结构相同的变量。敬请期待!

关注作者不迷路,更多干货持续分享。

写在最后

赠人玫瑰,手有余香。创作不易,请动动手指给作者点个关注。谢谢。

或者大家想要看到那些内容,也可留言,作者必将竭尽所能,搜罗资料。

此文系作者原创,如若转载,请注明出处!

PLC梯形图编程很low?我劝你一定要看看这篇

在咱们工控论坛上,潜藏着众多技术资深大咖,讨论起技术来,可从来都没废话。

对于PLC梯形图编程,论坛网友lvpretend有话要说:

论坛上对于编程语言梯形图与结构化文本的争论从来没有停过,有些技术人员认为梯形图是比较LOW的语言,文本才是高大上和未来的发展方向。为此,我要发表一点个人看法。

我系统地学习编程语言的时间顺序是MCS51汇编、X86汇编、C/C++、梯形图(学梯形图之前对继电控制就已经非常熟悉了)。由于MCS51汇编学得不错,这导致我很喜欢用置位和复位指令。汇编、C都干过项目,以前还经常用C来解决问题(Borland C时代),太长时间不用,现在也生疏了。

要理解PLC梯形图就必须知道PLC的由来。我搬运汇总了一些外网资料,错的地方请大家指出,我英文很渣,不足的地方还请大家进行补充。

在没有PLC的时代控制柜是这样的。这个是老式电梯的控制柜,其实不算复杂。

想起刚参加工作时,厂里有条80年代国产全自动化生产线,做工非常好。压力温度50点左右,电机30台左右,主控柜(4门)加操作台足有8米的宽度,远程控制柜宽1.5米,柜前柜后双面安装,指针温度压力表,全继电控制。据说A3图纸有一本字典的厚度(我没看到过)。我参加了生产线改造,主控柜控制线就拆了3大箩筐。这要排查故障,想想头皮都发麻!看看典型的继电原理图,我把它旋转了90度。

是不是和梯形图一样一样的?

1968年美国通用汽车液压部门搞了个“Standard Machine Controller”(标准机器控制器项目),目的就是改变故障率居高不下的继电控制系统。好几家公司参与,1969年最后搞出来拿去测试的只有三家:

DEC:Digital Equipment Corporation(数字设备公司),提供型号PDP-14。编程设备是PDP-8计算机,实际上PDP-14是PDP-8的工业接口。这家公司巨牛。下图是PDP-8。

我没有找到PDP-14的照片,上图是PDP-14的一个主要部件。

3-I:Information Instruments Inc.(信息仪器公司),提供型号PDQ-II。这家公司在这个项目后很快就被AB收购了。所以罗克韦尔也说PLC是他们发明的,这也是没什么问题。

DEC和3-I是计算机公司,与通用汽车液压部门很早就有合作,标准机器控制器项目之前就已经把计算机用于通用生产线监控了。

Bedford Associates:提供型号084,其实是他们公司第84个项目。他们是工程公司,其实在1967年就开始着手这方面的工作了,后来成立了设备制造公司就是大名鼎鼎的 莫迪康MODICON(Modular Digital Contraller模块化数字控制器)。

脑洞大开,有没有!

DEC和3-I提供的控制器更像是计算机,(DEC也有基本的梯形指令),但编程很麻烦,需要返厂。而Bedford必定是搞工程的,他们很懂继电控制,所以084从一开始就以继电控制原理来开发,梯形图就是它的编程语言,通过插入编程单元就可以编程。

1年后,084赢了。

当然那个年代还不能输入图形,而是手工解析梯形图,所以梯形图对于084来说就是“继电控制描述语言”。用今天的话来说,梯形图就是工控行业的HDL硬件描述语言!而其它厂家发现梯形图逻辑清晰,本就熟悉继电线路的电气人员特别容易掌握,所以纷纷都开始支持梯形图编程。其实。同时代还有其它厂家也搞出了基本相同的控制器,制造继电器的厂商Struthers-Dumm的VIP-521,搞液压的Vickers的PC-1000。但是由于MODICON设备可靠,梯形图太方便,所以一举成名。1976年AB公司申请了PLC的专利名称(

PLC是AB公司1976年的专利名称,不是莫迪康的),后来PLC就成了设备名称了,就好像吉普车对于JEEP公司。

可以说,没有梯形图就没有PLC 。回到现在,梯形图编程过失了吗?当然没有!对于处理逻辑量,还有什么能比图形化的梯形图更易于理解的呢?40年前没有,现在也没有?图形编程最大的优势是传递的信息量大,人识别图形的能力远胜于识别文字,而梯形图能二值化图形元素,避免了人识别图形时的模糊性。说白了,就是简单! 梯形图更与时俱进,现在的被控对象已经远非40年前简单的开关量,梯形图也在发展。比如,梯形图最受病垢的数学计算,现在不是也有厂商开始支持梯形图直接数学表达式输入了吗?我想,硬件描述简单、与时俱进,这才是梯形图长盛不衰的核心原因。梯形图相对于文本有什么不能做的吗?我认为没有什么是文本做得了而梯形图做不了的!你把文本加个框就是梯形图。学文本编程吗?当然需要!要不然那么多不懂继电控制从软件转工控的人编写的程序我们如何看懂呢?还有触摸屏、机器人、运动控制等非PLC设备,我们如何玩得溜呢!大家也可以了解下,可视化编程语言(VPL)和低代码开发平台(LCDP)的概念和发展,对理解编程语言发展有一定帮助。

分割线

此贴子一发,也引起论坛网友的大量关注和讨论:

1056128144 : 梯形图最令我讨厌是整屏显示不了几行。注释能有在每行后面的吗?显示屏基本都是二十几吋了。

gk_0 : 我就是喜欢梯形图,逻辑性强,除了数学运算的不太直观以外,好像没有啥缺点么

bnnyygy : 大小不是关键,分辨率才是关键。普通笔记本1366*768,现在新笔记本一般1920*1080,或者更好点的是2K分辨率。

蜀中之首: 在80年前后(记不太清具体哪年),无线电杂志出过连载,关于可变逻辑控制电路,矩阵二极管,利用其特性用短线组成控制逻辑,减少继电器配线达到修改控制工艺。

记得最早也叫PC,为了与电脑区别就用了PLC,可变程序逻辑控制器。梯形图的出现就为了接地气,普通电气工人也看得懂,恐怕还要保留很久。

lvpretend: 好像Struthers-Dumm走的是二极管矩阵的路子。原来PLC被AB申请了专利,估计其它厂家只能称为PC,后来专利到期了PLC就成了通用名称。

cvlsam : 您说少了,从第一台PLC开始就有梯形图了。

pqsh : 我不支持文本编程,始终认为文本编程是个中间过程,只是由于编程环境平台能力不够的原因。人们应该直接表达诉求,而不是通过代码。同样的,在网站制作方面,大咖们是十分鄙视fp、dw的。而我觉得不可想象。一个丰富的网页,竟然是代码敲的,这得多么变态啊?当然,在实现复杂功能时,表达更准确时,确实需要文本(文字)。但是,触摸屏、机器人、运动控制、将来也应该发展到不需要或者少需要文本。至少,触摸屏和工控上位,是避免用文本(脚本)的。

微鑫科技 : 真正的高级控制器是无法用梯形图去编程的。例如:机器人、视觉识别系统,一些对实时性高、精度高、高速运行、高运算量的设备等,是PLC无法的胜任的。只是说PLC的编程思想比较适合电工,简单而已。真要说运行效率,还没有单片机高;同样的PLC,一个采用梯形图编程,一个采用C语言编程,我想C语言的执行速度要高于梯形图的,但是编程时间上来说,梯形图要大大缩短周期,并且后期容易维护,想增加个功能什么的,修改起来简单,这个就是梯形图的优点,再一个就是高级语言对于电工来说是个头疼的事,不如梯形图好学。

lvpretend : 恰恰相反,梯形图的执行效率比文本高。早期的梯形图与指令表(汇编)是对应关系,即使到现在梯形图仍然比文本有更高的效率,原因就是因为梯形图是硬件描述语言,PLC的处理器设计会专门针对梯形图做优化。而梯形图借PLC的众多受众和图形化的特点也向非PLC控制器扩展(大名鼎鼎的树莓派都支持梯形图编程了),大有成为一种通用语言的态势。文本作为当下编程语言拥有最大的用户群,向PLC扩展也不会停下脚步,随着小型PLC处理器处理能力的增长,肯定很快也会普及文本编程。

dffeifei110 : 逻辑控制用梯形图方便,我选择梯形图,文本语言用于数据交换更好用,各有千秋吧,当然也与个人习惯有关。

MIC小赖 : IEC61131-3定义了常用的5种编程语言就说明其各有好处,而且对我来说,固守一个东西本身就是作死。但是也不可能完全放弃一个东西,除非是真正意义上技术的淘汰。

乌龟船长 : 梯形图还是很有市场的,大众、通用的标准程序大部分仍然用梯形图,当然也有SCL等等其他语言。

chengzheng : 信息量太大了。搞了这么多年,还是第一次看到。

A.M : 梯形图对于维护来说可真是噩梦…整屏显示不了多少,上下反反复复看逻辑…梯形图是给电工看的,有了这个电工随时可以转行编程。但是用梯形图编上万点的项目想也不敢想…肯定会累死。

人类群星闪耀时 : 好像最早兴起的商业化PLC是AB的PLC-2/3那一批,不过国内我还没见过,只见过PLC-5,AB的营销路子有问题。

对于本文以及论坛网友们的评论,您有啥看法?留言区集合

版权声明:本文版权所有为中华工控网工控论坛及作者lvpretend,转载请与本号联系。

相关问答

plc结构化编程格式?

PLC(可编程逻辑控制器)结构化编程格式主要包括以下几个部分:1.程序结构:PLC结构化编程格式通常采用类似于流程图的结构,包括主程序(Mainprogram)、子程...P...

plc结构化编程与普通梯形图区别?

PLC(可编程逻辑控制器)的结构化编程和普通梯形图(LadderDiagram)之间有以下几个区别:1.编程语言:结构化编程使用的是结构化文本语言,如结构化文本编程...P...

如何提升plc编程技术?

提升plc编程技术的方法如下:一、加强基础学习,巩固基础知识要有好的设计编程能力,必须要有良好扎实的PLC基础知识,必须掌握PLC各条指令的名称、符号、适用范...

PLC编程中简单工程和结构化工程有什么区别..._结构工程师_帮考网

简单工程和结构化工程是两种不同的PLC编程方式。简单工程是一种较为简单的编程方式,通常用于小型控制系统。在简单工程中,程序通常是一条直线式的代...

plc工资一般多少?

一类地区、一类企业如果在大城市且大企业里任职PLC相关行业的职位,那么工资必定不低,大企业里的工厂自动化程度非常高,需要的知识也不仅仅只有PLC这么简单,...

plc模块化结构的特点是什么?

从结构上分,PLC分为整体式和模块式两种。整体式PLC是将电源、CPU、I/O接口等部件都集中装在一个机箱内,具有结构紧凑、体积小、价格低的特点。小型PLC一般采用...

什么是三菱结构化编程?

1.就是三菱模仿欧美系PLC编程软件做的一种图形界面。2.简单点说。放一个块。有输出有输出。有EN。什么的。3.就是像西门子的S7-300。不是有三种模式么。梯...

plc程序能理解自己编不出来?

图,这样写程序就会有一个清晰的思路了,写程也知道该从...先不用管程序怎么写,先把你的问题在草稿纸上写出来,把动作顺序画一个流程图,这样写程序就会有一个清...

plc编程知识点?

6.自动控制系统有两中最基本的形式分别是开环控制、闭环控制。17.在控制系统中,若通过某种装置将反映输出量的信号引回来去影响控制信号,这种作用称为...

plc程序结构?

PLC程序结构因品牌和型号而异,但通常都包含以下几个部分:主程序:这是PLC程序的主要部分,用于执行基本的控制逻辑。它按照固定的顺序执行,通常包括输入处理、...

 阿基诺  廖定海 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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