恭喜,你发布的帖子
发布于 2025-08-07 15:13:19
4楼
// 1. 上升沿检测(使用R_TRIG边沿触发器) VAR_TEMP trig : R_TRIG; // 临时变量:上升沿检测实例 END_VAR trig(CLK := "DB_Global".InputSignal); // 检测输入点的上升沿 "DB_Global".RisingEdge := trig.Q; // 上升沿标志:trig.Q=1表示检测到上升沿 // 2. 上升沿触发时执行计数和时间存储 IF "DB_Global".RisingEdge THEN // 2.1 计数器循环(1~10) "DB_Global".Counter := "DB_Global".Counter + 1; IF "DB_Global".Counter > 10 THEN "DB_Global".Counter := 1; // 第11次时重置为1 END_IF; // 2.2 读取当前系统时间(DTL格式) "DB_Global".CurrentTime := GET_CLK(); // 调用系统时钟读取函数 // 2.3 按计数器值存储时间到数组(dtl1对应数组[1],...,dtl10对应数组[10]) "DB_Global".dtlArray["DB_Global".Counter] := "DB_Global".CurrentTime; END_IF;
请填写推广理由:
分享
只看
楼主