我用的WINCC点数不够了,我想通过把二进制变量整合成字节的方法,减少变量数。我定义了一个变量“MB10”,地址就是MB10。然后我有6个启动按钮,每个按钮对应的二进制变量从M10.0到M10.5。我想把M10.0到M10.5的数值送到MB10里面再传到PLC。我想请问一下,每个按钮里面的C脚本怎么写,还有要不要在画面对象的“打开画面”里面写C脚本,把这几个内部变量的数值整合到MB10里面??还是先定义内部变量再写C脚本送到MB10里面。我是新手,真心求教
最佳答案
wincc定义变量start,链接地址mb10
按钮1置位m10.0:
SetTagByte("start",GetTagByte("start")|0x1);
按钮2置位m10.1:
SetTagByte("start",GetTagByte("start")|0x2);
按钮3置位m10.2:
SetTagByte("start",GetTagByte("start")|0x4);
按钮4置位m10.3:
SetTagByte("start",GetTagByte("start")|0x8);
按钮5置位m10.4:
SetTagByte("start",GetTagByte("start")|0x10);
按钮6置位m10.5:
SetTagByte("start",GetTagByte("start")|0x20);
提问者对于答案的评价:
您好,我想多问一句,我就是想做保持的那种,就是按钮1按下去之后SetTagByte("start",GetTagByte("start")|0x1);字节MB10传输过去是0000 0001,再按下按钮2,字节MB10传输过去是0000 0011,按下按钮3,字节MB10传输过去是0000 0111,可以实现吗?谢谢了
最佳答案作者回复:
我给你的这个就是这种的,点一个按钮置位一个位,其他的位不变。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc197859.html