天天看点

如何调用形参数组_PCS 7中自定义功能块如何计时| PCS 7专栏

点击蓝色字体可以关注我

如何调用形参数组_PCS 7中自定义功能块如何计时| PCS 7专栏

PLC工程师习惯在使用TIA 或Step 7编程时,往往采用以下方式:

1. S5定时器

2. IEC定时器

3. 时钟储存器。

但在PCS 7采用的并不是以上3种方式。

—————————————————————————————————————————————————

PCS 7计时原理

PCS7中的计时原理是利用循环中断自加(或自减),这适用于PCS 7的特殊程序运行方式,所有的程序都在定时循环中断OB30~OB38中执行。假设OB34的循环中断时间为200ms,那么运行在OB35中的FB功能块使浮点数变量自加0.2共10次,就达到了计时2s的目的。假设OB33是1000ms的中断要计时10s,就是变量自加1共10次即可。PCS 7中每次自加或自减的量由接口参数"SampleTime"决定。

如何调用形参数组_PCS 7中自定义功能块如何计时| PCS 7专栏

                                                     图1  CPU循环中断属性

“SampleTime” 在PCS 7中创建示例

1. 定义SampleTime浮点型输入参数

2. 标记接口属性S7_sampletime,其值设定为ture。

SCL编程

VAR_INPUT

SampleTime{S7_sampletime:=’true’

                }:REAL:=0.0;

END_VAR

如何调用形参数组_PCS 7中自定义功能块如何计时| PCS 7专栏

 图2 LAD、STL编程方式为参数分配系统属性

调用后编译CFC

功能块VlvL被CFC调用后并编译程序,“SampleTime”参数值根据FB在不同的OB运行组中断设置的时间而自动修改。如OB32设定的中断时间为1000ms时,“Sampletime”值在CFC编译后会被修改为1.0。

如何调用形参数组_PCS 7中自定义功能块如何计时| PCS 7专栏

图3  AS Block参数SampleTime值被系统自动修改

总结与注意事项

1. 采用循环中断计时的方式避免了S5定时器不够用,或者用重复的情况,且利用循环中断自加自减的方式计时简单易用

2. S7_sampletime属性仅仅适用于CFC的调用方式,因此LAD、STL调用方式该属性不会自动修改参数“SampleTime”的值

3. 接口参数设定的时间不能小于SampleTime

—————————————————————————————————————————————————

设定时间不能小于采样时间

    IF Ti < SampleTime   // 错误的时间设定(时间设定小于采样时间)THEN 

        ErrorNum:=11;    // 输出错误代码,指示用户时间设定错误

        TimeRemaining.Value:=0.000000e+000;  // 计时器复位

        Out.Value:=false; // 输出复位    END_IF;  

计时器自减计时示例      

   IF TimeRemaining.Value>=SampleTime    // 计时条件触发THEN

      TimeRemaining.Value:=TimeRemaining.Value-SampleTime; // 计时器开始自减   

   ELSE       

       TimeRemaining.Value:=0.000000e+000;   // 计时完成,复位计时器

   END_IF;      —————————————————————————————————————————————————      

往期文章

APL中参数命名规则| PCS 7专栏

PCS 7 块属性| PCS 7专栏

PCS 7 如何上传全局DB变量到WinCC| PCS 7专栏

PCS 7 如何自动上传报警消息(上)| PCS 7专栏

PCS 7中如何自动上传变量到WinCC| PCS 7专栏

继续阅读