西门子博途SHL左移指令详解

描述

说明

使用“左移”指令,可以将参数 IN 的内容逐位向左移动,并将结果作为函数值返回。参数 N 用于指定应将特定值移位的位数。

如果参数 N 的值为“0”,则将参数 IN 的值作为结果。

如果参数 N 的值大于位数,则参数 IN 的值将向左移动该位数个位置。

结果值中因移位而空出的位将用 0 填充。

下图显示了如何将 WORD 数据类型操作数的内容向左移动 6 位:

指令

参数

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

参数 声明 数据类型 存储区 说明
S7-1200 S7-1500
IN Input 位字符串、整数 位字符串、整数 I、Q、M、D、L 要移位的值
N Input USINT、UINT, UDINT USINT、UINT, UDINT、ULINT I、Q、M、D、L 对值 (IN) 进行移位的位数
函数值 位字符串、整数 位字符串、整数 I、Q、M、D、L 指令的结果

示例

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

SCL
"Tag_Result" := SHL(IN := "Tag_Value",
N := "Tag_Number");

下表将通过具体的操作数值对该指令的工作原理进行说明:

参数 操作数
IN Tag_Value 0011 1111 1010 1111
N Tag_Number 4
函数值 Tag_Result 1111 1010 1111 0000

将“Tag_Value”操作数的值将向左移动 4 位。该指令的结果作为函数值在“Tag_Result”操作数中返回。

  审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分