找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
R是浮点数的意思,<R >R 等是浮点数计算的指令;delay_time<#cycle_time_s 并且 release=1 时,time_over =1 ;delay_time>=#cycle_time_s时,并且release =1 的情况下,延时的时间会进行自减一个#cycle_time_s,直到delay_time<#cycle_time_s时,ime_over 才为1;个人觉得在调用这个FC109时给#act_time分配的变量不能是临时变量,下一个周期就没有了,delay_time和cycle_time的参数要设定好;
L #cycle_time
L 1000.0
/R
T #cycle_time_s //#cycle_time_s =#cycle_time/1000.0
L #delay_time
L #cycle_time_s
<R
JC IQ //#delay_time < #cycle_time_s 直接跳转到IQ这个位置,如果#delay_time >= #cycle_time_s 继续执行以下程序
AN #release //#release为1,跳转到j102这个位置,#release 为0继续执行以下程序
JCN j102
L #delay_time
T #act_time //#act_time =#delay_time
j102: NOP 0
L #act_time
L #cycle_time_s
>=R
A #release
JC L001 // #act_time>=#cycle_time_s并且#release为1跳转至L001,否则继续执行以下程序
L #act_time
L #cycle_time_s
-R
T #act_time //#act_time =#act_time - #cycle_time_s
L001: NOP 0
L #act_time
L #cycle_time_s
<R
= #time_over //#act_time<#cycle_time_s 的话,#time_over 为1
BEU //程序无条件结束
IQ: NOP O
A #release
= #time_over //#time_over = #release
L 0.0
T #act_time //#act_time=0.0
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!