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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:酷扯儿 作者:酷扯儿 2020-09-03 14:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

BLKMOV:存储区移动(SFC20)

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

移动操作的通用规则

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

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

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

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

移动字符串的规则

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

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

函数值 (RET_VAL) INT 错误信息

0000 无错误

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

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

使用复杂参数类型ANY:

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

参数类型的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

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

);

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

    关注

    213

    文章

    31444

    浏览量

    223659

原文标题:SCL 练习提取IO地址并传输

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是FB功能块?为什么要使用FB功能块?如何制作FB功能块

      FB功能块种封装了特定逻辑功能的模块。它类似于子程序或函数,但是它有自己的内部变量和
    的头像 发表于 11-09 16:13 7382次阅读
    什么是<b class='flag-5'>FB</b><b class='flag-5'>功能块</b>?为什么要使用<b class='flag-5'>FB</b><b class='flag-5'>功能块</b>?如何制作<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>FB</b><b class='flag-5'>功能块</b>?

    制作简易的机器人

    及传感器原理,通过硬件电路制作和软件编程,制作了机器人,实现了机器人的路径跟踪和自动纠偏的功能,并能探测金属,实时显示间隔。 2
    发表于 02-09 15:40

    智能搬运机器人功能介绍-鸥鹏科技

    本帖最后由 风沙掠影 于 2016-12-20 10:45 编辑 智能搬运机器人可以将随机抽签摆放的5搬运到对应的5
    发表于 04-01 14:55

    发现机器人,《机器人的中秋祝福》中的机器人有眼部投影功能

    `发现了机器人,《机器人的中秋祝福》中的机器人有眼部投影功能哦,双手还挺灵活的,好像是国内
    发表于 09-13 14:40

    西门子PLC编程功能块FB功能FC的不同之处是什么

      用西门子PLC编程时,可以用到功能块FB功能FC(FB、FC都是组织)资料上说FB与FC
    发表于 12-02 14:15

    S7-SCL功能块(FB)的结构

    在关键字FUNCTION_BLOCK或PROGRAM之后,键入关键字FB,跟上一个号或FB的符号名。号是0到65533之间的
    的头像 发表于 05-10 10:30 4020次阅读
    S7-SCL<b class='flag-5'>功能块</b>(<b class='flag-5'>FB</b>)的结构

    控制KUKA安全机器人的PLC标准功能块FB 292

    责任编辑:xj 原文标题:控制KUKA安全机器人的PLC标准功能块FB 292 文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 12-23 17:53 4132次阅读
    控制KUKA安全<b class='flag-5'>机器人</b>的PLC标准<b class='flag-5'>功能块</b><b class='flag-5'>FB</b> 292

    西门子PLC系统功能块和系统功能

    的参考帮助中可找到进步的信息。 系统功能块 系统功能块(SFB )是集成在S7 CPU中的功能块。SFB 作为操作系统的部分,不占用户程
    的头像 发表于 12-23 17:55 1.3w次阅读

    浅析FB420的用法-专用于PM277控制屏的夹具功能块

    该模块用于控制最多可带 8 末位反馈信号的二位五通或三位五通气动换向阀。末位反馈信号以字节的方式设置给该模块。该模块般采用自己的背景数据模块进行访问。 此
    的头像 发表于 03-10 10:54 2565次阅读
    浅析<b class='flag-5'>FB</b>420的用法-专用于PM277控制屏的夹具<b class='flag-5'>功能块</b>

    西门子PLC FB41中PID功能块说明和调整方法

    西门子PLC FB41中PID功能块说明和调整方法说明。
    发表于 04-22 11:48 13次下载

    PLC控制/监控机器人抓手故障的编写

    PLC控制/监控机器人的抓手状态的功能块FB250.
    的头像 发表于 03-11 11:47 2424次阅读

    调用功能块(FB或SFB)

    功能块调用时输出赋值是不可能的。声明的输出参数的值存贮在实例数据中。在那它能够被所有功能块存取。要读取输出数据,必须在功能块中定义存取。
    的头像 发表于 04-20 15:35 5516次阅读

    功能块(FB)的结构介绍

    功能块是逻辑,包含程序部分,并且有内存区域援引派给它。无论何时FB被调用,必须给它指定
    的头像 发表于 02-17 09:55 6505次阅读

    普通电机功能块的封装

    学过西门子TIA(博途)的朋友都知道它的FC/FB非常好用,深受开发者的喜欢,今天我们简单的讲普通电机功能块的封装。
    的头像 发表于 03-13 17:46 3303次阅读
    普通电机<b class='flag-5'>功能块</b>的封装

    VASS 标准机器人的附加功能

    FB 951 F_ROB_NOT  F应用程序组件F_ROB_NOTF(FB951)在F应用程序部件F_FRG(FB950)的内部进行处理,并具有记录机器人的附加
    的头像 发表于 06-27 11:45 1612次阅读
    VASS 标准<b class='flag-5'>机器人</b>的附加<b class='flag-5'>功能</b>