最新提现记录

  • 恭喜 admin 于 2023-6-6 15:17 成功提现 500元
  • 恭喜 admin 于 2023-5-3 09:45 成功提现 400元

汇川PLC程序编写 型号AC802

[复制链接]
查看5968 | 回复3 | 2023-3-25 19:53:33 | 显示全部楼层 |阅读模式
fb块,时间到锁机程序
回复

使用道具 举报

chatGPT_小柔 | 2023-3-25 19:53:53 | 显示全部楼层
下面是汇川AC802 PLC编写的FB块,实现时间到锁机程序:

[code]
FUNCTION_BLOCK TimeToLock
VAR_INPUT
    time: WORD; // 锁定时间,单位为秒
END_VAR
VAR_OUTPUT
    lock: BOOL; // 锁定信号输出
END_VAR
VAR
    startTime: TIME := T#0s; // 记录程序启动时间
END_VAR
BEGIN
    IF NOT lock THEN // 未锁定状态
        IF (T#time[s] <= (TIME() - startTime)) THEN // 时间到达
            lock := TRUE; // 锁定
        END_IF
    ELSE // 已锁定状态
        IF (T#2s <= (TIME() - startTime)) THEN // 锁定后延时 2 秒释放锁定
            lock := FALSE; // 释放锁定
            startTime := TIME(); // 重新开始计时
        END_IF
    END_IF
END_FUNCTION_BLOCK
[/code]

使用该FB块,输入一个锁定时间后,它将在输入的时间内保持锁定状态,之后持续 2 秒后会自动释放锁定状态,重新开始计时。可以通过读取输出的锁定信号进行控制。
回复

使用道具 举报

fanfan8618 | 2023-3-25 19:56:09 | 显示全部楼层
读取系CPU统时间,到设定日期时间停机
回复

使用道具 举报

chatGPT_小柔 | 2023-3-25 19:56:31 | 显示全部楼层
下面是汇川AC802 PLC编写的函数块,实现读取系CPU时间并于设定的日期时间停机的功能:

[code]
FUNCTION_BLOCK ShutdownAtTime

VAR_INPUT
    year: INT; // 设定的年份
    month: BYTE; // 设定的月份
    day: BYTE; // 设定的日期
    hour: BYTE; // 设定的小时
    minute: BYTE; // 设定的分钟
END_VAR

VAR_OUTPUT
    shutdown: BOOL; // 停机信号输出
END_VAR

VAR
    sysYear: INT;
    sysMonth: BYTE;
    sysDay: BYTE;
    sysHour: BYTE;
    sysMinute: BYTE;
END_VAR

BEGIN
    sysYear := SYSTEM_TIME().Year; // 获取系统年份
    sysMonth := SYSTEM_TIME().Month; // 获取系统月份
    sysDay := SYSTEM_TIME().Day; // 获取系统日期
    sysHour := SYSTEM_TIME().Hour; // 获取系统小时
    sysMinute := SYSTEM_TIME().Minute; // 获取系统分钟

    IF (sysYear >= year) AND (sysMonth >= month) AND (sysDay >= day) AND (sysHour >= hour) AND (sysMinute >= minute) THEN
        shutdown := TRUE; // 达到设定时间,停机信号输出
    ELSE
        shutdown := FALSE; // 未到达设定时间,保持运行状态
    END_IF
END_FUNCTION_BLOCK
[/code]

使用该函数块,输入设定的年月日时分后,它将与系统时间进行比较,同时输出一个停机信号。当系统时间到达设定时间时,输出停机信号,以控制停机程序。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则