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

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

3天内不再提示

BLKMOV:存储区移动(SFC20)

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-04-11 10:11 次阅读

BLKMOV:存储区移动(SFC20)

使用“块移动”指令,可将存储区(源区域)的内容移动到其它存储区(目标区域)。移动操作沿地址升序方向执行。可使用 ANY 指针定义源区域和目标区域。

f24def64-b76b-11ec-aa7f-dac502259ad0.png

移动操作的通用规则

源区域和目标区域不得重叠。如果源和目标区域长度不同,则只能移动较小长度的区域。

如果源区域小于目标区域,则将整个源区域的数据都写入到目标区域中。而目标区域的其余字节则保持不变。

如果目标区域小于源区域,将写满整个目标区域。而忽略源区域的剩余字节。

如果复制 BOOL 数据类型的区域,则此区域的指定长度必须是 8 的整数倍,否则将无法执行指令。

移动字符串的规则

还可以使用“块移动”指令移动 STRING 数据类型的源区域和目标区域。如果只有源区域为 STRING 数据类型,则移动字符串中实际包含的字符。有关实际和最大长度的信息,将写入目标区域。如果源和目标区域都是 STRING 数据类型,则将目标区域中字符串的当前长度设置为实际移动的字符数。

如果要移动字符串实际长度和最大长度的信息,则需要以字节为单位将相关区域指定给 SRCBLK 和DSTBLK 参数

函数值 (RET_VAL) INT 错误信息

0000 无错误

8092 源或目标区域只能在装载存储器中。

8xyy 有关错误的更多信息,

使用复杂参数类型ANY:

STEP 7以10个字节存储参数类型ANY。当构造类型为ANY的参数时,必须确保所有10个字节都被占用,因为调用块估计参数整个内容的值。例如,如果以字节4指定DB编号,也必须以字节6明确地指定存储器区。

f264bfbe-b76b-11ec-aa7f-dac502259ad0.png

参数类型的ANY格式

对于参数类型,STEP 7存储数据类型和参数的地址。重复因子始终是1。字节4、5和7始终是0。字节8和9指示定时器、计数器或块的编号。

重复因子识别由参数类型ANY传送的指示数据类型的数量。这意味着可以指定数据区,也可以和参数类型ANY结合使用数组和结构。STEP 7将数组和结构识别为数据类型的编号(借助重复因数)。例如,如果要传送10个字,必须为重复因子输入数值10,并且必须为数据类型输入数值04。

地址以格式Byte.Bit存储,此处字节寻址存储在字节7的位0 - 2,节字8的位0 - 7,节字9的位3 - 7。位地址存储在字节9的位0 - 2。

建立一个存储机器人信号的功能块FB5

f280503a-b76b-11ec-aa7f-dac502259ad0.png

FUNCTION_BLOCK FB5

VAR_INPUT

Rob_A:POINTER;机器人的地址

pRobAAT Rob_A: STRUCT拆分地址

DBNR:WORD;

BZ:DWORD;

END_STRUCT;

END_VAR

VAR_OUTPUT

ST_ROB:ST_Rob;

END_VAR

VAR_TEMP

Adr_Rob_A:INT ;

AnyRob_A:ANY;

pRob_AAT AnyRob_A: STRUCT

SyntaxId:BYTE;// Byte 0

DataType:BYTE;// Byte 1

DataCount:WORD;// Byte 2+3

DBNR:WORD;// Byte 4+5

BZ:DWORD;// Byte 6

END_STRUCT;

AnyST_ROB:ANY;

pST_ROBAT AnyST_ROB: STRUCT

SyntaxId: BYTE;// Byte 0

DataType: BYTE;// Byte 1

DataCount:WORD;// Byte 2+3

DBNR:WORD;// Byte 4+5

BZ:DWORD;// Byte 6

END_STRUCT;

AnyST_ROB_A_Rob:ANY;

pST_ROB_A_RobAT AnyST_ROB_A_Rob: STRUCT

SyntaxId: BYTE;// Byte 0

DataType: BYTE;// Byte 1

DataCount:WORD;// Byte 2+3

DBNR:WORD;// Byte 4+5

BZ:DWORD;// Byte 6

END_STRUCT;

erg_SFC20:INT;用于SFC20的变量反馈点

END_VAR

VAR

END_VAR

Adr_Rob_A := WORD_TO_INT(DWORD_TO_WORD(SHR(IN:=pRobA.BZ,N:=3)));提取IO点地址

pRob_A.SyntaxId:= B#16#10;

pRob_A.DataType:= 02;

pRob_A.DataCount:= W#16#22;

pRob_A.DBNR:= pRobA.DBNR;

pRob_A.BZ:= pRobA.BZ;

AnyST_ROB := ST_ROB.A1_8_Folgespiegelung;DB块首位

pST_ROB.SyntaxId:= B#16#10;

pST_ROB.DataType:= 02;

pST_ROB.DataCount:= W#16#22;

AnyST_ROB_A_Rob:= ST_ROB.A_Rob;

pST_ROB_A_Rob.SyntaxId:= B#16#10;

pST_ROB_A_Rob.DataType:= 02;

pST_ROB_A_Rob.DataCount:= W#16#22;

erg_SFC20 := BLKMOV(SRCBLK :=AnyRob_A

,DSTBLK:=AnyST_ROB

);传输机器人的输出状态

erg_SFC20 := BLKMOV(SRCBLK :=AnyST_ROB

,DSTBLK:=AnyST_ROB_A_Rob

);

END_FUNCTION_BLOCK

---------------------------------END--------------------------

审核编辑 :李倩

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

    关注

    13

    文章

    4298

    浏览量

    85804
  • 参数
    +关注

    关注

    11

    文章

    1832

    浏览量

    32197

原文标题:使用复杂参数类型

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

收藏 人收藏

    评论

    相关推荐

    铁电存储器SF25C20替换FM25V20A在地震监测仪器中应用

    铁电存储器SF25C20替换FM25V20A在地震监测仪器中应用
    的头像 发表于 11-07 09:47 170次阅读
    铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>替换FM25V<b class='flag-5'>20</b>A在地震监测仪器中应用

    设计软件核心移动存储主机数据手册

    电子发烧友网站提供《设计软件核心移动存储主机数据手册.pdf》资料免费下载
    发表于 10-29 10:20 0次下载

    西部数据纪念移动存储系列 20 周年里程碑,推出标志性产品全新限定版本

    里程碑,西部数据公司(NASDAQ: WDC)正式推出西数™ My Passport™ Ultra 移动硬盘 20周年限定。西数 My Passport 系列产品自面世以来,已为全球用户存储了约 180 EB
    的头像 发表于 10-19 08:36 311次阅读

    移动存储介质不得在什么和什么之间交叉使用

    移动存储介质(如U盘、移动硬盘等)不得在 涉密计算机和非涉密计算机 之间交叉使用。这一规定是基于信息安全和保密的考虑,具体原因如下: 一、信息安全风险 木马和病毒传播 : 当移动
    的头像 发表于 10-12 09:45 877次阅读

    国产铁电存储器SF25C20可替换FM25V20A用于医疗监护仪

    国产铁电存储器SF25C20可替换FM25V20A用于医疗监护仪
    的头像 发表于 09-19 09:43 238次阅读
    国产铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>可替换FM25V<b class='flag-5'>20</b>A用于医疗监护仪

    替代FM25V20A,国产铁电存储器SF25C20广泛用于智能手表、手环

    替代FM25V20A,国产铁电存储器SF25C20广泛用于智能手表、手环
    的头像 发表于 08-27 09:57 307次阅读
    替代FM25V<b class='flag-5'>20</b>A,国产铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>广泛用于智能手表、手环

    铁电存储器SF25C20(FM25V20A)用于频繁读写数据的工业

    铁电存储器SF25C20(FM25V20A)用于频繁读写数据的工业
    的头像 发表于 08-12 10:02 492次阅读
    铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>(FM25V<b class='flag-5'>20</b>A)用于频繁读写数据的工业

    铁电存储器SF25C20(FM25V20A)在RAID控制器中的应用

    铁电存储器SF25C20(FM25V20A)在RAID控制器中的应用
    的头像 发表于 06-06 09:46 458次阅读
    铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>(FM25V<b class='flag-5'>20</b>A)在RAID控制器中的应用

    国产铁电存储器SF25C20兼容FM25V20A在打印机中的应用

    国产铁电存储器SF25C20兼容FM25V20A在打印机中的应用
    的头像 发表于 05-27 09:44 476次阅读
    国产铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>兼容FM25V<b class='flag-5'>20</b>A在打印机中的应用

    华为SPN助力杭州移动5G-A全球标杆应用示范建设

    2024世界电信和信息社会日之际浙江移动杭州分公司(以下简称杭州移动)召开《数创引领新产业,数智定义新生活》主题发布会,会上正式发布《5G-A全球标杆应用示范》,开启5G-A规模商用新时代。
    的头像 发表于 05-17 10:02 426次阅读
    华为SPN助力杭州<b class='flag-5'>移动</b>5G-A全球标杆应用示范<b class='flag-5'>区</b>建设

    国产铁电存储器SF25C20在售票机中的应用,兼容FM25V20A

    国产铁电存储器SF25C20在售票机中的应用,兼容FM25V20A
    的头像 发表于 05-16 09:37 367次阅读
    国产铁电<b class='flag-5'>存储</b>器SF25C<b class='flag-5'>20</b>在售票机中的应用,兼容FM25V<b class='flag-5'>20</b>A

    4G手机信号放大器:解决信号弱,提升移动网络

    深圳特信电子|4G手机信号放大器:解决信号弱,提升移动网络
    的头像 发表于 05-06 08:58 1603次阅读

    PLC顺序功能图(SFC)编程深入解析

    称为顺序功能图 (SFC) 的图形编程语言由 IEC 61131-3 标准化。该图表从上到下阅读,块用于表示步骤、转换和功能。这种编程风格类似于功能框图,并且具有一些相同的缺陷,这些缺陷会产生复杂性并降低编程效率。
    发表于 03-21 11:45 9933次阅读
    PLC顺序功能图(<b class='flag-5'>SFC</b>)编程深入解析

    如何估算S7-1500 CPU的装载存储在SIMATIC存储卡上的大小?

    S7-1500 CPU 的装载存储在 SIMATIC 存储卡上。根据以下操作步骤可以确定用户程序所需要的存储的大小以便确定所需
    的头像 发表于 01-29 10:00 971次阅读
    如何估算S7-1500 CPU的装载<b class='flag-5'>存储</b><b class='flag-5'>区</b>在SIMATIC<b class='flag-5'>存储</b>卡上的大小?

    xmc7100 DMA为什么没有将ADC数据寄存器值传送到存储器缓冲

    我使用的是 xmc7100 芯片,为什么 DMA 没有将 ADC 数据寄存器值传送到存储器缓冲
    发表于 01-29 08:33