普通的晶体管输出能有多高的频率? 点击:8788 | 回复:71



fx2n _

    
  • 精华:0帖
  • 求助:40帖
  • 帖子:305帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2011-01-13 10:57:15
楼主
普通的晶体管输出能有多高的频率?看到有PLC普通点直接带步进电机的程序(不用驱动器),但是没看到过普通点带步进驱动器的程序,有人编过普通点发脉冲的程序吗,?速度先不说,载个图或给个程序看看?



wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-20 12:52:03
41楼

 

  把程序再写简短一点点,就可以稍微的把脉冲频率提高一点点:

           

fx2n _

  • 精华:0帖
  • 求助:40帖
  • 帖子:305帖 | 1715回
  • 年度积分:0
  • 历史总积分:6747
  • 注册:2004年9月09日
发表于:2011-01-20 15:31:39
42楼

差了一行,频率相隔这么远?

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-20 21:26:10
43楼
引用<fx2n _ >的回复内容:

 

  『差了一行,频率相隔这么远?』


 


 


  “远”或“近”是一种相对的概念,不是绝对的概念!就好比航天技术领域里的“准确入轨”这一个概念。单独说一个误差<25千米>,有的人就会很吃惊:误差咋那么大呢?!但是,这<25千米>与<380000千米>相比却是微不足道的!所以,在航天技术领域内,国际公认发射进入“地月转移轨道”的火箭若在距设计入轨点<25千米>之内入轨,就叫“准确入轨”!我国发射运载“嫦娥2号”的火箭控制在<15千米>之内入轨,所以,中国的这次发射,无疑是做到了“准确入轨”!

          

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-20 21:51:05
44楼

  程序中多写一条<MOV>指令,扫描周期就多了一个<MOV>指令的运算时间。受程序扫描周期影响的普通点输出脉冲的频率就低一点(譬如:1301.1 Hz) ;少写一条<MOV>指令,则扫描周期就少一个<MOV>指令的运算时间。所以普通点输出脉冲的频率就高一点(譬如:1283.8 Hz)。

 

  两者相差 17.3 Hz

 

  1301.1 -1283.8 =17.3 (Hz)

 

  (17.3 / 1301.1)×100% =1.33%         (0.013296441)

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-20 22:05:09
45楼

 

  我们再算一算

 

  №40楼贴的程序之扫描周期:

 

  1000mS / 1283.8×2 =0.389 mS

 

  №41楼贴的程序之扫描周期:

  

  1000mS / 1301.1×2 =0.384 mS

 

        两个程序只差一条“MOV”指令的运算时间:

 

   0.389 mS -0.384 mS =0.005 mS          (实际上约等于0.00518 mS          即:5.18 μS  )        

                   

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-20 22:15:59
46楼

 

  当然,上面的计算根据的数据采自PLC上用计时器T63来测试的。PLC上的计时器是允许一定误差的!所以,上面计算出来的结果数据也就不例外的有一点点误差。

          

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-20 22:28:58
47楼

 

   我没有查阅到FX1s的<MOV>指令的运算时间。《FX编程手册》上只有FX2n / FX2nc 的《指令执行时间一览表》其列出的<MOV>指令(16位)运算时间为:1.52 μS 。

 

  我们可以对照欧姆龙CPM1A的MOV指令执行时间。它的MOV指令执行时间为:5.6μS

             

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-21 14:02:24
48楼
引用<芳>的内容:

 

  『那比比谁的频率高。好不?』

---------------------------------------------------------

 再引用<芳>的内容:

                

    『我不是说比三菱和西门子。』


 


 

 

  芳想怎么比?不清楚!

 

  我只说个:用FX1s做普通点输出高速脉冲列(50%占空比)的最高频率可达1388.8 Hz 附近。怎么做?就是尽量缩短程序的扫描周期!

 

  请网友们注意:FX2n的运算速度比FX1s高得多。但是,在程序最简短的前提下,FX2n的最短扫描周期也赶不上FX1s的最短扫描周期短!

 

  用FX2n做这个最短扫描周期的普通点输出脉冲频率最高只能达到 681 Hz 附近!

         


芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-21 15:38:20
49楼

好!

看我能不能破你1388的记录。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-21 16:42:23
50楼
                      
如何?

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-21 18:24:08
51楼

这个实验告诉大家,程序除了有【Double线圈】外还有叫做【twins线圈】。

twins一次就触发一次。上面程序一共twins了两次。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-21 19:30:02
52楼
引用芳季 的内容:
                    
   『好! 看我能不能破你1388的记录』 
                                                              
  『如何?』
                           

                       
  回复:
                     
  芳真棒!
                      
  有一点需要指出:50楼的实验程序所出的脉冲列是一串不均匀的脉冲列,每两个脉冲为一组,组与组之间有一个较宽得多的间隔。与占空比为50%的脉冲列的样子相差甚远!
             
  如果注意到楼主说的“频率、Hz ”,那就应该理解到芳所给出的程序产生的周期脉冲波的“频率”是他测出的 3643 这个数据的一半!因为非正弦周期信号的频率是以其“基波频率”为标志的。譬如一个50 Hz的交流电压,我们不能因为它含有3次谐波,就错误的把它的频率标称为150 Hz !
           
  如果用芳的这种波形的<脉冲波>去驱动步进电机的话,步进电机会像“打摆子”似的颤抖!               
           

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-21 19:49:55
53楼

 

  当然,楼主也没有限制过这输出脉冲列一定得让占空比为50% !如果不考虑占空比为50% ,那么我相信下面这个程序会比芳的【twins线圈】输出的脉冲频率更高得多!

  (以FX1s为实验平台)         

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-21 20:15:52
54楼

 

  53楼的程序没有遵守楼主要求的用普通输出点作输出高速脉冲的输出位。是芳首先不遵守这个约定的,所以我也顾不得这个约定了!在53楼的程序里用了一个高速响应的输出位Y1来输出脉冲列,为的就是要胜过芳测出来的这个『3643 』数据 !

                        

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-21 21:05:46
55楼

用普通输出都一样啧。哪有不遵守。你还个试试。

我留都留个破绽给你说说。否则你没什么说了。

当然我用了扫描twins,难道不会用循环twins吗?

算了。你写FOR K1000。我写K2000。然后你又再FOR中twins一个。然后我又……。没有意义的。除非再层次上上个级数。就算你赢了。你看,twins后完全在速度上指数上升。两个根本不在一个层次上。这可见分晓了。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-21 22:05:39
56楼

 

  普通输出点与Y0 / Y1 当然有区别啦!不用试都知道:高速响应的输出位的响应速度是普通输出位望尘莫及的!

 

  以三菱FX1s为例,普通晶体管输出点(OFF→ON)的响应时间为0.2 mS ,(ON→OFF)的响应时间也为0.2 mS 。所以,普通晶体管输出点的最高输出频率顶多能达 2.5 KHz 。而高速响应输出点Y0 / Y1 的响应时间(OFF→ON 以及 ON→OFF)为 5 μS 。所以高速响应输出点Y0 / Y1 的最高输出频率能够达到100 KHz !

 

  下面是FX1S硬件手册上的《输出规格》所标称的数据:

  什么『扫描twins』!分明就是【双线圈】或称【多线圈】现象!芳误以为自己会用一个洋名词『twins』就代表芳比工人高一个层次!

         

  根据目标功能的需要,在程序中适当的运用【双线圈】或【多线圈】现象编程并即时的把【双线圈】或【多线圈】的运算结果刷新到输出端口来实现目的也算是一种方法。

         

  但是,在一个程序里用很多很多的【多线圈】编程,真的显得很繁!所以我才用<循环>指令来使程序简洁!

 

  芳只会认为别人这样做没意义,但不会认为自己这样做没意义,反而把它看成是他高层次的“标志”!事实上,我是用芳这个不守(限用普通晶体管输出点、尽量与<PLSY>指令50%占空比的输出波型相似,这两点)规矩的做法并把它的<没意义>夸张,凸显出来而已!

         

  在一个扫描周期里用<循环>的方法多次运算<LDI    Y5      OUT   Y5 > ,每运算一次就即时的刷新一次 Y5 的输出锁存器。这一方法与芳的【twins】在功能上有区别吗?!我们如果适当的把循环次数设置得大一些,并把D8000的数值设置得能够满足循环次数所需时值。那么,我们就可以达到一个比芳的『3643.6 』速率数据高得多的数据:11247.6 (11.25 K)。

  这么高的ON / OFF“频率”,普通晶体管输出点的响应频率顶多能到 2.5K 难道用普通晶体管输出点能胜任这个 11.25KHz 吗?芳既然不守规矩已经用高速响应输出点Y0了,那芳为什么不使用<PLSY>指令呢?!楼主也没有在本题目中限制过<PLSY>指令的运用呀!要知道:用<PLSY>指令可以让Y0输出100 KHz 的脉冲列呢!!

         

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-21 22:48:21
57楼
那你改成y6是啦呀。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-22 07:35:52
58楼

 

  难道芳用Y6代替№50楼的这个程序里的Y0作脉冲输出位,可以做到芳所出示的这个3643.6的数据吗?!

                     

    指令的运算速度俞高,脉冲输出位的相邻两种状态之间的距离就俞小,当采用(晶体管输出型)普通输出位作脉冲输出元件时,普通输出晶体管就俞来不及正确响应!

          

  下面是FX1s《使用手册》№15页的内容:

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-22 07:47:25
59楼

 

  在FX1s上,满足楼主目标要求的功能、最短扫描周期的程序是下面这个:

                      

  为了测试上面例程的输出脉冲列的频率,采用另一个FX1s的高速计数器C246来对其测试:

 

  这个测试片断是我写第48楼帖子的时候准备的。

大话东游

  • 精华:2帖
  • 求助:6帖
  • 帖子:39帖 | 1815回
  • 年度积分:7
  • 历史总积分:8251
  • 注册:2008年12月19日
发表于:2011-02-09 19:01:15
60楼
回复内容:
对:wanggq 关于

 

  请把注意焦点放在红线圈内的内容:

 

内容的回复:西门子的224XP CN DC/DC/DC的确实是100KHZ!如下图红线中所示:




热门招聘
相关主题

官方公众号

智造工程师