本章节内容参考codesysV3基础用户手册。

    变量声明就是指定变量的名称、类型和赋初始值,变量的声明非常重要,未经声明的变量是不能通过编译的,所以也无法在程序中使用。用户可以在程序组织单元(POU)、全局变量列表(GVL)和自动声明对话框中进行变量的声明。在CoDeSys 中变量声明分为两类,普通变量声明和直接变量。

1) 普通变量声明

    最常用的变量声明,不需要和硬件外设或通讯进行关联的变量,仅供项目内部逻辑使用。普通声明须符合以下规则:

< 标识符 > : < 数据类型 > {:=< 初值 >}; {}中为可选部分。 如nTest:BOOL;,nTest:BOOL:=TRUE;

2) 直接变量声明

    在CoDeSys 应用中,当需要和可编程逻辑控制器的I/O 模块进行变量映射或和外部设备进行网络通讯时,需要采用此声明方法。

    使用关键字AT 把变量直接联结到确定地址,直接变量须符合以下规则:

AT<地址>: < 标识符 > AT < 地址 > : < 数据类型 > {:=< 初始化值 >}; {}中为可选部分。

    使用“%”开始,岁后是位置前缀符号和大小前缀符号,如果有分级,则用整数表示分级,并用小数点符号“.”表示,如%IX0.0,%QW0。直接变量声明的具体格式如图4.X 所示。

位置前缀的定义:

  • I:表示输入单元。
  • Q:表示输出单元。
  • M:表示存储区单元。 大小前缀的定义如表4-X 所示。
前缀符号 定义 约定数据类型
X 位(bit) BOOL
B 字节(BYTE) BYTE
W 字(WORD) WORD
D 双字(DWORD) DWORD
L 长字(LWORD) LWORD
* 未特定位置的内部变量,系统自动分配。

    【例4.X】在程序中定义了变量双字型Var1,如需拿取该变量其中的一部分数据,将其转换成布尔/字节/字类型的变量,其首地址为多少,该如何换算: VAR Var1 AT%ID48:DWORD; END_VAR

    %I 说明了该变量属于输入单元,具体的地址为%ID48。该地址对应的内存映射详见表4-x 所示。字地址%IW96 和%IW97 两个字组合后对应%ID48,因为48 2(字节)后的字节首地址为96。同样的道理,字节地址%IB192、%IB 193、%IB 194 和%IB 195 这四个字节变量组合后对应%ID48,因为48 4(字节) 后对应的字节首地址正好为192。表4.x 列出了CoDeSys V3.x 在寻址时,根据数据类型的大小(X:bit,B:byte,W:word,D:dword)。

%IX 96.0 - 96.7 96.8 - 192.15 97.0 - 97.7 97.8 - 97.15
%IB 192 193 194 195
%IW 96 96 97 97
%ID 48 48 48 48

映射关系: 1) %MX12.0:是%MB12 的第一位。 2) %IW4:表示输入字单元4(字节单元8 和9)。 3) %Q*:输出在一个为特定的位置。 4) %IX1.3:表述输入第1 字节单元的第三位。

    这里介绍的计算方法只适用于CoDeSys V3.x 的,CoDeSys V2.x 的计算方法略有不同。

Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2019-03-23 13:54:48

results matching ""

    No results matching ""