结构式文件编程语言(英语:Structured text)也称为ST语言,是为可编程逻辑控制器(PLC)设计的编程语言,是相关的IEC 61131-3标准中支援几种语言之一。
简介结构式文件编程语言是支援块状结构(block structured)的高阶语言,以Pascal为基础,语法也类似Pascal。所有IEC 61131-3的语言都支援IEC61131通用元素(IEC61131 Common Elements)。其变数及函式呼叫是由IEC61131通用元素所定,因此同一个程式中可以使用IEC 61131-3中的不同语言。
结构式文件编程语言类似于PASCAL及C语言,因此可利用与微电脑及个人电脑相同的程式设计技术,进行阶梯图所难以执行的复杂计算,完成程式的建立。常用的程式及回路可透过FB(功能区块)的建立轻易地重复利用。1
结构式文件编程语言支援复杂的叙述及巢状指令:
循环(REPEAT-UNTIL; WHILE-DO)
条件式执行(IF-THEN-ELSE; CASE)
函数(SQRT(), SIN())
范例简单的程式(* simple state machine *)TxtState := STATES[StateMachine];CASE StateMachine OF 1: ClosingValve();ELSE ;; BadCase();END_CASE;另外一个结构式文件的程式范例// PLC configurationCONFIGURATION DefaultCfg VAR_GLOBAL b_Start_Stop : BOOL; // Global variable to represent a boolean. b_ON_OFF : BOOL; // Global variable to represent a boolean. Start_Stop AT %IX0.0:BOOL; // Digital input of the PLC (Address 0.0) ON_OFF AT %QX0.0:BOOL; // Digital output of the PLC (Address 0.0). (Coil) END_VAR // Schedule the main program to be executed every 20 ms TASK Tick(INTERVAL := t#20ms); PROGRAM Main WITH Tick : Monitor_Start_Stop;END_CONFIGURATIONPROGRAM Monitor_Start_Stop // Actual Program VAR_EXTERNAL Start_Stop : BOOL; ON_OFF : BOOL; END_VAR VAR // Temporary variables for logic handling ONS_Trig : BOOL; Rising_ONS : BOOL; END_VAR // Start of Logic // Catch the Rising Edge One Shot of the Start_Stop input ONS_Trig := Start_Stop AND NOT Rising_ONS; // Main Logic for Run_Contact -- Toggle ON / Toggle OFF --- ON_OFF := (ONS_Trig AND NOT ON_OFF) OR (ON_OFF AND NOT ONS_Trig); // Rising One Shot logic Rising_ONS := Start_Stop;END_PROGRAM可编程逻辑控制器可编程逻辑控制器(Programmable Logic Controller,简称PLC),一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储与运行。可编程控制器由内部CPU,指令及数据存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成。PLC可接收(输入)及发送(输出)多种类型的电气或电子信号,并使用他们来控制或监督几乎所有种类的机械与电气系统。
最初的可编程序逻辑控制器只有电路逻辑控制的功能,所以被命名为可编程逻辑控制器,后来随着不断的发展,这些当初功能简单的计算机模块已经有了包括逻辑控制,时序控制、模拟控制、多机通信等许多的功能,名称也改为可编程控制器(Programmable Controller),但是由于它的简写也是PC与个人计算机(Personal Computer)的简写相冲突,也由于多年来的使用习惯,人们还是经常使用可编程逻辑控制器这一称呼,并在术语中仍沿用PLC这一缩写。
在可编程逻辑控制器出现之前,一般要使用成百上千的继电器以及计数器才能组成具有相同功能的自动化系统,而现在,经过编程的简单的可编程逻辑控制器模块基本上已经代替了这些大型装置。可编程逻辑控制器的系统程序一般在出厂前已经初始化完毕,用户可以根据自己的需要自行编辑相应的用户程序来满足不同的自动化生产要求。
现在工业上使用可编程逻辑控制器已经相当接近于一台轻巧型电脑所构成,甚至已经出现集成个人电脑(采用嵌入式操作系统)与PLC结合架构的可编程自动化控制器(Programmable Automation Controller,简称PAC),能透过数字或模拟输入/输出模块控制机器设备、制造处理流程及其他控制模块的电子系统。可编程逻辑控制器广泛应用于目前的工业控制领域。在工业控制领域中,PLC控制技术的应用已成为工业界不可或缺的一员。2
本词条内容贡献者为:
王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所