時間:2023-11-16 16:41:00來æºï¼šæ·±åœ³å¸‚雷賽智能控制股份有é™å…¬å¸
  基于高速計數(shù)器的比較輸出功能å¯å¯¦ç¾(xià n)計數(shù)值到é”è¨(shè)定值åŽï¼Œè¼¸å‡ºå£æ‰“é–‹/é—œ(guÄn)閉指定的時間或輸出指定的電平信號。高速比較輸出功能的優(yÅu)勢在于響應(yÄ«ng)æ¯”æ™®é€šè¼¸å‡ºå¿«çš„å¤šï¼Œèƒ½å¤ å¿«é€Ÿæ»¿è¶³å°å¯¦æ™‚æ€§è¦æ±‚更高的應(yÄ«ng)ç”¨å ´æ™¯ï¼Œå¦‚é£›æ‹æŠ€è¡“(shù)。
  本文以雷賽ä¸åž‹PLC MC532控制器(LC,SC系列使用方法類似)為例介紹比較輸出功能的使用方法。
  固件版本:20230801åŠä»¥ä¸Š
  FPGA版本:16777216åŠä»¥ä¸Š
  庫版本:MC_HSIO1.0.2.3ã€LS_BasicModule1.0.0.5 åŠä»¥ä¸Š
  01ã€æ¯”較輸出硬件端å£é…ç½®
  ①雙擊High_Speed_IO_Module打開IOé…置界é¢;
  ②點擊高速輸入è¨(shè)ç½®;
ã€€ã€€â‘¢é¸æ“‡è¨ˆæ•¸(shù)器,勾é¸å•Ÿç”¨;
ã€€ã€€â‘£é¸æ“‡æ¯”較輸出信號硬件端å£ï¼Œå¯ç”¨OUT0-OUT11作為比較輸出å£ã€‚如圖1所示。
  注:采用計數(shù)器的用處是,使用計數(shù)器的值作為比較åƒè€ƒä½ç½®ã€‚
圖1 計數(shù)器比較輸出功能é…ç½®æ¥é©Ÿ
  02ã€æ¯”較輸出指令介紹
  比較輸出相關(guÄn)指令如表1所示,MC500比較輸出指令共有3個,一個計數(shù)器åŒä¸€æ™‚é–“åªèƒ½ä½¿ç”¨å…¶ä¸ä¸€å€‹æ¯”較輸出指令,若執(zhÃ)行了多個比較輸出指令僅最先執(zhÃ)行的指令有效,åŽåŸ·(zhÃ)è¡Œçš„æŒ‡ä»¤å ±éŒ¯ã€‚
  表1 比較輸出指令表
  使用這些指令å‰ï¼Œé ˆåœ¨High_Speed_IO_Moduleä¸é…ç½®å°æ‡‰(yÄ«ng)的硬件端å£åŠŸèƒ½åŠåƒæ•¸(shù),而且è¦é¿å…使用%MW50000-%MW59999系統(tÇ’ng)專用地å€ï¼Œé¿å…å› ç‚ºåœ°å€æ²–çªé€ æˆåŠŸèƒ½ç•°å¸¸ã€‚
  高速比較輸出å£çš„輸出狀態(tà i)ç”±ç¡¬ä»¶å±¤æŽ§åˆ¶ï¼Œè»Ÿä»¶å±¤ä¸æœƒç›£(jiÄn)控到該ä½ç‹€æ…‹(tà i)ï¼Œä¸æœƒå應(yÄ«ng)åœ¨è¼¸å‡ºå£æ˜ 射地å€ä¸Š(與高速脈沖輸出一致),也就是說比較輸出指令控制OUT2輸出高電平,軟件監(jiÄn)控ä¸ï¼ŒOUT2å°æ‡‰(yÄ«ng)æ˜ å°„åœ°å€%QX0.2çš„å€¼ä¸æœƒè®Š?yÅu)é–€RUE。
  ▇ 2.1 單點模å¼é«˜é€Ÿæ¯”較指令LS_Compare
  該指令用于è¨(shè)置單點模å¼é«˜é€Ÿä¸€ç¶æ¯”è¼ƒè¼¸å‡ºçš„åƒæ•¸(shù),å¯åœ¨è¨ˆæ•¸(shù)å€¼èˆ‡æ¯”è¼ƒå€¼ç›¸ç‰æ™‚打開/é—œ(guÄn)閉指定輸出å£è¨(shè)定的時間。打開輸出å£è¡¨ç¤ºè¼¸å‡ºé«˜é›»å¹³;é—œ(guÄn)閉輸出å£è¡¨ç¤ºè¼¸å‡ºä½Žé›»å¹³ï¼Œå³æ²’有輸出。
  輸入變é‡èªªæ˜Ž
  輸出變é‡èªªæ˜Ž
  如圖2所示LS_Compare指令è¨(shè)置計數(shù)器0的比較值為10000ï¼Œæ¯”è¼ƒå€¼ç›¸ç‰æ™‚,打開比較輸出å£2s。如圖3所示為該指令執(zhÃ)行時的計數(shù)值ã€è¼¸å‡ºå£é›»å¹³èˆ‡æ™‚間的關(guÄn)系曲線。
  圖2 LS_Compare指令
  圖3 計數(shù)值ã€è¼¸å‡ºå£é›»å¹³èˆ‡æ™‚間的關(guÄn)系曲線
  圖3顯示:計數(shù)器0的計數(shù)值ç‰äºŽ10000æ™‚ï¼Œæ¯”è¼ƒè¼¸å‡ºå£æ‰“開,開始輸出高電平,2såŽè®Š?yÅu)榈碗娖剑敵隹陉P(guÄn)閉。
  ▆ 2.2 FIFO模å¼é«˜é€Ÿæ¯”較指令LS_CompareFIFO
  該指令用于è¨(shè)ç½®FIFO模å¼çš„ä¸€ç¶æ¯”è¼ƒè¼¸å‡ºçš„åƒæ•¸(shù),F(xià n)IFO最多å¯å˜æ”¾1000比較點,并且å¯ä»¥å‹•æ…‹(tà i)壓入比較點,當(dÄng)計數(shù)å€¼èˆ‡æ¯”è¼ƒå€¼ç›¸ç‰æ™‚æ ¹æ“š(jù)指令è¨(shè)ç½®çš„è¼¸å‡ºæ–¹å¼æ”¹è®ŠæŒ‡å®šè¼¸å‡ºå£çš„輸出狀態(tà i)。觸發(fÄ)指令時,會先將指定輸出å£è¼¸å‡ºç‹€æ…‹(tà i)å轉(zhuÇŽn);峿Œ‡ä»¤è§¸ç™¼(fÄ)å‰ï¼Œè¼¸å‡ºå£é—œ(guÄn)é–‰(低電平),觸發(fÄ)指令åŽï¼Œè¼¸å‡ºå£æ‰“é–‹(高電平)。
  輸入變é‡èªªæ˜Ž
  輸出變é‡èªªæ˜Ž
  FIFOå…§(nèi)最多å¯è£1000å€‹é»žï¼Œæ¯æ¬¡æ¯”較開始å‰ï¼Œå¾žFIFOä¸å–出一個點,å³FIFOå…§(nèi)的點數(shù)uiFIFOSize減1。xPush觸發(fÄ)ä¸Šå‡æ²¿åŽæœƒå°‡uiCmpNum個fCmpPoså˜æ”¾çš„點壓入到FIFOï¼Œå¿…é ˆæ³¨æ„壓入FIFO的數(shù)é‡ï¼Œè‹¥FIFOå…§(nèi)的點數(shù)uiFIFOSizeè¶…éŽ1000ï¼ŒæŒ‡ä»¤å°‡å‡ºéŒ¯ä¸æ¢ã€‚
  輸出模å¼0ã€1——時間輸出模å¼ï¼šç•¶(dÄng)計數(shù)值與比較值相ç‰ï¼Œæ‰“é–‹/é—œ(guÄn)閉指定輸出å£udiOutParaè¨(shè)定的時間,輸出時間çµ(jié)æŸåŽï¼Œè¼¸å‡ºå£ç‹€æ…‹(tà i)æ¢å¾©(fù),最çŸè¼¸å‡ºæ™‚é–“1us,最長輸出時間20s。
  輸出模å¼4——輸出電平模å¼ï¼šç•¶(dÄng)計數(shù)值與第nå€‹æ¯”è¼ƒé»žç›¸ç‰æ™‚,數(shù)çµ„åƒæ•¸(shù)axInvert第n個æˆå“¡ç‚ºTRUE則打開輸出å£ï¼Œç‚ºFALSE則關(guÄn)閉輸出å£ã€‚
  如圖4所示LS_CompareFIFO指令è¨(shè)置輸出電平模å¼ï¼Œæ¯”較值與輸出電平如表2所示關(guÄn)系。如圖5所示為該指令執(zhÃ)行時的計數(shù)值ã€è¼¸å‡ºå£é›»å¹³èˆ‡æ™‚間的關(guÄn)系曲線。
  圖4 LS_CompareFIFO指令
  表2 比較值與輸出電平關(guÄn)ç³»
  圖5 計數(shù)值ã€è¼¸å‡ºå£é›»å¹³èˆ‡æ™‚間的關(guÄn)系曲線
  圖5顯示:
  ①LS_CompareFIFO.xExecute觸發(fÄ)ä¸Šå‡æ²¿æ™‚,比較輸出å£ç‹€æ…‹(tà i)å轉(zhuÇŽn),輸出高電平,åˆå§‹å£“入比較點數(shù)為10,ä½ç½®æ¯”較開始,F(xià n)IFOå˜æ”¾é»žæ•¸(shù)減1,å³è®Š?yÅu)?;
  ②計數(shù)值ç‰äºŽç¬¬1個比較值1000時,比較輸出å£è¼¸å‡ºé«˜é›»å¹³ï¼ŒåŒæ™‚下一個ä½ç½®é»žæ¯”較開始,F(xià n)IFOå…§(nèi)點數(shù)減1;計數(shù)值ç‰äºŽç¬¬2個比較值2000時,比較輸出å£è¼¸å‡ºä½Žé›»å¹³ï¼ŒåŒæ™‚下一個ä½ç½®é»žæ¯”較開始,F(xià n)IFOå…§(nèi)點數(shù)減1,以æ¤é¡žæŽ¨;
  ③LS_CompareFIFO.xPush觸發(fÄ)ä¸Šå‡æ²¿æ™‚,壓入10個比較點到FIFO,å³FIFOå…§(nèi)點數(shù)åŠ 10。
  ▆ 2.3 線性模å¼é«˜é€Ÿæ¯”較指令LS_CompareStep
  該指令用于è¨(shè)置線性模å¼çš„ä¸€ç¶æ¯”è¼ƒè¼¸å‡ºçš„åƒæ•¸(shù),當(dÄng)計數(shù)å€¼èˆ‡èµ·å§‹æ¯”è¼ƒå€¼ç›¸ç‰æ™‚æ”¹è®Šè¼¸å‡ºå£æŒ‡å®šæ™‚間的輸出狀態(tà i),æ¤åŽæ¯ç•¶(dÄng)計數(shù)å€¼èˆ‡ä¸Šä¸€æ¬¡æ¯”è¼ƒå€¼åŠ æ¯”è¼ƒæ¥é•·çš„值相ç‰ï¼Œå†æ¬¡æ”¹è®Šè¼¸å‡ºå£æŒ‡å®šæ™‚間的輸出狀態(tà i),比較輸出的次數(shù)å¯åœ¨æŒ‡ä»¤ä¸è¨(shè)定,最多å¯è¼¸å‡º65535次。
  輸入變é‡èªªæ˜Ž
  輸出變é‡èªªæ˜Ž
  如圖6所示LS_CompareStep指令è¨(shè)置計數(shù)器0的起始比較值為5000ï¼Œä¹‹åŽæ¯æ¬¡æ¯”è¼ƒå€¼ç‚ºä¸Šä¸€æ¬¡æ¯”è¼ƒå€¼åŠ 10000;æ¯æ¬¡æ¯”è¼ƒç›¸ç‰æ™‚,打開輸出å£0.1s,時間çµ(jié)æŸå‰‡è¼¸å‡ºå£ç‹€æ…‹(tà i)æ¢å¾©(fù),è¨(shè)ç½®10個比較點。如圖7所示為該指令執(zhÃ)行時的計數(shù)值ã€è¼¸å‡ºå£é›»å¹³èˆ‡æ™‚間的關(guÄn)系曲線。
  圖6 LS_Compare指令
  圖7 計數(shù)值ã€è¼¸å‡ºå£é›»å¹³èˆ‡æ™‚間的關(guÄn)系曲線
  圖7顯示:計數(shù)器0的計數(shù)值ç‰äºŽ5000ã€15000ã€25000ã€35000ã€45000ã€55000ã€65000ã€75000ã€85000ã€95000時,比較輸出å£å„輸出0.1s高電平,共輸出了10次。
  03ã€æ¯”較輸出例程
  本例程實ç¾(xià n)計數(shù)器0計數(shù)值便¬¡ç‰äºŽ10000,15000,25000,30000時,比較輸出å£OUT2便¬¡ç”±é«˜é›»å¹³è®Š?yÅu)榈碗娖?.5s,0.5SåŽè¼¸å‡ºå£æ¢å¾©(fù)高電平。計數(shù)器0é…置如圖8所示。
  圖8 計數(shù)器0é…ç½®
  程åºä»£ç¢¼å¦‚下:
  圖9 程åºç¤ºä¾‹
  圖10為以上程åºçš„é‹è¡Œçµ(jié)果。當(dÄng)FIFO模å¼é«˜é€Ÿæ¯”較指令的啟動信號xExecuteç”±FASLE變?yÅu)é–€RUE時,比較輸出å£OUT2狀態(tà i)å轉(zhuÇŽn),變?yÅu)æ¥¦å” å¨–å¥ï¼Ž?dÄng)計數(shù)器0的計數(shù)值分別ç‰äºŽ10000,15000,25000,30000時,比較輸出å£OUT2便¬¡ç”±é«˜é›»å¹³ç‹€æ…‹(tà i)變?yÅu)榈碗娖綘顟B(tà i)0.5s,0.5SåŽè¼¸å‡ºå£æ¢å¾©(fù)高電平狀態(tà i)。
  圖10 比較輸出例程é‹è¡Œçµ(jié)æžœ
上一篇:有刷直æµé›»æ©Ÿçš„å·¥ä½œåŽŸç†æ˜¯ä»€ä¹ˆï¼Ÿ
下一篇:電機定å和轉(zhuÇŽn)åçš„å·¥ä½œåŽŸç†æ˜¯...
ä¸åœ‹å‚³å‹•ç¶²(wÇŽng)版權(quán)與å…責(zé)è²æ˜Žï¼šå‡¡æœ¬ç¶²(wÇŽng)注明[來æºï¼šä¸åœ‹å‚³å‹•ç¶²(wÇŽng)]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Š(quán)å‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(wÇŽng)(www.hysjfh.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉(zhuÇŽn)載請與0755-82949061è¯(lián)系。任何媒體ã€ç¶²(wÇŽng)站或個人轉(zhuÇŽn)è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²(wÇŽng)â€ï¼Œé•å者本網(wÇŽng)將追究其法律責(zé)任。
本網(wÇŽng)轉(zhuÇŽn)載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯(lián)ç¶²(wÇŽng)或æ¥(yè)å…§(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuÇŽn)載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Š(quán)法律責(zé)任。
相關(guÄn)資訊