WINCC 损己利人小窍门!

已锁定

未尽

  • 帖子

    878
  • 精华

    6
  • 被关注

    7

论坛等级:侠士

注册时间:2006-04-11

普通 普通 如何晋级?

WINCC 损己利人小窍门!

3580

23

2006-08-01 14:42:01

在一般的小工程中,由于你的老板和甲方老板都是出了名的小气鬼,有时,你不得不做一些损己利人的事!比如关于WINCC的TAG配置问题。明明有上千点需要交换,但老板却老早就定好了128点的,如果你有异议,狡猾的老板会摸着后脑勺故做傻子的说:“我不懂啊,你怎么不早说!”搞的你查点吐血!
但吐血归吐血,吐完了你不得还要想办法解决吗!看来就只有打包拆包一途了!
1、输入的拆包
建一个32位的变量,把PLC中32个BOOL数据读上来。
在WINCC中建一全局脚本,做32个与运算,取出你需要的位来,并赋给相应的内部变量,用32点TAG做触发器,如
......
dint 11,22,33...;
aa=GetDWordtag(bb);//bb是外部连接TAG
11=aa&0x01000000//取低字节的第一位
if(11==0x01000000)
{
cc=1;//CC为内部BOOL变量
}
else
{
cc=1;
}
......
2、打包输出
建一个32位的变量,负责把上位32点的信号传下去。
如要将A、B、C.....等变量传下去,则事先约定各下传BOOL变量在32位TAG中的位置。
dint BB;
if(A)//加入第一个数据
BB=BB+0X01000000;
ELSE
BB=BB+0X00000000
if(B)//加入第二个数据
BB=BB+0X02000000;
ELSE
BB=BB+0X00000000
if(C)//加入第三个数据
BB=BB+0X04000000;
ELSE
BB=BB+0X00000000
......
setdwordtag(CC,BB);//CC为32点外部变量








WINCC 损己利人小窍门! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32979条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。