SCL 编程 一. 数据类型: 基本数据类型 复杂数据类型 用户自定义数据类型 BOOL 位 DATE_AND_TIME UDT BYTE 字节 日历:格式: Date1:DT:=DT#1990-01-01-00:00:00 名称 类型 初始值 UDT 的面向源文件的输入和STRUCT 变量的输入一样,都限定在关键字TYPE 和END_TYPE 这间。 如: TYPE udtname STRUCT Komp1name:datatype:=pre-assignment; Komp1name:datatype:=pre-assignment; … … … . END_STRUCT END_TYPE WORD 字 DWORD 双字 CHAR 字符 STRING 字符串 格式: M1:STRING[NO.]:=初始值; INT 整数 DINT 双整数 REAL 浮点数 ARRAY 数组 格式: M1:ARRAY[N..M] OF INT; 数组名:ARRAY[N..M] OF INT; 在数组里寻址:数组[NO.] S5TIME 时间:时,分,秒。如S5T#1h1m1s DATE 日期:年,月,日。如; D#2012-4-26 TIME 表示:日期,时,分,秒,毫秒。 如:TIME#24h20h31m 23s648ms STRUCT 结构 TIME_OF_DAY 如:TIME_OF_DAY#00:00:00 TOD#00:00:00 注:还有两种类型:P:POINTER(指针数据类型)。A:ANY(任何类型) 数组的定义:M1:ARRAY[n0..m0,n1..m1] OF INT; 数组的类型 二. 寻址 ○1 绝对寻址 地址区域 位 字节 字 双字 输入 Iy.x IBy IWy IDy 输出 Qy.x QBy QWy QDy 外围输入 --- PIBy PIWy PIDy 外围输出 --- PQBy PQWy PQDy 存储位 M MBy MWy MDy 全局数据地址 DB .DXy.x DB .Dy.x DB .DBy DB .DWy DB .DDy ○2 符号寻址 如:DB10.setpoint “motor1data”.DW12 ○3 间接寻址 如:E[byteindex,bitindex] MB[byteindex] DB10.DW[byteindex] 三.SCL 运算符和表达式 结 合 名 称 运算符 优先级 圆括号 (表达式) (,) 1 算术 幂 一元加,一元减 乘法,除法 加法,减法 ** +,- *,/,DIV,MOD +,- 2 3 4 5 比较 小于,小于等于,大于,大于等于 等于,不等于 <,<=,>,>= =,<> 6 7 二进制结合 非(一元) 与逻辑运算 异或 或逻辑运算 NOT AND,& XOR OR 3 8 9 10 赋值 赋值 := 11 注:以上运算符的表达式基本大多和我们的数学表达式一样。这里只讲解一下AND,XOR,OR 指令。 如:a1:=a1 AND W#16#FFFF a1:=a1 XOR W#16#FFFF a1:=a1 OR MW10 四.控制语句 控制语句: 语句说明: IF 依赖布尔值的程序分支 CASE 依赖INT值的程序分支 F...