夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交

  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
ffd001
級別: 家園?
精華主題: 0
發(fā)帖數量: 136 個(gè)
工控威望: 700 點(diǎn)
下載積分: 584 分
在線(xiàn)時(shí)間: 162(小時(shí))
注冊時(shí)間: 2013-10-17
最后登錄: 2023-06-02
查看ffd001的 主題 / 回貼
樓主  發(fā)表于: 2013-11-29 20:41
1.程序家族有哪些成員?
    PLC的控制程序一般由主程序、子程序和中斷程序組成。西門(mén)子的S7-300/400將子程序分為功能(Function,或稱(chēng)為函數)和功能塊(Function Block)。
    在每一個(gè)掃描循環(huán)周期,CPU都要調用一次主程序,用戶(hù)程序必須有一個(gè)并且只能有一個(gè)主程序。小型控制系統可以只有主程序。
    中斷程序用于快速響應中斷事件。在中斷事件發(fā)生時(shí),CPU將停止執行當時(shí)正在處理的程序或任務(wù),去執行用戶(hù)編寫(xiě)的中斷程序。執行完中斷程序后,繼續執行被暫停執行的程序或任務(wù)。
    2.哪些情況需要使用子程序?
    當系統規模很大、控制要求復雜時(shí),如果將全部控制任務(wù)放在主程序中,主程序將會(huì )非常復雜,既難以調試,也難以閱讀。使用子程序可以將程序分成容易管理的小塊,使程序結構簡(jiǎn)單清晰,易于調試、查錯和維護。
    子程序也可以用于需要多次反復執行相同任務(wù)的地方,只需要編寫(xiě)一次子程序,別的程序在需要的時(shí)候多次調用它,而無(wú)需重寫(xiě)該程序。
    3.怎樣調用子程序?
    主程序可以調用子程序,子程序也可以嵌套調用別的子程序。嵌套調用的層數是有限制的,例如S7-200的最大嵌套深度為8級。
    執行完子程序后,返回調用它的程序中的調用指令的下一條指令。
    4.每個(gè)掃描周期都會(huì )執行子程序嗎?
    子程序的調用可以是有條件的,在被調用期間,每個(gè)掃描周期都要執行一次被調用的子程序。調用條件不滿(mǎn)足時(shí)不會(huì )執行子程序中的指令,因此使用子程序可以減少掃描循環(huán)時(shí)間。
    5.停止調用子程序后,子程序中的線(xiàn)圈處于什么狀態(tài)?
    停止調用子程序后,不再執行子程序中的指令。子程序中線(xiàn)圈對應的編程元件如果沒(méi)有受到別的程序的控制,將保持子程序最后一次執行后的狀態(tài)不變。即使控制這些線(xiàn)圈的觸點(diǎn)的狀態(tài)變化,該線(xiàn)圈對應的元件的狀態(tài)也不會(huì )變化,因為這時(shí)根本就沒(méi)有執行子程序中的指令。
    6.怎樣實(shí)現子程序的無(wú)條件調用?
    有的PLC的子程序調用指令不能直接接到左側的垂直“電源”線(xiàn)上,需要通過(guò)觸點(diǎn)電路來(lái)控制是否調用子程序,即子程序的調用是有條件的?梢杂靡恢睘镺N的特殊位元件(例如S7-200的SM0.0或FX系列的M8000)的常開(kāi)觸點(diǎn)來(lái)實(shí)現子程序的無(wú)條件調用。
      不同品牌的PLC的子程序大致可以分為兩種,一種子程序沒(méi)有輸入、輸出參數和局部變量,另一種則有。
       1.什么是全局變量和局部變量?
        以西門(mén)子的S7-200為例,輸入I、輸出Q、變量存儲器V、內部存儲器位M、定時(shí)器T、計數器C等屬于全局變量,可以在符號表中為全局變量定義符號名。
       程序組織單元(Program Organizational Unit)簡(jiǎn)稱(chēng)為POU,包括主程序、子程序和中斷程序。每個(gè)POU均有自己的64字節局部變量,局部變量用L(Local)來(lái)表示,局部變量只能在它所在的POU中使用。與此相反,全局變量可以在各POU中使用。
       2.局部變量有哪些類(lèi)型?
       子程序可以使用下列局部變量:
       1) TEMP (臨時(shí)變量)是暫時(shí)保存在局部數據區中的變量。只有在執行該POU時(shí),定義的臨時(shí)變量才被使用,POU執行完后,不再保存臨時(shí)變量的數值。主程序和中斷程序的局部變量表中只有TEMP變量。
       2) IN(輸入參數)由調用它的POU提供的傳入子程序的輸入參數。
       3) OUT(輸出參數)是子程序的執行結果,它被返回給調用它的POU。
       4) IN_OUT(輸入_輸出參數)的初始值由調用它的POU傳送給子程序,并用同一變量將子程序的執行結果返回給調用它的POU。
       主程序和中斷程序的局部變量表中只有臨時(shí)變量TEMP。
       3.子程序的輸入、輸出參數有什么作用?
       具有輸入、輸出參數和局部變量的子程序易于實(shí)現結構化編程,對于長(cháng)期生產(chǎn)同類(lèi)設備或生產(chǎn)線(xiàn)的廠(chǎng)家尤為有用。編程人員為設備的各部件或工藝功能編寫(xiě)了大量的通用的子程序。即使不知道子程序的內部代碼,只要知道子程序的功能和輸入、輸出參數的意義,就可以用它們快速“組裝”出滿(mǎn)足不同的用戶(hù)要求的控制程序。就好像可以用數字集成電路芯片組成復雜的數字電路一樣。
       如果子程序沒(méi)有輸入、輸出參數,這種子程序沒(méi)有明確的軟件接口,使用起來(lái)很不方便。
       4.局部變量有什么優(yōu)點(diǎn)?
       1) 子程序如果沒(méi)有局部變量,它和調用它的程序之間只能通過(guò)全局變量來(lái)交換數據,子程序內部也只能使用全局變量。將它移植到別的項目時(shí),需要對各POU使用的全局變量作統一安排,以保證不會(huì )出現地址沖突。當程序很復雜,子程序很多時(shí),這種地址分配是很花時(shí)間的。
       如果子程序有局部變量,并且在子程序中只使用局部變量,不使用全局變量,因為與其他POU沒(méi)有地址沖突,不作任何改動(dòng),就可以將子程序移植到別的項目中去。
       為了減少移植子程序的工作量,在子程序中應盡量避免使用全局變量和全局符號。
       2) 如果使用局部變量表中的臨時(shí)變量(TEMP),同一片物理存儲器可以在不同的程序中重復使用。
    下面以S7-200為例,介紹子程序的編程和調用的過(guò)程。
    1.創(chuàng )建子程序
    生成項目時(shí),自動(dòng)生成一個(gè)子程序。打開(kāi)程序編輯器,執行“編輯”菜單中的命令“插入”→“子程序”,將自動(dòng)生成和打開(kāi)新的子程序。
    2.生成局部變量
    名為“模擬量計算”的子程序如下圖所示,在該子程序的局部變量表中,定義了3個(gè)輸入(IN)參數,一個(gè)輸出(OUT)參數,和名為“暫存1”的臨時(shí)(TEMP)變量。局部變量表最左邊的一列是自動(dòng)分配的每個(gè)變量在局部存儲器(L)中的地址。

 
    3.編寫(xiě)子程序的梯形圖
    局部變量表的下面是程序區(見(jiàn)上圖),輸入參數“轉換值”是來(lái)自模擬量輸入模塊的與模擬量成正比的轉換值,輸出參數“模擬值”是計算出的對應的模擬量(例如壓力、溫度等)的工程值。子程序中變量名稱(chēng)前的“#”表示該變量是局部變量,它是編程軟件自動(dòng)添加的,輸入局部變量時(shí)不用輸入“#”號。特殊存儲器位SM0.0的常開(kāi)觸點(diǎn)總是閉合。
    4.子程序的調用
    可以在主程序、其他子程序或中斷程序中調用子程序,調用子程序時(shí)將執行子程序中的指令,直至子程序結束,然后返回調用它的程序中該子程序調用指令的下一條指令之處。
    創(chuàng )建子程序后,在上圖左邊指令樹(shù)最下面的“調用子程序”文件夾中自動(dòng)生成剛創(chuàng )建的子程序“模擬量計算”對應的圖標。
    在梯形圖程序中插入子程序調用指令時(shí),首先打開(kāi)主程序,顯示出需要調用子程序的網(wǎng)絡(luò )。打開(kāi)指令樹(shù)最下面的“調用子程序”文件夾,用鼠標左鍵按住需要調用的子程序圖標,將它“拖”到程序編輯器中需要的位置。放開(kāi)左鍵,子程序塊便被放置在該位置。
 
    子程序方框中左邊的“轉換值”等是在子程序“模擬量計算”的變量聲明表中定義的輸入參數,右邊的“模擬值”是輸出參數。它們被稱(chēng)為子程序的形式參數,簡(jiǎn)稱(chēng)為形參,形參在子程序內部的程序中使用。調用子程序時(shí),需要為每個(gè)形參指定實(shí)際的參數(簡(jiǎn)稱(chēng)為實(shí)參),例如為形參“轉換值”指定的實(shí)參為模擬量輸入字AIW2(見(jiàn)上圖)。
    子程序調用指令中的實(shí)參的有效操作數為存儲器地址、常量、全局符號和調用指令所在的POU中的局部變量,不能指定被調用子程序中的局部變量。
    CPU調用子程序時(shí),輸入參數被復制到子程序的局部存儲器,子程序執行完后,從局部存儲器復制輸出參數到指定的輸出參數地址。
天行健
ffd001
級別: 家園?
精華主題: 0
發(fā)帖數量: 136 個(gè)
工控威望: 700 點(diǎn)
下載積分: 584 分
在線(xiàn)時(shí)間: 162(小時(shí))
注冊時(shí)間: 2013-10-17
最后登錄: 2023-06-02
查看ffd001的 主題 / 回貼
1樓  發(fā)表于: 2013-11-29 20:46
  西門(mén)子S7-300/400的子程序分為功能(Function)和功能塊(Function Block)。
    1.功能(FC)
    功能是用戶(hù)編寫(xiě)的沒(méi)有固定的存儲區的程序塊,其臨時(shí)變量存儲在局部數據堆棧中,功能執行結束后,不再保存這些數據?梢杂霉蚕頂祿䥇^來(lái)存儲那些在功能執行結束后需要保存的數據。
    功能與S7-200的子程序的局部變量基本上相同(見(jiàn)下圖)。與S7-200的子程序相比,其局部變量多了個(gè)返回值(RET_VAL)。返回值實(shí)際上屬于輸出參數。

    2.參數類(lèi)型
    用于塊之間傳送數據的形式參數可以定義為12種基本數據類(lèi)型、5種復雜數據類(lèi)型(見(jiàn)上圖),也可以為塊之間傳送數據的形式參數定義下列的參數類(lèi)型:
    1)Timer或Counter:指定執行塊時(shí)要使用的定時(shí)器或計數器。例如定義功能中的輸入變量TON1的數據類(lèi)型為T(mén)imer,兩次調用功能時(shí)分別設置TON1的實(shí)參為T(mén)5和T6。
    2)塊:指定用作輸入或輸出的特定塊。例如定義某個(gè)輸入變量的數據類(lèi)型為Block_FB,在調用塊時(shí)指定塊地址(例如FB 3)作為實(shí)參。
    3)POINTER:指針是變量的地址而不是變量的值。POINTER參數類(lèi)型的形參應為地址,例如P#M50.0。在STEP 7中,指針也可以用地址作實(shí)參 (例如M 50.0)。
    4)ANY:用于將任意的數據類(lèi)型傳遞給聲明的形參。ANY可用于實(shí)參的數據類(lèi)型未知,或實(shí)參可以使用任意數據類(lèi)型的情況。例如P#DB2.DBX50.0 BYTE 10表示DB 2中的DBB50~DBB59。ANY也可以用地址作實(shí)參,例如DB2.DBW30和Q12.5,但是只能指向一個(gè)變量。
    5)UDT:用戶(hù)自定義的數據類(lèi)型。
    3.功能塊(FB)
    功能塊是用戶(hù)編寫(xiě)的有自己的存儲區(背景數據塊)的程序塊,功能塊的輸入、輸出變量和靜態(tài)變量(STAT)存放在指定的背景數據塊 (DI) 中,臨時(shí)變量存儲在局部數據堆棧中。功能塊執行完后,背景數據塊中的數據不會(huì )丟失,但是不會(huì )保存局部數據堆棧中的數據。
    4.背景數據塊
背景數據塊是專(zhuān)門(mén)指定給某個(gè)功能塊(FB)使用的數據塊,它是FB專(zhuān)用的工作存儲區。
    背景數據塊用來(lái)保存FB的實(shí)參和靜態(tài)數據,背景數據塊中的數據是自動(dòng)生成的。它們是功能塊的變量聲明表中的數據(不包括臨時(shí)變量)。調用功能塊時(shí)應指定對應的背景數據塊。
    5.功能與功能塊的區別
    FB和FC均為用戶(hù)編寫(xiě)的子程序,局部變量表中均有IN、OUT、IN_OUT和TEMP變量。FC的返回值Ret_Val實(shí)際上屬于輸出參數。下面是FC和FB的區別:
    1) 功能塊有背景數據塊,功能沒(méi)有背景數據塊。
    2)只能在功能內部訪(fǎng)問(wèn)它的局部變量。其他邏輯塊可以訪(fǎng)問(wèn)功能塊的背景數據塊中的變量。
    3)功能沒(méi)有靜態(tài)變量(STAT),功能塊有保存在背景數據塊中的靜態(tài)變量。
    功能如果有執行完后需要保存的數據,只能存放在全局變量(例如共享數據塊和M區)中,但是這樣會(huì )影響功能的可移植性。如果功能或功能塊的內部不使用全局變量,只使用局部變量,不需要作任何修改,就可以將它們移植到其他項目。如果塊的內部使用了全局變量,在移植時(shí)需要考慮每個(gè)塊使用的全局變量是否會(huì )與別的塊產(chǎn)生地址沖突。
    4)功能塊的局部變量(不包括TEMP)有初始值,功能的局部變量沒(méi)有初始值。調用功能時(shí)應給所有的形參指定實(shí)參。
    調用功能塊時(shí)可以不設置某些輸入、輸出參數的實(shí)參,此時(shí)這些參數將使用背景數據塊中的初始值。
    1.中斷與中斷程序
    有很多PLC內部或外部的事件是隨機發(fā)生的,例如外部開(kāi)關(guān)量輸入信號的上升沿或下降沿、通信事件、高速計數器的當前值等于設定值和定時(shí)中斷等,事先并不知道這些事件何時(shí)發(fā)生,但是它們出現時(shí)需要盡快地處理它們,PLC用中斷來(lái)快速處理上述事件。
    例如電力系統出現故障時(shí),可能引發(fā)多個(gè)斷路器相繼跳閘。為了分析故障的起因,需要及時(shí)準確記錄事故發(fā)生的時(shí)間?梢杂糜布袛鄟(lái)完成這一任務(wù)。
    由于PLC的掃描工作方式,普通定時(shí)器的定時(shí)誤差很大,定時(shí)時(shí)間到了也不能馬上去處理要作的事情?梢杂枚〞r(shí)中斷來(lái)實(shí)現高精度定時(shí),在定時(shí)時(shí)間到時(shí)CPU自動(dòng)調用定時(shí)中斷程序。
    在出現一個(gè)中斷事件時(shí),當前正在執行的程序在當前指令執行完后被停止執行(被中斷),操作系統將會(huì )調用一個(gè)用戶(hù)編寫(xiě)的分配給該事件的中斷程序(S7-300/400稱(chēng)為組織塊)。中斷程序被執行完后,被暫停執行的程序將從被中斷的地方開(kāi)始繼續執行。這一過(guò)程不受PLC掃描工作方式的影響,因此使PLC能迅速響應中斷事件。換句話(huà)說(shuō),中斷程序不是在每次掃描循環(huán)中處理,而是在需要時(shí)才被及時(shí)地處理。
    2.中斷的優(yōu)先級
    中斷事件有不同的優(yōu)先級,高優(yōu)先級的中斷程序可以中斷低優(yōu)先級的中斷程序。
    如果在執行中斷程序時(shí),又檢測到一個(gè)中斷請求,CPU將比較兩個(gè)中斷源的中斷優(yōu)先級。如果優(yōu)先級相同,按照產(chǎn)生中斷請求的先后次序進(jìn)行處理。如果后者的優(yōu)先級比正在執行的中斷源的優(yōu)先級高,將中止當前正在處理的中斷程序,改為調用較高優(yōu)先級的中斷源的中斷程序,這種處理方式稱(chēng)為中斷程序的嵌套調用。
    3.中斷的控制
    不是所有的用戶(hù)都需要PLC的中斷功能,用戶(hù)一般也不需要處理所有的中斷事件,因此允許用戶(hù)用指令來(lái)控制是否需要中斷和需要哪些中斷。
    S7-200的中斷允許指令EI允許處理中斷事件。至于需要處理哪些中斷事件,需要單獨設置。禁止中斷指令DI禁止處理所有的中斷事件。
    S7-200進(jìn)入RUN模式時(shí)自動(dòng)禁止中斷,在RUN模式執行中斷允許指令后,各中斷事件發(fā)生時(shí)是否會(huì )執行中斷程序,取決于是否執行了該中斷事件的中斷連接指令ATCH。
    中斷分離指令DTCH用來(lái)斷開(kāi)某個(gè)中斷事件與中斷程序之間的聯(lián)系,從而禁止單個(gè)中斷事件。
    4.編寫(xiě)中斷程序應注意的問(wèn)題
    因為不能預知系統何時(shí)調用中斷程序,為了避免在中斷程序中改寫(xiě)其他程序使用的存儲器,在中斷程序中應盡量使用局部變量。
    應優(yōu)化中斷程序,使中斷程序盡量短小,以減少中斷程序的執行時(shí)間,減少對其他處理的延遲,否則可能引起主程序控制的設備操作異常。設計中斷程序時(shí)應遵循“越短越好”的格言。為了減少中斷程序的執行時(shí)間,可以在中斷程序設置一個(gè)軟件標志,在主程序中根據標志處理對于快速性要求不是很高、執行時(shí)間很長(cháng)的任務(wù)。
    5.中斷程序為什么沒(méi)有輸入、輸出變量?
    中斷程序不像子程序那樣,被用戶(hù)程序調用,而是在中斷事件發(fā)生時(shí),由操作系統調用,因此S7系列PLC的中斷程序不需要輸入參數和輸出參數,它的局部變量表中只有臨時(shí)變量。S7-300/400的中斷程序稱(chēng)為組織塊,它有自動(dòng)生成的20字節的臨時(shí)局部變量,包含了與觸發(fā)組織塊的事件有關(guān)的信息,它們由操作系統提供。
天行健
ffd001
級別: 家園?
精華主題: 0
發(fā)帖數量: 136 個(gè)
工控威望: 700 點(diǎn)
下載積分: 584 分
在線(xiàn)時(shí)間: 162(小時(shí))
注冊時(shí)間: 2013-10-17
最后登錄: 2023-06-02
查看ffd001的 主題 / 回貼
2樓  發(fā)表于: 2013-11-29 20:51
圖片:
???????
天行健
曾文慶3
級別: 略有小成
精華主題: 0
發(fā)帖數量: 127 個(gè)
工控威望: 279 點(diǎn)
下載積分: 4203 分
在線(xiàn)時(shí)間: 165(小時(shí))
注冊時(shí)間: 2013-07-17
最后登錄: 2015-09-15
查看曾文慶3的 主題 / 回貼
3樓  發(fā)表于: 2013-11-29 21:48
你的故事不好聽(tīng)!手冊上都有 但我還是要說(shuō)一句謝了!
ffd001
級別: 家園?
精華主題: 0
發(fā)帖數量: 136 個(gè)
工控威望: 700 點(diǎn)
下載積分: 584 分
在線(xiàn)時(shí)間: 162(小時(shí))
注冊時(shí)間: 2013-10-17
最后登錄: 2023-06-02
查看ffd001的 主題 / 回貼
4樓  發(fā)表于: 2013-11-29 23:05
引用
引用第3樓曾文慶3于2013-11-29 21:48發(fā)表的  :
你的故事不好聽(tīng)!手冊上都有 但我還是要說(shuō)一句謝了!

賺點(diǎn)分
天行健
和諧共贏(yíng)
努力學(xué)習,做好工控
級別: 網(wǎng)絡(luò )英雄

精華主題: 0
發(fā)帖數量: 1996 個(gè)
工控威望: 7821 點(diǎn)
下載積分: 69492 分
在線(xiàn)時(shí)間: 756(小時(shí))
注冊時(shí)間: 2008-01-07
最后登錄: 2025-06-06
查看和諧共贏(yíng)的 主題 / 回貼
5樓  發(fā)表于: 2013-11-30 08:03
抄的好
huoshi
為所當為
級別: 網(wǎng)絡(luò )英雄

精華主題: 0
發(fā)帖數量: 2600 個(gè)
工控威望: 21442 點(diǎn)
下載積分: 17019 分
在線(xiàn)時(shí)間: 2776(小時(shí))
注冊時(shí)間: 2010-12-27
最后登錄: 2025-06-06
查看huoshi的 主題 / 回貼
6樓  發(fā)表于: 2013-11-30 09:37
謝謝老師分享講的非常好
最近一天希望
書(shū)山有路勤為徑,學(xué)海無(wú)涯苦作舟!
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 201 個(gè)
工控威望: 1237 點(diǎn)
下載積分: 7913 分
在線(xiàn)時(shí)間: 405(小時(shí))
注冊時(shí)間: 2013-05-17
最后登錄: 2024-12-04
查看最近一天希望的 主題 / 回貼
7樓  發(fā)表于: 2013-11-30 10:06
   好。
楊時(shí)豐
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 90 個(gè)
工控威望: 2332 點(diǎn)
下載積分: 12439 分
在線(xiàn)時(shí)間: 244(小時(shí))
注冊時(shí)間: 2012-07-12
最后登錄: 2025-05-31
查看楊時(shí)豐的 主題 / 回貼
8樓  發(fā)表于: 2013-11-30 19:17
好習了
doc
踏實(shí)是幸福的基礎
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 70 個(gè)
工控威望: 1701 點(diǎn)
下載積分: 7079 分
在線(xiàn)時(shí)間: 62(小時(shí))
注冊時(shí)間: 2012-03-01
最后登錄: 2025-04-15
查看doc的 主題 / 回貼
9樓  發(fā)表于: 2013-11-30 21:09
本著(zhù),無(wú)私奉獻,共同進(jìn)步的原則,論壇需要樓主這樣好態(tài)度的人一切貴在堅持學(xué)習。樓主辛苦了
550374389
。!
級別: 論壇先鋒

精華主題: 0
發(fā)帖數量: 696 個(gè)
工控威望: 1161 點(diǎn)
下載積分: 5237 分
在線(xiàn)時(shí)間: 2360(小時(shí))
注冊時(shí)間: 2010-11-28
最后登錄: 2025-05-26
查看550374389的 主題 / 回貼
10樓  發(fā)表于: 2013-11-30 21:18
不錯
song2013007
級別: 探索解密
精華主題: 0
發(fā)帖數量: 7 個(gè)
工控威望: 123 點(diǎn)
下載積分: 649 分
在線(xiàn)時(shí)間: 3(小時(shí))
注冊時(shí)間: 2013-11-05
最后登錄: 2013-12-07
查看song2013007的 主題 / 回貼
11樓  發(fā)表于: 2013-11-30 21:22
謝謝堅持學(xué)習
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go

夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交