Codesys鍩虹绗旇-CODESYS杞欢璁ㄨ鍖-閰峰痉缃 - CoDeSys杞欢鏁欑▼涓嬭浇,CoDeSys宸ユ帶璧勮闂ㄦ埛
HSC6490-cn涓浗鍒堕狅紝涓浗鑺瘇
鏌ョ湅: 1145|鍥炲: 0

Codesys鍩虹绗旇

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

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

    鍙戣〃浜 2023-9-22 23:14:45 | 鏄剧ず鍏ㄩ儴妤煎眰 |闃呰妯″紡
    鍓嶈█锛氳绗旇涓昏璁板綍鐨勪簨浣滆呭湪瀛︿範codesys涓墍閬囧埌鐨勪竴浜涘父瑙佺殑闂鍜屼竴浜涢渶瑕佺粡甯哥炕闃呯殑鍩虹鐭ヨ瘑鍐呭锛屽苟闈炴暀绋嬨
    涓銆 缁勪欢璇存槑
    • 锛*锛塁ODESYS Control Win V3-x64 SysTray
    鎺у埗妯℃嫙PLC杩愯鏆傚仠鐘舵佺殑缁勪欢


    v2-11b54aef7587e2e3e1e14a41c1cca115_720w.jpg

    v2-2e99fad9800d7042d6851ac22dc787d2_720w.jpg

    2. 锛*锛塁ODESYS Gateway V3
    缃戝叧鎺у埗涓績
    浠ヤ笂涓や釜搴旂敤绋嬪簭鍜屼富绋嬪簭鏄疌odesys妯℃嫙杩愯鏃跺繀澶囩殑涓や釜绋嬪簭銆
    ==娉ㄦ剰==锛氬鏋滃悓鏃跺畨瑁呬簡Codesys 鍜 Eplan 涓ゆ杞欢鍙兘浼氬嚭鐜癈ontrol绋嬪簭鏃犳硶Start杩愯鐨勬儏鍐碉紝鍙傜収
    瑙e喅Codesys鍦ㄧ數鑴戜腑杞疨LC鍚姩涓嶄簡闂鈥媌log.csdn.net/weixin_44327767/article/details/122734326

    浜屻侀氫俊杩炴帴
    杩炴帴PLC鎺у埗鍣ㄩ渶鍏堟敞鍐岀敤鎴凤紝鍦ㄧ嚎=>瀹夊叏=>娣诲姞璁惧鐢ㄦ埛


    v2-1b048e2e467219bf0109969f72df0e2b_720w.jpg

    姝ゅ杩炴帴PLC鎺у埗鍣ㄦ椂闇瑕佽緭鍏ュ垰鍒氭坊鍔犺澶囩敤鎴蜂腑璁剧疆鐨勫瘑鐮侊紝鏄剧ず婵娲诲垯杩炴帴鎴愬姛銆
    涓夈佸湪绾夸慨鏀 / 涓嬭浇
    鍦ㄧ嚎鏇存敼鍏跺疄鏄皢涓嶄竴鏍风殑浠g爜浼犺緭鍒版帶鍒跺櫒鐨剅am锛堣繍琛屽唴瀛橈級涓紝褰撴柇鐢典箣鍚巖am涓殑鍐呭浼氭竻绌恒
    涓嬭浇鏄皢鍏ㄩ儴浠g爜瑕嗙洊鎺у埗鍣╮om锛堟寔涔呭偍瀛樺櫒锛変腑锛屾柇鐢典笉褰卞搷銆
    RAM-RamdomAccessMemory鏄撴尌鍙戞ч殢鏈哄瓨鍙栧瓨鍌ㄥ櫒锛岄珮閫熷瓨鍙栵紝璇诲啓鏃堕棿鐩哥瓑锛屼笖涓庡湴鍧鏃犲叧锛屽璁$畻鏈哄唴瀛樼瓑銆
    ROM-Read Only Memory鍙瀛樺偍鍣ㄣ傛柇鐢靛悗淇℃伅涓嶄涪澶憋紝濡傝绠楁満鍚姩鐢ㄧ殑BOS鑺墖銆傚瓨鍙栭熷害寰堜綆锛堣緝RAM鑰岃█锛変笖涓嶈兘鏀瑰啓銆
    鍥涖佸惎鍔ㄥ簲鐢

    v2-2f70c7431b71696ee161e36eb03c1681_720w.jpg


    浜斻佷换鍔¢厤缃
    浠诲姟鎵ц绫诲瀷鎵ц鐗圭偣浠诲姟涓句緥
    寰幆鍦ㄨ瀹氱殑姣忎釜鏃堕棿闂撮殧鍐呮墽琛屽搴旂殑POU涓娆EtherCAT鎬荤嚎浠诲姟
    CANopen鎬荤嚎浠诲姟
    ModbusTCP閫氳浠诲姟
    鏅氫换鍔″惊鐜
    鎯ф粦琛涓鏃﹀紑濮嬫墽琛岋紝鍗冲弽澶嶅惊鐜墽琛岋紝娌℃湁鍋滄瓏闂撮殧鏅氫换鍔″惊鐜
    浜嬩欢鍦ㄨ瀹氱殑Bool鍨嬪彉閲忕姸鎬佺敱0鍙1鐨勬儏鍐典笅瑙﹀彂鎵ц涓娆杞腑鏂鐞哖OU
    鐘舵鍦ㄨ瀹氱殑Bool鍨嬪彉閲忕殑鐘舵佷负1鐨勬儏鍐典笅锛屽弽澶嶅惊鐜墽琛岋紝鐘舵佸彉涓0鍒欏仠姝㈡墽琛鏉′欢鎵ц浠诲姟POU
    鍏佹暟鎹被鍨
    1. 鏁村兼暟鎹被鍨


    v2-bad67889f247e982fc90114aae1fa8c6_720w.jpg



    v2-7ac712fda4eb06ceb8925c10576dc85f_720w.jpg

    瀹炴暟鐨勫皬鏁伴儴鍒嗙殑鏄簩杩涘埗琛ㄧず鐨勶紝鐢ㄧ殑鏄笉鏂箻浠ョ殑鏂瑰紡鍒ゆ柇鏄惁澶т簬1鏉ヨ繘琛屽彇鍊肩殑鎿嶄綔锛堝涓嬪浘锛夛紝鎵浠ヤ竴鑸笉瑕佸疄鏁板仛绛変簬姣旇緝

    v2-f384285a5f78b689f713a79a726b124f_720w.jpg

    2. 鏃堕棿绫诲瀷
    鏁版嵁绫诲瀷涓嬮檺涓婇檺浣嶆暟鐢虫槑鏂瑰紡prefix 鍓嶇紑
    TIME0ms1193h 2m 47s 295ms32bitT#1m30st
    LTIME0ns213503d 23h 34m 33s 709ms 551us 615ns64bitLTIME#50d20h10mlt
    TIME_OF_DAY00:00:0023:59:5932bitTOD#10:38:54tod
    DATE01.01.1970toapprox.06.02.210632bitD#2011-04-20date
    DATE_AND_TIME64bitDT#2011-02-20-10:38:54dt
    瀹氫箟璇硶濡備笅锛   

    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    瀹氫箟璇硶濡備笅锛
        TIME_test1 : TIME := T#1M30S;
        TIME_test2 : DATE := D#2022-11-20;
    鏃堕棿甯告暟鐨勮娉曪細#<鏃堕棿澹版槑>

    3.瀛楃涓睸TRING鍜學STRING
    鍙橀噺绫诲瀷STRING鐢ㄤ簬瀛楃涓诧紝CODESYS榛樿涓80涓瓧鑺傘係TRING浠SCII(8浣)瑙i噴锛學STRING浠NICODE(16浣嶅嵆UTF-16缂栫爜)瑙i噴銆
    STRING 鍙橀噺闇瑕佺殑鍐呭瓨涓鐩存槸锛
    鈥 STRING: 1瀛楄妭/瀛楃 + 棰濆1瀛楄妭鐢ㄤ簬闆剁粓姝
    鈥 WSTRING: 2瀛楄妭/瀛楃 + 棰濆2瀛楄妭鐢ㄤ簬闆剁粓姝
    涓涓猄TRING 鎴 WSTRING 鏈澶氬彲鍖呭惈255涓瓧鑺傘俒ASCII鐮 8浣嶄簩杩涘埗鍗1涓瓧鑺 鑰孶NICODE缂栫爜鏄16浣嶇紪鐮佷竴涓氨鍗2瀛楄妭]
    鍖哄垎涓ょ绫诲瀷瀛楃涓茬殑涔﹀啓鏂瑰紡锛氾紙涓嶆寜鐓ф鏂规硶涔﹀啓鍙兘浼氭姤閿欙細鏃犳硶寮哄埗杞崲锛
    鈥 STRING绫诲瀷鐢ㄥ崟寮曞彿锛'string'
    鈥 WSTRING绫诲瀷鐢ㄥ弻寮曞彿锛"WSTRING瀛楃涓测溾


    v2-a1d2391344209ce934727949af14c91a_720w.jpg

    娉ㄦ剰锛氬瓧绗︿覆鐨勯暱搴﹂粯璁や负80锛屼絾鍙互鍦ㄥ0鏄庝腑闄愬埗銆傝繖鏄氳繃绫诲瀷鐨勯暱搴︽潵瀹炵幇
    4.鎵╁睍绫诲瀷(鎸囬拡鎿嶄綔)
    • 鎸囬拡POINTER锛氬彉閲忓湴鍧
    • 鍦板潃鎿嶄綔绗DR锛氳幏鍙栧彉閲忓湴鍧
    • 鍐呭鎿嶄綔绗锛氫紶閫掓寚閽堟寚鍚戠殑鍐呭
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    iVar1 : INT;//鍙橀噺1
    iVar2 : INT;//鍙橀噺2
    piVar:POINTER TO INT;//鎸囬拡
    
    //灏嗗彉閲1鐨勫湴璇佷氦缁欐寚鎸囬拡
    piVar := ADR(iVar1);
    //閫氳繃鍐呭鎿嶄綔绗︽妸鎸囬拡鍐呭浜ょ粰鍙橀噺2
    iVar2 := piVar^;

    涓冦丆odeSys DUT
    • 缁撴瀯浣 STRUCT
    缁撴瀯浣撲娇鐢ㄩ渶瑕佸厛鐢虫槑锛屽啀瀹炰緥鍖栵紝鍐嶈繘琛屼娇鐢
    鐢虫槑
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    //缁撴瀯浣撲娇鐢ㄦ柟娉
    TYPE STRUCT_VAR://缁撴瀯浣撳悕绉
    STRUCT//鐢虫槑璇ユ牱寮忎负缁撴瀯浣擄紝鍚庨潰鍑犵绫诲瀷涓昏鍐冲畾鏍峰紡鐨勫湴鏂瑰氨鍦ㄦ澶
        VAR1:BOOL;
        VAR2:INT;
        VAR3:ARRAY[0..9] OF INT;
    END_STRUCT
    END_TYPE

    娉ㄦ剰锛氬綋鎴戜滑瀹氫箟浜嗙粨鏋勪綋杩樹笉鑳借繘琛屼娇鐢紝瀹冪浉褰撲簬涓涓暟鎹被鍨嬶紝闇瑕佷娇鐢ㄨ繕闇瑕佽繘琛屽疄渚嬪寲濡備笅銆
    瀹炰緥鍖
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    PROGRAM PLC_PRG//POU鐨勫嚱鏁颁綋
    VAR
        STRUCT1:STRUCT_VAR;//榛樿瀹炰緥鍖栵紝STRUCT1涓鸿缁撴瀯浣撶殑鍚嶅瓧
        STRUCT1:STRUCT_VAR:=(VAR1:=TRUE,VAR2:=2,VAR3:=[10,7,3,6]);//鍒濆鍖栧煎疄渚嬪寲
    END_VAR

    缁ф壙 EXTENDS
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    TYPE DUT EXTENDS STRUCT_VAR://STRUCT_VAR琚獶UT缁ф壙鎴栬呰 DUT缁ф壙浜哠TRUCT_VAR
    STRUCT//鐢虫槑璇ユ牱寮忎负缁撴瀯浣
        xVar1:BOOL;
        tTime1:TIME;
    END_STRUCT
    END_TYPE

    铏界劧DUT涓彧鏈変袱涓睘鎬э紝浣嗘槸鍥犱负DUT缁ф壙浜哠TRUCT_VAR锛屾墍浠ュ疄闄呬笂DUT涓鍏辨湁5涓睘鎬с
    2. 鏋氫妇浣()
    鏋氫妇浣撳湪瀹氫箟浜嗕箣鍚庡氨鍙互鐩存帴杩涜浣跨敤锛屽畾涔夋柟娉曞拰浣跨敤鏂规硶濡備笅[褰撴垜浠皢鏋氫妇浣撶涓涓艰瀹氫负涔嬪悗锛岄偅涔堟垜浠悗闈㈢殑鍊间細涓娆¢掑1锛屾瘮濡備唬鐮佷腑wed鐨勫煎氨涓3]
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    TYPE DUT_ENUMER:
    (
        Mon:=1,//璁剧疆绗竴浣嶅  
      Tues,//2
      Wed,//3
      Fri//fri鐨勫间负4
    )BYTE;//瀹氫箟涓婅堪4涓彉閲忕被鍨嬩负BYTE锛屽彲浠ヤ笉濉啓榛樿涓篒NT
    END_TYPE
    
    //鏋氫妇浣撶殑浣跨敤
    iNumber1:=DUT_ENUMER.Mon;

    3. 鑱斿悎浣 UNION
    瀹氫箟
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    TYPE ://鑱斿悎浣撳悕瀛
    UNION//鑱斿悎浣撳叧閿瘝
        VAR1:BOOL:
        VAR2:ARRA 銆0..8銆慜F BOOL;
        VAR3:INT;
    END_UNION
    END_TYPE

    瀹炰緥鍖
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    PROGRAM POU_UNION
    VAR
      UNION1:OUT_UNION;
    END_VAR
    
    //浣跨敤鏂规硶
    UNION1.VAR1:=TRUL;

    鍏佸姛鑳藉潡鍜屽嚱鏁扮殑鍖哄埆

    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    //鍔熻兘鍧楀疄鐜帮細灏嗗鍙蜂负3鐨勫鐢熷勾榫勫姞25宀併
    editStu(stStudent:=stStudents[2] , iAge:=25 , age=>stStudents[2].iAge);
    //age=>stStudents[2].iAge鐨勬剰鎬濇槸灏嗗姛鑳藉潡杈撳嚭鐨刟ge鍊间紶閫佺粰stStudents[2].iAge
    
    //鍑芥暟瀹炵幇锛氬皢瀛﹀彿涓4鐨勫鐢熷勾榫勫姞25宀併
    stStudents[3].iAge:=POU_edit_studentage_1(stStudent:=stStudents[3],age:=25);
    //POU_edit_studentage_1鍑芥暟鏄皢璁$畻缁撴灉浠ヨ繑鍥炲肩殑褰㈠紡杩斿洖缁檚tStudents[3].iAge
    鍖哄埆锛
    • 鍔熻兘鍧楃殑浣跨敤闇瑕佸疄渚嬪寲锛屼笖瀹炰緥鍖栦箣鍚庝細鐙珛瀛樺湪浜庡唴瀛樹箣涓紝涓嬫璋冪敤鏃跺唴閮ㄧ殑鍙橀噺涓嶄細鍒濆鍖栥傝屽嚱鏁板湪姣忎竴娆¤皟鐢ㄦ椂閮戒細鍒濆鍖栧唴閮ㄧ殑鍊笺傦紙浠涔堝彨鍑芥暟锛氫唬鏁板紡涓紝鍑$浉鍏崇殑涓ゆ暟锛镐笌锛癸紝瀵逛簬姣忎釜锛稿硷紝閮藉彧鏈変竴涓脊鐨勫搴斿笺傝繖绉嶅搴斿叧绯诲氨琛ㄧず锛规槸锛哥殑鍑芥暟銆傝鐧戒簡灏辨槸鐩稿悓鐨勮緭鍏ュ搴旂浉鍚岀殑杈撳嚭锛夈
    • 鍔熻兘鍧楀彧鏈夎緭鍑猴紙鎰忓懗鐫鍙互鍚屾椂杈撳嚭澶氫釜鍊硷級銆傚嚱鏁板彧鏈夎繑鍥炲硷紝鍙湁涓涓繑鍥炲笺

    涔濄佹暟鎹搷浣
    绠楁湳鎿嶄綔
    • ADD 鍔犳硶
    • DIV 鍑忔硶
    • MUL 涔樻硶
    • SUB 闄ゆ硶
    • MOD 鍙栦綑
    閫昏緫鎿嶄綔
    • AND 涓庢搷浣淎 AND B 鍙湁A鍜孊閮戒负鐪燂紝鏈缁堢粨鏋滄墠鏄湡銆
    • OR 鎴栨搷浣淎 OR B A鍜孊浠绘剰涓涓负鐪燂紝缁撴灉鍗充负鐪熴
    • XOR 寮傛垨鎿嶄綔A XOR B A鍜孊涓嶅悓涓虹湡锛岀浉鍚屼负鍋囥
    • NOT 鍙栧弽鎿嶄綔NOT A A涓虹湡渚х粨鏋滀负鍋囷紝A涓哄亣鍒欑粨鏋滀负鐪熴
    鏁版嵁绫诲瀷杞崲
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    //闅愬紡杞崲
    //灏忕殑鍚戝ぇ鐨勮浆鎹紝SINT鈫扞NT
    
    //鏄剧ず杞崲
    //涓嶅悓澶у皬鎴栦笉鍚岀被鍨嬶紝STRING鈫扗INT
    SINT:=TO_SINT(STRING);
    SINT:=STRING_TO_REAL(STRING)

    鍗併佸彉閲忕被鍨嬬敵鏄
    鍙橀噺绫诲瀷鍏抽敭瀛鍙橀噺灞炴澶栭儴璇诲啓锛圧ead 璇伙級鍐呴儴璇诲啓锛坵rite鍐欙級
    VAR灞閮ㄥ彉閲--R/W
    VAR_INPUT杈撳叆鍙橀噺锛岀敱澶栭儴鎻愪緵RIWR
    VAR_OUTPUT杈撳嚭鍙橀噺锛屾湁鍐呴儴鍙橀噺鎻愪緵缁欏閮RR/W
    VAR_IN_OUT杈撳叆-杈撳嚭鍙橀噺R/WR/W
    VAR_GLOBAL鍏ㄥ眬鍙橀噺锛岃兘鍦ㄦ墍鏈塒OU鍐呬娇鐢ㄣR/WR/W
    VAR_TEMP涓存椂鍙橀噺锛岀▼搴忓拰鍔熻兘鍧楀唴閮ㄥ瓨鍌ㄤ娇鐢ㄧ殑鍙橀噺--R/W
    VAR_STAT闈欐佸彉閲R/WR/W
    鍙橀噺闄勫姞灞炴
    鍙橀噺闄勫姞灞炴у叧閿瓧鍙橀噺闄勫姞灞炴
    RETAIN锛堜繚鎸佸彉閲忥級淇濇寔鍨嬪彉閲忥紝鐢ㄤ簬鎺夌數淇濇寔
    RETAIN PERSISTENT 锛堟寔缁繚鎸佸彉閲忥級鎸佺画淇濇寔鍨嬪彉閲忥紝鐢ㄤ簬鎺夌數淇濇寔
    (涓や釜鍗曡瘝鐨勯『搴忎笉閲嶈)
    CONSTANT甯搁噺
    RETAIN鍙橀噺 鍜 PERSISTENT鍙橀噺 琚О涓轰繚鎸佹у彉閲忋備富瑕佹槸鍦ㄦ墽琛屼笉鍚屾搷浣滀箣鍚庝笉鍚岀▼搴︾殑鍙橀噺淇濈暀鍏跺肩殑绋嬪害涓嶅悓銆傚涓嬪浘锛


    v2-c5ec811487d7969c49206675d8324932_720w.jpg
    image-20221120231018726
    Reset warm OR Reboot PLC 锛氳〃绀虹儹澶嶄綅鎴栧垯閲嶅惎PLC
    Reset cold OR Download锛氳〃绀哄喎澶嶄綅鎴栬呬笅杞
    Reset origin锛氳〃绀哄垵濮嬪浣
    瀹氫箟鏂规硶锛
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    VAR RETAIN
        RET_NUM_1 : INT := 15;
    END_VAR
    
    VAR RETAIN PERSISTENT
        PER_NUM_2 : INT := 15;
    END_VAR

    鍗佷竴銆佷负鍙橀噺鍒嗛厤鍦板潃
    鐢ˋT涓哄彉閲忓垎閰嶅湴鍧锛
    鍦ㄥ彉閲忓0鏄庝腑锛屼唬鐮丄T灏嗗彉閲忓垎閰嶇粰鐗瑰畾杈撳叆鎴栬緭鍑哄湴鍧銆 璇硶锛<鍙橀噺鍚> AT <鍦板潃>:<鍙橀噺绫诲瀷>;
    涓句緥锛
    [C] 绾枃鏈煡鐪 澶嶅埗浠g爜
    VAR
        xBeispiel AT %IX1.1 : BOOL;
        wBeispiel AT %QW3: INT;
        xBeispiel AT %QX7.5: BOOL;
    END_VAR

    鍏朵腑锛
    • %lX1.1锛欼nput bit 1.1
    • %QW2锛歄utput word 2
    • %QX7.5锛歄utput bit 7.5
    RangeprefixSize prefix
    IInputXSingle bit
    QOutputBByte锛8bits锛
    WWord锛16bits锛
    DDoubleword锛32bits锛








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

    浣跨敤閬撳叿 涓炬姤

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

    鏈増绉垎瑙勫垯

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

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

    GMT+8, 2024-5-16 09:36 , Processed in 0.431833 second(s), 60 queries .

    閰峰痉缃

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

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