当前位置: 主页 > PLC控制

WinCC SetTagByte Warning

if(GetTagByte("By_Enable")&0x1==0)//Return-Type:BYTE
SetTagByte("By_Enable",GetTagByte("By_Enable")|0x1);//Return-Type:BOOL
else
SetTagByte("By_Enable",GetTagByte("By_Enable")&0xFE);//Return-Type:BOOL

请教大家为什么我在编辑时总是提示Warning(011)conversionmaylooseinformation.
注:By_Enable是一个字节变量

谢谢

最佳答案

我也觉得是if(GetTagByte("By_Enable")&0x1==0)这句有数据类型不一致地方,(GetTagByte("By_Enable")&0x1的结果仍然是BYTE,0写成0x0应该就可以了。单写0,不知会被编译程序当作int或者bool什么的了。
总的来说,编译时出现Warning信息,只要再确认一下你编程确实没问题,可以不用管它。像这个只是提示数据类型不一致,但实际上编译程序会自动正确处理的,实际使用不会有问题。

提问者对于答案的评价:
谢谢各位的建议,脚本能正常运行。

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号