在华光PLC中,使用2位BCD码来表示年(例如,1998年用98表示),这样,当某2年其低2位相同时,就会出现冲突(例如,1900年和2000年的2位表示全为00)。
华光PLC在2000年以后,也能正确表示。在华光PLC中采用的日历时钟IC规定,假设该IC的制造年为XX,则在表示年的00~99中,XX~99解释为1900年代;00~ XX解释为2000年代。
当不考虑IC的寿命时,华光PLC中日历的最后有效期为2100年2月28日。
华光PLC中的2000年问题主要由用户的PLC程序引起。例如,当用户程序中有[日期的大小比较]、[运行天数的统计]等程序功能时,则会引起2000年问题。
例如,原有程序中有以下条件:
R7774 K98
R7774中存放当前年数据
---------| > = |------------------[ 数据处理 ]
意思为当1998年以后,进行数据处理
为了保证在2000年以后该程序的有效性,可把条件改为(假设制造年为1980年)
R7774 K98
---------| > = |-----------------[ 数据处理 ]
R7774 K80
--------| < |------------
对于华光的软件产品,主要是编程软件S-62P,其中也有2000年问题(例如,文件保存时的日历),但这主要与所采用的操作系统有关,而并不是软件本身的问题。 |