wincc 内部变量累加问题

“cugeshan“是内部二进制变量,“Rot1”是内部无符号16位数。在全局动作中进行如下编程:
 #include "apdefap.h"

 int gscAction( void )
 {
 #pragma option(mbcs)
 // WINCC:TAGNAME_SECTION_START
 // syntax: #define TagNameInAction "DMTagName"
 // next TagID : 1
 // WINCC:TAGNAME_SECTION_END

 // WINCC:PICNAME_SECTION_START
 // syntax: #define PicNameInAction "PictureName"
 // next PicID : 1
 // WINCC:PICNAME_SECTION_END
 int r1,r2,r3;
  if (GetTagBit("cugeshan")==1 ) 
   {  
      r1=GetTagWord("Rot1");
      r1=r1+30;
    if (r1>360)
    {
     r1=30;
     }
    SetTagWord("Rot1",r1);
   }
 }
 编译后出现“conversion may loose information”的警告,错误指向:r1=r1+30;
 如果将r1定义为int类型编译后出现一样的警告,错误指向:SetTagWord("Rot1",r1);
 请高手们指点一下到底怎么改才行,不胜感激!

问题补充:
上面的程序中应该是定义WORD r1;,而不是int r1,r2,r3;写错了

最佳答案

如果只是警告的话应该不会影响正常运行的效果,不过你可以看一下是不是变量定义的时候类型不一致,用word定义应该是没问题的,也可以用unsigned short,要不你试一下,int 肯定是不行的,float 对应的是32位浮点数,不是无符号16位数

提问者对于答案的评价:
thank you!

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

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

相关推荐

  • 关于COMBOX的显示问题

    请问wincc控件中combobox做的下拉菜单,运行使用都挺正常,可就是画面打开的时候COMBOX里没有显示当前我选择的选项内容,请问如何让其显示当前所选的内容呢? 最佳答案 画…

    SIMATIC WinCC 2019年6月11日
  • 上位机界面设计规划

    软件用的SIMATIC WinCC,做动力设备的上位监控,设备大概有二十种,种类比较多,比较杂,而且彼此之间没有太大联系,比较分散,不容易归类,有的设备需要做报警、趋势、…

    SIMATIC WinCC 2021年7月5日
  • S7-200与WINCC的OPC通讯及数据处理

    现场情况与王先刚联系,尽量远程将这些处理好,华新好不容易才同意远程修改的方案。现有S7-200PLC1与WINCC进行以太网通讯,另有一台PLC2通过以太网与WINCC进行OPC通…

    SIMATIC WinCC 2021年7月5日
  • WinCC 报警变量

    添加报警变量时找不到变量,我的变量建在变量组里,变量组中的变量不显示,是说明原因?该如何操作?谢谢大家! 最佳答案 需要在报警编辑器里组态添加变量.  在画面编…

    SIMATIC WinCC 2019年6月11日
  • WINCC6.0 移植到WINCC7.5SP1问题

    八九年前的项目,用的WINCC6.0  现在系统增加了一个S7-1200plc想把原来的升级到WINCC7.5SP1  ,这样wincc就可…

    SIMATIC WinCC 2021年7月5日
  • WINCC中是否有对字的位进行操作的函数

    wincc中对于每一个二进制变量都建立一个变量,感觉很浪费,有没有函数可以对一个字变量的一个位进行置复位而不对其它的位产生影响。c语言中的位操作除外。。| &^&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc

    请问WINCC的硬拷贝是什么意思,具体怎么执行 最佳答案 硬拷贝是将当前画面的拷贝输出到打印机上。在画面编辑器中定义一个按钮并选中,双击“动态向导”中的Hardcopy,按照向导的…

    SIMATIC WinCC 2019年6月11日
  • 取控件时间后如何转换

    各位大侠:    小弟取控件时间后与显示相差08小时,即格林威治时间和北京时间的差别,代码如下: sSql =&nbsp…

    SIMATIC WinCC 2019年6月11日
  • wincc 串口通讯

    各位前辈:     我打算用wincc通过mscomm控件和单片机通讯,在西门子自动化的网站上看到相关的帖子,很有启发。&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WinCC各版本的发布年份

    如6.0、7.0等等,直到V14的发布年份,从哪里可查到? 钻石用户推荐最佳答案 在技术资源中心:https://support.industry.siemens.com/cs/p…

    2021年7月5日