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

您所在的位置:网站首页 欧姆龙宗旨 欧姆龙cp1h常用指令学习(九)结构化语言ST

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

2024-07-16 14:33| 来源: 网络整理| 查看: 265

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

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

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

CP1H的功能块规格:

功能块定义数: 128

实例数:256

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

IO变量数:最多64个变量

变量类型:

image.png

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

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

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

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

image.png

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

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

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

ST 编程限制

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

• 赋值语句

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

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

• RETURN 语句

• 功能块调用语句

• 算术运算符

• 逻辑运算符

• 比较运算符

• 数函词

• 算术函数

• 注释

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

程序结构注意事项

实例左面无分支 

image.png

每级只有一个实例

image.png

无功能块连接

image.png

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

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

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

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

    用于程序中的条件标记(例如, Always ON 标记和Equals 标记)、时钟脉冲

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

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

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

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

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

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

计算余数:

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

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

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

使用变址寄存器

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

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

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

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

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

    区域。

image.png

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

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

结构化文本范例

image.png

大写和小写

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

输入常数(数值)

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

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

十进制: 仅数值12

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

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

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

语句

image.png

image.png

运算符

image.png

注根据数据类型运算。

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

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

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

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

函数

image.pngimage.png

image.png

数据类型转换函数

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

语法

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

例子:REAL_TO_INT (C)

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

数据类型组合

下表给出了可以转换的数据类型组合。

(是 = 可以转换;否 = 不能转)

image.png

STL实例1: 计算平均值

image.png

image.png

image.png

image.png

image.png

效果如下:

平均为20,结果正确。

image.png

--------------------- 

作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!

其它相关文章:

欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC

欧姆龙cp1h常用指令学习(十四)练习篇一:红外线遥控点歌

欧姆龙cp1h常用指令学习(十三)数据移位指令

欧姆龙cp1h常用指令学习(十二)块程序

欧姆龙cp1h常用指令学习(十一)中断程序

欧姆龙cp1h常用指令学习(十)脉冲输出指令,电机运动控制

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

欧姆龙cp1h常用指令学习(八)字符串处理指令

欧姆龙cp1h常用指令学习(七)栈处理指令

欧姆龙cp1h常用指令学习(六)功能块、子程序

欧姆龙cp1h常用指令学习(五)时序输出指令

欧姆龙cp1h常用指令学习(四)串口无协议读写指令TXD,RXD

欧姆龙cp1h常用指令学习(三)增量与减量、四则运算指令

欧姆龙cp1h常用指令学习(二)计数器、数据比较指令

欧姆龙cp1h常用指令学习(一)常用存储器功能区、订时器

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3