西门子1200把系统日期打包成十进制字符串
时间: 2023-06-14 22:05:16 浏览: 154
可以使用以下代码将系统日期打包成十进制字符串:
```
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm * timeinfo;
char date_str[9];
int year, month, day;
time(&rawtime);
timeinfo = localtime(&rawtime);
year = timeinfo->tm_year + 1900;
month = timeinfo->tm_mon + 1;
day = timeinfo->tm_mday;
sprintf(date_str, "%04d%02d%02d", year, month, day);
printf("Decimal date string: %s\n", date_str);
return 0;
}
```
这个程序使用了C标准库中的time.h头文件中的函数来获取系统时间和日期,并使用sprintf函数将日期打包成十进制字符串。注意,西门子1200系统使用的是C语言,因此这个程序可以直接在1200上编译运行。
相关问题
西门子1200把系统日期打包成字符串
在西门子1200 PLC中,可以使用函数“TOD”(Time of Day)来获取当前系统日期和时间。然后,您可以使用字符串函数将日期和时间转换为字符串。
以下是一个示例代码,它将当前日期和时间打包成一个字符串:
```
// 获取当前日期和时间
TOD now = TOD#();
// 将日期和时间转换为字符串
STRING datetime := CONCAT(
STRING(TO_BCD(now.dt#year, 4)),
"-",
STRING(TO_BCD(now.dt#month, 2)),
"-",
STRING(TO_BCD(now.dt#day, 2)),
" ",
STRING(TO_BCD(now.t#hour, 2)),
":",
STRING(TO_BCD(now.t#minute, 2)),
":",
STRING(TO_BCD(now.t#second, 2))
);
```
在这个例子中,我们首先使用“TOD#()”函数获取当前日期和时间。然后,我们使用“TO_BCD”函数将日期和时间的各个部分转换为BCD码,这是一种二进制编码格式。最后,我们使用“CONCAT”函数将所有部分组合成一个字符串。
请注意,这个字符串是以西门子1200 PLC的格式为基础创建的。如果您需要将日期和时间打包成其他格式的字符串,您需要相应地更改代码。
西门子1200PLC中将日期以纯数字方式放进字符串
在Siemens 1200 PLC中,可以使用以下代码将日期以纯数字方式放入字符串中:
```
VAR
DateStr : STRING[8];
Year : INT;
Month : INT;
Day : INT;
END_VAR
//获取系统日期
SYS_GET_DATE(Year,Month,Day);
//将日期转换为字符串
DateStr := CONCAT(TO_CHAR(Year, '0000'), TO_CHAR(Month, '00'), TO_CHAR(Day, '00'));
```
此代码将当前系统日期存储在`Year`、`Month`和`Day`变量中,然后使用`TO_CHAR`函数将它们转换为字符串,并将它们连接在一起,最终得到一个8个字符长的字符串,格式为YYYYMMDD。你可以将`DateStr`变量用于接下来的操作。