马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 朱鹏 于 2020-2-15 09:08 编辑
本节微课将分享一些项目中框架搭建的经验,并且利用搭建好的框架模拟实现一个小的项目。如果有更好的方法欢迎一起讨论。
搭建框架的目的:
1.将项目通用部分进行总结归纳
2.在下一个项目开始之前,尽可能的多做一些事情。
3.实现快速开发
一、PLC程序框架
1.PLC架构关系图
架构搭建是对程序的分层分类:
1.按照功能划分:手动操作、回原程序、自动程序、报警程序以及一些其它的辅助程序。
2.按照结构拆分:将设备拆分成多个工位(结构)的集合,化繁为简。
2.变量命名规范
3.PLC地址的规划
PLC地址规划按照能控制100个轴,设备工位拆分100个,X、Y点各5000个。最大化处理以提高普适性。虽然目前H5U硬件不支持这个多轴和点位,但是框架规划要长远。
4.变量声明
相同功能的变量以数组的方式进行声明,方便使用以及与HMI进行通信 例如下图100个轴的变量以数组的形式声明
5.轴控功能块
轴控功能块封装有点动、寸动、回原、绝对定位、相对定位、软限位、轴故障复位、轴参数获取等,尽可能完善。要做到实例化一个功能块就能直接对一个轴进行基本控制
6.设备状态机
1>状态说明
1.设备分为急停、手动、自动、回原、待机五种基本状态,五种基本状态互斥,同一时刻只会存在一种基本状态。
急停状态:急停按钮生效
手动状态:手/自动切换开关为OFF手动状态,且自动运行标Runing 为OFF,回原点中标志Homing为OFF。
待机状态:手/自动切换开关为ON自动状态,且自动运行标志Runing为OFF,回原点中标志Homing为OFF。
自动状态:手/自动切换开关为ON自动状态,且自动运行标志Runing为ON,回原点中标志Homing为OFF。
回原状态:手/自动切换开关为OFF手动状态,且自动运行标志Runing为OFF,回原点中标志Homing为ON。
2.对于叠加态的解释是,叠加态出现时,与基本状态共存。手动状态出现故障,基本状态仍为手动状态。自动状态出现故障,基本状态仍为自动状态。自动状态还可叠加单步和暂停状态。
故障状态:有故障报警时置位整机故障标志,切换至手动状态下排除故障后,按下复位按钮清除故障状态。
暂停状态:自动/回原状态下,暂停按钮切换至暂停状态。
单步状态:自动/回原状态下,单步按钮切换至单步状态。
未回原状态:整机回原完成标志为OFF,当收到HomeDone信号时退出该状态。
停机中:自动状态下,按下停止按钮,设备响应停机命令进入到停止中状态,设备完全停止后,收到StopDone信号退出停止中状态。并且基本状态由自动状态切换到待机状态。
2>转态转移条件与触发事件说明:
相关的按钮:手/自动切换开关、启动按钮、回原按钮、停止按钮、急停按钮、暂停按钮、单步按钮、复位按钮
手动→回原:手/自动切换开关为OFF手动状态,无故障状态下,按下回原按钮。基本状态由手动状态切换至回原状态
回原→手动:回原完成;或者回原状态下手/自动按钮被切换到自动状态;或回原状态下出现故障,则基本状态由回原状态切换至手动状态。
手动→待机:手/自动切换开关切换为ON自动状态
待机→手动:手/自动切换开关切换为OFF手动状态
待机→自动:回原完成后,无故障状态下,自动运行禁止条件为OFF,按下启动按键
自动→待机:按下停止按键,停止完成;或者自动状态下手/自动按钮被切换到手动状态;或者自动状态下出现故障,则基本状态由自动状态切换至待机状态
自动→急停:自动状态下,急停按钮生效
回原→急停:回原状态下,急停按钮生效
手动→急停:手动状态下,急停按钮生效
待机→急停:待机状态下,急停按钮生效
急停→手动:手/自动切换开关为OFF手动状态下,急停按钮由生效变更为不生效
急停→待机:手/自动切换开关为ON自动状态下,急停按钮由生效变更为不生效
3>叠加态的优先级问题
叠加态的优先级问题:
急停状态时:急停>故障>未回原
手动状态时:故障>未回原>手动;
待机状态时:故障>未回原>待机;
回原状态时:故障>暂停>单步>回原>未回原
自动状态时:故障>暂停>单步>停机中>自动;
例如当故障、暂停、自动状态同时存在时,跟据优先级当前状态显示为故障状态。
当暂停、自动状态共存时,跟据优先级当前状态显示为暂停状态。
4>状态机实现
二、HMI程序框架
1.HMI界面架构图
按照功能规划界面:
一级界面:主菜单
二级界面:自动运行、状态监视、手动操作、报警记录、权限管理系统设置
三级界面:具体实例
界面数量的可拓展性:
例如:
输入监视分配100个页面:6000-6099
输出监视分配100个页面:6100-6199
2.实际效果
三、具体项目的实施
1、了解项目信息、熟悉流程动作
1>设备由上料机构、下料机构2个工位构成
2>上料机构有2个轴、2个气缸、4个气缸到位感应器
3>下料机构有2个轴、2个气缸、4个气缸到位感应器
4>功能:实现上料机构将物料从A点取到B点完成上料,下料机构再将物料从B点取到C点完成下料
2、开始项目编程
1>、分配轴与IO
2>、填充框架内容:
工位手动程序、
工位回原程序、
工位自动程序、
报警信息等
3、写流程的方法:用面向对象的思想做过程控制
1、通过步序寄存器做跳转,减少资源占有。
2、一个步序只做一件事情,逻辑清晰。
3、每个步序均有注释,易阅读,易交接。
4、步序跳转间隔10,预留修改空间,易修改。
5、将机构按照功能分块编写,添加新功能时只需添加整千步序即可,不用改动之 前的程序,易添加。
4、流程示例
四、调试与查错
上机实际运行时,如果发现有工位卡步序了,如图,程序卡在1000步,可以通过双击左侧导航快速定位到K1000步,实现快速定位排查问题。
|