plc的编程语言一般有 PLC编程语言你知道多少

微电子技术的发展使得集成芯片产生了一定程度的“智能”,微处理器(CPU)能够按照我们开发者预先设定好的“程序”来运行,我们通过编写“程序”代码,达到与计算机(PC)去工作的目的。

plc的编程语言一般有 PLC编程语言你知道多少

在计算机技术发展的早期,“程序”代码的编写并不是一件简单的事情。由于计算机本身只能理解“0”和“1”组成的代码,于是编程人员只能把“0”和“1”的数字编成的程序代码打在纸带(“1”打孔,“0”不打孔)上,然后将纸带放入计算机的输入系统中,这样计算机才能明白程序员让它完成什么任务。

程序员编程时要充分定义好每一个“位”的含义,然后按照规定好的逻辑将它们组合成代码。这种由“0”和“1”组成的代码十分地复杂,人类很难理解,给程序的编写、修改和维护都带来了很大的困难。

为了提高程序编写的效率,提高代码的可读性及可维护性,计算机科学家们发明了“汇编语言”。汇编语言使用特定的英文符号代替机器指令,大大增强了程序的可读性,提高了编程的效率。

汇编语言的英文指令虽然便于人类理解,但微处理器(CPU)却无法理解。于是科学家们设计出一个专门的程序,用来把汇编语言的英文指令,“翻译”成微处理器(CPU)能够执行的机器代码,这个翻译程序,被称为“编译器”(编译器也有个发展的过程,不深究)。那些用汇编语言写成的代码,被称为“源代码”。

汇编语言编程与早期的纸带打孔编程相比,程序的可读性大大增强。但随着微处理器技术的迅猛发展,用汇编语言来写程序也逐渐不能满足需求了,主要表现在两个方面:

第一:随着程序复杂性的提高,汇编语言编写的代码量显著增加,编写和维护的难度变大;

第二:汇编语言依赖于特定的微处理器,程序的跨平台移植性很差,很多时候需要重新编写;

于是,一种不需要记忆繁杂指令的、与硬件平台无关的编程语言就成了程序员们梦寐以求的东西就是C语言。C语言用结构化的语句代替了汇编语言中的指令,提供了丰富的数据类型和运算符,支持指针功能,编写的代码简洁紧凑,自其诞生之初就受到了众多程序员的喜爱,被视为编程语言的经典。时至今日C语言仍保持着强大的生命力,在单片机和嵌入式程序设计中有着广泛的使用。

随着微电子技术在工业控制领域的使用,PLC(可编程逻辑控制器)取代了传统的继电器控制系统。作为“可编程”逻辑控制器,编程语言必不可少。但是由于各大厂家的PLC产品自成一派,相互不兼容,编程语言的语法也各有所好,形形色色,PLC应用和推广带来了不便。

为了规范PLC的编程语言,国际电工委员会(International Electrotechnical Commission)起草并颁布了工业自动化领域编程语言的标准(IEC 61131-3),制定了五种在工控领域使用的语言,包括图形式语言和文本式语言。图形式语言包括:梯形图(LD-Ladder Diagram)、功能块图(FBD- Function Block Diagram)和顺序功能图(SFC- Sequential Function Chart)。文本式语言包括:指令表(IL-Instruction List)和结构化文本(ST-Strutured Text)。

下面我们来聊聊这五种编程语言:

在各种PLC的编程语言中,使用最多的梯形图(LD-Ladder Diagram)语言。梯形图是从早期继电器控制系统原理图演变而来,与继电器电路图相似,直观易懂,保留了继电器电路图的风格和习惯,是熟悉继电器控制系统人员最容易接受和使用的语言。

梯形图虽然容易上手,但是在编写大型系统程序的时候会很吃力。很多书都建议初学者学习梯形图,我不敢苟同,除非你接触的都是些简单逻辑控制。当你感到需要控制的逻辑系统变得复杂,想换一种语言的时候,基本还是要从头学起。所以我建议初学者学习功能块图(FBD- Function Block Diagram)。

功能块图(FBD)使用数字电路的逻辑符号(“与”、“或”、“非”)来表达控制逻辑,在编写大型复杂系统的时候也能保证逻辑清晰

结构化文本(ST-Strutured Text)编程语言,在西门子PLC编程中被称为SCL(Structure Language),先给你看看我在某项目中使用SCL编写的程序代码的截图:

plc的编程语言一般有 PLC编程语言你知道多少

是不是和计算机编程很相似?SCL的语法类似VB(PASCAL)等高级语言,接近人类的思维方式,程序的可读性很强。在西门子Step7 5.x平台下可以使用插入源文件的方式进行编程,在博途平台下可以直接编写。SCL可以说是工控领域里“高大上”的编程语言,它的源代码编译后的效率也很高,如果你之前接触过计算机高级语言编程,强烈建议深入学习下SCL语言。

指令表(IL),在西门子PLC中称为语句表(STL)。它类似于汇编语言,对编程人员要求较高,需要熟悉PLC内部的各种寄存器、状态字等等,需要熟悉各种指令,并清楚某指令执行后会对哪些寄存器产生影响。语言表(STL)编写的程序可读性相对较低,但其执行效率在所有的语言中是最高的。有些特殊的功能使用其它语言(比如梯形图)表达很困难,或者根本无法表达,语言表(STL)可能几行代码就完成了。

顺序功能图(SFC- Sequential Function Chart)语言,在西门子PLC中称为S7-GRAPH。该语言非常适合生产过程的顺利控制,它把整个生产过程分成若干“步”,每一“步”都有某些动作要完成,当某个条件满足后,可以跳到下一“步”,也就是所谓的“顺序控制”。

IEC61131-3推荐的五种语言,在不同的工控场合下均有使用,作为初学者,建议学习功能块图(FBD)语言。如果你有计算机高级语言编程的基础,建议学习下SCL语言。当然,无论学哪种语言,都首先要理解PLC本身,要知道PLC内部资源是如何存储?程序是如何调用?知道了这些后,你才清楚程序应该怎样写,以及为什么这样写。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月28日
下一篇 2022年6月28日

相关推荐

  • iPhone 「熄屏显示」功能“触发”方法,升级到 iOS 16 就可以用

    根据此前外界猜测,熄屏显示只会支持 iPhone 14 Pro 和 iPhone 14 Pro Max ,这两款机型将使用升级到 LTOP 的屏幕,支持 1Hz~120Hz 高刷,…

    2022年6月20日
  • 鸿蒙 HarmonyOS 3.0 开发者 Beta 版本开启公测招募

    IT之家 6 月 15 日消息,据华为官网消息,鸿蒙 HarmonyOS 3.0 开发者 Beta 版本已开启公测招募。 据官方介绍,HarmonyOS 3.0 开发者 Beta …

    2022年6月17日
  • 易烊千玺有气无力回应全文分析

    我将此次发文拆分一下,来表达一下我的想法。 ① 是的,现在官方已经回复了,你确实有解释的立场了?但是我觉得对你来说解释清楚也没有那么的难,只要你把参加面试的整个过程的细节详详细细的…

    2022年7月19日
  • 手机真的会被他人监控?甚至会监控到微信聊天记录?教你如何反制

    手机被他人远程监控,这是一个敏感的话题,也是大众群体所关心的一个问题。手机真的会被他人远程监控吗?微信聊天记录会不会也被他人监控? 手机被他人远程监控指的是程序员通过电脑端、手机端…

    2022年6月18日
  • 孩子刚学会说话,怎么有点口吃?

    家有活泼好动充满能量的小伙子一枚,一周后就是三岁的大孩子了哈哈。 原先计划着在这儿记录小朋友的点点滴滴, 结果定力不足就一直搁置了,一搁就鸽了一年一年又一年。 皮皮,也就是这个系列…

    2022年8月23日
  • 远程控制开关怎么使用?

    远程控制开关:通过4G网络信号,可实现全国范围内无距离限制的开关控制,不受山川、河流、天气等因素的影响。手机无需下载APP,使用微信扫描控制器的二维码,进入小程序直接控制。 远程控…

    2022年7月26日
  • 深入Synchronized各种使用方法

    深入学习Synchronized各种使用方法 在Java当中synchronized通常是用来标记一个方法或者代码块。在Java当中被synchronized标记的代码或者方法在同…

    2022年8月29日
  • 快手宣布与乐视视频战略合作,独家自制版权作品可二创

    【来源:新京报贝壳财经】 6月30日,快手宣布与乐视视频就乐视的独家自制内容达成二创相关授权合作,快手创作者可以对乐视视频独家自制版权作品进行剪辑及二次创作,并发布在快手平台内。乐…

    2022年7月1日
  • 国务院第九次大督查征集问题线索

    丨来源:新华社 国务院第九次大督查围绕稳增长稳市场主体稳就业保民生等工作征集问题线索 为推动各地认真贯彻党中央、国务院决策部署,全面落实疫情要防住、经济要稳住、发展要安全的要求,加…

    2022年8月4日
  • 8个好用不要钱的微信小程序,个个都是精品中的精品

    分享最实在的玩机技巧,洞察最前沿的科技资讯!大家好,这里是手机科技园! 微信上隐藏着很多实用的小程序,今天就给大家分享8个好用不要钱的微信小程序,个个都是精品中的精品。 01.AI…

    2022年6月26日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息