您现在的位置是:首页 > PLC技术 > PLC技术
使用STL编程用户自己的功能
来源:艾特贸易2017-06-05
简介具有功能值的 FC 功能允许编程用户自己的功能,但是 SCL 编程语言也可以。既然可以在程序中混合使用由不同语言创建的块,就可以使用 STL 语言编制一个 FC 功能,然后在 SCL 中调用它
具有功能值的FC功能允许编程用户自己的功能,但是SCL编程语言也可以。既然可以在程序中混合使用由不同语言创建的块,就可以使用STL语言编制一个FC功能,然后在SCL中调用它,从而使用更多种类的STL功能,比如直接存取变量地址或者通过地址寄存器寻址。
可以用两种方式编程STL块:递增式或面向源文件方式。如果选择面向源文件方式编程,则其步骤和SCL相同:
①在Source Files(源文件)容器中创建一个STL源文件。
②双击打开STL源文件。
③使用STL编程语言编程源程序。
④如果给功能选择了符号名,则更新符号表。
⑤编译STL程序,以使编译的功能在Blocks(块)容器中有效。
⑥可以用同样的方式调用一个新的功能,这里是指SCL程序中的标准功能。
面向源文件的STL编程使用与SCL块编程几乎一样的关键字。具有功能值的有关功能的主要区别是程序中功能值的名称为RET_VAL(或
ret_val)。在程序中就可以把功能值赋给变量RET_VAL。
对于这个小示例,选择功能扫描、启动和复位一个定时器功能,以获得定时器功能的简化处理。。
功能T_SCAN产生参数化的定时器地址的状态:
FUNCTION T_SCAN : BOOL
VAR_INPUT
T_NO : TIMER;
END_VAR
BEGIN
UT_NO; =RET_VAL;
END_FUNCTION
通过一个输入,功能T_PULSE启动定时器地址用作一个脉冲:
FUNCTION T_PULSE : VOID
VAR INPUT
TNO : TIMER; Start : BOOL;
Ti_me_value : S5TIME;
END_VAR
BEGIN
UStart; L Time_value; SI T_NO;
END_FUNCTION
在每次调用时,功能T_RESET复位定时器地址:
FUNCTION T_RESET : VOID
VAR_INPUT
T_NO:TIMER;
END_VAR
BEGIN
SET; R T_NO;
END_FUNCTION
编译后,这些功能在SCL中的使用如下:
IF NOT T_SCAN (T1)
THEN T_PULSE( T_NO :=T2,
Start :=E1.0,
Time_vaule:=S5T#5s);
ELSE T_RESET lT3);
END_IF;
点击排行
