回复网友关于PLSY指令的问题 点击:6290 | 回复:44



wanggq

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-07 16:57:40
楼主

 

 引用<winter938 >的内容:


 “在PLSY指令的驱动条件OFF时正在输出的脉冲串又是以什么状态结束的?”

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

 

     <Wanggq>回复:

 

  在不同系列的PLC上,这个问题的答案是不同的。

 

  在FX2n上,当“PLSY指令”的驱动条件OFF时,正在输出的脉冲串嘎然而止!并不保证其正在输出中的一个脉冲达到标准脉宽。

 

  在FX1s或FX1n上,脉冲的输出,是一份一份的进行的。当“PLSY指令”的驱动条件出现OFF(准确的说,是驱动条件的“下降沿”)时,正在输出中的“方波”(这里我用“方波”的概念来替代“脉冲串”更加准确一些)必须保证正在执行的一份“方波”后面再追加一份“前瞻预备份”完整执行后才停止输出。倘若在“PLSY指令”执行前,对应的“脉冲输出禁止”位已经置为ON,则不须追加“前瞻预备份”,但也必须待正在执行中的一份“方波”完整执行后才能停止输出。

 

  相关链接: 《关于plsy指令的一个问题》

 

 




wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-17 18:46:46
21楼

 

  关于对<王林海>网友所提“问题”的回复,请参阅《回复 <王林海 >网友关于PLSY指令的问题 》。

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-17 19:27:32
22楼

 

  由于抽时间去整理<王林海>网友贴出来显示不清楚的图片信息,耽搁了回复<winter938 >在第15楼提的问题。

 

 

  引用<winter938 >网友的内容:

 

  “ 如果频率高得以上规律输出的脉冲在不到一个扫描周期就输出完成,但此时边沿检测尚未完成PLC会怎样处理呢?

 

 是就这样处理并立即置位M8147/8还是输出PLSY指令的脉冲数并立即置位M8147/8?

 

         比如    PLSY     K32767    K300  Y001      

 

   在扫描周期10毫秒的程序中边沿驱动该指令时输出多少个脉冲?

 

( 300/32=9.....12   首份   32 + 12 = 44   基本份 32 * 7 = 224       前瞻预备份   32 


     按以上规律可能输出44或76个脉冲,我的这个理解对吗?是否PLC会输出300个脉冲并立即置位M8148 ? ) ”

 

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

 

  <Wanggq>回复:

 

       例程片断:   PLSY   K32767   K300  Y001

  “驱动条件”的“上升沿”在程序运行中的有效时间是1个扫描周期,若考虑到程序较长,譬如扫描周期为10毫秒,则这个驱动条件的“上升沿脉冲”的“后沿”将在从触发“脉冲输出硬件电路”的时刻算起经10毫秒时值之后才会出现。这相当于“驱动条件”持续驱动该“PLSY指令”10个毫秒的时间。在这段时间里,“脉冲输出硬件电路”早已将S2所指定的周波总量全部输出!

 

   所以,正确答案是:在扫描周期为10毫秒的程序中,边沿驱动该指令时,每触发一次就输出300个脉冲。


芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2010-07-17 19:36:37
23楼

我想问PLC在什么时候装载前瞻的脉冲。比如说第n次的前瞻。

wanggq

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

                                    

wanggq

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

                                     

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-18 21:29:34
26楼

                                

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-19 12:35:40
27楼

                                

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-19 13:57:28
28楼
引用<芳季> 的内容:

 

  “  我想问PLC在什么时候装载前瞻的脉冲。比如说第 n 次的前瞻。”

 


 


 


  <Wanggq> 回复:

 

  在M8145 / 6 为OFF的前提下,若“脉冲输出硬件电路”的工作进行到第“n-1”份周波的时刻“驱动条件的下降沿”还没有被程序扫描到,则:立即追加第 n 份周波的预备份额到 M8147 / 8 之ON 时值中(当然是预先于第 n 份周波的执行周期),当“脉冲输出硬件电路”的工作进行到第 n 份周波的时刻又立即追加第“n+1”份周波的预备份(如果S2所指定的周波总量中有第“n+1”份的话)。

 

  关于这个问题,好像在《关于plsy指令的问题》主题下第26个回帖中我做过类似的回复:

 

“ 如果“执行条件”(X02)在Y01输出第2个脉冲(包括脉冲前的空隔)时才由ON转为OFF,则M8148之ON的持续时间将“前瞻性”的延长到3个脉冲周期,Y01将输出3个脉冲;以此类推,当“执行条件”(X02)在Y01输出第4个脉冲(包括脉冲前的空隔)时才由ON转为OFF,则M8148之ON的持续时间将延长到5个脉冲周期,Y01将输出5个脉冲。 ”    

    (当时是针对“ LDP     X02  PLSY      K1      K5      Y001 ”这个片断来讲的)

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-19 14:51:06
29楼

 

  关于“时刻”的“归属”很容易产生歧义。譬如:今天凌晨,时钟的时针、分针、秒针正好走到“12点”标准位置,这一时刻,既是今天(19  号)的“零点”,又是昨日(18 号)的“24点”。所以,这一“时刻”既可以归属于7月19日,又可以归属于7月18日!

 

  为了规避“歧义”,同时也是考虑到规避PLC的时钟误差,我们在实验中计算时可以考虑在“时刻”的概念上加一个很小的时间长度来区分“时刻”的归属。

 

  譬如:第 n 份周波与第 n+1 份周波的分界点(时刻),把这一时刻前0.1mS的时刻粗略的当作第 n 份周波未,而归属于第 n 份周波时值内;把 第 n 份周波与第 n+1 份周波的分界点(时刻)后0.1mS的时刻粗略的当作第n+1份周波始,而归属于第n+1份周波时值内。

 

wanggq

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

 

  “驱动条件”的“前沿”出现时“禁止位”M8145 / 6 为 OFF 的前提下,“PLSY指令”被触发一次,该指令控制的“脉冲输出硬件电路”就会输出两份周波:“首份Q+m”+“预备份Q”。其中“预备份”是在“脉冲输出硬件电路”刚启动执行“首份”的时刻就前瞻性的做好了下一份的预备。

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-19 15:48:48
31楼

 

  在“脉冲输出硬件电路”被启动之后,即便是“禁止位”M8145 / 6 又翻转为ON,也不可能让已经赋给

 

M8147 / 8  ON时值中“预备份”的份额撤销!照样还是要完整的输出“Q+m+Q”个周波!

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-19 16:12:02
32楼

 

  如果“禁止位”M8145 / 6 先于“驱动条件”之前就已经置位为ON 。但这并不能禁止“脉冲输出硬件电路”被触发,它只能禁止除“首份Q+m”之外的所有后续脉冲。所以,在这种情形下,“PLSY 指令”赋给M8147 / 8 的时值中就没有“预备份”的份额,仅有一个“首份时值”。

 

wanggq

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

 

  在M8145 / 6 为OFF的前提下,若“脉冲输出硬件电路”的工作进行到第“n-1”份周波的时刻“驱动条件的下降沿”还没有被程序扫描到,则:立即追加第 n 份周波的预备份额到 M8147 / 8 之ON 时值中(当然是预先于第 n 份周波的执行周期),如果“驱动条件的下降沿”还未到来,当“脉冲输出硬件电路”的工作进行到第 n 份周波的时刻又立即追加第“n+1”份周波的预备份(如果S2所指定的周波总量中有第“n+1”份的话)。

 

  染为红色的数字序号所在“时刻”为载入对应“追加份额”的时刻。黑色数字序号为对应“追加份额”的编号。

 

  大家注意到没有?在这个例子所指定的时间里,程序片断中“PLSY 指令”只做了1次(驱动条件上升沿出现时的)运算!其运算结果为:启动“脉冲输出硬件电路”;赋给M8148两份周波(“首份”+“预备份”)所需时值;记下本指令输出周波总量所对应的“周波总份数 n ”。而“脉冲输出硬件电路”在运行过程中对M8148所做的 7 次“追加”“基本单位份周波”所需时值,都是“硬件电路”独立于扫描周期之外自行完成的,并没有接受“PLSY 指令”的信息。在下一个扫描周期(驱动条件下降沿的到来时)“PLSY指令”再做“OFF”运算时,“硬件电路”早已于上一周期内完整的把 9 份周波(300个周波)都输出去了!因为指定周波总量输出完成时“PLSY指令”没有再运算,所以“完成标志”M8029没有动作(没有ON),到第2个周期“PLSY指令”再运算时,驱动条件又OFF了,仍然也不能让M8029发生动作。

 

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-07-19 17:41:37
34楼
多谢王先生的说明,我大致明白了,你的图片做得很好,辛苦了!

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2010-07-19 18:25:07
35楼
开始 有点明白了。谢谢。

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-07-27 15:57:20
36楼
编程手册没有的好东西,再顶一顶,建议版主加精!

莫子辰

  • 精华:1帖
  • 求助:11帖
  • 帖子:20帖 | 939回
  • 年度积分:0
  • 历史总积分:5186
  • 注册:2010年5月12日
发表于:2010-07-28 12:37:59
37楼
现在感觉听起来越来越复杂了??

wanggq

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

 

  感谢<winter938>网友以公平的目光看待人和事!

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2010-07-29 15:41:13
39楼

 

  引用<莫子辰> 的内容:

 

     “现在感觉听起来越来越复杂了?? ”



 

  回复:

 

  如果有看不明白本人对FX1s系列PLC中“脉冲输出指令”相关问题的解答的网友,就请从提出这个问题的帖子看起。

 

  请点击《关于plsy指令的一个问题》从头开始了解。

 

  一样的解释,有的人一点就“通”!有的人要“通”却难上难!

 

  下面引用《关于plsy指令的一个问题》一帖下第44楼的一个回帖:

 

  “解释很清晰,学习中!”

 

101and001

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2010年8月06日
发表于:2010-08-30 08:55:54
40楼
刚接触plc,新手学习中,谢谢!

热门招聘
相关主题

官方公众号

智造工程师