Raspberry Pi 和 Linux SL 产品:SysTimeRTCSetTimezone 未实现/执行 bash 命令


作为解决方法,可以通过 Linux 命令行设置时区

系统上必须安装软件包“systemd”,以便使用 timedatectl。

== >> 在 PFC100/PFC200 运行时,不使用 systemd,但可以使用以下命令代替

使用“/etc/config-tools/config_timezone”命令代替“timedatectl set-timezone”命令: TZ="CET-1CEST,M3.5.0/2,M10.5.0/3" or /etc/config-tools/config_timezone tz-string="CET-1CEST,M3.5.0/2,M10.5.0/3"

PFC100/PFC200 的时区缩写列表可在此处找到: cat /usr/share/zoneinfo/allzones

首先允许命令,如此处所述:SysProcess

可以通过命令行读取可用时区列表

timedatectl list-timezones


声明

VAR
    sCmdCet     : STRING := 'timedatectl set-timezone Europe/Berlin';
    sCmdGmt     : STRING := 'timedatectl set-timezone Etc/GMT';
    xSetGmt     : BOOL;
    xSetCet     : BOOL;
    rtsResult   : SysTypes.RTS_IEC_RESULT;
    diReturn    : DINT;
END_VAR

实现

IF xSetGmt THEN
    xSetGmt := FALSE;
    diReturn := Sysprocess.SysProcessExecuteCommand(pszComand := sCmdGmt, ADR(rtsResult));
END_IF

IF xSetCet THEN
    xSetCet := FALSE;
    diReturn := Sysprocess.SysProcessExecuteCommand(pszComand := sCmdCet, ADR(rtsResult));
END_IF

图1