IEC 61131-3与S7-300/400程序结构的比较

的软件标准IEC 61131-3与S7-300/400的程序结构是比较接近的,可以看得出来IEC 61131-3采用了S7-300/400程序结构的基本思想,包括S7-300/400使用的名称,例如功能和功能块。两者的功能(FC)除了输出参数的个数外,没有本质的区别。两者最大的区别在于IEC 61131-3根本就没有数据块,所以FB也没有背景数据块。但是在功能块实例化(被调用)时,操作系统会给每次调用分配一个单独的存储区域,用来保存功能块的局部变量的值。这个存储区实际上相当于S7-300/400功能块的背景数据块,只是对用户来说不是透明的,用户不能访问它。
个人认为S7-300/400的程序因为数据块复杂了很多。例如书写数据块内的地址要说明数据块的编号,或者采用OPN指令打开数据块。参数类型POINTER和ANY为数据块增加了两个字节。为了减少背景数据块又搞了个多重背景。当然数据块也有它的优点,便于管理和监控数据,对于大型系统更是如此。背景数据块中的数据本来应该是FB的被控对象私有的,允许别的块访问,破坏了它的私有性,但是访问背景数据块在编程时有时也会带来方便。

,

的软件标准IEC 61131-3与S7-300/400的程序结构是比较接近的,可以看得出来IEC 61131-3采用了S7-300/400程序结构的基本思想,包括S7-300/400使用的名称,例如功能和功能块。两者的功能(FC)除了输出参数的个数外,没有本质的区别。两者最大的区别在于IEC 61131-3根本就没有数据块,所以FB也没有背景数据块。但是在功能块实例化(被调用)时,操作系统会给每次调用分配一个单独的存储区域,用来保存功能块的局部变量的值。这个存储区实际上相当于S7-300/400功能块的背景数据块,只是对用户来说不是透明的,用户不能访问它。
个人认为S7-300/400的程序因为数据块复杂了很多。例如书写数据块内的地址要说明数据块的编号,或者采用OPN指令打开数据块。参数类型POINTER和ANY为数据块增加了两个字节。为了减少背景数据块又搞了个多重背景。当然数据块也有它的优点,便于管理和监控数据,对于大型系统更是如此。背景数据块中的数据本来应该是FB的被控对象私有的,允许别的块访问,破坏了它的私有性,但是访问背景数据块在编程时有时也会带来方便。

IEC 61131-3与S7-300/400程序结构的比较

相关文章:

你感兴趣的文章:

标签云: