用c写得取反按钮,但有些问题,请高手指点

按钮变量是aaa,想做一个每次点击都取反的功能,c代码如下:
int a;
a=GetTagBit("aaa"); //Return-Type: BOOL 
SetTagBit("aaa",(!a)); //Return-Type: BOOL 

但编译不同过,提示SetTagBit("aaa",(!a));该行有问题,我也试过SetTagBit("aaa",(1-a));但是也不行,请大家指点!

最佳答案

你的方法也没有错,只是编译的时候有警告而已,不会影响运行!也可以试试这个,但同样会有警告,可以执行。
 SetTagBit("aaa",(1-GetTagBit("aaa")));

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

专家置评

因为数据类型不符所以警告。在(!a)前加入(short int)进行数据类型的强制转换就OK了。
 int a; 
 a=GetTagBit("aaa"); //Return-Type: BOOL 
 SetTagBit("aaa",(short int)(!a)); //Return-Type: BOOL 

 

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

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

相关推荐

  • 谁能提供图片?

    我需要用WinCC做一些好一点的画面,可是不知道画三维图,希望哪位高手能提供一些好的除尘设备的图片,谢谢? 问题补充:我的邮箱suyuting1017@163.com 最佳答案 我…

    SIMATIC WinCC 2019年6月11日
  • 如何获得WinCC安装目录

    如何获得WinCC的安装目录,比如C:\Program Files\SIEMENS\WinCC\bin。 注意:并非利用此路径运行可执行文件(因环境变量可不写路…

    SIMATIC WinCC 2019年6月11日
  • 订货数据

    哪位有WinCC V7.0 SP1 ASIA 的订货数据 谢谢! 问题补充:2048 PowerTags (R…

    SIMATIC WinCC 2019年6月11日
  • 输入输出域单位问题

    S7做了个时间块,操作员可以在上位画面中的输入输出域中输入要延迟的时间,但是在输入过程下位接受到的是以MS为单位的值,如我本来我是想输入2S但是我必须输入2000下位才能知道是2S…

    SIMATIC WinCC 2019年6月11日
  • wincC 按钮

    winCc V7.4画面中如何对按钮设置操作权限或取消操作功能。 钻石用户推荐最佳答案 1、创建用户,设置密码,设置用户的权限(比如19号权限)2、按钮的属性,授权中,选…

    SIMATIC WinCC 2020年11月1日
  • wincc 如何与CP342-5组态

    wincc与CP-342-5如何设置系统参数?例如:INCC与PLC组态时,在WINCC中有一参数是设定PLC的站号和PLC在那一个机架那一槽的,如换成是CP342-5,那应该如何…

    SIMATIC WinCC 2019年6月11日
  • 怎样对画面显示值取绝对值显示

    现在我有两个压力测点,测点一a和测点二b,画面显示的差压我是用变量直接连接:a-b。有时候差压会变成负值,所以想取绝对值显示,为什么abs不好用了?还有,相求教下C脚本写的话是怎么…

    SIMATIC WinCC 2017年11月12日
  • WinCC的故障

    每次用step7打开一个程序时总是弹出一个窗口,如图,而且WinCC和PLC(仿真连不上),不知什么原因 最佳答案 wincc仿真跟正常使用一样 只是选择逻辑设备名称的时…

    SIMATIC WinCC 2021年7月5日
  • WINCC6.2运行报警记录时出现的问题

    打开软件运行到“报警记录”时会出现:Ccwrite archive server.exe应程序错误弹出“0x7c939af2的指令引用的”0x00000010&…

    2018年1月1日
  • 请教大家一个WINCC服务器选型问题?

    请问大家WINCC V7.4 SP1一般选用哪家第三方的服务器?DELL、HP还是IBM?还有磁盘阵列选择哪种模式?一般用几个硬盘?硬件配置是怎样的?SERVE…

    SIMATIC WinCC 2021年7月5日