机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 9837|回复: 16
打印 上一主题 下一主题

求助,一道plc面试题的困惑

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-6 19:50:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
最近在网上搜索到了一道plc面试题,我先把作者的原话搬上来:
$ a, m0 \7 R7 k5 Q0 I
PLC编程-关于一道简单面试题
20110425
  我给出的笔试题中,其中有一道是要求当I0.01时,Q7.0-Q7.7这八个灯以5s间隔依次点亮,每个亮5s,走马灯式循环,直到I0.00时停止。
  结果很是失望,一年半时间里,面试过不知道多少个人,情况大致是这样:
  70%的人用各种点的串并联加定时器来搭,结果仍然是做不出来;
  约10%的人用上面的办法做成功了;
  约10%的人用计数器(C)对5S脉冲计数,之后如下方式输出:
  LD C==0 OUT Q7.0;...........................................LD C==7 OUT Q7.7
  之后C==8时清零,重复以上动作。这样也算实现了。
  约10%的人用移位的方法实现,这才是我期待的答案。讨论答案的时候有人提及某些小型PLC可能会没有循环移位指令,提醒一下,再差的PLC也会支持四则运算,自动化专业总得学过单片机的吧,那怎么想不到整数乘2就相当于左移,除2就相当于右移呢?再利用上进位寄存器或余数寄存器判断复位不就可以了,就算不知道进位寄存器或余数寄存器,那么可以在这个数为H80时不做乘法而为其赋H01,或为H01时不做除法而为其赋H80就可以了。
  结果就是这样,我还没要求必须完整给出程序,思路正确就行,当然能直接给出程序最好。
  而我最期待的,是采用循环加寻址操作,因为移位毕竟有限制,超过32位或64位就不能直接实现了,只能自己对多寄存器移位同时控制好数据的同步。而用寻址,可以很方便的扩展这个功能。我们设计一个算法时,除了要解决当前问题外,还要考虑这个算法能不能重用,如何做到重用,这样在类似的项目中可以方便套用它,会提高不少效率。
  当然这种简单的东西实际工作是用不到的,我只是需要了解对方的编程思想以及对PLC的理解。虽然最初PLC是为了代替继电接触器而生,但时至今日,这东西已经有了突飞猛进的发展,如果我们在工作两三年后,还是只会用这么简单的方式解决问题,那就有点说不过去了。这么简单的问题,都要浪费上很多时间,工作效率大打折扣,结果还要死不少脑细胞。有人做这题用一个多小时最后做不对,有人两分钟就直接写完程序了,那一个系统上万步的程序,时间上就要差多少,更不要提质量了。
  有人说,怕这样用PLC,会不稳定。我说,如果担心这个,那就不要用PLC了,既然它提供了这些功能,就应该是通过了测试的。虽然我们要把有可能出现的问题都考虑周全,以保证系统的可靠性,但天灾人祸的事任谁也没有办法的。如果真发生这样的问题,你可以直接给PLC厂家发邮件报告这个BUG
  其实如果我们单片机或汇编了解得多一点,会发现PLC很容易,指令系统都差不多,基本上就照着单片机的指令来的,当然有的提供了一些更高级一些的功能,如通信类指令,数据表格类指令等,另外如ST语言还可以操作数组,甚至有的PLCAB能搞出类似对象的数据结构,但编程思想基本上还是一致的。或许因为我是学机械的,而当初又专门学过汇编,所以在使用PLC时才喜欢套用汇编的方式吧,虽然大学也开过两门PLC课程。
  发发牢骚,希望能提醒刚进入工控这个行业的同行们,多一些创新思维,眼界要放宽,多接触些新东西,不要书上说老师说网上说,自己想出来的,未必就比别人差,如果所有的人都是书上说老师说网上说的,那人类不要发展了,早点刨坑把自己埋了吧。
————————————————分割线—————  —————————分割线—  _____——————————————
见到这个题目后我也做了一遍,用三菱fx2n系列,第一次用的是定时器控制下一个灯,当下一个灯亮起的时候,同时使用复位指令对前一个灯置0.写的程序见图。(没有写完8个灯,只写了4个灯)。调试后没有问题。
第二次是按照上面那个面试官的思路写的。问题就出现了,只能运行到第三个灯,后面的不能运行。(附图是我更改了几次的程序,开始的时候还使用了触电比较指令也一样没有到达预期目的)
现在想请教一下,假如我按照面试官的思路(即使用四则运算的乘法mul)该如何修改我的这段程序?谢谢!
7 X/ V- w2 U; N

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复

使用道具 举报

17#
发表于 2012-2-18 16:54:55 | 只看该作者
如果我们能遇见一面就好啦!我在编成是就追寻多用应用指令!要与众不同     我们很对味呀  期待你更多的问题
) S2 D$ X) d6 Z2 q+ ^8 E6 o7 ^4 `# W3 U有意和你结识朋友 13674274316  沈阳 周杨

点评

您过溢了,我是初学,想希望社友们多多指点一二!我的QQ 623639640  发表于 2012-2-18 17:49
回复 支持 反对

使用道具 举报

16#
发表于 2012-2-18 16:40:46 | 只看该作者
我还没学位移指令呢....
回复 支持 反对

使用道具 举报

15#
发表于 2012-2-17 17:33:38 | 只看该作者
这个就是用四则运算实现的,其实这明显就是一个顺序控制,用顺序控制最简单,不用动脑筋,记得学VB的时候,老师就说过,印度的软件之所以比中国强,就是印度追求的是大家都看得懂,而中国软件人员追求的是只有我能看懂。顺便做个说明,[b]本人现居住北京通州区附近,初学电工,考取了低压本,想求一份电工学徒的工作,QQ.1196940288 非诚勿扰

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复 支持 反对

使用道具 举报

14#
发表于 2012-2-17 17:24:05 | 只看该作者
c:\11.jpg
回复 支持 反对

使用道具 举报

13#
发表于 2012-2-16 17:18:20 | 只看该作者
还做读书狼 发表于 2012-2-6 19:51 7 \+ r6 e, p' t  p
漏了一个图了,现在这个图是使用四则运算的程序。上面两个图的顺序反了,不好意思!
9 Y+ [* {+ q4 E. G* l
我刚做的。电脑上,PLC上都点亮了。你看看。做的肯定还有不足,比如占空间大,程序烦索等。大家也给点意见。
& N. o- m$ r  y- |6 @, n7 J3 B6 }8 H+ @7 b

; ?, @: ]7 f; p, N7 m

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复 支持 反对

使用道具 举报

12#
发表于 2012-2-14 11:36:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

11#
发表于 2012-2-13 23:23:18 | 只看该作者
謝謝分享喔滿不錯的喔

点评

你能不能回答我的那个疑问呢?就是如何用四则运算中的mul去处理呢?  发表于 2012-2-14 09:41
回复 支持 反对

使用道具 举报

10#
发表于 2012-2-13 21:53:02 | 只看该作者
写的不错,其实我们上学学的是什么?知识的运用!学到的知识要举一反三,触类旁通。不过现在的课本在有些方面来说真的不能说好,讲了一大堆没用的话,真正有用的就那么一点。重点的东西还是要自己去总结思考。如果一个人想快速的学习掌握某技术要领,那看书会让他头大的很。因为他看不到一个总表。现在的书让我说应该在最前页或是最后页的地方加上总表,汇总一下书中所有的重点。如:某PLC编程手册中详细的说明了每个程序的含义、结构、使用条件、使用方法等,在最前页把所有的程序、列表、格式汇总一下。这样我们在看书的时候,只要一翻书就能看到自己学到哪里了,还有哪里不明白,不会的,第一时间了解到自己的学习状况,第一时间加深了所学知识的印象。当然,必要的笔记还是不能少的。

点评

你说的很对!能不能回答我的那个疑问呢?就是如何用四则运算中的mul去处理呢?烦劳了!谢谢  发表于 2012-2-14 09:42
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2012-2-8 21:10:25 | 只看该作者
apay 发表于 2012-2-7 22:40 9 v1 C& M: g+ S7 M0 ]; `
头大中,看都不敢看,

. I0 y5 D5 N& b那段文字 看的确实头疼!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-3-14 12:09 , Processed in 0.061302 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表