恭喜,你发布的帖子
发布于 2022-11-08 17:08:54
7楼
真没发现西门子触摸屏居然没有指示显示功能,上位机是有指数显示功能的。还以为AB的触摸屏可以显示指示的,结果也没有这个功能。总觉得西门子老是跟在西门子的后面,AB没有的功能,西门子也没有,AB有的功能西门子也没有。
几乎所有的国产触摸屏也没用科学记数法显示功能。本胖在繁易的触摸屏上用C脚本(宏)实现的。这个smart程序是照着C源文件翻译过来的。
int MacroMain()
{
float g;
int i,j;
g = GetFloat(@G1@,0);
for(i= -14;i<7;i++){
if((g >= pow(10,i)) && (g < pow(10,(i+1)))){
j = i;
g = g / (float)pow(10,i);
if(g >= 9.99999){
g = g / 10;
j = j + 1;
}
SetFloat(@G1_Base@,0,g);
SetFloat(@G1_Index@,0,j);
i = 7;
}
}
return 0;
}
中间的j那部分,是因为领导要求必须只显示两位小数,这就带来了一个奇葩问题:有可能显示出10e-4!!!
仔细检查后,发现,9.9996之类的底数,被四舍五入成10了。只好人为的加上一段。就是红色那部分。
请填写推广理由:
分享
只看
楼主