Professional Documents
Culture Documents
最新CoDeSys讲义4 变量
最新CoDeSys讲义4 变量
POU变量声明
输入变量
输出变量
输入/输出变量
局部变量
保持变量
1、变量声明的语法格式
注意:
变量名不允许包含空格与特殊字符,不能与关键字相同;变量名不区分大小写,
允许包含至多一个下划线;变量名最大为32个字符。
在声明过程中可以为变量赋初值,如果省略,系统默认初始值为“0”。
使用“AT”关键字可以将变量连接到硬件地址。
2、POU变量声明
输入变量:在关键字“VAR_INPUT”与“END_VAR”之间声明,声明的变量作为
POU的输入变量。调用POU时可以为输入变量赋值。
举例:
VAR_INPUT
in1:INT;
END_VAR
输出变量:在关键字“VAR_ OUTPUT”与“END_VAR”之间声明,声明的变量作为
POU的输出变量。POU被调用时输出一个或多个数据。
举例:
VAR_OUTPUT
out1:INT;
END_VAR
输入/输出变量:在关键字“VAR_IN_OUT”与“END_VAR”之间声明,声明的变量作
为POU的输入/输出变量。变量的输入值不能为常量。
举例:
VAR_IN_OUT
inout1:INT;
END_VAR
局部变量:在关键字“VAR”与“END_VAR”之间声明,声明的变量作为POU的局部
变量。外部程序不能操作POU的局部变量。
举例:
VAR
loc1:INT;
END_VAR
保持变量:在关键字“VAR_RETAIN”与“END_VAR”之间声明。系统保存变量的
数据,如果系统断电,数据也不会丢失。当系统上电,程序运行时,系统根据被保存的
数据的状态运行程序。
举例:
VAR_RETAIN
rem1:INT;
END_VAR
3、全局变量声明
4、POU常量声明
在POU声明部分的关键字“VAR_CONSTANT”与“END_VAR”之间声明。
语法:<Identifier>:<Type>:=<initialization>;
“Identifier” :常量名
“Type” :常量类型
“Initialization” :常量的值
举例:
VAR_CONSTANT
con1:INT:=12;
END_VAR
5、程序注释
在POU的声明部分与程序部分可以为程序添加注释文本
在POU的声明部分,IL与ST语言程序部分的每一行后添加程序注释,格式为(*注释
文本*)
举例:
VAR
INSTANZ:FUB; (*声明FUB功能块的实例INSTANZ*)
END_VAR
在FBD与LD语言程序部分中,通过使用“Insert” 下拉菜单中的“Comment”命令
添加注释;在SFC语言程序部分中,通过“Step Attributes”添加注释。
6、PFC硬件寻址
PFC地址分布:
地址长度 地址
DWord 0 … 127
注意:
I/O模块的地址排列遵循“模拟量地址在前,数字量地址在后”的规律,即无论PFC节点中的
I/O模块的物理排列顺序如何,模拟量模块的地址在前,数字量模块的地址在后。
位以字的宽度存储,访问某一位可以使用“%MX5.0” 的方式,即内存地址第5字第0位。
说明
1.可编程总线适配器(PFC)的过程映像分为输入、输出量部分;在WAGO-I/O-PRO
CAA中,分别以“%I”与“%Q”表示。在WAGO-I/O-PRO 中,I/O模块的地址排列遵循“
模拟量地址在前,数字量地址在后”的规律,即无论PFC节点中的I/O模块的物理排列顺序
如何,模拟量模块的地址在前,数字量模块的地址在后。
2.在WAGO-I/O-PRO中,地址的排列以“字”(16位)为单位。在“%I”地址区中,从
%IW0开始,先为模拟量输入地址,后为数字量输入地址;在“%Q”地址区中,从%QW0
开始,先为模拟量输出地址,后为数字量输出地址。在模拟量地址中,I/O地址根据模拟量
模块的物理安装顺序排列;在数字量地址中,I/O地址根据数字量模块的物理安装顺序排列
。
3.PFC的内部存储器以“%M”表示,内部存储器地址的排列以“字”(16位)为单位
,从%MW0开始排列。
4.在POU中,可以使用硬件地址如“%IW0” ,“%QW1”编程也可以使用变量编程。
若使用变量编程,需要在POU变量声明部分进行变量的声明。
举例:
%IX2.0: 输入地址第2字第0位
%IW215: 输入地址第215字
%QB7: 输出地址第7字节
%MD48: 内存地址第48双字