回复:s7-1200用SCL编写基于时钟脉冲的定时器精度太差

Zane

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

  • 帖子

    21062
  • 精华

    399
  • 被关注

    1487

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2015-01-10 15:45:29

10楼

展开查看
以下是引用CCHUANG在2015-01-10 08:33:53的发言 >9楼:Zane版,说的是,正是通过时钟脉冲,通过计数来实现定时功能,你之前说过时钟是方波,所以少记了一半,后面我将程序做了修改,程序如下:
IF (NOT #IN)
THEN
#PT:=T#0S;
#Q:= 0;
ELSE IF ("Clock_1Hz" AND NOT #Q) OR (NOT "Clock_1Hz" AND NOT #Q)//Clock_1Hz的方波的有或无
THEN #PT := #PT+1;//计数
END_IF;
#Q:= #PT>= #ST;
END_IF;
现在定时器时间比较准确,但和IEC定时器还是差了一些,是不是将CPU扫描时间加上就可以了
以下是引用Zane在2015-01-09 21:41:51的发言 >6楼:既然用了时钟脉冲,...

引用6楼详细内容:

既然用了时钟脉冲,就不能再计时了,而是应该通过计数来计时,分辨率就是一个时钟脉冲的周期了。

以下是引用CCHUANG在2015-01-09 14:50:45的发言 >4楼:我知道1200自带IE...

引用4楼详细内容:

我知道1200自带IEC定时器,但是在SCL里面调用要给IEC定时器分配DB块,这样程序的可移植性不好,就像300的FC里面写程序,喜欢用S5定时器而不是IEC定时器一样,所以想要在SCL里面实现S5定时器的功能

以下是引用伊默在2015-01-09 13:15:46的发言 >3楼:就你用程序里面的...

引用3楼详细内容:

就你用程序里面的TON啊!

不明白楼主到底要什么? 1200自带的IEC定时器:TON、TOF不就是么?

应该做上升沿判断,每次上升沿做累加计数。PT是计数器了,怎么还是时间单位呢?

楼主,你这错得有些离谱
Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15117条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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