故事作者:万泉河

最近创作

看看TA的故事

【万泉河】PLC编程中的循环语法使用

已锁定

万泉河

  • 帖子

    10887
  • 精华

    132
  • 被关注

    900

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

【万泉河】PLC编程中的循环语法使用

2708

2

2019-07-31 10:19:50

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

 

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编程,没那么复杂。也与标准化编程方法相差更远。


【万泉河】PLC编程中的循环语法使用 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3232条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。