首页 上一页 1 2 下一页 尾页

真正PLC高手测试题----看着简单,做起来太难 点击:2424 | 回复:35



bsayy

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:21帖 | 46回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2006年1月30日
发表于:2007-03-17 23:39:00
楼主
用西门子S7-200PLC编写一个程序.要求:一个按钮输入,一个输出.按一下按钮,输出接通,再按一下按钮,输出停止.可以用任何指令,尽量做到最短.看看可以编出几种来.最后做到不用中间继电器\计数器\移位等.看着简单吧,但可以让你掉不少头发,努力吧!让你的大脑尽情跳跃吧!



皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-03-18 10:00:00
1楼
还在出这样的题目?
给你一个最短的程序,可是首创啊
LD I0.0
EU
CALL SBR0

SBR0
LD Q0.0
NOT
= Q0.0

DIANSHAN

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 337回
  • 年度积分:0
  • 历史总积分:636
  • 注册:2007年3月11日
发表于:2007-03-18 13:14:00
2楼
楼主,师傅,对与创造精神是要受到尊重的。我是这样作的:
MAN,SBR0程序块,I1.1,Q1.1两个I/O点。
(MAN)
LD I1.1
EU
CALL SBR0
(SBR0)
LD I1.1
A Q1.1
JMP 1
LDN Q1.1
=Q1.1
JMP 2
LBL 1
LDN Q1.1
A Q1.1
=Q1.1
LBL 2
NOP






中央战车

  • 精华:2帖
  • 求助:0帖
  • 帖子:85帖 | 1662回
  • 年度积分:0
  • 历史总积分:3482
  • 注册:2005年5月17日
发表于:2007-03-18 13:24:00
3楼
高手,有机会试试了!

施耐德Twido

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 89回
  • 年度积分:0
  • 历史总积分:154
  • 注册:2007年2月13日
发表于:2007-03-18 13:35:00
4楼
太简单了!使用施耐德Zelio Logic,一条语句就可以实现,因为Zelio Logic有专门的脉冲线圈!easy吧!

共创美好

  • 精华:1帖
  • 求助:0帖
  • 帖子:70帖 | 1644回
  • 年度积分:0
  • 历史总积分:1957
  • 注册:2006年6月23日
发表于:2007-03-18 21:59:00
5楼
西门子这个没搞过,三菱一条就狗了,
看看哪个高手出场.

汪林

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 22回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2006年8月27日
发表于:2007-03-18 23:02:00
6楼
三菱用交替指令就可以啊

皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-03-18 23:19:00
7楼
呵呵,前提是s7-200,这个可是siemens的dd啊

bsayy

  • 精华:0帖
  • 求助:0帖
  • 帖子:21帖 | 46回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2006年1月30日
发表于:2007-03-18 23:33:00
8楼
 lmhx说的对,前提是S7-200。我也自动有很多PLC有现成的指令,包括简单的控制器,像LOGO,本身也有这样的指令。高手们请看清题目?还有最后的要求:就是最后做到不用中间继电器\计数器\移位等。谁用一般的继电器和按钮做过这样的练习?可以尝试一下,很有意思的。

询问

  • 精华:0帖
  • 求助:1帖
  • 帖子:121帖 | 274回
  • 年度积分:0
  • 历史总积分:832
  • 注册:2004年10月13日
发表于:2007-03-21 15:02:00
9楼
下面引用由lmhx在 2007-3-18 10:00:00 发表的内容:
  还在出这样的题目?<br>给你一个最短的程序,可是首创啊<br>LD&nbsp;I0.0<br>EU<br>CALL&nbsp;SBR0<br><br>…
--------------------------------------------------------------------------------------------
经典

小小弟

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 101回
  • 年度积分:0
  • 历史总积分:210
  • 注册:2007年2月08日
发表于:2007-03-21 15:29:00
10楼
小弟我 收益匪浅!

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-03-21 15:30:00
11楼
这种问题,在各论坛已经讨论过无数次了,还有讨论的意义么?西门子确实没有交替输出的指令,不过可以用基础指令实现. 如果不考虑信号滤波的话,最短的应该是:
LD  I0.0
EU
XORB  16#01,QB0   //I0.0按扭导致Q0.0的交替动作

ZHANGCL

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 108回
  • 年度积分:0
  • 历史总积分:988
  • 注册:2001年12月29日
发表于:2007-03-21 18:30:00
12楼

天亮以后

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 3回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2007年3月20日
发表于:2007-03-21 18:48:00
13楼

天亮以后

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 3回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2007年3月20日
发表于:2007-03-21 18:55:00
14楼
西门子的我不回哈
  用三凌编的看看哈
0  LD  X1
1  ANI Y1
2  LD1 XI
3  AND Y1
4  ORB 
5  OUT Y1
6  END

刘肥

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 13回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2006年12月03日
发表于:2007-03-21 19:29:00
15楼
下面引用由史伟在 2007-3-21 18:55:00 发表的内容:
  西门子的我不回哈<br>  用三凌编的看看哈<br>0  LD  X1<br>1  ANI Y1<br>2  LD1…
--------------------------------------------------------------------------------------------
如果连续按个三秒钟会怎样.

winccc

  • 精华:1帖
  • 求助:1帖
  • 帖子:67帖 | 1131回
  • 年度积分:0
  • 历史总积分:2990
  • 注册:2001年10月09日
发表于:2007-03-21 19:53:00
16楼
哈哈,有意思

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-03-21 20:24:00
17楼
三菱的还编? 不是有现成的指令么? ALT指令就是了!

皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-03-21 23:05:00
18楼
to  ShowFine:
这种问题,在各论坛已经讨论过无数次了,还有讨论的意义么?西门子确实没有交替输出的指令,不过可以用基础指令实现. 如果不考虑信号滤波的话,最短的应该是:
LD  I0.0
EU
XORB  16#01,QB0   //I0.0按扭导致Q0.0的交替动作
你的这个答案,如果原来有输出的,停电再上电时,会出现什么情况?请大家讨论

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-03-22 10:06:00
19楼
停电再上电? 你不会再按一次按扭么? 这么死脑筋?呵呵,就算你想做一个断电记忆功能,也不难啊

萨那科长

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 129回
  • 年度积分:0
  • 历史总积分:137
  • 注册:2006年5月15日
发表于:2007-03-22 10:17:00
20楼
这个光自己想当然有点难度,不过很多资料可以找到。我第一次接触这个是在lg120s的编程手册上看到的,觉得很不错就记住了。用高级语言编的话可以用静态寄存器做,如vb里可以定义个静态变量,不断的取反就行了。

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页