1.S7-1200 CPU系统时间和本地时间的区别?
答:区别如下:
系统时间:S7-1200 CPU的系统时间为UTC时间。
本地时间:本地所在时区和夏令时作为时差,该时差与系统时间之和计算出来的时间为本地时间;对于中国,时区为东八区(无夏令时),所以中国的时间是UTC+8。具体CPU时区及夏令时设置参见第3.2.13章节。
WR_SYS_T和RD_SYS_T为设置和读取系统时间。
WR_LOC_T和RD_LOC_T为设置和读取本地时间。
参考图3-20,S7-1200 CPU设置CPU时区为东八区北京时间,没有夏令时。
如图5-10所示,RD_SYS_T读出系统时间为2017-6-22-08:41:13,RD_LOC_T读出本地时间为2017-6-22-16:41:13,相差8小时。
2.如何在上位机/触摸屏上设置S7-1200 CPU的时间?
答:步骤如下:
1)在S7-1200CPU的DB块中建立DTL数据类型,如图5-11所示。
图5-10 模块时间与读系统/本地时间
2)在上位机/触摸屏按照表4-2所示的数据类型和范围,根据需要设置年、月、日、时、分、秒(24小时制,无需设置星期),上位机的变量表设置如图5-12所示。
3)编制上位机界面,如图5-13所示。
4)PLC程序使用WR_LOC_T指令,如图5-14所示。
图5-11 PLC中DB块设置,监视值为触发时间更新后的值
图5-12 上位机变量表设置
图5-13 上位机界面的时间设置(www.xing528.com)
图5-14 修改本地时间的程序
答:使用VAL_STRG可以实现浮点数转换为小数表示法的字符串,见表5-26。
表5-26 VAL_STRG字符串转换实例
图5-15 VAL_STRG中P、SIZE和输出字符的关系
此外,S_CONV可以实现浮点数转换为特定格式的字符串,对于其LAD和SCL这两种形式有着不同的系统行为,具体见表5-27。
表5-27 S_CONV字符串转换实例
(续)
答:ATH指令可以完成该转换,但需注意的是转换前的字符个数是转换后的字节个数的2倍。
如图5-16所示,输入‘1A2b’,输出为16#1A2B,输入为4个字符的字符串,而输出占据2个字节。
图5-16 ASCII转换为十六进制数程序示例
注意:
如果N为奇数,则在输出16进制中补零。例如上图当N=3时,输出为16#1A20。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。