本人想用GPS时间校准PLC的内部时钟,不知为何校准之后总是相差1秒,程序是这样的:
LD SM0.0
TODR VB200
然后通过MOV和转换指令,把PLC硬件时钟的时、分、秒 放入VW106、VW108、VW110中;
LDW= VW106, 10
AW= VW108, 10
AW= VW450, 10
AW= VW412, 10
MOVW VW419, AC3
AENO
IBCD AC3
AENO
MOVB AC3, VB205
AENO
TODW VB200
其中VW450、VW412、VW419分别是GPS时间的时、分、秒
一开始内部时钟可以调好,但是因为秒数不准确,所以想要每天10点10分校准,程序中从10:10:00 到10:10:59是完全同步的,但是GPS时间到了10:11:00时,内部时钟还是10:10:59,之后就永远差1秒!
求大师们指点迷津 ,感激不尽
问题补充:
但是,在上周5下班前,我同步好时间之后就把GPS关掉,PLC开着让它内部时钟继续走,双修日过了之后,今天一看和GPS相差了3秒! 公司本意是需要在万一GPS出故障之后,在维修前时间尽量能够一致的。
最佳答案
1.“今天一看和GPS相差了3秒!”?
S7-200的系统时钟精度典型值是2分钟/月(25°C),最大误差7分钟/月(0 - 55°C)。
为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。
SM0.5:该位提供时钟脉冲,该脉冲在1秒钟的周期时间内OFF(关闭)0.5秒,ON(打开)0.5秒。该位提供便于使用的延迟或1秒钟时钟脉冲。
自己可利用SM0.5编制一时钟程序,精度要比读取系统时钟高。
2.用GPS校准:
一般采用GPS的脉冲输入,这个输入要接如为S7-200的中断源(见S7-200系统手册中断指令),例如接入I0.0上升沿,为事件0.
这样,避免用周期扫描丢脉冲的现象。
提问者对于答案的评价:
thanks
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347794.html