首页 > 其他分享 >ABB_800xA学习笔记314:做一个实际的练习1

ABB_800xA学习笔记314:做一个实际的练习1

时间:2024-10-06 20:26:16浏览次数:6  
标签:ABB 变量 代码 点击 314 编辑器 800xA 可以

国庆节懒了几天尽去玩了,没有学习。我把前段时间在新浪博客记录的内容转发在这里,那里把访问量清零后还没有恢复。

原文地址:ABB_800xA学习笔记314:做一个实际的练习1_来自金沙江的小鱼_新浪博客 (sina.com.cn)

很久没有学习ABB 800xA了,现场有一套800xA的设备,如果出了问题还是得区处理,因此不能放下。这次是在虚拟机下,使用software来做练习,题目是根据官方文档3BSE041880-600_A_en_System_800xA_Control_6.0_AC_800M_Getting_Started 中的例子来做的。

该例子是假设一个商场有光电感应的自动门,有顾客到来的时候,自动门打开,门由两个电机驱动,5秒钟后,门自动关闭,要统计自动门开关次数和顾客人数,门开关到一定次数就需要维护,做完维护门开关次数清零,重新计数。顾客人数也可以清零重置。 假设800xA运行环境已经搭建好,也做了基本配置,前面的准备工作见下面的链接。需要有授权,不然项目无法建立,后续也无法进行。 操作系统准备篇: 虚拟机安装ABB800XA-操作系统准备篇_来自金沙江的小鱼_新浪博客 (sina.com.cn) abb 800xA安装方法见下面的链接: 虚拟机安装ABB800XA-实际进度篇_来自金沙江的小鱼_新浪博客 (sina.com.cn) 基本配置见下面的链接 ABB80XA学习笔记03:基本配置_来自金沙江的小鱼_新浪博客 (sina.com.cn)   项目名字叫做mydoors,有下面的变量,变量建立方法在后面记录: photo_cell 光电开关信号,bool类型 motor1 马达1动作变量,bool类型 motor2 马达2动作变量,bool类型 doorsOpen_time 门保持打开时间,time类型 doorsOpen_ET 门打开后距离关上的时间,time类型 openings_total 两次维修之间门允许打开次数,双整型 openings_freq 距离上次维修门已经打开的次数,双整型 serviced 门是否做了维修,bool类型 customers_qty 顾客人数,双整型 reset_counter 复位顾客人数,bool类型。   1. 新建一个ABB 800xA项目。 双击桌面ABB start menu,打开窗口如下:

 

2. 点击菜单file-new project,或者点击工具栏上新建按钮,打开新建项目对话框。选择AC800M模板,输入项目名字mydoors,点击OK按钮,这里不需要设置环境,由于授权不够,选择了环境也没用.

可以在下方消息框看到加载各种库的过程

3. 加载完成后,可以看到库、应用、控制器的基本框架形成了。

4. 开始创建逻辑。展开Application_1,找到下一级的Diagrams,默认有3个,在第2个Diagrams-normal中创建,双击打开它。

默认会显示变量编辑器。

5. 开始创建变量。在变量编辑器第一行变量名字name栏输入photo_cell时,没有响应。此时需要先对项目做保留reserve,确保当然用户独享编辑修改权力。“保留”功能通过点击工具栏上reserve按钮来实现。

 

点击后会弹出对话框,可以看到diagram2勾选上了,你可以对这一次保留操作写一个注释,也可以不写,点击OK按钮,关闭对话框。

对diagram2保留之后,可以看到项目树形目录上,diagram2前面打勾了。

关闭刚才打开的diagram2的变量编辑器,再次打开它(不关掉的话,编辑器还保留着非保留独占的状态,无法编辑),在第一行建立photo_cell变量

写变量类型时,如果不知道数据类型名字写法,可以选中data type栏,按下ctrl+J组合键,可以显示数据类型列表。描述一栏写对这个变量的注释,由于没有安装中文输入法,所以这里没有写中文。

可以通过编辑器一个变量一个变量的建立。也可以在下方代码编辑窗口点击鼠标右键,选关联菜单中的new-variable,打开新建变量对话框

 

可以看到变量编辑器中有两个变量了。代码窗口里面有刚才新建的变量。

可以点击一下工具栏上的check按钮,没有报错,说明代码窗口只有变量,没有完整逻辑不算出错。

知道这两种变量建立方法后,逐个建立其它变量。

可以看到标题栏最后有一个*,表示有了修改,没有保存,对其进行保存。

6. 开始进行控制逻辑编写

在diagram2的代码窗口下方代码页编号1鼠标右键,选择rename,也可以选中后按F2,进行重命名,命名为motors_doors。在代码窗口空白处点击鼠标右键,选择new-object,弹出选择对话框,可以在only show names that contain输入框输入你想要添加的对象,随着输入字符,可以自动过滤出相关的列表,这里选择tof对象,可以写一个名字,相当于别名,方便理解,点击insert按钮,然后关闭对话框。

 

可以看到代码窗口有了一个tof功能块,这个块输入输出没有连接任何变量。

代码窗口上方编辑器的功能块编辑器可以看到刚才添加的tof功能块,可以对其添加注释。

通过菜单insert-new page,或者代码窗口空白处点击鼠标右键,关联菜单选择pages-add new page,或者快捷键ctrl+N,任选一种方法添加新页面。可以看到代码窗口下方现在变成2,表示第2代码页。

对第2代码页重命名为customer_counter_up,插入功能块CTU,名字为customer_count_up,写相应注释信息。

  插入新的代码页,重命名为service_on_doors,空白处插入功能块ctu,命名为service_count_doors,谐相应的注释。

 

到这里功能块建立完了,检查一下没有问题,保存刚才的内容。

  考虑到博客的篇幅限制,这一篇先写到这里,今天也先记录到这里。

标签:ABB,变量,代码,点击,314,编辑器,800xA,可以
From: https://www.cnblogs.com/fishingsriver/p/18449341

相关文章

  • 速通RabbitMQ
     MQ三大重要特性:解耦,异步,削峰RABBITMQ:1.rabbitMQ有什么使用场景:异步发送消息(邮件,验证码,短信)MYSQL,REDIS,ELASTICSEARCH之间的数据同步分布式事务保持高可用性削峰填谷 2.rabbitMQ如何保证消息不丢失?在正常情况下publisher发送消息至exchange,exchange选择queue,再由q......
  • RabbitMQ死信队列和延迟队列(具体代码演示)
    先理解以下两点:1.延迟队列存储是延时消息,指当消息被发送以后,不让消费者立即拿到消息,而是等待指定时间后,消费者才能拿到消息进行消费。(队列设置过期时间对队列中所有消息生效,如果队列和消息都设置了消息过期时间,会取时间短的)2.入死信队列的三种情况:1.请求被拒绝的消息2.......
  • 触摸芯片SI314替代 GTX314L—低功耗14通道电容触摸传感器芯片 应用智能门锁动能世纪
    1.介绍Si314是一款具有自动灵敏度校准功能的14通道电容传感器,其工作电压范围为1.8~5.5v.Si314设置休眠模式来节省功耗,此时,功耗电流为[email protected]。Si314各个感应通道可实现独立使能、校准、灵敏度调节,可以确保可靠性,且具有自适应滤波功能,以应对各种噪音和环境变化。I2C串行接口可......
  • rabbitmq部署 从单节点到集群,到镜像
    想搭建镜像,也需要从单节点一步步往下,按顺序执行,应该不会有什么问题准备工作:1、设置主机名(根据自己主机的情况设置,主机名不能有.)hostnamectlset-hostnamenode01###节点01hostnamectlset-hostnamenode02###节点02hostnamectl--prettyhostnamectl-......
  • 2024-2025-1 20241314 《计算机基础与程序设计》第一周学习总结
    作业信息作业所属课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)作业要求<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)作业的目标课程概论工业革命与浪潮之巅信息与信息安全计算......
  • python 操作RabbitMq详解
    一、简介:RabbitMq 是实现了高级消息队列协议(AMQP)的开源消息代理中间件。消息队列是一种应用程序对应用程序的通行方式,应用程序通过写消息,将消息传递于队列,由另一应用程序读取完成通信。而作为中间件的RabbitMq无疑是目前最流行的消息队列之一。    RabbitMq......
  • RabbitMQ中交换机(Exchange)的类型有哪些及其特点是什么?
    RabbitMQ中的交换机(Exchange)是消息路由的核心组件,它决定了消息如何从生产者路由到队列。RabbitMQ支持多种类型的交换机,每种类型都有其特定的路由逻辑。以下是几种主要的交换机类型及其特点:直接交换机(DirectExchange)特点:直接交换机会将消息发送到绑定键(bindingkey)......
  • RabbitMQ五种工作模式的代码具体实现(代码简单易懂)(一)
    一、简单队列模式:直接把消息发送给队列,且队列只有一个消费者。使用的是Rabbitmq默认的交换机。生产者部分:<!--amqp依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</art......
  • Spring Boot 集成 RabbitMQ 发送延时消息
    1.SpringBoot集成RabbitMQ发送延时消息1.1.版本说明1.2.Spring配置1.3.定义常量1.4.配置交换机和队列1.5.测试1.SpringBoot集成RabbitMQ发送延时消息延时消息依赖于rabbitmq-delayed-message-exchangeRabbitMQ插件实现,Github地址,启用该插件后可......
  • RabbitMQ基础知识
    1.1什么是MQ?消息队列(MessageQueue),是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。RabbitMQ可以理解为一个邮箱,或者一个邮局,或者是一个邮递员,保证“张三”的信件最终传递......