试回答:造成这个“差别”的原理是什么? 点击:2332 | 回复:94



wanggq

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

 

  在某些系列的PLC上,SFC程序的“状态S片断”中<PLSY>指令在对应“状态S”之每一轮导通中都可以正常输出脉冲,而另一些系列的PLC上却会发生“隔轮输出”的现象?

 




wanggq

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

  脉冲输出指令的注意事项:


  请网友们认真参阅《FX1s/FX1n/FX2n/FX2nc编程手册》第229页

wanggq

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

 

  如果嫌《编程手册》的相关讲解不够明确细致,那就参阅Wanggq关于<PLSY>指令的详细解释,回复《关于plsy指令的一个问题》的一系列回贴。还可以参阅Wanggq的《回复 <winter938 >网友的问题》《回复网友关于PLSY指令的问题》等一系列的帖子。
                                                    

abysmal

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 2176回
  • 年度积分:6
  • 历史总积分:11194
  • 注册:2001年10月26日
发表于:2010-11-02 15:09:20
23楼
没用过三菱FX,对指令更谈不上熟悉。所以本回答纯属猜测,老王别见笑。

不过我想如果是普通S0触点而不是STL触点,应该就不存在隔轮输出的问题了。

使用STL触点,当S0 OFF时,STL S0后面的程序并不会复位,只是不执行而已。而FX1系列似乎同时只能执行一次PLSY。那么当PLC认为前一次PLSY没有完成的时候,它不会再去执行。

wanggq

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

引用<abysmal >的内容:

 

   “如果是普通S0触点而不是STL触点,应该就不存在隔轮输出的问题了。”


 

 

  Wanggq回复:


   是的! <abysmal >网友说得好!

 

  解决STL片断中的脉冲输出之“隔轮有效”问题的方法就是把<PLSY>指令放在STL片断之外,用“普通S触点”作<PLSY>指令的驱动条件,让<PLSY>指令在每一个扫描周期里都被扫描运算。 

 

   SFC程序的扫描过程是选择开通(ON)的“状态S内的片断” 来扫描运算的。譬如下面这个例程:

         在(24楼)这一例中, 把原来放在“STL  S21”之内的<PLSY>指令移放到STL程序片断之外,则程序的每一个扫描周期都要对<PLSY>指令进行扫描运算。但请注意:<PLSY>指令只对其“驱动条件”的上升沿作出反应(启动“脉冲输出”)。如果Y5被驱动(ON)且功能顺序转移 至“状态S21”,<PLSY>指令的驱动条件发生“上升沿”,在这个“上升沿”的作用下,PLC中“脉冲输出”专用的硬件电路被启动,开始对外输出脉冲。
                                         
  当功能顺序转移至“状态S22”时,“状态S21”自动关断(OFF)从而<PLSY>指令的“脉冲输出”停止;程序的每一个扫描周期都会对 STL程序片断之外的<PLSY>指令进行 “OFF”运算。只要在“输出脉冲”停止的前提下,有一次以上的“OFF”运算 ,当再次轮到“状态S21”导通时,<PLSY>指令又能正常的输出脉冲了!
 

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-11-02 16:31:45
25楼

逾期不结帖的,对有回复的帖,系统会自动结的。

wanggq

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

引用<abysmal >的内容:

 

  “使用STL触点,当S0 OFF时,STL S0后面的程序并不会复位,只是不执行而已。而FX1系列似乎同时只能执行一次PLSY。那么当PLC认为前一次PLSY没有完成的时候,它不会再去执行。”

 


 

 

  Wanggq的回复:

 

  当S0 OFF时,STL S0之内的片断中各条指令均不再被扫描运算了,且(除<PLSY>指令、SET指令的“目标操作元件”之外)所有的“目标位元件”都会复位!这一点与“跳转程序”略有不同。

 

  而FX1s系列PLC可以多次重复使用<PLSY>指令。(请参阅《编程手册》第229页的相关内容)


wanggq

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

 

  把№24楼的指令表程序转换梯形图:

 

wanggq

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

 

  “STL   S21 片断”之内的<PLSY>指令移动前后的梯形图对比:

决杀

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 367回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2010年6月26日
发表于:2010-11-02 21:38:15
29楼
楼主要是觉的自己很能话,就不需要到这里来显摆,人外有人,天外有天。

wanggq

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

 

  楼主是在这里宣传真理,批驳谬误!如果让谬误盛行,初学者们在这个《工控论坛》上就学不到真知识!

 

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

         

  “决杀”这个网名听着就有些瘆人!仿佛迎面扑来一股阴森可怖的煞气!来者不善哪!他发些什么帖子呢?是这样一些帖子:《 大家说怎么办 》 、 《大家帮忙想想办法》。其内容是“新来了一位直系领导其才干还不如他”,于是嫉妒。这位领导才问了他一下“什么样的电机端盖、用在哪里?”就惹恼了他这个<决杀>!于是<决杀>就上网来寻求有没有整治这位新领导的损招。

 

  领导不在现场,向来自现场一线的下属了解一下什么样的电机端盖、了解一下用在哪里的设备上的电机端盖坏了,这也无可厚非嘛!一点小事不如他意,就要恼怒的对上级领导实施决杀!真是惹不起啊!!

  

abysmal

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 2176回
  • 年度积分:6
  • 历史总积分:11194
  • 注册:2001年10月26日
发表于:2010-11-03 08:30:32
31楼
就算楼主是显摆,也没什么不可以啊。毕竟是显摆知识,比炫富要有品得多。

老王做事极其认真,虽有时有些钻牛角尖之嫌,但我还是很佩服的。

danny604

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 127回
  • 年度积分:10
  • 历史总积分:498
  • 注册:2007年11月20日
发表于:2010-11-03 08:50:08
32楼
这样的帖子很好,有深度!

wanggq

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

 

  其实,凭你<决杀>的智力又弄得懂什么是“显摆”嘛!告诉你:“显摆”的意思是“显示并夸耀”。譬如:<通讯网>(魏东)以为他的对手没有学过《逻辑代数》,就在对手面前显摆说:不用据说,我就上过《逻辑代数》这门课!给你个复杂的:(A+B+C)&(/A&/B&/C)=? 再给你个超超级的!!(A&B+C&/D+B&/C)&(/(A+B)&/+D)&(((((/A&/B+C)&(/D+A)+/C)+/(A+D))&A&B+C)&B)+A)=?  并得意忘形的炫耀:这就是“专业”和“业余”的区别!(这个超超级的混帐表达式让<通讯网>自己在《工控网》落下了超超级的“笑柄”!)

 

  <通讯网>误认为程序的输入条件没有用M、输出元件没有用M就是有“毛病”的程序,“专业”的程序其输入/输出的目标元件都必须要用M!为什么?我<通讯网>就是不告诉你!<iton>也以为:告诉你“无异于往你口袋里塞金钱”吃亏大了!只能在你面前炫一炫“专业名词”“估计你一辈子也不知道‘指针’是什么!”。看清楚:像<通讯网>及<iton>这般的在大学里头仅学了点“半桶水”的知识,只拿来在人前炫耀,并不把原理及方法拿来与人详细交流的行为才是“显摆”呢!

 

  老王有知识肯拿出来和广大网友共享和交流,在交流中,非常的细致入微!把PLC的道理给大家讲得水清理白的。这是在做科普宣传,是一种公益的行为!与“显摆”搭不上关系!!

 

  如果某科技公司为了让公司产品的用户正确的撑握公司产品的操作方法,给他们的产品附上一套详尽的《使用说明书》,难道你也认为他们是在用户面前“显摆”,而拒绝他们向你提供《说明书》吗?!

 

  我的帖子都是讲道理的好帖子。好学习、求上进的网友都喜欢看!下面就举出我的其它几个有科普意义的帖子下面的跟帖来证明这个事实:

 

mowenguang

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 95回
  • 年度积分:0
  • 历史总积分:434
  • 注册:2010年10月16日
发表于:2010-11-03 15:50:42
34楼
过瘾!第一次在工控的论坛上见到如此激烈的讨论!让我们这些初哥见识了。挺好的!真理是辩出来的!多一些这样讨论有啥不好

索泰克

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 388回
  • 年度积分:0
  • 历史总积分:1041
  • 注册:2007年7月09日
发表于:2010-11-03 16:26:45
35楼
可能有个稍微简单一点的方法,在驱动PLSY这个指令前面的SFC流转条件上加一下M8147的常闭点,这样也许可以的,正常我们在手动输出PLSY时,如果在触摸屏上做一个点动按钮去直接驱动脉冲时,有时会发死机的。

wanggq

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

引用<索泰克> 的内容:

  “可能有个稍微简单一点的方法,在驱动PLSY这个指令前面的SFC流转条件上加一下M8147的常闭点,这样也许可以的”。

 


 

 

  回复:

  你的这个方法在FX1s或FX1n系列PLC上是不行的。不信你就先试试吧!等我明天心情好一点再来回复你这其中的道理。

  

abysmal

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 2176回
  • 年度积分:6
  • 历史总积分:11194
  • 注册:2001年10月26日
发表于:2010-11-04 07:51:03
37楼
老王为何心情不好?     

wanggq

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

 

  <索泰克>网友试过你的方案了没嘛?

 

  其实,如果把FX1s中<PLSY>指令遇到的“隔轮有效”问题弄清楚了,知道了其原理,根本就用不着去试验,直接就能对“在前面的SFC流转条件上加M8147常闭点方案可不可行?”做出正确的判断!

 

  <索泰克>网友说的“在驱动PLSY这个指令前面的SFC流转条件上加一下M8147的常闭点”是指<PLSY>指令所在“状态S” 之前的“状态转移条件”吧?

 

wanggq

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

 

  技术交流应该是互动的。不过,两小时过去了也没等到<索泰克>网友的回答,那我就不再等了,直接在上面这个假设下展开逻辑推理:

 

  如果是在<PLSY>指令所在的“状态S22”之前的SFC流转条件上加一个M8147的闭接点(如楼上图片所示),那么,以转移条件之一的“M8147闭接点”为界把整个SFC程序分成两段,从“状态S0”到“状态S21”这3个片断可以轮换运行两个轮次(注意:任意一个“状态S片断”在每一个轮次内的运行中都可能有无数个扫描周期),而“状态S22”到“状态S24”的这3个片断只能轮换运行一个轮次!最后SFC程序就一直运行在“状态S21”这个片断上,无法转移到下一个“状态S22片断”上!这是因为在前一轮次的“状态S22片断”关断后,M8147就一直处于ON状态,因此它的闭接点就一直为OFF从而无法让SFC程序向下流转!

 

wanggq

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

 

  即便是有人给出这样一个题目:要求一定得把<PLSY>指令放在STL的片断内运用,并要求想办法排除FX1s或FX1n系列PLC上<PLSY>指令遇到的“隔轮有效”问题。那么,我们不应该“在驱动PLSY这个指令前面的SFC流转条件上加一M8147的常闭点”,而应该是在这个指令的后面用M8147的“下降沿”作向下一个“状态S23”转移的条件。

 

  我们可以在<PLSY>指令的驱动条件上设一个开关,譬如,楼上图片所示的SFC程序例子,我们把原来用作由“状态S22”流转到“状态S23”转移条件的“X3”改成“闭接点”来作<PLSY>指令的驱动条件,当开关X3动作时切断〈PLSY〉指令的驱动条件。但这时并不忙让“状态S22”向“状态S23”转移,待<PLSY>的“前瞻性追加份”输出完毕才让这个“转移”进行。FX1s或FX1n系列PLC上<PLSY>指令的输出完毕时刻的标志就是M8147(对于Y0)或M8148(对于Y1)出现“下降沿”。所以我们用这个“下降沿”来作这个“转移条件”(如下图所示):

                                                   

        
  关于FX1s或FX1n系列PLC上<PLSY>脉冲输出的“前瞻性追加份”的概念,请网友们参阅Wanggq回复《关于plsy指令的一个问题》的一系列回贴。还可以参阅Wanggq的《回复 <winter938 >网友的问题》《回复网友关于PLSY指令的问题》等一系列的帖子。 
                                                    

热门招聘
相关主题

官方公众号

智造工程师