SMW22和时间间隔在斜坡指令运用上的差异

已锁定

水煮花生

  • 帖子

    285
  • 精华

    4
  • 被关注

    8

论坛等级:侠圣

注册时间:2011-04-14

钻石 钻石 如何晋级?

SMW22和时间间隔在斜坡指令运用上的差异

2293

9

2021-08-05 16:24:43

试着用斜坡函数做点事,预置量发生变化,输出量跟着斜坡坡度逐渐变化到预置量。翻坛子,通过众侠指引,找到了RAMP库指令,写了一段简单的测试程序,用定时器查看输出量变化到预置量的时间,发现有点意思,定时器记录的时间,和按照坡度计算的时间偏差较大。

下载的RAMP库指令中虽然是加密的,但在注释中告知了密码,(在此万分感谢作者!),指令中用的是SMW22,本次扫描时,上周期的扫描时间乘以斜率,得到本周期的递增值(递减值),与上一次的输出量相加(减),得到本周期的输出值。库指令是S7-200的,在此抄作业连注释也一起抄了,子例程名:RAMP_0

因为测试存在较大的偏差,自己用BITIM和CITIM 通过时间间隔的方式,写了一个子程序。第一次调用时,BITIM记录时间,本次扫描时,通过CITIM 计算和上周期的时间间隔,同时BITIM记录本周期时间,用时间间隔乘以斜率,得到本周期的递增值(递减值),与上一次的输出量相加(减),得到本周期的输出值。子例程名:RAMP_1

M17.0输出使能,Q1.7输出标志,VD832预置值=1.0,VD820预置值=1.0,VD836输出值,VD828输出截止值=0.00001(1e-5),斜率VD0=0.01/秒,   M0.0,启动输出,M0.1停止输出,T99记录停止时斜坡下降的时间,值传送到VW4,T98记录启动时斜坡上升时间,值传送到VW6。

主程序MAIN:


子例程名:RAMP_0


子例程名:RAMP_1


通过主程序中,调用不同的子例程,得到如下结果:


偏差这么大,有点难以消化,特研习论坛里以前的帖子,还是有些茫然。通过SMW2做与时间相关的累加,存在较大的误差?还是有其他的原因?期待过往大侠的高见。

参考贴:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1700448&b_id=3&s_id=0&num=16#anch


用S7-200 CPU226CN REL 2.01 测试,结果如下:


同样的程序,测试结果不一样,使用SMW22的RAMP库指令在S7-200中运行,和定时器计时偏差很小,但是在S7-200SMART中运行,和定时器值偏差较大。

SMW22和时间间隔在斜坡指令运用上的差异 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8944条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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