wincc读写比较bool位

我初入wincc,现在有三个问题请各大哥协助;
PLC有两个DB块,DB1.0后16个位用来控制16个二位阀门开,DB2.0的16个位用来反馈16阀的状态。我建了两个16位变量:阀门控制,阀门反馈,分别对应DB1,DB2的16个位。还建了一个位的“阀门错误”的变量用来反应阀门输出与反馈不一致,来关联报警。

1、我怎么把阀门控制的16个位分别写下去,去控制16个阀的开关。
2、我怎么把反馈的16个位读上来。
3、我怎么对阀相应位(如:“阀门控制”的第一个与“阀门反馈”的第一个)进行对比,如果不一致,把“阀门错误”置1。


谢谢

问题补充:
2楼朋友的回答首先谢谢,

但是,这样的方式,我会做,做是我想16个一起读,一起写,在比较。我想学这种方法,我用了,SetTagByte ,GetTagByte好像不能读写指定的位,这两个函数好像一读写就是8个位,我想学学用函数怎么读写指写的位,还有比较。
我在组态王里做成功了,但wincc没做成功。组态王我是这样做的

if(BIT(阀门控制,9)==BIT(阀门反馈,9)&&BIT(阀门控制,10)==BIT(阀门反馈,10)&&BIT(阀门控制,11)==BIT(阀门反馈,11)&&BIT(阀门控制,12)==BIT(阀门反馈,12)
&&BIT(阀门控制,13)==BIT(阀门反馈,13)&&BIT(阀门控制,14)==BIT(阀门反馈,14)&&BIT(阀门控制,15)==BIT(阀门反馈,15)&&BIT(阀门控制,16)==BIT(阀门反馈,16)&&
BIT(阀门控制,1)==BIT(阀门反馈,1)&&BIT(阀门控制,2)==BIT(阀门反馈,2)&&BIT(阀门控制,3)==BIT(阀门反馈,3)&&BIT(阀门控制,4)==BIT(阀门反馈,4))
{
阀门错误=0;
}
else
{
阀门错误=1;
}


不知道在WINCC有这样类似的方法不,

谢谢

最佳答案

------------1、我怎么把阀门控制的16个位分别写下去,去控制16个阀的开关。

你可以用按钮去控制阀门的打开关闭,既每个阀门建立两个按钮来控制,一个用来打开,一个用来关闭;比如说第一个阀门,对应的地址为:DB.DBX0.0,在建立的外部二进制变量的地址里,选择该地址,然后在按钮的属性组态,当鼠标点击“打开”按钮,把1写进建立的外部二进制变量里,同理当点击“关闭”按钮把0写进建立的外部变量里即可,剩余的也是如此

---------2、我怎么把反馈的16个位读上来。

反馈的你可以用指示灯来做,既建立一个圆,把打开状态读出来
首先还是要建立外部二进制变量,地址为DB2.DBX0.0,对应的是第一个阀门的打开状态,组态圆的颜色为动态的,当此地址为1时,圆的颜色为绿色,表示打开,反之为红色表示关闭;

3、我怎么对阀相应位(如:“阀门控制”的第一个与“阀门反馈”的第一个)进行对比,如果不一致,把“阀门错误”置1。

----------这个你可以在PLC里面做,要比在WINCC上做简单的,可以把16个位,当作一个字来比较,或者做逻辑梯形图,既如果打开位置1,反馈位却不置1,经过一个短暂的延时,可以输出一个点,表示此阀有问题!


-----------关于很基础的WINCC应用问题,建议多看点一下的资料,那么你上述的问题就会迎刃而解:
西门子官方有很多学习资料可以下载,可以选择自己需要的下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=wincc

个人推荐下看PDF资料结合教学视频一起更容易理解,参考下面的视频资料:
http://www.gongkong.tv/search.asp

《深入浅出西门子WinCC V6.0视频教程[avi格式]》:
http://www.zhumeng.org/thread-22338-1-1.html#lastpost

你也可以到奖品兑换中心兑换使用50积分兑换一本《深入浅出西门子WINNCC 6.0》学习
电子版下载:
http://www.zhumeng.org/thread-33927-1-1.html#lastpost


-------------《深入浅出WINCC》

http://www.gongkong.com/webpage/datum/200906/2009060811434600001.htm

----------问题补充:这倒是没用过,因为C语言不好,所以我一般能用动作实现的就不去太复杂的!

提问者对于答案的评价:
谢谢,我的C语言也不好,我也采用动作吧。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • 输出域显示灰色的问题

    我要把STEP7中的MW100的数值以十进制显示在WINCC中,从MW100出来的是16进制WORD类型的数据,我把MW100连在WINCC上后,输出域仍然显示灰色,我在WINCC…

    SIMATIC WinCC 2019年6月11日
  • wincc基础

    请问I/O域如何显示负数,如何改变小数位数?还请各位大佬指教! 钻石用户推荐最佳答案 在IO域的“常规”—“格式样式”中直接输入S999999.99就可以了,需要几位小数就小数…

    SIMATIC WinCC 2021年7月5日
  • Wincc7.4在线趋势控件(经典)

    Wincc在线趋势控件(经典)如何建立两个数值轴,一左一右 问题补充:Wincc有什没有什么控件做出来打印跟上图一样,onlineTend到是可以实现两个数值轴,但是打印出来区别有…

    2020年11月1日
  • 数据库文件的查看

    请问拷贝现场PC机上的数据库文件  到另台电脑同个项目的相应文件夹下(服务器不同且未与现场相连)  为何读不到历史数据,具体我该如何操作该数…

    SIMATIC WinCC 2019年6月11日
  • 为什么我的WINCC 6.2 的智能对象中没有 组合框,我在网上看别人的截图,不止这个组合框,还有别的,比我的种类多

    什么情况啊?我的WINCC能正常的使用,只是今天才发现好像东西比别人少 问题补充:请问怎么重新注册啊? 最佳答案 很多控件都是可以注册然后在wincc画面中调用的。你说的比别人的少…

    SIMATIC WinCC 2017年11月13日
  • wincc以太网连接400H

    上位机:普通以太网网卡一块,400H每CPU配置1块CP443-1,我的WINCC现在首选连接到主CPU,怎么可以让主CPU出故障时连接到备用CPU? 问题补充:请详细描述步骤,谢…

    SIMATIC WinCC 2019年6月11日
  • 按照wincc深入浅出画中画的实例操作,可是小画面隐藏的功能实现不了是怎么回事

    将按钮的“文本”属性改为“隐藏”,对按钮的“按左键”事件组态一个“直接连接”。在直接连接的“源”框中选择“常数”为0,选择“目标”框中的当前窗口单选按钮,选择属性框中的显示项 问题…

    2018年12月5日
  • 力控

    我有一个V6.1的力控项目文件,好像我直接用v7.2打不开。怎么才能快速简单把项目改成v7.2 钻石用户推荐最佳答案 你是力控软件做的项目,还是用wincc做的控制力的项目?如果是…

    SIMATIC WinCC 2021年7月5日
  • CP5611卡通讯问题

    各位前辈您好,我想问一下,我公司一台工控机在用CP5611卡与S7300CPU通讯时突然出现,WINCC界面时暗时明(暗的时候不能进行操作),拆除一台电脑的5611通讯电缆后,恢复…

    SIMATIC WinCC 2019年6月11日
  • WinCC中的一句VB代码

    在西门子“如何从外部使用VB脚本访问WinCC变量”一文中,看到这样一句代码set hmi=createobject("CCHMIRuntime.HMIRunt…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论