前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ST语言:电气工程师迈向高工资的必备技能

ST语言:电气工程师迈向高工资的必备技能

作者头像
剑指工控
发布于 2023-09-14 06:35:20
发布于 2023-09-14 06:35:20
69100
代码可运行
举报
文章被收录于专栏:剑指工控剑指工控
运行总次数:0
代码可运行

JZGKCHINA

工控技术分享平台

1

引言:

ST(Structured Text)语言是一种用于编写工业自动化系统中的可执行程序的高级编程语言。它具有丰富的运算符和表达式,以及多样化的程序控制语句,给工程师们提供了强大而灵活的工具。本文将带你初步了解 ST 语言的基础,从基础概念的了解,增加对ST语言的兴趣,从而为编写程序提供一个可选的解决思路。

2

ST 语言简介:

ST 语言是一种结构化的文本编程语言,它基于 Pascal 语言的语法,并借鉴了 C 和 Ada 语言的特性。ST 语言可用于编写 PLC(可编程逻辑控制器)等自动化设备的程序。它具备代码的模块化、易读性和可维护性,使得工程师能够高效地开发、调试和维护自动化系统。

3

运算符介绍:

ST 语言中有多种运算符,用于执行各种数学和逻辑操作。以下是一些常用的运算符:

3.1

算术运算符:+(加)、-(减)、*(乘)、/(除)、**(幂运算)、MOD(取余)等。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   a := 10;
   b := 2;
   result_1 := a + b;  // 结果为 12
   result_2 := a - b;  // 结果为 8
   result_3 := a * b;  // 结果为 20
   result_4 := a / b;  // 结果为 5
   result_5 := a ** b;  // 结果为 100
   result_6 := a MOD b;  // 结果为 0

3.2

赋值运算符:=

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   a := 10;
   b := a;  // 将 a 的值赋给 b   

3.3

关系运算符:=(等于)、<>(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)等。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   a := 10;
   b := 5;
   result_1 := a = b;  // 结果为 FALSE
   result_2 := a <> b;  // 结果为 TRUE
   result_3 := a > b;  // 结果为 TRUE
   result_4 := a < b;  // 结果为 FALSE
   result_5 := a >= b;  // 结果为 TRUE
   result_6 := a <= b;  // 结果为 FALSE

3.4

逻辑运算符:AND(与)、OR(或)、NOT(非)等。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   a := TRUE;
   b := FALSE;
   result_1 := a AND b;  // 结果为 FALSE
   result_2 := a OR b;  // 结果为 TRUE
   result_3 := a AND NOT b;  // 结果为 TRUE

4

表达式介绍:

ST 语言中的表达式用于计算和产生值。以下是一些常见的表达式:

4.1

赋值表达式:

赋值表达式用于将一个值赋给一个变量或对象。例如:a := 10;

4.2

算术表达式:

算术表达式用于执行数学运算。例如:result := a + b;

4.3

关系表达式:

关系表达式用于比较两个值之间的关系。例如:result := a > b;

4.4

逻辑表达式:

逻辑表达式用于判断逻辑条件是否成立。例如:result := a AND b;

5

程序控制语句介绍:

ST 语言提供了丰富的程序控制语句,用于控制程序的流程和执行顺序。以下是一些常用的程序控制语句:

5.1

条件语句 IF:

IF 语句根据条件的真假来执行不同的代码块。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   IF a > 10 THEN
       // 执行某些操作
   ELSE
       // 执行其他操作
   END_IF

5.2

循环语句 FOR:

FOR 语句用于重复执行一个代码块,直到达到指定的条件。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   FOR i := 1 TO 10 DO
       // 执行循环体操作
   END_FOR   

5.3

循环语句 WHILE:

WHILE 语句根据条件的真假来重复执行一个代码块。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   WHILE condition DO
       // 执行循环体操作
   END_WHILE   

5.4

循环语句 REPEAT UNTIL:

REPEAT UNTIL 语句在条件为真之前重复执行一个代码块。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   REPEAT
       // 执行循环体操作
   UNTIL condition   

5.5

CASE OF 语句:

CASE OF 语句根据表达式的不同取值执行相应的代码块。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   CASE expression OF
       value1:
           // 执行操作1
       value2:
           // 执行操作2
       ELSE
           // 执行其他操作
   END_CASE   

5.6

RETURN 语句:

RETURN 语句用于在函数或函数块中返回一个值并终止执行。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   FUNCTION ExampleFunction : INT
       // 执行一些操作
       RETURN 42;
   END_FUNCTION   

5.7

EXIT 语句:

EXIT 语句用于提前终止循环或程序块的执行。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   FOR i := 1 TO 10 DO
       IF i = 5 THEN
           EXIT;  // 提前退出循环
       END_IF
       // 执行循环体操作
   END_FOR   

6

总结

当你学习 ST 语言时,这是一个基于结构化文本的编程语言,特别适用于工业自动化领域。ST 语言有以下几个重要的特点和要点:

  1. 结构化:ST 是一种结构化编程语言,它使用代码块、条件语句和循环语句来组织程序。这样可以使程序更加清晰和易于阅读。
  2. 数据类型:ST 支持多种数据类型,包括基本数据类型(例如整数、浮点数和布尔值)以及复杂数据类型(例如数组和结构体)。你可以使用这些数据类型来存储和操作数据。
  3. 变量和常量:在 ST 语言中,你可以声明和使用变量和常量。变量是用于存储和操作数据的内存空间,而常量是在程序执行期间不会改变的值。
  4. 运算符和表达式:ST 提供了各种运算符(例如算术运算符、逻辑运算符和关系运算符),你可以使用这些运算符来执行各种数学和逻辑操作。
  5. 条件语句:ST 提供了条件语句(例如 IF-THEN-ELSE 语句和 CASE 语句),用于根据条件的真假来执行不同的代码块。这使得你可以根据特定的情况采取不同的操作。
  6. 循环语句:ST 提供了循环语句(例如 FOR 循环、WHILE 循环和 REPEAT UNTIL 循环),用于重复执行一段代码块,直到满足特定的条件为止。
  7. 函数和函数块:ST 支持函数和函数块的定义和使用。你可以将一段可重复使用的代码封装到函数或函数块中,并通过调用函数来执行这段代码。
  8. 调试和错误处理:ST 支持调试和错误处理的机制。你可以使用调试工具来检测和修复程序中的错误,并使用异常处理机制来处理异常情况。

总的来说,ST 语言是一种强大的编程语言,特别适用于工业自动化领域的程序开发。通过学习 ST 语言,你将能够编写出高效、可靠且易于维护的工控程序。祝你在 ST 语言的学习和实践中取得成功!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-05 06:00,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Web页面全链路性能优化指南
性能优化不单指优化一个页面的打开速度,在开发环境将一个项目的启动时间缩短使开发体验更好也属于性能优化,大文件上传时为其添加分片上传、断点续传也属于性能优化。在项目开发以及用户使用的过程中,能够让任何一个链路快一点,都可以被叫做性能优化。
唐志远
2022/10/27
1.9K0
Web页面全链路性能优化指南
腾讯企鹅辅导 H5 性能极致优化
H5 项目是企鹅辅导的核心项目,已迭代四年多,包括了课程详情页/老师详情页/报名页/支付页面等页面,构建产物用于企鹅辅导 APP/H5(微信/QQ/浏览器),迭代过程中了也累积了一些性能问题导致页面加载、渲染速度变慢,为了提升用户体验,近期启动了 “H5 性能优化” 项目,针对页面加载速度,渲染速度做了专项优化,下面是对本次优化的总结,包括以下几部分内容:
winty
2021/08/24
1.3K0
腾讯企鹅辅导 H5 性能极致优化
【总结】2072- 前端常见性能优化策略
采用域名分片技术,将资源放到不同的域名下。接触同一个域名最多处理6个TCP链接问题。
pingan8787
2024/06/19
1580
【总结】2072- 前端常见性能优化策略
为什么 Lighthouse 10.0 取消了 TTI 作为观测指标?
Lighthouse是一款网站审核工具,可为开发者提供优化建议和诊断信息,帮助他们改善网站的用户体验。
19组清风
2024/05/04
3650
为什么 Lighthouse 10.0 取消了 TTI 作为观测指标?
干货 | 提升50分,Trip.com 机票基于 PageSpeed 的前端性能优化实践
作者简介 Patrick,携程资深前端开发工程师,专注于前端工程化和性能优化。 前言 网站性能对于用户体验、转化率和流失率、SEO 排名等至关重要,Trip.com 主要用户来自海外,对网站访问性能有更高的要求。能够快速响应的网站通常有机会获取更多流量,并为用户带来更好的体验。 近期我们对 Trip.com 机票站点做了一版性能优化,通过对主要 landing 页面进行系统优化,将页面的 PageSpeed 评分从原本 30 左右提升到 80 分以上。 这里分享在优化过程中的一些经验,将从性能指标、性能测
携程技术
2022/03/04
7150
vue项目你一定会用到的性能优化!
而本渣最近维护的项目恰巧在这个方向下了很大功夫,一些经验之谈奉上,希望对大家有些许帮助!
用户7413032
2022/04/24
1.3K0
vue项目你一定会用到的性能优化!
一个工作三年的前端是如何做性能优化的
你是怎么做性能优化的?关于这一个问题,也是我们前端开发程序员经常会讨论到的问题,接下来这篇文章将总结一下前端方面的性能优化及方式。
程序媛夏天
2024/01/18
2620
一个工作三年的前端是如何做性能优化的
浏览器之性能指标-FID
当用户在浏览器中与网页进行交互时,会触发许多用户输入事件,这些事件会触发浏览器的渲染过程。
前端柒八九
2023/08/10
6020
浏览器之性能指标-FID
浏览器之性能指标-TBT
RAIL 是一种以「用户为中心的性能模型」,它提供了一种考虑性能的结构。该模型将用户体验分解到按键操作(例如,点击、滚动、加载)中,帮助我们为每个操作定义性能目标。
前端柒八九
2023/08/10
1.3K0
浏览器之性能指标-TBT
前端页面性能及其分析工具
本文结合谷歌官方工具 Lighthouse,分析了最新的前端页面性能评分标准,帮助大家更好地理解各项性能指标,以提升并优化相关的前端项目。
前端迷
2021/01/29
3.2K0
被diss性能差,Dan连夜优化React新文档
昨天在开源圈发生个小插曲。起因是有个用户表示:React新文档在文档结构、美观度、性能等各方面都达到很高的标准。
公众号@魔术师卡颂
2022/06/10
9040
被diss性能差,Dan连夜优化React新文档
从龟速 11s 到闪电 1s,详解前端性能优化之首屏加载
全文共6511字/词,阅读大概需要13分钟,太长不看党请直接移步👉「开始优化」部分直接查看优化手段 背景 前段时间公司服务器网络波动,网站访问变慢,一些性能问题也随之暴露了出来。纷纷反馈在这样的弱网条件下,访问新项目时,加载了近1分钟都没加载出来,而访问其他页面顶多也就30-40s。 在网络恢复后,尝试访问了下页面,无缓存首次打开需要等待近11s的时间,最大的资源达到了3.7M... 在对项目做了一些优化处理后,再次无缓存打开可以发现网页几乎是秒开,平均耗时在1s以内 在这里总结记录一下,基本上都是一些
@超人
2021/12/17
3.4K0
从龟速 11s 到闪电 1s,详解前端性能优化之首屏加载
新时代的 Google Web Vitals 性能指标
传统的性能指标如 load time[1] 或 DOMContentLoaded[2] 专注于容易衡量的技术细节,但是它们很难反应出用户所真正关心的是什么。如果你仅仅是把加载速度优化的更快,你很快就会发现网站的用户体验依然很差。一个站点的总加载时间可以很快,但如果它直到所有内容都准备好了才渲染的话,用户只能盯着空白的屏幕一段时间。如果点击了按钮但没有反应,是因为主线程被 JavaScript 任务占满而阻塞了,此时虽然页面已经“加载”,但用户依然会感到沮丧。
前端迷
2021/11/12
1.6K0
如何完成WEB标准的网站重构?
实际重构时建议采用 渐进式重构 策略,优先处理关键路径页面,同时建立 自动化检测机制 防止退化。
裕贞
2025/02/17
880
如何完成WEB标准的网站重构?
浏览器之性能指标_FCP
在前几天,我们写了,关于如何利用fetchpriority对页面资源进行优先级的处理。
前端柒八九
2023/08/01
1.6K0
浏览器之性能指标_FCP
Web前端性能优化工具
可以查看到网站所有资源的请求情况,包括加载时间、尺寸大小、优先级设置及HTTP缓存触发情况等信息,从而帮助我们发现可能由于未进行有效压缩而导致资源尺寸过大的问题,或者未合理配置缓存策略导致二次请求加载时间过长的问题等
yeedomliu
2022/12/03
1.1K0
Web前端性能优化工具
写在 2021 的前端性能优化指南
当收集浏览器端每个用户核心性能指标时,可通过 web-vitals 收集并通过 sendBeacon 上报到打点系统。
山月
2021/10/27
1.3K0
写在 2021 的前端性能优化指南
讲讲前端性能优化
“好事”文章:前端小白使用Docsify+Markdown+‌Vercel,无服务器部署个人知识库
用户7194327
2024/12/04
970
前端性能优化(PC版)
前端的性能优化是一个很宽泛的概念,最终目的都是为了提升用户体验,改善页面性能。面试的时候经常会遇到问谈谈性能优化的手段,这个我分几大部分来概述,具体细节需要自己再针对性的去搜索,只是提供一个索引(太多了写不过来+主要是懒得写)。这里PC端和移动端分开说了,业务场景不同,需要考虑各自的优化手段
红目香薰
2022/11/29
9090
【腾讯云前端性能优化大赛】前端首屏性能优化实战
在现在的网络环境下,用户访问网页时,如果首屏在3S以内是可以接受的,但是如果首屏在10S以上,绝大部分用户都不会继续等待,这样就会导致用户的流失,对于个人或者企业来说都是不可接受的,所以首屏优化已经成为网页必不可少的一部分。
xwj
2021/12/16
1.6K0
相关推荐
Web页面全链路性能优化指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档