首先建议大家在编程之前思考好框架,涉及以后的扩展,引用;基础的FB(底层),应该充分降低耦合度(功能要单一),充分总结一下与本功能相关的组件,抽取其中的共同点,认真设计接口参数;

以下以分度盘为例,仅供参考

构建好设计机构后开始编程

1.打开博图软件,新建一个项目:

2.添加自己项目中要用的PLC硬件:

3.根据接口,创建自己的UDT,以便将来外部调用时使用:

3.1先定义输入信号,并初始化初值:

3.2再定义输出信号:

3.3最后合并为分度盘的整个信号:红色和绿色框选择数据类型时,选择为刚才定义的类型;

4.1添加FB块,并声明接口参数,中间变量等声明在Static区域,常量声明在constant

4.2定义FB的输入接口(可以直接复制刚才定义好的数据类型中的变量)

4.3定义FB的输出接口(可以直接复制刚才定义好的数据类型中的变量)

此时接口定义已经全部完成;

7.我们暂时不编写程序,直接拖动FB到OB观察一下接口:经过实例化后效果如下图

编写程序,程序的编写建议禁止引用任何外部变量,如有用到系统时钟等,使用接口引入后,定义局部变量使用,编程不在这里详细介绍,根据逻辑控制需求,需用熟悉的语言编写即可;

当分度盘需要继续封装到别的块中时,使用多重背景进行操作;这里不做二次封装,假设有2台分度盘时,我们主程序中如何快速操作:

添加一个数据块叫UNIT

在数据块中声明一个数组,数组的类型选用刚才建立好的UDT,我们建立的为2个长度;

展开后如下:

变量和FB进行绑定:拖动放置的接口即可(左右分屏操作)

声明外部IO接口,绑定到FB实现对外部单元控制

添加变量和外部地址:

进行IO的Mapping,有的信号可以选择通过逻辑控制,我们暂时Mapping分度盘的启动,原点,以及到位信号;为节省空间便于操作,我们使用SCL进行:

添加SCL程序段,并直接赋值(因为需要一直运行)

至此,即可进行正常控制了;

创建FB-定义接口(基础版)相关推荐

  1. DataV基础版如何制作单独省份地图?

    第一步 以"全国业务态势"模版创建可视化 因为DataV基础版不能够自由的添加地图的下各个子组件,制作省份地图需要包含"区域热力"这个子组件.没关系,即便您目前 ...

  2. 接入百度智能云的营业执照识别接口、工商信息查询(基础版)接口到实际业务,参考代码

    我的代码放在公共模块如下: 1.根据百度云官方文档-SDK中心,下载sdk对应jar包,我下载下来的版本是bce-java-sdk.0.10.254 2.使用mvn命令手动引入jar mvn inst ...

  3. TIA博途SCL入门学习(三)创建SCL程序及更改FB块接口的视图样式

    TIA博途SCL入门学习(三)创建SCL程序及更改FB块接口的视图样式 TIA博途中创建SCL程序有2种方式,具体可参考以下内容: 在LAD程序段或FBD程序段种可以插入SCL程序段,实现两种语言混合 ...

  4. Android集成百度人脸识别(一)基础版SDK

    首先Android Studio版本:3.2.0 1.注册百度账号并企业认证 2.创建应用生成API Key和Secret Key 3.下载对应的SDK(下载SDK的时候需要新建授权) 因为下载的时候 ...

  5. MVP架构由浅入深篇一(基础版)

    MVP架构由浅入深篇一 前言:不得不说,才开始学习MVP架构各种接口的调用和解耦代码真的让人眼花缭乱,对于很多问题都是一知半解: 关于如何在Activity中高效的复用Presenter和View: ...

  6. Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)

    1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...

  7. Spring Boot 定义接口的方法是否可以声明为 private?

    我们在 Controller 中定义接口的时候,一般都是像下面这样: @GetMapping("/01") public String hello(Map<String,Ob ...

  8. spring boot构建基础版web项目(一)springboot、thymeleaf控制层基础构

    原文作者:弥诺R 原文地址:http://www.minuor.com/147852147/article 转载声明:转载请注明原文地址,注意版权维护,谢谢! 写前说明 根据个人在各篇博文中看到的信息 ...

  9. php vsftpd文件上传类,php ftp文件上传函数(基础版)

    php ftp文件上传函数(基础版) 复制代码 代码如下: // 定义变量 $local_file = 'local.zip'; $server_file = 'server.zip'; // 连接F ...

  10. fb驱动安装linux系统,drm 驱动是如何创建 fb device 的

    drm 驱动是如何创建 fb device 的 什么是 drm? drm 是一个 Linux 内核的显示系统驱动框架,区别于另外一个 DRM数字版权保护 drm 是一个管理 GPU 的显示框架 在内核 ...

最新文章

  1. Linux - 添加PATH环境变量
  2. 20+ 家标杆车企实践总结,数字化转型的秘诀都在这儿
  3. 【搜索引擎基础知识2】网络爬虫
  4. C++11新特性之八——函数对象function
  5. HTML/CSS基础知识总结
  6. Folder and jar
  7. php画图抗锯齿,​CSS3如何实现字体抗锯齿渲染效果?-webkit-font-smoothing属性(实例)...
  8. UDS协议(车辆控制单元诊断系统开发架构及DID读取数据流程)
  9. 怎么用Linux查看服务器日志,Linux查看服务器日志
  10. 买书问题的动态规划实现
  11. SRE问题排查四步法——以建立HTTPS连接失败问题排查为例
  12. 【USB】USB的VID和PID
  13. 一文读懂 | 云上用户如何灵活应用定制化网络服务
  14. 智能分层、满足更高工作负载,亚马逊云科技加速云端存储服务创新
  15. JDT操作AST重构if块
  16. 20170925-2 功能测试
  17. 坚果云 linux程序名称,备份Linux系统数据到坚果云
  18. 2022-2028年中国嵌入式计算机系统行业发展现状调查及前景战略分析报告
  19. Win11正式发布,新功能炸裂!
  20. 局域网无法访问发布的网站问题解决

热门文章

  1. Ubuntu20.04 Clion/Pycharm/IDEA 输入中文+光标跟随解决方案
  2. 阿里云云计算ACP认证模拟试题一(上)
  3. 机器视觉:远心镜头使用规则
  4. 公司年会要求搞一个抽奖程序,及时安排一波
  5. Google Chrome OS
  6. 计算机机房系统建设,计算机机房系统建设方案(范文).pdf
  7. 计算机找不到链接打印机主机,电脑连接打印机厂商型号没有怎么办
  8. 传染病模型-java代码
  9. 1386 安排电影院座位(字典、位运算)
  10. USB写保护的一些工具记录