资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
施耐德Unity-Pro结构化文本(ST)结构化文本( ST)目录结构化文本( ST) .2概述 .4一结构化文本 ST 简介 .51.结构化文本 ST 简介 .52.操作数 .63.操作符 .8二指令 .121.指令 .122.赋值 .123.选择指令 IF THEN END_IF.144.选择指令 ELSE.145.选择指令 ELSE THEN.156.选择指令 CASE OF END_CASE.167.重复指令 FOR TO BY DO END_FOR.168.重复指令 WHILE DO END_WHILE.179.重复指令 REPEAT UNTIL END_REPEAT. 1810. 重复指令 .1811. 子程序调用 .1912. RETURN.19213. 空指令2014. 标签和跳转2015. 注释20三调用基本功能、基本功能块、导出的功能块和过程. 221.调用基本功能222. 调用基本功能块和导出的功能块基本功能块 . . 263. 过程323概述本章介绍符合 IEC 61131的编程语言结构化文本ST。本章包含了哪些内容?本章包含了以下部分:? 结构化文本 ST 简介? 指令? 调用基本功能、基本功能块、导出的功能块和过程4一结构化文本ST 简介概述本节包含结构化文本ST 的概述。本节包含了哪些内容?本节包含了以下主题:? 结构化文本 ST 简介? 操作数? 操作符1.结构化文本ST 简介简介使用结构化文本 (ST) 的编程语言, 可以执行多种操作, 例如调用功能块、 执行功能和赋值、有条件地执行指令和重复任务。表达式ST 编程语言使用 表达式 。表达式是由操作符和操作数组成的结构,在执行表达式时会返回值。操作符操作符是表示要执行的操作的符号。操作数操作符供操作数使用。操作数为变量、数值、FFB 输入 / 输出等。说明指令用于将表达式返回的值赋给实际参数,并构造和控制表达式。ST 段的表示形式ST 段的表示形式:段大小指令行的长度不应超过300 个字符。ST 段的长度在编程环境中没有限制。ST 段的长度仅受PLC 存储器大小的限制。语法5标识符和关键字不区分大小写。例外:不允许使用空格和制表符? 关键字? 数值? 值? 标识符? 变量和? 限制符组合 例如用于注释的 (*执行顺序计算表达式时将根据操作符的优先级所定义的顺序将操作符应用于操作数(请参见 操作符表)。首先执行表达式中具有最高优先级的操作符,接着执行具有次优先级的操作符,依此类推,直到完成整个计算过程。优先级相同的操作符将根据它们在表达式中的书写顺序从左至右执行。可使用括号更改此顺序。例如,如果 A 、B、C 和 D 的值分别为 1 、2、3 和 4 ,并按以下方式计算:A+B-C*D结果则为 -9 。在下面的计算中:(A+B-C)*D结果则为 0 。如果操作符包含两个操作数,则先执行左边的操作数,例如在表达式 SIN(A)*COS(B)中,先计算表达式SIN(A) ,后计算 COS(B),然后计算它们的乘积。错误行为下面的情况在执行表达式时作为错误处理:? 尝试除以 0。? 操作数包含的数据类型不适合对应的运算。? 数字运算的结果超出了其数据类型的值范围。如果执行运算的过程中出现错误,则会设置相应的系统位(%S) (如果使用的PLC 支持这一设置)。IEC 遵从性有关针对 ST 编程语言的 IEC遵从性的描述,请参见IEC 遵从性 。2.操作数简介操作数可以是:? 地址? 数值? 变量? 多元素变量6? 多元素变量的元素? 功能调用? FFB 输出数据类型处理操作数的指令中的数据类型必须相同。如果需要处理不同类型的操作数,则必须预先执行类型转换。在下面的示例中,整数变量i1在添加到实数变量r4中之前会先转换为实数变量。r3 := r4 + SIN(INT_TO_REAL(i1) ;此规则的例外情况是,数据类型为 TIME 的变量可乘以或除以数据类型为INT 、DINT、UINT 或UDINT 的变量。允许的运算:? timeVar1 := timeVar2 / dintVar1;? timeVar1 := timeVar2 * intVar1;? timeVar := 10 * time#10s;此功能由 IEC 61131-3作为 不希望 的服务列出。直接使用地址地址可直接使用(无需事先声明)。在本例中,地址数据类型是直接分配的。该数据类型的分配通过使用 大前缀 进行。下表列出了不同的大前缀:大前缀 / 符号示例数据类型无前缀%I10、%CH203.MOD、%CH203.MOD.ERRBOOLX%MX20BOOLB%QB102.3BYTEW%KW43INTD%QD100DINTF%MF100REAL使用其他数据类型要将其他数据类型指定为地址的缺省数据类型,必须通过显式声明进行。使用变量编辑器可方便地完成变量的声明。地址的数据类型不能在 ST 段中直接声明(例如,不允许声明 AT %MW1:UINT)。例如,在变量编辑器中声明以下变量:UnlocV1: ARRAY 1.10 OF INT;LocV1:ARRAY 1.10 OF INT AT %MW100;LocV2:TIME AT %MW100;下面的调用具有正确的语法:%MW200 := 5;UnlocV12 := LocV1%MW200;LocV2:= t#3s;访问字段变量访问字段变量 (ARRAY) 时,只有数值和数据类型为 INT 、UINT、DINT 以及 UDINT 的变量才允许用于索引项。如果范围的阈值下限为负数,则ARRAY 元素的索引也可为负数。7示例:使用字段变量var1i := 8 ;var2.otto4 := var3 ;var41+i+j*5 := 4 ;3.操作符简介操作符是一种符号,它表示:?要执行的算术运算,或? 要执行的逻辑运算?功能编辑(调用)操作符是泛型的,即,它们自动适应操作数的数据类型。操作符表操作符根据优先级按顺序执行,另请参见执行顺序 。ST 编程语言操作符表:操作符含义优先级适用的操作数描述括号用于改变操作符的执行顺序。()使用1(最表达式示例:如果操作数 A 、B、C 和 D 的值分别为 1 、2、括号:高)3 和 4 ,A+B-C*D 的结果则为 -9 ,而 (A+B-C)*D 的FUNCNA 函数ME(实处理2际参数 (调 -list ) 用)-取反3NOT反码3*幂4*乘法5结果则为 0 。表达式、数值、变量、地址(所有数据类 函数处理用于执行函数(请参见 调用基本功能 )。型)数据类型为 INT 、取反 (-)时,操作数值的符号会反转。DINT 或 REAL 的表示例:本示例中,如果 IN1为4,则OUT为-4。达式、数值、变量或OUT := - IN1 ;地址数据类型为 BOOL、进行 NOT 运算时,操作数将逐位反转。BYTE 、 WORD 或示例:本示例中,如果 IN1为 11001100
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号