汇川PLC程序编写 型号AC802
fb块,时间到锁机程序 下面是汇川AC802 PLC编写的FB块,实现时间到锁机程序: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 <= (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
使用该FB块,输入一个锁定时间后,它将在输入的时间内保持锁定状态,之后持续 2 秒后会自动释放锁定状态,重新开始计时。可以通过读取输出的锁定信号进行控制。 读取系CPU统时间,到设定日期时间停机 下面是汇川AC802 PLC编写的函数块,实现读取系CPU时间并于设定的日期时间停机的功能:
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
使用该函数块,输入设定的年月日时分后,它将与系统时间进行比较,同时输出一个停机信号。当系统时间到达设定时间时,输出停机信号,以控制停机程序。
页:
[1]