在浏览一些德国的技术学校时,很多学校都提供codesys和step 7的学习,在工作过程中也经常使用到这两个软件,以下来谈谈这两个软件的使用感受:
1)codeys是德国3s-software公司的软PLC软件,符合PLCOPEN的IEC 61131-3标准;而step 7,只能讲是近似这个标准,因为很多概念和使用还是不一样的。个人觉得codesys更像JAVA,干净,有严格的规则,当然自由度是有限制的;而step 7更像是C++,自由度更高,但某些概念会引起混乱,而且使用时也是充满陷阱和要注意的地方。
2)FC的定义。codesys中定义的FC就是单纯的FC,不允许有输出OUT参数;而step 7的FC是兼顾了无参数的程序的功能,相当与codesys中的子PRG,而且带参数的FC可以带很多的输出OUT参数。在开始学习时最令人困惑的是,西门子提供的入门程序中,FC中竟然可以使用计时器!这个在plcopen中,FC是不可以带有保留数据的块的。
3)SCL的定义。codesys中的块,可以直接使用ST(structure text,和SCL一样)建立;而step 7中,还要先建立source file,但所有的块的定义及编写都可以在一个source file中全部定义,但顺序有严格的要求,稍不留神就出错了。
4)顺序功能图的使用。在codesys中为SFC,在step 7就叫GRAPH,step 7中增加了permanent instructions和interlock,supervision等概念。特别是permanent instructions,有时是需要增加一些附加逻辑的,在codeys中就很难实现。
5)EN/ENO。在codesys V2.3及标准中,是不定义EN/ENO的,那这样就很麻烦。比如MOVE指令,通常都要使用。当然在新出的V3.4版终于支持了。(山东创控教育)
6)指针。codesys支持指针,但说得很少。相反step 7的指针功能强大,但概念细分而且微妙。
7)复杂数据类型。codesys的这点做得挺好,挺规范。而step 7又多了个UDT,最令我困惑的是UDT在块的参数设置时的使用。我在FB的IN/OUT参数中设置了一个UDT参数,然后外面建立了一个DB,类型也为UDT。但用此DB链接FB的此UDT参数时,显示出错。按照论坛的方法,先建立一个shared DB,然后再在里面建立UDT的变量。这种用法真是无语了。
8)指令的多态性。step 7仍然保留了不同数据按不同的指令,没有多态的概念,这点在1200中有改善。(山东创控教育自动化培训中心)
- ST(结构化文本),SCL语言必定会成为PLC编程的主流语言 2024-11-25
- PLC的编程策略:面向对象编程和梯形图逻辑之比较 2024-11-25
- 西门子PLC四种核心通讯方式汇总学习 2024-11-25
- 西门子S7-200/300/400通讯方式汇总, 2024-11-25
- PLC的三种输出方式,Zui后一种保准你不知道 2024-11-25
- PLC梯形图程序的自锁、互锁功能 2024-11-25
- S7-300/400 PLC支持哪些寻址方式? 2024-11-25
- WinCC快速入门之基本功能讲解 2024-11-25
- EPLAN项目实例教程------插入端子、生成报表 2024-11-25
- PLC程序加解密,高手是这样做的! 2024-11-25