QQ登录

只需一步,快速开始

PLC编程中的循环语法使用

[ 复制链接 ]
所有计算机编程语言,都有循环的功能。

PLC也是。

所以当然有循环功能。

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

PLC编程中的循环语法使用

PLC编程中的循环语法使用


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

今天分析一下这个问题。

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

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

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

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

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

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

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

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

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

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

回复

使用道具 举报

快速回复 返回列表 客服中心 搜索