广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
codesys和西门子STEP7的区别与联系
发布时间:2024-11-25

 在浏览一些德国的技术学校时,很多学校都提供codesys和step 7的学习,在工作过程中也经常使用到这两个软件,以下来谈谈这两个软件的使用感受:

640.webp

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中有改善。(山东创控教育自动化培训中心)


展开全文
拨打电话 微信咨询 发送询价