一个按钮两种功能 点击:34412 | 回复:603



saitc701

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 60回
  • 年度积分:0
  • 历史总积分:154
  • 注册:2003年9月22日
发表于:2005-05-12 15:46:00
楼主
用一个按钮X0控制Y0的电路,第一次按下按钮Y0变为ON,第二此按下按钮Y0变为OFF 请问怎么实现啊,谢谢!



河北赵

  • 精华:0帖
  • 求助:0帖
  • 帖子:55帖 | 590回
  • 年度积分:3
  • 历史总积分:853
  • 注册:2004年9月22日
发表于:2006-06-05 19:55:00
121楼

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-06-05 23:12:00
122楼
  不知“河北赵”网友浏览帖子时有没有用心?如果你前面没有留意,那我就把“laolan”网友贴出的程序和本主题下的第4个回帖中的程序放到一起。请您仔细对比一番!

  下面是“laolan”的程序          下面是第4楼贴出的程序

     LD   X0                         LD   X0  
  ALTP M0                         ALTP Y0
  LD   M0                         END
  OUT  Y0
  END

   我想,任何人都能比较出一个正确的结论:右边的一个程序要简便得多!

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-06-05 23:59:00
123楼
  我很想看到网友们能贴出有新意、有创意的程序来!请不要多次的重复别人已在本主题下贴出过的东西。

   这个主题下有很多人在重复前面已出现过的程序,“重复”起什么作用呢?难道是要表白你也能写出相同的东西?上网是为了学习和交流,相互促进。只有把多多少少总有点不同的东西拿出来才有交流的意义!

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-06-06 00:50:00
124楼
 这个主题下的第一页的内容还可以,象是交流的气氛!
 
“hdss”网友写了两个带“跳转”命令的程序(参见第1页,第7个回贴),两个程序都能实现主题的要求。两个程序中的[CJ P0]和“指针”P0都可以省去,我认为“hdss”网友在这两个程序中用它们可能是为了节省扫描时间,因为“跳转条件”成立时,程序可不扫描跳转部分的程序,从而缩短程序的“周期”。
  接着,第8个回贴中楼主“saitc701”网友给出了一个相对简单的也是用“跳转”命令的程序。这个“跳转”就用得妙!它的运用不单为了缩短程序的“周期”,更主要的是用它来避免“输出位”Y0发生振荡!让程序能正确的实现“一键启停”功能。这与第7 个回贴的程序相比就是“新意”!
  当然,“saitc701”网友的程序在“END”命令之前还缺少个“指针”P0。这可能是楼主的笔误。

laolan

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2006年5月17日
发表于:2006-06-06 00:54:00
125楼
 to:
wangg先生:我个人认为右边的程序如果在高强电火化和电场所使用可能会出现误操作。原因是ALTP本身就是一个触发器,在这样的环境下使用会出现可能高次周波振铃现象,加上X00引线的吸收的环境电场。出现的误操作现会更严重。如果加上一个辅助继电器利用其扫描一个周期的时间和共模作用。相信效果会好点。
    我个人认为,在此间讨论的问题是涉及一些初学者的学习和吸收,如果一味追求简单的指令会可能误导别人。
     个人认为:是不是我们应该从实际应用出发,将我们的一些经验给予引导?
        不到处请 wangg先生原谅    谢谢。
             laolan 

wanggq

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

  “saitc701楼主”在第8楼贴出的程序也还有简化的余地,下面我把楼主的程序和我将其简化了的程序放到一块儿进行比较 。



“saitc701楼主”的程序        简化后的程序          
     ldp x0                         LDP   X0
     out m0                          INV
        ldi m0                            CJ      P0
     cj  p0                           LDI    Y0  
  ldi y0                            OUT   Y0
  out y0                          P0      
  p0                                END

        end

 


  

河北赵

  • 精华:0帖
  • 求助:0帖
  • 帖子:55帖 | 590回
  • 年度积分:3
  • 历史总积分:853
  • 注册:2004年9月22日
发表于:2006-06-06 06:28:00
127楼
赞成laolan的观点,一是应该加强理论联系实际,二是在这里讨论是为了提供一种编程思路,为了对初学者提供帮助。每个人的水平不一样,但是有助人为乐之心意,就是难能可贵。

我为我歌

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 68回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2006年5月21日
发表于:2006-06-06 09:31:00
128楼
程序真好,就像作文一样,各有妙处

rain1

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 102回
  • 年度积分:0
  • 历史总积分:136
  • 注册:2005年5月20日
发表于:2006-06-06 13:52:00
129楼
前段时间看过用一个按钮控制起-反转-停的电气控制图,完全继电器控制,可惜现在忘了。

利刃

  • 精华:2帖
  • 求助:0帖
  • 帖子:56帖 | 426回
  • 年度积分:0
  • 历史总积分:617
  • 注册:2005年12月26日
发表于:2006-06-06 14:25:00
130楼
hao

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-06-07 00:03:00
131楼
哎呀,“laolan”网友怎么会分不清硬件实体的“器件”与软件虚拟的“器件”的差别噢!
  PLC中用编程语言定义的“元件”称之为“软元件”。同理,用编程语言定义的“器件”也叫“软器件”!什么“共模”与“差模”的概念都用到这里来了?那都是实体电路才有的“属性”,对于用编程语言定义的电路根本不存在这一类的“属性”!所谓的“ALTP触发器”只是一个虚拟的事物。“ALTP”命令在PLC中的作用是:“在‘执行条件’为‘ON’的期间内只有‘执行条件’的前沿才起作用使本命令的操作对象‘位元件’改变一次‘状态’”。在PLC中,“命令”的执行的可靠与否完全是由PLC实体电路来决定的,即由PLC的‘可靠性’来决定的。并不是如你所说由用户程序来决定。

  追求程序的简洁是具有现实意义的!大型的控制程序是由许许多多的细小环节组合而成的,如果能把各个环节的功能写得很简洁,那么由它们所构成的程序整体就能大大缩小其在PLC内存中占用的空间,大大缩短程序的扫描周期,使程序能有更快的响应速度。从另一角度考虑,简洁的程序可以在用相同的内存空间的条件下能做出更丰富的功能来。

  说到“误导别人”,我看是你“laolan”本人在误导初学者。把一些概念“张冠李戴”。

laolan

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2006年5月17日
发表于:2006-06-07 01:33:00
132楼
to:wanggq 你说的对,plc的软元件是由plc的可靠性来决定。但不要忘记所谓的软元件是由一条条“十六或二进制或其他语言”的指令所构成他的属性,并不是只有硬件才有属性。cpu内的软元件基本是由硬件所基有的电容特性来存取“软元件”。那么在plc内的coms,或双极元器件内是否存在共模?假如cpu不做共模考虑,那么plc就没有可靠性存在。电场和其他干扰源都是us级的。语句所构成的软元件也是由cpu的元件所组合而成。wanggq先生,如果你做过"cpld"糸统编程。。。。。。 如果有得罪的地方,而令你误解,向你道歉。因我是广东人,在语言表达方面很难说明白,难免带一些地方语气。顺便向各位“致歉”,得罪的地方请原谅。 谢谢 laolan

星星火

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 17回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2006年3月17日
发表于:2006-06-07 09:16:00
133楼
这点简单,只要是学这专业的,都会。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-06-07 13:42:00
134楼
  “laolan”网友说他个人认为“hdss”网友给出的那个简洁的程序因没有象他那样使用“辅助继电器”从而会有可能出现“误动作”,并且“加上X00引线吸收的环境电场。出现的误操作现会更严重”!这完全是在误导和忽悠那些基础较差的初学者网友。

  我们大多数人都认可这样一句话:“实践是检验真理的唯一标准”!我们可以这样来验证一下“laolan”的上述那番“解释”的真伪:
  把“laolan”的程序和“hdss”的程序(除“END”命令之外)复制多份,并将两者随意交叉地放在同一个程序里;前者的各份“拷贝”中的“辅助继电器”修改成不同编号以避免各份“拷贝”的命令执行结果相互影响;前后两者的各份“拷贝”的“输入信号”采用同一个“X00”以保证两者在公平的、相同的条件下进行比较;两者的各份“拷贝”中的操作对象“输出位”修改成不同的“输出继电器编号”以避免“双线圈”错误(或称“多线圈”错误),同时也是为了便于我们对各份“拷贝”在程序运行中的“命令执行”的“可靠性”的考察以做出区别对比。然后,把PLC放在强干扰的恶劣环境中去试验。

  两种“程序片断”在同一个PLC程序中运行;两者的“输入信号”是由同一个操作开关提供且由同一“操作”产生。这完全做到了公平比较!在此条件下,经过无数次“操作”并验证每一次“操作”的结果。比较两者的输出状态,你就会发现两者的“可靠性”是完全相同的!并不是象“laolan”网友所说“用了辅助继电器,效果会好点”。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-06-07 14:12:00
135楼
  下面我谨向网友们提供一个用于比较“laolan”和 “hdss”两位网友所给出的程序这两者的“可靠性”的《试验程序》请网友们自己去验证!
     LD  X00
     ALTP M0
     LD  M0
     OUT  Y00
          NOP            ( 这里用“空操作NOP”来隔开是为
     LD  X00    了方便网友们阅读时容易区分两者
     ALTP  Y01       的界线。在实际把程序写入PLC内
     NOP         存中时,可不必写入“NOP”)
      LD  X00
     ALTP M1
     LD  M1
     OUT  Y02
          NOP            
     LD  X00    
     ALTP  Y03               
          NOP
      LD  X00
     ALTP M2
     LD  M2
     OUT  Y04
          NOP            
     LD  X00    
     ALTP  Y05             
          NOP
      LD  X00
     ALTP M3
     LD  M3
     OUT  Y06
          NOP            
     LD  X00    
     ALTP  Y07              
          NOP
      LD  X00
     ALTP M4
     LD  M4
     OUT  Y10
          NOP            
     LD  X00    
     ALTP  Y11              
      
          END

胡杨树

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 19回
  • 年度积分:0
  • 历史总积分:75
  • 注册:2006年5月11日
发表于:2006-06-07 15:53:00
136楼
我目前的思路只能以使用中间继电器的思路来解决这种问题.以下思路实用与中间继电器,对于PLC来讲太过烦琐.我试了LYJ8053的程序是比较快捷的
ld x0
mps
ldi y0
or m1
anb 
ani m2
out m1
mpp
ld y0
or m2
anb
ani m1
out m2
ld m1
or y0
ani m2
out y0

hqm

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:0
  • 历史总积分:73
  • 注册:2004年10月28日
发表于:2006-06-08 10:46:00
137楼
用交替指令。通用指令和反指令都 可以

mast

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 132回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2006年2月21日
发表于:2006-06-08 17:09:00
138楼
这个三菱有现成的指令

mast

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 132回
  • 年度积分:0
  • 历史总积分:234
  • 注册:2006年2月21日
发表于:2006-06-08 17:12:00
139楼
这个三菱有现成的指令

山东地瓜

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 676回
  • 年度积分:0
  • 历史总积分:1641
  • 注册:2003年5月10日
发表于:2006-06-08 19:48:00
140楼
不错

热门招聘
相关主题

官方公众号

智造工程师