怎样把一个字节拆成八个位?

OPC客户端程序传给我20个字节,每个字节对应八个位变量,现在我要把一个字节拆成八个位,然后再对应到每个WINCC变量,用C脚本做项目函数,拆成8个位的脚本函数怎么写?越详细越好,谢谢。

问题补充:
除2取余是一种方法,如果用结构体做,怎么做?脚本怎么写?

最佳答案

void test(char tagname[30],char bit0[30],char bit1[30],char bit2[30],char bit3[30],char bit4[30],char bit5[30],char bit6[30],char bit7[30])
 {
           int i;
           int temp;
           char a[10];
           union  dataArrary
           {
                     BYTE  m[8];  
           }n;

           temp=GetTagWord(tagname);
           for (i=0;i<=7;i++)
          {                              
                     n.m[i]= (char)((int)temp % 2);
                     temp=(int)(temp/2);
           }
           SetTagWord(bit0,n.m[0]);
           SetTagWord(bit1,n.m[1]);
           SetTagWord(bit2,n.m[2]);
           SetTagWord(bit3,n.m[3]);
           SetTagWord(bit4,n.m[4]);
           SetTagWord(bit5,n.m[5]);
           SetTagWord(bit6,n.m[6]);
           SetTagWord(bit7,n.m[7]);
 }
 在全局脚本或者按钮动作C脚本中调用test函数,将8个位解析到8个变量中即可

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

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

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

相关推荐

  • WINCC安装SQL故障

    在安装WINCC7.5的过程中出现SQL2016 SP2报错,不知是何原因。 钻石用户推荐最佳答案 这种情况很难判断是什么原因如果系统是原装的兼容性也没问题尝试重启主机登…

    SIMATIC WinCC 2021年7月5日
  • wincc v7.0中报警控件设置为SetPropChar("NewPdl0.PDL","Contr

    wincc v7.0中报警控件设置为SetPropChar("NewPdl0.PDL","Control3","MsgF…

    SIMATIC WinCC 2019年6月11日
  • 博途V12下载时崩溃

    我的博途软件前段时间用的很多好,后来发现每次下载的时候就崩溃。其它功能都是正常的,只是不能下载。请问高手是咋回事呢? 图片说明:    最佳答案 用安装盘重新修…

    2017年7月26日
  • WINCC数据存储

    想使用SQL数据库存储,数据量偏大,在wincc中可以查询数据,一个是以时间查询,另外的两个表是以其他的变量查询,并且要可以以EXCEL表导出,打印。求助各位,项目急啊,先谢谢啦!…

    SIMATIC WinCC 2019年6月10日
  • wincc web服务器突然连不上了

    本来好好的,在WEB服务器上的wincc添加了一个opc连接后就上不了了,后来把这个OPC连接删了还是不行, 最佳答案 检查浏览器的IE的设置,如可信任站点,网站安全等。 提问者对…

    SIMATIC WinCC 2021年7月5日
  • C脚本解读

    我写了下面脚本,不过还有一个警告,请专家帮忙改改,谢谢! #include "apdefap.h" int gscAct…

    SIMATIC WinCC 2019年6月11日
  • CP343-1与WINCCV6.2

    我有6台CPU315-2DP的 PLC,每台都挂有ET-200和MP277各一台,想将其做以太网 与上位机WINCC连接做采集,CP可以选用343-1lean吗…

    SIMATIC WinCC 2021年7月5日
  • WINCC动画的背景颜色在不同电脑显示的颜色不同

    我做一个WINCC项目,同一个项目文件,从A电脑拷贝到B电脑,其中水泵叶轮动画的背景颜色就有不同了,一台电脑是黑色,一台电脑是泛白。已尝试调整显示器亮度,并没有变化,哪位大神遇到过…

    2020年11月1日
  • 整点启动打印

    做了报表布局和打印作业,应该怎样设置,使打印作业在整点的时候工作 问题补充:请问一下 全局脚本中启动打印作业是用哪一个函数? 最佳答案 在全局动作中启动打印作业。&nbs…

    SIMATIC WinCC 2019年6月11日
  • SIMATIC WinCC flexible SMART V3屏幕程序可以导出到电脑吗

    SIMATIC WinCC flexible SMART V3屏幕程序可以导出到电脑吗  最佳答案 不支持程序上传。可以用pros…

    SIMATIC WinCC 2017年5月28日