qq593859538
级别: 探索解密
精华主题: 0
发帖数量: 28 个
工控威望: 166 点
下载积分: 856 分
在线时间: 70(小时)
注册时间: 2011-12-14
最后登录: 2024-11-21
查看qq593859538的 主题 / 回贴
楼主  发表于: 2023-05-26 16:18
请教各位,如何把小数在触摸屏上以科学计数法的形式显示出来呢? PLC和触摸屏都是三菱的。
我爱工控
级别: 略有小成
精华主题: 0
发帖数量: 263 个
工控威望: 411 点
下载积分: 503 分
在线时间: 326(小时)
注册时间: 2008-06-27
最后登录: 2024-12-18
查看我爱工控的 主题 / 回贴
1楼  发表于: 2023-05-27 10:13
里面有格式选择的
18363975407
级别: 探索解密
精华主题: 0
发帖数量: 30 个
工控威望: 113 点
下载积分: 54 分
在线时间: 82(小时)
注册时间: 2022-07-28
最后登录: 2024-12-21
查看18363975407的 主题 / 回贴
2楼  发表于: 2023-05-27 10:28
可以选择
klan_999
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 127 点
下载积分: 604 分
在线时间: 8(小时)
注册时间: 2011-09-29
最后登录: 2024-08-19
查看klan_999的 主题 / 回贴
3楼  发表于: 2023-09-16 10:50
格式选实数
anlyl2014
大吉大利
级别: 网络英雄
精华主题: 0
发帖数量: 982 个
工控威望: 8884 点
下载积分: 10272 分
在线时间: 926(小时)
注册时间: 2014-05-23
最后登录: 2024-12-23
查看anlyl2014的 主题 / 回贴
4楼  发表于: 2023-09-16 12:56
引用
引用楼主qq593859538于2023-05-26 16:18发表的 数值显示转换问题 :
请教各位,如何把小数在触摸屏上以科学计数法的形式显示出来呢? PLC和触摸屏都是三菱的。

有什么用?触摸屏作为人机界面,把PLC里的人看不懂的数在屏上显示成小数,你倒过来把小数变成人看不懂的科学计数法!有什么实用意义?
活到老,学到老!
微信号:anjjyy2013
添加时注明来自工控人家园
压缩包用WINRAR打开,没密码
sunzengli
级别: 论坛先锋
精华主题: 0
发帖数量: 699 个
工控威望: 1080 点
下载积分: 1582 分
在线时间: 223(小时)
注册时间: 2021-07-09
最后登录: 2024-12-20
查看sunzengli的 主题 / 回贴
5楼  发表于: 2023-09-16 15:49
引用
引用第4楼anlyl2014于2023-09-16 12:56发表的  :

有什么用?触摸屏作为人机界面,把PLC里的人看不懂的数在屏上显示成小数,你倒过来把小数变成人看不懂的科学计数法!有什么实用意义?

当然有意义,电真空行业大气状态的气压是1.01×10^5Pa,抽取真空时达到1x10^-6Pa,如果不用科学记数法,大气状态就会显示成这样101000Pa,真空状态则变成0.000001Pa,你让操作的人去数0的个数吗?
sunzengli
级别: 论坛先锋
精华主题: 0
发帖数量: 699 个
工控威望: 1080 点
下载积分: 1582 分
在线时间: 223(小时)
注册时间: 2021-07-09
最后登录: 2024-12-20
查看sunzengli的 主题 / 回贴
6楼  发表于: 2023-09-16 15:53
图片:
我恰好遇到过这个问题,给你一个方案,你试试。这段程序是一个FB,作用是把浮点数转换为科学记数法,把指数和底数分开用两个数据框显示。

Tp1:=Float_In;
Tp2:=Float_In;

  IF Float_IN>=10.0 THEN
     FOR number:=1 TO 20 BY 1 DO
         Tp1:=Tp1/10.0;
         IF  ( Tp1>=1.0) & ( Tp1<=10.0)THEN
            Exponent := Number;
            Float_Out:= Tp1;
          END_IF;
     END_FOR;

  ELSIF ((Float_In>=1.0)& (Float_In<10.0))THEN
            Exponent := 0;
            Float_Out:= Tp1;

  ELSE
           FOR number:=1 TO 20 BY 1 DO
        Tp1:=Tp1*10.0;
        IF  ( Tp1>1.0) & ( Tp1<10.0)THEN
            Exponent := 0-Number;
            Float_Out:= Tp1;
        END_IF;
        END_FOR;
        

   END_IF;
[ 此帖被sunzengli在2023-09-16 16:04重新编辑 ]