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

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

3天内不再提示

博途用户自定义库的使用

jf_61nrsJTz 来源:方正智芯 2023-12-25 10:08 次阅读

博途官方提供了很多库,比如:基本函数库、通信库、安全库、驱动库等等,用户可以使用库中的函数/函数块来完成具体的控制任务。除了官方的库,我们也可以创建自己的库(用户自定义库)。比如,把项目中经常使用的函数/函数块/数据类型等存放到自定义库中,方便自己使用及与别人共享。博途具有很强的库管理功能,包括:库版本管理,库的更新及清扫等等。本系列文章我将给大家介绍项目库、全局库、库的更新/清扫等功能,今天这篇文章,我们先来介绍项目库。

博途的库可分为两类:项目库和全局库。

项目库:顾名思义,与具体的项目相关联。打开任意一个博途项目,在其右侧的“库”任务卡中都有一个“项目库”的窗格(虽然它可能是空的)。项目库随着博途项目的打开而打开,随着项目的关闭而关闭,它没有单独的存放路径;

全局库:顾名思义,在全局范围可用,它并不属于某个项目。全局库有单独的存放路径,可被打开/关闭,也能像博途项目一样归档(后续文章详细介绍);

项目库和全局库在“库”任务卡中的布局如下图所示:

00418bb6-a2b2-11ee-8b88-92fbcf53809c.png

在上图的【项目库】中 ,我们看到有两个节点:类型和模板副本。

1、类型(types)

类型是一种模板,在其中可以存放函数/函数块/用户自定义数据类型。“模板”就像一个模具,由它复刻出的函数/函数块/用户自定义类型等被称为其“实例”。如果你有面向对象编程的基础,可以把这里的“类型”理解为面向对象编程的“类”,由它复刻的即为其“实例”。将项目中的函数/函数块/数据类型通过拖拽的方式放到【类型】节点就会自动创建其“类型”。反之,从【类型】节点中将元素拖放到项目中会自动创建其“实例”。比如下面这张图是我自定义的库,其中“类型”中很多函数/函数块来自我之前文章的用SCL语言编写的代码:

004f2104-a2b2-11ee-8b88-92fbcf53809c.png

注意:这里的函数/函数块图标的右上角都有一个小的黑色三角形,与普通的函数/函数块图标是不同的,表示这是一个“类型”。顺便说一句,我之前写的SCL函数/函数块的名称都是以“FBxxx_<功能描述>”的格式命名,其中“xxx”表示函数块的编号,比如“FB5011_BubbleSort”。这种命名格式其实是延续经典Step7的风格,因为在经典Step7环境下,函数/函数块的编号是比较重要的,不能有重复。但是在博途环境下,即使函数/函数块的编号有重复,编译时开发环境也会自动帮我们处理(重新编号)。因此,函数/函数块的编号已经不太重要的,更关心其名称。所以,在我的用户库中我采用了新的命名规则,采用小写单词+下划线的方式命名(也被称为下划线命名法)。另外博途还支持分组,可以把功能类似的指令放到同一组,方便管理。

类型中的实例不能单独修改,需要修改时要对模板进行修改,然后发布新的版本。

2、模板副本(Master Copies)

模板副本就是项目中函数/函数块/数据类型的副本(拷贝),从项目中将相应的元素拖放到【模板副本】节点就自动创建一个同名的副本,其作用相当于备份。与类型不同,模板副本可被单独修改,当其对应的函数/函数块/数据类型发生变更时它也不会自动更新。

当项目库创建完成后,可以通过更新的方式将其同步到指定的全局库中。关于项目库就先介绍到这里,下一篇文章介绍全局库。

审核编辑:汤梓红

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

    关注

    3

    文章

    4317

    浏览量

    62487
  • 代码
    +关注

    关注

    30

    文章

    4762

    浏览量

    68408
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17042

原文标题:博途用户自定义库的使用(1)-项目库

文章出处:【微信号:方正智芯,微信公众号:方正智芯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NIOS II自定义指令设计之实例篇

    在【原创】SOPC用户自定义指令设计之软件篇  和【原创】SOPC用户自定义指令设计之硬件篇 中分别讲述了自定义指令在软
    发表于 03-27 17:56 3144次阅读
    NIOS II<b class='flag-5'>自定义</b>指令设计之实例篇

    Maxwell中两种用户自定义材料的实现方法

    Maxwell支持两种用户自定义材料。一种是User Library(UserLib),另一种是Personal Library(PersonalLib)。UserLib通常是一个网络存储
    的头像 发表于 12-14 17:33 5196次阅读
    Maxwell中两种<b class='flag-5'>用户</b><b class='flag-5'>自定义</b>材料<b class='flag-5'>库</b>的实现方法

    自定义Python PyPI存储

    软件包的依赖关系,而不考虑版本弃用或最新的向后不兼容版本。当然,这可以通过在requirements.txt中定义版本来完成,但是要确保我们得到的每个软件包都像我们期望的那样,最好使用自定义存储
    发表于 09-14 15:59

    制作和使用自定义C文件

    制作和使用自定义C文件 目标 1.制作一个文件libGetMax.a ,其中包含一个外部函数GetMax 。 函数GetMax的作用是判断
    发表于 01-16 11:58 1298次阅读

    1602自定义字符

    1602液晶能够显示自定义字符,能够根据读者的具体情况显示自定义字符。
    发表于 01-20 15:43 1次下载

    基于HAL的USB自定义HID设备实现

    基于HAL的USB自定义HID设备实现基于HAL的USB自定义HID设备实现准备工作CubeMX配置代码实现基于HAL的USB
    发表于 12-28 20:04 13次下载
    基于HAL<b class='flag-5'>库</b>的USB<b class='flag-5'>自定义</b>HID设备实现

    自定义视图组件教程案例

    自定义组件 1.自定义组件-particles(粒子效果) 2.自定义组件- pulse(脉冲button效果) 3.自定义组件-progress(progress效果) 4.
    发表于 04-08 10:48 14次下载

    ArkUI如何自定义弹窗(eTS)

    自定义弹窗其实也是比较简单的,通过CustomDialogController类就可以显示自定义弹窗。
    的头像 发表于 08-31 08:24 2143次阅读

    PLC1200/1500PLC用户自定义数据类型(UDT)

    用户自定义的数据类型可以包含基本数据类型(例如,INT bool string),以及 数组 ,结构体,以及PLC的专有数据类型等,而且用户自定义数据类型中也可以再包含另外一个
    发表于 04-20 09:46 5次下载
    <b class='flag-5'>博</b><b class='flag-5'>途</b>PLC1200/1500PLC<b class='flag-5'>用户</b><b class='flag-5'>自定义</b>数据类型(UDT)

    基于STM32单片机自定义汉字显示使用文件设计源代码

    基于STM32单片机自定义汉字显示使用文件设计源代码
    发表于 04-26 14:30 0次下载

    labview自定义控件

    labview自定义精美控件
    发表于 05-15 16:46 17次下载

    自定义算子开发

    一个完整的自定义算子应用过程包括注册算子、算子实现、含自定义算子模型转换和运行含自定义op模型四个阶段。在大多数情况下,您的模型应该可以通过使用hb_mapper工具完成转换并顺利部署到地平线芯片上……
    的头像 发表于 04-07 16:11 2760次阅读
    <b class='flag-5'>自定义</b>算子开发

    labview超快自定义控件制作和普通自定义控件制作

    labview超快自定义控件制作和普通自定义控件制作
    发表于 08-21 10:32 13次下载

    用户自定义的使用之全局

    有两个子节点:类型及模板副本。类型是一种模板,相当于面向对象编程中的“类”,模板副本是项目代码的拷贝;
    的头像 发表于 01-08 09:35 736次阅读
    <b class='flag-5'>博</b><b class='flag-5'>途</b><b class='flag-5'>用户</b><b class='flag-5'>自定义</b><b class='flag-5'>库</b>的使用之全局<b class='flag-5'>库</b>

    用户自定义的使用-的编辑及管理

    前面两篇文章我们介绍了项目及全局。项目没有单独的存放路径,它随项目创建而创建,随项目保存而保存。全局有单独的存放路径,可被保存、归档及解压缩等。
    的头像 发表于 01-24 10:45 1016次阅读
    <b class='flag-5'>博</b><b class='flag-5'>途</b><b class='flag-5'>用户</b><b class='flag-5'>自定义</b><b class='flag-5'>库</b>的使用-<b class='flag-5'>库</b>的编辑及管理