色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

西門子S7-1200 PLC的基本指令和應用實例

vveeverything ? 來源:機工電氣 ? 2024-01-03 11:13 ? 次閱讀

PLC(即Programmable Logic Controller的簡稱),又稱可編程邏輯控制器,是以微處理器嵌入式芯片為基礎,綜合了計算機技術、自動控制技術和通信技術發展而來的一種新型工業控制裝置,是工業控制的主要手段和重要的基礎設備之一。

西門子工廠自動化系統中,最核心的就是PLC,它通過在現場層、控制層和管理層分別部署PLC的硬件產品和對應軟件,實現了管理控制一體化。西門子目前主流的PLC產品為S7系列PLC,包括S7-200SMART、S7-1200、S7-300、S7-400、S7-1500等,具有外觀輕巧、速度敏捷、標準化程度高等特點,同時借助優秀的網絡通信能力和標準,可以構成復雜多變的控制系統

本文主要介紹的就是S7-1200的一些基本指令應用。

1.西門子S7-1200 PLC

如圖1-1所示,西門子S7-1200 PLC模塊包括CPU電源、輸入信號處理回路、輸出信號處理回路、存儲區、RJ45端口和擴展模塊接口

0a92e2d0-a95c-11ee-8b88-92fbcf53809c.png

圖1-1 S7-1200 PLC模塊

根據PLC的定義,S7-1200 PLC的本質為一臺計算機,負責系統程序的調度、管理、運行和PLC的自診斷,負擔將用戶程序作出編譯解釋處理以及調度用戶目標程序運行的任務。

與之前西門子S7-200系列PLC模塊最大的區別在于它標準配置了以太網接口RJ45,并可以采用一根標準網線與安裝有博途軟件的PC進行編程組態和工程應用。

S7-1200 PLC系統的基本構成

圖1-2所示為S7-1200 PLC系統,它包括CPU模塊、SM信號模塊、CM通信模塊、電源模塊和其他附件。

0aa26d9a-a95c-11ee-8b88-92fbcf53809c.png

圖1-2 S7-1200 PLC系統

2. S7-1200基本指令應用

2.1邏輯指令

位邏輯指令是實現PLC控制的基本指令,即按照一定的控制要求對“0”、“1” 兩個布爾操作數(BOOL)進行邏輯組合,可以構成“與”、“或”、“異或”等基本邏輯操作,也可以構成“置位”、“復位”、“上升沿檢測”、“下降沿檢測”等復雜邏輯操作,并將其結果送入存儲器狀態字的邏輯操作結果(RLO)。

表2-1所示為常見的位邏輯指令匯總,主要包括觸點和線圈指令,具體說明如下:

(1)取反指令

取反指令(-| NOT|-、-( / )-)改變能流輸入的狀態,將RLO的當前值由0變1,或由1變0。如圖2-1中,左右母線是一個直流電源的正負極,左母線是接正極,右母線接負極,能流(電流)沿著梯形圖,從左母線流到右母線,形成一條回路。如果采用-( / )-線圈取反指令,如圖2-2所示,則輸出結果與圖2-1剛好相反。

0aa6a5f4-a95c-11ee-8b88-92fbcf53809c.png

圖2-1能流的概念

0ab209f8-a95c-11ee-8b88-92fbcf53809c.png

圖2-2 線圈取反指令

(2)邊沿檢測指令

邊沿信號在PLC程序中比較常見,如電動機的起動、停止、故障等信號的捕捉都是通過邊沿信號實現的。如圖2-3所示,上升沿檢測指令檢測每一次0 到1的正跳變,讓能流接通一一個掃描周期;下降沿檢測指令檢測每一次1到0的負跳變,讓能流接通一一個掃描周期。

0ab6184a-a95c-11ee-8b88-92fbcf53809c.png

圖2-3邊沿檢測示意

(3)置位/復位指令

當觸發條件滿足(即RL0= 1)時,置位指令將一一個線圈置1;當觸發條件不再滿足(即RLO=0)時,線圈值保持不變,只有觸發復位指令時才能將線圈值復位為0。單獨的復位指令也可以對定時器、計數器的值進行清零。梯形圖編程指令中RS、SR觸發器帶有觸發優先級,當置位、復位信號同時為1時,將觸發優先級高的動作,如RS觸發器,S (置位在后)優先級高。

表2-1 位邏輯指令匯總

0abb8708-a95c-11ee-8b88-92fbcf53809c.png

【實例2-1】用自鎖實現輸送帶起停控制

采用S7-1200 CPU1215C DC/DC/DC來進行輸送帶啟停控制電路的設計,即用啟動按鈕SB1控制輸送帶電動機運行,帶動BOX物品從右向左運行,當達到到最右側的接近開關附近時,接近開關感應到物品,輸送帶電動機停止;急停按鈕可以隨時按下來停止輸送帶電動機;指示燈的運行和停止指示與電動機的動作一致。請用自鎖控制來進行梯形圖編程,并進行程序編輯與下載

0ac23ee0-a95c-11ee-8b88-92fbcf53809c.png

圖2-4 輸送帶起停控制示意

1.[STEP1] 定義輸入輸出元件

輸送帶啟停控制涉及按鈕、接近開關、電動機和指示燈等元件,表2-2所示為本實例的輸入輸出元件及控制功能。

表2-2 輸入輸出元件及控制功能

PLC軟元件 元件符號/名稱
輸入 I0.0 SB1/啟動按鈕
I0.1 SQ1/接近開關
I1.0 SB2/急停按鈕(緊急停止)
輸出 Q0.0 KM/接觸器
Q0.1 HL1/運行指示
Q0.2 HL2/停止指示

2.[STEP2] 電氣接線

本實例采用S7-1200 PLC中的CPU1215C DC/DC/DC,具體接線圖如圖2-5所示。為了更加直觀反映輸入輸出情況,將電源部分略作修改后的接線圖如圖2-6所示(本書后續實例主要采用這種畫法)。

0ac677d0-a95c-11ee-8b88-92fbcf53809c.png

圖2-5 【實例2-1】接線圖

0ad37ed0-a95c-11ee-8b88-92fbcf53809c.png

圖2-6 【實例2-1】接線簡化圖

3.[STEP3] PLC梯形圖編程

PLC的梯形圖編程方法可以采用傳統的“繼電器—接觸器”思路,如本實例中的“自鎖控制”方法,當按下按鈕I0.0后,Q0.0線圈閉合;此時Q0.0的觸點動作,持續接通Q0.0線圈,形成自鎖控制。當I1.0緊急停止動作或I0.1接近開關動作,Q0.0線圈斷開,自鎖失效。在編程中,還需要注意Q0.2輸出和Q0.1剛好相反,可以采用取反線圈實現。

0ae2a504-a95c-11ee-8b88-92fbcf53809c.png

圖2-7 輸送帶起停梯形圖

4.[STEP4] PLC調試

將圖2-7所示的梯形圖程序經編譯下載到PLC后,可以進行在線監控如圖2-8所示。需要注意的是SB2急停按鈕在接線上是常閉觸電,因此在梯形圖編程中畫的是常開,正常情況實際的在線監控也是接通的,只有當按下急停按鈕后,I1.0信號才斷開。

0ae68a16-a95c-11ee-8b88-92fbcf53809c.png

圖2-8 在線監控示意

2.2定時器與時鐘存儲器

2.2.1定時器種類

使用定時器指令用以創建可編程的延遲時間,表2-3所示為S7-1200的定時器指令,最常用的為如下4種定時器:

1)TP:脈沖定時器可生成具有預設寬度時間的脈沖。

2)TON:接通延遲定時器,輸出Q在預設的延時過后設置為ON。

3)TOF:關斷延遲定時器,輸出 Q在預設的延時過后重置為OFF。

4)TONR:保持型接通延遲定時器,輸出在預設的延時過后設置為ON。在使用 R 輸入重置經過的時間之前,會跨越多個定時時段一直累加經過的時間。

表2-3 定時器指令

0aee54da-a95c-11ee-8b88-92fbcf53809c.png

2.2.2TON指令

TON指令就是接通延遲定時器輸出Q在預設的延時過后設置為ON,其指令形式如圖2-9所示,參數及其數據類型如表2-4所示。參數IN 從0 跳變為1 將啟動定時器TON。

0af2af4e-a95c-11ee-8b88-92fbcf53809c.png

圖2-9 TON指令

表2-4 TON參數及數據類型

0aff325a-a95c-11ee-8b88-92fbcf53809c.png

PT(預設時間)和ET(經過的時間)值以表示毫秒時間的有符號雙精度整數形式存儲在存儲器中(表2-5所示)。TIME 數據使用T# 標識符,可以簡單時間單元“T#200ms”或復合時間單元“T#2s_200ms(或T#2s200ms)”的形式輸入。

表2-5 TIME數據類型

0b039912-a95c-11ee-8b88-92fbcf53809c.png

如圖2-10所示,在指令窗口中選擇“定時器操作”中的TON指令,并將之拖入到程序段中(圖2-11),這時就會跳出一個“調用數據塊”窗口,選擇自動編號,則會直接生成DB1數據塊;也可以選擇手動編號,根據用戶需要生成DB數據塊。

0b0cd612-a95c-11ee-8b88-92fbcf53809c.png

圖2-10 選擇TON定時器操作

0b10d08c-a95c-11ee-8b88-92fbcf53809c.png

圖2-11 TON指令調用數據塊

在項目樹的“程序塊”中,可以看到自動生成的IEC_Timer_0_DB[DB1]數據塊,生成后的TON指令調用如圖2-12所示。

0b20ab9c-a95c-11ee-8b88-92fbcf53809c.png

圖2-12 TON指令調用示意

2.2.3TOF定時器

TOF關斷延時定時器指令的參數與TON相同,區別在于IN從1跳變為0將啟動定時器。

2.2.4TP脈沖定時器

TP脈沖定時器指令雖然參數格式與TON、TOF一致,但含義跟接通延時和斷電延時不同,它是在IN輸入從0跳變到1之后,立即輸出一個脈沖信號,其持續長度受PT值控制。

0b25663c-a95c-11ee-8b88-92fbcf53809c.png

圖2-13 TP指令應用

圖2-14所示為TP指令時序圖,從圖中可以看到:即使TON的IN信號還處于“1”狀態,TP指令輸出Q在完成PT時長后,就不再保持為“1”;即使TON的IN信號為多個“脈沖”信號,輸出Q也能完成PT時長的脈沖寬度。

0b2cdb7e-a95c-11ee-8b88-92fbcf53809c.png

圖2-14 TP指令時序圖

2.2.5TONR時間累加器

TONR指令如圖2-15所示,與TON、TOF、TP相比增加了參數R,相關的參數及數據類型見表2-7。

0b30e8b8-a95c-11ee-8b88-92fbcf53809c.png

圖2-15 TONR指令

表2-7 TONR參數及數據類型

0b37a3c4-a95c-11ee-8b88-92fbcf53809c.png

圖2-16所示為TONR的時序圖,當IN信號不連續輸入時,定時器ET的值一直在累計,直到定時時間PT到,ET的值保持為PT值;當R信號ON時,ET的值復位為零。

0b3b8cc8-a95c-11ee-8b88-92fbcf53809c.png

圖2-16 TONR時序圖

2.2.6系統和時鐘存儲器的選用

在報警指示中經常會碰到“閃爍”的頻率概念,用TON等定時器可以完成,但更便捷的方式就是采用博途軟件自帶的PLC“系統和時鐘存儲器”。

在圖2-17中,選中PLC屬性中所示的“系統和時鐘存儲器",點擊右邊窗口的復選框“啟用系統存儲器字節”和“啟用時鐘存儲器字節”,采用默認的MB1、MB0作為系統存儲器字節、時鐘存儲器字節,也可以修改該2字節的地址。

0b3fb492-a95c-11ee-8b88-92fbcf53809c.png

圖2-17系統和時鐘存儲器

將MB1設置為系統存儲器字節后,該字節的M1.0~M1.3的意義如下:

● M1.0(FirstScan): 僅在進入RUN模式的首次掃描時為1狀態,以后為0狀態。

● M1.1(DiagStatusUpdate): 診斷狀態已更改。

● M1.2(Always TRUE): 總是為1狀態,其常開觸點總是閉合或高電平。

● M1.3(Always FALSE); 總是為0狀態,其常閉觸點總是閉合或低電平。

時鐘脈沖是一個周期內0狀態和1狀態所占的時間各為50%的方波信號,以M0.5為例,其時鐘脈沖的周期為1s,如果用它的觸點來控制接在某輸出點的指示燈,指示燈將以1Hz的頻率閃動,亮0.5s、熄滅0.5s。

因為系統存儲器和時鐘存儲器不是保留的存儲器,用戶程序或通信可能改寫這些存儲單元,破壞其中的數據。應避免改寫這兩個M字節,保證它們的功能正常運行。指定了系統存儲器和時鐘存儲器字節后,這些字節不能再作它用,否則將會使用戶程序運行出錯,甚至造成設備損壞或人身傷害。

【實例2-2】用TON指令延時啟動電動機

某電動機在啟動按鈕SB1動作后10s之后才啟動,在停止按鈕SB2動作后立即停止,請用TON指令進行編程。

1.[STEP1] 定義輸入輸出元件和電氣接線

表2-6所示的輸入元件包括SB1啟動按鈕和SB2停止按鈕,均采取常開觸點接線;輸出元件包括接觸器KM1。具體電氣接線如圖2-18所示。

表2-6 輸入輸出元件及控制功能

PLC軟元件 元件符號/名稱
輸入 I0.0 SB1/啟動按鈕
I0.1 SB2/停止按鈕
輸出 Q0.0 KM/接觸器

0b51bf52-a95c-11ee-8b88-92fbcf53809c.png

圖2-18延時啟動電動機電氣接線

2.[STEP2] PLC梯形圖編程

圖2-19所示延時啟動電動機PLC梯形圖編程示意。

程序段1:對中間變量M10.1電動機起動信號定時10s,輸出為Q0.0。

程序段2:采用啟動按鈕和停止按鈕的SR觸發器,輸出為M10.1電動機起動信號,停止按鈕復位優先。

需要注意的是:程序段1和2的位置對于本實例來說其先后次序不影響程序的正確執行。

0b5b89c4-a95c-11ee-8b88-92fbcf53809c.png

圖2-19 延時起動電動機梯形圖

3.[STEP3]調試

為了更好地理解TON指令,圖2-20所示為程序下載后的實時監控,即在DB1中實時讀取當前的延時時間,如T#3S_110MS。

0b604a22-a95c-11ee-8b88-92fbcf53809c.png

圖2-20 TON指令實時監控

【實例2-3】用TONR指令統計設備運行時間

某設備所用的電動機在運行100分鐘后要進行計時到指示,以便于維護人員進行停機檢查。請用TONR指令進行編程。

1.[STEP1]定義輸入輸出元件和電氣接線

表2-8所示為統計設備運行時間的輸入輸出元件及控制功能,包括3個輸入信號的按鈕和輸出接觸器、指示燈。電氣接線如圖2-21所示。

表2-8 輸入輸出元件及控制功能

PLC軟元件 元件符號/名稱
輸入 I0.0 SB1/啟動按鈕
I0.1 SB2/停止按鈕
I0.2 SB3/計時復位按鈕
輸出 Q0.0 KM/接觸器
Q0.1 HL1/運行累計時間到指示

0b6a224a-a95c-11ee-8b88-92fbcf53809c.png

圖2-21 統計設備運行時間電氣接線

2.[STEP2]PLC梯形圖編程

如圖2-22所示為統計設備運行時間的梯形圖。

程序段1:調用TONR對輸入信號Q0.0(即接觸器KM1)進行累計定時,100分鐘時間一到即輸出HL1指示燈Q0.1,該定時器可以通過SB3進行復位。

程序段2:調用SR觸發器對輸入信號SB1進行Q0.0置位、對停止按鈕SB2和運行累計時間到信號HL1進行Q0.0復位,其中復位優先。

0b6e44f6-a95c-11ee-8b88-92fbcf53809c.png

圖2-22 統計設備運行時間梯形圖

【實例2-4】用時鐘存儲器來編程指示燈閃爍

如圖2-23所示的指示燈HL1有兩種閃爍方式,一種是當SB1按下時進行快閃,另外一種是當SB2按下時進行慢閃。當兩個按鈕同時按下時,指示燈HL1滅掉,然后進入待機狀態,即按下SB1或SB2繼續處于兩種閃爍狀態。請用時鐘存儲器來進行編程。

0b85feca-a95c-11ee-8b88-92fbcf53809c.png

圖2-23 指示燈閃爍示意

1.[STEP1]定義輸入輸出元件和電氣接線

指示燈閃爍實例包括2個按鈕輸入和1個指示燈輸入見表2-9。電氣接線如圖2-24所示。

表2-8 輸入輸出元件及控制功能

PLC軟元件 元件符號/名稱
輸入 I0.0 SB1/快閃按鈕
I0.1 SB2/慢閃按鈕
輸出 Q0.0 HL1/指示燈

0b89d374-a95c-11ee-8b88-92fbcf53809c.png

圖2-24 指示燈閃爍電氣接線

2.[STEP2]PLC梯形圖編程

圖2-25所示為指示燈閃爍梯形圖,采用M0.2來作為快閃的時鐘存儲器、M0.7來作為慢閃的時鐘存儲器。

程序段1:按下SB1快閃按鈕,則置位快閃中間變量M10.0,復位慢閃中間變量M10.1。

程序段2:按下SB2慢閃按鈕,則置位慢閃中間變量M10.1,復位快閃中間變量M10.0。

程序段3:同時按下2個按鈕時,則復位%M10.0和M10.1,同時置位M10.2(即復位中間變量)。

程序段4:用2.5Hz表示快閃,用0.5Hz表示慢閃,在兩種狀態下輸出指示燈。

程序段5:在同時按下2個按鈕情況下,過2s后自動激活,運行再次進行慢閃或快閃動作。

0b9cf58a-a95c-11ee-8b88-92fbcf53809c.png

圖2-25指示燈閃爍梯形圖

2.3 比較、運算和移動指令

2.3.1 比較指令

表2-14所示為S7-1200共有10個常見的比較操作,用來比較數據類型相同的兩個數IN1與IN2的大小,其操作數可以是I/Q/M/L/D等存儲區中的變量或常量。當滿足比較關系式給出的條件時,等效觸點接通。

表2-14比較指令

0bad6abe-a95c-11ee-8b88-92fbcf53809c.png

表2-15所示為等于、不等于、大于等于、小于等于、大于、小于等6種比較指令觸點的滿足條件,且要比較的兩個值必須為相同的數據類型。

表2-15比較指令觸點

0bc3df9c-a95c-11ee-8b88-92fbcf53809c.png

這里以“等于”比較指令為例進行說明:如圖2-26a所示可以使用“等于”指令確定第一個比較值(<操作數?1>)是否等于第二個比較值(<操作數2>)。比較器運算指令可以通過指令右上角黃色三角的第一個選項來選擇等于、大于等于等比較器類型(圖2-26b),也可以通過右下角黃色三角的第二個選項來選擇數據類型,如整數、實數等(圖2-26c)。

0bc89140-a95c-11ee-8b88-92fbcf53809c.png

圖2-26 比較器運算指令

(1)CMP==:等于比較器:

可以使用“等于”指令判斷第一個比較值(<操作數 1>)是否等于第二個比較值(<操作數 2>)。如果滿足比較條件,則該指令返回邏輯運算結果 (RLO)“1”。如果不滿足比較條件,則該指令返回 RLO“0”。

(2)CMP<>:不等于

使用“不等于”指令判斷第一個比較值(<操作數 1>)是否不等于第二個比較值(<操作數 2>)。如果滿足比較條件,則該指令返回邏輯運算結果 (RLO)“1”。如果不滿足比較條件,則該指令返回 RLO“0”。

(3)CMP>=:大于或等于

可以使用“大于或等于”指令判斷第一個比較值(<操作數 1>)是否大于或等于第二個比較值(<操作數 2>)。如果滿足比較條件,則該指令返回邏輯運算結果 (RLO)“1”。如果不滿足比較條件,則該指令返回 RLO“0”。

(4)CMP<=:小于或等于

可以使用“小于或等于”指令判斷第一個比較值(<操作數 1>)是否小于或等于第二個比較值(<操作數 2>)。如果滿足比較條件,則該指令返回邏輯運算結果 (RLO)“1”。如果不滿足比較條件,則該指令返回 RLO“0”。

(5)CMP>:大于

可以使用“大于”指令確定第一個比較值(<操作數 1>)是否大于第二個比較值(<操作數 2>)。如果滿足比較條件,則該指令返回邏輯運算結果 (RLO)“1”。如果不滿足比較條件,則該指令返回 RLO“0”。

(6)CMP<:小于

可以使用“小于”指令判斷第一個比較值(<操作數 1>)是否小于第二個比較值(<操作數 2>)。如果滿足比較條件,則該指令返回邏輯運算結果 (RLO)“1”。如果不滿足比較條件,則該指令返回 RLO為“0”。

除了上述的常見比較指令之外,還有其他變量比較指令,其類型與說明如表2-14所示。

表2-14 變量比較類型與說明

0bdaa6d2-a95c-11ee-8b88-92fbcf53809c.png

2.3.2 移動指令

移動指令是將數據元素復制到新的存儲器地址,并從一種數據類型轉換為另一種數據類型,移動過程中不更改源數據

1.MOVE移動值

如圖2-27可以使用“移動值”指令將 IN 輸入操作數中的內容傳送給 OUT1 輸出的操作數中。始終沿地址升序方向進行傳送。如果使能輸入 EN 的信號狀態為“0”或IN 參數的數據類型與 OUT1 參數的指定數據類型不對應時,則使能輸出 ENO 的信號狀態為“0”

0bdf0394-a95c-11ee-8b88-92fbcf53809c.png

圖2-27 MOVE指令

表2-15 MOVE指令可傳送的類型

0be6022a-a95c-11ee-8b88-92fbcf53809c.png

在MOVE指令中,若IN 輸入端數據類型的位長度超出了OUT1 輸出端數據類型的位長度,則傳送源值中多出來的有效位會丟失。若 IN 輸入端數據類型的位長度小于 OUT1 輸出端數據類型的位長度,則用零填充傳送目標值中多出來的有效位。

在初始狀態,指令框中包含 1 個輸出(OUT1),可以鼠標點擊圖符擴展輸出數目。在該指令框中,應按升序順序排列所添加的輸出端。執行該指令時,將 IN 輸入端操作數中的內容發送到所有可用的輸出端。如果傳送結構化數據類型(DTL, STRUCT, ARRAY) 或字符串(STRING)的字符,則無法擴展指令框。可以輸出多個地址OUT1、OUT2、OUT3等,如圖2-28所示。

0bf2571e-a95c-11ee-8b88-92fbcf53809c.png

圖2-28 MOVE指令的多個變量輸出

2.MOVE_BLK指令

如圖2-29所示,使用“MOVE_BLK塊移動”指令,可將存儲區(源區域)的內容移動到其他存儲區(目標區域)。使用參數 COUNT 可以指定待復制到目標區域中的元素個數。可通過 IN 輸入端的元素寬度來指定待復制元素的寬度。并按地址升序順序執行復制操作。

0bf9a8a2-a95c-11ee-8b88-92fbcf53809c.png

圖2-29 MOVE_BLK指令

3.UMOVE_BLK無中斷塊移動

使用圖2-30所示的“UMOVE_BLK無中斷塊移動”指令,可將存儲區(源區域)的內容連續復制到其他存儲區(目標區域)。使用參數 COUNT 可以指定待復制到目標區域中的元素個數。可通過 IN 輸入端的元素寬度來指定待復制元素的寬度。源區域內容沿地址升序方向復制到目標區域。

0c04b59e-a95c-11ee-8b88-92fbcf53809c.png

圖2-30 UMOVE_BLK指令

4.FILL_BLK填充塊

圖2-31所示的“FILL_BLK填充塊”指令,用IN 輸入的值填充一個存儲區域(目標區域)。將以 OUT 輸出指定的起始地址,填充目標區域。可以使用參數 COUNT 指定復制操作的重復次數。執行該指令時,將選擇 IN 輸入的值,并復制到目標區域 COUNT 參數中指定的次數。

0c180676-a95c-11ee-8b88-92fbcf53809c.png

圖2-31FILL_BLK填充塊

5.SWAP交換指令

“SWAP交換”指令可以更改輸入IN 中字節的順序,并在輸出OUT 中查詢結果。圖2-32說明了如何使用“交換”指令交換數據類型為DWORD 的操作數的字節。表2-15所示為SWAP指令的參數。

0c1bcbda-a95c-11ee-8b88-92fbcf53809c.png

圖2-32 SWAP交換數據類型為DWORD的示意

表2-15 SWAP指令的參數

0c306414-a95c-11ee-8b88-92fbcf53809c.png

2.3.3 數學運算指令

在數學運算指令中,ADD、SUB、MUL和DIV分別是加、減、乘、除指令,其操作數的數據類型可選SInt、Int、Dint、USInt、UInt、UDInt和Real。在運算過程中,操作數的數據類型應該相同。

1.加法ADD指令

加法ADD指令可以從TIA軟件右邊指令窗口的“基本指令”下的“數學函數”中直接添加(圖2-33a所示)。使用“ADD”指令,根據圖2-33b選選擇的數據類型,將輸入 IN1 的值與輸入 IN2 的值相加,并在輸出 OUT (OUT = IN1+IN2)處查詢總和。

0c3536b0-a95c-11ee-8b88-92fbcf53809c.png

圖2-33 ADD指令

在初始狀態下,指令框中至少包含兩個輸入(IN1 和IN2),可以鼠標點擊圖符擴展輸入數目(圖2-33c),在功能框中按升序對插入的輸入進行編號,執行該指令時,將所有可用輸入參數的值相加,并將求得的和存儲在輸出OUT 中。

表2-16列出了“ADD”指令的參數。根據參數說明,只有使能輸入EN 的信號狀態為“1”時,才執行該指令。如果成功執行該指令,使能輸出ENO 的信號狀態也為“1”。如果滿足下列條件之一,則使能輸出 ENO 的信號狀態為“0”:

●使能輸入EN的信號狀態為“0”。

●指令結果超出輸出 OUT 指定的數據類型的允許范圍。

●浮點數具有無效值。

表2-16 ADD指令的參數

0c520df8-a95c-11ee-8b88-92fbcf53809c.png

圖2-34中舉例說明了ADD指令的工作原理:如果操作數I0.0的信號狀態為“1”,則將執行“加”指令,將操作數IW64的值與IW66的值相加,并將相加的結果存儲在操作數MW0中。如果該指令執行成功,則使能輸出 ENO 的信號狀態為“1”,同時置位輸出Q0.0。

0c568b30-a95c-11ee-8b88-92fbcf53809c.png

圖2-34ADD指令應用

2.減法SUB指令

如圖2-35所示,可以使用減法SUB指令從輸入IN1 的值中減去輸入IN2 的值并在輸出OUT (OUT = IN1-IN2)處查詢差值。SUB指令的參數與ADD指令相同。

0c621b12-a95c-11ee-8b88-92fbcf53809c.png

圖2-35 SUB指令

圖2-36中舉例說明了SUB指令的工作原理:如果操作數I0.0的信號狀態為“1”,則將執行“減”指令,將操作數IW64的值減去IW66的值,并將結果存儲在操作數MW0中。如果該指令執行成功,則使能輸出 ENO 的信號狀態為“1”,同時置位輸出Q0.0。

0c6d9d84-a95c-11ee-8b88-92fbcf53809c.png

圖2-36 SUB指令應用

3.乘法MUL指令

如圖2-37所示,可以使用乘法MUL指令將輸入IN1 的值乘以輸入IN2 的值,并在輸出OUT (OUT = IN1*IN2)處查詢乘積。同ADD指令一樣,可以在指令功能框中展開輸入的數字,并在功能框中以升序對相加的輸入進行編號。表2-27為MUL指令的參數。

0c825c9c-a95c-11ee-8b88-92fbcf53809c.png

圖2-37MUL指令

表2-17 MUL指令的參數

0c87900e-a95c-11ee-8b88-92fbcf53809c.png

圖2-38舉例說明了MUL指令的工作原理:如果操作數I0.0的信號狀態為“1”,則將執行“乘”指令。將操作數IW64的值中乘以操作數IN2常數值“4”,相乘的結果存儲在操作數MW20中。如果成功執行該指令,則輸出 ENO 的信號狀態為“1”,并將置位輸出Q0.0。

0c9c3d10-a95c-11ee-8b88-92fbcf53809c.png

圖2-38MUL指令應用

4.除法DIV和返回除法余數MOD指令

除法DIV和返回除法余數MOD指令如圖2-39所示,前者是返回除法的商,后者是余數。需要注意的是,MOD指令只有在整數相除時才能應用。

0ca044be-a95c-11ee-8b88-92fbcf53809c.png

圖2-39 DIV和MOD指令

圖2-40舉例說明了DIV和MOD指令的工作原理:如果操作數I0.0的信號狀態為“1”,則將執行DIV指令。將操作數IW64的值中除以操作數IN2常數值“4”,商存儲在操作數MW20中,余數則存儲在操作數MW30中。

0cb2cb16-a95c-11ee-8b88-92fbcf53809c.png

圖2-40 DIV和MOD指令的應用

除了上述運算指令之外,還有MOD、NEG、INC、DEC和ABS等數學運算指令,具體說明如下:

1)MOD指令:除法指令只能得到商,余數被丟掉,MOD指令可以用來求除法的余數。

2)NEG指令:將輸入IN的值取反,保存在OUT中。

3)INC和DEC指令:參數IN/OUT的值分別加1和減1。

4)絕對值指令ABS:求輸入IN中有符號整數或實數的絕對值。

對于浮點數函數運算,其梯形圖和對應的描述如表2-18中所示,需要注意的是,三角函數和反三角函數指令中的角度均為以弧度為單位的浮點數。

表2-18 浮點數函數運算

0cb6e2b4-a95c-11ee-8b88-92fbcf53809c.png

2.3.4 其他數據指令

1.轉換操作指令

如果在一個指令中包含多個操作數,必須確保這些數據類型是兼容的。如果操作數不是同一數據類型,則必須進行轉換,轉換方式有兩種。

(1)隱式轉換

如果操作數的數據類型是兼容的,由系統按照統一的規則自動執行隱式轉換。可以根據設定的嚴格或較寬松的條件來進行兼容性檢測,例如塊屬性中缺省的設置為執行IEC檢測,這樣自動轉換的數據類型相對要少。編程語言LAD、FBD、SCL和GRAPH支持隱式轉換。STL 編程語言不支持隱式轉換。

(2)顯式轉換

如果操作數的數據類型不兼容或者由編程人員設定轉換規則時,則可以進行顯式轉換(不是所有的數據類型都支持顯式轉換),顯式轉換的指令參考表2-19。

表2-19 轉換操作指令與說明

0cc15834-a95c-11ee-8b88-92fbcf53809c.png

2.移位和循環指令

LAD移位指令可以將輸入參數IN中的內容向左或向右逐位移動;循環指令可以將輸入參數IN中的全部內容循環地逐位左移或右移,空出的位用輸入IN移出位的信號狀態填充。該指令可以對8、16、 32以及64位的字或整數進行操作,移位和循環指令參考表2-20。

表2-20 移位和循環指令與說明

0cd326e0-a95c-11ee-8b88-92fbcf53809c.png

字移位指令移位的范圍為0~15,雙字移位指令移位的范圍為0~31,長字移位指令移位的范圍為0~63。對于字、雙字和長字移位指令,移出的位信號丟失,移空的位使用0補足。例如將一個字左移6位,移位前后位排列次序如圖2-41所示。

0ce44bf0-a95c-11ee-8b88-92fbcf53809c.png

圖2-41 左移6位

帶有符號位的整數移位范圍為0~15;雙整數移位范圍為0~31;長整數移位指令移位的范圍為0~63。移位方向只能向右移,移出的位信號失,移空的位使用符號位補足。如整數為負值,符號位為1;整數為正值,符號位為0。例如將-個整數右移4位, 移位前后位排列次序如圖2-42所示。

0ce80d6c-a95c-11ee-8b88-92fbcf53809c.png

圖2-42 右移4位

3.字邏輯運算指令

LAD字邏輯指令可以對BYTE (字節)、WORD (字)、DWORD ( 雙字)或LWORD(長字)逐位進行“與”、“或”、“異或”邏輯運算操作。“與”操作可以判斷兩個變量在相同的位數上有多少位為1,通常用于變量的過濾,例如一個字變量與常數W#16#00FF相“與”,則可以將字變量中的高字節過濾為0;“或”操作可以判斷兩個變量中為1位的個數;“異或”操作可以判斷兩個變量有多少位不相同。字邏輯指令還包含編碼解碼等操作。字邏輯指令參考表2-31所示。

表2-21 字邏輯運算指令與說明

0d00abc4-a95c-11ee-8b88-92fbcf53809c.png

【實例2-5】用比較指令來實現交通燈控制

某紅綠燈控制時序圖如圖2-43所示,在按鈕SB1啟動之后,紅燈先亮6s,然后綠燈亮6s,最后黃燈閃爍4s;反復循環,直至按鈕SB2停止。請用PLC進行編程。

0d0472a4-a95c-11ee-8b88-92fbcf53809c.png

圖2-43交通燈控制時序圖

1.[STEP1]定義輸入輸出元件和電氣接線

表2-22所示是交通燈I/O表,其電氣接線如圖2-44所示。

表2-22 交通燈I/O表

輸入 說明 輸出 說明
I0.0 按鈕SB1 Q0.0 紅燈HL1
I0.1 按鈕SB2 Q0.1 綠燈HL2
Q0.2 黃燈HL3

0d1498f0-a95c-11ee-8b88-92fbcf53809c.png

圖2-44 交通燈控制電氣接線

2.[STEP2]程序編寫

圖2-45所示為交通燈控制MD20的時序圖,主要采用了定時器數值的區間數據比較指令,即0-6s之間為紅燈,6s-12s之間是綠燈,12s之后是4s閃爍黃燈;依次循環。選用TONR的原因,是因為有復位參數,而其他計數器均沒有。

0d1949ea-a95c-11ee-8b88-92fbcf53809c.png

圖2-45 MD20時序圖

本實例重要的進行時間TIME與DINT的轉換,這里采用CONV指令,在圖2-46所示的程序段3中將定時器的時間值轉為雙整數MD20。

0d2903a8-a95c-11ee-8b88-92fbcf53809c.png

圖2-46紅綠燈控制梯形圖

來源:機工電氣

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16433

    瀏覽量

    178962
  • plc
    plc
    +關注

    關注

    5016

    文章

    13374

    瀏覽量

    464677
  • 西門子
    +關注

    關注

    94

    文章

    3059

    瀏覽量

    116222
  • 指令
    +關注

    關注

    1

    文章

    611

    瀏覽量

    35791
  • S7-1200
    +關注

    關注

    11

    文章

    331

    瀏覽量

    18037

原文標題:西門子S7-1200 PLC的基本指令有哪些?五個應用實例輕松入門

文章出處:【微信號:跟我學PLC,微信公眾號:跟我學PLC吧】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    西門子S7-1200S7-1500 的編程指南pdf下載

    西門子S7-1200S7-1500 的編程指南
    發表于 03-27 15:15 ?299次下載

    西門子S7-1200 PLC的在線模擬方法免費下載

    本文檔的主要內容詳細介紹的是西門子S7-1200 PLC的在線模擬方法免費下載。
    發表于 12-17 08:00 ?14次下載

    西門子S7-1200-PLC-Modbus通訊實例

    西門子S7-1200-PLC-Modbus通訊實例免費下載。
    發表于 04-21 14:46 ?113次下載

    西門子S7-1200接入MQTT私有云平臺

    西門子S7-1200接入MQTT私有云平臺,PLC網關數據采集BL110
    發表于 11-11 16:21 ?4186次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>接入MQTT私有云平臺

    西門子S7-1200S7-1500編程風格指南

    西門子S7-1200S7-1500編程風格指南分享
    發表于 08-17 17:30 ?21次下載

    如何通過網關對西門子S7-1200 PLC遠程監控?

    如何通過網關對西門子S7-1200 PLC遠程監控?
    的頭像 發表于 11-01 09:02 ?5521次閱讀
    如何通過網關對<b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b> <b class='flag-5'>PLC</b>遠程監控?

    西門子S7-1200與組態軟件之間無線MODBUS通信實例

    本方案是組態軟件與西門子 S7-1200進行無線 MODBUS 通信的實現方法。此方案可以作為西門子 S7-1200與組態軟件的無線 MODBUS 通信
    的頭像 發表于 01-11 09:27 ?2867次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>與組態軟件之間無線MODBUS通信<b class='flag-5'>實例</b>

    西門子S7-1200系列PLC與上位機的配置

    此次主要將的是關于西門子S7-1200系列PLC與上位機通過哪些特定的條件,來實現通訊的配置分享。
    發表于 05-25 17:38 ?22次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>系列<b class='flag-5'>PLC</b>與上位機的配置

    西門子PLC S7-1200在線下載功能分享

    西門子PLC S7-200系列的升級版,西門子PLC S7-1200具有很多集成在CPU上的功能
    的頭像 發表于 06-25 16:25 ?2640次閱讀

    如何選擇合適的西門子S7-1200 PLC

    為您的項目選擇合適的西門子 S7-1200 PLC 可能具有挑戰性,但有了正確的指南,這一切就會變得很容易。
    發表于 07-26 09:50 ?1769次閱讀

    西門子1200PLC之間的ModbusTCP通訊如何實現?

    西門子1200PLC通過以太網通訊與其它設備進行數據交互,西門子1200PLC可以和西門子系列plc
    發表于 07-30 14:49 ?1w次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>1200PLC</b>之間的ModbusTCP通訊如何實現?

    PLC西門子S7-200smart和S7-1200的區別?

    PLC西門子S7-200smart和S7-1200的區別? 西門子S7-200 smart和
    的頭像 發表于 11-17 11:41 ?1.1w次閱讀

    西門子S7-1200 PLC的基本功能

    西門子S7-1200 PLC(Programmable Logic Controller)是一款緊湊型、模塊化的可編程邏輯控制器,專為滿足各種自動化應用需求而設計。其強大的功能、靈活的配置以及卓越
    的頭像 發表于 06-13 11:29 ?2419次閱讀

    西門子S7-1200 PLC的優缺點分析

    西門子S7-1200 PLC作為自動化控制系統中的核心組件,自推出以來就受到了廣泛關注。其緊湊的模塊化設計、強大的功能以及靈活的擴展性,使得它在工業自動化領域占據了重要的地位。然而,任何產品都不是
    的頭像 發表于 06-13 11:33 ?3635次閱讀

    西門子S7-1200 PLC指令介紹

    西門子S7-1200 PLC,作為西門子自動化控制產品中的一款緊湊型控制器,憑借其強大的功能和易用性,在工業控制領域得到了廣泛的應用。S7-1200
    的頭像 發表于 06-18 14:52 ?3057次閱讀
    主站蜘蛛池模板: chinese东北夫妻video| 挤奶门事件完整照片| 欧美亚洲日韩自拍高清中文| WWW国产亚洲精品久久| 色婷婷五月综合久久中文字幕| 国产高清亚洲| 一抽一出BGM免费3分钟| 尿了么app| 国产精品亚洲欧美一区麻豆| 伊人青青久久| 日本久久久免费高清| 国拍在线精品视频免费观看| 97久久国产露脸精品国产| 色多多污污版免费下载安装| 精精国产www视频在线观看免费| 91chinesevideo| 无修肉动漫在线观看影片| 看看妇女的B免费看| 国产产一区二区三区久久毛片国语 | 97国产在线观看| 婷婷四房播客五月天| 芒果视频看片在线观看| 国产成人精品精品欧美| 最近免费中文字幕MV免费高清| 乳巨揉みま痴汉电车中文字幕动漫| 精品国产高清自在线看| 疯狂小护士| 97久久精品人人槡人妻人| 亚洲AV成人无码网天堂| 色橹橹欧美在线观看视频高| 精品国产九九| 成人在线免费| 69ZXX少妇内射无码| 亚洲高清毛片一区二区| 日本乱子伦一区二区三区| 老子午夜伦不卡电影院| 国产亚洲精品久久精品69| 超碰97免费人妻| 91久久偷偷做嫩草影院免费看| 亚洲国产精品VA在线看黑人| 日本黄色官网|