中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

西门子SIEMENS

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 西门子SIEMENS → 浏览主题: 技术细节,慢慢的品。
发表新帖 回复该主题
回帖:6个,阅读:407 [上一页] [1] [下一页]
* 帖子主题:

技术细节,慢慢的品。

分享到
4030
qdppo
文章数:540
年度积分:337
历史总积分:4030
注册时间:2016/2/13
发站内信
发表于:2019/12/4 21:15:24
#0楼


  见图 :

 
附件 01.jpg

 
附件 02.jpg


  论述一 :
         在上面两段程序基础上,说说为什么scl语句的扫描时间会比梯形图慢了。对梯形图程序而言,第一个
         扫描周期完成,电机1,2,3均接通。                                        
         而对scl程序而言(编程方式如上),需要3个周期才能让电机全部接通。 这是因为scl语言的执行过
         程是:

         第1周期:当stat_iStatus=0时,扫描执行电机1运行语句。然后执行下一语句,将10赋给stat_iStatus。
         接下来程序跳过下面的case语句执行end_case;语句。第1周期结束。仅电机1接通。  
                             
         第2周期:判断stat_iStatus=10,扫描执行电机2运行语句。然后执行下一语句,将20赋给stat_iStatus。
         接下来程序跳过下面的case语句执行end_case;语句。第2周期结束。电机1,2接通  
           
         第3周期:判断stat_iStatus=10,扫描执行电机3运行语句。然后执行下一语句,将30赋给stat_iStatus。
         接下来程序执行end_case;语句。第3周期结束。电机1,2,3均接通


 论述二 :
         scl程序扫描时间小于或者等于梯形图程序!因为梯形图扫描是每条指令都扫描。而scl if语句是先扫描判
         断条件,看条件结果是否为真。若不是,则跳过内部语句执行下一条扫描。如:若condtion1不满足,则不
         扫描#q_bmotor1 :=true语句,直接执行下面的end_if语句。也就是说,scl语言,每个周期的扫描时间是
         不固定的!条件不满足时,扫描时间最短。条件均满足时,最长。和梯形图相当。



       


4030
qdppo
文章数:540
年度积分:337
历史总积分:4030
注册时间:2016/2/13
发站内信
发表于:2019/12/4 21:21:37
#1楼



。。。。。不知道哪个论述更正确 。


        但我偏向于论述二 , 感觉SCL还是有优势的。我理解是 :SCL节省 CPU的“体力” ----  需要干活的地方就干,
        不需要就不干 。
3330
MIC小赖
文章数:1291
年度积分:114
历史总积分:3330
注册时间:2015/9/16
发站内信
发表于:2019/12/4 21:33:17
#2楼
不通过技巧的话应该是ST或者SCL扫描周期更长,不过大部分在性能过剩的情况下完全无关紧要。
9976
bnnyygy
文章数:2118
年度积分:368
历史总积分:9976
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2019/12/4 22:05:36
#3楼
都说ST慢。

比梯形图的好处是数据计算啥的方便很多。
28079
cvlsam 版主
文章数:10591
年度积分:289
历史总积分:28079
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2019/12/5 8:55:07
#4楼
ST慢并非你描述的原因,因为你描述的原因在ST编程中可以写在一个块而不是分为3个块来写。

慢的原因在于ST在编译为二进制代码时,会产生附加代码,这些代码的运行增加的系统的负担。

附件 workpicture1.jpg

同样功能的梯形图,转换为二进制代码时的附加指令要少于ST语言产生的附加指令。

这才是ST效率没有其他语言效率高的原因,当然,编程效率方面完全看个人了,例如指令表语言较熟悉的话,效率肯定比ST语言更高了,毕竟ST语言还要定义变量………………

Good Luck~
26167
YXBK 版主
文章数:12381
年度积分:710
历史总积分:26167
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2019/12/5 9:03:19
#5楼
如果用3条IF语句的话,好像就可以一个扫描周期完成了。
大家一起学习
2049
sxjice545
文章数:459
年度积分:96
历史总积分:2049
注册时间:2013/2/23
发站内信
发表于:2019/12/5 10:59:45
#6楼
论述二里的,扫描周期不固定,但是应该不会小于程序的扫描周期吧?也就是肯定会大于或者等于梯形图的扫描周期,
ST(西门子SCL应该也属于ST吧)只是简化编程,方便运算,算执行快慢的话,还是直接的梯形图快吧。
纯属个人理解。

关于case语句,你这里例子使用if更好,会都判断,原本case语句使用的情况一般是只出现一种请款,所以这里用if更合适。
工控学堂推荐视频:

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

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

93.6