Skip to main content

对于变量

只要有可能,您应该在应用程序和库中以匈牙利符号命名变量。为每个变量找到一个有意义的简短英文名称作为基本名称,该名称可以由多个单词组成。每个单词的第一个字母大写,其余字母小写。在基本名称前,附加一个小写前缀,以指示变量的数据类型。

例子: iFileSize : INT;

标识符指定建议

数据类型

字首

描述

BOOL

x

我们明确推荐 x 作为布尔变量的前缀,以便将它们与数据类型的标识符区分开来 BYTE.前缀表示 IEC 程序员的观点。

b

预订的

BYTE

by

位串;不适用于算术运算

WORD

w

位串;不适用于算术运算

DWORD

dw

位串;不适用于算术运算

LWORD

lw

位串;不适用于算术运算

SINT

si

算术整数数据类型,8 位

USINT

usi

算术整数数据类型,8 位

INT

i

算术整数数据类型,16 位

UINT

ui

算术整数数据类型,16 位

DINT

di

算术整数数据类型,32 位

UDINT

udi

算术整数数据类型,32 位

LINT

li

算术整数数据类型,64 位

ULINT

uli

算术整数数据类型,64 位

REAL

r

算术浮点数据类型,32 位

LREAL

lr

算术浮点数据类型,64 位

STRING

s

可变长度的单字节字符串(默认设置:80 个字符)

WSTRING

ws

可变长度的双字节字符串(默认设置:80 个字符)

TIME

tim

持续时间,32 位

LTIME

ltim

持续时间,64 位

  • TIME_OF_DAY

  • TOD

tod

时间,32 位

  • LTIME_OF_DAY

  • LTOD

ltod

一天中的时间,64 位

  • DATE_AND_TIME

  • DT

dt

日期和时间

  • LDATE_AND_TIME

  • LDT

ldt

DATE

  • dat

  • d

日历日期

LDATE

  • ldat

  • ld

日历日期

POINTER

p

ARRAY

a

枚举

e

305. 例子
VAR
        bySubIndix: BYTE;
        xFlag: BOOL;
        udiCounter: UDINT;
END_VAR


标识符指定建议

描述

例子

嵌套声明

前缀按声明顺序依次附加。

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

功能块实例

用户定义数据类型的变量

前缀:功能块或数据类型名称的缩写

cansdoReceivedTelegram: CAN_SDOTelegram;

TYPE CAN_SDOTelegram : (* prefix: 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_

VAR_GLOBAL
    CAN_g_iText: INT;
END_VAR

全局常数

全局常量变量

附加前缀附加到库前缀。

gc_

VAR_GLOBAL CONSTANT
    CAN_gc_dwExample: DWORD;
END_VAR