S7-1200与HMI设备系统时钟同步的另一种做法
前一段时间,因同事咨询,想给原系统S7-1200与TP1200 Comprot屏之间,做一下系统时钟的同步,这个我之前在wincc flexible 2008 sp2时,曾经在客户考评提出的趋势视图时间显示问题上有做过类似的项目。但是,在portal软件环境下没有做过类似的项目。于是尝试着做一个验证项目,测试S7-1200与TP1200 Comprot系统时钟同步的方法。
具体验证步骤:
1) 新建一个验证项目,创建S7-1214C和TP1200 Comprot屏个一个,并新建通讯连接以太网方式,图示:
2) 分别在plc及TP1200 Comprot中编辑相应的程序:
新建一个定时循环中断组织块,OB30,设置定时循环周期1000mS,并调用读取本地系统时钟指令RD_LOC_T:
新建一个数据块_1,定义2个数据类型,DTL和指令的状态值,取消优化访问机制:
这样相当于每秒钟读取系统时钟一次。
3) 在TP1200 Comprot根画面中,拖拽一个日期和时间域到合适位置,并设置同步参数:
取消“显示系统时间”选项,相当于把触摸屏的系统时间的权限交还给PLC侧,让plc的系统时钟作为触摸屏的系统时钟依据。
4) 将项目编译方便启动仿真,验证这些组态及编程设置是否能够满足项目需要:
5) 启动仿真,把监控区块调整到合适位置:
触摸屏上显示的日期和时间,已经PLC的系统时钟同步过来了。
6) 将PLC的系统时钟与电脑的时钟保持一致,图示:
7) 返回到PLC的数据块和触摸屏中监控效果:
哦,对了,想起cpu属性中的时区没有设置为北京的,重新设置再下载:
重新下载设置,再回到数据块看系统时钟的读取情况:
此时,PLC中的系统时钟已经是北京的时区,与电脑上的时钟数据保持一致。