设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
TIA博途SCL案例-32位浮点数大小端存储-高低字节转换的具 ...
返回列表
发新帖
[西门子]
TIA博途SCL案例-32位浮点数大小端存储-高低字节转换的具体...
[复制链接]
21412
|
0
|
2024-8-13 11:40:25
|
显示全部楼层
|
阅读模式
//将输入的浮点数先转换成Dword格式#Dword_Convert := REAL_TO_DWORD(#Float_in);
#word1 := DWORD_TO_WORD(#Dword_Convert / 16#10000);#word2 := DWORD_TO_WORD(SHL(IN:= #Dword_Convert,N:=16) / 16#10000);
#Byte_A := WORD_TO_BYTE(SHR(IN := #word1, N := 8) AND 16#00ff);#Byte_B := WORD_TO_BYTE(#word1 AND 16#00FF);#Byte_C := WORD_TO_BYTE(SHR(IN := #word2, N := 8) AND 16#00ff);#Byte_D := WORD_TO_BYTE(#word2 AND 16#00FF);
CASE #Mode OF0:// 浮点数格式为 D C B A #Dword_out := BYTE_TO_DWORD(#Byte_D) * 16#1000000 + BYTE_TO_DWORD(#Byte_C) * 16#10000 + BYTE_TO_DWORD(#Byte_B) * 16#100 + #Byte_A;1://浮点数格式为 B A D C #Dword_out := BYTE_TO_DWORD(#Byte_B) * 16#1000000 + BYTE_TO_DWORD(#Byte_A) * 16#10000 + BYTE_TO_DWORD(#Byte_D) * 16#100 + #Byte_C;2://浮点数格式为 C D A B #Dword_out := BYTE_TO_DWORD(#Byte_C) * 16#1000000 + BYTE_TO_DWORD(#Byte_D) * 16#10000 + BYTE_TO_DWORD(#Byte_A) * 16#100 + #Byte_B;
END_CASE;
//将字节重新排序后的双字再转换成浮点数,输出#Float_out := DWORD_TO_REAL(#Dword_out);
浮点数格式为 D C B A
浮点数格式为 B A D C
浮点数格式为 C D A B
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
shan128
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』