发布于 2003-05-15 14:48:15
0楼
1、sfc0,sfc1是设置时间和读取时间的功能块
2、把两个温度分别放在两个地址里存放,通过一个位选择哪个温度起作用。再拿东西修改那个位的状态就行了。
下面是一个SFC0的例子
输入年份的转换
A( //将输入年份处理成PLC可识的年份;
L DB60.DBW 24 //PLC可识年份为90~99(即1990~1999年),00~89(即2000~2089年)
L 2000
)
JNB _001 //因为输入年份为19**或20**,所以此运算只是保留输入的后两位
L DB60.DBW 24
L 1900
-I
T #M_YEAR
_001: A(
L DB60.DBW 24
L 2000
>=I
)
JNB _002
L DB60.DBW 24
L 2000
-I
T #M_YEAR
_002: NOP 0
输入的时间值进行I-BCD转换
L #M_YEAR //将输入的时间值转换成BCD码
ITB //这样再将时间值合成8字节的D&T形式
T DB60.DBB 16
L DB60.DBW 26
ITB
T DB60.DBB 17
L DB60.DBW 28
ITB
T DB60.DBB 18
L DB60.DBW 30
ITB
T DB60.DBB 19
L DB60.DBW 32
ITB
T DB60.DBB 20
L DB60.DBW 34
L 1
-I
T DB60.DBB 23
置系统时间
CALL SFC 0
PDT :="DB60时间采集校准区".EDIT_DT_IN
RET_VAL:=#MID_RET_VAL
NOP 0