国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      程序斷點的設(shè)置方法和裝置、存儲介質(zhì)及電子設(shè)備與流程

      文檔序號:40328180發(fā)布日期:2024-12-18 13:05閱讀:3來源:國知局
      程序斷點的設(shè)置方法和裝置、存儲介質(zhì)及電子設(shè)備與流程

      本申請涉及數(shù)據(jù)處理,具體而言,涉及一種程序斷點的設(shè)置方法和裝置、存儲介質(zhì)及電子設(shè)備。


      背景技術(shù):

      1、可編程邏輯控制器(programmable?logic?controller,簡稱為plc)廣泛應(yīng)用于工業(yè)自動化領(lǐng)域,是企業(yè)生產(chǎn)自動化運行的關(guān)鍵設(shè)備。斷點調(diào)試功能是plc的輔助調(diào)試功能,主要用于幫助用于排查plc用戶程序的邏輯錯誤。

      2、但微內(nèi)核操作系統(tǒng)只提供線程管理、進程間通信、虛擬內(nèi)存空間、句柄空間、設(shè)備基礎(chǔ)單元(中斷對象)五項功能,無其它功能,因此,基于微內(nèi)核操作系統(tǒng)的plc無法提供斷點調(diào)試功能,這給上層功能開發(fā)帶來了很多難點。

      3、針對相關(guān)技術(shù)中,plc無法實現(xiàn)斷點調(diào)試功能的問題,目前尚未提出有效的解決方案。


      技術(shù)實現(xiàn)思路

      1、本申請實施例提供了一種程序斷點的設(shè)置方法和裝置、存儲介質(zhì)及電子設(shè)備,以至少解決plc無法實現(xiàn)斷點調(diào)試功能的問題。

      2、根據(jù)本申請實施例的一個實施例,提供了一種程序斷點的設(shè)置方法,包括:在通過可編程邏輯控制器plc的通訊處理線程獲取到plc編程軟件發(fā)送的控制指令的情況下,確定所述控制指令的指令類型;在所述指令類型用于指示所述控制指令為設(shè)置斷點指令的情況下,從所述控制指令中確定待設(shè)置的第一斷點地址;將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點bkpt指令,其中,所述目標代碼區(qū)中的指令集合構(gòu)成目標程序。

      3、在一個示例性的實施例中,將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點bkpt指令,包括:掛起所述plc中的目標運行線程,其中,所述目標運行線程用于執(zhí)行所述目標程序;在所述目標代碼區(qū)中所述第一斷點地址上的指令為nop指令的情況下,將所述第一斷點地址上的所述nop指令替換為所述bkpt指令,并恢復(fù)所述目標運行線程的運行。

      4、在一個示例性的實施例中,將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點bkpt指令之后,所述方法還包括:獲取目標程序的當前斷點地址;將所述當前斷點地址設(shè)置在狀態(tài)查詢包中,并通過所述通訊處理線程將攜帶所述當前斷點地址的狀態(tài)查詢包發(fā)送至所述plc編程軟件,其中,所述狀態(tài)查詢包用于向所述plc編程軟件通告所述plc的運行狀態(tài)。

      5、在一個示例性的實施例中,獲取目標程序的當前斷點地址,包括:確定目標運行線程是否處于掛起狀態(tài),其中,所述目標運行線程用于執(zhí)行所述目標代碼區(qū)中的指令;在所述目標運行線程處于掛起狀態(tài)的情況下,將所述當前斷點地址設(shè)置為所述目標運行線程的程序計數(shù)器pc地址;在所述目標運行線程未處于掛起狀態(tài)的情況下,將所述當前斷點地址設(shè)置為預(yù)設(shè)地址。

      6、在一個示例性的實施例中,確定所述控制指令的指令類型之后,所述方法還包括:在所述控制指令為跳過當前斷點指令的情況下,從所述跳過當前斷點指令中確定待跳過的第二斷點地址;在所述目標代碼區(qū)中所述第二斷點地址上的指令為所述bkpt指令、且所述目標運行線程的pc地址為所述第二斷點地址的情況下,將所述目標運行線程的pc地址設(shè)置為指定地址,其中,所述指定地址等于所述第二斷點地址加上預(yù)設(shè)偏移量,所述目標運行線程用于執(zhí)行所述目標代碼區(qū)中的指令。

      7、在一個示例性的實施例中,確定所述控制指令的指令類型之后,所述方法還包括:在所述控制指令為刪除斷點指令的情況下,從所述刪除斷點指令中確定待刪除的第三斷點地址;掛起所述plc中的目標運行線程,其中,所述目標運行線程用于執(zhí)行所述目標程序;在所述目標代碼區(qū)中所述第三斷點地址上的指令為所述bkpt指令的情況下,將所述第三斷點地址上的所述bkpt指令替換為nop指令,并恢復(fù)所述目標運行線程的運行。

      8、在一個示例性的實施例中,在獲取到plc編程軟件發(fā)送的控制指令之前,所述方法還包括:獲取所述plc編程軟件發(fā)送的匯編代碼,其中,所述匯編代碼中的每一個匯編代碼塊的尾部具有nop指令;將所述匯編代碼存儲至所述目標代碼區(qū)。

      9、根據(jù)本申請實施例的另一個實施例,還提供了一種程序斷點的設(shè)置裝置,包括:第一確定模塊,用于在通過可編程邏輯控制器plc的通訊處理線程獲取到plc編程軟件發(fā)送的控制指令的情況下,確定所述控制指令的指令類型;第二確定模塊,用于在所述指令類型用于指示所述控制指令為設(shè)置斷點指令的情況下,從所述設(shè)置斷點指令中確定待設(shè)置的第一斷點地址;設(shè)置模塊,用于將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點bkpt指令,其中,所述目標代碼區(qū)中的指令集合構(gòu)成目標程序。

      10、根據(jù)本申請實施例的又一方面,還提供了一種計算機可讀的存儲介質(zhì),該計算機可讀的存儲介質(zhì)中存儲有計算機程序,其中,該計算機程序被設(shè)置為運行時執(zhí)行上述程序斷點的設(shè)置方法。

      11、根據(jù)本申請實施例的又一方面,還提供了一種電子裝置,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其中,上述處理器通過計算機程序執(zhí)行上述的程序斷點的設(shè)置方法。

      12、在本申請實施例中,在plc的通訊處理線程獲取到plc編程軟件發(fā)送的用于設(shè)置斷點的控制指令的情況下,從控制指令中確定待設(shè)置的第一斷點地址,并將目標代碼區(qū)中第一斷點地址上的指令設(shè)置為斷點bkpt指令,其中,目標代碼區(qū)中的指令集合構(gòu)成目標程序,進而使得目標程序在運行到第一斷點地址上的指令時,觸發(fā)cpu進入異常,暫停目標程序運行,進而采用上述技術(shù)方案,解決了plc無法實現(xiàn)斷點調(diào)試功能的問題,達到了可以實現(xiàn)plc的斷點調(diào)試功能的技術(shù)效果。



      技術(shù)特征:

      1.一種程序斷點的設(shè)置方法,其特征在于,包括:

      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點bkpt指令,包括:

      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點bkpt指令之后,所述方法還包括:

      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,獲取目標程序的當前斷點地址,包括:

      5.根據(jù)權(quán)利要求1所述的方法,其特征在于,確定所述控制指令的指令類型之后,所述方法還包括:

      6.根據(jù)權(quán)利要求1所述的方法,其特征在于,確定所述控制指令的指令類型之后,所述方法還包括:

      7.根據(jù)權(quán)利要求1至6中任一項所述的方法,其特征在于,在獲取到plc編程軟件發(fā)送的控制指令之前,所述方法還包括:

      8.一種程序斷點的設(shè)置裝置,其特征在于,包括:

      9.一種計算機可讀的存儲介質(zhì),其特征在于,所述計算機可讀的存儲介質(zhì)包括存儲的程序,其中,所述程序運行時執(zhí)行上述權(quán)利要求1至7任一項中所述的方法。

      10.一種電子裝置,包括存儲器和處理器,其特征在于,所述存儲器中存儲有計算機程序,所述處理器被設(shè)置為通過所述計算機程序執(zhí)行所述權(quán)利要求1至7任一項中所述的方法。


      技術(shù)總結(jié)
      本申請公開了一種程序斷點的設(shè)置方法和裝置、存儲介質(zhì)及電子設(shè)備,其中,上述方法包括:在通過可編程邏輯控制器PLC的通訊處理線程獲取到PLC編程軟件發(fā)送的控制指令的情況下,確定所述控制指令的指令類型;在所述指令類型用于指示所述控制指令為設(shè)置斷點指令的情況下,從所述控制指令中確定待設(shè)置的第一斷點地址;將目標代碼區(qū)中所述第一斷點地址上的指令設(shè)置為斷點BKPT指令,其中,所述目標代碼區(qū)中的指令集合構(gòu)成目標程序。采用上述技術(shù)方案,解決了PLC無法實現(xiàn)斷點調(diào)試功能的問題。

      技術(shù)研發(fā)人員:董廣譜,朱毅明,蘭文華,余瑞
      受保護的技術(shù)使用者:杭州和利時自動化有限公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/12/17
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1