WINCC Object

Не хочу Вас разочаровывать, но #define это не определение переменной. Определение переменной - это либо ее объявление (например int a; - при этом происходит выделение памяти для переменной) - либо объявление внешней ссылки на нее extern int a

define - это все таки макроопределение. Конкретно в WINCC форма #define NameTAG "nametag" используется например для работы с ТЭГами. Т.е. в скриптах пользуются вызовом типа x=Get(NameTAG) вместо x=Get("nametag"). Кроме того, если это объявление размещено в определенном месте скрипта - то оно еще обрабатывается утилитой перекрестных ссылок. Т.е. при поиске ТЭГа в проекте - будут выданы все скрипты, где он используется.