用SFC0设置时间,SFC1读出时间进行比较。方法如下: 1、建立一共享数据块,比如DB1,SYMBOLS设为AA(DB1和AA可以任意设定,在此只是举例) 2、打开数据块DB1,进行变量声明:(第1个字由系统占用,我们从第2个字开始)在NAME栏中声明名称为DW2,TYPE栏中声明变量类型为“DATE_AND_TIME”,初始值自动生成。同样在声明DW10。每个变量占用8个字节,分别代表年、月、日、时、分、秒、星期。 3、在OB1里调用DB1 4、设定时间:调用SFC0,在PDT端输入“AA”.DW2,在RET_VAL端输入一个字,比如MW100 5、读出时间:调用SFC1,在CDT端输入“AA”.DW10,在RET_VAL端输入一个字,比如MW102 6、在DB1中,自DB1.DBW2到DB1.DBW9存放须设定的年、月、日、时、分、秒、星期的值;自DB1.DBW10到DB1.DBW17存放实际的年、月、日、时、分、秒、星期的值; 7、比较DB1.DBW10到DB1.DBW17的值和你需要的值,进行你的比较操作。 说明:STEP7中有这方面的介绍,大致是在OB1里面进行变量声明,进行时间的设定和取出,由于取出的值不能直接应用,再通过FC6、7、8等转换出来,我觉得很麻烦,因此应用如上方法实现。