一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

王生彬
王生斌
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 641 個(gè)
工控威望: 1792 點(diǎn)
下載積分: 6031 分
在線時(shí)間: 251(小時(shí))
注冊(cè)時(shí)間: 2007-09-07
最后登錄: 2024-11-16
查看王生彬的 主題 / 回貼
樓主  發(fā)表于: 2009-07-16 11:41
step7中的難點(diǎn):間接尋址示例,中文詳細(xì)注釋。


  

推薦歡迎糾錯(cuò),防止誤導(dǎo)。
  
FUNCTION "DBtoDB" : VOID //該功能塊的作用是把一個(gè)數(shù)據(jù)塊中的指定的一批數(shù)據(jù),復(fù)制到另一個(gè)塊的指定位置。  
TITLE =                  //標(biāo)題,這里沒(méi)有指定  
AUTHOR : BaiZH           //作者 感謝您,BaiZH,通過(guò)您的這個(gè)例子我基本入明白了間接尋址的用法。不過(guò)具體在什么情況下使用我還得繼續(xù)努力。  
FAMILY : IR               //分類  
NAME : DBtoDB              //名稱  
VERSION : 0.1              //版本  
VAR_INPUT                                                              //輸入型變量聲明開(kāi)始  
  SRC_DB : INT ; //Source DB Block Number                           //整型值,要復(fù)制的源數(shù)據(jù)塊塊號(hào)  
  SRC_SttAddr : INT ; //Start Address of the Sending Data in SRC_DB  //源數(shù)據(jù)塊的要復(fù)制的數(shù)據(jù)起始地址  
  SendNum : INT ; //Words Number Need Sending                         //要復(fù)制的數(shù)據(jù)量  
  DST_DB : INT ; //Destination DB Block Number                       //目標(biāo)數(shù)據(jù)塊號(hào)  
  DST_SttAddr : INT ; //Start Address of the Receiving Data in DST_DB //目標(biāo)數(shù)據(jù)塊中數(shù)據(jù)起始地址  
END_VAR  
VAR_IN_OUT                                                              //輸入輸出變量聲明                                                        
  Enable : BOOL ; //Enable Bit                                        //使能此功能塊位  
END_VAR  
VAR_TEMP                                                                //聲明臨時(shí)變量  
  DB_LOAD_TEMP : INT ;                                               //存放臨時(shí)數(shù)據(jù)塊塊號(hào)  
  Loop_Val : INT ;                                                     //Send Data Loop Value //循環(huán)次數(shù)  
  DB_SAVE : INT ;                                                     //保存進(jìn)入此函數(shù)前,系統(tǒng)已經(jīng)打開(kāi)的數(shù)據(jù)塊號(hào)  
  DI_SAVE : INT ;                                                     //同上  
  AR1_SAVE : DWORD ;                                                    //保存進(jìn)入此函數(shù)前,地址寄存器1中的值  
  AR2_SAVE : DWORD ;                                                 //同上  
END_VAR  
BEGIN  //在STEP7的BLOCK中編輯時(shí)的程序主要從這里開(kāi)始  
NETWORK  
TITLE =Send Data  
//Move data from DB to DB  
      A     #Enable;    //使能位,ENABLE為1執(zhí)行以下程序  
      JCN   END;         //否則跳轉(zhuǎn)到最后  
      TAR1  #AR1_SAVE; // Save AR and Opened DB //保存進(jìn)入此函數(shù)前的數(shù)據(jù)到臨時(shí)變量中,以備離開(kāi)時(shí)復(fù)原  
      TAR2  #AR2_SAVE;  
      L     DBNO;     //同上,保存調(diào)用前的現(xiàn)場(chǎng)數(shù)據(jù),以備調(diào)用完畢復(fù)原主程序的現(xiàn)場(chǎng)數(shù)據(jù)  
      T     #DB_SAVE;  //一個(gè)DBNO,一個(gè)DINO,是因?yàn)橐瑫r(shí)打開(kāi)兩個(gè)數(shù)據(jù)塊,只能一個(gè)背景數(shù)據(jù)塊,一個(gè)共享數(shù)據(jù)塊。  
      L     DINO;  
      T     #DI_SAVE;  
      L     #SRC_DB; //Open DB  //把要打開(kāi)的數(shù)據(jù)塊塊號(hào)通過(guò)中間變量#DB_LOAD_TEMP傳送
      T     #DB_LOAD_TEMP;  
      OPN   DB [#DB_LOAD_TEMP];  
      L     #DST_DB; //Open DB  
      T     #DB_LOAD_TEMP;  
      OPN   DI [#DB_LOAD_TEMP];  
      L     #SRC_SttAddr; //Load Start Address //要復(fù)制的數(shù)據(jù)起始地址  
      SLD   3; //左移位,使的地址指針最右邊三位保證為0,確保符合地址格式的要求。詳細(xì): http://bbs.e10000.cn/a/a.asp?B=302&;ID=608300  
      LAR1  ;  
      L     #DST_SttAddr;  
      SLD   3;  
      LAR2  ;  
      L     #SendNum;  開(kāi)始循環(huán)程序,把復(fù)制的數(shù)據(jù)量放入循環(huán)變量中  
LP1:  T     #Loop_Val; //Move Data  
      L     DBW [AR1,P#0.0];  
      T     DIW [AR2,P#0.0];  
      +AR1  P#2.0;  //指針移位  
      +AR2  P#2.0;  
      L     #Loop_Val;  
      LOOP  LP1; //循環(huán)變量減1,判斷循環(huán)條件  
      LAR1  #AR1_SAVE; //Recover Original AR and DB//這里在執(zhí)行完功能后,開(kāi)始恢復(fù)調(diào)用前的主程序現(xiàn)場(chǎng)數(shù)據(jù)。  
      LAR2  #AR2_SAVE;  
      OPN   DB [#DB_SAVE];  
      OPN   DI [#DI_SAVE];  
      SET   ; //系統(tǒng)將RLO置1,代表FB(FC)執(zhí)行完畢,相當(dāng)于功能塊的ENO使能輸出位。再次感謝cvlsam。  
      R     #Enable;  
END:  NOP   0;  
END_FUNCTION  

luoshenglong
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看luoshenglong的 主題 / 回貼
1樓  發(fā)表于: 2010-04-11 23:19
hao,這個(gè)文章真的很不錯(cuò),再接再厲
homexuejun
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 62 個(gè)
工控威望: 121 點(diǎn)
下載積分: 465 分
在線時(shí)間: 23(小時(shí))
注冊(cè)時(shí)間: 2010-04-22
最后登錄: 2024-05-03
查看homexuejun的 主題 / 回貼
2樓  發(fā)表于: 2010-06-05 20:24
還是有點(diǎn)看不懂樓主多指點(diǎn)可以不qq437803317
wangyd
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 130 個(gè)
工控威望: 214 點(diǎn)
下載積分: 467 分
在線時(shí)間: 58(小時(shí))
注冊(cè)時(shí)間: 2010-06-28
最后登錄: 2024-08-01
查看wangyd的 主題 / 回貼
3樓  發(fā)表于: 2010-07-07 19:32
我是新手,覺(jué)得有用,下了一個(gè)留著,謝謝樓主!
chaocheng
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個(gè)
工控威望: 130 點(diǎn)
下載積分: 592 分
在線時(shí)間: 9(小時(shí))
注冊(cè)時(shí)間: 2014-05-18
最后登錄: 2024-11-12
查看chaocheng的 主題 / 回貼
4樓  發(fā)表于: 2022-09-20 11:41
很好的帖子,現(xiàn)在發(fā)現(xiàn),昨晚上看了一個(gè)類似功能的塊,異曲同工啊。

主站蜘蛛池模板: 99热精品69堂国产| 国产精品天天在线| 国内外成人在线视频| 红色毛片| 国产在线观看99| 草草视频免费观看| 欧美区在线| 美女大鸡鸡| 日韩精品福利视频一区二区三区| 非洲黑人又大粗gay| 欧美黑人换爱交换乱理伦片| 亚洲网站在线播放| 亚洲第一男人天堂| 新新电影理论中文字幕| 1024视频色版在线网站| 99热这里有免费国产精品| 亚洲性久久久影院| 四色6677最新永久网站| 四虎影院永久网址| 国产高清一区二区三区免费视频| blacked黑人| 国产一精品一av一免费爽爽| 教室里的激情电影| 亚飞与亚基国语1080p在线观看| 四虎最新永久免费视频| 下雨天小说词枝| 午夜黄视频| 欧美视频在线一区二区三区| 国产综合视频在线| 4438全国最大成人网视频| 高清麻生希在线| 高跟翘臀老师后进式视频| 高清国产在线| 久久黄视频| 国产乱码免费卡1卡二卡3卡四| 91久久偷偷做嫩草影院电| 亚洲欧美日韩天堂在线观看| 午夜DY888国产精品影院| 亚洲天堂男人| 日本艳鉧动漫1~6在线观看| 脱女学小内内摸出水网站免费|