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

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

3天内不再提示

西门子S7-1200PLC块移动指令MOVE_BLK操作

jizhongyingAI 来源:非标设备自动化设计 2023-04-06 10:29 次阅读

在S7-1200PLC中,l利用MOVE_BLK指令可以将一个存储区(源范围)的数据移动到另一个存储区(目标范围)中。使用输入 COUNT 可以指定将移动到目标范围中的元素个数。可通过输入 IN 中元素的宽度来定义元素待移动的宽度。仅当源范围和目标范围的数据类型相同时,才能执行该指令。

如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”:

条件1:使能输入 EN 的信号状态为“0”。

条件2:移动的数据量超出输入 IN 或输出 OUT 所能容纳的数据量。:

当复制 ARRAY of BOOL 时,溢出的使能输出 ENO 将设置为“1”,直至超出 ARRAY 结构的字节限制。如果 COUNT 输入的值超出了 ARRAY 结构的字节限制,则使能输出 ENO 将复位为“0”。

TIPS:1.IN和OUT是等待复制的源区域和目标区域的首个元素,但是并不要求是数组中的第一个元素,前提条件是数组的数据类型必须保持一致;见下图1所示;

9465a396-d3e5-11ed-bfe3-dac502259ad0.jpg

2.MOVE_BLK指令只适合实现对数据块中的数组进行移动,不能实现对不是数据块的存储器进行块移动;针对这种情况,可以使用SCL编程中的POKE_BLK指令来实现,操作方法见图2所示;

948759b4-d3e5-11ed-bfe3-dac502259ad0.jpg

94a851dc-d3e5-11ed-bfe3-dac502259ad0.jpg

例如下面就是利用该指令实现MB100-MB109的数据移动到QB0-QB9中

POKE_BLK(area_src:=16#83,//源操作数的存储器类型;16#83表示M区;

dbNumber_src:=0,//源操作数的DB块地址,如果操作数不是DB块,就默认值就是0;

byteOffset_src:=50,//源操作数的起始地址;

area_dest:=16#82,//目标操作数的存储器类型;16#82代表Q区;

dbNumber_dest:=0,//目标操作数的DB块地址,如果目标操作数不是DB块,就默认值是0;

byteOffset_dest:=0,//目标操作数的起始地址;

count:=10);//从源操作数写入到目标操作数的地址个数;

其中,利用POKE_BLK指令来进行编程时,操作数是通过16进制进行表示的;输入过程映像区I(16#81),输出过程映像区Q(16#82),位存储器区M(16#83),DB块(16#84);

94c43640-d3e5-11ed-bfe3-dac502259ad0.jpg






审核编辑:刘清

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

    关注

    4975

    文章

    12254

    浏览量

    454911
  • 西门子
    +关注

    关注

    91

    文章

    2849

    浏览量

    113767
  • SCL
    SCL
    +关注

    关注

    1

    文章

    238

    浏览量

    16875
  • S7-1200
    +关注

    关注

    11

    文章

    328

    浏览量

    17222

原文标题:西门子S7-1200PLC移动操作指令:块移动指令MOVE_BLK

文章出处:【微信号:非标设备自动化设计,微信公众号:非标设备自动化设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通信库如何与西门子S7-1200PLC进行通信测试呢

    常用的通信库有哪几种?其如何与西门子S7-1200PLC进行通信测试呢?
    发表于 09-23 06:17

    西门子PLC指令

    西门子PLC指令
    发表于 10-16 10:28 37次下载

    如何将S7-1200PLC连接到EMCP物联网云平台

    西门子 S7-1200PLC 是一款优秀的可编程控制器,广泛应于工业控制领域,是一款性能高,运行稳定的控制器。此次我们要把 S7-1200PLC连接到 EMCP物联网云平台(简称 EMCP),实现
    发表于 06-30 11:17 5710次阅读
    如何将<b class='flag-5'>S7-1200PLC</b>连接到EMCP物联网云平台

    西门子PLC指令和程序设计

    西门子PLC指令和程序设计方法免费下载。
    发表于 05-07 09:42 116次下载

    西门子常用PLC指令

    西门子常用PLC指令
    的头像 发表于 02-09 14:34 3771次阅读

    通信教程:西门子S7-1200PLC与组态王

    通信教程:西门子S7-1200PLC与组态王
    的头像 发表于 02-23 15:11 3748次阅读

    利用Modbus采集网关采集西门子S7-1200plc数据

    Modbus是一种通用的工业通信协议,可用于连接不同类型的设备,如计算机、PLC、仪表等,它可以实现多种设备之间的数据采集和控制。本文将介绍如何利用Modbus采集网关采集西门子S7-1200PLC
    的头像 发表于 03-08 17:26 1764次阅读
    利用Modbus采集网关采集<b class='flag-5'>西门子</b><b class='flag-5'>S7-1200plc</b>数据

    西门子S7-1200PLC移动操作指令之交换指令SWAP介绍

    S7-1200PLC中,可以使用交换指令SWAP进行数据位置的交换;具体就是改变输入操作数IN端数据的字节的排列顺序,然后在OUT端进行输出交换后的结果
    的头像 发表于 03-29 13:36 8398次阅读

    西门子S7-1200PLC移动操作移动指令MOVE

    S7-1200PLC中,常用MOVE指令进行对存储器进行赋值或是把一个存储器的数据复制到另外一个存储器中。
    的头像 发表于 04-06 09:25 4046次阅读

    西门子S7-1200PLC与V20变频器进行MODBUS RTU通信步骤

    西门子S7-1200PLC与V20变频器进行MODBUS RTU通信步骤详解 在TIA博途中创建项目,组态1200PLC,并添加CM1241 RS485模块,如下图所示,
    发表于 04-10 09:39 12次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-1200PLC</b>与V20变频器进行MODBUS RTU通信步骤

    如何使用西门子1200的脉冲指令

    西门子1200PLC的脉冲沿指令是一种非常重要的指令,它可以检测输入信号的上升沿或下降沿,并在检测到沿时产生一个脉冲。
    发表于 05-23 09:20 1.1w次阅读
    如何使用<b class='flag-5'>西门子</b><b class='flag-5'>1200</b>的脉冲<b class='flag-5'>指令</b>?

    西门子S7-1200PLC移动操作指令:读取域和写入域指令

    S7-1200PLC中,可以通过该指令对一个数组中的任意元素的值进行读取或是写入操作;该指令位于“移动
    的头像 发表于 07-12 14:11 1223次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-1200PLC</b><b class='flag-5'>移动</b><b class='flag-5'>操作</b><b class='flag-5'>指令</b>:读取域和写入域<b class='flag-5'>指令</b>

    西门子PLC 1500/1200硬件分享

    西门子S7-1200PLC有下面几种CPU型号:1211C、1212C、1214C、1215C、1217C。1214C为主要使用机型。其它可以用S7-200smart代替,也可以用S7-1500代替。
    的头像 发表于 07-13 14:37 1883次阅读

    使用钡铼BL102网关连接西门子S7-1200PLC接入mosquitto服务器方法

    使用钡铼BL102网关连接西门子S7-1200PLC接入mosquitto服务器方法
    的头像 发表于 04-11 18:15 1276次阅读
    使用钡铼BL102网关连接<b class='flag-5'>西门子</b><b class='flag-5'>S7-1200PLC</b>接入mosquitto服务器方法

    介绍一下MOVE_BLK_VARIANT指令在使用中应注意的问题

    移动指令包括两个:MOVE_BLKMOVE_BLK_VARIANT,实际项目中都经常被用到。
    的头像 发表于 03-04 10:51 669次阅读
    介绍一下<b class='flag-5'>MOVE_BLK</b>_VARIANT<b class='flag-5'>指令</b>在使用中应注意的问题