请问WinCC 7.4中用C脚本对双字中的部分位进行操作

WinCC 7.4中为了节约点数,定义一个双字变量,现在其中的两个字节的16个位做PLC DI的指示灯用,另外两个字节中的16个位想做按钮用,请问这些按钮的动作怎么用C脚本表示,特别是双字的某一位怎么表示,不能影响其他位的值,能否举例写几步脚本,因为这方面的资料比较少,万分感谢

最佳答案

自己做两个函数,一个读取某个位,一个写某个位,读取时,用除了目标位,其余都0的数“与&”这个32位变量;写的时候,置0时,用除了目标位,其余都是1的数“与&”这个32位变量,置1时,用除了目标位为1,其余位都是0的数“或|”这个32位变量。
//读
unsigned int read_BIT(unsigned int a,unsigned int b)
{
int i=1;
i<<=b;
return a&i;//非0为真
}
//写
unsigned int write_BIT( unsigned int a,unsigned int b,int c)
{
//c为真,把b对位的位置1,否则置0;
 unsigned int i=1;
 i<<=b;
if(c){
 return a|i;
}
else{
 i=~i;
 return a&i;
}
}
你可能不需要脚本,如图:

图片说明:

请问WinCC 7.4中用C脚本对双字中的部分位进行操作  请问WinCC 7.4中用C脚本对双字中的部分位进行操作  请问WinCC 7.4中用C脚本对双字中的部分位进行操作  请问WinCC 7.4中用C脚本对双字中的部分位进行操作  

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

最佳答案作者回复:
函数可以继续封装,锋言锋语那个宏用的很巧妙

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:20
下一篇 2020年11月1日 下午3:20

相关推荐

  • WINCC 选型求助

    有3年不做自动化方面的了,最近有个单子要用到WINCC,由于太久不接触了,所以想求助大家。现在用6.0SP3还是6.2的?因为太久不做,不知道主流了。谁能帮我看一下相对应的订货号。…

    SIMATIC WinCC 2019年6月11日
  • wincc的I/O域速度

    大家好 如题,WINCC与S200通信(通过PC access),I/O域的速度很慢啊,客户有点着急,不知道有没什么好的办法啊…… 最佳答案 如果监控的点多,2…

    SIMATIC WinCC 2019年6月11日
  • 找个好用的MODBUS TCP的opcserver

    现场上位才用WINCC,下边有很多MODBUS仪表和PLC通过MODBUS TCP的方式与WINCC进行通讯,有没有支持多站式的opc?请大家帮忙,十分感谢! 问题补充:…

    SIMATIC WinCC 2019年6月11日
  • 求助画面窗口切换的时候,与PLC通讯中断

    我组态了一个主界面,主界面上放有一个画面窗口,再放了一些按钮,单击这些按钮使画面窗口的名称发生变化,以达到不同画面之间切换,但是,当我快速点击这些按钮,在画面切换的过程中,与PLC…

    SIMATIC WinCC 2019年6月11日
  • wincc2008sp2是wincc2008的升级版吗?

    刚换一电脑,可是是win7的旗舰版装不了wincc2008,网上说能装wincc2008sp2完全版!我担心装上了又打不来原来用wincc2008版本打开的项目!还有一个就是能下载…

    SIMATIC WinCC 2021年7月5日
  • 关于wincc制作登录界面问题

    为什么点登陆打不开我设定好的界面,我已经在用户管理里边设定好了用户名和密码 图片说明:       最佳答案 点击登录,验证完密码,后要在这…

    2017年6月29日
  • step7提示WINCC(componet object manage)

    按照百度的办法,装了AS-OS Engineering的组件,为啥还是报错? 图片说明:       最佳答案 打开硬件组态窗口,…

    2021年7月5日
  • wincc如何注册OCX组件

    那位大师说说如何注册OCX组件啊  我点注册 会转到电脑的一个文件下 可是什么文件也没有啊 最佳答案 参考资料:《如何在计算机中注册未知的&…

    SIMATIC WinCC 2019年6月11日
  • 求一个西门子官网Win10下载链接,安装wincc7.4版本用

    求一个西门子官网Win10下载链接,安装wincc7.4版本用 钻石用户推荐最佳答案 cn_windows_10_enterprise_ltsc_2019_x64cn_window…

    SIMATIC WinCC 2021年7月5日
  • wincc调用vb程序

    我用vb做了个程序,在wincc中调用。当wincc激活时,vb程序开始运行。wincc中做了个按钮,用于将vb程序调到前景显示在wincc画面的上面。我写了下面程序: …

    SIMATIC WinCC 2019年6月11日