CoDeSys是一种功能强大的PLC软件编程工具,它支持IEC1131-3标准IL、ST、FBD、LD、SFC、CFC六种PLC编程语言,用户可在同一项目中根据需要选择不同的语言编写子程序、功能模块等。
一、指令表IL(Instruction List)
IL程序设计语言是用布尔助记符来描述程序的一种程序设计语言,它与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
指令 描述
LD 读取操作数的值;
ST 把当前值存入操作数;
S 把布尔量操作数置 TRUE;
R 把布尔量操作数置FALSE ;
AND 逻辑与;
OR 逻辑或;
NOT 逻辑非;
XOR 逻辑异或;
ADD 加;
SUB 减;
MUL 乘;
DIV 除;
MOD 求余数;
GT >;
GE >=;
EQ =;
NE <>;
LE <=;
LT <;
JMP 跳转至标志行;
CAL 调用子程序;
LD
TRUE
(*读取 TRUE*)
ANDN
BOOL1
(*与变量 BOOL1的反值进行AND 运算*)
JMPC
mark
(*当结果为 TRUE时,跳转至 "mark"行*)
LDN
BOOL2
(*变量BOOL2值取反*)
ST
ERG
(*把结果存至ERG*)
JMP
end
(*跳转至 "end"行*)
mark:
(*"mark"标志行*)
LD
BOOL2
(*读取BOOL2的值 *)
ST
ERG
(*把BOOL2存至ERG*)
End:
(*"end"标志行*)
二、梯形图
梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。它来源于继电器逻辑控制系统的描述
梯形图程序设计语言的特点是:
与电气操作原理图相对应,具有直观性和对应性;主要应用于开关量逻辑控制目的的程序。
与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待。
与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查。
三、结构化文本ST(Structured Text)
ST程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,尤其是大量的模拟量运算和处理,常采用ST语言来描述控制系统中各个变量之间较复杂的控制运算关系,完成所需的功能或操作。
ST语言与BASIC语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
指令 描述
AND 逻辑与;
OR 逻辑或;
NOT 逻辑非;
XOR 逻辑异或;
+ 加;
- 减;
* 乘;
/ 除;
MOD 求余数;
ST语言除有一般算术运算、逻辑运算、表达式、调用子程序等指令外,还有一些结构化的语句模块。
条件语句:
IF <逻辑表达式1> THEN (*表达式为TRUE时,执行功能块一*)
... (*功能块一*)
ELSIF <逻辑表达式2> THEN (*表达式为TRUE时,执行功能块二*)
... (*功能块二*)
ELSIF <逻辑表达式n> THEN (*表达式为TRUE时,执行功能块n*)
... (*功能块n*)
ELSE
... (*功能块n+1*)
END_IF (* 条件结束*)
其余指令用法参见CoDeSys手册。
四、功能模块图FBD(Function Block Diagram)
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同