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

说明
可以使用“置位位数组”指令,将指定区域中位的信号状态置位为“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 或常量 要置位的位数
示例
以下举例说明了该指令的工作原理:
如果操作数 tagin 的信号状态为“1”,则该指令在区域中置位从 m0.0 到 m1.2 的 10 个位。


8K的优点有哪些?如何突破8K瓶颈?
《涨知识啦21》之增强型 HEMT器件的应用优势
Type-C扩展坞值得使用的扩展产品
业内人士解读3D打印:真相、神话、未来
什么是聚农币Acc
西门子博途:SET:置位字节数组指令参数及工作原理
电动工具上使用的电池组可以定制吗?锂电池定制的好处
自动驾驶发展还处在探索阶段 大面积量产还需等待
电子行业将迎来新的发展机遇,正在实现国产化突破
DXOMark公布iPhone12 Pro的摄像头评分成绩
道一云七巧低代码平台获评“广东省名优高新技术产品”
小米MIX卖得太便宜了?官方回复价格早已确定
机器人在图书馆正式上岗,海量图书管理更省心
购买锂电池气密性检测仪时需要考虑哪些因素呢?
MCS-51单片机与无线调制器的应用
沉金线路板主要的用途是什么
单轴机器人的主要结构
OpenAI发布一款令人印象深刻的语言模型GPT-2
东芝推出第3代650V SiC肖特基势垒二极管,助力提高工业设备效率
联想在5G下发展工业互联网的思考