'PLC編程如何減少工作量?高手編程必須掌握的硬核知識'

設計 中央處理器 超級任天堂 梟龍戰機 電氣自動化應用 2019-09-08
"
"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化編程實例

1.模塊化編程實例1 - 液位監視

• 監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。• 在OB1循環掃描處理時,可以按照一定的週期對液位進行監視。

設計方法:

• 確定液位監視的組成部分和它們的關係;

• 設計完成所要求控制任務的功能;

• 規劃從OB中調用塊完成功能的程序執行

過程;

• 對程序塊的每個段加上文字註釋和標題。

解決方案:

• 建立一個功能FC,可以監視和控制任務;

• 建立一個OB,其中每隔一定時間調用塊

(功能)。

"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化編程實例

1.模塊化編程實例1 - 液位監視

• 監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。• 在OB1循環掃描處理時,可以按照一定的週期對液位進行監視。

設計方法:

• 確定液位監視的組成部分和它們的關係;

• 設計完成所要求控制任務的功能;

• 規劃從OB中調用塊完成功能的程序執行

過程;

• 對程序塊的每個段加上文字註釋和標題。

解決方案:

• 建立一個功能FC,可以監視和控制任務;

• 建立一個OB,其中每隔一定時間調用塊

(功能)。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

2.模塊化編程實例2

有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。

分析:

這是典型的起保停電路,採用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調用。

"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化編程實例

1.模塊化編程實例1 - 液位監視

• 監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。• 在OB1循環掃描處理時,可以按照一定的週期對液位進行監視。

設計方法:

• 確定液位監視的組成部分和它們的關係;

• 設計完成所要求控制任務的功能;

• 規劃從OB中調用塊完成功能的程序執行

過程;

• 對程序塊的每個段加上文字註釋和標題。

解決方案:

• 建立一個功能FC,可以監視和控制任務;

• 建立一個OB,其中每隔一定時間調用塊

(功能)。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

2.模塊化編程實例2

有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。

分析:

這是典型的起保停電路,採用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識


"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化編程實例

1.模塊化編程實例1 - 液位監視

• 監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。• 在OB1循環掃描處理時,可以按照一定的週期對液位進行監視。

設計方法:

• 確定液位監視的組成部分和它們的關係;

• 設計完成所要求控制任務的功能;

• 規劃從OB中調用塊完成功能的程序執行

過程;

• 對程序塊的每個段加上文字註釋和標題。

解決方案:

• 建立一個功能FC,可以監視和控制任務;

• 建立一個OB,其中每隔一定時間調用塊

(功能)。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

2.模塊化編程實例2

有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。

分析:

這是典型的起保停電路,採用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識


PLC編程如何減少工作量?高手編程必須掌握的硬核知識

結構化編程

Ø 將複雜的任務分解成一些能夠反映過程的工藝、功能或可以反覆使用的單獨解決的小任務,這些任務由相應的程序塊來表示;

Ø 某些程序塊可以用來實現相同或相似的功能;

Ø 調用者可以是各種邏輯塊,包括用戶編寫的OB、FB、FC和系統提供的SFB與SFC;

Ø 被調用的塊是OB之外的邏輯塊;

Ø 通用的數據和代碼可以共享。

"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化編程實例

1.模塊化編程實例1 - 液位監視

• 監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。• 在OB1循環掃描處理時,可以按照一定的週期對液位進行監視。

設計方法:

• 確定液位監視的組成部分和它們的關係;

• 設計完成所要求控制任務的功能;

• 規劃從OB中調用塊完成功能的程序執行

過程;

• 對程序塊的每個段加上文字註釋和標題。

解決方案:

• 建立一個功能FC,可以監視和控制任務;

• 建立一個OB,其中每隔一定時間調用塊

(功能)。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

2.模塊化編程實例2

有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。

分析:

這是典型的起保停電路,採用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識


PLC編程如何減少工作量?高手編程必須掌握的硬核知識

結構化編程

Ø 將複雜的任務分解成一些能夠反映過程的工藝、功能或可以反覆使用的單獨解決的小任務,這些任務由相應的程序塊來表示;

Ø 某些程序塊可以用來實現相同或相似的功能;

Ø 調用者可以是各種邏輯塊,包括用戶編寫的OB、FB、FC和系統提供的SFB與SFC;

Ø 被調用的塊是OB之外的邏輯塊;

Ø 通用的數據和代碼可以共享。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

結構化編程

結構化編程的優點:

1各單個任務塊的創建和測試可以相互獨立地進行;

2通過使用參數,可將塊設計得十分靈活;

3塊可以根據需要在不同的地方以不同的參數數據記錄進行調用;

4在預先設計的庫中,能夠提供用於特殊任務的“可重用”塊。

結構化編程實例-油漆調製

1選擇產品添加劑,需要決定哪個罐的成分要加到混合罐內。

2在選擇開關的選擇基礎上,組織塊調用相應的程序塊,分配當前的參數,控制混合罐的流入量。

設計方法:

1. 確定哪些部件和操作可以應用於所有的罐和相關的控制;

2. 建立功能或功能塊,完成所要求的控制;

3. 建立塊的變量定義表,以便於對要操作的罐和控制進行地址分配;

4. 設計一個程序來根據選擇開關調用功能或功能塊。

解決方案:

1. 建立一個功能塊或功能控制罐的流出量;

2. 為相關的塊建立變量定義表;

3. 建立一個OB塊來根據選擇開關調用功能或功能塊。


"
PLC編程如何減少工作量?高手編程必須掌握的硬核知識

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描週期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

模塊化編程實例

1.模塊化編程實例1 - 液位監視

• 監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。• 在OB1循環掃描處理時,可以按照一定的週期對液位進行監視。

設計方法:

• 確定液位監視的組成部分和它們的關係;

• 設計完成所要求控制任務的功能;

• 規劃從OB中調用塊完成功能的程序執行

過程;

• 對程序塊的每個段加上文字註釋和標題。

解決方案:

• 建立一個功能FC,可以監視和控制任務;

• 建立一個OB,其中每隔一定時間調用塊

(功能)。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

2.模塊化編程實例2

有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。

分析:

這是典型的起保停電路,採用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調用。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識


PLC編程如何減少工作量?高手編程必須掌握的硬核知識

結構化編程

Ø 將複雜的任務分解成一些能夠反映過程的工藝、功能或可以反覆使用的單獨解決的小任務,這些任務由相應的程序塊來表示;

Ø 某些程序塊可以用來實現相同或相似的功能;

Ø 調用者可以是各種邏輯塊,包括用戶編寫的OB、FB、FC和系統提供的SFB與SFC;

Ø 被調用的塊是OB之外的邏輯塊;

Ø 通用的數據和代碼可以共享。

PLC編程如何減少工作量?高手編程必須掌握的硬核知識

結構化編程

結構化編程的優點:

1各單個任務塊的創建和測試可以相互獨立地進行;

2通過使用參數,可將塊設計得十分靈活;

3塊可以根據需要在不同的地方以不同的參數數據記錄進行調用;

4在預先設計的庫中,能夠提供用於特殊任務的“可重用”塊。

結構化編程實例-油漆調製

1選擇產品添加劑,需要決定哪個罐的成分要加到混合罐內。

2在選擇開關的選擇基礎上,組織塊調用相應的程序塊,分配當前的參數,控制混合罐的流入量。

設計方法:

1. 確定哪些部件和操作可以應用於所有的罐和相關的控制;

2. 建立功能或功能塊,完成所要求的控制;

3. 建立塊的變量定義表,以便於對要操作的罐和控制進行地址分配;

4. 設計一個程序來根據選擇開關調用功能或功能塊。

解決方案:

1. 建立一個功能塊或功能控制罐的流出量;

2. 為相關的塊建立變量定義表;

3. 建立一個OB塊來根據選擇開關調用功能或功能塊。


PLC編程如何減少工作量?高手編程必須掌握的硬核知識


"

相關推薦

推薦中...