回覆列表
  • 1 # 工控人

    用梯形圖經驗設計法設計控制程式的基本步驟是什麼。

    其實梯形圖的程式設計沒有什麼標準,只要能夠滿足控制要求即可,儘量做到檢查容易、便於修改和擴充套件。一般我們使用梯形圖設計的步驟是什麼,每個人的習慣可能不一樣,分享一下自己的過程。

    1就是建立一個新的工程,選擇PLC系列、型號,工程型別(對於梯形圖就選擇簡單工程),程式語言自然是梯形圖了,那如果想分段編寫程式,可以使用標籤功能。

    2軟元件的選擇,根據需要分配:(1)輸入、輸出的分配,對於有高速輸入輸出的功能,普通的儘量不要佔用高速端子,比如有編碼器計數的和脈衝輸出的都有特定端子分配。(2)中間輔助繼電器的分配,區別普通的和掉電儲存的(3)資料暫存器,同樣有普通和保持的,另外還有16位和32位資料注意確保資料地址不重複,如32指令中用到的資料D10,其實佔用D10、D11,那麼我們就不能再使用D11了。(4)定時器,有普通型和累計型之分、100ms、10ms和1ms單位之分(5)計數器分為普通和停電保持專用以及高速計數器的區別。

    3梯形圖的編輯,對於步數較高、功能複雜的梯形圖,我們儘量分段編寫程式如下圖所示,我們一般的預設為一個程式MAIN,可以把它分成好幾個小的程式如按照第一段P1:手動部分,第二段P2:自動部分,第三段P3:資料處理,第四段P4:通訊、模擬量。方便我們後期錯誤的尋找和修改。;另外多使用梯形圖隱藏功能尤其是上下部分很長的程式。

    4程式的設計,儘量對每個使用的軟元件進行註釋以防止重複使用造成雙線圈使用、對小段程式進行宣告等操作,在編輯的時候儘量少複製、貼上程式特別是對較長程式時(很容易漏該),整個梯形圖的結構、框架要整齊,以便於後期的修改和擴充套件。

    5編譯和程式檢查,梯形圖設計好後首先需要進行編譯轉換才能儲存下來,如果沒有錯誤,點選工具中的程式檢查,對指令、雙線圈、梯形圖、軟元件等進行檢測給出提示。然後我們也可以使用程式的模擬檢視有什麼不對的地方,最後把梯形圖寫入到PLC進行除錯測速修改、核對和完善程式功能。

  • 2 # 儒拉小鎮

    將上個月在家裡面設計除錯完畢的一個專案舉例吧。

    專案是線體(流水線),合計超過180個氣缸,4臺EPSON機械手。考慮到節拍時間要求,用的一個1515CPU。後來掃描週期達到85ms,更換成1516CPU,掃描週期30ms之內。5個TP1200 HMI。

    其他外設包含6個Cognex相機(其中3個引導EPSON機械手,後來有一臺取消),4個Festo伺服,閥島用的Festo(PN介面),輸入輸出Balluff(PN介面),25個Balluff RFID讀寫頭,Datalogic掃碼槍,大族鐳射刻碼(TPCIP通訊)。

    程式準備階段,首先將氣缸歸類。按照工位,OP10~OP60,合計6個站(OP20手動操作在OP10觸控式螢幕上)。將用到的外設歸類。Cognex相機,Datalogic讀碼器等功能塊(因為以前都用過,功能塊直接使用)。硬體配置完畢,輸入輸出填寫完畢。

    準備工作完成以後,基本手動程式有了。此時部分工作站已經可以手動除錯。

    自動程式:根據節點完成。

    首先RFID一共有25個,根據OP工位,細分。以托盤為單位。線體上一個托盤可以當成小的節點。當然這25個RFID肯定有托盤,也是屬於節點裡面的。

    OP10站一共有7個托盤,回料的有4個托盤(環形線體,回料站不工作)。

    注意:這裡的F1,是OP10的最前端,跟OP20交界的地方。出料口。有的人喜歡把這個當成最後一個小工位。但是我會把他當成頭部。頭部出料後面才能出。

    複雜的工作逐步細化。

    每一個借點(FB塊)都會有一個阻擋,這個阻擋是否放行只跟前後站有關係。在每一個FB內部有流程步(StepNo.),但是如何處理前後站的工作,增加了(TaskNo.)。

    前後站,只會涉及到TaskNo.。因為是線體,就會涉及到一個同步放行還是非同步放行的問題。同步放行,就是如果我一共有10個節點,最前面的要放行,後面10個同步放行。在節拍時間要求高的時候只能如此。非同步放行,就是10個節點,1號放行,2號判斷1號沒有產品延時後放行。顯然是耽誤時間的。

    同步放行要求強互鎖。前面要放行,後面放行,前面收到後告訴後面收到產品。所有工作在一個FB塊(有很多背景塊)完成。

    當然每一個節點不僅僅只有前後站的,還有上料工位。在這裡都被歸類到Sub裡面。之間也是TaskNo.來完成的。

    在上面圖中,是OP10的Sub部分。例如線體某一個工位需要上料(F01),F01首先會準備好產品,然後告訴外面,我是Ready的。主的部分看出來是Ready,然後跟他要產品,Running,最後完畢,Finish。繼續去取新的產品,直到Ready。

    輸入輸出介面用Int型別,也就是TaskNo.。

    由於好多工位,有夾爪但是沒有辦法檢測,增加了Status狀態字。強制記憶。例如這個托盤準備放產品,然後上面給他放入了一個,將Status寫入。如果托盤更換的時候重新清掉。夾爪上產品,如果夾爪開啟清掉。

    前後程式段,每一個都呼叫FB塊。

    只有一個阻擋氣缸的簡單節點。

    有前後站,外設的複雜節點。

    實際上,好多程式都是可以通用的。就需要把能夠整合的抽象出來。不同的放到IO介面上。XA,XB,YA,YB對應氣缸的輸入(工作位感測器、原始位感測器、工作、返回)。

    梯形圖就比較簡單了。因為前期已經將複雜工站碎片化,在這個程式裡面只要處理簡單的動作就可以了。

    先初始化,托盤來料,RFID判斷,工作,RFID寫入,放行。

    大概總結一下:

    1,寫程式,首先複雜問題簡單化,分解成很多碎片,節點。然後簡單問題複雜化,每個節點,報警,生產哪裡有遺漏。

    2,儘量將無聊的東西,變成數字。從**氣缸先工作,**氣缸返回,**電機動作,變成1#氣缸工作,2#氣缸返回,1#電機工作。

    3,氣缸等還是多,將其繼續碎片,每一個小節點只有幾個氣缸,放到介面上。輸出的放到IO介面上。

    4,感測器,負邏輯的,都轉換成正邏輯,放到輸入介面上,不用每次都記哪個輸入點,這裡可以嘗試一下(iPh01,光電,iPx01,接近開關)。需要自己加。一個小節點,也就幾個感測器;

    5,相同東西,儘量歸類,抽象到IO介面上。入下圖中的PC和RFID。

  • 3 # 上官同學

    PLC梯形圖經驗設計法的要點的程式設計步驟

    1.PLC梯形圖經驗設計法的要點

    ①PLC的程式設計,從梯形圖來看,其根本點是找出系統中符合控制要求的各個輸出的工作條件,這些條件又總是用程式設計元件按一定的邏輯關係進行組合來實現的。

    ②梯形圖的基本模式為啟—保—停電路。每個啟—保—停電路一般只針對一個輸出,這個輸出可以是系統的實際輸出,也可以是中間變數。

    2.“PLC梯形圖經驗法”程式設計步驟

    ① 在準確瞭解控制要求後,合理地為控制系統中的事件分配輸入輸出口。選擇必要的機內程式設計元件,如定時器、計數器、輔助繼電器。

    ② 對於一些控制要求較簡單的輸出,可直接寫出它們的工作條件,依啟—保—停電路模式完成相關的梯形圖支路。工作條件稍複雜的可藉助輔助繼電器(如例5中小車前進部分的 M100、M101及M102)。

    ③ 對於較複雜的控制要求,為了能用啟—保—停電路模式繪出各輸出口的梯形圖,要正確分析控制要求,並確定組成總的控制要求的關鍵點。在空間類邏輯為主的控制中關鍵點為影響控制狀態的點,(如搶答器例中主持人是否宣佈開始,答題是否到時等),在時間類邏輯為主的控制中(如交通燈),關鍵點為控制狀態轉換的時間。

    ④ 將關鍵點用梯形圖表達出來。關鍵點總是用程式設計元件來表達的,在安排程式設計元件時需要合理。繪關鍵點的梯形圖時,可以使用常見的基本環節,如定時器計時環節、振盪環節、分頻環節等。

    ⑤ 在完成關鍵點梯形圖的基礎上,針對系統最終的輸出進行梯形圖的編繪。使用關鍵點綜合出最終輸出的控制要求。

    ⑥ 審查草圖,補充遺漏的功能,更正錯誤,進行最後的完善。

  • 中秋節和大豐收的關聯?
  • 為啥很多男人結了婚以後都會發福?