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