区别有:1、FC的定义;2、SCL的定义;3、顺序功能图的使用;4、EN/ENO;5、指针;6、复杂数据类型;7、指令的多态性。codesys中定义的FC就是单纯的FC,不允许有输出OUT参数;而step 7的FC是兼顾了无参数的程序的功能,相当与codesys中的子PRG。
一、FC的定义
codesys中定义的FC就是单纯的FC,不允许有输出OUT参数;而step 7的FC是兼顾了无参数的程序的功能,相当与codesys中的子PRG,而且带参数的FC可以带很多的输出OUT参数。在开始学习时最令人困惑的是,西门子提供的入门程序中,FC中竟然可以使用计时器!这个在plcopen中,FC是不可以带有保留数据的块的。
二、SCL的定义
codesys中的块,可以直接使用ST(structure text,和SCL一样)建立;而step 7中,还要先建立source file,但所有的块的定义及编写都可以在一个source file中全部定义,但顺序有严格的要求,稍不留神就出错了。
三、顺序功能图的使用
在codesys中为SFC,在step 7就叫GRAPH,step 7中增加了permanent instructions和interlock,supervision等概念。特别是permanent instructions,有时是需要增加一些附加逻辑的,在codeys中就很难实现。
四、EN/ENO
在codesys V2.3及标准中,是不定义EN/ENO的,那这样就很麻烦。比如MOVE指令,通常都要使用。当然在新出的V3.4版终于支持了。
五、指针
codesys支持指针,但说得很少。相反step 7的指针功能强大,但概念细分而且微妙。
六、复杂数据类型
codesys的这点做得挺好,挺规范。而step 7又多了个UDT,最令我困惑的是UDT在块的参数设置时的使用。我在FB的IN/OUT参数中设置了一个UDT参数,然后外面建立了一个DB,类型也为UDT。但用此DB链接FB的此UDT参数时,显示出错。按照论坛的方法,先建立一个shared DB,然后再在里面建立UDT的变量。这种用法真是无语了。
七、指令的多态性
step 7仍然保留了不同数据按不同的指令,没有多态的概念,这点在1200中有改善。
延伸阅读
codesys是什么
CODESYS是可编程逻辑控制PLC的完整开发环境(CODESYS是Controlled Development System的缩写),在PLC程序员编程时,CODESYS为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如Visual C++)。
国内PLC用户使用的版本多为CODESYS V2.3, 最新的版本是CODESYS V3。V3 在软件架构上有了很大的改善,朝安全软件的方向发展,正在申请TUV关于EN 61508的SIL认证。
CODESYS软件还可以编辑显示器界面(Visualization),具有很多的控制模块(Motion),可以放置图片等强大的功能,典型的用户有ifm等。
CODESYS功能总览:如何构建一个工程、怎么样构建一个工程、怎么样测试工程、调试、附加联机功能。CoDeSys的附加功能、工具等。
文章标题:codesys和西门子STEP7的区别有什么,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51343