您当前的位置:五五电子网电子知识单片机-工控设备综合-其它利用“宏”解决时钟同步问题 正文
利用“宏”解决时钟同步问题

利用“宏”解决时钟同步问题

点击数:7914 次   录入时间:03-04 11:45:20   整理:http://www.55dianzi.com   综合-其它

  目前,使用人机界面(HMI)和可编程序控制器(PLC)等组成的控制系统,在工控环境中应用的场合很多。人机界面一般自带时钟,出于保密等方面的原因,人机界面被加密后自带时钟就不能修改。而很多老型号PLC自身不带时钟(万年历)功能,在编程时如果要使用万年历将很困难。下面以台达AE系列人机界面和台达EH2系列PLC为例,详细说明两者时钟的同步过程。

  AE系列人机界面属于台达人机的高端机型,笔者使用多台发现其自带时钟偏快,而EH2系列PLC自带时钟要比AE系列人机精确很多。首先说明用EH2系列PLC时钟同步AE系列人机时钟过程:

  将PLC站号设为1,在PLC程序中用TRD指令取出时钟,指令如下:

LD M1000
OUT M1016(万年历时钟公元年显示)
TRD D10(万年历时钟读出)
END
PLC 执行上面的指令后,寄存器D10~D16 内容如下:
D10 公元年
DII 星期
D12 月
D13 日
D14 时
D15 分
D16 秒
将人机界面站号设为 0,在人机界面中,编辑一个CLOCk 宏,在模块参数设置中,将Clock
宏延迟时间设定为l00ms,并且要避免系统状态区地址冲突。宏指令如下:
BMOV(S20,(1@D10),7)(将PLC 中的时钟传送到人机)
S10=S20(Sl0 存放年数据)
S11=S22(S1 1 存放月数据)
S12=S23(S12 存放日数据)
S13=S21(S13 存放星期数据)
BMOV(S14,(1@D24),3)(S14~S16 存放时、分、秒数据)
SETSYSTEMTIME(S10)
END
以下是利用 AE 系列人机时钟同步EH2 系列PLC 时钟程序:
AE 系列人机界面Clock 宏程序:
S10=ETSYSTEMTIME(取出人机时钟到S10~S16)
S20=10-7DOH(公元年数据减去2000 得年数据后两位)
(1@D10)=S20
(1@D12)=S11
(1@D13)=S12
(1@D11)=S13
(1@D14)=S14
(1@D15)=S15
(1@D16)=S16
END
EH2 系列PLC 程序:
LDMl000
TWR D10(将人机中取出的时钟数据写入到PLC 万年历)
END
以上宏程序也可用于无万年历功能的 PLC 中,当人机界面和PLC 联机后,人机界面时钟数
据将自动传送到PLC 并存储在D10~D16 中,供编程者使用。用人机界面时钟同步PLC 时钟,还
可以避免PLC 时钟被人为修改。




本文关键字:暂无联系方式综合-其它单片机-工控设备 - 综合-其它

《利用“宏”解决时钟同步问题》相关文章>>>