WINCC 开方

A,B为PLC中两个设定值变量,在WINCC里给的数据类型为32浮点型。新建按钮,按钮按下时想让A的值开11次方然后赋给B。作C脚本如下:SetTagFloat("B",pow(GetTagFloat("A"),1/11));   提示警告:..may  losses....
 运行, 发现A值从1变化到3但B值一直为1. 
 问题一:  为什么会提示警告,而且B值并没有得到A值的开11次方的值.难道数据类型不对吗?
 问题二:如果A,B不是PLC中的值,想自己新建一个内部的变量A,B  怎么设置变量属性和C脚本才能让B的值为A开11次方的值??

 请高手解惑...
 

问题补充:
不要在程序里做啊   程序我改不了了 已经

最佳答案

问题出在1/11之上,这样得到的是整数。
 应该改为1/11.0即可,或者使用强制转换函数(float)1/11;

提问者对于答案的评价:
太感谢了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午6:54
下一篇 2019年6月11日 上午6:54

相关推荐