回复:西门子PLC程序是否具有斜波函数发生器的功能快

Zane

版主 西门子1847工业学习平台

  • 帖子

    21062
  • 精华

    399
  • 被关注

    1486

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2011-10-11 00:00:33

29楼

quote:以下是引用四书五经在2011-10-10 09:36:24的发言:
仔细看了官网例程(技术资源库条目号:1853767),程序里做了如下判断:
如果#OB1_Prev_Cycle<StepTime,则按增加量按如下公式做线性变换。
Step_Range=#OB1_Prev_Cycle/StepTime*StepValue;
Step_Range:当前增加量;
StepTime:每步时间(ms)
StepValue:每步增加量;
如果#OB1_Prev_Cycle>StepTime,则StepTime*2,StepValue*2,继续判断#OB1_Prev_Cycle<StepTime。
这样基本上可以消除#OB1_Prev_Cycle不稳定带来的影响。
如果把#OB1_Prev_Cycle用如下代码替代,则在OB3X中也可以运行。
CALL "TIME_TCK"
RET_VAL:=#L_Temp //获取当前时间
L #L_Temp
L #MEG_Time
-D
T #L_Temp1 //差值为上一个执行周期的时间,这个值替代#OB1_Prev_Cycle

L #L_Temp
T #MEG_Time //保存上一个执行周期的时间


还是没具体用过吧,也没仔细看过"TIME_TCK"的帮助吧, #L_Temp 溢出的处理考虑过吗?如果第一个扫描周期就要输出的话,你的程序会是个什么结果?
Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。