S7-1500中各种语言结构的移植

描述

在 S7-1500 中,统一了所有编程语言的间接寻址选项,因此在移植过程中将部分转换 S7-300/400 中支持的间接寻址。

下表简要列出了转换的选项。下面详细介绍了各种语言结构的移植。

间接寻址 S7-300/400 S7-1500
间接寻址 DB "BLOCK_DB" 数据类型 “DB_ANY”数据类型
间接寻址 DB 变量 #block.%DBW3 “PEEK”/“POKE”指令
WORD_TO_BLOCK_DB(#myWord).%DBW3 “PEEK”/“POKE”指令
#block.DW(IDX := #myInt) “PEEK”/“POKE”指令
WORD_TO_BLOCK_DB(#myWord).DW(IDX:=#myInt) “PEEK”/“POKE”指令
%DB1.DW(IDX :=#myInt) “PEEK”/“POKE”指令
间接寻址 I/O QB(IDX :=#myInt):P “PEEK”/“POKE”指令
间接寻址 PLC 变量 IX(IDX :=#myInt1,Bit:=#myInt2) “PEEK”/“POKE”指令
QB(IDX :=#myInt) “PEEK”/“POKE”指令
MW(IDX :=#myInt) “PEEK”/“POKE”指令

"BLOCK_DB" 数据类型到 "DB_ANY" 的移植

"BLOCK_DB" 数据类型在 S7-1500 中不可用。这种数据类型的变量将通过移植转换为 "DB_ANY" 数据类型。"BLOCK_DB_TO_WORD" 和 "WORD_TO_BLOCK_DB" 转换函数将通过移植转换为 "UINT_TO_WORD(DB_ANY_TO_UINT)" 和 "UINT_TO_DB_ANY(WORD_TO_UINT)"。

以下举例说明如何移植 "BLOCK_DB" 数据类型。

在第一个表中,为移植前的三个程序段:

SCL  
#myBlock //数据类型 BLOCK_DB;
//...
 
#myWord :=BLOCK_DB_TO_WORD(#myBlock);
//...
 
#myBlockDB := WORD_TO_BLOCK_DB(#myWord);  

在第二个表中,为移植后的三个程序段:

SCL  
#myBlock //Datentyp DB_Any;
//...
 
#myWord := UINT_TO_WORD(DB_ANY_TO_UINT(#myBlock));
//...
 
#myDBANY:= UINT_TO_DB_ANY(WORD_TO_UINT(#myWord));  

移植 DB 变量的间接寻址

在 S7-1500 中,通过“PEEK”/“POKE”指令间接指定数据块或 DB 变量。在移植过程中将自动转换为间接寻址。

以下举例说明了如何移植 DB 变量的间接寻址。

在第一个表中,为移植前的程序段:

SCL  
#myWord := %DB1.DW(IDX :=#myInt);
//...
 
#myBool := %DB1.DX(IDX :=#myByteOffset,Bit:=#myBitOffset);
//...
 
%DB1.DW(IDX := #myInt) := 12;
//...
 

在第二个表中,为移植后的程序段:

SCL  
#myWord := PEEK_WORD(area:=16#84, dbNumber:=1, byteOffset:=#myInt);
//...
 
#myBool:=PEEK_BOOL(area:=16#84, dbNumber:=1, byteOffset:=#myByteOffset, bitOffset:=#myBitOffset);
//...
 
POKE(area:=16#84,dbNumber:=1,byteOffset:=#myInt,value:=12);
//...
 

移植 PLC 变量的间接寻址

在 S7-1500 中,通过“PEEK”/“POKE”指令间接指定 PLC 变量。在移植过程中将自动转换为间接寻址。

以下举例说明了如何移植 DB 变量的间接寻址。

在第一个表中,为移植前的程序段:

SCL  
#myWord := MW(IDX := #myInt);  

在第二个表中,为移植后的程序段:

SCL
#myWord := PEEK(area:=16#83,dbNumber:=0,byteOffset:=#myInt);

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分