Здравствуйте. Для таких целей, сохранения какого-либо значения, R-переменные лучше всего и подходят, так как они являются общими для программ и подпрограмм всех уровней, но внутри одного канала.
Если не хочется перезаписывать R-переменные, или какое-то значение требуется передать в другой канал, то можно создать новую переменную, записав в файл определений, например, UGUD.DEF строку
DEF NCK REAL NEW_VAR
и пользоваться ей, причём её значение будет доступно для чтения и записи во всех каналах, а также сохраняться при выключении станка.
Если и это по каким-то причинам неприемл