发表于:2006-01-14 22:46:00
楼主
这是两段以太网通讯的程序,第一段工作正常是%MW13000为1。5秒后强制置为0。从映射地址里读一次数,第2段也是5秒读一次数,只不过用的计数器。比较这2段程序所要完成的目的是一样的,可是第2段程序中,%MW13000:4中有错误时,通讯就会中断。原因在什么地方?是不是在第2段程序中加个计数器就能解决?
第一段:
IF %MW13000:X0 AND RE %M246 THEN INC %MW29990;END_IF;
IF NOT %MW13000:X0 THEN %MW29990:=0;END_IF;
IF %MW29990>5 THEN RESET %MW13000:X0;END_IF;
IF %MW62:X15 AND NOT %MW13000:X0 THEN
READ_VAR(ADR#{0}SYS,'%MW',19000,11,%MW13032:11,%MW13000:4);
第二段:
IF %MW13000:X0 THEN START %TM112;ELSE DOWN %TM112;END_IF;
IF %TM112.Q AND %MW13000:X0 THEN RESET %MW13000:X0;END_IF;
IF %MW62:X15 AND NOT %MW13000:X0 THEN
READ_ASYN(ADR#{1.4}2.0,'%MW',2024,1,%MW13010:1,%MW13000:4);END_IF;