开方问题真的那么难吗

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次方的值??

 请高手解惑... 都发了3遍了没人给个合适的方法
 

问题补充:
谢谢你的答案 至少能运行处来就可以了  
 不过不知道VB 函数怎么调出来  只能一个个按着写了

最佳答案

问题出在1/11之上,这样得到的是整数。
 应该改为1/11.0即可,或者使用强制转换函数(float)1/11;
 --------------------------------------------------
 另外一个解决办法:
  A = B ^ N
  LOG(A) = LOG(B^N)=N*LOG(B)
  B=E^(LOG(A)/N)
  所以有C代码:
  float A,B;
  int N = 11;
  A = GetTagFloat("A");
  B = exp(log(A)/N );
  SetTagFloat("B",B);

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

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

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

相关推荐

  • wincc安装时mirosoft sql server 2000怎么安装

    在那里可以下载sql server 2000,我是XP专业版SP2的系统,装WINCCV6。0SP2,提示没有安装server  2000,…

    SIMATIC WinCC 2019年6月11日
  • project manager can't start basis application

    我在windows xp professional sp3(英文版)上,安装了wincc 7.0 sp3软件。安装过程没有错误提示…

    2021年7月5日
  • 触摸屏与电脑通信

      smart 700 ie v3 触摸屏与笔记本电脑通信除了用以太网还有其他通信方式吗? 问题补充:用usb怎么通信,…

    SIMATIC WinCC 2021年7月5日
  • 实现确定、取消功能

    做一个按钮,点击按钮进入一个子画面:显示确定、取消两个按钮。无论点击哪个按钮都可以实现关闭子画面窗口。且对按钮做出确认。 最佳答案 方法一种:WinCC中打开子画面是通过画面窗口实…

    SIMATIC WinCC 2019年6月11日
  • WinCC文本显示问题2

    塞上雁你好 按照你方法用C写进去没能成功显示想要的结果,不知您的这段语句有没有试过 switch(GetTagWord("x"))&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 关于更新包

    请问购买正版的西门子WINCC光盘里,是否有Update1安装包呢?如果有,请问在那张?谢谢! 最佳答案 一般是没有。升级都是补丁后出的。所以要从官网上下载升级包。不知道你版本。请…

    SIMATIC WinCC 2017年5月31日
  • WINCC 7.4SP1数据报表问题

    WINCC 7.4SP1数据报表如下图:1、数据的小数点数后面还有13位,这是哪里设置问题呢?变量的数据设置的小数点后只有一位数的。   &…

    2020年11月1日
  • WinCCflexible 变量为1但屏开关显示0

    出现了这样的问题,当我在第一个画面把开关全部设置为1的时候。切个画面。在切回来,其中有些变量变为0了但看PLC程序相对应的变量。还是1。就是屏上面显示0,但那个开关不是总是这样的,…

    SIMATIC WinCC 2019年6月11日
  • 请问这样在VBS中做延时可以吗?

    我打算用VBS给ObjStart变量写1然后写0来实现对PLC对象变量的赋值,但是,这样做法有时可以有时不行,所以我用循环做了个延时,请见附件,但是,这样也不行,请问这是为什么啊?…

    SIMATIC WinCC 2021年7月5日
  • 急急急!

    有一套系统是s7-400冗余系统,CPU是414h,有两台上位机进行同步操作,其中一台上位机的硬盘出现故障,更换后出现问题:项目中的一个从站菜单无法操作了(从站是s7-200系统,…

    SIMATIC WinCC 2019年6月11日