您现在所在的是:

PLC论坛

回帖:6个,阅读:1933 [上一页] [1] [下一页]
671
旭1921
文章数:63
年度积分:50
历史总积分:671
注册时间:2012/5/7
发站内信
发表于:2013/1/6 8:30:54
#0楼
请问:任务配置有什么作用吗?程序,函数,功能块到底有什么区别?看了手册的介绍对这两个问题还是迷迷糊糊的,谢谢。
对plc很有兴趣,想学好plc,请师傅们多多指教,感激不尽
1783
kachakacha
文章数:736
年度积分:50
历史总积分:1783
注册时间:2006/5/24
发站内信
发表于:2013/1/6 9:05:55
#1楼
以下是引用旭19212013/1/6 8:30:54的发言:
请问:任务配置有什么作用吗?程序,函数,功能块到底有什么区别?看了手册的介绍对这两个问题还是迷迷糊糊的,谢谢。
1、程序以POU,即程序组织单元存在,在PLC中,只有将POU分配给任务,才会被PLC执行,这就确保了同一个POU可以分配给不同的PLC配置,而不需要像以往一样需要反复写程序。
2、程序,PLC的任务分配只接受程序,也就是说,只有属性为程序的POU才能分配给任务。
3、函数,功能块需要在程序中调用才能被执行。
4、函数与功能块的区别在于:
   A、函数只能返回一个特定的数据类型,而功能块可以通过IN_OUT,OUT引脚来返回多个数据类型。
   B、函数执行所需要的内存消耗由系统分配在临时区域,因此函数中的变量需要遵循先赋值后使用的原则。而功能块则是系统分配特有的独立内存供其使用,因此,在内存消耗方面,你可以将函数间看作共享内存,而将功能块间看作各自独立内存,所以,如果没有需要独立内存的开销,尽量使用函数以节约系统内存消耗。

以上评论仅适合支持IEC61131-3标准,并不适合西门子这种并非完全支持IEC标准的厂牌。

Good Luck~
有问题请在论坛提问……作为CVLSAM的马甲,我亚历山大……
Good Luck~
邮箱是anonymousfa@163.com但是我忘记密码了
671
旭1921
文章数:63
年度积分:50
历史总积分:671
注册时间:2012/5/7
发站内信
发表于:2013/1/6 17:30:01
#2楼
以下是引用kachakacha2013/1/6 9:05:55的发言:
以下是引用旭19212013/1/6 8:30:54的发言:
请问:任务配置有什么作用吗?程序,函数,功能块到底有什么区别?看了手册的介绍对这两个问题还是迷迷糊糊的,谢谢。
1、程序以POU,即程序组织单元存在,在PLC中,只有将POU分配给任务,才会被PLC执行,这就确保了同一个POU可以分配给不同的PLC配置,而不需要像以往一样需要反复写程序。
2、程序,PLC的任务分配只接受程序,也就是说,只有属性为程序的POU才能分配给任务。
3、函数,功能块需要在程序中调用才能被执行。
4、函数与功能块的区别在于:
   A、函数只能返回一个特定的数据类型,而功能块可以通过IN_OUT,OUT引脚来返回多个数据类型。
   B、函数执行所需要的内存消耗由系统分配在临时区域,因此函数中的变量需要遵循先赋值后使用的原则。而功能块则是系统分配特有的独立内存供其使用,因此,在内存消耗方面,你可以将函数间看作共享内存,而将功能块间看作各自独立内存,所以,如果没有需要独立内存的开销,尽量使用函数以节约系统内存消耗。

以上评论仅适合支持IEC61131-3标准,并不适合西门子这种并非完全支持IEC标准的厂牌。

Good Luck~
  谢谢您认真的回复,很有收获,但是其中还是有点疑惑的地方,望解答,您说只有将POU分配给任务,才会被PLC执行,可是我在任务配置中最初并没有看到有任务调用POU啊,程序不是依然可以执行的嘛,嗯,还有就是任务配置中有一种配置是,靠触发条件,执行程序调用,这是不是就是中断的意思呢,我在用和利时的DCS中发现,其就是在任务配置中设置循环,周期T#50ms,这算不算对程序扫描时间强制成50ms了呢?
任务配置一般用在什么情况下呢?
  最后,函数一般用在什么情况下呢?
对plc很有兴趣,想学好plc,请师傅们多多指教,感激不尽
38000
cvlsam 版主
文章数:12477
年度积分:611
历史总积分:38000
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2013/1/6 20:23:32
#3楼
没有安装和利时的软件,仅以同类型施耐德的Somachi来描述,它同样基于Codesys 2.3版本。

当你开启程序时,默认任务已经自动添加了默认的Pou……所以,你才会有程序依然执行感觉。
附件

在ABB的Codesys V2.3中,这种分配任务就要靠用户自己添加。


附件

靠触发条件来执行的任务一般叫做事件任务,这种事件可以由系统中断来引发,也可以由用户进行变量的控制来触发。另外一种就是固定循环任务,你也可以称它为定时中断任务。

至于50Ms,那只是在没有更高等级任务的时候的一个固定循环,一般,事件任务的等级会高于循环任务。
至于任务配置一般用在什么地方,前面Kachakacha已经说过了,你写的程序就是Pou,POU不分配给任务,那么这个Pou就不会被PLC执行。
函数用在什么情况下呢?前面的Kachakacha也已经说了,你如果不在乎内存不够,你尽管忘记有Fc这回事好了,全部Fb也不会影响你什么。
例如,你要计算A+B=C这个算式,那么对于Fb来说,系统要为A,B,C三个变量永久分配空间。如果你调用了3次Fb,那么就要为三个变量分配9个空间。Fc不同,其只要分配3个空间就可以了,因为他们占据的空间是公用的,所以,Fc的变量一定要遵循先赋值后使用。

如果你还不能明白,我想你需要首先通读厂家的手册了……

Good Luck~
671
旭1921
文章数:63
年度积分:50
历史总积分:671
注册时间:2012/5/7
发站内信
发表于:2013/1/7 16:38:30
#4楼
我看到任务配置中有System events这个项目,查资料说是设置中断等控制的,如果不配置任务的话,工程默认执行主程序,然后在想,如果我添加了任务,是不是就不在默认执行主程序而去执行我新添加的任务调用程序对吗?如果想对我添加的新任务做中断服务,也是在system events(系统事件)设置,也就是说system events是针对所有任务(工程)来说的,这样理解对吗?
如何学好,搞精codesys这个软件的应用呢?哪些属于这个软件的高级使用呢?有什么建议好的资料去学习吗?感觉有很多PLC都是使用codesys这个编程软件进行开发的,所以想对其深入学习,可是好像不知道什么方向。谢谢了。
对plc很有兴趣,想学好plc,请师傅们多多指教,感激不尽
-35
luosiji2012
文章数:119
年度积分:-160
历史总积分:-35
注册时间:2012/10/10
发站内信
发表于:2013/1/7 17:05:36
#5楼
这个看起来有点复杂了啊,我们厂生产的自动锁螺丝机用的很简单,
671
旭1921
文章数:63
年度积分:50
历史总积分:671
注册时间:2012/5/7
发站内信
发表于:2013/1/8 17:29:48
#6楼
以下是引用luosiji20122013/1/7 17:05:36的发言:
这个看起来有点复杂了啊,我们厂生产的自动锁螺丝机用的很简单,
自动锁螺丝机吗?和利时的plc是吗?那套装置和那个程序是自己编的,还是和利时公司设计的?
对plc很有兴趣,想学好plc,请师傅们多多指教,感激不尽

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

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

62.4004