4/27/2018 1:24 PM | |
Joined: 12/12/2011 Last visit: 12/30/2020 Posts: 821 Rating: (41)
|
Hey, You need two functions to achieve what you want GetPropWord and SetTagDWord. GetPropWord reads properties (word value) of objects. Place your script in miscellaneous>Object change of your check box. First you need to know if your check box is checked or not. You can do it like this Code: selected = GetPropWord(lpszPictureName, lpszObjectName, "Process"); selected is word type variable. If selected = 1 check box is checked, if selected = 0 it is not checked. Basically: Code: if(selected == 1) { //set bit in tag } else { reset bit in tag } Now when you know when to set and reset bit in your tag you need to do it. To set bit you need: Quote: tag_val=GetTagDWordWait(TAG); //TAG is your unsigned 32bit tag temp=tag_val|1; //OR your tag with 1 to set first bit SetTagDWordWait(TAG, temp); wright new value to tag To reset bit you need: Quote: tag_val=GetTagDWordWait(TAG); //TAG is your unsigned 32bit tag temp=tag_val&0xFFFE; //AND your tag with 32bit value where all bits ecxept 1st are set to 1 to reset first bit SetTagDWordWait(TAG, temp); wright new value to tag tag_val and temp are DWORD type varialbles. You can declare variables like this: Code: DWORD tag_val,temp; WORD selected; put these lines right before main code. Put it all together and you'll have working script. Regards |
Grundkurs/Systemkurs WinCC V7: |
|
Follow us on