Ⅰ 编译器和IDE的区别 如Eclipse、tasking,GNU,GCC,keil,IAR有什么区别
1. IDE与硬件平台有关。不同IDE携带的编译器不同。
2. 当然有关。不是半导体厂家提供的,而是编译器开发厂商提供的,也有很多开源的编译器。
3. 有关系。目前最常见的编译器仍然只支持C/C++,C#的编译器较少而且据说仍不完善。至于Java……哈哈,这种二道贩子还需要劳烦编译器?
4. 可以集成。具体的你需要查阅相应IDE的手册,看看能够集成/添加哪些编译器。
5. 关心到架构就可以。厂商自己扩展的东西多半就是些映射,你看厂商的外设就行;而且很多厂商都提供了易于开发的库(当然他们的库也都是够烂的,用熟了以后就可以扔掉)。
6. 是否用操作系统不影响编译器,整体而言也不影响IDE;当然IDE中如果能够添加针对操作系统组件的原生支持(重点是调试方面),用起来就更方便。
Ⅱ 在控制器,译码器,存贮器,计数器中都有个片选端CE,CS,片选的意思是什么
片选,你可以理解为使能。更加通俗的说,就是这个芯片开始工作了。
片选的使用常常在复用方式中使用,一般自己搭建建议逻辑电路中,都是直接使能就可以了。
呃。自己的答案,无摘抄,出处的话,你可以去看你的教材了。呵呵。
补充回答:
CE chip enabla
cs chip select
区别没其实没什么区别的。
就好像VCC与GND对应VDD与VSS一样。其实就是不同的叫法或者不同的写法,但是追根到底都是一样的。
Ⅲ lx51与BL51,AX51与A51,CX51与C51分别有什么区别
详见A51手册的附录D:汇编器的差异<br /><br />A51与BL51:<br />针对传统8051单片机的开发工具,最大支持32×64KB Code Bank。<br /><br />AX51与LX51:<br />针对传统8051单片机以及部分衍生型号的开发工具,最大支持外扩16 MB的xdata或code。AX51汇编器是A51汇编器的超集,两者的主要差异包括:<br />1.AX51中的数值默认为32位,A51是16位;<br />2.AX51不包含8051的默认SFR定义;<br />3.AX51支持更多的特殊符号,例如ECALL等;<br />4.生成的目标文件不同。AX51生成的目标文件为OMF-251/51MX格式,不受传统OMF-51格式中每个模块不得超过256个外部符号及段的限制。
Ⅳ MDK编译器怎么样
KEIL MDK是基于的Cortex-Arm微控制器的最全面的软件开发解决方案。
它包括IDE,C / C ++编译器,调试器,软件包管理和CMSIS。MDK5版软件包添加新的运行时环境(RTE)来管理设备的支持和软件组件。
超过3000款Arm?的Cortex?-M微控制器的解决方案;
支持32位Arm Cortex-A和Cortex-A/ Cortex-M的基础设备;
Software Packs包括现成可使用的CMSIS和中间件组件;
亿道电子是国内最全面的开发工具提供商, 致力于将全球最先进的软件产品引荐给国内研发型企业使用
Ⅳ 机器人控制器的选择方法有哪些
在选购机器人微控制器时候,最先要考虑的一个是速度问题,主要的一个指标就是运行速度MHz,这个计算机的评价指标是一样的,越高的MHz意味着越快的执行速度和你付出越多的钱。这第二个存储容量的指标是决定你的控制器可以实现的功能的多少和复杂程度,越多的存储空间可以让你存储更多的程序代码,从而实现更多,更复杂的功能。编程语言是一个控制器能够接受的语言类型,一般有C语言,汇编语言或者basic语言,这些通常能被高级一点的控制器直接执行,因为在高级控制器里面内置了编译器能够直接把一些高级语言翻译成机器码,建议想玩机器人的人们都学一点C,毕竟这个是目前被绝大多数编译器或者控制器所接受的语言。
最后一个要考虑的是,如何考虑功耗的问题,由于机器人不太好拖一根长长的电源线在屁股上,所以,除了考虑执行电机的功耗以外,另外一个耗电大户就是控制器了。数控的控制系统可以完全实现机器人的功能,但是他没有机器人的手臂,机器人也可以完成数控系统同的工作,看看5轴数铣中心,与你说的机器人差不多。对于PLC的功能就单一一些,属于直接控制到电机了,按照设定好的步骤进行,能够完成简单一些的工作,虽然没有数控系统那么多功能,但是可以说是简化版本的数控系统。
Ⅵ 全彩led广告灯用什么控制控制器用什么软件编辑
控制LED广告灯一般用的都是plc编程。这是控制器用什么软件,推荐PSP编译器。
Ⅶ PLC可编程控制器和DCS控制系统的区别
1. DCS是一种“分散式控制系统”,而PLC只是一种(可编程控制器)控制“装置”,两者是“系统”与“装置”的区别。系统可以实现任何装置的功能与协调,PLC装置只实现本单元所具备的功能。
2. 在网络方面,DCS网络是整个系统的中枢神经,和利时公司的MACS系统中的系统网采用的是双冗余的100Mbps的工业以太网,采用的国际标准协议TCP/IP。它是安全可靠双冗余的高速通讯网络,系统的拓展性与开放性更好.而PLC因为基本上都为个体工作,其在与别的PLC或上位机进行通讯时,所采用的网络形式基本都是单网结构,网络协议也经常与国际标准不符。在网络安全上,PLC没有很好的保护措施。我们采用电源,CPU,网络双冗余。
3. DCS整体考虑方案,操作员站都具备工程师站功能,站与站之间在运行方案程序下装后是一种紧密联合的关系,任何站、任何功能、任何被控装置间都是相互连锁控制, 协调控制;而单用PLC互相连接构成的系统,其站与站(PLC与PLC)之间的联系则是一种松散连接方式,是做不出协调控制的功能。
4. DCS在整个设计上就留有大量的可扩展性接口,外接系统或扩展系统都十分方便,PLC所搭接的整个系统完成后,想随意的增加或减少操作员站都是很难实现的。
5. DCS安全性:为保证DCS控制的设备的安全可靠,DCS采用了双冗余的控制单元,当重要控制单元出现故障时,都会有相关的冗余单元实时无扰的切换为工作单元,保证整个系统的安全可靠。PLC所搭接的系统基本没有冗余的概念,就更谈不上冗余控制策略。特别是当其某个PLC单元发生故障时,不得不将整个系统停下来,才能进行更换维护并需重新编程。所以DCS系统要比其安全可靠性上高一个等级。
6. 系统软件,对各种工艺控制方案更新是DCS的一项最基本的功能,当某个方案发生变化后,工程师只需要在工程师站上将更改过的方案编译后,执行下装命令就可以了,下装过程是由系统自动完成的,不影响原控制方案运行。系统各种控制软件与算法可以将工艺要求控制对象控制精度提高。而对于PLC构成的系统来说,工作量极其庞大,首先需要确定所要编辑更新的是哪个PLC,然后要用与之对应的编译器进行程序编译,最后再用专用的机器(读写器)专门一对一的将程序传送给这个PLC,在系统调试期间,大量增加调试时间和调试成本,而且极其不利于日后的维护。在控制精度上相差甚远。这就决定了为什么在大中型控制项目中(500点以上),基本不采用全部由PLC所连接而成的系统的原因。 7. 模块:DCS系统所有I/O模块都带有CPU,可以实现对采集及输出信号品质判断与标量变换,故障带电插拔,随机更换。而PLC模块只是简单电气转换单元,没有智能芯片,故障后相应单元全部瘫痪。
Ⅷ 适合win10系统的c语言编译器
桌面操作系统
对于当前主流桌面操作系统而言,可使用 VisualC++、GCC以及 LLVM Clang 这三大编译器。
Visual C++(简称 MSVC)只能用于 Windows 操作系统;GCC 和 LLVM Clang除了可用于Windows操作系统之外,主要用于 Unix/Linux操作系统。
像现在很多版本的 Linux 都默认使用 GCC 作为C语言编译器,而像 FreeBSD、macOS 等系统默认使用 LLVM Clang 编译器。由于当前 LLVM 项目主要在 Apple 的主推下发展的,所以在 macOS中,Clang 编译器又被称为 Apple LLVM 编译器。
MSVC 编译器主要用于 Windows 操作系统平台下的应用程序开发,它不开源。用户可以使用 Visual Studio Community 版本来免费使用它,但是如果要把通过 Visual Studio Community 工具生成出来的应用进行商用,那么就得好好阅读一下微软的许可证和说明书了。
而使用 GCC 与 Clang 编译器构建出来的应用一般没有任何限制,程序员可以将应用程序随意发布和进行商用。
MSVC 编译器对 C99 标准的支持就十分有限,加之它压根不支持任何 C11 标准,所以本教程中设计 C11 的代码例子不会针对 MSVC 进行描述。所幸的是,Visual Studio Community 2017 加入了对 Clang 编译器的支持,官方称之为——Clang with Microsoft CodeGen,当前版本基于的是 Clang 3.8。
也就是说,应用于 Visual Studio 集成开发环境中的 Clang 编译器前端可支持 Clang 编译器的所有语法特性,而后端生成的代码则与 MSVC 效果一样,包括像 long 整数类型在 64 位编译模式下长度仍然为 4 个字节,所以各位使用的时候也需要注意。
为了方便描述,本教程后面涉及 Visual Studio 集成开发环境下的 Clang 编译器简称为 VS-Clang 编译器。
嵌入式系统
而在嵌入式系统方面,可用的C语言编译器就非常丰富了,比如:
用于 Keil 公司 51 系列单片机的 Keil C51 编译器;
当前大红大紫的 Arino 板搭载的开发套件,可用针对 AVR 微控制器的 AVRGCC 编译器;
ARM 自己出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和当前最新的 DS-5 Studio;
DSP 设计商 TI(Texas Instruments)的 CCS(Code Composer Studio);
DSP 设计商 ADI(Analog Devices,Inc.)的 Visual DSP++ 编译器,等等。
Ⅸ PLC可编程控制器的PLC基础知识
PLC的发展历程
在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是第一代可编程序控制器,称Programmable Controller(PC)。
个人计算机(简称PC)发展起来后,为了方便,也为了反映可编程控制器的功能特点,可编程序控制器定名为Programmable Logic Controller(PLC)。
上世纪80年代至90年代中期,是PLC发展最快的时期,年增长率一直保持为30~40%。在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。
PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。
1.2 PLC的构成
从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
1.3 CPU的构成
CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。
1.4 I/O模块
PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
常用的I/O分类如下:
开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。
模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。
除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。
按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。
1.5 电源模块
PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。
1.6 底板或机架
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。
1.7 PLC系统的其它设备
1.7.1 编程设备:编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。小编程器PLC一般有手持型编程器,目前一般由计算机(运行编程软件)充当编程器。也就是我们系统的上位机。
1.7.2 人机界面:最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面非常普及。
1.8 PLC的通信联网
依靠先进的工业网络技术可以迅速有效地收集、传送生产和管理数据。因此,网络在自动化系统集成工程中的重要性越来越显着,甚至有人提出网络就是控制器的观点说法。
PLC具有通信联网的功能,它使PLC与PLC 之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。多数PLC具有RS-232接口,还有一些内置有支持各自通信协议的接口。PLC的通信现在主要采用通过多点接口(MPI)的数据通讯、PROFIBUS 或工业以太网进行联网。
2 PLC控制系统的设计基本原则
2.1 最大限度的满足被控对象的控制要求。
2.2 在满足控制要求的前提下,力求使控制系统简单、经济、使用和维护方便。
2.3 保证控制系统安全可靠。
2.4 考虑到生产的发展和工艺的改进在选择PLC容量时应适当留有余量。
3 PLC软件系统及常用编程语言
3.1 PLC软件系统由系统程序和用户程序两部分组成。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。系统软件由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。STEP7是用于SIMATIC可编程逻辑控制器组态和编程的标准软件包,也就是用户程序,我们就是使用STEP7来进行硬件组态和逻辑程序编制,以及逻辑程序执行结果的在线监视。
3.2 PLC提供的编程语言
3.2.1 标准语言梯形图语言也是我们最常用的一种语言,它有以下特点
3.2.1.1 它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成,左右的竖线称为左右母线。
3.2.1.2 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。
3.2.1.3 梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。
3.2.1.4 内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。
3.2.1.5 PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。
3.2.2 语句表语言,类似于汇编语言。
3.2.3 逻辑功能图语言,沿用半导体逻辑框图来表达,一般一个运算框表示一个功能左边画输入、右边画输出。
4 STEP7程序的使用
4.1 创建一个项目结构,项目就象一个文件夹,所有数据都以分层的结构存在于其中,任何时候你都可以使用。在创建一个项目之后,所有其他任务都在这个项目下执行。
4.2 组态一个站,组态一个站就是指定你要使用的可编程控制器,例如S7300、S7400等。
4.3 组态硬件,组态硬件就是在组态表中指定你的控制方案所要使用的模板以及在用户程序中以什么样的地址来访问这些模板,地址一般不用修改由程序自动生成。模板的特性也可以用参数进行赋值。
4.4 组态网络和通讯连接,通讯的基础是预先组态网络,也就是要创建一个满足你的控制方案的子网,设置网络特性、设置网络连接特性以及任何联网的站所需要的连接。网络地址也是程序自动生成如果没有更改经验一定不要修改。
4.5 定义符号,可以在符号表中定义局部或共享符号,在你的用户程序中用这些更具描述性的符号名替代绝对地址。符号的命名一般用字母编写不超过8个字节,最好不要使用很长的汉字进行描述,否则对程序的执行有很大的影响。
4.6 创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。我们最常采用的是结构化编程和分布编程配合使用,很少采用线形编程。
4.7 下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P),
RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。
5 WINCC程序的使用
5.1 简介,WINCC是在生产和过程自动化中解决可视化和控制任务的工业技术中性系统。具有控制自动化过程的强大功能,是基于个人计算机的操作监视系统,它很容易结合标准的和用户的程序建立人机界面精确的满足生产实际要求。WINCC有两个版本RC版(具有组态和开发环境)、RT版(只有运行环境),我们一般使用的是RC版。
5.2 WINCC简单使用步骤
5.2.1 变量管理,首先确定通讯方式安装驱动程序,然后定义内部变量和外部变量,外部变量是受你买的WINCC软件授权限制的最大授权64K字节,内部变量没有限制。
5.2.2 画面生成,进入图形编辑器,图形编辑器是一种用于创建过程画面的面向矢量的作图程序。也可以使用包含在对象和样式库中的众多的图形对象来创建复杂的过程画面。可以通过动作编程将动态添加到单个图形对象上。
5.2.3 报警记录设置,报警记录提供了显示和操作选项来获取和归档结果。可以任意地选择消息块、消息级别、消息类型、消息显示以及报表。为了在运行中显示消息,可以使用包含在图形编辑器中的对象库中的报警控件。
5.2.4 变量记录,变量记录是用来从运行过程中采集数据并准备将它们显示和归档。
5.2.5 报表组态,报表组态是通过报表编辑器来实现的。是为消息、操作、归档内容和当前或已归档的数据定时器或事件控制文档的集成的报表系统,可以自由选择用户报表的形式。
5.2.6 全局脚本的应用,全局脚本就是C语言函数和动作的通称,根据不同的类型脚本被用于给 对象组态动作并通过系统内部C语言编译器来处理。全局脚本动作用于过程执行的运行中。一个触发可以开始这些动作的执行。
5.2.7 用户管理器设置,用户管理器用于分配和控制用户的单个组态和运行系统编辑器的访问权限。每建立一个用户,就设置了WINCC功能的访问权利并独立的分配给此用户。至多可分配999个不同的授权。
5.2.8 交叉表索引,交叉索引用于为对象寻找和显示所有使用处,例如变量、画面和函数等。使用“链接”功能可以改变变量名称而不会导致组态不一致。
Ⅹ MDK编译器优势有哪些
1.超过3000款Arm?的Cortex?-M微控制器的解决方案;
2.支持32位Arm Cortex-A和Cortex-A/ Cortex-M的基础设备;
3.Software Packs包括现成可使用的CMSIS和中间件组件;
4.MDK专业版支持Armv8-M架构;
5.强大的uVision?IDE,调试器和模拟环境;
6.配合ULINKpro?调试适配器使用生成应用的即时全指令跟踪分析记录;
7.关于程序执行的完整代码覆盖信息;
8.利用执行探查和性能分析器来优化你的代码;
9.调试器完全支持CMSIS-RTOS RTX实时操作系统;
10.提供完整的中间件库:包括TCP/ IP网络,文件系统,USB,和图形界面;
11.具有领先特定处理器优化和microlib的业界领先的Arm C/C ++编译器;
可以到亿道电子下载