您现在所在的是:

PLC论坛

回帖:6个,阅读:973 [上一页] [1] [下一页]
19664
fuhuafeng72
文章数:5597
年度积分:102
历史总积分:19664
注册时间:2011/11/21
发站内信
2017国庆活动(三)
2016国庆活动(三)
2014逛工博
发表于:2014/3/23 16:00:13
#0楼
西门子里的组织块就是主程序吗?
如何区分OB、FB、FC、DI、DB,不要取笑我,我对西门子不懂
他们与主程序、子程序等有啥异同?
凯成、日发、攀峰龙带式帘子线倍捻机、直捻机电控系统维修改造。
37988
cvlsam 版主
文章数:12477
年度积分:599
历史总积分:37988
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2014/3/23 16:17:59
#1楼
西门子中,OB实际上就是被赋予任务的程序段,如果您能想明白这个道理,那么您就不会受到品牌的制约了。

OB实质上就是赋予任务的程序段,在其他符合IEC61131-3标准的PLC厂牌中,一般将程序段称作为POU,也就是程序组织单元,POU是无法执行的,必须赋给任务Task,才能被PLC执行。

当POU被分配给定时任务时,它就是西门子中的诸如OB35这样的定时任务.....只有被赋予任务的程序段才能被执行,所以西门子中只有OB才能被PLC执行。

接下来说一下FB,FC:
FB,FC的差异在于:FB可以返回多个返回值,通过IN_OUT或者OUT变量。FC只能返回单一的返回值。

如果您在编程中做到需要返回多个值得时候,使用FB,否则使用FC的话,那么您的程序跨厂牌是很简单的,反之,几乎需要重写,西门子并不完全遵守IEC规范,其FB,FC的差异实际上并不是很大,甚至于非常小,原因在于西门子仍然允许FC具有FB的特性,且允许FB,FC直接访问全局变量,这样的好处在于程序会很灵活且方便,后遗症是无法进行跨厂牌,当然,西门子也不希望用户跨厂牌。

至于DI,DB的差异,由于FB,FC的差异并不明显,所以DI可以认为FB的专属存储区域,这个在其他厂牌中是由系统分配而不是用户干预的,西门子也认识到这一点,在其新的软件中已经更符合IEC规范了。

至于OB与主程序的不同,要看您对于编程的理解了,前面已经描述过,OB实质上就是赋予任务的程序段,不管任务是循环任务还是中断程序,所以,在这种情况下,主程序的概念会有所变化,例如,循环程序中没有程序片段,但是中断程序中有程序,主程序到底是中断任务还是循环任务呢?

FB,FC与子程序的概念其实是类似的。

Good Luck~
12194
logo1979
文章数:4171
年度积分:56
历史总积分:12194
注册时间:2011/5/1
发站内信
发表于:2014/3/23 16:35:27
#2楼
谢谢学习了
11927
yk_wangyu
文章数:1391
年度积分:50
历史总积分:11927
注册时间:2005/8/24
发站内信
发表于:2014/3/23 16:43:44
#3楼
以下是引用cvlsam2014/3/23 16:17:59的发言:
西门子中,OB实际上就是被赋予任务的程序段,如果您能想明白这个道理,那么您就不会受到品牌的制约了。

OB实质上就是赋予任务的程序段,在其他符合IEC61131-3标准的PLC厂牌中,一般将程序段称作为POU,也就是程序组织单元,POU是无法执行的,必须赋给任务Task,才能被PLC执行。

当POU被分配给定时任务时,它就是西门子中的诸如OB35这样的定时任务.....只有被赋予任务的程序段才能被执行,所以西门子中只有OB才能被PLC执行。

接下来说一下FB,FC:
FB,FC的差异在于:FB可以返回多个返回值,通过IN_OUT或者OUT变量。FC只能返回单一的返回值。

如果您在编程中做到需要返回多个值得时候,使用FB,否则使用FC的话,那么您的程序跨厂牌是很简单的,反之,几乎需要重写,西门子并不完全遵守IEC规范,其FB,FC的差异实际上并不是很大,甚至于非常小,原因在于西门子仍然允许FC具有FB的特性,且允许FB,FC直接访问全局变量,这样的好处在于程序会很灵活且方便,后遗症是无法进行跨厂牌,当然,西门子也不希望用户跨厂牌。

至于DI,DB的差异,由于FB,FC的差异并不明显,所以DI可以认为FB的专属存储区域,这个在其他厂牌中是由系统分配而不是用户干预的,西门子也认识到这一点,在其新的软件中已经更符合IEC规范了。

至于OB与主程序的不同,要看您对于编程的理解了,前面已经描述过,OB实质上就是赋予任务的程序段,不管任务是循环任务还是中断程序,所以,在这种情况下,主程序的概念会有所变化,例如,循环程序中没有程序片段,但是中断程序中有程序,主程序到底是中断任务还是循环任务呢?

FB,FC与子程序的概念其实是类似的。

Good Luck~
那没有FB或FC只有OB的程序是不是也可以正确的执行?
                 I believe i can fly
37988
cvlsam 版主
文章数:12477
年度积分:599
历史总积分:37988
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2014/3/23 17:06:19
#4楼
以下是引用yk_wangyu2014/3/23 16:43:44的发言:
以下是引用cvlsam2014/3/23 16:17:59的发言:
西门子中,OB实际上就是被赋予任务的程序段,如果您能想明白这个道理,那么您就不会受到品牌的制约了。

OB实质上就是赋予任务的程序段,在其他符合IEC61131-3标准的PLC厂牌中,一般将程序段称作为POU,也就是程序组织单元,POU是无法执行的,必须赋给任务Task,才能被PLC执行。

当POU被分配给定时任务时,它就是西门子中的诸如OB35这样的定时任务.....只有被赋予任务的程序段才能被执行,所以西门子中只有OB才能被PLC执行。

接下来说一下FB,FC:
FB,FC的差异在于:FB可以返回多个返回值,通过IN_OUT或者OUT变量。FC只能返回单一的返回值。

如果您在编程中做到需要返回多个值得时候,使用FB,否则使用FC的话,那么您的程序跨厂牌是很简单的,反之,几乎需要重写,西门子并不完全遵守IEC规范,其FB,FC的差异实际上并不是很大,甚至于非常小,原因在于西门子仍然允许FC具有FB的特性,且允许FB,FC直接访问全局变量,这样的好处在于程序会很灵活且方便,后遗症是无法进行跨厂牌,当然,西门子也不希望用户跨厂牌。

至于DI,DB的差异,由于FB,FC的差异并不明显,所以DI可以认为FB的专属存储区域,这个在其他厂牌中是由系统分配而不是用户干预的,西门子也认识到这一点,在其新的软件中已经更符合IEC规范了。

至于OB与主程序的不同,要看您对于编程的理解了,前面已经描述过,OB实质上就是赋予任务的程序段,不管任务是循环任务还是中断程序,所以,在这种情况下,主程序的概念会有所变化,例如,循环程序中没有程序片段,但是中断程序中有程序,主程序到底是中断任务还是循环任务呢?

FB,FC与子程序的概念其实是类似的。

Good Luck~
那没有FB或FC只有OB的程序是不是也可以正确的执行?

FB,FC一般有2个作用:
作用1:程序的模块化
作用2:减少重复代码。

如果你无所谓功能的分类或者觉得重复写N遍同样的代码也无所谓,你可以将程序写在OB1中。

Good Luck~
19664
fuhuafeng72
文章数:5597
年度积分:102
历史总积分:19664
注册时间:2011/11/21
发站内信
2017国庆活动(三)
2016国庆活动(三)
2014逛工博
发表于:2014/3/23 21:20:49
#5楼
回复 #1楼 cvlsam
谢谢
凯成、日发、攀峰龙带式帘子线倍捻机、直捻机电控系统维修改造。
2000
ray276488196
文章数:580
年度积分:50
历史总积分:2000
注册时间:2011/9/21
发站内信
发表于:2014/3/24 13:41:05
#6楼
长点知识,混点积分
从现在起,做一个认真学习,力求上进的工控人。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005