一、结构化文本(ST 语言)

结构化文本(Structured Text)简称 ST 语言,是 IEC61131-3 所规定的 PLC 编程语言之一,

用于工业控制的高级语言。由于其编写方式与一般计算机语言相似,多用于较为复杂的控制

场合和复杂的控制算法中。

1、特点:

编程语言采用高度简化的表达形式,使得程序紧凑,结构清晰;

带有多种控制语句,便于实现复杂的控制逻辑,如IF、 CASE条件语句和FOR、WHILE、 REPEAT循环语句;

程序结构清晰,便于阅读。

2、ST程序结构

ST语言的程序由语句组成,语句由表达式和关键字组成,表达式由操作数和操作符组成。

ST结构

二、语法基础

1、表达式

表达式的构成

ST语言的程序中,表达式由操作数和操作符组成。

一个表达式可包含一个或多个操作符、变量和函数

语法1

操作数

操作数可以是表示数据的数据文字、字符串文字、时间文字、变量元素、函数调用和其他表达式;

例如: 15、 TRUE、 T#20S、 ARRAY1[1]、 SIN(A)、(A>B) &(C=D)。

操作符

在一个表达式中使用多个操作符时,按优先级从高到低依次执行。 相同优先级的操作符按照书写顺序从左向右依次执行。

操作符

2、语句

赋值语句

赋值语句用于将赋值符号(:=)右侧的表达式计算的值赋给左侧的变量。

格式

赋值语句的一般形式如下, 其中“:=”为赋值操作符, 且要用分号“;”结尾。

格式 变量 := 表达式 ;

例子

变量1 := 100 ; //对变量1赋值100

变量2 := TRUE; //对变量2赋值TRUE

变量3 := 变量1 *2 ; //将变量1乘以2后得到结果赋值给变量3

变量4 := SIN(变量3); //将变量3做正弦运算后的结果赋给变量4

数组A[1] := 1.5; //对数组A下标为1的元素赋值1.5

变量5 := 1; 变量6 := 1.5; 变量7 := FALSE; //一行中可以同时存在多条赋值语句

函数调用

u 函数(FC)调用后将其返回值作为表达式的值赋值给其他变量,其一般格式如下:

变量 := 函数名(参数表) ;

参数表有两种书写方式:

方式1: 变量 := 函数名 ( 函数输入参数1 := 输入变量1 ,函数输入参数2 := 输入变量2 , … );

方式2: 变量 := 函数名 (输入变量1 , 输入变量2 , … );

例如:通过函数MAX(取最大值)选取变量1和变量2中的最大值,并将该最大值赋值给变量3,两种调用方式如下:

方式1:变量3: =MAX(IN1:=变量1, IN2:=变量2);

方式2: 变量3: =MAX(变量1,变量2);

注意:

通过方式2调用时,参数表中的变量从左往右依次与函数的输入参数对应,所以不能空缺;

某些二元操作符不能作为函数名进行函数调用,如MOD、 AND,NOT等:

注意变量: =MOD(变量1,变量2); ×

变量: =变量1 MOD 变量2; √

例子

函数调用

功能块调用

功能块(FB)调用需要将其进行实例化,通过实例名称实现调用,其一般格式如下:

格式

功能块实例名(参数表) ;

参数表有两种书写方式:

方式1: 功能块实例名( 功能块输入参数1 := 输入变量1 ,

功能块输入参数2 := 输入变量2 ,

功能块输出参数1=> 输出变量1 ,

功能块输出参数2=> 输出变量2,

… )

方式2: 功能块实例名(输入变量1 , 输入变量2 , …,输出变量 1,输出变量2, ….);

例如:通过功能块TON的实例名TIMER1对TON进行调用:

方式1:

TIMER1( EN:= 变量1 , IN:= 变量2 , PT:= T#1S,

ENO =>变量4, Q =>变量5, ET=>变量6 );

方式2:

Timer1(变量1 , 变量2 , T#1S, 变量4, 变量5, 变量6 );

直接赋值与间接赋值

直接赋值

通过功能块TON的实例名Timer1对TON进行调用:

Timer1( EN:= 变量1 ,

IN:= 变量2 ,

PT:= T#1S,

ENO =>变量4,

Q =>变量5,

ET=>变量6 );

间接赋值

Timer1 .EN:= 变量1; //对TON的输入参数EN进行赋值

Timer1 . IN:= 变量2; //对TON的输入参数IN进行赋值

Timer1 . PT:= T#1S; //对TON的输入参数PT进行赋值

Timer1 ( );//调用TON功能块执行

变量4 := Timer1 .ENO; //将TON功能块输出参数ENO的状态输出到变量4

变量5 := Timer1 .Q; //将TON功能块输出参数Q的状态输出到变量5

变量6 := Timer1 .ET; //将TON功能块输出参数ET的状态输出到变量6

这次先讲到这里,下一篇我们继续学习ST里面常用的语句。

st语言 数组的常用方法_ST语言入门基础相关推荐

  1. st语言 数组的常用方法_ST语言编程手册

    ST 语言编程手册 目录 1. ST 基本原理 ............................................................................ ...

  2. C语言 数组长度计算 - C语言零基础入门教程

    目录 一.计算数组长度 1.经典案例 2.计算数组长度 二.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.计算数组长度 1.经典案例 / ...

  3. C语言 数组内存溢出 - C语言零基础入门教程

    目录 一.数组内存溢出简介 二.数组内存溢出实例 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.数组内存溢出简介 溢出:想象一个桶, ...

  4. c语言数组最大元调换,c语言数组元素交换有关问题,请高手过来看看

    c语言数组元素交换问题,请高手过来看看 主要问题是数组元素交换不正确,以下是代码: #include #include #define PI 3.1415926 #define MAX 512 dou ...

  5. c语言数组转bin,C语言数组转换为BIN文件工具

    C2B转换助手是一款可以将C语言数组转换为BIN文件工具,可以将十六进制的数组进行转换,支持大的数组进行转换,降低对MCU的FLASH占用.转换是数组不要添加多余的符号,否则影响转换! 输入数组最好遵 ...

  6. c语言数组常见错误,C语言数组在使用中常见的几种错误.pdf

    S C i 卜NOL & TE Q 月N创,)<白Y INI: 口书明A T I仁别 T 技 术 C 语言数组在使用 中常见 的几种错误 刘莉娜 (包头农牧学校 0 14030) 摘 要 ...

  7. st语言 数组的常用方法_欧姆龙cp1h常用指令学习(九)结构化语言ST

    结构化语言ST是作用于功能块编程中. 这门语言对于梯形图中不善于处理的数值运算等逻辑算法,采用类似于高级语言的语法,使其变得简单. 下面先从功能块的相关知识说起: CP1H的功能块规格: 功能块定义数 ...

  8. st语言 数组的常用方法_LINEST函数使用方法介绍

    下面要和大家讲解的EXCEL函数是一个较为常用的函数,它的功能是通过使用"最小二乘法"计算最符合您的数据的直线来计算直线的统计值,并返回描述该直线的数组.此函数的特点是,因为它返回 ...

  9. C语言访问数组的常用方法,C语言数组基本知识点详解

    数组基本知识点: 1,数组初始化,命名 2.数组大小,数组类型 3.数组访问方法 4.字符数组 5.数组下标越界 6.数组作为函数参数问题 7.二维数组基本概念以及多维数组 以后还会有关于指针数组问题 ...

  10. c语言数组求素数,C语言入门:一维数组求素数

    /* Note:Your choice is C IDE */ #include "stdio.h" void main() { //素数 //已知有数组int a[10]={1, ...

最新文章

  1. 多租户系统技术实现mysql_SaaS “可配置”和“多租户”架构的几种技术实现方式...
  2. PostgreSQL参数优化对比性能测试
  3. 如何使用Key User Tool扩展SAP S/4HANA Fiori UI
  4. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 6丨寻找用户推荐人【难度简单】
  5. apimac版 java_jdk1.8 mac官方下载-Java SE Development Kit 8 mac下载8u181 官方最新版__西西软件下载...
  6. 设计灵感|色彩叠加在海报设计中的妙用!
  7. NFC Enable 过程分析(三)
  8. 微软为何能一直向安卓厂商收费?
  9. 如何使用代码给菜单增加图标
  10. OpenGL ES简介(一)
  11. 自定义TextView显示指定行数
  12. 算法导论第三版 第30章习题答案
  13. ArcGIS农村土地承包经营权辅助建库软件说明书
  14. windows平台HTTP代理服务器搭建(CCproxy)
  15. 科里奥利力的物理理解、推导与加速度变换
  16. mysql用户名密码忘了怎么办_mysql用户密码忘了怎么办
  17. 便便教你玩转流程引擎Snaker
  18. 英仕曼235年传奇之路从CTA策略鼻祖到全球最大上市对冲基金
  19. 类同属性不为null 拷贝赋值
  20. 支持向量机(SVM)算法原理

热门文章

  1. sublime 快捷键不能使用
  2. Linux桌面词典 GoldenDict词典
  3. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.J强迫症的序列
  4. 矩阵的Cholesky分解的Matlab简洁实现
  5. freeswitch官方文档网站
  6. ABBYY FineReader离线激活序列号资源及如何查看PDF文档
  7. excel数据处理技巧笔记
  8. smb协议讲解_SMB协议操作共享文件
  9. 华为OSN3500与路由器混合组网
  10. postman并发测试_三种高并发测试工具总结(Postman,Apache Bench,Jmeter)