在編寫程序的過程中,經常會碰到存儲區中的數值需要改變,或者數據在PLC中存儲位置需要改變,這就需要用到傳送指令。
首先我們介紹一下標準的一對一傳送指令:MOV指令:將IN端輸入數據復制一份移至OUT輸出端,數據類型不同需要用的傳送指令也不同,有如下幾種。
說明:
1.只要檢測到EN條件閉合,就發生數據傳送,每個掃描周期執行一次。
2.值的傳送過程為IN復制到OUT,OUT中原本數據被覆蓋掉,IN中數據仍然保留。
3.對IN的參數可以是常數也可以是變量,對OUT必須是變量。IN為常數時,通常稱為賦值。
4.每種指令對應的數據類型必須匹配,否則會發生錯誤。
5.對定時器和計數器用字傳送指令,傳送的是當前值。
6.實數傳送即浮點數傳送,因為浮點數都是32位,所以操作數也為VD。不能與雙字傳送混用。
7.ENO為能流輸出,可以再接其它指令,如常開,常閉,輸出,置位,復位等。不接指令時不得延長否則編譯報錯。
立即傳送指令:
移動字節立即讀取指令讀取物理輸入 IN 的狀態,并將結果寫入存儲器地址 OUT 中,但不更新過程映像寄存器。
傳送字節立即寫入指令從存儲器地址 IN 讀取數據,并將其寫入物理輸出 OUT 以及相應的過程映像位置。
塊傳送指令:將相鄰幾個數據同時傳送到另外幾個相鄰的寄存器中。塊傳送應避免地址重疊,否則容易發送數據傳輸錯誤。
以BLKMOV_B為例說明指令的執行過程:將IN(VB0)開始的N(5)個數據復制到OUT(VB5)開始的N(5)個寄存器中,N為1-255。三種塊傳送原理相同,只是存儲空間大小不同而已。
字填充指令:將IN中字類型的存儲器或常數寫入從地址OUT開始的N個字寄存器中。N的范圍是1—255。
典型應用:批量清零,初始化。
交換指令:每執行一次,將IN中的字寄存器的高字節和低字節交換一下。
字交換方法:兩個字要進行互換,沒有直接指令,可以使用傳送指令進行交換。
比如要將VW100和VW102中的數據互換,可用如下程序實現:
- 西門子S7-1500在不同網段通訊的常用方法! 2024-12-27
- 【實用干貨】PLC在電氣自動化控制系統中的各種應用集合 2024-12-27
- S7-1200 與S7-1500 中優化的 DB 塊和標準 DB 塊有哪些 2024-12-27
- 西門子PLC編程中FB與FC的區別 2024-12-27
- 西門子博圖進行PN通訊控制ET200S 2024-12-27
- 西門子PLC與AS-I從站通信 2024-12-27
- 西門子S7-200SMART之間Profinet通信教程 2024-12-27
- 1200與200SMART進行TCP通信的全過程 2024-12-27
- 什么是分配列表?西門子S7-1200分配列表如何使用? 2024-12-27
- 西門子S7-1500 模擬量模塊讀取數據程序編寫 2024-12-27
- 工作臺前進后退控制,以西門子200smart為例(附程序) 2024-12-27
- 1200與200smart進行S7通訊-以200smart作為本地 2024-12-27
- 1200如何與200SMART進行TCP通信 2024-12-27
- 西門子1200PLC控制1500PLC進行DP通訊 2024-12-27
- 西門子1200PLC與G120變頻器進行DP通訊 2024-12-27
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595