【万泉河】PLC编程中的循环语法使用 点击:451 | 回复:6



万泉河

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:74帖 | 62回
  • 年度积分:52
  • 历史总积分:398
  • 注册:2009年12月04日
发表于:2019-07-31 10:36:46
楼主

所有计算机编程语言,都有循环的功能。

 

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的循环周期来实现了。

 

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

 

今天看了一篇公众号文章,看到作者举的例子中,几乎每一个都用了循环。甚至感觉都在为了秀语法功底了。为了给一些新手初学者增强些信心,打消顾虑,不要被误导了,所以特意写文章提示一下。

 



 

那篇文章名字为:《西门子最厉害的编程语言》,以及本文带图全文,我发在公众号“万泉河知识分享”了。可以围观,但千万别当作模板。


PLC编程,没那么复杂。也与标准化编程方法相差更远。






yancheng_123

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 756回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2017年3月17日
发表于:2019-07-31 11:22:41
1楼

楼主说的很对,真是学习了】

GKstudying

  • [管理员]
  • 精华:4帖
  • 求助:4帖
  • 帖子:1019帖 | 7217回
  • 年度积分:1194
  • 历史总积分:18802
  • 注册:2008年11月11日
发表于:2019-07-31 11:47:53
2楼

感谢大佬的分享

还是菜鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 57回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2005年8月10日
发表于:2022-02-18 11:16:47
3楼

楼主说的很对,真是学习了】

416476987

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 156回
  • 年度积分:0
  • 历史总积分:108
  • 注册:2015年12月23日
发表于:2022-09-26 11:28:05
4楼

真是学习

天自

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:50
  • 历史总积分:963
  • 注册:2022年5月09日
发表于:2022-09-26 14:50:03
5楼

循环有点鸡肋,做个简单数据处理筛选还行,多一点周期立马就上来了

天涯的雨滴

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 258回
  • 年度积分:158
  • 历史总积分:157
  • 注册:2016年1月26日
发表于:2023-08-01 06:49:10
6楼

学习了,谢谢分享



热门招聘
相关主题

官方公众号

智造工程师