Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Вопрос о Win CC


Автор темы
grizzlik88
новенький
новенький
Сообщения: 2
Зарегистрирован: 17 сен 2015, 12:41
Ф.И.О.: Ковалев Михаил Алексеевич

Вопрос о Win CC

Сообщение grizzlik88 » 17 сен 2015, 12:56

Здравствуйте! Помогите плиз разобраться со скриптом на С.
Вот сей код:

Код: Выделить всё

#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
 // WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
#define TAG_0 "Upr_N45_1"
// WINCC:TAGNAME_SECTION_END

// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END

DWORD dwHelp1,dwHelp2;

dwHelp1=GetTagByteWait(TAG_0);
dwHelp2=dwHelp1|2;
SetTagByteWait(TAG_0,(BYTE)dwHelp2);

}

Данный код написан на нажатие кнопки, и как я понял он считывает бит с тэга, и устанавливает новое значение. Мне непонятно следущее dwHelp2=dwHelp1|2? Что за символ или оператор |2?

Аватара пользователя

Serex
авторитет
авторитет
Сообщения: 875
Зарегистрирован: 15 авг 2011, 20:36
Ф.И.О.: Пупков Сергей Викторович
Благодарил (а): 7 раз
Поблагодарили: 12 раз

Re: Вопрос о Win CC

Сообщение Serex » 17 сен 2015, 14:11

Символ I это OR. Т.е накладывается маска на слово. В данном случае все биты кроме второго устанавливаются в 0, а второй бит сохраняет значение.

P.S.
Ой извиняюсь :)... Все биты кроме второго сохраняют значение, а второй устанавливается в 1.


Вернуться в «WinCC»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей