0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

同步/ 異步指令之間的不同之處

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2021-01-18 14:22 ? 次閱讀

簡介

在程序執(zhí)行過程中,同步和異步指令有著顯著不同。

“同步”和“異步”屬性與指令調(diào)用與執(zhí)行間的時(shí)間順序相關(guān)。

以下情況適用于同步指令:同步指令調(diào)用完成時(shí),指令執(zhí)行也完成。

而異步指令,則情況有所不同:異步指令調(diào)用完成時(shí),異步指令的執(zhí)行不一定完成。這也就意味著,異步指令的執(zhí)行可以跨多次調(diào)用。在 CPU 中,異步指令的執(zhí)行與用戶程序循環(huán)同時(shí)進(jìn)行。異步指令在 CPU 中生成待處理的作業(yè)。

異步指令通常用于傳輸數(shù)據(jù)(例如,模塊的數(shù)據(jù)記錄、通信數(shù)據(jù)、診斷數(shù)據(jù))。

同步/ 異步指令之間的不同之處

下圖顯示了異步指令和同步指令處理的不同之處。在該圖中,CPU 在指令執(zhí)行完成(如,完成傳輸數(shù)據(jù)記錄)之前,調(diào)用該異步指令五次。

對于同步指令,每次調(diào)用時(shí)都會完全執(zhí)行。

e068a1c6-48f0-11eb-8b86-12bb97331649.png

① 第一次調(diào)用異步指令,開始執(zhí)行

② 中間調(diào)用異步指令,繼續(xù)執(zhí)行

③ 最后一次調(diào)用異步指令,執(zhí)行完成

④ 每次調(diào)用后,作業(yè)會完全通過同步指令進(jìn)行處理。

完全處理的作業(yè)的持續(xù)時(shí)間

異步指令作業(yè)的并行處理

CPU 可同時(shí)執(zhí)行多個(gè)異步指令作業(yè)。在以下情況下,CPU 將并行執(zhí)行多個(gè)作業(yè):

● 用于異步指令的作業(yè)會啟動(dòng),而該指令的其它作業(yè)仍在運(yùn)行中。

● 但不超出該指令可同時(shí)運(yùn)行的作業(yè)最大數(shù)目。

下圖顯示了 WRREC 指令中兩個(gè)作業(yè)的并行處理。在一段時(shí)間內(nèi),兩個(gè)指令同時(shí)執(zhí)行。

e0b0e81e-48f0-11eb-8b86-12bb97331649.png

為作業(yè)分配指令調(diào)用

要跨多個(gè)調(diào)用執(zhí)行一個(gè)指令,CPU 需向該指令正在運(yùn)行的作業(yè)唯一指定一個(gè)后續(xù)調(diào)用。

CPU 可通過以下兩種方式為作業(yè)分配一個(gè)調(diào)用,具體取決于指令的類型:

● 使用指令的背景數(shù)據(jù)塊(“SFB” 類型)

● 使用指令的作業(yè)標(biāo)識輸入參數(shù)。在異步指令的執(zhí)行過程中,這些輸入?yún)?shù)必須與執(zhí)行過程中的各調(diào)用相匹配。

示例:“Create_DB” 指令的作業(yè)由輸入?yún)?shù) LOW_LIMIT、UP_LIMIT、COUNT、ATTRIB 和 SRCBLK 標(biāo)識

下表列出了標(biāo)識指令的輸入?yún)?shù)。

e0e008a6-48f0-11eb-8b86-12bb97331649.png

e1323c48-48f0-11eb-8b86-12bb97331649.png

異步指令的狀態(tài)

異步指令通過塊參數(shù) STATUS/RET_VAL 和 BUSY 顯示指令的狀態(tài)。有些異步指令也會使用塊參數(shù) DONE 和 ERROR 顯示。

下圖顯示了兩個(gè)異步指令 WRREC 和 CREATE_DB 的執(zhí)行

e17abdb0-48f0-11eb-8b86-12bb97331649.png

① 輸入?yún)?shù) REQ 用于啟動(dòng)作業(yè),執(zhí)行異步指令。

② 輸出參數(shù) DONE 用于指示該作業(yè)已完成且無錯(cuò)誤。

③ 輸出參數(shù) BUSY 用于指示作業(yè)是否正在執(zhí)行。BUSY =1 時(shí),為該異步指令分配資

源。BUSY = 0 時(shí),未分配資源。

④ 輸出參數(shù) ERROR 用于指示發(fā)生了錯(cuò)誤。

⑤ 輸出參數(shù) STATUS/RET_VAL 用于提供有關(guān)作業(yè)執(zhí)行的狀態(tài)信息。發(fā)生錯(cuò)誤后,輸出參數(shù) STATUS/RET_VAL 用于接收錯(cuò)誤信息。

資源的使用

異步指令在執(zhí)行過程中將占用 CPU 中的資源。根據(jù) CPU 類型和指令的不同,資源的使用具有一定限制。CPU 可同時(shí)執(zhí)行最大數(shù)目的異步指令作業(yè)。在作業(yè)成功完成后或在出錯(cuò)后,這些資源將再次可用。

示例:對于 RDREC 指令,S7-1500 CPU 可以并行處理最多 20 個(gè)作業(yè)。

如果超出指令的最大并行作業(yè)數(shù)量,則會出現(xiàn)以下情況:

● 該指令將在塊參數(shù) STATUS 中返回錯(cuò)誤代碼 80C3(資源不足)。

● CPU 將停止執(zhí)行作業(yè),直至資源再次可用。

說明

低層級的異步指令

某些異步指令可使用一個(gè)或多個(gè)低層級的異步指令進(jìn)行處理。下表列出了這種相關(guān)性。

請注意,每條級別較低的指令通常占用指令資源池中的一個(gè)資源。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5007

    文章

    13121

    瀏覽量

    461533
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10809

    瀏覽量

    210874
  • 通信數(shù)據(jù)
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    9950

原文標(biāo)題:PLC1500異步指令

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    異步線路和同步線路怎么區(qū)分

    定義 異步線路是一種數(shù)據(jù)傳輸方式,其中發(fā)送方和接收方不需要嚴(yán)格的時(shí)鐘同步。在異步通信中,每個(gè)字符或數(shù)據(jù)幀都是獨(dú)立傳輸?shù)?,每個(gè)字符之間由起始位和停止位分隔。 1.2 工作原理 起始位
    的頭像 發(fā)表于 07-23 09:14 ?454次閱讀

    繼電器和接觸器有什么不同之處?

    繼電器和接觸器是兩種常用的電氣元件,它們在電路中起著非常重要的作用。雖然它們在某些方面有相似之處,但它們之間還是存在一些不同之處。以下是對繼電器和接觸器的詳細(xì)比較: 定義和工作原理 繼電器是一種利用
    的頭像 發(fā)表于 06-21 10:10 ?673次閱讀

    單片機(jī)和plc有什么相同和不同之處

    某些方面具有相似之處,但在許多關(guān)鍵方面也存在顯著差異。本文將詳細(xì)探討單片機(jī)和PLC的相同和不同之處。 一、相同之處 控制功能:單片機(jī)和PLC都具有控制功能,可以對各種設(shè)備和系統(tǒng)進(jìn)行控制。它們可以接收輸入信號,處理這些信號,然后輸
    的頭像 發(fā)表于 06-06 14:05 ?1035次閱讀

    AUTOSAR MCAL驅(qū)動(dòng)程序與演示程序中的Libraries中的驅(qū)動(dòng)程序有什么不同之處?

    1.關(guān)于 AUTOSAR MCAL 驅(qū)動(dòng)程序 與演示程序中的 Libraries 中的驅(qū)動(dòng)程序 有什么不同之處? 2.AUTOSAR MCAL 驅(qū)動(dòng)程序中是否包含了 TC397 安全菜單中提及的 SM(安全機(jī)制)的接口? 3.是否有文檔介紹AUTOSAR MCAL 驅(qū)動(dòng)程序包含的內(nèi)容?
    發(fā)表于 05-17 06:55

    同步級聯(lián)和異步級聯(lián)的區(qū)別 異步級聯(lián)和同步級聯(lián)分別要注意什么

    指與同步級聯(lián)相對應(yīng)的,異步級聯(lián)是一種不同的級聯(lián)方式。在異步級聯(lián)中,級聯(lián)模塊之間不需要等待前一個(gè)模塊完全執(zhí)行完畢才能開始執(zhí)行下一個(gè)模塊。相反,每個(gè)模塊都可以獨(dú)立運(yùn)行,并在完成之后通知下一
    的頭像 發(fā)表于 02-22 13:40 ?1495次閱讀

    光纖和光纜有何不同之處?

    很多人會有這樣的疑問,光纖和光纜有何不同之處?主要是因?yàn)楣饫w和光纜這兩個(gè)名詞容易引起混淆。在嚴(yán)格的定義下,光纖和光纜是兩種不同的東西,然而在現(xiàn)實(shí)生活中,許多人仍然會混淆這兩者。為了更好地理解光纖和光纜之間的區(qū)別,我們一起來看一下。
    的頭像 發(fā)表于 01-15 17:01 ?771次閱讀

    同步降壓和異步降壓的區(qū)別與聯(lián)系

    同步降壓和異步降壓是兩種不同的電源節(jié)能降壓技術(shù)。它們在降低電壓的目標(biāo)方面有一些相似之處,但它們在實(shí)現(xiàn)方式、控制方法和應(yīng)用領(lǐng)域等方面存在一定的差異。下面將詳細(xì)介紹同步降壓和
    的頭像 發(fā)表于 12-25 15:13 ?5107次閱讀

    同步整流和異步整流的區(qū)別

    同步整流和異步整流的區(qū)別? 同步整流和異步整流是電力系統(tǒng)中常用的兩種整流方式,它們有著不同的工作原理和特點(diǎn)。本文將詳細(xì)介紹同步整流和
    的頭像 發(fā)表于 12-08 10:06 ?2127次閱讀

    異步電路和同步電路區(qū)別在哪?

    部分是獨(dú)立運(yùn)行的,沒有明確定義的時(shí)鐘信號來同步它們的操作。相反,每個(gè)部分在滿足特定的條件下單獨(dú)啟動(dòng)和運(yùn)行,通過相互之間的通信來完成所需的協(xié)作。異步電路通常采用握手協(xié)議來確保數(shù)據(jù)的正確傳輸,即在發(fā)送方發(fā)送數(shù)據(jù)
    的頭像 發(fā)表于 12-07 10:53 ?3253次閱讀

    單模和多模光纖跳線有哪些不同之處?

    單模和多模光纖跳線有哪些不同之處? 單模和多模光纖跳線是兩種不同類型的光纖連接方式,它們在傳輸性能、工作距離、適用場景等方面存在著一些不同之處。下面將詳細(xì)介紹單模和多模光纖跳線的區(qū)別,以供參考。 一
    的頭像 發(fā)表于 12-07 10:09 ?2125次閱讀

    噪音抑制與主動(dòng)降噪:有何不同之處?

    噪音抑制與主動(dòng)降噪:有何不同之處
    的頭像 發(fā)表于 11-30 17:29 ?636次閱讀
    噪音抑制與主動(dòng)降噪:有何<b class='flag-5'>不同之處</b>?

    同步異步通信協(xié)議介紹

    同步異步傳輸歸結(jié)為時(shí)鐘是外部的(同步)還是內(nèi)部的(異步)。異步協(xié)議的一些例子包括UART、USB、CAN和以太網(wǎng)。
    發(fā)表于 11-27 15:39 ?1565次閱讀
    <b class='flag-5'>同步</b>和<b class='flag-5'>異步</b>通信協(xié)議介紹

    同步整流和異步整流介紹

    一、同步整流 同步整流是采用Rdson較低功率MOS,取代了異步整流中續(xù)流二極管以降低續(xù)流損耗的一種類型。由于功率MOS屬于電壓型器件。用功率MOS做整流器時(shí),要求柵極電壓必須與被整流電壓的相位保持
    的頭像 發(fā)表于 11-20 16:52 ?2412次閱讀
    <b class='flag-5'>同步</b>整流和<b class='flag-5'>異步</b>整流介紹

    什么是同步邏輯和異步邏輯?同步電路與異步電路有何區(qū)別?

    什么是同步邏輯和異步邏輯?同步電路與異步電路有何區(qū)別? 同步邏輯和異步邏輯是計(jì)算機(jī)科學(xué)中的兩種不
    的頭像 發(fā)表于 11-17 14:16 ?2217次閱讀

    深度學(xué)習(xí)技術(shù)與邊緣學(xué)習(xí)技術(shù)的不同之處

    的側(cè)重點(diǎn)不同,它們之間存在著差異。本文將幫助您深入理解深度學(xué)習(xí)技術(shù)與邊緣學(xué)習(xí)技術(shù)的不同之處,以便您能更有效地將它們應(yīng)用于您的行業(yè)領(lǐng)域,針對性地解決各種需求問題。
    的頭像 發(fā)表于 11-17 10:44 ?539次閱讀