S5升級S7關于OB190的轉換問題
劉玉蓉
發(fā)布于2014-10-22 17:53
53
0
標簽:
原S5程序中的一段
:C DB 100
:L KY 100,112
:L KB 10
:JU OB 190
:***
請問這一段是什么意思?如何轉換?查手冊OB190用SFC20替換,可SFC20需要參數(shù),該如何設置呀?
問題補充:
經(jīng)過測試,這段語句的意思是將KY100到KY112連續(xù)拷貝到DB100中,從DB100的第10個字節(jié)開始存儲。
佳答案
1、S5的OB 19,OB192對應S7的SFC20 BLKMOV(復制存儲區(qū)域)。它們的功能是傳送標志到數(shù)據(jù)塊(Transfer flags to data blocks)。
2、可SFC20需要參數(shù),該如何設置呀?
使用SFC20 “BLKMOV”(塊移動)可將存儲器區(qū)(= 源區(qū)域)的內容復制到另一個存儲器
區(qū)(= 目標區(qū)域)。
以下為允許的源區(qū)域:
. 部分數(shù)據(jù)塊
.存儲位
. 輸入的過程映像分區(qū)(部分過程映像)
. 輸出的過程映像分區(qū)(部分過程映像)
源參數(shù)可以是與程序執(zhí)行無關的裝載存儲器中數(shù)據(jù)塊(用關鍵字UNLINKED編譯的數(shù)據(jù)塊)的一部分。
參數(shù):
參數(shù)SRCBLK :聲明INPUT ,數(shù)據(jù)類型ANY I、Q、M、D、L ,說明指定被復制的存儲區(qū)(源區(qū)域)。不允許指定STRING類型的數(shù)組。
參數(shù)RET_VAL:聲明 OUTPUT,數(shù)據(jù)類型 INT I、Q、M、D、L ,說明在功能執(zhí)行時如有故障發(fā)生,此參數(shù)值中包含故障代碼。
參數(shù)DSTBLK :聲明OUTPUT ,數(shù)據(jù)類型ANY I、Q、M、D、L,說明 指定要將數(shù)據(jù)復制到的存儲區(qū)(目標區(qū)域)。不允許指定STRING類型的數(shù)組。
3、應用實例:
其SRCBLK與DSTBLK的類型是ANY的,是用指針表示的.其中一種表示方法:P#[數(shù)據(jù)塊.]位地址 類型號 重復系數(shù).如:P#M50.0 BYTE 8就是從MB50開始8個字節(jié)的長度的數(shù)據(jù).
CALL SFC20
SRCBLK :=P#M 50.0 BYTE 8
RET_VAL:=MW80
DSTBLK :=P#M 100.0 BYTE 8
4、這一段是什么意思?如何轉換?
是將DB100的第100個字節(jié)開始的10字節(jié)數(shù)據(jù)送入第112個字節(jié)開始的10字節(jié)中。
程序為:
OPN DB100
CALL SFC20
SRCBLK :=P#M 100.0 BYTE 10
RET_VAL:=MW80
DSTBLK :=P#M 112.0 BYTE 10
5、SFC20相關文檔:
<S7-300400的系統(tǒng)軟件和標準功能>下載:
https://www2.ad.siemens.com.cn/download/Upload/AS/manual/1023.pdf