西门子300实现时钟脉冲发生器 程序问题 点击:6530 | 回复:16



qq410740535

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 52回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2008年9月18日
发表于:2008-10-02 22:01:23
楼主
 

使用定时器实现自由设定时钟脉冲发生器功能(脉冲占空系数1:1)

 

问题
1 对时钟脉冲发生器的原理还是不太理解,能不能解释一下。
2。程序中用定时器是怎么实现时钟发生器功能的????
3.  题目中说可以自由设定  ?在程序中是怎么实现的??
总之  ,对这个程序还是不能理解,如果有高手能给详细解释一下就好了。   期待中。。。。。。



wincc.5591

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 240回
  • 年度积分:0
  • 历史总积分:397
  • 注册:2005年10月22日
发表于:2008-10-02 22:39:03
1楼
确实不错,原来时钟脉冲还可以这样做

612lizaqq

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 17回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2008年4月14日
发表于:2008-10-03 21:47:55
2楼

如果扫描周期一变。。那不全得改!~~

zhangyonglaoda

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 37回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2004年5月31日
发表于:2008-10-03 22:36:45
3楼

不错,学习了.

 

zhangyonglaoda

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 37回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2004年5月31日
发表于:2008-10-03 22:39:41
4楼
楼主去把扩展脉冲定时器的工作方式了解清楚就可以看明白这个程序了

李占生

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 123回
  • 年度积分:0
  • 历史总积分:138
  • 注册:2003年7月19日
发表于:2008-10-04 01:10:17
5楼
t0是用来发生一个0.25s脉冲的时间继电器,程序中用mw100加一用作其他的时钟脉冲的实现。mw100的低八位是m101.0~101.7。 t0开0.25,关0.25mw100加1,则mw100=1的时候m101.7~m101.0的状态是0000001,mw100=2的时候m101.7~m101.0的状态是0000010……,所以m101.0的脉冲为0.5s,m101.1的脉冲是1s,建议楼主看一下二进制加法以及8421码,就知道其中的奥妙了。

傲天

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2008年8月11日
发表于:2008-10-04 02:18:11
6楼
这个程序应该不完整吧,

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-10-04 14:52:46
7楼

引用傲天 的回复内容:这个程序应该不完整吧,




这个程序来自于西门子梯形图手册的附录例子中,同样在指令表手册的附录例子中则是以STL表示方法,正如5楼所述,其原理就是利用定时器产生一个双分频的脉冲,通过对脉冲进行计数来获得其他时基的脉冲输出。

这个例子为了告诉读者两分频程序的应用,因为在实际使用中,在CPU属性中可以设定,而无需去编写程序。

 

以上~~~

qq410740535

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 52回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2008年9月18日
发表于:2008-10-04 20:45:10
8楼

我怎么有个很幼稚的问题    为什么程序中要用MW100  而不是MB100   或者是M100  这三个有什么区别吗?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-10-04 20:49:49
9楼
引用qq410740535 的回复内容:

我怎么有个很幼稚的问题    为什么程序中要用MW100  而不是MB100   或者是M100  这三个有什么区别吗?




因为ADD_I的指令对象为INT数据类型,而INT要求为16位存储空间,即MW100,而MB100为8位存储空间,无法应用在ADD_I指令上,M100为错误的语法,位的表示方法应该为M100.0,而不能用的原因同前。

 

以上~~~

qq410740535

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 52回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2008年9月18日
发表于:2008-10-05 09:43:02
10楼
回复内容:
对:yuanle 关于引用qq410740535 的回复内容:

我怎么有个很幼稚的问题    为什么程序中要用MW100  而不是MB100   或者是M100  这三个有什么区别吗?


 


 


因为ADD_I的指令对象为INT数据类型,而INT要求为16位存储空间,即MW100,而MB100为8位存储空间,无法应用在ADD_I指令上,M100为错误的语法,位的表示方法应该为M100.0,而不能用的原因同前。

 

以上~~~

内容的回复:


哦   明白了,还是基础知识太差了,还是得好好看看书。

nan

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1099回
  • 年度积分:0
  • 历史总积分:2374
  • 注册:2003年9月23日
发表于:2008-10-07 13:26:03
11楼
对,10楼解答的很仔细,用什么指令用什么操作字的结构.

qq410740535

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 52回
  • 年度积分:0
  • 历史总积分:71
  • 注册:2008年9月18日
发表于:2008-10-08 16:34:18
12楼
回复内容:
对:李占生 关于t0是用来发生一个0.25s脉冲的时间继电器,程序中用mw100加一用作其他的时钟脉冲的实现。mw100的低八位是m101.0~101.7。 t0开0.25,关0.25mw100加1,则mw100=1的时候m101.7~m101.0的状态是0000001,mw100=2的时候m101.7~m101.0的状态是0000010……,所以m101.0的脉冲为0.5s,m101.1的脉冲是1s,建议楼主看一下二进制加法以及8421码,就知道其中的奥妙了。 内容的回复:


mw100=2的时候m101.7~m101.0的状态是0000010……,所以m101.0的脉冲为0.5s       这句还是有点不理解。  为什么 MW100=2时 m101.0 的脉冲为0.5s 而m101.1的脉冲是1s

wrj831013

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2008年9月03日
发表于:2008-10-08 17:20:11
13楼

想给着各位老师朋友多学习学习.谢谢

 

电笔一支

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 365回
  • 年度积分:0
  • 历史总积分:583
  • 注册:2004年6月02日
发表于:2008-10-14 20:54:45
14楼

引用qq410740535 的回复内容:回复内容:
对:李占生 关于t0是用来发生一个0.25s脉冲的时间继电器,程序中用mw100加一用作其他的时钟脉冲的实现。mw100的低八位是m101.0~101.7。 t0开0.25,关0.25mw100加1,则mw100=1的时候m101.7~m101.0的状态是0000001,mw100=2的时候m101.7~m101.0的状态是0000010……,所以m101.0的脉冲为0.5s,m101.1的脉冲是1s,建议楼主看一下二进制加法以及8421码,就知道其中的奥妙了。 内容的回复:

 


 


mw100=2的时候m101.7~m101.0的状态是0000010……,所以m101.0的脉冲为0.5s?????? 这句还是有点不理解。? 为什么 MW100=2时 m101.0 的脉冲为0.5s 而m101.1的脉冲是1s

?


 


 

你仔细看看最后那张储存字节MB101各位的信号状态表,看明白的时候就会理解了,讲起来很麻烦的,竖着看哦,呵呵

游刃有余

  • 精华:1帖
  • 求助:3帖
  • 帖子:56帖 | 1331回
  • 年度积分:0
  • 历史总积分:3240
  • 注册:2005年7月31日
发表于:2008-10-14 21:47:55
15楼
收藏了,讲解的很详细,受益匪浅。谢谢大家。

汀上白沙

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:319
  • 注册:2005年11月10日
发表于:2010-09-05 10:32:32
16楼

不明白的一点是,跳转的那个指令跳转到哪里去了?

例程上没有说明,有没有哪位大侠清楚啊


热门招聘
相关主题

官方公众号

智造工程师