背景常識
歡送糾錯,避免誤導。
FUN" />
時間:2012-12-31 來源:武漢網whw.cc 作者:whw.cc 我要糾錯
這一個例子地作者是BaiZH,我在學習后依據本人地懂得加了漢字解釋,興許對于新人有所輔助。感激BaiZH忘我供給源碼,感謝cvlsam不厭這煩地指導,有所領悟不敢獨享。
背景常識
歡送糾錯,避免誤導。
FUNCTION"DBtoDB":VOID//該功效塊地作用是把1個數據塊中地指定地1批數據,復制到另1個塊地指定地位。
TITLE=//題目,這里不指定
AUTHOR:BaiZH//作者感謝您,BaiZH,通過你地這一個例子我基礎入清楚了間接尋址地用法。不外詳細在神馬情形下應用我還得持續盡力。
FAMILY:IR//分類
NAME:DBtoDB//名稱
VERSION:0.1//版本
VAR_INPUT//輸入型變量聲明開始
SRC_DB:INT;//SourceDBBlockNumber//整型值,要復制地源數據塊塊號
SRC_SttAddr:INT;//StartAddressoftheSendingDatainSRC_DB//源數據塊地要復制地數據起始地址
SendNum:INT;//WordsNumberNeedSending//要復制地數據量
DST_DB:INT;//DestinationDBBlockNumber//目標數據塊號
DST_SttAddr:INT;//StartAddressoftheReceivingDatainDST_DB//目的數據塊中數據起始地址
END_VAR
VAR_IN_OUT//輸入輸出變量申明
Enable:BOOL;//EnableBit//使能此功能塊位
END_VAR
VAR_TEMP//聲明臨時變量
DB_LOAD_TEMP:INT;//寄存暫時數據塊塊號
Loop_Val:INT;//SendDataLoopValue//循環次數
DB_SAVE:INT;//保存進入此函數前,體系有翻開地數據塊號
DI_SAVE:INT;//同上
AR1_SAVE:DWORD;//保存進入此函數前,地址存放器1中地值
AR2_SAVE:DWORD;//同上
END_VAR
BEGIN//在STEP7地BLOCK中編纂時地程序重要從這里開始
NETWORK
TITLE=SendData
//MovedatafromDBtoDB
A#Enable;//使能位,ENABLE為1執行以下程序
JCNEND;//否則跳轉到最后
TAR1#AR1_SAVE;//SaveARandOpenedDB//保留進入此函數前地數據到常設變量中,以備分開時還原
TAR2#AR2_SAVE;
LDBNO;//同上,保存調用前地現場數據,以備調用結束恢復主程序地現場數據
T#DB_SAVE,三菱伺服驅動器;//1個DBNO,1個DINO,是由于要同時打開兩個數據塊,只能1個背景數據塊,1個共享數據塊。
LDINO;
T#DI_SAVE;
L#SRC_DB;//OpenDB//把要打開地數據塊塊號通過旁邊變量#DB_LOAD_TEMP傳遞。它地利益援用cvlsam地指點,詳細
T#DB_LOAD_TEMP;
OPNDB[#DB_LOAD_TEMP];
L#DST_DB;//OpenDB
T#DB_LOAD_TEMP;
OPNDI[#DB_LOAD_TEMP];
L#SRC_SttAddr;//LoadStartAddress//要復制地數據起始地址
SLD3;//左移位,使地地址指針最右邊3位保障為0,確保合乎地址格局地請求。具體
LAR1;
L#DST_SttAddr;
SLD3;
LAR2;
L#SendNum;開始循環程序,把復制地數據量放入輪回變量中
LP1:T#Loop_Val,三菱PLC;//MoveData
LDBW[AR1,P#0,三菱.0];
TDIW[AR2,P#0.0];
+AR1P#2.0;//指針移位
+AR2P#2.0,三菱伺服電機;
L#Loop_Val;
LOOPLP1;//循環變量減1,斷定循環前提
LAR1#AR1_SAVE;//RecoverOriginalARandDB//這里在履行完功能后,開端恢復調用前地主程序現場數據。
LAR2#AR2_SAVE;
OPNDB[#DB_SAVE];
OPNDI[#DI_SAVE];
SET;//系統將RLO置1,代表FB(FC)執行完畢,相稱于功能塊地ENO使能輸出位。再次感謝cvlsam。
R#Enable;
END:NOP0;
END_FUNCTION
本文章由:http://www.lk30*** 整理發布!
標簽:
虛擬手機號碼 香港辦公室租金 酒店vi設計 愛幸福 幣安下載 NBA直播 絲摩網 bitget官方網站