西门子smartline系列触摸屏使用的是软时钟,每次上电后,其内部时间都是从2004-1-1开始,(而且无法手动输入)它需要通过读取PLC时间,才能更正触摸屏的系统时间。使用S7-1200CPU时钟同步西门子smartline触摸屏(注:要有大连德嘉 s7-1200触屏适配器或德嘉多功能交换机的硬件支持)S7-1200CPU日期时间数据结构与 smartline日期时间数据结构及转换方法,见下图步骤如下:A、 S7-1200的编程软件 Portal中,定义 DB1注:【仅符号访问】的选项不要打对号“v”在0偏移地址处定义一个变量 year,数据类型 byte在1偏移地址处定义一个变量 month,数据类型 byte在2偏移地址处定义一个变量 day,数据类型 byte在3偏移地址处定义一个变量 hour,数据类型 byte在4偏移地址处定义一个变量 minute,数据类型 byte在5偏移地址处定义一个变量second,数据类型byte在6偏移地址处定义一个变量m1,数据类型byte(注:milliseconds的第一个字节)在7偏移地址处定义一个变量m2,数据类型byte(注:milliseconds的第二个字节)在8偏移地址处定义一个变量space0,数据类型byte在9偏移地址处定义一个变量space1,数据类型byte在10偏移地址处定义一个变量space2,数据类型byte在11偏移地址处定义一个变量space3,数据类型byte在12偏移地址处定义一个变量date_time,数据类型DTL(注:用于存储 s7-1200的系统时间)上边0到11偏移地址存放的是 smartline触摸屏的时间格式见下图:B、S7-1200的编程软件 Portal的程序块中 main[OB1]中调用 RD_SYS_T(注:获取系统时间,并存储到 DB1.DBX12中,也就是 date_time)见下图从程序段6到13是将存储在DB1.date_time(DB1.DBX12)中的S7-1200系统日期时间变换排列成 smartline触摸屏的所需时间格式