Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
31.08.2025
Размер:
5.84 Mб
Скачать

9 Менеджер лицензирования CoDeSys

9.1 Обзор

Менеджер лицензирования 3S предназначен для лицензирования модулей 3S, а также любых других модулей, для которых соответствующий файл информации о лицензии присутствует на вашем компьютере. В CoDeSys вы можете создать залицензированную библиотеку на основе любого проекта. Менеджер лицензирования будет установлен автоматически с любым модулем 3S, требующим лицензии.

См. также: отдельный документ 3S Licensing Manager и “Создание лицензированных библиотек” ниже.

9.2Создание лицензированных библиотек в CoDeSys

ВCoDeSys вы можете создавать библиотеку на основе любого проекта. Для библиотек, требующих лицензии, необходимо добавить соответствующую лицензионную информацию (license information). Для этого дайте команду 'Файл' 'Сохранить как' ('File' 'Save as...'), выберите тип фай-

ла 'Внутренняя библиотека' (Internal Library) или 'Внешняя библиотека' (External Library) и нажмите кнопку 'Лицензии…' (Edit license info...). В диалоге 'Редактирование лицензионной ин-

формации' (Edit Licensing Information) введите необходимые данные, как описано ниже. Информация о лицензировании будет добавлена в проект (Project Info). Если позднее данная библиотека будет добавлена в проект CoDeSys, то соответствующие данные будут проверены в диалоге Менеджера библиотек.

Диалог: 'Редактирование лицензионной информации' (Edit Licensing Information)

Общая информация (General information):

Наименование (Name): введите имя модуля, так как оно должно отображаться в Менеджере лицензирования. Заполнение этих полей обязательно.

Менеджер лицензирования CoDeSys

ID (Vendor-ID): идентификатор поставщика, определяется специфическим инструментом лицензирования изготовителя.

Без лицензии (License free mode): активируйте эту опцию, если данный модуль должен иметь возможность работы без лицензии, в демонстрационном режиме. Введите число дней (days), в течение которых допускается работа без лицензии. Число дней автоматически округляется вверх до десятков (10, 20, 30 ...). Если модуль можно использовать без ограничения по времени, то укажите здесь слово “unlimited”, доступное в списке.

Платформы (Targets): введите идентификационные номера (ID) целевых систем, для которых действительна лицензия. Номера должны быть перечислены через запятую или точку с запятой.

Контакт (Contact):

Лицензирование по телефону (Licensing via phone): / Лицензирование по почте (Licensing per via mail): номер телефона и e-mail поставщика лицензии. Заполнение этих полей обязательно.

Дополнительная информация (Optional information):

В правом окне вы можете задать дополнительные сведения по пунктам списка, перечисленным в левой части окна: Описание (Description), Изготовитель (Manufacturer), Поставщик (Vendor),

Цены (Pricing information).

Обратите внимание: Ели вы требуете лицензирования библиотеки, есть смысл защитить ее от модификации паролем.

Лицензионная информация 3S сохраняется внутри файлов библиотек и регистрируется на компьютере автоматически, при включении библиотеки в проект. Лицензионная информация для модулей других поставщиков должна быть записана в отдельном XML файле. Подробнее см. документ 3S License Manager.

CoDeSys V2.3

9-2

10 Приложения

Приложение A: Операторы и функции МЭК

CoDeSys поддерживает все МЭК операторы. В отличие от стандартных функций (см. приложение D, Стандартная библиотека) данные операторы и функции не требуют подключения библиотек. Сверх требований МЭК CoDeSys поддерживает следующие дополнительные операторы, не включенные в стандарт: INDEXOF и SIZEOF (см. Арифметические операторы), ADR и BITADR (см. Адресные операторы).

Обратите внимание, что операторы могут принимать неявную форму. Так оператор сложения (ADD) в языке ST выражается знаком «+».

Внимание: поддержка выполнения операций с плавающей запятой зависит от целевой платформы.

o Арифметические операторы o Битовые операторы

o Операторы сдвига o Операторы выборки

o Операторы сравнения o Адресные операторы o Оператор вызова

o Преобразования типов

oМатематические функции

10.1Арифметические операторы

ADD

Сложение переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Две переменных типа TIME можно складывать (напр. t#45s + t#50s = t#1m35s). Результат имеет тип

TIME.

Пример IL:

LD

7

ADD

2,4,7

ST

Var 1

Пример ST:

var1 := 7+2+4+7;

Пример FBD:

MUL

Перемножение значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Пример IL:

 

Приложение : Операторы и функции МЭК

LD

7

MUL

2,4,7

ST

Var 1

Пример ST:

var1 := 7*2*4*7;

Пример FBD:

SUB

Вычитание значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Переменной TIME можно присвоить результат вычитания двух других переменных типа TIME. Отрицательное время не определено.

Пример IL:

LD

7

SUB

2

ST

Var 1

Пример ST:

var1 := 7-2;

Пример FBD:

DIV

Деление значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

Пример IL:

LD

8

DIV

2

ST

Var 1 (* Результат равен 4 *)

Пример ST:

var1 := 7-2;

Пример FBD:

Примечание: Определив в своем проекте функции с именами CheckDivByte, CheckDivWord, CheckDivDWord

и CheckDivReal вы сможете контролировать делитель и обрабатывать, например, деление на 0.

Внимание: Результат деления на 0 может отличаться на разных целевых платформах.

CoDeSys V2.3

10-2

Приложение : Операторы и функции МЭК

Рассмотрим простейший пример применения CheckDivReal.

Пример функции CheckDivReal:

FUNCTION CheckDivReal : REAL VAR_INPUT

divisor:REAL; END_VAR

IF divisor = 0 THEN

CheckDivReal := 1;

ELSE

CheckDivReal:=divisor;

END_IF;

Оператор DIV использует выход функции CheckDivReal как делитель. В следующей программе этот прием предотвращает деление на 0, делитель (d) заменяется с 0 на 1. В итоге получается результат 799.

PROGRAM PLC_PRG VAR

erg:REAL; v1:REAL := 799; d:REAL;

END_VAR

erg:= v1 / d;

Внимание: CheckDiv-функции, содержащиеся в библиотеке Check.Lib, представляют собой примеры их реализации. Прежде чем использовать эту библиотеку, убедитесь, что она работает так, как нужно в вашем случае, либо создайте собственные функции непосредственно в вашем проекте.

MOD

Остаток от деления значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT. Результат всегда целое число.

Пример IL:

LD 9

MOD 2

ST

Var 1 (* Результат 1 *)

Пример ST:

var1 := 9 MOD 2;

Пример FBD:

CoDeSys V2.3

10-3