PLC_博图系列☞基本指令“SET_BF”置位位域
文章目录
- PLC_博图系列☞基本指令“SET_BF”置位位域
- 背景介绍
- SET_BF:置位位域
- 说明
- 类型为 PLC 数据类型、STRUCT 或 ARRAY 的位域
- 参数
- 示例
关键字:
PLC
、
西门子
、
博图
、
Siemens
、
SET_BF
背景介绍
这是一篇关于
PLC
编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC
编程人员,也不懂电路,所以如果你希望从这里学习PLC
编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC
编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0
的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎点赞
和关注
我❥(^_-)。
SET_BF:置位位域
说明
使用“置位位域”(Set bit field) 指令,可对从某个特定地址开始的多个位进行置位。
您可以使用输入 N 的常数值指定将要置位的位数。要置位位域的首位地址由 <操作数> 指定。<操作数> 的值不能大于选定字节的位数。如果该值大于选定字节中的位数,则将不执行该条指令且显示错误消息“超出索引 <操作数 1> 的范围”(Range violation for index )。在通过另一条指令显式复位这些位之前,它们会保持置位。
只有使能输入 EN 的信号状态为“1”时才执行该条指令。
类型为 PLC 数据类型、STRUCT 或 ARRAY 的位域
具有 PLC 数据类型、STRUCT 或 ARRAY 结构时,结构中所包含的位数即为可复位的最大位数:
- 例如,如果在 N 输入中指定值“20”而结构中仅包含 10 位,则仅置位这 10 个位。
- 例如,如果在 N 输入中指定值“5”而结构中包含 10 位,则仅置位 5 个位。
参数
下表列出了“置位位域”(Set bit field) 指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 存储区 | 说明 |
---|---|---|---|---|---|
S7-1200 | S7-1500 | ||||
EN | Input | BOOL | I、Q、M、D、L 或常量 | I、Q、M、D、L、T、C 或常量 | 使能输入 |
N | Input | UINT | 常数 | 常数 | 要置位的位数 |
<操作数> | Output | BOOL | I、Q、M DB 或 IDB、ARRAY[…] of BOOL 的元素 | I、Q、M DB 或 IDB、ARRAY[…] of BOOL 的元素 | 指向要置位的首位的指针。 |
示例
以下示例说明了该指令的工作原理:
如果操作数“TagIn_1”和“TagIn_2”的信号状态为“1”,则将置位从操作数“MyDB”的地址开始的 5 个位。MyBoolArray[4]。
**注:**以上部分内容来之博图V16帮助文档。