鍙橀噺绫诲瀷-CODESYS璧勬簮涓嬭浇鍖-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6490-cn涓浗鍒堕狅紝涓浗鑺瘇
鏌ョ湅: 837|鍥炲: 0

鍙橀噺绫诲瀷

[澶嶅埗閾炬帴]
  • TA鐨勬瘡鏃ュ績鎯
    鎿︽睏
    2019-8-13 14:13
  • 绛惧埌澶╂暟: 32 澶

    [LV.5]甯镐綇灞呮皯I

    鍙戣〃浜 2024-11-6 21:28:58 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡
    • VAR 灞閮ㄥ彉閲
    • VAR_INPUT 杈撳叆鍙橀噺
    • VAR_OUTPUT 杈撳嚭鍙橀噺
    • VAR_IN_OUT 杈撳叆鍜岃緭鍑哄彉閲
    • VAR_IN_OUT CONSTANT 浼犺緭鍙橀噺
    • VAR_GLOBAL 鍏ㄥ眬鍙橀噺
    • VAR_TEMP 涓存椂鍙橀噺
    • VAR_STAT 闈欐佸彉閲
    • VAR_EXTERNAL 澶栭儴鍙橀噺
    • VAR_INST 瀹炰緥鍙橀噺


    灞閮ㄥ彉閲 - VAR
    鍦ㄥ叧閿瓧 VAR 涓 END_VAR 涔嬮棿锛孭OU 鐨勬墍鏈夊眬閮ㄥ彉閲忛兘宸澹版槑銆傝繖浜涘眬閮ㄥ彉閲忔病鏈変换浣曞閮ㄥ叧杩烇紱涔熷氨鏄锛屾棤娉曚粠澶栭儴鍐欏叆銆
    璇疯冭檻鍚 VAR 娣诲姞灞炴鐨勫彲鑳芥с
    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    VAR
     iLoc1:INT; (* 1. Local Variable*)
    END_VAR
    

    杈撳叆鍙橀噺 - VAR_INPUT
    鍦ㄥ叧閿瓧 VAR_INPUT 涓 END_VAR 涔嬮棿锛屽厖褰 POU 鐨勮緭鍏ュ彉閲忕殑鎵鏈夊彉閲忛兘宸澹版槑銆傚洜姝わ紝鍦ㄨ皟鐢ㄤ綅缃锛屽彉閲忓煎彲浠ヤ笌璋冪敤涓璧锋彁渚涖
    璇疯冭檻娣诲姞灞炴鐨勫彲鑳芥с
    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    VAR_INPUT 
    iIn1:INT (* 1. Inputvariable*)
    END_VAR
    

    杈撳嚭鍙橀噺 - VAR_OUTPUT
    鍦ㄥ叧閿瓧 VAR_OUTPUT 涓 END_VAR 涔嬮棿锛屽厖褰 POU 鐨勮緭鍑哄彉閲忕殑鎵鏈夊彉閲忛兘宸插0鏄庛傚洜姝わ紝杩欎簺鍊煎皢琚绉诲姩鍒拌繘琛岃皟鐢ㄧ殑 POU銆
    璇疯冭檻鍚 VAR_OUTPUT 娣诲姞灞炴鐨勫彲鑳芥с
    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    VAR_OUTPUT 
    iOut1:INT; (* 1. Outputvariable*)
    END_VAR
    

    鍑芥暟鍜屾柟娉曚腑鐨勮緭鍑哄彉閲忥細
    鏍规嵁 IEC 61131-3 鑽夋 2锛屽嚱鏁帮紙鍜屾柟娉曪級鍙互鍏锋湁棰濆杈撳嚭銆傛偍鍙互鍦ㄥ嚱鏁拌皟鐢ㄤ腑鍒嗛厤杩欎簺杈撳嚭锛屽浠ヤ笅绀轰緥涓墍绀恒
    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    fun(iIn1 := 1, iIn2 := 2, iOut1 => iLoc1, iOut2 => iLoc2);
    

    杈撳叆鍜岃緭鍑哄彉閲 - VAR_IN_OUT
    鍦ㄥ叧閿瓧 VAR_IN_OUT 涓 END_VAR 涔嬮棿锛屽厖褰 POU 鐨勮緭鍏ュ拰杈撳嚭鍙橀噺鐨勬墍鏈夊彉閲忛兘宸澹版槑
    娉細 鍊熷姪浜 IN_OUT 绫诲瀷鐨勫彉閲忥紝宸蹭紶杈撳彉閲忕殑鍊煎皢鏇存敼锛堜綔涓烘寚閽堜紶杈擄紝鍗筹紝鎸夊紩鐢ㄨ皟鐢級銆傚洜姝わ紝姝ょ被鍙橀噺鐨勮緭鍏ュ间笉鑳芥槸甯搁噺銆傚洜姝わ紝鍗充娇鏄姛鑳藉潡鐨 VAR_IN_OUT 鍙橀噺涔熸棤娉曢氳繃 <FBinstance>.<InOutVariable> 鏉ョ洿鎺ヤ粠澶栭儴璇诲彇鎴栧啓鍏ャ
    娉細 璇峰嬁鍚戝姛鑳藉潡鐨 [size=1em]BOOL 绫诲瀷 VAR_IN_OUT 鍙傛暟鍒嗛厤浣嶇被鍨嬬鍙凤紙濡傦紝浣嶄簬姝ょ被浣嶇被鍨嬪湴鍧涓婄殑 %MXaa.b 鎴 BOOL
    鍙橀噺锛夈傚鏋滄娴嬪埌浠讳綍姝ょ被璧嬪硷紝鍒欏湪娑堟伅瑙嗗浘涓皢鍏舵姤鍛婁负缂栬瘧閿欒銆
    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    VAR_IN_OUT 
    iInOut1:INT; (* 1. Inputoutputvariable *)
    END_VAR
    

    浼犺緭鍙橀噺 - VAR_IN_OUT CONSTANT
    VAR_IN_OUT CONSTANT 鍙橀噺鐢ㄤ綔甯搁噺寮曠敤浼犻掑弬鏁般係TRING 鎴 WSTRING 绫诲瀷鐨勫彉閲忔垨甯搁噺锛堝瓧闈㈤噺锛夊彲浠ヨ浼犻掑埌姝ゅ弬鏁般傛鍙傛暟鏄彧璇诲弬鏁般備笉鍏佽浼犻掑睘鎬с
    璇硶
    VAR_IN_OUT CONSTANT    <variable name> : <data type>; // formal parameterEND_VAR
    VAR_IN_OUT CONSTANT 鍙橀噺鐨勫0鏄庝笉闇瑕佸鍒濆鍖栧艰繘琛岃祴鍊笺
    鐢ㄦ硶
    • 璋冪敤 POU 鏃讹紝鍙互浼犻 STRING 鎴 WSTRING 绫诲瀷鐨勫父鏁板彉閲忔垨瀛楅潰閲忋備笉鍏佽鎵ц鍐欒闂
    • 浼犻掍负 STRING 甯搁噺鐨勫弬鏁版椂锛屽瓧绗︿覆闀垮害涓嶅彈闄愬埗銆傚瓧绗︿覆闀垮害涓嶅彇鍐充簬 VAR_IN_OUT CONSTANT 鍙橀噺鐨勫瓧绗︿覆闀垮害銆

    娉細 濡傛灉鍦灞炴ц缃 > 缂栬瘧閫夐」瀵硅瘽妗
    涓夋嫨浜鏇挎崲甯搁噺閫夐」锛岄偅涔堝湪浼犻掑熀鏈暟鎹被鍨嬬殑甯搁噺鍙傛暟鎴栬呭熀鏈暟鎹被鍨嬬殑甯告暟鍙橀噺鍙傛暟鏃讹紝缂栬瘧鍣ㄤ細鐢熸垚閿欒銆
    姝ゅ彉閲忓彈 EcoStruxure Machine Expert V2.0 鍙婂叾鏇撮珮鐗堟湰鏀寔銆
    绀轰緥锛氫紶閫 STRING 甯搁噺鍙傛暟鍜 STRING 鍙橀噺鍙傛暟
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    FUNCTION funManipulate : BOOL
    VAR_IN_OUT    
    sReadWrite : STRING(16); (* Can be read or written here in POU *)    
    dwVarReadWrite : DWORD; (* Can be read or written here in POU *)
    END_VAR
    VAR_IN_OUT CONSTANT    
    c_sReadOnly : STRING(16); (* Constant string variable can only be read here in POU *)
    END_VAR
    sReadWrite := 'String_from_POU';
    dwVarReadWrite := STRING_TO_DWORD(c_sReadOnly);
    PROGRAM PRG_A
    VAR    
    sVarFits : STRING(16);    
    sValFits : STRING(16) :='1234567890123456';    
    dwVar: DWORD;
    END_VAR
    // The following line of code causes the compiler error C0417:
    // C0417: VAR_IN_OUT parameter 'sReadWrite' needs a variable with write access as input.
    funManipulate(sReadWrite:='1234567890123456', c_sReadOnly:='1234567890123456', dwVarReadWrite := dwVar);
    // Correct code
    funManipulate(sReadWrite := sValFits, c_sReadOnly := '23', dwVarReadWrite := dwVar);funManipulate(sReadWrite := sVarFits, c_sReadOnly := sValFits, dwVarReadWrite :=dwVar);

    鍦ㄤ唬鐮佺ず渚嬩腑锛屽瓧绗︿覆閫氳繃涓嶅悓鐨 VAR_IN_OUT 鍙橀噺浼犻掑埌 funManipulate 鍑芥暟锛
    • 灏嗗瓧绗︿覆瀛楅潰閲忎紶閫掑埌 VAR_IN_OUT 鍙橀噺鏃讹紝浼氳Е鍙戠紪璇戝櫒閿欒銆
    • 灏嗗父鏁板彉閲忎紶閫掑埌 VAR_IN_OUT CONSTANT 鍙橀噺鏃讹紝鍙敓鎴愭纭殑浠g爜銆傝繖鐢氳嚦閫傜敤浜庝紶閫掑瓧绗︿覆鍙橀噺銆



    鍏ㄥ眬鍙橀噺 - VAR_GLOBAL
    鎮ㄥ彲浠ヤ綔涓哄叏灞鍙橀噺鏉ュ0鏄庡湪宸ョ▼涓凡鐭ョ殑姝e父鍙橀噺銆佸父閲忋佸閮ㄥ彉閲忔垨鍓╀綑鍙橀噺銆傝澹版槑鍏ㄥ眬鍙橀噺锛岃浣跨敤鍏ㄥ眬鍙橀噺鍒楄〃 (GVL)銆傚彲浠ラ氳繃鎵ц娣诲姞瀵硅薄鍛戒护锛堥粯璁ゆ儏鍐典笅鏄湪宸ョ▼鑿滃崟涓級鏉ユ坊鍔 GVL銆
    璇峰湪鍏抽敭瀛 VAR_GLOBAL 鍜 END_VAR 涔嬮棿浠ユ湰鍦版柟寮忓0鏄庡彉閲忋
    璇疯冭檻鍚 VAR_GLOBAL 娣诲姞灞炴鐨勫彲鑳芥с
    浠ュ彞鐐瑰紑澶寸殑鍙橀噺灏嗚璇嗗埆涓哄叏灞鍙橀噺锛屼緥濡傦紝.iGlobVar1銆
    鏈夊叧澶氭浣跨敤鍙橀噺鍚嶇О銆佸叏灞鑼冨洿鎿嶄綔绗 dot (.) 浠ュ強鍛藉悕绌洪棿鐨勮缁嗕俊鎭紝璇峰弬闃鍏ㄥ眬鑼冨洿鎿嶄綔绗涓绔犮
    鍏ㄥ眬鍙橀噺鍙兘鍦ㄥ叏灞鍙橀噺鍒楄〃 (GVL) 涓0鏄庛侴VL 鐢ㄦ潵绠$悊宸ョ▼涓殑鍏ㄥ眬鍙橀噺銆傚彲浠ラ氳繃鎵ц娣诲姞瀵硅薄鍛戒护锛堥粯璁ゆ儏鍐典笅鏄湪宸ョ▼鑿滃崟涓級鏉ユ坊鍔 GVL銆
    娉細 濡傛灉鍦 POU 涓互鏈湴鏂瑰紡瀹氫箟鐨勬煇涓彉閲忎笌鏌愪釜鍏ㄥ眬鍙橀噺鍚屽悕锛屽垯璇ュ彉閲忓湪 POU 涓紭鍏堛
    娉細 鍏ㄥ眬鍙橀噺鏄湪 POU 鐨勫眬閮ㄥ彉閲忎箣鍓嶈繘琛屽垵濮嬪寲銆

    涓存椂鍙橀噺 - VAR_TEMP
    璇ュ姛鑳芥槸瀵 IEC 61131-3 鏍囧噯鐨勬墿灞曘
    涓存椂鍙橀噺鍦ㄦ瘡娆¤皟鐢 POU 鏃堕兘杩涜锛堥噸鏂帮級鍒濆鍖栥俈AR_TEMP 澹版槑浠呰兘鍦ㄧ▼搴忓拰鍔熻兘鍧椾腑浣跨敤銆傝繖浜涘彉閲忎篃鍙兘鍦ㄧ▼搴 POU 鎴栧姛鑳藉潡鐨勪富浣撲腑璁块棶銆
    璇峰湪鍏抽敭瀛 VAR_TEMP 鍜 END_VAR 涔嬮棿浠ユ湰鍦版柟寮忓0鏄庡彉閲忋
    娉細 鎮ㄥ彲浠ヤ娇鐢 VAR_TEMP 浠f浛 VAR锛屼互鍑忓皯 POU 闇瑕佺殑瀛樺偍鍣ㄧ┖闂达紙渚嬪锛屽湪鍙槸涓存椂浣跨敤鍙橀噺鐨勬儏鍐典笅锛岄檷浣庡姛鑳藉潡涓殑瀛樺偍鍣ㄧ┖闂达級銆

    闈欐佸彉閲 - VAR_STAT
    璇ュ姛鑳芥槸瀵 IEC 61131-3 鏍囧噯鐨勬墿灞曘
    闈欐佸彉閲忓彲浠ュ湪鍔熻兘鍧椼佹柟娉曞拰鍑芥暟涓娇鐢ㄣ傝鍦ㄥ叧閿瓧 VAR_STAT 鍜 END_VAR 涔嬮棿浠ユ湰鍦版柟寮忓0鏄庨潤鎬佸彉閲忋傞潤鎬佸彉閲忔槸鍦ㄩ娆¤皟鐢ㄥ悇鑷 POU 鏃惰繘琛屽垵濮嬪寲銆
    濡傚悓鍏ㄥ眬鍙橀噺涓鏍凤紝闈欐佸彉閲忓湪鐢ㄤ簬澹版槑闈欐佸彉閲忕殑 POU 閫鍑轰箣鍚庯紝涓嶄細涓㈠け鍏跺笺傞潤鎬佸彉閲忓湪鐢ㄤ簬澹版槑闈欐佸彉閲忕殑 POU 涔嬮棿鍏变韩锛堜緥濡傦紝澶氫釜鍔熻兘鍧楀疄渚嬨佸嚱鏁版垨鏂规硶鍏变韩鐩稿悓鐨勯潤鎬佸彉閲忥級銆備緥濡傦紝闈欐佸彉閲忓湪鍔熻兘涓彲浠ョ敤浣滃嚱鏁拌皟鐢ㄦ鏁扮殑璁℃暟鍣ㄣ
    璇疯冭檻鍚 VAR_STAT 娣诲姞灞炴鐨勫彲鑳芥с

    澶栭儴鍙橀噺 - VAR_EXTERNAL
    澶栭儴鍙橀噺鏄寚瀵煎叆 POU 鐨勫叏灞鍙橀噺銆
    璇峰湪鍏抽敭瀛 VAR_EXTERNAL 鍜 END_VAR 涔嬮棿浠ュ強鍦ㄥ叏灞鍙橀噺鍒楄〃 (GVL) 涓紝浠ユ湰鍦版柟寮忓0鏄庡閮ㄥ彉閲忋傝澹版槑鍜屽叏灞澹版槑蹇呴』鐩稿悓銆傚鏋滃叏灞鍙橀噺涓嶅瓨鍦紝鍒欎細鏄剧ず涓鏉℃秷鎭
    娉細 涓嶉渶瑕佸皢鍙橀噺瀹氫箟涓哄閮ㄥ彉閲忋傛彁渚涜繖浜涘叧閿瓧鏄负浜嗕繚鎸佷笌 IEC 61131-3 鐨勫吋瀹规с

    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    FUNCTION_BLOCK FB_DoSomething 
    VAR_EXTERNAL 
    iVarExt1:INT; (* 1st external variable *)
    END_VAR
    

    瀹炰緥鍙橀噺 - VAR_INST
    濡傛灉鍒╃敤 VAR_INST 灞炴у皢鏂规硶鐨勫彉閲忓0鏄庝负瀹炰緥鍙橀噺锛屽垯姝ゅ彉閲忎笉浼氬瓨鍌ㄥ湪鏂规硶鍫嗘爤涓婏紝鑰屾槸瀛樺偍鍦ㄥ姛鑳藉潡瀹炰緥鐨勫爢鏍堜笂銆傚洜姝わ紝瀹冪殑琛屼负涓庡姛鑳藉潡瀹炰緥鍏朵粬鍙橀噺鐨勮涓虹浉浼硷紝骞朵笖鍦ㄦ柟娉曡璋冪敤鏃讹紝涓嶈鍒濆鍖栥
    VAR_INST 鍙橀噺浠呭厑璁哥敤鍦ㄦ柟娉曚腑銆傛偍鍙兘鍦ㄦ柟娉曚腑璁块棶杩欐牱鐨勫彉閲忋傚睘鎬э紙濡 CONST銆丷ETAIN锛変笉鍏佽鐢ㄥ湪澹版槑涓傚彉閲忕殑鍊煎彲浠ュ湪鏂规硶鐨勫0鏄庨儴鍒嗕腑鍙楀埌鐩戣銆
    绀轰緥
    [AppleScript] 绾枃鏈煡鐪 澶嶅埗浠g爜
    METHOD meth_last : INT
    VAR_INPUT  
    iVar : INT;
    END_VAR
    VAR_INST  
    iLast : INT := 0;
    END_VA
    Rmeth_last := iLast;
    iLast := iVar;
    




    +10
    涓嶈禐涓涓紵
    鎵撹祻榧撳姳涓涓嬶紒
    鍥炲

    浣跨敤閬撳叿 涓炬姤

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

    鏈増绉垎瑙勫垯

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

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

    GMT+8, 2026-3-31 19:59 , Processed in 0.280315 second(s), 54 queries .

    閰峰痉缃

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

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