振南实战项目纪实(为天津某公司研制工业用信号延时器)----(3)
需求歧义与变动以及附加工作量
http://www.znmcu.cn/zn_project_delayer_3.html
振南实战项目纪实(为天津某公司研制工业用信号延时器) ----(3)需求歧义与变动以及附加工作量 项目进行到后期,基本的功能已经差不多了,项目方开始动手测试延时器的功能和精度。但是很快他们发现了问题,模式2,也就是自发信号模式,与他们预想的不一样。 再次翻出原始需求: 模式2,延时器自发地输出两路方波信号,两路信号之间有延时差(即相位差),两路信号的频率(周期)均可设置。 下图是对此条需求的理解: 所谓方波,就是占空比为50%的脉冲信号,即一个周期内高电平与低电平时间相等。 项目方看到这个之后,表示很无语,我也表示很莫名其妙。按照需求就是这样的信号。 项目方最后罗嗦了关天,也没有说明白到底输出信号是怎样的。我让他画个图给我看: 我说没错啊,图中的t1是脉宽,它影响了周期,t2是两路信号输出之间的延时差,也就是相位差。 然后他跟我说:“什么脉宽!什么相位!这些我都听不懂,我的需求就是要t1和t2可以调!”下图是他的描述: 看到这样的描述,我根本不懂他在说什么。 经过许久的交流,我终于明白了他的意思: 他所谓的t1,其实要调的是一个周期里的低电平的宽度,而高电平宽度固定不变,而t2是两路信号间的延时差,这个理解上没有问题。 我说:“爷爷,你直接说占空比可调不就行了!”他说:“别跟我说那个专业词,不懂!” 后来我打听一下,一直跟我交流的这个项目方的人,已经50岁了,而且不是电子相关专业,很多基础的东西都不明白。但是从项目一开始,他就自称“对传感器、对电路等都很熟悉!!” 在理解了他所谓的“需求”之后,我很快对程序进行了修改,作出了他所需要的功能。 此时,他开始提出附加的功能需求,他说:“我问我们的工程师了,信号输出5V不行,需要输出24V!” 我说,请看需求: 他无话可说,改口说:“你能不能帮我作一下这个5V-24V的电路!”。我说这个很简单:“我告诉你电路,你自己或你们的工程师焊一下就行了!”他说:“好!” 我给出的电路是这样的: 采用光偶电路可以很简单的把5V信号转为24V信号。信号输出接图中的IO端,为低电平时,光耦内部导通,out端输出0V(由于光电三极管有很小的导通电阻,所以out不会是绝对的0V,但足以被数字电路识别为0);为高电平时,光耦内部截止,out端的输出是24V串5K电阻,电平输出为24V,电流可达到大约5mA。 他说:“我试试吧!”结果搞了一天没结果!说:“你帮我搞吧!谢谢!” 这原本不是需求中的内容,但是既然他这么说了,我也就帮他作了。 接着他提出进一步的要求:“24V 5mA电流不够!” 我说:“你这个24V输出要用来干什么?是要接PLC吗?(PLC,可编程控制器的高电平是24V)。” 他说:“是,但还要去驱动几个光耦!” 我说:“你要用这个24V信号,直接去接多个光耦吗?” 他说:“是的!” 他的意思是这样的,如下图: 他想用24V信号直接带10几个光耦。他说:“我需要这个24V信号电流起码要50mA。”(10个光耦,每个光耦点亮导通需要5mA电流,一共是50mA) 我说:“爷爷,没你这么玩的!”我给了他一个电路: 不管是光耦,还是其它什么负载,是不可能指望直接由信号来带动,给他们每一个加上三极管。 他说:“哦,那我试试!!” 我意识到,我这不是在作项目,而是在给小学生辅导功课!! 最终我给他焊接了一个5V-24V的模块: 虽然这是附加的工作,但我还是很认真的进行了测试,保证5V向24V的转换是正常的: 我寄给了他,还给了他一些三极管,让他去测试带动他的光耦。 更多的麻烦还在后面,根本问题源于:我不该把一些我认为很简单的工作交给了项目方去作,比如接线和装配。
|