单片机、工控机、PLC有啥不一样?一文教你看懂,简短但很实用
1、单片机所谓的单片机系统就是利用当前市场上的单片机CPU等外围芯片,根据不同的系统设计电路板,最后设计出简单的计算机系统,并在此基础上设计程序来实现所需的控制功能。这种形式在80年代在该国非常流行,但是由于其自身的可靠性和其他限制,它仍然在仪器中使用,并且在工业现场的应用已逐渐被PLC取代。
单片机的可靠性:
由于国内市场上单片机芯片的质量参差不齐,其中很大一部分是从国外选择的劣质产品,以及其他外围元件(如电阻,电容器等)的参数也非常离散。小型产品无法通过筛选和匹配等技术进行处理,因此此类产品很难实现良好的一致性和高可靠性,因为任何组件的参数与设计要求的偏差都将导致系统不稳定。另外,单片机的所有组件都不是工业级的,抗干扰能力特别是电源的抗干扰能力很弱,而家用电源一般很差,而且压片机的变频调速对电源有很大的干扰,因此,它更有可能引起单片机系统的不稳定。
单片机的可扩展性:
由于单片机的电路是根据某些功能要求专门设计的,因此必须重新设计电路以增加功能,并且必须重新设计相应的程序。这样,开发成本和增加功能的周期将增加。
单片机的可维护性:
一旦单片机系统出现故障,就很难诊断出故障组件。最简单的方法是更换整个系统,这会增加维护成本。
操作: 目前,家用单片机系统的操作采用自行设计的键盘,通过拨码开关设置数据,并通过LED进行显示。整个面板很麻烦,并且为了减少操作键,一个键经常用于多种目的,这对于操作者来说是困难的。取消手动操作。特别是,故障显示只能显示故障代码。一旦发生故障,操作人员必须阅读手册以查找故障,并最终根据手册中的说明消除故障,从而使故障排除时间相对较长。简而言之,这种人机对话不够友好。
特点: 不可靠且便宜。
2、工控机
所谓的工控机系统是目前使用市场上的所谓的工业控制计算机系统,并在此基础上设计程序来实现所设计的功能。但是业内人士知道,市场上的工业PC与我们自己组装的兼容机之间没有本质区别。首先,CPU是计算机的心脏,是非工业级的兼容计算机。其余主要组件(例如硬盘,内存和显示器)均为非工业级。唯一的区别是底盘已经过加固。这种形式是由于其自身的可靠性。除其他限制外,它很少在工业现场使用,除了在工厂中大规模用作监视机器并且不直接参与控制之外。
工控机的可靠性:
由于工控机的主要组件不是工业级的,因此与单片机系统相比,其抗干扰能力,尤其是电源的抗干扰能力已经提高到了在一定程度上,但是家用电源非常差,加上压片机的变频调速对电源的干扰很大,因此也可能导致系统不稳定。
工控机的可扩展性:
要添加功能,必须重新设计相应的程序。工控机的编程相对复杂,因此开发周期将增加。
工控机的可维护性:
一旦工控机系统发生故障,就很难诊断出故障组件。这会增加维护周期,并且非专业人员无法修复。如果由于程序设计不合理而导致故障,由于缺乏合适的调试工具,也很难找出故障原因。
操作: 工控机和通用计算机的操作没有区别。这对操作员的质量提出了很高的要求。一般工人会害怕看到计算机。尽管操作界面更友好,但它对计算机系统并不熟悉。对于人们来说,它仍然不容易学习。
特点: 价格在中间,可靠性没有太大提高。
3、可编程控制器(PLC):
所谓的PLC系统是使用市场上主要的工业控制制造商生产的可编程控制器,根据需要选择不同的模块,并在此基础上设计程序来实现所设计的功能。这种形式是目前在工业场所中使用最广泛的形式。
PLC的可靠性:
进口PLC中使用的CPU是由制造商专门设计的工业级专用处理器。其他组件也可以直接从制造商处购买。严格选择工业级组件。此外,其电源模块也集成在一起,是根据大公司的工业控制经验专门设计的,抗干扰能力,特别是抗电源干扰能力得到了极大的提高,即使在受到干扰的情况下仍能正常工作。电源和变频调速不良的原因。
PLC的可扩展性:
要添加功能,只需添加相应的模块并修改相应的程序,PLC的编程就相对简单了,因此可以缩短开发周期。
PLC的可维护性:
PLC本身具有很强的自我诊断功能。一旦系统出现故障,就可以根据自我诊断轻松诊断出故障组件,甚至非专业人员也可以对其进行修复。如果故障是由不合理的编程引起的,则提供完善的调试工具,查找故障相对简单。
操作: PLC操作采用触摸操作终端,人机界面,全屏显示,并在其上设计了详细的操作指南。即使是初次使用,也可以根据提示平稳运行,降低了对操作人员的要求。普通工人可以快速掌握它。此外,一旦系统出现故障,屏幕会自动切换到故障提示屏幕,提示故障原因和故障排除方法。它甚至可以在机器上显示故障的位置,并且维护人员可以根据提示快速排除故障。
特点: 价格比前两个控制器稍贵,具有良好的可靠性和简单的操作。
以上就是关于单片机、工控机、PLC知识的详细介绍,希望对您有所帮助,如果有点用请转发,想看到更多请关注我!
工业物联网@帝特
MCU程序的编写方式,以及各型号单片机的区别和用途
MCU程序的编写方式,以及各型号单片机的区别和用途
单片机的程序编写
MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对于一个高效的程序代码和喜欢使用汇编的设计者来讲,汇编语言仍然是最简洁、最有效的编程语言。
对于MCU的程序编写,其基本的框架可以说是大体一致的,一般分为初始化部分(这是MCU程序设计与PC最大的不同),主程序循环体和中断处理程序三大部分,其分别说明如下:
初始化:对于所有的MCU程序的设计来讲,出世化是最基本也是最重要的一步,一般包括如下内容:
屏蔽所有中断并初始化堆栈指针:初始化部分一般不希望有任何中断发生。
清除系统的RAM区域和显示Memory:虽然有时可能没有完全的必要,但从可靠性及一致性的角度出发,特别是对于防止意外的错误,还是建议养成良好的编程习惯。
阅读累了可以先关注我,不迷路,打开头像关注查看个人主页以及简介,更多优秀内容,叫“林老师”分享给大家
IO口的初始化:根据项目的应用的要求,设定相关IO口的输入输出方式,对与输入口,需要设定其上拉或下拉电阻;对于输出口,则必须设定其出世的电平输出,以防出现不必要的错误。
中断的设置:对于所有项目需要用到的中断源,应该给予开启并设定中断的触发条件,而对于不使用的多余的中断,则必须给予关闭。
其他功能模块的初始化:对于所有需要用到的MCU的外围功能模块,必须按项目的应用的要求进行相应的设置,如UART的通讯,需要设定Baud Rate,数据长度,校验方式和Stop Bit的长度等,而对于Programmer Timer,则必须设置其时钟源,分频数及Reload Data等。
参数的出世化:完成了MCU的硬件和资源的出世化后,接下来就是对程序中使用到的一些变量和数据的初始化设置,这一部分的初始化需要根据具体的项目及程序的总体安排来设计。对于一些用EEPROM来保存项目预制数的应用来讲,建议在初始化时将相关的数据拷贝到MCU的RAM,以提高程序对数据的访问速度,同时降低系统的功耗(原则上,访问外部EEPROM都会增加电源的功耗)。
主程序循环体:大多数MCU是属于长时间不间断运行的,因此其主程序体基本上都是以循环的方式来设计,对于存在多种工作模式的应用来讲,则可能存在多个循环体,相互之间通过状态标志来进行转换。对于主程序体,一般情况下主要安排如下的模块:
计算程序:计算程序一般比较耗时,因此坚决反对放在任何中断中处理,特别是乘除法运算。
显示传输程序:主要针对存在外部LED、LCD Driver的应用。
中断处理程序:中断程序主要用于处理实时性要求较高的任务和事件,如,外部突发性信号的检测,按键的检测和处理,定时计数,LED显示扫描等。
一般情况下,中断程序应尽可能保证代码的简洁和短小,对于不需要实时去处理的功能,可以在中断中设置触发的标志,然后由主程序来执行具体的事务――这一点非常重要,特别是对于低功耗、低速的MCU来讲,必须保证所有中断的及时响应。
对于不同任务体的安排,不同的MCU其处理的方法也有所不同。
例如,对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到此类项目均为手持式设备和采用普通的LCD显示,对按键的反应和显示的反应要求实时性较高,应此一般采用定时中断的方式来处理按键的动作和数据的显示;而对于高速的MCU,如Fosc》1MHz的应用,由于此时MCU有足够的时间来执行主程序循环体,因此可以只在相应的中断中设置各种触发标志,并将所有的任务放在主程序体中来执行。
在MCU的程序设计中,还需要特别注意的一点就是:要防止在中断和主程序体中同时访问或设置同一个变量或数据的情况。有效的预防方法是,将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行该数据的相关操作;而在其他的程序体中(主要是中断),对需要进行该数据的处理的地方只设置触发的标志。――这可以保证数据的执行是可预知和唯一的。
在学校里学了这些知识,并没有时间思考这些之间概念之间的区别,一直注重渴望技术的提升,却忘了这些基础才是根本。蹭着在家的这一段时间,准备好好梳理一下之间的关系,这是一个宏大的框架,写下这些,也是因为在求职的时候对于这些涉及到了,加深一下自己的印象吧。不说了,直接入主题吧。
ARM
在嵌入式领域里,ARM本意是微处理器行业的一家知名企业,英国ARM公司是全球领先的半导体知识产权提供商。全球超过95%的智能手机采用ARM架构,ARM设计了大量的高性价比、耗能低的精简指令集计算(RISC)处理器。这里的ARM指的是处理器。处理器也是CPU的意思,所以ARM处理器就是CPU的意思。ARM公司不生产芯片、生产CPU.是一个32位精简指令集处理器架构,ARM处理器包含以下几个系列的处理器产品以及其它厂商实现的基于ARM体系结构的处理器。如ARM7 系列、ARM9系列、ARM9E系列、ARM10E系列等等。这些处理器广泛应用于实时嵌入式应用,如存储设备、汽车、工业和网络设备。
STM32
上面说了ARM处理器核当前ARM7、ARM9、ARM9E、ARM10E、SecurCore以及最新的ARM11系列。而STM32使用的其中的Cortex-M3内核。当时由于arm7能效低,arm9的硬件和编程过于复杂。为了满足消费电子的需求而改进arm7,代号为cortex -m,这样st或nxp等产家以这个新的核心来加自己的外设就得到了stm32或lpc系列的单片机了。可以清楚得到stm32是基于ARM Cortex-M3内核的,但不属于ARM。因为ARM公司只提供了处理器,st(意法半导体)还有nxp(恩智浦半导体)厂家以此内核为核心添加外设得到了stm32或lpc系列单片机。只能说stm32是基于ARM Cortex -M3内核的,但是不属于ARM。ARM Cortex-M3内核具有高性能、低成本、低功耗等特点,属于ARM7架构中的一员。
51单片机
谈谈51单片机与stm32单片机的区别,先介绍一下,什么是单片机。单片机全称单片微型计算机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件。在我们个人电脑中CPU、RAM、ROM、I/O这些都是单独的芯片,然后这个芯片被安装一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机只是将这所有的集中在一个芯片上而已。
51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flash ROM技术的发展,8031单片机取得了长足的进展成为了应用最广泛的8bit单片机之一,他的代表型号是ATMEL公司的AT89系列。STM32单片机则是ST(意法半导体)公司使用arm公司的cortex-M为核心生产的32bit系列的单片机,它的内部资源(寄存器和外设功能)较8051、AVR和PIC都要多的多,基本接近于计算机的CPU了,适用于手机、路由器等等。
开发板与单片机的区别
经过之前的总结,ARM处理器内核加上外设模块(如UART、IIC)组成了芯片(如STM32),也就是单片机,单片机芯片再加上
一些常用的电子器件构成的电路板便是开发板。方便初学者使用,上面常用的外设有led灯、数码管、独立按键、矩阵按键、液晶显示屏、红外线接收头等。而单片机只是上面的核心芯片。
相关问答
一名电气工程师的职业规划应该是如何的?主要是PLC和 单片机 以及 工控 编程?电气工程师这个职位范畴很大一般要分行业和类型区分,差别极大如果依照工作性质划分主要可以分为两大类:1,侧重设计的电气工程师工作内容主要侧重技术研发...