怎么把整数转换成DW#16#格式的数
刘玉蓉
发布于2014-10-21 17:18
1
0
标签:
小弟有个问题想咨询下,小弟想把一个浮点数或整形数给转换成这样的格式DW#16#80002721,但没找到办法,哪位能给点提示。
佳答案
把一个浮点数或整形数给转换成双字长的十六进制数据格式(例如DW#16#80002721):
1、浮点数转换为双整数:
应用下述指令均可:
RND指令: 取整;TRUNC指令: 截尾取整;RND+指令: 取整为较大的双整数;RND- 取整为较小的双整数。例如:
L MD 100//取浮点数
RND+ //取整为较大的双整数
T MD200//保存大的双整数
例如:MD100 = "100.5",=> RND+ =>,MD20 = "+101";
MD10 = "-100.5" => RND+ => MD20 = "-100"。
转换之后的 MD200中的数据就是二进制,也可看做为十六进制。 至于显示或打印出来,这要在应用软件中进行设置,例如在WINCC中显示,即选择十六进制数据类型。
1、整数换为双整数:
应用ITD 指令:整数(16 位)转成双整数(32 位).例如:
L MW12// 将整数装入累加器 1。
ITD// 将整数(16 位)转换为双整数(32 位);结果保存到累加器 1 中。
T MD20// 将结果(双整数)传送到存储双字 MD20。
转换之后的 MD20中的数据就是二进制,也可看做为十六进制。 至于显示或打印出来,这要在应用软件中进行设置,例如在WINCC中显示,即选择十六进制数据类型。
相关资料:
《用于S7-300 和S7-400 的语句表(STL)编程手册》下载:
https://www2.ad.siemens.com.cn/download/Upload/AS/manual/1008[1].pdf