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

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

3天内不再提示

剖析MELD报警信息提示/存储-解读FB651

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

FB651 用于 多语言转换

o4YBAGB5AT-APdNtAACB0uC7ku0242.png

用于在三种语言之间切换消息视图(数据库视图)和消息归档(数据库归档)中的消息文本。在数据库视图和数据库归档中仅交换包含该字符串的两个长度信息的消息文本(字符串[54])。数据库视图中的所有其他数据和

数据库存档保持不变。

通过相应国家/地区标志中的按钮在HMI上切换语言。

控制器CPU中每种语言都有八个数据块(TextLib)。每个数据块包含最大1024条消息,长度为54个字符(STRING [54])。

数据块包(每个语言变体1个包,每个DB 8个DB)仅在消息文本的语言上有所不同。结构,结构和消息号/ MsgID相同。

FB802可以最大实现3种语言变体。语言变体最初设置为:

-1:德语

-2:通用语言,例如英语

-3:简体中文

语言变体“ 1:德语”和“ 2:通用”对应于单字节字符(SBC)。简体中文的语言变体需要几(3)个字节来表示一个中文字符。

TextLib的DB号在关联的背景数据块(FB650的STAT区域)中指定为初始值。定义了以下数据库编号:

第一语言 第二语言 第三语言

TextLib:德语, 英文 中文

TextLib0 DB804 DB814 DB824

TextLib1 DB805 DB815 DB825

TextLib2 DB806 DB816 DB826

TextLib3 DB807 DB817 DB827

TextLib4 DB808 DB818 DB828

TextLib5 DB809 DB819 DB829

TextLib6 DB810 DB820 DB830

TextLib7 DB811 DB821 DB831

Notes DB文本库:

为了避免有关CPU上内存空间的可能瓶颈,“属性->通用部分2”中的DB文本库应具有“非保留”属性/复选标记。DB文本库不必存储在“数据保持存储器”中。

定义FB651,DB:

-----------------------------------------

-与所使用的(目标)语言无关(对于每个中文字符为3Byte的中文),消息文本长度也与字符串40相同。

-TextLib结构保持不变。

因此,对于每种(目标)语言,总是有8个DB TextLib,每个DB TextLib具有1024条消息,消息长度为字符串40。

-DB视图(DB802)包含20条消息。

-DB归档文件(DB803)包含250条消息。

3fc929f2-9e40-11eb-8b86-12bb97331649.png   一直使用的WINCC信息语言

3fe987d8-9e40-11eb-8b86-12bb97331649.png

4018384e-9e40-11eb-8b86-12bb97331649.png

FB651 用于信息语言的DB块切换

L 'LMsg'

T #Packet_ID.ID_1 传送字符串'LMsg'到#Packet_ID.ID_1里

U #Freigabe 如果有允许条件跳转到 IDOn处

SPB IDOn

L 'Libs'

SPA IDEn

IDOn: L '-On-' 将ON字符串传送到#Packet_ID.ID_2里

IDEn: T #Packet_ID.ID_2

16#850008a0 = P#DBX 276.0 使用的当前地址

L P##AktGewaehlteSprache

TAR2

UD DW#16#FFFFFF

+D

T #AnfangsAdresse.AktGewaehlteSprache 保存DB651的DBX276.0地址

16#85000920 = P#DBX 292.0

L P##SprachTextLibs

TAR2

UD DW#16#FFFFFF

+D

T #AnfangsAdresse.TextLibs_1_SBC_Deutsch 德语地址

L P#16.0 P#DBX308.0

+D

T #AnfangsAdresse.TextLibs_2_SBC_Weitere 英语地址

L P#16.0 P#DBX324.0

+D

T #AnfangsAdresse.TextLibs_3_xBC_ChinaVRC 中文地址

XBC1: LAR1 P##Temp_ANYPOINTER_1

L #Konstanten.AnzahlDBsXBC 长度8

T W[AR1,P#2.0]

L #AnfangsAdresse.TextLibs_3_xBC_ChinaVRC 存储中文的地址P#DBX324.0

T D[AR1,P#6.0] 都存在这个ANY类型的变量里

Cop1: L B#16#10

T B[AR1,P#0.0]

L B#16#5 INT

T B[AR1,P#1.0]

L #IDB_Nummer DB651

T W[AR1,P#4.0]

P#DB651 .DBX324.0 INT 8

CALL "BLKMOV" SFC20数据传输

SRCBLK:=#Temp_ANYPOINTER_1 将 P# DB651 .DBX324.0 INT 8 的数据发出

RET_VAL:=#SFCParameter.SFC20View_BLKMOV

DSTBLK:=#AktGewaehlteSprache 传到P# DB651 .DBX292.0 INT 8

CALL "BLKMOV"

SRCBLK:=#AktGewaehlteSprache 发送P# DB651 .DBX292.0 INT 8 的数据

RET_VAL:=#SFCParameter.SFC20View_BLKMOV

DSTBLK:=#Temp_ANYPOINTER_2 传到P# DB650 .DBX2.0 INT 8 用来改变语言

FB650: 语言转换MeldeFB

使用此功能块,将在中央消息归档和中央报告角度中输入块功能块的消息。

该块通常是称为DB650的单独的实例数据块。

407f8314-9e40-11eb-8b86-12bb97331649.png

该块针对用户程序集中执行一次,FB“ MeldeFB”不具有多实例功能,因此需要一个背景数据块。该功能块用于在中央消息归档和中央消息视图中输入来自模块FB的消息。

输入参数

COM_RST:该信号是重启信号,并与注释“ restart”相连。

文本Lib0到文本Lib3:在此指定生成的文本库。库DB的符号名称应作为参数值(例如“ TextLib0”)。必须互连所有四个参数。

画面Meldeanzeige 是显示DB802里的内容

408ae7a4-9e40-11eb-8b86-12bb97331649.png

画面Meldearchiv_250 是显示DB803里的内容

409433c2-9e40-11eb-8b86-12bb97331649.png

通道参数:

MsgV:此参数绝对必要,因为所有当前打开的消息都在此输入,并且可以由可视化系统显示。

MsgQ:用于建立与实际消息通道的连接,通过指定UDT类型为“ MsgQueue”的DB,可以评估ModulFB提供的缓冲区。

MsgA:如果需要归档,则必须提供类型为“ MsgArchive”的消息归档DB。该归档文件包含一个1000元素的纯文本消息环形缓冲区。

DB801 信息缓冲

DB802 信息观看

DB803 信息档案

FC650 信息传输MeldSend

DB804-DB811 德语报警数据库由SiVArc 生成

DB814-DB821中文报警数据库由SiVArc 生成

LAR1 P##TextLib0 // TextLib0地址 例如: DB814

L DIW[AR1,P#0.0] // TextLib0 保存DB814

T #DBNr 保存DB块号

SPA FLiS 跳转到FliS -----找到的TextLib的DB号

FLiS: L #DBNr 814

L 0 //判断DB块是否是0

<>I

SPBN DTX4

如果DB块是0 去这步DTX4: LAR1 P##UnDef 保存没有报警信息号

40a05396-9e40-11eb-8b86-12bb97331649.png

AUF DB [#DBNr] //打开DB块DB814

L 1

BIS6: T #Index_S //搜索二进制文件的索引

L DBW 8 //最大消息数1024

40b7afbe-9e40-11eb-8b86-12bb97331649.png

<=i  

SPBN EBS6

L #Index_S

+ -1

L #Konstanten.GroesseFeldInTextLib // TextLib中字段元素的大小(以字节为单位)初始值是62

+ L#10

SLD 3

LAR1 //消息条目上的AR1

L DBD[AR1,P#0.0] // TextLib的field元素中消息的ID

L #MSG_ID //要搜索的消息ID

40db98ac-9e40-11eb-8b86-12bb97331649.png

<>D

U(

L DBD[AR1,P#0.0] // TextLib的field元素中消息的ID

L 0

<>D

)

SPBN EBS6 //结束搜寻

L #MSG_ID

L DBD[AR1,P#0.0] // extLib的field元素中消息的ID

>D //搜索的元素大于当前元素

L #Index_S

SLD 1 //Index_S := 2 * Index_S

SPBN BIS6 //左移

+ 1 //Index_S := 2 * Index_S + 1

SPA BIS6 //右移

------伤脑筋的一集,德国大众的标准程序总是喜欢跳来跳去.但是逻辑性的稳定性很好,这个块我接触了7年,还没出过漏洞.

编辑:jq

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

    关注

    68

    文章

    10815

    浏览量

    210927
  • 数据库
    +关注

    关注

    7

    文章

    3754

    浏览量

    64250
  • DB
    DB
    +关注

    关注

    0

    文章

    48

    浏览量

    22680

原文标题:MELD报警信息提示/存储-解读FB651

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

收藏 人收藏

    评论

    相关推荐

    WT2003H语音芯片MCU下载方案助力电动车智能化升级:实现多功能语音提示+报警功能

    01产品市场随着科技的发展,电瓶车在技术革新上也在不断进步,如今许多厂家,都会加入语音提示功能,能在倒车、喇叭、故障时发出语音报警提示骑行者电量不足、倒车请注意、故障语音提示等;唯创
    的头像 发表于 10-09 08:06 261次阅读
    WT2003H语音芯片MCU下载方案助力电动车智能化升级:实现多功能语音<b class='flag-5'>提示</b>+<b class='flag-5'>报警</b>功能

    人类信息存储进化史

    人类有智慧之后,就穷尽办法来存储和传递信息
    的头像 发表于 08-30 10:14 409次阅读

    SL651水利监测网关是什么

    SL651水利监测网关是一种专门用于水利监测领域的数据采集和传输设备。它依据国家水文局制定的SL651-2014《水文监测数据通信规约》标准开发,主要用于水文、水资源、水环境等监测数据的采集、处理
    的头像 发表于 08-19 14:04 319次阅读
    SL<b class='flag-5'>651</b>水利监测网关是什么

    2010款劳斯莱斯古斯特车中央信息显示屏提示传动系统故障

    信息显示屏均提示传动系统故障。用故障检测仪检测,发现发动机控制模块2(DME2)中存储有故障代码“160201曲轴位置传感器信号,齿形错误:齿数错误”
    的头像 发表于 08-08 08:09 282次阅读
    2010款劳斯莱斯古斯特车中央<b class='flag-5'>信息</b>显示屏<b class='flag-5'>提示</b>传动系统故障

    RTOS-SDK下如何关闭系统的提示信息

    您好,我使用的1.3版本的RTOS-SDK,在STA状态下,连接状态改变串口0会有提示信息产生,怎么样才能将其关闭呢?
    发表于 07-22 07:04

    18位TTL/BTL通用存储收发器SN74FB1650数据表

    电子发烧友网站提供《18位TTL/BTL通用存储收发器SN74FB1650数据表.pdf》资料免费下载
    发表于 05-29 09:46 0次下载
    18位TTL/BTL通用<b class='flag-5'>存储</b>收发器SN74<b class='flag-5'>FB</b>1650数据表

    17位LVTTL/BTL通用存储收发器SN74FB1653数据表

    电子发烧友网站提供《17位LVTTL/BTL通用存储收发器SN74FB1653数据表.pdf》资料免费下载
    发表于 05-29 09:42 0次下载
    17位LVTTL/BTL通用<b class='flag-5'>存储</b>收发器SN74<b class='flag-5'>FB</b>1653数据表

    求助,为什么STM32CUBEIDE中的GCC编译器不提示if语句中的错误信息

    STM32cubeIDE中的GCC编译器,在如下语句,因为输错了,但GCC没有提示错误信息,只提示了一个警告信息,如何设置能提示? uint
    发表于 04-07 08:47

    存储芯片是什么样存储信息

    存储信息时,对于动态存储器,行地址首先将RAS锁存于芯片中,然后列地址将CAS锁存于芯片中,当WE有效时,写入数据则被存储于指定的单元中。
    的头像 发表于 03-29 15:32 2851次阅读
    <b class='flag-5'>存储</b>芯片是什么样<b class='flag-5'>存储</b><b class='flag-5'>信息</b>的

    华为数据存储伙伴赋能六大亮点解读

    精彩回顾 | 华为数据存储伙伴赋能六大亮点解读
    的头像 发表于 03-28 11:33 524次阅读
    华为数据<b class='flag-5'>存储</b>伙伴赋能六大亮点<b class='flag-5'>解读</b>

    防盗报警器电路图分享

    的侵入行为、或由配件主动触发,产生报警信号,报警信号再传输给报警主机,由报警主机发出报警提示。防
    的头像 发表于 02-02 14:07 2920次阅读
    防盗<b class='flag-5'>报警</b>器电路图分享

    消防报警主机的升级利器:贴片式TF卡的应用与优势

    SD NAND在消防报警主机上可以用于存储重要的监控数据、日志信息和系统配置文件。
    的头像 发表于 01-24 10:43 436次阅读
    消防<b class='flag-5'>报警</b>主机的升级利器:贴片式TF卡的应用与优势

    SCL中FB模块的结构

    模块FB是用于控制执行器和单元的功能模块或执行某一功能的其他FB的块。
    的头像 发表于 01-17 09:22 656次阅读
    SCL中<b class='flag-5'>FB</b>模块的结构

    西门子博途:调用FB(实例化)

    与功能块(FC)相比,功能块(FB)具有存储器。这意味着功能块被分配了一个本地数据块,即所谓的实例数据块。当调用FB时,还必须指定实例DB的编号,并且此DB会自动打开。
    的头像 发表于 12-25 11:04 2850次阅读
    西门子博途:调用<b class='flag-5'>FB</b>(实例化)

    存储信息的方式有哪些种类

    存储信息的方式有多种种类,它们在不同的场景和需求下提供了各自的优势和特点。 一、传统存储方式 纸张存储:最古老的存储方式之一,通过纸张记录文
    的头像 发表于 12-01 13:36 6003次阅读