您现在所在的是:

PLC论坛

回帖:1个,阅读:2243 [上一页] [1] [下一页]
20507
qlin 版主
文章数:6709
年度积分:50
历史总积分:20507
注册时间:2006/2/20
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2011论坛贡献奖
2010年论坛优秀版主
发表于:2011/9/1 19:07:03
#0楼

   之前在一个论坛的帖子里,见到有网友说台达PLC的DVP-ES2,其REFF指令无法输入,试之,果然。

   在用WPLSoft 2.12编辑程序时,键入REFF指令会出现“输入错误”提示,故安装WPLSoft 2.20试,结果同;参见附图1。
附件
   用ISPSoft 1.03编辑,能够输入REFF指令,但“编译”时出现错误,参见附图2。
附件
   若编程时设PLC为EH型,则指令可编入,并编译通过,见附图3;ISPSoft亦同。
附件
   EH再改ES2后,程序中得到了REFF指令,但编译仍未能通过;试将程序下载到ES2(韧体版本V1.0),提示编译并编译失败。后将PLC内的程序上传,能够看到REFF指令,但程序仍不能编译通过。
   以此看来,REFF仍传送到了ES2,但不能确定PLC是否支持该指令,而编程软件、在ES2时是不支持的。或者是PLC不支持该指令,或者是编程软件不支持该指令。

   由于只是顺便做做试验,故没有作进一步的了解或咨询;倘若要使用该功能,或可修改D1020的值来达到要求。
   本帖的目的,不是介绍指令是否可用,而是介绍对该指令的试验观察过程。
   结论:可能ES2不支持REFF指令,或者与韧体版本有关;但是,若与PLC的韧体版本相关,则不应当表现为编程软件不支持或编程时“输入错误”。
   (莫其麟,20110901)
20507
qlin 版主
文章数:6709
年度积分:50
历史总积分:20507
注册时间:2006/2/20
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2011论坛贡献奖
2010年论坛优秀版主
发表于:2011/10/7 19:44:17
#1楼
呵呵,再来凑一个回复

   对REF指令的试验观察——输入点试验


   下述试验的接线方法是:输入点X0、X4相并后,外接按钮SB1常开触点;当按下SB1时,外接触点导通,X0、X4同时有输入接通信号,参见附图1。
   (本帖特记录一个因“不求甚解”而出现的错误,是一个不应当出现的问题)
附件
1)用INC指令对输入信号计数
   试验程序参见附图2,拟实时刷新输入点X0~X3,故设定REF指令的操作数n是K4;并认为按钮触点存在抖动,以之作为“脉冲”输入信号。
   (1)按附图2程序试验。
   设想,执行I/O状态实时刷新指令后,X0~X3的动作信号能够及时更新到PLC,而X4则在程序执行过程中不能刷新。这样,D0、D4的计数值,就有可能不一致;并安排D20、D24,以期粗略检测X0在不同时刻的刷新。
   循环指令FOR是为了增加扫描周期时间而设置的。
附件
   运行程序,按动SB1,D0、D4的计数值相同,程序扫描周期约8.2ms。这一结果,与“D0、D4计数值不一致”的预期不符,有可能是扫描周期不够长的缘故。
   试将FOR指令循环次数由1000改为32000,但扫描周期超过了200ms,PLC停止运行;遂改为20000,见扫描周期为161ms。再次按动SB1,D0、D4、D20、D24计数仍然相同。
   如果这个试验方案是合理的,而得到这样的结果,则可以认为:即使X信号被实时读入,但一个扫描周期内,每个INC指令仅执行一次,故不能观察到X0、X4之间的差别。
   当然,这个初步的结论是否正确,还需经过进一步的判别;因为若试验模型或试验方法不正确,就会观察不到正确的结果。
   (2)结果的讨论。
   也可能存在这样的情况:如果在一个扫描周期内,X0接通、断开多次,但每次执行到某元件的INC指令时,X0均是接通的,则可能会认为X0一直接通。当然,这只是假设。
   按理,不同器件的INC指令,相互间不会受到影响;例如INCP D0、INCP D1,执行条件均为X0,执行INCP D0时、X0是接通的,执行INCP D1时、X0是断开的,则再次执行到INCP D0时、若X0接通,则相对于INCP D0来说,认为X0一直接通。
   另有一个想法,或许可以用M代替X进行试验,以方便形成在一个扫描周期内多次通断的效果;还有,计数器C,亦可做同样的试验。
   •思考:有可能X0正在抖动时,抖动的空隙被读入,而正好执行到INC指令。
   •安排扫描周期足够长,为输入点滤波器时间的多倍,是试图在一个扫描周期内,观察到输入信号多次通断的情况。
   总之,认为上述试验的结果是不可靠的;如果认为“思考”太乱,则可略过。

2)试用计数器C进行计数
   (1)按附图3进行试验。
   为了对比及判别上述试验是否正确,试用计数器C进行计数,参见附图3;循环次数设为10000。运行程序,见每按动一次SB1,C0、C4各加3,即C0、C4两者结果相同,扫描周期124.9ms。
附件
   考虑到按动按钮的时间较长,比如按压时间(触点闭合时间)可能大于10ms、触点抖动又小于10ms;由于存在输入点的滤波延迟时间(10ms),则小于10ms的闭合信号将观察不到,故有可能看不到X0、X4的区别。
   试将按钮触点改为用导线相碰擦,见到的多数仍然是C0、C4计数值相同——没有想到的是,还偶见有C4比C0大3的情况。再加大扫描周期,改10000为12000,显示扫描周期149.8ms;按动SB1,C0、C4的计数值相同。
   通过以上试验,知道REF指令能够正常编程使用,说明指令可用,但没有观察到预期的结果;至此,指令试验可以暂时告一段落,也可继续观察。
   (2)结果的讨论。
   没有得到预期的结果,是不是输入点取得有问题呢、输入信号有无问题?或者,可以改X4为X10试验;也可以取输出Y作为信号,使其接通时间大于滤波器时间,如取15ms。
   认认真真的准备,却并没有得到预期的效果,也不能判定所用方法是否适当;比如,REF是只对下一条指令有效,还是执行一次后、对整个周期均有效,等等。
   这些,可能要等到资料、知识、或经验丰富之后,才能获得准确的认识;当然,由于个体的情况不一样,有的人可能不需要这样的过程。

3)重新试验
   (1)阅读编程手册。
   鉴于时间上允许,可以参照编程手册上的示例,再行试验;再看编程手册,见到有这样的说明:D(目标操作数)指定X0且操作数n≤8,则只有X0~X7会被更新;如果n>8,则主机上所有输入点都会被更新;而若目标操作数D指定X10,则n不管是多少,除X0~X7之外,其余输入点均会被更新。
   呵呵,果真是取X4的错误!
   这是该PLC的特性决定的;该特性,可能是因为受条件制约,经权衡、综合后确定的;有的情况下,掌握了其特性就可能能够很好地应用,而不必专注于某特定的特性。因此,可以修改程序,将附图2、附图3中的X4改为X10后再作试验。
   输入点的接线,也由X4改至X10。
   (2)将附图2的X4改为X10再试验。
   将附图2中的X4改为X10;运行程序,按动按钮SB1,见D0、D4的结果相同
   为获得更“抖动”的信号,用导线碰触来代替按钮触点——X0、X10并接后的引出线,与24G引出线相滑擦(注意安全),果然见到了D0、D4结果的区别;比如,(D0)=112、(D4)=97,而D0与 D20结果相同、D4 与D24的结果相同。
   重复试验,D0、D4得到的结果分别有37、35,30、29,等等;以上循环次数为1000。
   改循环次数为20000,也有类似结果,比如(D0)=32、(D4)=26;D0与 D20结果相同,D4与D24结果相同。再用按钮试验,D0、D4结果大多数情况下相同,偶有不同。
   试验中,偶尔观察到D4比D0大1的情况,例如(D0)=45、(D4)=46;仔细留意,见过一次D4计数而D0没有计数。可见,该现象不是孤立的,是否与信号有关,或者是接线不良等,未进一步观察。
   或者是因为信号间隔时间过短,超过了其使用频率而出错;或者是,刷新,前一次X0接通,后一次仍然接通,以为一直接通。由于是非常规的应用,不作进一步的思考与试验。
   (3)附图3的X4改为X10试验
   将附图3的X4改为X10,运行程序,按动按钮,C0、C4结果相同,一次加3;改用导线滑擦,可见(C0)>(C4),例如(C0)=30、(C4)=27等,亦偶见有(C4)>(C0)的现象。
   在用按钮试验时,可能是由于接通时间大于10ms,输入接通信号才会读入到PLC,而X0又在程序的前面,而难以反映出来;那导线滑擦为什么又有区别呢?有可能是接通断开信号之间的间隔变化了。
   这样的试验结果,大致能够说明REF指令的情况;也能够说明,输入存在滤波器延时。但前一个试验D0与D20的数值相同的现象,还有待解释。
   该试验的结果,与所用器件(如按钮)有关;重复试验时,会有不同的结果,但趋势应该是相同的。也可以改X0、X10为上升沿信号,INC指令采用连续执行型形式,查看结果如何;或者,改用不同的计数器计数。
   之前的试验,其错误的出现,是由于错误地利用了以往的经验、想当然而没有认真阅读“编程手册”造成的;当然,绝大多数人,是不会出现如此低级的错误的。也当然,会有朋友一看帖子的开头,就会发现错误;那么,请海涵!
   之所以拿出来介绍,是因为印象中该现象似曾相识;只是当时的问题,不是PLC,也没有说明资料,而是通过试验总结之后得出的,故此权当一个思维经验供参考。帖子写得有些拖沓,也请见谅。
   (莫其麟,于20111007)
欢迎您支持 “中华工控网” 论坛  http://bbs.gkong.com/    “电工技术”版块
————
本人技术久已荒置,不便参与技术讨论、更无法答疑,只能一旁看看,偶尔可能提示一下队形、以示存在感……
各位见谅,谢了!   20170501启

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003