找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5143|回复: 16

PLC编程中的循环语法使用

 火... [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1353

回帖

2万

积分

管理员

积分
21301
发表于 2020-1-29 21:26:08 | 显示全部楼层 |阅读模式
所有计算机编程语言,都有循环的功能。

PLC也是。

所以当然有循环功能。

不管什么CPU,什么编程语言,都有循环语法,可以用于实现循环。当然,很多时候,语言对循环支持的并不够理想。通常还要有指针,间接寻址等配合。所以在PLC编程中,属于难度比较高的题目。




我知道,有一些人,对掌握循环编程语法很在意,也有一些人,对自己搞不好循环而很头疼。

今天分析一下这个问题。

首先,我们看循环编程方法的意义。几个方面:
1, 提高CPU的工作效率;
2, 降低程序代码数量,减少内存使用。
3, 降低编程时的工作量。

首先看1,你只要用类似FOR…NEXT的循环语句,对CPU的工作量其实是没有多少改善的。循环100次,和写100行,并没有区别。真的循环周期数太大的时候,一样要当心OB1循环超时。

关于2,减少代码数量需要有足够多的循环周期。如果只有5个对象或者更少,为了做循环,还要精心准备输入和输出接口,最终反而程序代码量多了。

关于3,编程的工作量,同时还有难度。都是要综合考虑的。如果编程工具可以支持与办公软件的数据对拷,先在办公软件中,通过数据整理技巧,把程序代码整理好,PLC环境中拿来直接使用,工作量有时候说不定更少,更快捷。

工业自动化系统中,通常设备数据量都很小。比如一个中型的控制系统,100台电机设备算比较多了。而值得通过循环来编程的,通常还是同一个类型的序列设备。那超过5台都很少见。

而如果要设计为循环编程方法,还需要在I/O排布开始就要充分考虑。比方说输入信号按顺序X.0, X.1, X.2,X.3,X.4,输出信号也要同样的按顺序排起来。

这就需要提前跟电气图纸设计者沟通好,也要跟盘柜工人配合。这些是不符合标准化模块化设计原则的。

尤其是,如果运行中,突然中间的某一个模块的点坏掉了,要把其中一个点挪到其他的地址,还做不到了。这比较麻烦。

回顾我自己十几年做过的PLC程序,真正用过循环编程的场合,少之又少。印象中比较深的,是处理仓库类数据,用到了循环。但因为循环量太大,尽管开始是用循环语句实现的,但后来发现导致CPU的循环周期过长,而因为也没有什么实时性要求,最后还是改为异步循环,借由OB1的循环周期来实现了。

所以,关于循环语法,我的原则是,少用循环。只要能不用循环,就尽量别用循环。

工控课堂 www.gkket.com

0

主题

80

回帖

263

积分

注册会员

积分
263
发表于 2020-1-29 21:26:08 | 显示全部楼层
无私奉献,好工控人,32个赞送给你!!
工控课堂 www.gkket.com

0

主题

556

回帖

1086

积分

中级会员

积分
1086
发表于 2020-3-3 11:33:11 | 显示全部楼层
强烈支持楼主ing……
工控课堂 www.gkket.com

0

主题

447

回帖

2579

积分

高级会员

积分
2579
发表于 2020-10-18 18:57:02 | 显示全部楼层
真是难得给力的帖子啊。
工控课堂 www.gkket.com

0

主题

231

回帖

505

积分

高级会员

积分
505
发表于 2024-7-23 13:32:33 | 显示全部楼层
真是难得给力的帖子啊。
工控课堂 www.gkket.com

0

主题

451

回帖

2972

积分

高级会员

积分
2972
发表于 2025-11-12 17:16:59 | 显示全部楼层
理性围观,感觉大家说得都有道理
工控课堂 www.gkket.com

0

主题

98

回帖

216

积分

注册会员

积分
216
发表于 2025-11-12 18:44:03 | 显示全部楼层
楼主太会说了,字字句句都在理~
工控课堂 www.gkket.com

0

主题

96

回帖

150

积分

新手上路

积分
150
发表于 2025-11-14 09:36:22 | 显示全部楼层
水个经验,支持楼主,加油呀
工控课堂 www.gkket.com

0

主题

111

回帖

240

积分

注册会员

积分
240
发表于 2025-11-17 12:10:03 | 显示全部楼层
我先占个楼,等下再慢慢看~
工控课堂 www.gkket.com

0

主题

99

回帖

154

积分

新手上路

积分
154
发表于 2025-11-17 13:01:05 | 显示全部楼层
原来还有这种操作,长见识了!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 17:31 , Processed in 0.203126 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表