PLC与触摸屏相连,在触摸屏设置对应数据地址后,在PLC按以下步骤写入程序,运行后发现在触摸屏设定时间后,显示的时间没有变化,即可以读取时间,但不能设定时间,请问是怎么回事。
第一步:打开程序块,插入DB1并打开DB1定义数据
第二步:在FC1中设定临时变量
DandT Date_And_Time
GEL INT
第三部:在FC1写入以下程序
Network1
A DB1.DBX 24.0
JCN READ
OPN "For Clock"
L DBW 0 // YEAR (FROM MP277)
ITB // CONVERT INTEGER TO BCD
T LB 0 // YEAR (TO PLC)
L DBW 2 // MONTH (FROM MP277)
ITB // CONVERT INTEGER TO BCD
T LB 1 // MONTH (TO PLC)
L DBW 4 // DAY (FROM MP277)
ITB // CONVERT INTEGER TO BCD
T LB 2 // DAY (TO PLC)
L DBW 6 // HOUR (FROM MP277)
ITB // CONVERT INTEGER TO BCD
T LB 3 // HOUR (TO PLC)
L DBW 8 // MINUTE (FROM MP277)
ITB // CONVERT INTEGER TO BCD
T LB 4 // MINUTE (TO PLC)
L DBW 10 // SECOND (FROM MP277)
ITB // CONVERT INTEGER TO BCD
T LB 5 // SECOND (TO PLC)
CALL SFC0 // SET SYSTEM CLOCK
PDT :=#DandT // DATE AND TIME IN LOCAL VARIABLE
RET_VAL:=#GEL
SET // RESET:
R DB1.DBX 24.0 // CLOCK SET BIT
Network2
READ: CALL SFC1 // READ SYSTEM CLOCK
RET_VAL:=#GEL
CDT :=#DandT // STORE DATE AND TIME IN LOCAL VARIABLE
L LB 0 // YEAR (FROM PLC)
BTI // CONVERT BCD TO INTEGER
T DBW 12 // YEAR (TO MP277)
L LB 1 // MONTH (FROM PLC)
BTI // CONVERT BCD TO INTEGER
T DBW 14 // MONTH (TO MP277)
L LB 2 // DAY (FROM PLC)
BTI // CONVERT BCD TO INTEGER
T DBW 16 // DAY (TO MP277)
L LB 3 // HOUR (FROM PLC)
BTI // CONVERT BCD TO INTEGER
T DBW 18 // HOUR (TO MP277)
L LB 4 // MINUTE (FROM PLC)
BTI // CONVERT BCD TO INTEGER
T DBW 20 // MINUTE (TO MP277)
L LB 5 // SECOND (FROM PLC)
BTI // CONVERT BCD TO INTEGER
T DBW 22 // SECOND (TO MP277)