CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-CODESYS资源下载区-酷德网 - CoDeSys软件教程下载,CoDeSys工控资讯门户 

酷德网

HSC6490-cn中国制造,中国芯~
查看: 401|回复: 0

CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”

[复制链接]
  • TA的每日心情
    慵懒
    2017-11-9 20:49
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2026-3-18 11:48:49 | 显示全部楼层 |阅读模式
    如果说字符集和分界符是PLC编程的“基础语法”,那关键字和常数就是编程的“核心词汇”——关键字定义程序结构,常数是程序中不可修改的固定值,二者均为IEC61131-3标准的核心元素,也是CoDeSys等编程软件的通用规范。本文详解关键字的分类与使用禁忌,以及8类常用常数的书写规则。

    一、关键字:PLC程序的“保留字”,不可挪用的结构定义词

    关键字是特征化词法单元,用于定义程序结构、启动/终止软件元素,是编译器识别程序逻辑的关键,核心规则与分类如下:


    • 核心使用禁忌:不可作为变量名、扩展名(如TON、VAR不可用于命名);无空格,为连续字符。
    • 核心分类(CoDeSys常用)
    关键字

    说明

    关键字

    说明

    PROGRAM

    END_PROGRAM

    程序段开始程序结束

    EN,ENO

    使能输入/输出

    FUNCTION

    END_FUNCTION

    函数段开始

    函数段结束

    TRUE

    FALSE

    逻辑真

    逻辑假

    FUNCTION_BLOCK

    END_FUNCTION_

    BLOCK

    功能块段开始

    功能块段结束

    TYPE

    END_TYPE

    数据类型段开始,

    数据类型段结束

    VAR

    END_VAR

    内部变量段开始变量段结束

    STRUCT

    END_STRUCT

    结构体开始,

    结构体结束

    VAR_INPUT

    END_VAR

    输入变量段开始变量段结束

    IFTHENEISIF

    ELSEEND_IF

    IF语句

    VAR_OUTPUT

    END_VAR

    输出变量段开始变量段结束

    CASE OFELSE

    END_CASE

    CASE语句

    VAR_IN_OUT

    END_VAR

    输入输出变量段开始变量段结束

    FORTOBYDO

    END_FOR

    FOR循环语句

    VAR_GLOBAL

    END_VAR

    全局变量段开始变量段结束

    REPEAT UNTIL

    END_REPEAT

    REPEAT循环语句

    CONSTANT

    常数变量

    WHILEDO

    END_WHILE

    WHILE循环语句

    ARRAY OF

    数组

    RETURN

    跳转返回符

    AT

    直接地址

    NOT,AND,OR,XOR

    逻辑操作符



    • 程序结构关键字(配对使用):PROGRAM/END_PROGRAM、FUNCTION/END_FUNCTION、FUNCTION_BLOCK/END_FUNCTION_BLOCK(定义程序/函数/功能块范围)。
    • 变量声明关键字(配对使用):VAR/END_VAR(内部)、VAR_INPUT/END_VAR(输入)、VAR_OUTPUT/END_VAR(输出)、VAR_IN_OUT/END_VAR(输入输出)、VAR_GLOBAL/END_VAR(全局)。


    • 数据类型关键字(配对使用):TYPE/END_TYPE、STRUCT/END_STRUCT、ARRAY OF(数组)。


    • 逻辑控制关键字(配对/单独):IF/THEN/ELSE/END_IF、CASE/OF/END_CASE、FOR/TO/DO/END_FOR(循环判断);TRUE/FALSE(逻辑值)、EN/ENO(使能输入输出)。


    • 操作/跳转关键字:NOT/AND/OR/XOR(逻辑运算)、RETURN(跳转返回)、AT(直接地址)。
        3.扩展保留关键字:标准数据类型(BOOL、INT、REAL等)、标准函数/功能块名(SIN、TON、RS等)、指令表操作符(LD、ADD、GT等)均为保留关键字。

    二、常数:程序中不可修改的固定值,按类型遵循专属书写规则

    常数又称数值文字,分为基础数值常数和特殊类型常数,书写格式为<类型>#<数值>(类型可省略,默认最小数据类型),核心要求:数值必须匹配指定数据类型,否则编译器报错。以下为8类高频常数的详细规范:

    数值文字类型

    表示方法

    示例

    整数文字

    [整数类型名#]符号整数或二(八、十、十六)进制整数

    INT#-34,UINT#32

    二进制整数

    2#0010_0010(34)

    八进制整数

    8#77(63)

    十六进制整数

    16#E5(229)

    实数

    [实数类型名#]符号整数.整数[指数]

    REAL#4.94,6.3e-7

    符号整数.整数

    3.141592

    布尔数

    [布尔类型名#]0或1,False或True

    0,1,True,BOOL#1


    • 数值常数:支持二进制(2#)、十进制(直接写)、十六进制(16#),可加下划线排版(如2#1010_0011);支持整数(INT#-34)和无符号整数(UINT#32)。
    • BOOL常数:逻辑值,仅TRUE/1(真)、FALSE/0(假),二者等价。
    • TIME常数:格式T#<时间>(T/t可替换为TIME/time),时间单位按d→h→m→s→ms排序(可省略),如:       
      TIME1:= T#14ms;

      TIME2:= T#100S12ms;(*最高单位的值可以超出其限制*)

      TIME3:= t#12h34m15s;

    • DATE常数:格式D#<年-月-日>(D/d可替换为DATE/date),如D#1980-02-29,DATE#1996-05-06 。
    • TIME_OF_DAY(TOD)常数:格式TOD#<时:分:秒>(秒可为小数),如TOD#05:30:35.28,用于表示一天内的具体时间。
      CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-1.png

    • DATE_AND_TIME(DT)常数:日期+时间组合,格式DT#<年-月-日-时:分:秒>,如DT#2025-01-01-08:00:00。
      CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-2.png

    • REAL/LREAL常数:浮点数,支持十进制小数(3.14)和指数形式(6.3e-7),采用美国格式(小数点分隔,无千分位)。
      CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-3.png

    • STRING常数:格式'<字符内容>',支持空格/特殊字符;$为特殊字符前缀。
      CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-4.png

    • 两位十六进制数`表示ASCII码。
    • 类型符,对IEC 常数,有可能使用最小的数据类型。如必需使用另一种数据类型。则可借助于类型符而不需要显示地声明常数。为此,常数可使用一个前缀表示,该前缀决定了其类型。

      CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-5.png



      <Type>:指定所要求的数据类型有 BOOL、SINT、USINT、BYTE、INT、UINT、WORD、DINT、UDINT、DWORD、REAL 及LREAL。

      <Literal>:指定常数。输入的数据必须与<Type>下指定的数据类型相匹配。
      CoDeSys入门实战一起学习(十九):PLC编程公用元素(二):关键字与常数,程序的“核心词汇与固定值”-6.png


      如果常数不能保证在不丢失数据的情况下转换为目标类型,系统将发出一个出错信息。类型符可用于一般常数。

    三、实用技巧:类型符的灵活使用

    可通过类型符前缀指定常数数据类型(如REAL#4.94、BYTE#255),无需显式声明;若常数无法无损转换为目标类型,系统将触发错误提示,有效避免数据丢失。

    文末小结

    关键字的核心是**“不挪用、记配对”,常数的核心是“记格式、匹配类型”。新手可先掌握高频关键字(如VAR、TON、IF)和常用常数(TIME、BOOL、数值),后续随编程经验逐步拓展。
    +10
    不赞一个?
    打赏鼓励一下!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|Archiver|手机版|小黑屋|酷德论坛 ( 苏ICP备16065247号-1 )|网站地图

    GMT+8, 2026-10-9 17:43 , Processed in 0.142319 second(s), 49 queries .

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表