[西门子] 西门子博途转换值指令

[复制链接]
查看11895 | 回复0 | 2024-5-23 17:43:39 | 显示全部楼层 |阅读模式
1.CONVERT:转换值

将输入数值,按要求转换为对应格式数值

指令格式如下图:



可实现的数值转换根据实际设定:



参数表:



实际案例展示:



2.ROUND:取整

将输入值根据四舍五入原则取整为最接近的整数。该指令默认输入值为浮点数,转换为整数存入输出寄存器中。下面是指令刚插入时的状态,可以看出输入数据类型不可更改:



参数表如下:



实例展示:





3. CEIL:浮点数向上取整

可以使用“浮点数向上取整”指令,将输入 IN 的值向上取整为相邻整数。该指令将输入 IN 的值解释为浮点数并将其转换为较大的相邻整数。指令结果存储到输出 OUT。输出值可以大于或等于输入值。指令忽略四舍五入原则

指令格式:



指令参数表:



实例展示:



4. FLOOR:浮点数向下取整

使用“浮点数向下取整”指令,将输入 IN 的值向下取整为相邻整数。指令将输入 IN 的值默认为浮点数,并将其向下转换为相邻的较小整数。指令忽略四舍五入原则

直接看实例执行情况:



5.TRUNC:去除小数

使用“截尾取整”指令由输入 IN 的值得出整数。输入 IN 的值被视为浮点数。该指令仅选择浮点数的整数部分,并将其发送到输出 OUT 中,不带小数位。

指令参数表:



直接看指令执行:



6. SCALE_X:缩放

使用“缩放”指令,通过将输入 VALUE 的值映射到指定的值范围内以缩放该值。当执行“缩放”指令时,输入 VALUE 的浮点值会缩放到由参数 MIN 和 MAX 定义的值范围。缩放结果为整数,存储在 OUT 输出中。



“缩放”指令将按以下公式进行计算:

OUT = [VALUE ∗ (MAX – MIN)] + MIN

如果满足下列条件之一,则使能输出 ENO 的信号状态为“0”:

·使能输入 EN 的信号状态为“0”。

·输入 MIN 的值大于或等于输入 MAX 的值。

·根据 IEEE-754 标准,指定的浮点数的值超出了标准的数范围。

·发生溢出。

·输入 VALUE 的值为 NaN(非数字 = 无效算术运算的结果)。

指令参数表:



下面看一下指令实际运算:



7.NORM_X:标准化

使用“标准化”指令,通过将输入 VALUE 中变量的值映射到线性标尺对其进行标准化。可以使用参数 MIN 和 MAX 定义(应用于该标尺的)值范围的限值。输出 OUT 中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。如果要标准化的值等于输入 MIN 中的值,则输出 OUT 将返回值“0.0”。如果要标准化的值等于输入 MAX 的值,则输出 OUT 需返回值“1.0”。



“标准化”指令将按以下公式进行计算:

OUT = (VALUE – MIN) / (MAX –MIN)

如果满足下列条件之一,则使能输出 ENO 的信号状态为“0”:

·使能输入 EN 的信号状态为“0”。

·输入 MIN 的值大于或等于输入 MAX 的值。

·根据 IEEE-754 标准,指定的浮点数的值超出了标准的数范围。

·输入 VALUE 的值为 NaN(无效算术运算的结果)。

参数表如下:



指令实际执行情况:





数据转换指令的PLC编程中也经常使用到,结合数字运算指令,在模拟量计算,伺服控制中等都经常看到。

==END

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则