六盤水S7-1200PLC西門子代理商原裝現貨
發布日期 :2023-03-27 13:35發布IP:113.247.101.239編號:11546386
詳細介紹 六盤水S7-1200PLC西門子代理商原裝現貨 六盤水西門子S7-1200PLC代理,六盤水西門子PLC代理,西門子S7-1200PLC代理,西門子PLC代理 PLC雙線圈輸出與雙線圈驅動的工作原理和區別是什么?1. 位元件輸出執行和雙線圈 ??位元件的驅動輸出在梯形圖中是由線圈輸出指令 OUT 和功能指令的操作來完成的,但兩種指令的執行有很大的區別, ??1)OUT指令執行 ??不管驅動條件是否成立,OUT 指令都要執行輸出。驅動條件成立,則輸出執行為 ON (下面用1表示),驅動條件不成立,則輸出執行為OFF(下面用0表示)。 西門子PLC延時中斷組織塊的應用 ??PLC的普通定時器的工作與掃描工作方式有關,其定時精度較差。在接通延時定時器的輸入信號的上升沿和定時器輸出位的上升沿,分別調用SFC1讀取CPU中的日期和時間,用IEC功能FC8從其中提取實時時間(TIME_OF_DAY)。設置時間預置值分別為5s和50,掃描循環時間為10ms。作者做了多次實驗,發現定時器的定時誤差為1~9ms。 ??如果需要高精度的延時,應使用延時中斷 OB。用 SFC 32“SRT_DINT”啟動延時中斷,延遲時間為1~60000ms,精度為1ms。延時時間到時觸發中斷,調用SFC32指定的OB。CPU316 及以下的 CPU 只能使用 OB20,暖啟動或冷啟動將清除延時中斷 OB的啟動事件。 ??1.硬件組態 ??用新建項目向導生成一個名為“OB20例程”的項目(見隨書光盤中的同名例程),CPU模塊的型號為CPU 315-2DP。打開硬件組態工具HW Config,將硬件目錄中名為“DI4xNAMUR,Ex”的4點DI模塊插入4號槽,自動分配的DI模塊的字節地址為0。雙擊該模塊,打開它的屬性對話框(見圖4-47)。用復選框啟用硬件中斷,設置I0.0產生上升沿中斷。在5號槽插入一塊16點DO模塊。 ??2.程序設計 ??在10.0的上升沿觸發硬件中斷,CPU調用OB40,在OB40中調用SFC32“SRT_DINT”啟動延時中斷(見圖4-51),延時時間為10s。從LD12開始的8B臨時局部變量是調用OB40的日期時間值,用MOVE指令將其中的后4個字節LD16保存到MD20。 ??2)功能指令執行 ??位元件也經常作為功能指令的操作數進行驅動,例如 SET Y0、RST Y0、MOV K10 K4Y0 等。同樣,這些功能指令均有驅動條件,功能指令僅當驅動條件成立時,才執行指令的操作功能。其執行結果會送到 I/O 映像區或 RAM 存儲區中去保存,而驅動條件不成立時,執行的結果仍然保持不變,直到通過執行新的指令操作得到新的執行結果為止。 ??什么叫雙線圈?在梯形圖程序中,如果一個位元件的線圈被驅動兩次或兩次以上,就叫雙線圈。根據驅動所用的指令不同,雙線圈在程序中又分為三種結構。 ??(1)用OUT指令驅動同一個位元件兩次或兩次以上。 ??(2)用OUT指令和功能指令驅動同一個位元件兩次或兩次以上。 ??(3)用兩個功能指令驅動同一個位元件兩次或兩次以上。 ??上面三種結構,第(1)種和第(2)種稱為雙線圈輸出,第(3)種稱為雙線圈驅動。在程序中這兩種情況執行的結果是不同的,下面分別給予討論。 ??2.雙線圈輸出六盤水S7-1200PLC西門子代理商原裝現貨 六盤水西門子S7-1200PLC代理,六盤水西門子PLC代理,西門子S7-1200PLC代理,西門子PLC代理 ??所謂雙線圈輸出是指位元件在編程中用OUT指令驅動了兩次或兩次以上,或者用OUT 指令和功能指令驅動了兩次或兩次以上,程序如圖5.1-8所示。 ??圖5.1-8 雙線圈輸出程序例1 ??圖5.1-8(a)為Y0用OUT指令驅動了兩次,是一種典型的雙線圈輸出。這種程序設計的本意是:如果輸入采樣為X0接通,X1斷開,則Y0,Y1,Y3均為1;如果輸入采樣為 X0 斷開,X1 接通,則 Y0,Y3 均為 1。那么程序運行結果是不是這樣呢實際上不是,圖5.1-8(b)是實際運行監控結果,當 X0 接通、X1 斷開時,Y0,Y3 均為0,僅Y1=1。而且發生了一個初學者感到奇怪的現象,X0接通,Y0沒有輸出;Y0常開觸點沒接通,YI卻有輸出,這種現象只能通過OUT指令的執行特性和程序的掃描執行過程來說明。 因此,對于圖3-77的程序,定義FMT為2,小數點后的數據為2位,小數點以“.”表示。因此,轉換后的數據應為12.34對應的ASCII碼“00 31 322E 333 34”(參見表3-5)。 ??S7200轉換指令中的ATH、HTA是十六進制數與ASCII碼間的轉換指令,梯形圖編程相似,ATH指令的程序格式如圖3-78所示。 ASCII指令的程序格式 ??梯形圖中的 ATH為 ASCII碼轉換成十六進制數的指令(HTA:十六進制數轉換成ASCII碼)。IN為需要轉換的數據;OUT為轉換結果存儲器起始地址;LEN為轉換數據的長度,單位為字節。 ??對于圖3-78中的程序,假設VB40以后的連續8個字節存放的分別是ASCII碼“32 35、41、43、36、38、46、32",轉換成十六制數后為"35AC68F2"(參見表3-5)。 ??ATH、HTA指令編程需要注意如下兩點。 ??a.每次可以轉換的ASCII代碼數量不可以超過255個; ??b. ASCIl碼必須為十六進制數可以對應的字符0~9、A~F(即表3-5中的代碼編號30~39、41~46,其余代碼為非法)。 ??當X0接通時,第0行,Y0=1,執行結果馬上影響第2行,Y0觸點動合,Y1=1。到第4行,由于X1斷開,但OUT指令仍然得到執行,使Y0=0,執行結果馬上影響第6行,Yo 觸點不動作,使 Y3=0。由掃描原理可知,輸出 Y 的狀態是以 I/O 映像區中*后的狀態在END 指令執行后統一刷新送到輸出鎖存存儲區中,然后傳送到各相應的輸出端子,所以,結果是Y1=1,Y0=Y3=0。正是OUT指令的這種執行特性和梯形圖的掃描,才產生了所謂的雙線圈問題。 ??再來看看圖5.1-9(a),圖中Y0用OUT指令和SET指令分別驅動了一次,這是另一種形式的雙線圈輸出。這種程序會不會同樣存在線圈驅動互有影響而得不到預想得結果呢假定X1接通,X0斷開,希望得到Y0=Y1=Y2=1的輸出結果,但實際上,X1接通后,SET Y0指令使Y0=1,到第6行,Y2=1,重新掃描原第0行,執行OUT指令,Y0=0,到第2行,Y1=0。這就是為什么實際運行結果卻是Y0=Y2=1,Y1=0。當X1斷開后,Y0應該保持置1 狀態,但實際監控結果卻是 Y0=Y1=Y2=0。為什么?因為,雖然 X1 斷開后,Y0 保持置1 狀態。但再次掃描到首行時,由于X0斷開,OUT指令執行使Y0的狀態由1變為0,相當于執行了一條RST Y0指令,Y0=0,使Y1=0,如果這時X1已斷開,則SETY0指令得不到執行,而又使Y2=0,程序執行的*后結果是Y0=Y1=Y2=0。在含有OUT指令輸出的雙線圈輸出中,由于 OUT 指令執行的特性會使輸出狀態互相影響而導致程序運行后得不到預期的輸出結果。 ??圖5.1-9 雙線圈輸出程序例2 ??對圖5.1-8和圖5.1-9的雙線圈程序分析可以得出這樣的結論:雙線圈輸出不存在編程語法錯誤。編程軟件可以接受雙線圈輸出,但由于兩個線圈的驅動互有影響,在程序結構復雜時,會得不到程序設計所預想的結果,導致控制失誤。因此,在梯形圖程序中,應避免出現雙線圈輸出設計,特別是輸出繼電器Y的雙線圈輸出設計。 PLC**地址的定時器與計數器 ??a.定時器T與計數器C。定時器T、計數器C的地址以十進制位的形式指定,格式相同,具體如下。 ??定時器:T***,可以使用的點數取決于PLC的型號,且可以使用T**8、T**9;計數器:C***,可以使用的點數取決于PLC的型號,且可以使用T**8、T**9;定時器、計數器可以以二進制位的形式使用,在這種情況下,相當于一個延時繼電器(或計數器)的常開觸點,在延時(或計數)到達設定值時,觸點接通。此外,它們還可以以字的形式使用,在這種情況下,相當于通過數據操作指令讀取16位的定時器、計數器的當前定時、計數值。 ??b.速計數器輸入HC(僅S7-200有)。高速計數器為32位信號,只能以"雙字"的形式進行讀入,其地址為HC0~HC5。 ??高速計數器用于記錄頻率高于PLC循環掃描速度的外部輸入脈沖信號,它能對PLC循環掃描不能檢測的外部信號進行計數。每個高速計數器有一個帶符號的32位當前值(HC),高速計數器的當前值通常只能讀取,且必須以雙字為單位進行;高速計數器的數量取決于CPU型號。 ??但也有例外,如果雙線圈輸出并不在同一掃描周期內,則不會產生雙線圈輸出問題,如利用條件轉移指令CJ設計的手動、自動程序。由于手動和自動程序不會在同一掃描周期被執行,因此,在這兩個程序段可以允許有相同的線圈輸出,并不構成雙線圈輸出。類似的還有STL指令步進程序SFC梯形圖。在步進程序中,由于一定時間僅在一個狀態被激活,因此,在一個狀態里不能出現雙線圈輸出,而在不同的狀態可以有相同的線圈輸出,這不叫作雙線圈輸出。但也要注意,兩個相鄰狀態也不能出現相同線圈的輸出。 六盤水S7-1200PLC西門子代理商原裝現貨 六盤水西門子S7-1200PLC代理,六盤水西門子PLC代理,西門子S7-1200PLC代理,西門子PLC代理 ??3. 雙線圈驅動 ??在梯形圖程序中,如果相同的位元件輸出僅出現在功能指令的操作數中,而且在一個掃描周期內出現在兩個或兩個以上的功能指令,則稱為雙線圈驅動,以示與雙線圈輸出的區別。 ??雙線圈驅動屬于指令的操作與驅動,關于功能指令的執行已在上面給予說明。由于功能指令僅在驅動條件成立時才執行,而當驅動條件斷開后,執行結果仍然被保存,直到下一條功能指令改變執行結果為止。因此,雙線圈驅動不存在雙線圈輸出那種輸出驅動互相影響的情況,雙線圈驅動是一種正常的編程。 ??在雙線圈驅動中,如果多個功能指令驅動一個線圈,線圈的狀態則以*后一個執行的功能指令的操作結果為準。圖5.1-10為一個多次用SET,RST指令對Y0進行操作的程序。Y0 的狀態決定于*后執行的SET、RST指令,而與指令在梯形圖中的位置無關。如果同時有幾個指令被執行,如先接通X0,又接通 X2,再接通 X1,則 Y0 的狀態由*接近 END 的功能指令執行結果決定,圖中,為X2所驅動的SET Y0指令*接近END指令,所以Y0=1。而不是*后執行的X1所驅動的RST Y0指令。 相關分類 |
推薦產品 信息搜索
上海卓曙自動化設備有限公司
|