西门子博途:SET:置位字节数组指令参数及工作原理

工业控制

1210人已加入

描述

说明

可以使用“置位位数组”指令,将指定区域中位的信号状态置位为“1”。在参数 S_BIT 中使用指针定义范围起点。如果指针指向外部 I/O 的存储区,则不执行该指令。在参数 N 中指定要在指定区域中置位的位数。如果参数 N 的值为“0”,则调用该指令不起作用。

只有 MCR 位为“1”时,才会执行该指令。如果 MCR 位的信号状态为“0”,则指定区域中的位保持不变。

说明
参数 N
在 TIA Portal 中,还可以将参数 N 中数据块的元素进行互连。

参数

下表列出了“置位位数组”指令的参数:

参数 声明 数据类型 存储区 说明
S_BIT Input POINTER I、Q、M、D 指向区域中第一个位的指针,其中该区域内的位将被置位。
对于跨区域间接寄存器寻址,必须以双字格式指定该指针。
N Input INT I、Q、M、D、L、P 或常数 要置位的位数

示例

以下示例说明了该指令的工作原理:

STL 说明
CALL SET // 调用“置位位数组”指令
S_BIT := P#M0.0 // 指向要置位的第一个位 (M0.0) 的指针
N := 10 // 要置位的位数

在本例中,该指令将置位范围从 M0.0 到 M1.2 中的 10 个位。

说明

使用“置位字节数组”指令,将指定字节区域中位的信号状态置位为“1”。在参数 S_BYTE 中定义数组起点。通过在该指令的参数 N 中指定要置位的位数来定义数组的大小。

说明
参数 N 的值必须是数字 8 的整数倍(例如,8、16、24 等)。

在参数 S_BYTE 中指定的指针必须引用外部 I/O 存储区 (P)。由于“P”存储区是按照字节、字或双字访问的,参数 S_BYTE 中的指针必须指向与字节限值对应的操作数,即指针的位号必须为“0”。

说明
过程映像输出 (Q) 中相应位的信号状态将复位为“0”。

如果存在以下任一情况,调用“置位字节数组”指令将不起作用:

参数 S_BYTE 中的指针没有引用外部 I/O 存储区 (P)。

参数 S_BYTE 中指针引用的操作数不是整字节。

参数 N 的值不是数字 8 的整数倍。

MCR 位的信号状态为“0”。

参数

下表列出了“置位字节数组”指令的参数:

参数 声明 数据类型 存储区 说明
S_BYTE Input POINTER P 或常数 指向数组第一个字节的指针,其中该数组的位将被置位
对于跨区域间接寄存器寻址,必须以双字格式指定该指针。
N Input INT I、Q、M、D、L、P 或常数 待置位的数组大小
以 8 的整数倍(例如,8、16、24 等)位数来指定该数组。

 

示例

以下示例说明了该指令的工作原理:

STL 说明
CALL SETI // 调用指令。
S_BYTE := P#2.0 // 指向该范围第一个字节 (P2.0) 的指针
N := 16 // 要置位的位数

在示例中,该指令将 2 个字节(16 个位)置位,范围从 P2.0 到 P3.7(I/O 输出)。

SET:置位位数组

说明 可以使用“置位位数组”指令,将指定区域中位的信号状态置位为“1”。在参数 S_BIT 中使用指针定义范围起点。如果指针指向外部 I/O 的存储区,则不执行该指令。在参数 N 中指定要在指定区域中置位的位数。如果参数 N 的值为“0”,则调用该指令不起作用。  

说明 参数 N 在 TIA Portal 中,还可以将参数 N 中数据块的元素进行互连。

参数

下表列出了该指令的参数:

参数 声明 数据类型 存储区 说明
S_BIT Input POINTER I、Q、M、D 指向区域中第一个位的指针,其中该区域内的位将被置位。
对于跨区域间接寄存器寻址,必须以双字格式指定该指针。
N Input INT I、Q、M、D、L、P 或常数 要置位的位数

示例

以下示例说明了该指令的工作原理:

SCL
SET(S_BIT := P#M0.0,
N := 10);

在本示例中,该指令置位范围 M0.0 到 M1.1 中的 10 个位

SET:置位位数组

说明

“置位位数组”指令,将指定区域中位的信号状态置位为“1”。在参数 S_BIT 中使用指针定义范围起点。如果指针指向外部 I/O 的存储区,则不执行该指令。在参数 N 中指定要在指定区域中置位的位数。如果参数 N 的值为“0”,则调用该指令不起作用。

只有 MCR 位为“1”时,才会执行该指令。如果 MCR 位的信号状态为“0”,则指定区域中的位保持不变。

说明
参数 N
在参数 N 处,还可以互连数据块的元素。

参数

下表列出了“置位位数组”指令的参数:

参数 声明 数据类型 存储区 说明
EN Input BOOL I、Q、M、D、L 使能输入
ENO Output BOOL I、Q、M、D、L 使能输出
S_BIT Input POINTER I、Q、M、D 指向区域中第一个位的指针,其中该区域内的位将被置位。
对于跨区域间接寄存器寻址,必须以双字格式指定该指针。
N Input INT I、Q、M、D、L、P 或常量 要置位的位数

示例

以下举例说明了该指令的工作原理:

MCR

如果操作数 TagIn 的信号状态为“1”,则该指令在区域中置位从 M0.0 到 M1.2 的 10 个位。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分