理论上是都有前途的。
但编程的确应用广泛。
再举个例子:比尔。盖茨 和乔布斯的区别是什么?
一个是软件,一个是硬件。
两者的财富区别很大。
但两者各自是各自领域内的神话。乔布斯更具神话色彩。
硬件是肢体,软件是灵魂。更多
请问硬件的创新空间大还是软件编程的创新空间大?扎克伯格就是搞编程的吧?偶像啊。。。
硬件的发展受到工业基础水平的发展限制。我们中国大陆有生产主流硬盘的吗?有生产液晶面板的吗?有生产主流处理器CPU的吗?我们花大钱想开发处理器,所谓的龙芯,产品出来后只相当于P3.这是国家基础工业的落后。在军工方面,我们的飞机,雷达等比不上发达国家。我们的汽车行业,也不过如此。这是因为材料方面没有突破。所以钢材,发动机都比不上某些国家。有些电子元件,半导体比不上。所以就达不到所要求的精度。当然做不出人家的水平了。
我们中国的设计水平不落后别国,但生产水平落后。这就是工业基础问题。这是人家帮不了你的。生产力不平不及人家。所以科学技术是第一生产力很精辟。你设计得再好,但现实中,生产不出来,要实现的材料,元器件要进口才能实现。这就成了限制。
软件不同,虽然当今世界,软件还是那几个巨头当家,但我们中国人才还是辈出的。因为软件的精华,在于,当你们用来实现的技术相当,比如都精通C++时,人的不同,显示出的水平就会有不同。这是编程思想的问题。你的思维影响你的编程。所以思想有多远,你就能编多远。一切由你来发挥。
马克·扎克伯格,美国社交网站Facebook的创办人,被人们冠以“盖茨第二”的美誉。哈佛大学计算机和心理学专业辍学生。据《福布斯》杂志保守估计,马克·扎克伯格拥有135亿美元身家,是08年全球最年轻的单身巨富,也是历来全球最年轻的自行创业亿万富豪。
后人都受到了比尔。盖茨的影响,因为他认为,软件是硬件的灵魂。软件控制硬件。
听说软件编程年纪大了就不行了,那老了怎么办啊?
关于编程设计思想问题
电脑这东西是很复杂的东西。
一般人学电脑只学软件,硬件很少涉及
其实每一条指令归根到底是被转化成电路来实现的
我们的编程语言里有很多语句,但每条语句的编程可以细分出很多基本命令,这就是电脑能识别的指令集,电脑都在它本身的指令集,一般100多条左右,然后根据这几条指令集设计专门的电路来实现它的功能,比如复制操作,加法运算,移动数据,交换数据等等,电脑里都有实现这些功能的电路,然后就是电脑有专门的时序控制电路,专门处理先执行哪一条指令再执行哪一条指令,处理的根据就是我们事先编好的程序
电脑先读取我们写好的程序,然后按照时序,调用不同的电路部分实现我们所说的功能
具体是怎么实现的,你学学8086微机原理这本书就行了,虽然8086过时很久了,但现在大学里依旧用这个作教材,考研也有考8086的
我是电子信息工程专业的有学单片机什么的,但是自己不太喜欢很复杂的电路,比较有兴趣编程。C语言基础还可
如你所述你的兴趣在软件而不是硬件,电子信息工程这个专业最大的特色是软硬件相结合,即使你不大喜欢复杂的电路,也应该具备不错的电路方面的基础,这是必须的,硬件基础不扎实,搞好软件就无从谈起了。当然我指的是嵌入式系统,信息与信号处理,模式识别之类的软件的开发,也是电信工的看家本领和主要方向。
当然如果你想要脱离硬件搞纯软件开发,那么电信工专业就没有优势了,因为电信工专业软件学得再好也难以比得上软件和计算机专业的,因为我就是电信工专业出身,实验室也有计算机和软件的同学,这一点深有体会,学习的课程和得到的系统的锻炼差异太大,编程思想和习惯还有掌握的算法确实无法和他们相比。所以电信工最大优势是软硬件结合,做基于硬件的软件开发,也就是上述几个方向。
C++的确比较难,但如果不用来做面向对象的可视化程序设计的话,就比较简单了,只要有C的基础,学习起来就得心应手。如果是做一些可视化程序开发,无论是API还是MFC的,不是能速成的,要慢慢多多练习与积累体会。如果想要成为单片机高手,学好C就可以了,而且都是基本的C,指针之类的都很少用到的。C++如果有兴趣的话可以深入学习,毕竟是一个很好的今后搞项目的资本和优势,当然是学好专业课的前提下。其实电信工的项目的上位机程序一般VB就可以完成,VB上手和学习都比较容易。
基于PLC的电梯控制系统设计
电梯的硬件设计
2.1电梯控制系统的硬件配置
本系统是主要由PLC、变频器、控制箱、显示器、拽引电动机组成的交流变频调速系统(Variable Voltage Variable Frequency,简称VVVF)。通过PLC去控制电梯的运行方式,可以使得控制系统的可靠行更高,结构显得更加紧凑。本系统的硬件框图如图3-1所示。
图2-1 PLC电梯联动控制系统硬件框图
从图3-1可以看出,该系统主要由两个部分组成,其中电梯控制的逻辑部分由PLC来实现。通过分析研究电梯的实际运行情况和控制规律,从而设计开发出电梯联动控制程序,使得PLC能够控制电梯的运行操作。电梯的调速部分则选用高性能的矢量控制变频器,配以脉冲发生器(编码器)测量鼠笼式拽引电动机的转速,从而够成电机的闭环矢量控制系统,实现鼠笼式拽引机电动机交流变频调速(Variable Voltage Variable Frequency,简称VVVF)运行。
PLC首先接收来自电梯的呼梯信号、平层信号,然后根据这些输入信号的状态,通过其内部一系列复杂的控制程序,对各种信号的逻辑关系有序的进行处理,最后向直流门控电机、变频器和各类显示器适时地发出开关量控制信号,对电梯实施控制。在电梯控制系统中,由于电梯的控制属于随机性控制,各种输入信号之间、输出信号之间以及输入信号和输出信号之间的关联性很强,逻辑关系处理起来非常复杂,这就给PLC的编程带来很大难度。
在PLC向变频器发出开关量控制信号的同时,为了满足电梯的要求,变频器又需要通过鼠笼式拽引电动机同轴连接的脉冲发生器和PG卡,对电动机完成速度检测及反馈,形成闭环系统。脉冲发生器输出脉冲,PG卡接收到脉冲以后,再将此反馈给变频器内部,以便进行运算调节。根据脉冲的相序,可判断出电动机的转动方向,并可以根据脉冲的频率测得电动机的转速。
2.1.1硬件电路
图2-2 硬件接线图
其各部分功能说明如下;
Q1—三相电源断路图
K1—电源控制接触器
K2—负载电机通断控制接触器
VS—变频器
BU—制动单元
RB—能耗制动电阻
M—主拖动拽引电机
2.1.2主电路
主电路由三相交流输入、变频驱动、拽引机和制动单元几部分组成。由于采用交-直-交电压型变频器,在电梯位势负载作用下,制动时回馈的能量不能送回电网,为限制泵升电压,采用受控能耗制动方式。
2.1.3PLC控制电路
PLC接收来自操纵盘和每层呼梯盒的召唤信号、轿厢和门系统的功能信号以及井道和变频器的状态信号,经程序判断与运算实现电梯的集选控制。PLC在输出显示和监控信号的同时,向变频器发出运行方向、启动、加/减速运行和制动停梯等信号。
2.2电梯的速度控制曲线
电梯作为一种载人工具,在位势负载状态下,除要求安全可靠外,还要求运行平稳,乘坐舒适,停靠准确,电梯的运行速度应当符合图2-3所示,平层误差应符合表2-1所示:
Vm电梯运行额定速度 Vp 平行爬层慢车速度
图2-3 电梯运行速度曲线图
表2-1平层误差范围
高速梯 快速梯 低速梯m/s
≤±5 ≤±10 ≤0.5 >0.5
≤±15 ≤±30
采用变频调速双环控制可基本满足要求,但和国外高性能电梯相比还需要进一步改进。本设计正是基于这一想法,利用现有旋转编码器构成速度的同时,通过变频器的PG卡输出与电机速度及电梯位移成比例的脉冲数,将其引入PLC的高速计数输入端口,通过累计脉冲数,经式计算出脉冲当量,由此确定电梯位置。
电梯位移h=SI
式中I:累计脉冲数S:脉冲当量
S=IpD/(pr)(1)
本系统采用的减速机,其减速比1=1/20,拽引
轮直径D=580mm,电机额定转速ne=1450r/min,旋转编码器每转对应脉冲数p=1024,PG卡分频比r=1/18,带入式(1)得
S=1.6mm/脉冲
2.3 拖动电动机的选择
电动机的选择包括选择电动机的种类、结构形式及各种额定参数。
电动机选择的基本原则
电动机的机械特性应满足生产机械的要求,要与负载特性相适应。保证运行稳定且具有良好的启动性能和制动性能。
工作过程中电动机容量能得到充分利用,使其温升尽可能达到或接近额定温升值。
电动机结构形式要满足机械设计提出的安装要求,适合周围环境工作条件的要求。
根据生产机械调速要求选择电动机
在一般情况下选用三相笼型异步电动机或双速三相电动机;在既有一般调速又要求起动转矩大的情况下,选用三相绕线型异步电动机;当调速要求高时选用直流电动机或带变频调速的交流电动机来实现。
综上,电梯的曳引电动机选择三相绕线型异步电动机,门机可选择变频调速的交流电动机。
电动机结构形式的选择
根据不同工作环境选择电动机的防护形式。开启式适用于干燥、清洁的环境;防护式适用于干燥和灰尘不多,没有腐蚀性和爆炸性气体的环境;封闭自扇冷式与他扇冷式用于潮湿、多腐蚀性灰尘、多风雨侵蚀的环境;全封闭用于浸入水中的环境;隔爆式用于有爆炸危险的环境中。
综上,机房和井道的工作环境干燥和灰尘不多,没有腐蚀性和爆炸性气体,因此曳引电动机和门机电动机均选择防护式;
电动机额定电压的选择
电动机额定电压应与供电电网的供电电源电源一致。电梯均采用三相五线制,因此曳引电动机额定电压380V,门机电源可以和光幕或安全触板电源共用,因此选择220V额定电压。
电动机额定转速的选择
对于额定功率相同的电动机,额定转速越高,电动机尺寸、重量和成本愈低,因此在生产机械所需转速一定的情况下,选用高速电动机较为经济。但由于拖动电动机转速越高,传动机构转速比较大,传动机构越复杂。因此应综合考虑电动机与传动机构两方面的多种因素来确定电动机的额定转速。通常采用较多的同步转速为1500r/min的三相异步电动机。
电动机容量的选择
电动机的容量反映了它的负载能力,它与电动机的允许温升和过载能力有关。允许温升是电动机拖动负载时允许的最高温升,与绝缘材料的耐热性能有关;过载能力是电动机所能带最大负载能力,在直流电动机中受整流条件的限制,在交流电动机中由电动机最大转矩决定。实际上,电动机的额定容量由允许温升决定。
电动机容量的选择方法有两种,一种是分析计算法,另一种是调查统计类比法。
分析计算法 根据生产机械负载图求出其负载平均功率,再按负载平均功率的(1.1~1.6)倍求出初选电动机的额定功率。对于系数的选用,应根据负载变动情况确定。大负载所占分量多时,选较大系数;负载长时间不变或变化不大时,可选最小系数。
对初选电动机进行发热校验,然后进行电动机过载能力的校验,必要时还要进行电动机起动能力的校验。当校验合格时,该额定功率电动机符合负载要求;若不合格,再另选一台电动机重新进行校验,直至合格为止。此方法计算工作量大,负载图绘制较为困难。对于较为简单、无特殊要求、一般生产机械的电力拖动系统,电动机容量的选择往往采用调查统计类比法。
统计类比法 将各国同类型、先进的机床电动机容量进行统计和分析,从中找出电动机容量与主要参数间的关系,再根据我国国情得出相应的计算公式来确定电动机容量。这是一种实用方法。
2.4 速度控制
本方法是利用PLC扩展功能模块D/A模块实现的,事先将数字化的理想速度曲线存入PLC寄存器,程序运行时,通过查表方式写入D/A,由D/A转换成模拟量后将、理想曲线输出.
加速给定曲线的产生
由于电梯逻辑控制部分程序最大,而PLC运行采用周期扫描制,因而采用通常的查表方法,每次查表的指令时间间隔过长,不能满足给定曲线的精度要求。在PLC运行过程中,其PLC与各设备之间的信息交换、用户程序的执行、信息采集、控制量的输出等操作都是按照固定的顺序以循环扫描的方式进行的,每个循环都要对所有功能进行查询、判断、和操作。
2)减速制动曲线的产生
为保证制动过程的完成,需在主程序中进行制动条件判断和减速点确定。在减速点确定之前,电梯一直处于加速或稳速运行过程中。加速过程由固定周期中断完成,加速到对应模式的最大值之后,加速程序运行条件不再满足,每次中断后,不再执行加速程序,直接从中断返回。电梯以对应模式的最大值运行,在该模式减速点到后,产生高速计数中断,执行减速服务程序。在该中断服务程序中修改计数器设定值的条件,保证下次中断执行。
2.5 I/O点数分配及PLC的型号的选择
分配I/O点之前,首先要了解有哪些输入输出点,图3.4 五层电梯的简化模型和控制柜示意图,从中我们不难发现输入的大致分布情况。
图2.4 五层电梯的简化模型和控制柜示意图
2.5.1I/O接口模块
S7-200的接口模块主要有数字量I/O模块、模拟量I/O模块和通信模块。下面分别介绍这些模块。
数字量I/O模块的选择
电梯逻辑控制系统的控制核心是PLC,哪些信号需要输入至PLC,PLC需要驱动哪些负载,以及采用何种编程方式,都是需要认真考虑的问题,都会影响到其内部I/O点数的分配。因此,I/O点数的确定,是设计整个PLC电梯控制系统首先需要解决的问题,决定着系统硬件部分的设计,也是系统软件编写的前提。
(二)模拟量I/O模块的选择
模拟量I/O模拟的主要功能、是数据转换,并与PLC内部总线相连,同时为了安全也有电气隔离功能。模拟量输入(A/D)模块是将现场由传感器检测而产生的连续的模拟量转换成PLC内部接受的数字量;模拟量输出(D/A)模块是将PLC内部的数字量转换为模拟量信号输出。
典型模拟量I/O模块的量程为-10V~+10V、0~+10V、4~20mA等,可根据实际需要选用,同时还应考虑其分辨率和转换精度等因素。
(三)特殊功能模块的选择
目前,PLC制造厂家相继推出了一些具有特殊功能的I/O模块,有的还推出了自带CPU的智能型I/O模块,如高速计数器、凸轮模拟器、位置控制模块、PID控制模块、通信模块等。
2.5.2统计I/O点数
输入信号有31个,考虑到有15%的备用点,即31×(1+15%)=35.65,取整数36,共需36个输入点。
输出信号有31个,考虑到有15%的备用点,即31×(1+15%)=35.65,取整数36,因此共需36个输出点。
2.5.3 PLC程序中I/O点的定义
在编程过程中,所用到的I/O地址分配如表2-2所示。编程过程可分为电梯内部和电梯外部两分进行。
输入输出点分配下表:
表2-2 符号明细参数表
输入、输出点分配表
输入点 对应信号 输出点 对应信号
I0.1 外呼按钮1上 Q0.0 KM1电动机正转
I0.2 外呼按钮2上 Q0.1 ——
I0.3 外呼按钮2下 Q0.2 KM2电动机反转
I0.4 外呼按钮3上 Q0.3 KV线圈及故障
I0.5 外呼按钮3下 Q0.4 上行指示
I0.6 外呼按钮4上 Q0.5 下行指示
I0.7 外呼按钮4下 Q0.6 开门指示
I1.0 外呼按钮5下 Q0.7 关门指示
I1.1 内呼按钮去1楼 Q1.0 1上外呼指示
I1.2 内呼按钮去2楼 Q1.1 2上外呼指示
I1.3 内呼按钮去3楼 Q1.2 2下外呼指示
I1.4 内呼按钮去4楼 Q1.3 3上外呼指示
I1.5 内呼按钮去5楼 Q1.4 3下外呼指示
I1.6 1楼平层信号 Q1.5 4上外呼指示
I1.7 2楼平层信号 Q1.6 4下外呼指示
I2.0 3楼平层信号 Q1.7 5下外呼指示
I2.1 4楼平层信号 Q2.0 内呼按钮去1楼指示
I2.2 5楼平层信号 Q2.1 内呼按钮去2楼指示
I2.3 上下限位 Q2.2 内呼按钮去3楼指示
I2.4 轿厢内开门按钮 Q2.3 内呼按钮去4楼指示
I2.5 轿厢内关门按钮 Q2.4 内呼按钮去5楼指示
I2.6 热继电器 Q2.5 LED层显示a段
I2.7 —— Q2.6 LED层显示b段
I3.0 一楼上行减速接近开关 Q2.7 LED层显示c段
I3.1 二楼上行减速接近开关 Q3.0 LED层显示d段
I3.2 二楼下行减速接近开关 Q3.1 LED层显示e段
I3.3 三楼上行减速接近开关 Q3.2 LED层显示f段
I3.4 三楼下行减速接近开关 Q3.3 LED层显示g段
I3.5 四楼上行减速接近开关 Q3.4 加速继电器
I3.6 四楼下行减速接近开关 Q3.5 低速继电器
I3.7 五楼下行减速接近开关 Q3.6 快速继电器
2.5.4程序中使用的内部继电器说明
程序中使用的内部继电器说明见下表:
表2-3 符号明细参数表内部继电器说明
内部继电器说明
M0.0 1楼上升 外呼按钮用,用于记忆外呼按钮呼梯信号,平层解除 M4.0 上升综合信号
M0.1 2楼上升 M4.1
M0.2 2楼下降 M4.2
M0.3 3楼上升 M4.3
M0.4 3楼下降 M4.4 下降综合信号
M0.5 4楼上升 M4.5
M0.6 4楼下降 M4.6
M0.7 5楼下降 M4.7
M5.1 1楼平层 平层用,用于记忆平层信号,被其他平层信号解除 M1.6 上升记忆信号
M5.2 2楼平层 M1.7 下降记忆信号
M5.3 3楼平层 M6.1 1层有效开门信号
M5.4 4楼平层 M6.2 2层有效开门信号
M5.5 5楼平层 M6.3 3层有效开门信号
M1.1 内呼去1楼 用于要去的楼层,平层时解除 M6.4 4层有效开门信号
M1.2 内呼去2楼 M6.5 5层有效开门信号
M1.3 内呼去3楼 M6.6 已正常开关门记忆信号
M1.4 内呼去4楼 M7.1 1层手动开关
M1.5 内呼去5楼 M7.2 2层手动开关
M2.0 1楼上升 开关门有效外呼 M7.3 3层手动开关
M2.1 2楼上升 M7.4 4层手动开关
M2.2 2楼下降 M7.5 5层手动开关
M2.3 3楼上升 M7.6 各层手动开门信号综合
M2.4 3楼下降 T34 电梯加速时间
M2.5 4楼上升 T37 开门时间
M2.6 4楼下降 T38 关门时间
M2.7 5楼下降 T39 运行后不在平层的时间
M3.1 内呼去1楼 开关门有效内呼 T40 无人乘坐回基站的时间
M3.2 内呼去2楼
M3.3 内呼去3楼
M3.4 内呼去4楼
M3.5 内呼去5楼
2.5.5PLC的型号选择
选择能满足控制要求的适当型号的PLC是应用设计中至关重要的一步。目前,国内外PLC生产厂家的PLC品种已达数百种,其性能各有特点。所以,在设计时,首先要尽可能考虑采用熟悉的PLC。
1. PLC的型号
在满足控制要求的前提下,选型时应选择最佳的性能价格比,具体应考虑以下几点。
(1.)性能与任务相适应
对于开关量的控制的应用系统,当对控制速度要求不高时,如对小型泵的顺序控制、单台机械的自动控制等,可选用小型PLC(如SIEMENS公司S7-200系列CPU224型PLC)就能满足要求。
对于以开关量控制为主,带有部分模拟量控制的应用系统,如工业生产中常遇到的温度、压力、流量、液位等连续量的控制,应选用带有A/D转换的模拟量输入模块和带D/A转换的模拟量输出模块,配接相应的传感器、变送器(对温度控制系统可选用温度传感器直接输入的温度模块)和驱动装置,并且选择运算功能强的小型PLC,(如SIEMENS公司的S7-300系列PLC)。
对于控制比较复杂的中大型控制系统,如闭环控制、PID调制、通信联网等,可选用中、大型PLC(如SIEMENS公司的S7-400系列PLC)。当系统的各个控制对象分布在不同的地域时,应根据各部分的具体要求选择PLC,以组成一个分布式的控制系统。
(2)PLC的处理速度应满足实时控制的要求
PLC工作时,从输入信号到输出控制存在着滞后现象,即输入量的变化,一般要在1或2个扫描周期之后才能反映到输出端,这对于一般的工业控制是允许的。但有些设备的实时性要求较高,不允许有较大的滞后时间。例如PLC的I/O点数在几十2到几千点范围内,这时用户程序的长短对系统的响应速度会有较大的差别。滞后时间应控制在几十毫秒之内,应小于普通继电器的动作时间(普通继电器的动作时间约为100ms),否则就没有意义了。通常为了提高PLC的处理速度,可以采用以下几种方法;
选择CPU处理速度快的PLC,使执行一条基本指令的时间不超过0.5us;
优化应用软件,缩短扫描周期;
采用高速响应模块,例如高速计数模块,其响应的时间可以不接受PLC扫描周期的影响,而只取决于硬件的延时。
(3)在线编程和离线编程的选择
小型PLC一般使用简易编程器。它必须插在PLC上才能进行编程操作,其特点是编程器与PLC共用一个CPU,在编程器上有一个“运行/监控/编程(RUN/MONITOR/PROGRAM)”选择开关,当需要编程或修改程序时将选择开关转到“编程(PROGRAM)”位置,这时PLC的CPU不执行用户程序,只为编程器服务,这就是“离线编程”。当编程好后再把选择开关转到“运行(RUN)”位置,CPU则去执行用户程序,对系统实施控制。简易编程器结构简单、体积小,携带方便,很适合在生产现场调试、修改程序用。
图形编程器或者个人计算器与编程软件包配合可实现在线编程。PLC和图形编程器各有自己的CPU,编程器的CPU可随时对键盘输入的各种编程指令进行处理。PLC的CPU主要完成现场的控制,并在一个扫描周期的末尾与编程器通信,编程器将编好或修改好的程序发送给PLC,在下一个扫描周期,PLC将按照修改后的程序或参数控制,实现“在线编程”。图形编程器价格较贵,但它功能强,适应范围广,不仅可以用指令语句编程,还可以直接用梯形图编程,并可存入磁盘或用打印机打印出梯形图和程序。一般大、中型PLC多采用图形编程器。使用个人计算机进行在线编程,可省去图形编程器,但需要编程软件包的支持,其功能类似于图形编程器。
根据控制要求PLC控制系统选择SIEMENS公司S7-200系列CPU226,因为I/O点数不够,另外选择扩展模块EM221。
电梯的软件设计
3.1系统的软件设计
系统的软件设计因控制任务的难易程度不同而异,也因人而易。具体是用梯形图还是用语句表编程或使用功能图编程,这主要取决于以下几点:
a)有些PLC使用梯形图编程不是很方便(例如书写不方便),则可用语句表编程,但梯形图比语句表直观。
b)经验丰富的人员可用语句表直接编程,就像使用汇编语言一样。
c)如果是清晰的单顺序或并发顺序的控制任务,则最好用功能图来设计程序。
整个系统软件是一个整体,其质量的 好坏很大程度上影响可编程控制的性能。很多情况下 ,通过改进系统软件就可以在不断增加任何设备的条件下大大改善可编程控制器的性能,例如,S7-200系列在推出后,西门子公司不断的将其系统软件进行完善,使其功能越来越强。
软件设计可以与现场施工同步进行,即在硬件设计完成 以后,同时进行软件设计和现场施工,这样可以保证程序的正确运行。
3.1.1电梯控制的PLC外部接线图
根据I/O接口分配情况,可画出PLC外部接线图,如3-1所示。
3-1电梯的硬件接线图
3.1.2电梯的流程图
电梯的流程图(如图3.2)
3.2 电梯流程图
3.2电梯的基本功能
3.2.1电梯内部部件功能简介
在电梯内部,应该有5个楼层(1~5)按钮、开门和关门按钮以及楼层显示器、上升和下行显示器。当乘客进入电梯后,电梯内应该有能让乘客按下的代表其要去的目的地楼层按钮,称为内呼按钮。电梯停下时,应具有开门、关门的功能,即电梯门可以自动开门、关门的按钮,使乘客可以在电梯停下时随时地控制电梯的开门与关门。电梯内部还应配有指示灯,用来显示电梯现在所处的状态,既电梯是上升还是下降以及电梯处在楼层的第几层,这样可以使电梯里的乘客清楚地知道自己所处的位置,离自己要到的楼层还有多远,电梯是上升还是下降等。
3.2.2电梯的外部部件功能简介
电梯的外部共分5层,每层都应该有呼叫按钮、呼叫指示灯、上升和下降指示灯及楼层显示器。呼叫按钮是乘客用来发出呼叫的工具,呼叫指示灯在完成相应的呼叫请求之前应一直保持为亮,它和上升指示灯、下降指示灯、楼层显示器一样,都是用来显示电梯所处的状态的。5层楼电梯中,1层只有上呼叫按钮,5层只有下呼叫按钮,其余3层都同时具有上呼叫和下呼叫按钮。而上升、下降指示灯以及楼层显示器,5层电梯均应该相同。
3.2.3电梯的初始状态、运行中状态和运行后状态分析
1)电梯的初始状态。为了方便分析,假设电梯位于1层待命,各层显示器都被初始化,电梯处于以下状态:
a) 各层呼叫灯均不亮。
b) 电梯内部及外部各楼层显示器均为“1”。
c) 电梯内部及外部各层电梯门均关。
2)电梯在运行过程中:
a) 按下某层呼叫按钮(1~5层)后没,该层呼叫灯亮,电梯响应该层呼叫。
b)电梯上行或下行直至该层。
c)各楼层显示随电梯移动而改变,各层指示灯也随之而变。
d)运行中电梯门始终关闭,到达指定层时,门才打开。
在电梯运行过程中,支持其他呼叫。
3)电梯运行后状态:在到达指定楼层后,电梯会继续待命,直至新命令产生。
a)电梯在到达指定楼层后,电梯门会自动打开,经一段延时自动关闭,在此过程中,支持手动开门或开门;
b)各楼层显示植为该层所在位置,且上行与下行指示灯均灭。
3.3实际运行中的情况分析
实际中,电梯服务的对象是许多乘客,乘客乘坐电梯的目的是不完全一样的,而且,每一个乘客呼叫电梯的时间有前有后,因此,我们将电梯在实际中的各种具体情况加以分类,做出分析,以便于编制程序。
3.3.1 分类分析
电梯上行分析。
若电梯在上行过程中,某楼层有呼叫产生时,可分以下两种情况:
若呼叫层处于电梯当前运行层之上目标运行层之下,则电梯应在完成前一指令之前先上行至该层,完成该层呼叫后再由近至远的完成其他各个呼叫运作。
呼叫层处于电梯当前运行层下,则电梯在完成前一指令之前不响应该指令,直至电梯重新处于待命状态为止。
电梯下行分析。
若电梯在下行过程中,楼层有呼叫产生时,可分以下两种情况:
若呼叫层处于电梯当前运行之下目标运行层之上,则电梯应在完成前一指令之前先下行至该层,完成该层呼叫后再由近至远地完成其他各个呼叫动作。
若呼叫层处于电梯运行层之上,则电梯在完成前一指令之前不响应该指令,直至电梯重新处于待命状态为止。
3.3.2 总结规律
由以上各种分析可以看出,电梯在接受指令后,总是由近至远地完成各个呼叫任务。电梯机制只要依此原则进行设计动作,就不会在运行时出现电梯上下乱跑的情况了。在分析的同时,我们也知道了电梯系统中哪些是可人工操作的设备。
在电梯的内视图中,其中包括1个楼层显示灯、开门按钮、关门按钮、1层到5层的呼叫按钮以及电梯的上升和下降状态指示灯等。外视图中,1层有1个上呼叫按钮,5层有1个下呼叫按钮,2、3和4层有上、下呼叫按钮个1个,每个呼叫按钮内部都有1个相应的指示灯,用来表示该呼叫是否得到响应。
3.3.3 电梯的控制要求
接受每个呼叫按钮(包括内部和外部的呼叫)的呼叫命令,并做出相应的响应。
电梯停在某一层(例如3层)时,此时按动该层(3层)的呼叫按钮(上呼叫或下呼叫),则相当于发出打开电梯门命令,进行开门的动作过程;若此时电梯的轿箱不在该层(在1、2、4、5层),则等到电梯关门后,按照不换向原则控制电梯向上或向下运行。
电梯运行的不换向原则是指电梯优先响应不改变现在电梯运行方向的呼叫,直到这些命令全部响应完毕后才响应使电梯反方向运行的呼叫。例如现在电梯的位置在1层和2层之间上行,此时出现了1层上呼叫、2层下呼叫和3层上呼叫,则电梯首先响应三层上呼叫,然后再依此响应2层下呼叫和1层上呼叫。
电梯在每一层都有1个行程开关,当电梯碰到某层的行程开关时,表示电梯已经到达该层。
当按动某个呼叫按钮后,相应的呼叫指示灯亮并保持,直到电梯响应该呼叫为止。
当电梯停在某层时,在电梯内部按动开门按钮,则电梯门打开,按动电梯内部的开门按钮,则电梯门关闭。但在电梯行进期间电梯门是不能被打开的。
当电梯运行到某层后,响应的楼层指示灯亮,直到电梯运行到前方一层时楼层指示灯改变。
计算机程序设计语言的发展经历哪几个阶段
选择B。
程序设计语言的发展经历了从机器语言、汇编语言到高级语言的历程。
第一代机器语言
机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。
第二代汇编语言
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。 从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。
第三代高级语言
高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。
拓展资料:
程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。
语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。
硬件和软件的功能和区别是什么?
硬件你看的到摸的着的,就是平常说的主板,显示卡之类的,软件是人编写的指令,它以硬件为载体来对我们传达信息。比如我们用的QQ,和windows操作系统。 电脑软件,是人们为了告诉电脑要做什么事而编写的,电脑能够理解的一串指令,有时也叫代码、程序。 根据功能的不同,电脑软件可以粗略地分成四个层次。最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。常见的中间件包括数据库和万维网服务器等,它们在应用软件和平台之间建立一种桥梁。应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。 电脑软件都是用各种电脑语言(也叫程序设计语言)编写的。最底层的叫机器语言,它由一些0和1组成,可以被某种电脑直接理解,但人就很难理解。上面一层叫汇编语言,它只能由某种电脑的汇编器软件翻译成机器语言程序,才能执行。人能够勉强理解汇编语言。人常用的语言是更上一层的高级语言,比如C, Java, Fortran, BASIC。这些语言编写的程序一般都能在多种电脑上运行,但必须先由一个叫作编译器或者是解释器的软件将高级语言程序翻译成特定的机器语言程序。编写电脑软件的人员叫程序设计员、程序员、编程人员。他们当中的高手有时也自称为黑客。 由于机器语言程序是由一些0和1组成的,它又被称为二进制代码。汇编语言和高级语言程序也被称为源码。在实际工作中,一般来讲,编程人员必须要有源码才能理解和修改一个程序。很多软件厂家只出售二进制代码。近年来,国际上开始流行一种趋势,即将软件的源码公开,供全世界的编程人员共享。这叫“开放源码运动”。 软件是什么?硬件是什么?软、硬件之间的区别 ? 硬件就是实际的硬件设备如:内存条、CPU、显示器、……。 软件就是我们平常用的如瑞星、OFFICE、等等。 没有软件的计算机,也叫“裸机”,可以说是废铁一堆。 软件可分为专用软件和通用软件。通用软件和操作系统,专用的软件如PS,DW。 1、软件:其实很好理解,就如同是一个人思想和灵魂。要是没有它的话,那么再好的电脑也没什么太大的用处,放在家里就等于是废铁。 2、硬件:它如同是一个人的身躯。如果身体也没了,再好创意和思想也无法最大限度的发挥,办起事情来总有不便。 总结:对于电脑来说,软件是思想和灵魂,硬件就是身躯。如同一个人既要有健康的思想,也要有强壮的身躯。所以它们之间不可分割的一个整体。 二、补丁只是系统程序和应用程序的升级补充,是用来安装后防止漏洞,增加安全性的,不是拿来使用
从底层硬件到上层应用,嵌入式软件的开发可以分为哪几类?
一、嵌入式系统的概念
着重理解“嵌入”的概念
主要从三个方面上来理解。
1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。
2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科
二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。
3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。
三、目标与定位。
先有目标,再去定位。
学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。
如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。
对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。
四、开发系统选择。
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。
在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。
而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。
我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。
因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。
五、如何看待培训。
首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。
因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。
对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。
另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,他还会失业吗?
再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255 CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。
对于说为自已找了个好师傅,我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。
六、成为高级嵌入式系统硬件工程师要具备的技能。
首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通,或去网站看看www.zt-training.com。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。
另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,dsp类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。dsp硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I2C要求速度在100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。 一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。
总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如Protel\ORCAD\PowperPCB\Maplux2\ISE、VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。
电子工程师的出路在哪里?干了两年电子工程师(硬件开发),不知道以后方向在哪里,挺迷茫!
电子工程师们,你还在座位上埋头苦干,跟与一堆数据跟程序打交道吗?
这样下去不行,现在生活想过得有滋有味,靠工资不如靠收入,做技术是吃脑力饭,压力大,头发大把大把掉,工资永远那个数,跳来跳去无法突破自我。
什么是电子工程师?
电子工程师指从事各类电子设备和信息系统研究、教学、产品设计、科技开发、生产和管理等工作的高级工程技术人才。一般分为硬件工程师和软件工程师。硬件工程师是硬件电路原理图、PCB设计,硬件电路测试等内容;软件工程师负责嵌入式软件程序编写、测试,或者开发、测试PC端的上位机程序。
电子工程师面临的问题有哪些?
中国有多少工作很多年的电子工程师;中国每年有多少电子新手需要开始全新的技术生涯;他们有什么困惑需要去解开;他们最关心的问题是什么?他们对未来的期待是什么?电子工程师的出路在哪里?
中国缺少什么样的电子工程师?中国缺少满嘴胡须的电子工程师;中国缺少坐轮椅的电子工程师;中国缺少在一个行业专注几十年的资深电子技术专家;中国缺少知识全面,做事精密细致的电子系统架构师。
电子工程师的发展出路在哪里?
CETTIC电子工程师课程,教你如何做最牛的技术人才,教你如何成为自己的老板,收入翻番不是问题,技术人员前期积累人脉,磨练技术,后期必须学习管理知识,更需要克服技术人员古板交际少的毛病,楼主简单说下,看官们自行去琢磨吧。
(一)可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!
(二)不要去做技术高手,只去做综合素质高手!在企业里混,我们时常瞧不起某人,说他"什么都不懂,凭啥拿那么多钱,凭啥升官!"这是普遍的典型的工程师的迂腐之言。8051很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?人家或许善于管理,善于领会老板意图,善于部门协调等等。因此务必培养自己多方面的能力,包括管理,亲和力,察言观色能力,攻关能力等,要成为综合素质的高手,则前途无量,否则只能躲在角落看示波器!技术以外的技能才是更重要的本事!!从古到今,美国日本,一律如此!
(三)多交社会三教九流的朋友!不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理,那么你整日面对的就是这些人。了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低!
(四)知识涉猎不一定专,但一定要广!多看看其他方面的书,金融,财会,进出口,税务,法律等等,为以后做一些积累,以后的用处会更大!会少交许多学费!!
(五)抓住时机向技术管理或市场销售方面的转变!要想有前途就不能一直搞开发,适当时候要转变为管理或销售,前途会更大,以前搞技术也没有白搞,以后还用得着。搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己以后发展积累庞大的人脉!应该说这才是前途的真正支柱!
(六)逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。这些工程师普遍存在的性格弱点必须改变!很难吗?只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好--尽管你可能技术不错!
(七)工作的同时要为以后做准备!建立自己的工作环境!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!先把东西准备好,等待机会,否则,有了机会就可以一展身手。
(八)要学会善于推销自己!不仅要能干,还要能说,能写,善于利用一切机会推销自己,树立自己的品牌形象,很必要!要创造条件让别人了解自己,不然老板怎么知道你能干?外面的投资人怎么相信你?提早把自己推销出去,机会自然会来找你!搞个个人主页是个好注意!!特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会... [10]该出手时便出手!永远不可能有100%把握!!!条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败。不经历风雨,怎么见彩虹,没有人能随随便便成功!
新人电子工程师又该何去何从呢?
(一)电子新手“没事做,没人教,工作没有技术含量”的矛盾心态
电子工程师新手往往心浮气躁,拒绝进步,拒绝沉淀,害怕丢脸。电子工程师需要不怕丢脸:记住每一个让你丢脸的人,他们是你的贵人。
(二)大城市与小城市的电子工程师你需要去哪里?
北上广深是四个电子行业最集中的城市,工作机会很多,不少跨国公司的研发中心或总部大部分在这四个城市。大城市房价贵,交通费用高,工作节奏快,压力大,但选择的余地也大。小城市除了工作外,则更适合生活。所以任何选择有利有弊,找到自己更适合自己的地方就好。
(三)大公司与小公司的电子工程师你需要怎么选择?
电子工程师新手在刚开始工作的时候尽量选择大公司。大公司稳定,里面积淀的电子高手很多,有更多机会去学习技术,同时学习他们的为人处世之道。如果能进入外企待3到5年更好,完整的工作流程及鲜明的企业文化可以塑造你的好习惯,让你一辈子受益无穷。不过,个人能力到了一定的程度也许可以去小公司,那将会是另外一片天空。可以尽量先选择去大公司,当你成长起来以后,可以试着去小公司或者创业,自己干出一番大事。
(四)偏硬件与偏软件的电子工程师哪个更好一点?
一般来说,同样长的工作年份,偏软件工作的工资比偏硬件的稍微高一些;在数量上,偏软件的职位会比偏硬件的职位多;偏软件的职位在行业经验上的积累会影响职位的跃迁;偏硬件的长远来讲更有发展前途,更方便以后转行,而且可以寻找到更多乐趣;真正的高手是软硬兼通的。所以两者其实都很重要,关键看你的兴趣点在哪方面,还有你自己擅长软件工程,还是硬件工程,这个才是最重要的,找到自己擅长和感兴趣的,你工作才能游刃有余,富于乐趣。
(五)技术和沟通对电子工程来说都很重要
不少工程师一味的专注技术,忽视了与人沟通的重要性,长时间得不到公司的重用;更多的工程师以为掌握了热门了技术,如智能手机,无线通信等,就一定能够改变他们的生活,让他们活的更有成就感。其实,结合自身的实际去专注在自身的行业核心技术的掌握,不断更新自我观念,提高自身修养水平,反省与人打交道的方式方法,这样一个电子工程师才有更好的前景。很多时候,与人沟通比技术精通对一个电子工程师更重要。
(六)电子工程师怎样快速成长
电子工程师的工作就是将一堆器件搭在一起,注入思想(程序),完成这些器件分离时无法完成的功能,做出一个能够商业化的成品。技术高手需要持续的积累。学习态度重要,学习的方法重要,学习的环境及好师傅带更重要,自行总结自行去悟最重要——也就是在掌握一定的基础知识后,不断领悟。及时的补充自己的专业知识,集思广益对运用别人的专业知识,多学习掌握最新的电子技术,学习永远是成长途中最靠谱的手段,学会给自己的专业知识和岗位技能充电,闲余时间参加CETTIC电子工程师培训,弥补自己存在的短板和不足,然后通过学习不断提升,并且专注在一个行业,准备好奋斗十年,或至少3~5年来掌握该行业的核心技术;勤于思考,要常常有灵机一动感觉;勤于动手,干什么像什么,能发现并对粗制滥造深恶痛绝,对精致严谨一往情深,相信数年之后你一定成为电子高手。
(七)最吃香的电子工程师是怎么样的?
电子工程师的综合素质在普通提升。精通英语或者其他的第二外语,计算机操作非常熟练,善于与人沟通,在一个领域有所建树,对电子行业系统有比较充分的了解,并能持续不断学习的电子工程师最吃香。也就是说,“多面手电子工程师”最吃香。做合适的项目,遇到合适的上司,从技术走向高层,往往是可欲不可求的。能否进入到心仪的公司除了自身的努力之外,缘分是很重要的。
转载请注明出处51数据库 » 硬件设计思想与软件编程思想 读软件编程有前途还是硬件有前途
胖胖8993094
