不区分大小写
数据类型:
判断类型大小: wstring默认长度162字节,string默认81字节。
int2 := SIZEOF( wstr2 ); //Unicode编码,wstring是162字节
int1 := SIZEOF( str1 ); //ASCII编码, string是81字节
wstr2: WSTRING := "看看是不是162字节。";
str1 AT %MB1000: STRING := '电工';
全局变量:
使用全局变量要写限定名
GVL.
数组的定义:
arr1 : ARRAY [1..10] OF INT := [1,2]; (*数组部分初始化,没有初始化元素为默认值0*)
数组结构初始化示例
结构定义:
TYPE STRUCT1
STRUCT
p1:int;
p2:int;
p3:dword;
END_STRUCT
END_TYPE
数组结构初始化:
arr1:ARRAY[1..3] OF STRUCT1:= [
(p1:=1,p2:=10,p3:=4723),
(p1:=2,p2:=0,p3:=299),
(p1:=14,p2:=5,p3:=112)
];
类型转换:
ASCII是不支持中文的。所以string是乱码
选中变量名》 按shift+F2(调出输入助手)修改变量类型
变量可以在POU的定义部分或者通过自动声明对话框定义,也可以在DUT 或者 GVL 编辑器定义,通过变量类 型关键字来标识变量类型,例如通过VAR和END_VAR来标识它之间定义的变量为本地变量。
初始值:
-2147483648~2147483647 // 数值类型
t#12h34m15s; // 时间类型
"汇川PLC-AM600" // 每2字节单位 Unicode 字符串类型wstring固定162字节
wo的进制 := 123; // 十进制表示
wo的进制 := 16#0F; // 十六进制表示
wo的进制 := 10#255; // 十进制表示
wo的进制 := 8#255; // 八进制表示
wo的进制 := 2#00001111; // 二进制表示
时间
time 32bit 毫秒 T#12345MS; // t#12h34m15s;
ltime 64bit L毫秒 LTIME#12.789D; // D天 H时 M分 S秒 MS毫秒
date 32bit 年-月-日 D#2022-10-24;
date_and_time 32bit 年-月-日L DT#1970-1-1-0:0:0
time_of_day 32bit 时-分-秒 TOD#15:36:30.123;// 4 TOD#
文字图片
string 81字节 'ABCDEF' //ASCii 字符 1字节 $转义 $30
wstring 162字节 "汇川PLC-AM600" //unicode字符串 2字节
本地变量(VAR)
输入变量(VAR_INPUT)
输出变量(VAR_OUTPUT)
输入输出变量(VAR_IN_OUT)
全局变量(VAR_GLOBAL)
临时变量(VAR_TEMP)
静态变量(VAR_STAT)
配置变量(VAR_CONFIG)
常量 var_constant
输入端口变量(I)
输出状态(Q)
数值(M)
F1是帮助
1创建程序:
1是变量区,2是程序区
2硬件地址绑定变量:
这样io值就绑定了,你修改变量,对应的硬件io跟随变化。