欧姆龙cp1h常用指令学习(九)结构化语言ST.pdfVIP

  • 0
  • 0
  • 约2.08千字
  • 约 11页
  • 2026-02-14 发布于河南
  • 举报

欧姆龙cp1h常用指令学习(九)结构化语言ST.pdf

欧姆龙cp1h常用指令学习(九)结构化语言ST

结构化语言ST是作用于功能块编程中。

这门语言对于梯形图中不善于处理的数值运算等逻辑算法,采用类似于高级语言

的语法,使其变得简单。

下面先从功能块的相关知识说起:

CP1H的功能块规格:

功能块定义数:128

实例数:256

实例嵌套级数:cx-programmer6.0及以后,支持8级嵌套

IO变量数:最多64个变量

变量类型:

注意:TIMER和COUNTER数据类型不能用于结构化文本功能块。

在内部变量中,其中一个变量定义为数组,CX-Programmer只支持一维数组。

变量可以设置初始值,并且如果勾选了

选择RetainOption时,变量分配于存储区内。当断电和PLC操作开始时保持

该存储

常数直接输入指令操作数。

•梯级编程语言。在#后面输入十六进制数值;在后面输入十进制数。

•结构化文本(ST语言):在16#后面输入十六进制数值;十进制数照原样不

动。

ST编程限制

只支持以下的语句和运算符。

•赋值语句

•选择语句(CASE和IF语句)

•迭代语句(FOR、WHILE、REPEAT和EXIT语句)

•RETURN语句

•功能块调用语句

•算术运算符

•逻辑运算符

•比较运算符

•数函词

•算术函数

•注释

•不能使用TIMER和COUNTER数据类型。

程序结构注意事项

实例左面无分支

每级只有一个实例

无功能块连接

变量类型(输入、输出、外部和内部)

输入变量:用来修改已传递的值

输出变量:传递数值或监视输出变量

外部变量:程序中的条件标记、时钟脉冲、辅助区域位

用于程序中的条件标记(例如,AlwaysON标记和Equals标记)、

时钟脉冲

(例如,1.0秒时钟脉冲位)、预先注册的辅助区域位(例全局符号

如,首次循

环标记)和全局符号全部是由系统定义的外部变量。

内部变量:内部分配的变量和需要AT设置的变量

未规定位输入、输出或外部的变量均为内部变量。内部变量包括内部分

配地址

的变量、要求有AT设置地址的变量(例如,I/O分配地址、特殊分配

于特殊I/

O单元的地址)或需要数组设置的变量。

计算余数:

当采用ST语言时,无需使用数组来接收除法运算结果。此外,不能在ST语言

中直接计算余数。必须按如下方法计算余数

余数=被除数.(除数×商数)

使用变址寄存器

变址寄存器IR0到IR15用作规定I/O存储器地址的指示器。这些变

址寄存器可

以在功能块中使用从而可以直接通过IR0到IR15来指定地址而不是

变量名(变

址寄存器直接规格:IR0到IR15;变址寄存器间接规格:,IR0到,I

R15)

注在使用MOVR(560)指令将实际的I/O存储器地址存储于变址寄存

器后,可

采用通用指令来间接指定变址寄存器。这样,就可动态地规定所有I/O

存储器

区域。

有关变址寄存器的知识参见下面贴子:

欧姆龙CJ1系列PLC存储区的变址寄存器(IR)

结构化文本范例

大写和小写

•保留字和变量名不分大小写(两者均可使用)。

输入常数(数值)

•如下例所示,数值可以通过十进制、十六进制、八进制或二进制来表示。

表示方法范例(用于十进制值12)

十进制:仅数值12

十六进制:16#后面跟数值16#C

八进制:8#后面跟数值8#14

二进制:2#后面跟数值2#1100

语句

运算符

注根据数据类型运算。

因此,INT数据加法结果必须是使用INT数据类型的变量。当整数型变量运算

时出现进位或借位,需特别小心。例如,使用整数型变量A=3和B=2时,如

果执行运算(A/B)*2,则A/B结果为1(1.5–小数点后面的数值忽略不计),

因此(A/B)*2=2。

函数

数据类型转换函数

以下数据类型转换函数可以用于结构化文本中。

语法

源数据类型_TO_新数据类型(变量名)

例子:REAL_TO_INT(C)

在本例中,变量C的数据类型可以从REAL修改为INT。

数据类型组合

下表给出

文档评论(0)

1亿VIP精品文档

相关文档