求帮助啊!这段通信程序中的5030怎么和寄存器进行对应的啊?哪位大哥知道啊? 点击:129 | 回复:1



李666

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2017年7月14日
发表于:2017-07-18 16:48:06
楼主

求帮助啊!这段通信程序 中的5030怎么和寄存器进行对应的啊?哪位大哥知道啊?




李666

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2017年7月14日
发表于:2017-07-18 16:48:34
1楼

MbAdd(Execute:= i_xStart,Addr:= MbAddr,AddrTable:= MbAddTab,Done=> MbAddDone,Error=> MbAddErr,CommError=> MbAddComErr);


i_xStart:=PULSE_200MS;



R1(CLK:=i_xStart);

IF R1.Q THEN

CurStep:= 5;

END_IF

IF NOT i_xStart AND NOT MbAdd.Done THEN

CurStep:= 0;

i_xStart:= FALSE;

COMWr(Execute:= FALSE);

COMRd(Execute:= FALSE);

END_IF


CASE CurStep OF

5:

CurStep:= 10;


10: //读

COMRdFO:= 5030;

COMRdQty:= 2;

COMRdVal[1]:= 0;

COMRdVal[2]:= 0;

COMRd(Execute:= TRUE,Addr:= MbAddTab,Timeout:= i_uiMbTmOut,ObjType:= MbObj,FirstObj:= COMRdFO,

 Quantity:= COMRdQty,Buffer:= ADR(COMRdVal),Error=> COMRErr,CommError=> COMRComErr,OperError=> COMROpenErr);

IF COMRd.Done THEN

COMRd(Execute:= FALSE);

Read_Data_Previous:=ROL(WORD_TO_DINT(COMRdVal[2]),16)+COMRdVal[1];

CurStep:= 20;

END_IF

20:

CurStep:= 0;

END_CASE



热门招聘
相关主题

官方公众号

智造工程师