南宁市西门子代理商-伺服电机驱动变频器代理
- 供应商
- 广东湘恒智能科技有限公司
- 认证
- 西门子变频器
- 西门子触摸屏
- 西门子伺服电机
- 西门子PLC
- 西门子直流调速器
- 西门子电缆
- 联系电话
- 18475208684
- 手机号
- 18475208684
- 经理
- 向小姐
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
- 更新时间
- 2024-05-17 08:54
在 s7-1500 中,统一了所有编程语言的间接寻址选项,因此在移植过程中将部分转换s7-300/400 中支持的间接寻址。
下表简要列出了转换的选项。下面详细介绍了各种语言结构的移植。
"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(#my‐
block));
//...
#mydbany:= uint_to_db_any(word_to_uint(#my‐
word));
移植 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
在 scl 中间接寻址 (s7-1500)
#myword:= peek(area:=16#83,dbnumber:=0,byteoffset:=#
myint);
poke:写入存储地址 (s7-1200, s7-1500)
poke_bool:写入存储位 (s7-1200, s7-1500)
peek:读取存储地址 (s7-1200, s7-1500)
peek_bool:读取存储位 (s7-1200, s7-1500)
poke_blk:写入存储区 (s7-1200, s7-1500)
展开全文