对四例网友求助贴的答复 点击:289 | 回复:1



wyb2866255

    
发表于:2010-10-29 12:54:17
楼主


        一、网友求助:“大家好,小弟有个问题想请教一下,我现在用的是FX2N的主机,还有个编码器,分辨率是5000脉冲转一圈。现在我知道滚轮的半径是50毫米。这样的话就是一个脉冲合到0,00314毫米。现在我是用的变频器高速和低速来控制的。提前有一段距离换到低速。在停机切断。我要是要1米,提前50CM换低速,到1米的时候停止,切断,当我设1米的时候是要编码器转多少呀。谢谢呀。中间要乘以小数该怎么办呀,有什么好的方法。谢谢”
       回复:““分辨率是5000脉冲转一圈。现在我知道滚轮的半径是50毫米。这样的话就是一个脉冲合到0,00314毫米。”
    1、你算错了,应该为:50*2*3.1415 / 5000=0.06283,即一个脉冲合到0.06283毫米,可知1米长编码器输出脉冲数为;1000 / 0.06283=15916,0.950米长的脉冲数=950 / 0.06283=15120
   2、如果你用PLC编程,编码器输出的脉冲频率应低于PLC高速计数器的最高计数频率(一般为10-20KHz)如高于这个频率,应加一个分频器或计数器将此脉冲降低到低于10KHZ以下,再接入高速计数器的输入端。高速计数器的预置数为0,启动计数器时,使计数器从0做加计数,再选用二个比较器,一个比较值为15120,另一个为15916,与高速计数器的输出值比较,当计数值=>15120时,第一个比较器输出信号,控制变频器变低速运行,当计数值=>15916时,第二个比较器输出信号使电机停且切割。如果你用了外加分频器或计数器,上面二个比较器的比较值应除以分频值。

       二、网友求助:“电机连着主轴,主轴带个增量式旋转编码器,已知编码器为1600线,主轴直径为150mm, 主轴为变速转动。 求1、主轴的当前时刻转速是多少?2、编码器一个脉冲所对应的长度是多少?3、当长度为2000mm时,编码器输出多少个脉冲?
如果所列的已知条件不充分,请假设已知条件。
如何计算?请列出公式!”
      回复:“你说的“编码器为1600线”是不是指编码器旋转一周输出的脉冲数,如是,可以这样计算:

                主轴直径为150mm,其周长=150*3.14=471mm,那么,
              1、编码器一个脉冲所对应的长度=471 / 1600=0.294mm。
              2、主轴的当前时刻转速V=从当前时刻起连续计1秒时的脉冲数N,再乘以0.294mm。即:V=0.294 * N (mm / s)。
             3、当长度为2000mm时,编码器输出的脉冲个数为:精确计算=2000*1600 / 471 =6794,一般计算=2000 / 0.294=6803 ”
       三、网友求助:“本人在做项目过程中,用S7-200实现对水泵的控制。其中有一个问题:当变频器出现故障,需重新启动水泵,而此时要求启动运行时间最短的那个,则需要对每台水泵的运行时间进行监控。而PLC定时器即使和计数器结合起来实现时间定时,仍难以满足几周或几个月的定时时间。我该如何将此功能在plc中实现??盼回复,不胜感激!!”
       答复:“ S7-200 有时钟指令,如读指令“READ_RTC”用它将此时刻的日期、时间存入数据区(如VB10、VB11、VB12、VB13…..)中,其VB10为年的末二位数,VB11为月份数,VB12为日数,VB13为时数,VB14为分数….,再用比较指令将取得日期、时间值与你规定的日期时间值比较,当二者相同时,即延时时间到,去触发一个内部位开关使其置1(如M2.0=1)即可。
现举例说明:现在时间是:2010年10月23日8时,你可将10、10、23、08等数以16进制数的形式,分别置入VB20、VB21、VB22、VB23等数据区里,按下定时启动按钮“I 1.0”,使M2.1=1,PLC读取时钟开始,即每隔1秒读取一次,存入VB10---VB13中,在编程上再用4个比较指令,分别进行比较,比较值是:VB10对VB21比较,VB11对VB21比较,VB12对VB22比较,VB13对VB23比较,当4个比较器比较值都相等时,即时间到,可使M2.0=1,见下图:



         该程序的定时精度为1小时,如觉得不够,可再增加分比较,这样定时精度可为1分钟。还有稍微复杂一点的编程,即只预置延时时间(几周、几个月、甚至几年),预置好后,按启动按钮,PLC立刻取出此时刻的日期、时间,PLC根据预置的时间进行计算,求的到期的日期与时间,再分别进行年、月、日、时、分的比较,这样编程的定时精度可小于等于1分。
比较时间值的设置,可用上位机或触摸屏设置。如只有PLC,还要想外置数也可实现,怎样编程这里就不讲了,可参考我在网上写的“用外设按钮可实现对多个参数设定的PLC编程的实例”一文,那里有梯形图及详细说明。”
       **有一网友提出异议:“由于S7-200的时钟是软件时钟,默然配置是没有电池,是靠电容保持数据。这就造成停电几天后系统时间回归至出厂状态。为可靠,应尽量不要使用系统时间作为控制用变量。使用其它合适方式更恰当。”
       再解答:“感谢2楼的提醒,编程时未考虑多日断电的情况,此程序可以这样修改:见下图:


        在未按启动延时前,把当前的日期时间置入VB20--VB27中,按I1.2写入按钮,将VB20-VB27写入PLC,再将到期的日期时间置入VB20--VB27中,注意i不要再按写入按钮I1.2。应按启动按钮I1.0,使M2.1=1,读取当前时间与设定的到期日期时间比较。。。这样就可解决长期断电使时钟归原位的问题。
除此方案外,还有第二方案:用SM0.5秒脉冲对双字存储器VD100进行加1运算,VD100的值时时与设定的到期时间值比较,当二者相等时,使M2.0=1。见下图:
        图右侧的I0.3、I0,4、I0.0按钮是用来置数用的,如要延时2日,其折合172800秒,转为16进制数=2A300。将这2A300置入VD104中,置好数后,按 I0.1 按钮,延时计数开始。



   &



楼主最近还看过

SSI ļʱ