璇锋暀鎵撳紑涓插彛闂-CODESYS杞欢璁ㄨ鍖-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6490-cn涓浗鍒堕狅紝涓浗鑺瘇
鏌ョ湅: 1872|鍥炲: 1

璇锋暀鎵撳紑涓插彛闂

[澶嶅埗閾炬帴]

璇ョ敤鎴蜂粠鏈鍒

鍙戣〃浜 2019-4-9 16:22:42 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡
鐢╟odesys3.5锛屾兂瀹炵幇鎵撳紑涓插彛鏀跺彂鏁版嵁锛屽熀鏈笂鏄収鎼殑CAA_SerialCom.library閲岄潰鐨勪緥绋嬶紝浣嗘槸閰嶇疆濂芥墽琛como1()como1.xErrorFALSEcomo1.eErrorNO_ERROR锛屽簲璇ユ病鏈夐敊璇紝浣嗘槸como1.xDoneFALSE锛屾病鏈夋墽琛屽畬鎴愶紝骞朵笖como1.hCom鍙ユ焺涓0銆傛敹涓嶅埌鏁版嵁銆
姹傞珮浜烘寚鐐广
鍙橀噺锛
PROGRAM MyReadWrite
VAR
        xDone : BOOL;
        aCom1Params : ARRAY [1..7] OF COM.PARAMETER;
        como1 : COM.Open;
        comc1 : COM.Close;
        comw1 : COM.Write;
        comError1: COM.ERROR;
        sWrite : STRING := 'Test String der L?nge 25!';
        sRead : STRING(25);
        szRead : CAA.SIZE;
        xCom1OpenError : BOOL;
        xCom1CloseError : BOOL;
        xCom1WriteError : BOOL;
END_VAR

绋嬪簭锛
CASE GVL_MyVar.uiComState OF
0:
        aCom1Params[1].udiParameterId := COM.CAA_Parameter_Constants.udiPort;
        aCom1Params[1].udiValue := 2;
        aCom1Params[2].udiParameterId := COM.CAA_Parameter_Constants.udiBaudrate;
        aCom1Params[2].udiValue := 9600;
        aCom1Params[3].udiParameterId := COM.CAA_Parameter_Constants.udiParity;
        aCom1Params[3].udiValue := COM.PARITY.NONE;
        aCom1Params[4].udiParameterId := COM.CAA_Parameter_Constants.udiStopBits;
        aCom1Params[4].udiValue := COM.STOPBIT.ONESTOPBIT;
        aCom1Params[5].udiParameterId := COM.CAA_Parameter_Constants.udiTimeout;
        aCom1Params[5].udiValue := 0;
        aCom1Params[6].udiParameterId := COM.CAA_Parameter_Constants.udiByteSize;
        aCom1Params[6].udiValue := 8;
        aCom1Params[7].udiParameterId := COM.CAA_Parameter_Constants.udiBinary;
        aCom1Params[7].udiValue := 0;
       
        como1.usiListLength := SIZEOF(aCom1Params)/SIZEOF(COM.PARAMETER);
        como1.pParameterList := ADR(aCom1Params);
        como1.xExecute := TRUE;
        como1();                                 
        IF como1.xError THEN
                xCom1OpenError := TRUE;
                GVL_MyVar.uiComState := 1000;
        END_IF
       
        comError1 := como1.eError;
        IF como1.xDone THEN
                GVL_MyVar.uiComState := 10;
        END_IF
       

10:
        comw1.hCom := como1.hCom;
        comw1.pBuffer := ADR(sWrite);
        comw1.szSize := 5;
        comw1.xExecute := TRUE;
        comw1();
                       
        IF comw1.xError THEN
           xCom1WriteError := TRUE;
        END_IF
       
        IF comw1.xDone THEN
           GVL_MyVar.uiComState := 25;
        END_IF

25:
        comc1.hCom := como1.hCom;
  comc1.xExecute := TRUE;
  comc1();

  IF comc1.xError THEN
    xCom1CloseError := TRUE;
  END_IF
       
        IF comc1.xDone OR comc1.xError THEN
                GVL_MyVar.uiComState := 1000;
        END_IF
1000:
           xDone := TRUE;
ELSE
        GVL_MyVar.uiComState := 0;         
END_CASE





cuowu.jpg
+10
鎵撹祻榧撳姳涓涓嬶紒
鍥炲

浣跨敤閬撳叿 涓炬姤

鎮ㄩ渶瑕佺櫥褰曞悗鎵嶅彲浠ュ洖甯 鐧诲綍 | 绔嬪嵆娉ㄥ唽 鏂版氮寰崥鐧婚檰

鏈増绉垎瑙勫垯

椤堕儴qrcode搴曢儴
鍏虫敞閰峰痉缃戣闃呭彿锛岃幏鍙栨洿澶氳祫璁紒

QQ|灏忛粦灞|鎵嬫満鐗|Archiver|閰峰痉璁哄潧 ( 鑻廔CP澶16065247鍙-1 )|缃戠珯鍦板浘

GMT+8, 2024-4-24 22:59 , Processed in 0.569881 second(s), 62 queries .

閰峰痉缃

© 2001-2013 Hicodesys. 鎶鏈敮鎸 by 閰峰痉缃

蹇熷洖澶 杩斿洖椤堕儴 杩斿洖鍒楄〃