0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-06-25 15:36 次阅读

在 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);

审核编辑:汤梓红

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

    关注

    4975

    文章

    12257

    浏览量

    454925
  • 移植
    +关注

    关注

    1

    文章

    367

    浏览量

    27854
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33136
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5843

原文标题:西门子博途:在 SCL 中间接寻址

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    labview与S7-1500通讯的库文件

    本帖最后由 lbc898@126.com 于 2019-7-30 12:00 编辑 labview与S7-1500通讯的库文件,项目中已经使用
    发表于 08-06 17:49

    杭州回收s7-1500系列西门子plc扩展模块

    S7-1500PLC控制器CPU二手515-2UM01-0AB0模块6DD触摸屏 西门子S7-1500前连接器6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500
    发表于 09-17 13:22

    青岛回收西门子模块,上门回收西门子S7-1500模拟量模块

    6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入/
    发表于 07-01 15:53

    苏州上门回收西门子S7-1500系列CPU模块

    6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32
    发表于 08-10 11:25

    洛阳回收西门子s7-1500系列515系列模块516系列模块

    央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入/出模块 常年高价回收s7-1500系列模块 回收
    发表于 08-30 16:36

    回收西门子S7-1500数字量输入模块 回收西门子S7-1500PLC控制器CPU

    15580500760微信同步 回收全新西门子s7-1500模块,CPU-515模块,CPU模块回收西门子1500系列plc扩展模块回收西门子模拟量输入输出模块收购数字量输入输出模块高价回收西门子
    发表于 12-18 15:05

    温州回收西门子PLC模块CPU模块,求购西门子S7-1500系列模块

    西门子S7-1500前连接器6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-15
    发表于 12-21 10:53

    常州回收西门子S7-1500系列PLC模块,求购西门子300系列

    S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入/出模块 常年高价回收s7-1500
    发表于 03-04 11:11

    阳江回收西门子S7-1500模块 上门回收

    40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入/出模块 常年高价回收
    发表于 04-16 14:56

    湖南回收西门子S7-1500央处理器

    6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入/
    发表于 06-24 09:43

    回收西门子s7-1500模块 回收plc模拟量模块-数字量模块

    。回收二手515-2UM01-0AB0模块,6DD触摸屏。回收西门子S7-1500前连接器6ES7592-1AM00-0XB0宽模块,40针针对,35mm现。回收西门子S7-1500
    发表于 07-28 13:34

    广东西门子s7-1500储存卡回收-plc模拟量输入模块回收

    。回收二手515-2UM01-0AB0模块,6DD触摸屏。回收西门子S7-1500前连接器6ES7592-1AM00-0XB0宽模块,40针针对,35mm现。回收西门子S7-1500
    发表于 08-27 21:20

    回收西门子s7-1500系列plc模块CPU模块DO模块

    6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入
    发表于 10-14 09:13

    回收西门子s7-1500系列plc模块

    6ES7592-1AM00-0XB0宽模块40针针对 35mm现,回收西门子S7-1500央处理器6ES7517模块,回收数字量输出模块 ,回收西门子S7-1500PLC数字量扩展模块 DQ32/16/8 DI32/16输入
    发表于 10-20 09:21

    S7-1500S7-1500之间S7通信

    使用 STEP7 V14 在同一个项目中,新建两个S7-1500站点,然后做 S7 通讯。
    的头像 发表于 11-23 09:53 2082次阅读