S7-1200 PLC的移動操作指令介紹
吳翠萍
發(fā)布于2020-11-13 18:57
31
2
標簽:西門子PLC,S7-1200 PLC,PLC指令
【點擊領取】三菱案例 | 西門子案例 | 電工手冊 | 工具箱 軟件
【點擊獲取】三菱PLC例程117個|西門子PLC例程777個
【點擊下載】2020最新電工仿真軟件
前面給大家介紹了數(shù)學函數(shù)指令,接下來就接著介紹一下移動操作指令吧,S7-1200 PLC的移動操作指令也包括有多個(如下圖),不過這里我們不會所有的指令都介紹一遍,這里就介紹一些常用的移動操作指令,比如移動值指令MOVE,可以說是相當于我們說的傳送指令,還有塊移動指令MOVE_BLK、填充塊指令FILL_BLK、交換指令SWAP、讀取域指令FieldRead與寫入域指令FieldWrit。
下面我們就開始講解咯~
1、移動值指令MOVE
移動值指令MOVE,就相當于是我們S7-200/200 SMART PLC中的MOV傳送指令,是用于對存儲器進行賦值,或者把一個存儲器的數(shù)據(jù)復制到另外一個存儲器中,還可以用于清零功能。對于這個指令進行移動復制之后,源操作數(shù)的數(shù)據(jù)是不變的。
我們可以通過點擊指令下方的增加管腳的按鈕,增加一些輸出管腳,這樣就可以實現(xiàn)將源操作數(shù)的數(shù)據(jù)復制到多個目標操作數(shù)里面去。
對于移動值指令的操作數(shù)可以支持基本的數(shù)據(jù)類型、復雜的數(shù)據(jù)類型也是可以支持的,但是我們需要注意的是,如果使用復雜的數(shù)據(jù)類型時,我們需要保證源操作數(shù)和目標操作數(shù)具有相同的格式才行。如果要把一個數(shù)組的數(shù)據(jù)復制到另外一個數(shù)組,我們需要保證兩個數(shù)組的元素個數(shù)相同,元素的數(shù)據(jù)類型相同。
2、塊移動指令MOVE_BLK
塊移動指令是將源存儲區(qū)的數(shù)據(jù)移動到目標存儲區(qū),注意是有多個存儲器的移動,IN是源存儲器的首個元素,COUNT是指定需要復制的元素個數(shù),OUT是目標存儲器的首個元素。
注意,這個指令只適合于數(shù)據(jù)塊中的數(shù)組進行移動,如果需要對非數(shù)據(jù)塊的存儲器進行塊移動是不能使用這個指令的,比如說將MB0~MB5的數(shù)據(jù)移動到QB0~QB5,這時不能使用MOVE_BLK指令。
上圖的程序首先是創(chuàng)建DB塊,再分別創(chuàng)建DATA和數(shù)據(jù)的數(shù)組,元素數(shù)為5個,即0~4,所以我們可以看到有以上這些數(shù)據(jù),這個指令的功能是將函數(shù)DB塊中的數(shù)組元素DATA[2]、DATA[3]、DATA[4]的數(shù)據(jù)分別移動到數(shù)組元素數(shù)據(jù)[0]、數(shù)據(jù)[1]、數(shù)據(jù)[2]中。
3、填充塊指令FILL_BLK
填充塊指令可以對數(shù)組中連續(xù)的元素寫入相同的數(shù)值,比如對一個數(shù)組中的連續(xù)N個元素進行賦值或清零時可以利用這個指令去實現(xiàn)。IN是需要填充進入的數(shù)據(jù),COUNT是存儲器個個數(shù),OUT是需要填入的第一個元素的地址。這個指令跟塊移動指令一樣,也是只適合于數(shù)據(jù)塊中的數(shù)組中連續(xù)元素進行填充數(shù)據(jù)。
上圖的程序是將20這個數(shù)組填充到函數(shù)DB的DATA[0]開始的數(shù)組元素的一共5個元素中取,監(jiān)控的結果是DATA[0]、DATA[1]、DATA[2]、DATA[3]、DATA[4]里面的數(shù)值都是20。
4、交換指令SWAP
交換指令可以將輸入操作數(shù)的數(shù)據(jù)的字節(jié)的順序進行調(diào)換,也就是實現(xiàn)高低字節(jié)的交換,交換指令支持WORD和DWORD這兩種數(shù)據(jù)類型。
我們可以監(jiān)控指令的執(zhí)行情況,可以以十六進制的數(shù)值顯示,這樣也方便我們?nèi)ゲ榭?。比?6#1234,交換之后是16#3412,而對于16#12345678,交換之后是16#78563412,注意不是16#56781234哦。
5、讀取域指令FieldRead和寫入域指令FieldWrit
讀取域指令和寫入域指令主要是用于間接尋址的功能,可以用該指令對一個數(shù)組中的任意元素的值進行讀取或?qū)懭氲牟僮?。讀取域指令用于根據(jù)指定的元素下標值,讀取除對應元素的值,指令中的INDEX管腳是元素的下表值,為DINT的類型,MEMBER管腳是指定數(shù)組中的第一個元素地址,VALUE管腳用于存放讀取出來的數(shù)據(jù)。
寫入域指令用于根據(jù)指定的元素下標值,把VALUE的值寫入到對應下表值的元素中,指令中的INDEX管腳是元素的下表值,為DINT的類型,VALUE管腳表示需要寫入的值,MEMBER管腳是指定數(shù)組中的第一個元素地址。
不過過于博途V14以上的版本軟件,對于數(shù)組的下標值可以通過變量進行表示,所以讀取域指令和寫入域指令使用的也比較少,大家了解一下有這樣的指令就可以了。
以上這些就是移動操作指令的介紹,對于西門子S7-200/200 SMART中我們叫傳送指令,包括有MOV、BLKMOV、SWAP指令,還有表指令FILL_N,其實跟我們S7-1200 PLC的這些指令的功能是差不多的,只是有一些小區(qū)別,不同的地方注意一下就可以咯。移動操作指令部分我們就介紹完了,下一篇文章給大家介紹一下轉(zhuǎn)換操作指令的使用,歡迎關注更新~
( 技成培訓網(wǎng)原創(chuàng),作者:蔡慧滎,未經(jīng)授權不得轉(zhuǎn)載,違者必究 )

技成培訓
微信公眾號:jcpeixun
|

技成電工課堂
微信公眾號:jcdgkt
|

技成PLC課堂
微信公眾號:jc-plc
|