数据问题

我在PLC中定义双字存储 M120.0~M123.6(共31个二进制变量输出),对应的我在WinCC中定义个无符号的三十二位数MD120变量,全部点强制断染发现,IO监控这个变量时发现值为128,正好是双字的第8位,对应PLC中定义的输出点最后一个点(未作定义的第32个Nrtwork M123.7),依次强制发现各位点的值都增加了128,请问这是什么原因?
 另外我想取这个双字的第16位:
 int gscAction( void )
 {unsigned int y;
   y=GetTagDWord("mixer1" );
 if ( (y&65664)==65664)              
               SetTagBit"run9706",1);                            
 else  SetTagBit("run9706",0);
 我是&65664(强制第十六位通IO显示),还是&65536呢?

问题补充:
PLC中定义个FC,共31个二进制点,对应地址:M120~M123.6(双字差一位M123.7),再在WinCC中定义个无符号的32位数:地址MD120,连接画面上的IO域,在PLC端强制各点M120~M123.6断,Wincc中IO域显示值为:128(这个32位数的第8位,好像是M123.7,可未在PLC中定义),请问这是怎么回事?在PLC依次强制各个点位,相应IO域中的值都增加128,例如第17位值为65664,请问我这段脚本对吗:
 #include "apdefap.h"
 int gscAction( void )
 {unsigned int y;
   y=GetTagDWord("mixer1" );
 if ( (y&65664)==65664)             
  SetTagBit"run9706",1);                            
 else  SetTagBit("run9706",0);
 是&65665还是&65536呢?

最佳答案

问题的描述太差劲了,貌似还有错别字,这样怎么能让人回答出来呢?

提问者对于答案的评价:

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

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

相关推荐