数据格式

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呢?

问题补充:
请教dcount 107,如果我不在变量表里对M123.7复位的话,那么我这样判断位对吗? DWORD y;
    y=GetTagDWord("mixer1" );
    if ((y&0x1000)==0x10000)
    SetTagBit"run9706",1);                            
  else  SetTagBit("run9706",0);
 

最佳答案

1.MD120初始值如为128,则M123.7值肯定是1,你可以到PLC中监控确认一下。检查有没有程序给M123.7赋过值,如没有可用变量表将M123.7复位。
  2.C脚本判断位的方法:X&2^n ,第17位n=16,因此应当与2^16与才对,即65536,65536不直观,可用16进制表示法0x10000。
     DWORD y;
     y=GetTagDWord("mixer1" );
     if ((y&0x1000)==0x10000)
     SetTagBit"run9706",1);                            
   else  SetTagBit("run9706",0);

 补充:当然可以,你可以用内部变量测试一下!
 

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

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

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

相关推荐

  • 关于WINCC OPC 服务器

    1 现在有一台电脑装的WINCC6.2,使用CP1613的网卡,连接了20台PLC。现在所有数据都读取到WINCC了,然后第三方MES系统需要从我这里采集部分数据。在WI…

    2018年12月6日
  • WIN CC V7.0 SP3软件安装手册

    安装winCC时SIMATIC NET PC Software Edition 2008+sp4 无法安装,好像跟我的电…

    SIMATIC WinCC 2018年3月6日
  • cpu315 PN/DP 与WINCC以太网通讯还需要什么样的硬件?

    cpu315 PN/DP  带有以太网口,现在与上位机WINCC以太网通讯,上位机是一般的网卡还是另要配西门子专用CP卡?哪可下载这方面的资料 最佳答…

    SIMATIC WinCC 2018年12月2日
  • 显示颜色

    #include "apdefap.h" long _main(char* lpszPictureName, …

    SIMATIC WinCC 2021年7月5日
  • wincc V7

    创建过程变量里的输入与PLC中的输入有关系吗?怎么使用?画圈那里 图片说明:       钻石用户推荐最佳答案 创建过程变量里的输入对应PL…

    2021年7月5日
  • SIMATIC WINCC 的选型资料

    SIMATIC WINCC 对应的 操作员站、工程师站、服务器如何选择对应的软件,那些软件是需要购买的?刚接触不是很熟悉求详解?有没有SIMATIC&…

    SIMATIC WinCC 2021年7月5日
  • wincc7.0启动激活问题

    我的wincc系统是从原来的wincc6.2版本移植到wincc7.0版本上的,运行激活后(将启动项全部选择)第一次能进入运行系统,退出激活后再次进入运行激活状态,系统就会停止在运…

    SIMATIC WinCC 2019年6月11日
  • 如何在wincc内用静态文本显示变量前缀?

    我用wincc做了一个控制模板画面,画面连接内的变量连接结构变量的后缀,然后我项目内的50个电机控制全部调用这个模板画面控制,通过按钮来给模板画面写入前缀,现在我想在模板内做一个静…

    SIMATIC WinCC 2021年7月5日
  • wincc 读取vb中的数据

    各位大咖,wincc 如何读取vb中的数据,详细一些哦。最好有案例,vb中编写了串口通信程序将现场仪表的数据采集上来,现在希望wincc直接读取vb中的数据,我看网上有些…

    SIMATIC WinCC 2018年1月1日
  • KTP900触摸屏如何弹出小一点的页面?

    KTP900触摸屏如何弹出小一点的页面? 最佳答案 精简屏不支持弹出画面。建议组态矩形,矩形上添加控件,控制其可见性。 提问者对于答案的评价:谢谢

    SIMATIC WinCC 2021年7月5日