西门子博途与CoDeSys (IEC61131-3)的异同点

PLC,是当今自动化领域的核心,虽然已经推出了几十年,这几十年科学技术也是飞速发展,但PLC 如同兵器中的迫击炮一样,以其可靠,耐用,傲视群雄,依然没有其他替代品能撼动其地位。但PLC是不同厂家发展而来,因此,从编程软件到指令甚至下载线,都是五花八门,这给使用PLC 的工程技术人员带来了很大麻烦,因此标准化是其必然之路,然而,PLC 的标准化之路也是烽烟四起,最终IEC61131-3 标准一统江湖,成为工控界的标准,然而,它也只是一个标准而已!

CoDeSys 就在这种背景下诞生,它是PLC的一个完整开发环境,不依赖硬件,还支持运动控制。它被誉为工控界的安卓,开放,完全遵守IEC61131-3标准。ABB 施耐德 伦茨 以及国内的和利时,汇川都推出了以此为标准的PLC。

<a href=https://www.xmzyj.com/ximenzi>西门子</a>博途与CoDeSys (IEC61131-3)的异同点” inline=”0″></p>
<p>西门子,作为PLC界的霸主,自然对标准不屑一顾,一度想有自己的标准,然而,世界潮流,浩浩汤汤,顺之者兴逆之者亡,世界发展趋势,标准化是必然,因此,世界各大主流PLC 都在向标准靠齐,但还是稍微有区别。下面就介绍下两者的不同。</p>
<p><img src=

介绍之前,先看一下两者的界面。这里,以施耐德的Somachine 软件来 代表CoDeSys。图中描述的是一个简单的启保停电路。

西门子博途与CoDeSys (IEC61131-3)的异同点

Somachine

西门子博途与CoDeSys (IEC61131-3)的异同点

博途

PLC 说到底就是编程,而作为工程技术人员也是使用其编程功能,以此,所谓的不同,直观开来就是编程方式的不同。

1) DB( 数据块)

数据块是博途中的重要概念,数据块的大小与定义的数据类型和个数有关。而在IEC61131-3中是没有数据块的概念的。它只有一片数据区,可以自由定义变量分配地址。

2) FB FC

这两者之间的区别,个人认为是博途和IEC61131-3 最大的区别。

IEC61131-3 定义了三种 程序类型 POU(程序组织单元) FB (功能块) FC(功能 )

POU 可以理解为子程序,类似博途的OB,但POU 必须在 MASK(任务)中调用才能被PLC扫描。否则,不起作用

POU 可以调用FB 和FC ,反之则不行。同样,FB可以调用FC,反之也不行。

FB 指功能块,它是由多个输入和输出,输入输出的数量和类型 没有限制。

FC 指功能也称之为函数,它是由多个输入和一个输出组成。输入的数量和类型没限制,但输出只有一个。所以称之为函数。 因为函数是只有一个输出的。比如 Y=AX^2+B 。

在博途中,功能和功能块的区别是一个有存储区,另外一个没有存储区。这和IEC61131-3 是截然不同的。在IEC61131-3中,存储是由变量实现的,如果变量定义成RETAIN 型就掉电存储,否则清零。

IEC61131-3中调用功能块会分配一个实例,一般我们会把它理解成功能块型变量。类似于博途中的背景数据块。

3) 系统功能

在博途中,各种系统功能是做成函数,让用户直接调用,这点类似日系PLC. 而在CoDeSys中,所有的功能都是开放给用户,让用户自己完成,这点就是安卓的风格。

比如上电第一次扫描,博途直接做成OB ,直接调用即可。CoDeSys需要调用系统函数来完成。各种秒脉冲,博途也是在系统和时钟存储器中设置,然后调用%M0.0 等特殊变量。而在CoDeSys中,仍然需要调用函数来完成。

4)汉化

这个毫无疑问,在界面上,博途的汉化做的不错。CoDeSys 还是很欠缺的。不过 两者都支持中文变量,这个是个不错的功能。再也不用 拿汉语拼音来冒充英文了,对程序的可读性和维护性是很大的帮助。不过在施耐德的Somachine中默认是不支持的,需要在选项中勾选支持Unicode 字符,才能支持中文变量,否则编译会报错的

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据