程序员编程时要充分定义好的“程序”代码

C语言用结构化的语句代替了汇编语言中的指令,提供了丰富的数据类型和运算符,支持指针功能,编写的代码简洁紧凑,自其诞生之初就受到了众多程序员的喜爱,被视为编程语言的经典。是不是和计算机编程很相似?如果你有计算机高级语言编程的基础,建议学习下SCL语言。

程序员编程时要充分定义好的“程序”代码

在计算机技术的早期,编写“程序”代码并不是一件简单的事情。 由于计算机本身只能理解由“0”和“1”组成的代码,因此程序员只能在纸带上敲出由数字“0”和“1”组成的程序代码(“1”打孔,“0”)无需打孔),然后将磁带送入计算机的输入系统,以便计算机能够理解程序员告诉它要完成的任务。

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

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

虽然汇编语言中的英文指令很容易被人类理解,但微处理器(CPU)却无法理解它们。 于是科学家们设计了一个特殊的程序,将汇编语言的英文指令“翻译”成微处理器(CPU)可以执行的机器代码。 这个翻译程序被称为“编译器”(编译器也有一个开发过程,不深究)。 那些用汇编语言编写的代码称为“源代码”。

与早期的纸带打孔编程相比,汇编语言编程使程序的可读性大大提高。 然而,随着微处理器技术的飞速发展,用汇编语言编写程序逐渐不能满足需要,主要表现在两个方面:

第一:随着程序复杂度的增加,用汇编语言编写的代码量显着增加,编写和维护起来更加困难;

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

于是,一种不需要记忆复杂指令、与硬件平台无关的编程语言就成为了程序员的梦想:C语言。 C语言用结构化语句代替了汇编语言中的指令,提供了丰富的数据类型和运算符,支持指针函数,编写的代码简洁紧凑。 它自诞生以来就受到了很多程序员的喜爱,被誉为编程语言的经典。 时至今日,C语言仍然保持着旺盛的生命力,广泛应用于单片机和嵌入式编程领域。

随着微电子技术在工业控制领域的运用,PLC(可编程逻辑控制器)已经取代了传统的继电器控制系统。 作为“可编程”逻辑控制器,编程语言是必不可少的。 但由于各大厂家的PLC产品各自为政、互不兼容,而且编程语言的语法也各不相同、多种多样,给PLC的应用和推广带来了不便。

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

我们来谈谈这五种编程语言:

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

虽然梯形图很容易使用,但在编写大型系统程序时可能会非常困难。 很多书都建议初学者学习梯形图。 我不同意,除非你接触过简单的逻辑控制。 当你感觉需要控制的逻辑系统变得复杂,想要换一门语言时,基本上就得从头学起。 所以我建议初学者学习功能块图(FBD-Function Block Chart)。

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

结构化文本(ST-Structured Text)编程语言在西门子PLC编程中称为SCL(Structure Language)。 先给大家看一下我在项目中使用SCL编写的程序代码截图:

程序员编程时要充分定义好的“程序”代码

它与计算机编程类似吗? SCL的语法与VB(PASCAL)等高级语言类似,接近人类思维,程序可读性强。 在西门子Step7 5.x平台下可以通过插入源文件的方式进行编程,在Portal平台下可以直接编写。 SCL可以说是工业控制领域的“高端”编程语言。 它的源代码编译后也非常高效。 如果您之前接触过高级计算机语言编程,强烈建议深入学习SCL语言。

指令表(IL)在西门子PLC中称为语句表(STL)。 它类似于汇编语言,对程序员的要求很高。 他们需要熟悉PLC内部的各种寄存器、状态字等。 他们需要熟悉各种指令,并知道指令执行后哪些寄存器会受到影响。 用STL编写的程序可读性较低,但其执行效率是所有语言中最高的。 有些特殊功能很难或不可能用其他语言表达(如梯形图)。 语言表(STL)可以用几行代码完成。

SFC-顺序功能图语言在西门子PLC中称为S7-GRAPH。 这种语言非常适合生产过程的顺利控制。 它将整个生产过程分为多个“步骤”。 每个“步骤”都有一定的要完成的操作。 当满足一定条件时,可以跳转到下一个“步骤”。 这就是所谓的“顺序控制”。

IEC61131-3推荐的五种语言分别用于不同的工业控制场合。 作为初学者,建议学习功能块图(FBD)语言。 如果有计算机高级语言编程基础,建议学习SCL语言。 当然,无论学习哪种语言,首先要了解PLC本身。 你一定知道PLC的内部资源是如何存储的吗? 程序怎么称呼? 知道了这些之后,你就知道程序应该怎么写,为什么要这样写了。

单片机

梯形图编程言语和指令表编程语言的特点及特点

2024-2-29 0:02:54

单片机

如何看蓝桥杯的这一张原理图,帮助我们更好的编程

2024-2-29 1:02:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索