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

    文章

    10392

    浏览量

    206418
  • 数据库
    +关注

    关注

    7

    文章

    3581

    浏览量

    63329
  • DB
    DB
    +关注

    关注

    0

    文章

    48

    浏览量

    22589

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    防盗报警器电路图分享

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

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

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

    使用可参数化功能块(例如FB20)进行故障评估

    这提供了这样的优点,即不必将外部全局标签传递到FB以用于报警消息检测的内部所需边缘评估和内部所需存储器位。
    的头像 发表于 11-06 09:33 218次阅读
    使用可参数化功能块(例如<b class='flag-5'>FB</b>20)进行故障评估

    用单片机实现语音提示报警系统的工作原理

    电子发烧友网站提供《用单片机实现语音提示报警系统的工作原理.pdf》资料免费下载
    发表于 10-27 11:09 0次下载
    用单片机实现语音<b class='flag-5'>提示</b>、<b class='flag-5'>报警</b>系统的工作原理

    651 数据表

    651 数据表
    发表于 08-22 18:30 0次下载
    <b class='flag-5'>651</b> 数据表

    L3GD20H 3轴数字陀螺仪的使用信息和应用提示

    电子发烧友网站提供《L3GD20H 3轴数字陀螺仪的使用信息和应用提示.pdf》资料免费下载
    发表于 07-31 09:07 1次下载
    L3GD20H 3轴数字陀螺仪的使用<b class='flag-5'>信息</b>和应用<b class='flag-5'>提示</b>

    651S 数据表

    651S 数据表
    发表于 07-11 20:44 0次下载
    <b class='flag-5'>651</b>S 数据表

    70T651/9 数据表

    70T651/9 数据表
    发表于 07-05 20:55 0次下载
    70T<b class='flag-5'>651</b>/9 数据表

    RKV651KL 数据表

    RKV651KL 数据表
    发表于 06-28 18:55 0次下载
    RKV<b class='flag-5'>651</b>KL 数据表

    RKV651KK 数据表

    RKV651KK 数据表
    发表于 06-28 18:55 0次下载
    RKV<b class='flag-5'>651</b>KK 数据表

    651S 数据表

    651S 数据表
    发表于 05-15 19:33 0次下载
    <b class='flag-5'>651</b>S 数据表

    RKV651KL 数据表

    RKV651KL 数据表
    发表于 05-09 20:05 0次下载
    RKV<b class='flag-5'>651</b>KL 数据表

    RKV651KK 数据表

    RKV651KK 数据表
    发表于 05-09 20:05 0次下载
    RKV<b class='flag-5'>651</b>KK 数据表

    651B 数据表

    651B 数据表
    发表于 04-20 18:46 0次下载
    <b class='flag-5'>651</b>B 数据表