发表于:2019/12/4 21:15:24
#0楼
见图 :
论述一 :
在上面两段程序基础上,说说为什么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语言,每个周期的扫描时间是
不固定的!条件不满足时,扫描时间最短。条件均满足时,最长。和梯形图相当。