大家好,今天小编关注到一个比较有意思的话题,就是关于编程语言与设计模式有哪些的问题,于是小编就整理了3个相关介绍编程语言与设计模式有哪些的解答,让我们一起看看吧。
PLC(可编程序)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:
梯形图(LD语言)也有叫LAD语言、顺序功能图(***C)语言、功能块图(FBD)语言, 指令表(IL)语言和结构文本(ST)语言,也有叫SCL语言,
LD语言是PLC程序设计中最的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,此编程语言使用最为广泛
***C语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,可以使程序结构清晰,易于阅读及维护,减轻编程的工作量,缩短编程和调试时间。
ST语言是用结构化的编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,用于复杂算法的实现,主要用于其他编程语言较难实现的用户程序编制。
下图为的IL语言
下图为FBD编程语言
PLC是一种最初被设计以替代继电器回路的电子设备,传统的继电器控制回路相当复杂,且不容易维护,PLC将继电器回路的硬接线工作替换为软件的编程,在外部仅保留必要的输入与输出接口,这样以避免继电器回路在设计、连接及维护时带来的不便。之后,随着技术的不断进步,PLC的应用范畴也逐渐超出了单纯的继电器控制回路,继承了诸如PID调节、运动控制等高级功能。
PLC的编程也是设计为面向工程师而非程序员的,按照IEC标准,可以***用梯形图、STL、功能块等不同的语言进行编程。在各种语言中应用最广泛的仍然是梯形图,这是将继电器回路形象化转化而成的一种语言,对于有经验的工程师而言,是最容易适应与学习的。
三菱编程语言有三种, ***C语言、ST语言和FB语言。这三种语言各自有自己的优缺点,都在行业中大量被应用。
一、***C(Sequential Function Chart)是"顺序功能图”的缩写,一种编程语言。是将整个控制流程分割为一系列的控制步,用以清晰的表示程序执行顺序和控制条件。 ***C的优点
在程序中可以很直观的看到设备的动作顺序。编程规则像设各动作顺序一样被严格限制。机械设各工程师都能很容易地理解程序不同编程人员引起的程序差异性减到最小。更容易设计和维护系统,不需要复杂的互锁电路还可以用大家熟悉的梯形图编程方法。
二、ST语言,运算符·控制结构·函数等制作程序,运算符:*,+,一,<,>,=等,控制结构:条件式,重复,选择分支等,函数:MELSEC命令,IEC标准函数。
ST语言优点
2、支持的ST语言符合工EC61131-3标准,类似于高级语言VC的编程/
3、支持在线修改
4、使用ST功能块提高了设计的效率
单片机除了可以用汇编和c[_a***_],还有其他什么编程语言吗?
除了C和汇编,超子还接触过使用arduino、Labview、python以及Lua对单片机进行程序开发。不过这些相对比较小众,没有普适性。
Arduino应该算是一种对C和C++语言高度延伸的特有编程语言吧,因为其核心库是基于C和C++混合编写而成,提供给用户高度封装过的API接口。
其通常只针对于特定的Arduino环境的硬件开发板,通常是ATMEL公司的ATMEGA系列的8位或是32位的单片机。还有就是ESP8266也可以使用Arduino进行开发。
LabVIEW是由美国国家仪器(NI)公司研制开发的一种编程语言。它不同于C这种基于文本的编程语言,而是***用图形化编辑语言G编写程序。通过拖动控件,使用连接线连接各个控件,所有的数据都要基于数据流的模式。
使用LabVIEW可以对STM32单片机进行编程,当然这种方式还是比较小众,适合有一定Labview基础的人群。
现在主要还是c语言和汇编语言,这两个是当前底层系统必须的。未来可能会出现新的语言,现在也有在单片机上跑Python解释器然后用Python编写应用程序的,如micropython。也有JavaScript虚拟机的,然后使用JavaScript编写应用。这两个在单片机软件开发中还没成气候。
以一个业内近15年工作经验的人来解答:单片机派系众多,美系、日系、韩系、台系,还有现在的大陆系,各家使用的IDE各不相同。
对于非公版MCU来说,只有原厂对自家底层最熟悉,各种指令架构各种坑,只有自家的编译器才能正确解释,当然自家的汇编指令集是最高效的,各种停产各种升级,想要移植换片子,想起来就头大!
对于公版的如8051、ARM架构,繁衍出很多能够适配的第三方编译环境,如Keil、IAR等,使用C语言编辑,能够完全不用理会各种“bit宽度、BANK、Page”,不太了解指令架构也可以越过各种沟各种坑!
只要给的起钱,这些第三方的编译器都会尽量满足你,想要用什么语言来写,只要你高兴就好。未来Python、J***aScript流行开来,这些也能免费适配。
总之不管用什么语言来编辑,能够简单高效的解析出硬件需求,实现产品所规划的功能才是一个程序员的价值所在。
哪几种编程语言可以用到单片机编程里?
现在单片机的型号比较多,绝大部分编写单片机程序都用的比较多的语言有两种,一种是苦涩难懂而执行效率高的汇编语言;另一种是普遍受广大嵌入式工作者喜爱的C语言。以上两种语言是目前编写单片机程序用的最多的。
这两种语言各有优缺点,汇编语言好处是执行的效率高,它直截访问的是单片机内部的寄存器,但其可读性和维护性不好;而C语言好处是容易维护、可读性好并且接近人类语言,但执行效率只是汇编的80%。在做单片机大型控制系统时所用C语言较多;而在控制时间精度和实时性要求较强的场和应用汇编语言较多。现在有的编程软件可以支持c语言和汇编语言的混合编程,比如KeiI软件就是支持混合编程的。
当然还有一些单片机也有一些自己的编程语言,它们用的是精简指令,类似汇编语言的编程模式,比如OTP(一次性编程单片机)、PIC单片机等;还有一种是可编程的逻辑芯片(CPLD)运用的是硬件描述语言(VHDL)类似C语言风格。总体来说汇编语言和C语言是单片机两大主流编程语言!
以上是我对这个问题的回答,欢迎大家参与讨论并观注电子及工控技术!
当前总的来说C和汇编最普及,一些不太常用,但有不少铁粉的有如:basic, pascal, elua, ePython, J***aScript等高级语言。
近年来,随着单片机计算能力增强,内存和闪存增大,外设增多,带OS的解释型语言有大举进军单片机之势,一些分布式传感器、控制器等应用,很多既需要联网使用,又要有很好的可扩展性和在线更新/升级的能力,用传统的裸奔方式开发,没有一定用量的话成本就高去了,现在不是讲“个性化”嘛,这样就得用小批量、差异化来做产品。
解释语言如elua,epython等有大量的pc经验程序员可以稍加学习就可以做,即使产品不够完美,也可以先少量出产品,然后不断在线迭代,逐步满足用户不同需求,这是传统做法达不到的。当然,就当前而言,大量的产品还得靠C和a***。
嵌入式和单片机目前基本还是c语言是主流。
原因是,C语言语法简洁,却能实现无数功能,然后就是执行效率高
相对于汇编语言,C语言没有他的晦涩难懂,效率还差不了多少。
除了单片机,目前有些新设备(树莓派,arduino等)也可以作为一些电子设计,DIY项目的处理器。这些用Python的比较多。
目前大部分单片机都可***用C语言和汇编语言,部分高级单片机如DSP,可***用C++进行面向对象的编程。
1、汇编语言。***用汇编语言进行编程,优点是会对单片机的架构理解的比较透彻,软件运行速度较快,可控性比较高。缺点是不同单片机的汇编指令不同,可移植性较差。所以目前大部分编程都***用C语言。但对于时间可控性较高的,则还需要汇编编程,以及实时系统移植也需要汇编语言。
2、C语言。C语言是目前单片机编程最常用的语言。C语言具有易编程,结构化,可移植性的优点,因此被广泛利用。
3、C++。由于DSP具有处理速度快,可处理较为复杂的系统,因此某些开发坏境支持C++面向对象的编程,如Code Composer Studio。
到此,以上就是小编对于编程语言与设计模式有哪些的问题就介绍到这了,希望介绍关于编程语言与设计模式有哪些的3点解答对大家有用。