西门子SCL高级语言之数据转换介绍
(整数转浮点数 INT_TO_REAL)
我们在做项目中经常用到各种类型的数据,这就需要转换( CONVERT)指令来转换,由于博途数据转换指令只有它一个,那我们就只记住它就可以了,注意设置需要转换的数据类型即可。
在LAD转换是这样的:
以下示例显示了如何将 16 位整数转换为 32 位整数:
以下示例显示了如何将 8 位字节转换为 8 位整数 SINT:
以下示例显示了如何将 8 位字节转换为 8 位无符号整数 USINT:
因为两个操作数具有相同的长度,所以可进行这些转换。
下表列出了“转换值”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
EN | Input | BOOL | I、Q、M、D、L 或常量 | 使能输入 |
ENO | Output | BOOL | I、Q、M、D、L | 使能输出 |
IN | Input | 位字符串、整数、浮点数、CHAR、WCHAR、BCD16、BCD32 | I、Q、M、D、L、P 或常量 | 要转换的值。 |
OUT | Output | 位字符串、整数、浮点数、CHAR、WCHAR、BCD16、BCD32 | I、Q、M、D、L、P | 转换结果 |
下面我们打开博途V15软件进行设计数据批量转换,以整数转换浮点数来介绍:
1.)组态一个PLC后添加两各数据块,一个为整数数据块,另一个为浮点数数据块,我们以数组来写100各数转换:
2.)添加一个FB块,定义数据类型和接口类型:
3.)调用 FOR...TO....DO指令及CONVERT转换指令,这里说以下,转换指令也可直接写,比如我数据类型是REAL,在英文状态输入REAL按空格键就会弹出您所需要转换的数据类型,供您去选择,这里只讲从转换指令库调用CONVERT:
3.)编写SCL主体程序:
4.)程序定义数据来源:
5.)在线测试数据情况:
通过在数据块里修改整数到浮点数数据块里面进行监控,是成功的,感谢大家的观看!
由于时间仓促及笔者水平有限,文章中难免有讲错的地方,望广大网友,专家,学者多多指导,力争文章更完美!