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

Приложение J: Рекомендации по наименованию

Приложение J: Рекомендации по наименованию

Наименование идентификаторов

Идентификаторы определяются при объявлении переменных, пользовательских типов данных, при создании POU и визуализаций. Ниже приведены рекомендации по образованию имен идентификаторов, позволяющие сделать их понятными и уникальными, на сколько это возможно.

Идентификаторы переменных

Используйте Венгерскую нотацию для наименования переменных в приложениях и библиотеках:

В качестве основы имени переменной необходимо выбрать краткое значимое наименование, говорящее о ее назначении. Слова, составляющие основу, пишутся без пробелов с заглавной буквы

(например: FileSize).

Перед основой имени необходимо поместить префикс, записанный строчными буквами, который будет говорить о типе данной переменной.

Тип

Нижняя гра-

Верхняя гра-

Размер

Префикс

Комментарий

 

 

ница

ница

(бит)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BOOL

FALSE

TRUE

1

x *

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

Логическая

перемен-

 

 

 

 

 

ная

 

 

 

BYTE

 

 

8

by

Битовая строка, не

 

 

 

 

 

 

использовать в ариф-

 

 

 

 

 

метических выраже-

 

 

 

 

 

ниях

 

 

 

WORD

 

 

16

w

Битовая

строка,

не

 

 

 

 

 

использовать в ариф-

 

 

 

 

 

метических

выраже-

 

 

 

 

 

ниях

 

 

 

 

 

 

 

 

 

 

 

DWORD

 

 

32

dw

Битовая

строка,

не

 

 

 

 

 

использовать в ариф-

 

 

 

 

 

метических

выраже-

 

 

 

 

 

ниях

 

 

 

 

 

 

 

 

 

 

 

LWORD

 

 

64

lw

Битовая

строка,

не

 

 

 

 

 

использовать в ариф-

 

 

 

 

 

метических

выраже-

 

 

 

 

 

ниях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SINT

-128

127

8

si

 

 

 

 

USINT

0

255

8

usi

 

 

 

 

 

 

 

 

 

 

 

 

 

INT

-32.768

32.767

16

i

 

 

 

 

 

 

 

 

 

 

 

 

 

UINT

0

65.535

16

ui

 

 

 

 

 

 

 

 

 

 

 

 

 

DINT

-2.147.483.648

2.147.483.647

32

di

 

 

 

 

 

 

 

 

 

 

 

 

 

UDINT

0

4.294.967.295

32

udi

 

 

 

 

 

 

 

 

 

 

 

 

 

LINT

-263

263 - 1

64

li

 

 

 

 

ULINT

0

264 - 1

64

uli

 

 

 

 

 

 

 

 

 

 

 

 

 

REAL

 

 

32

r

 

 

 

 

 

 

 

 

 

 

 

 

 

CoDeSys V2.3

10-101

Приложение J: Рекомендации по наименованию

LREAL

 

 

64

lr

 

 

 

 

 

 

 

 

 

 

 

 

 

STRING

 

 

 

s

 

 

 

 

 

 

 

TIME

 

 

 

tim

 

 

 

 

 

 

 

TIME_OF_DAY

 

 

 

tod

 

 

 

 

 

 

 

DATETIME

 

 

 

dt

 

 

 

 

 

 

 

DATE

 

 

 

date

 

 

 

 

 

 

 

ENUM

 

 

16

e

 

 

 

 

 

 

 

POINTER

 

 

 

p

 

 

 

 

 

 

 

ARRAY

 

 

 

a

 

 

 

 

 

 

 

* префикс x используется для переменной типа BOOL, если нужно подчеркнуть что она представляет собой именно один бит, что происходит при использовании прямого адреса бита (например %IX0.0). Если логическая переменная объявлена без указания адреса, то как правило, под нее выделяется целый байт (для оптимизации по быстродействию).

Примеры: bySubIndex: BYTE;

sFileName: STRING;

udiCounter: UDINT;

Вслучае составных объявлений, применяются составные префиксы:

Пример:

pabyTelegramData: POINTER TO ARRAY [0..7] OF BYTE;

Для экземпляров функциональных блоков и переменных пользовательских типов в качестве префикса используется сокращенное наименование функционального блока или типа (например: sdo).

Пример:

cansdoReceivedTelegram: CAN_SDOTelegram;

TYPE CAN_SDOTelegram : (* префикс: sdo *)

STRUCT

wIndex:WORD;

bySubIndex:BYTE;

byLen:BYTE;

aby: ARRAY [0..3] OF BYTE; END_STRUCT

END_TYPE

Константы начинаются с префикса c. За ним следует подчеркивание, префикс типа и основное имя.

Пример:

VAR CONSTANT

c_uiSyncID: UINT := 16#80;

END_VAR

Префиксы глобальных переменных (g) и глобальных констант (gc) отделяются подчеркивани-

ем. Дополнительный префикс вводится для библиотек:

CoDeSys V2.3

10-102

Приложение J: Рекомендации по наименованию

Примеры:

VAR_GLOBAL CAN_g_iTest: INT;

END_VAR

VAR_GLOBAL CONSTANT

CAN_gc_dwExample: DWORD;

END_VAR

Идентификаторы пользовательских типов (DUT)

Наименование структур образуется из префикса библиотеки (например: CAN), подчеркивания и возможно более короткой основы имени (например: SDOTelegram). В комментарии приводится префикс, принятый для образования имен переменных данного типа.

Примеры:

TYPE CAN_SDOTelegram : (*префикс: sdo *)

STRUCT

wIndex:WORD;

bySubIndex:BYTE;

byLen:BYTE;

abyData: ARRAY [0..3] OF BYTE;

END_STRUCT

END_TYPE

Перечисления начинаются с имени библиотеки (например: CAL) и следующего за подчеркиванием наименования с заглавной буквы.

Пример:

TYPE CAL_Day :( CAL_MONDAY, CAL_TUESDAY, CAL_WEDNESDAY, CAL_THIRSDAY, CAL_FRIDAY, CAL_SATURDAY, CAL_SUNDAY);

Объявление:

eToday: CAL_Day;

Идентификаторы функций, функциональных блоков и программ

(POU)

Имена для функций, функциональных блоков и программ образуются из префикса имени библиотеки (например: CAN), подчеркивания и краткой выразительной основы (например: SendTelegram). Как и для переменных, первая буква каждого слова должна быть заглавной. Рекомендуется составлять имена POU из глагола и существительного.

CoDeSys V2.3

10-103

Приложение J: Рекомендации по наименованию

Пример:

FUNCTION_BLOCK CAN_SendTelegram (* префикс: canst *)

В разделе объявлений должно быть дано краткое описание POU в виде комментария. Также все входы и выходы необходимо снабдить комментариями. Для функциональных блоков необходимо сразу указать префикс, который будет использоваться при создании экземпляров.

Для действий нет специального префикса. Но действия, которые должны вызываться только из самого блока (приватные), получают префикс „prv_“.

Каждая функция должна иметь хотя бы один параметр, для совместимости с предыдущими версиями CoDeSys. Внешние функции не должны возвращать структуру.

Идентификаторы визуализаций

При наименовании визуализаций необходимо учитывать только одно: их имена не должны совпадать с именами POU в проекте. В противном случае, могут возникнуть затруднения при переключении визуализаций.

CoDeSys V2.3

10-104