摘要:基于第三代通用程序模板框架,把全 ST 的汇川 AC PLC 程序模板给开发完善了;保留了其他模板一直以来的风格,就是不管是哪款 PLC,做出来的程序模板格式风格、程序用法都尽可能一样,让大家把一个模板琢磨明白了,就能毫无难度地去上手其他品牌的 PLC 程序模
基于第三代通用程序模板框架,把全 ST 的汇川 AC PLC 程序模板给开发完善了;保留了其他模板一直以来的风格,就是不管是哪款 PLC,做出来的程序模板格式风格、程序用法都尽可能一样,让大家把一个模板琢磨明白了,就能毫无难度地去上手其他品牌的 PLC 程序模板;下面我来给模板做个简单介绍,其实用过我汇川 EASY 模板的可以跳过~(具体程序模板,到公众号菜单里获取)要注意的是,我没提前分配掉电保持区域,所以您在使用的时候,把下面这些变量设置为掉电保持变量:
mPersistentVars; //部分程序中用到的掉电保持开关、地址等
mCYParam; //气缸参数,需要掉电保持,比如延时、屏蔽等
mVCParam; //吸嘴参数,需要掉电保持,比如延时、屏蔽等
M01Param_M40Param; //所有的轴位置速度等信息
mBackup; //备份和恢复用
OEE_Maintain; //OEE 设备维护信息
OEE_ProductData; //OEE 生产产量信息
OEE_ProductYield ; //OEE 设备稼动率等信息//还有其他需要掉电保持的变量
一、整体布局
如下图所示:
(常用结构体用struct 但是我自己比较喜欢Class类,大家理解)
//
Stru_Axis 主要为轴控相关
CalssAxis //一下三个的组合类
ClassAxisHMI //HMI触摸屏相关变量
ClassAxisParam //轴参数地址,需要掉电保持,所以独立出来了
ClassAxisStatus //轴状态相关
ClassEncoderAxis //编码器轴相关,飞拍经常会用到
ClassKUKARobot4 //KUKA4轴机器人用
ClassAngelDivider //角度分割器用 //
Basic 文件夹内为程序框架基本类
ClassSystem //提供了一些时钟闪烁,时间日期相关变量
ClassIO //IO映射交互相关
ClassMode //设备运行模式相关,启动停止,自动手动切换
ClassRunData //设备生产状态,产量,CT等简单功能
ClassPersistentVars/ClassVars//过程用到的变量,减少新建HMI标签
ClassCylinder //气缸相关,还有个
Param ClassVacuum //吸嘴相关,还有个
Param ClassAlarm //报警相关
ClassInit //初始化相关
ClassStation/ClassSteps //工站和程序步骤控制
ClassSocket //以太网TCP 通信
ClassBackup //备份和恢复用//OEE文件夹,主要是三大记录功能用,维护/生产/品质
ClassMaintain //维护保养
ClassProductionData //生产数据
ClassProductionYield //生产质量//
Vision 当然是视觉以及一些上位机交互的,如MES
VisionTRG //触发交互
VisionCheck/VisionGuide // 检测/引导
VisionCalibration //视觉标定相关
MesBindSN //MES绑定
MesCheckData //MES查询
MesPostData //MES上传//等等其他的就不具体讲了,主打一个提前封装
3.第三部分为提前封装好的功能块,如下:
//Func_Axis 轴、电机、机械手相关执行件的控制
FB_MotorEC //EtherCAT轴控制功能块
FB_MotorEC_Gantry //龙门特例
FB_Robot_KUKA4 //库卡4轴机器人
FB_AngelDivider //角度分割器//
Func_Basci 基本功能功能块
FB_RunMode //运行模式控制
FB_Switch //一般开关控制
FB_Cylinder //气缸控制
FB_Vacuum //吸嘴控制
FB_Step //程序跳步控制
FB_Socket //服务器/客户端两个功能块//OEE 采集相关功能实现
FB_MaintainFB_ProductionDataFB_ProductionYield//Func_Vision 视觉相关
FB_VisionTRGFB_VisionCalibrationFB_VisionAxisTest//等等其他
第四部分是程序框架的主体部分,通常情况下只有一台机器,因此就创建了一个文件夹。要是有多个设备由一个 PLC 控制的话,可以通过取名字来加以区分,比如说 Machine1/2/3 之类的://程序框架分为四个部分M1_A系统程序 A1输入输出;
//刷新输入输出 A2运行模式;
//设备运行模式控制,简单生产数据统计 A3报警汇总;
//所有报警的汇总中心 A4运转准备;
//设备初始化流程M1_B功能程序 B1功能开关;
//功能开关 B2气缸;
//气缸控制 B3吸嘴;
//吸嘴控制 B4视觉交互;
//视觉交互 B5以太网通信;
//以太网通信 B6数据交互MES;
//MES交互 B7数据OEE采集;
//OEE生产数据采集 B8数据备份与恢复;
//备份与恢复,类似配方M1_M运动程序 [注意:独立任务运行,在EtherCAT任务内] M1轴控程序;
//一般轴控制 M2其他轴控;
//特殊轴控制,比如编码器轴 M3视觉相关;
//视觉动静态,视觉标定相关M1_R拓展程序 R01库卡机器人;
//库卡机器人控制R10角度分割器;
//角度分割器控制//其他独立部件控制M1_ST工站程序 M1_ST00工站动作
//按工艺,将设备划分成不同工站 M1_ST01工站动作
//然后程序分类写在对应位置 M1_ST02工站动作 M1_ST03工站动作 //等等
大体上先介绍这么多
其实仔细瞧瞧,和其他的 PLC 模板实际上是一种用法。后面要是大家感兴趣,我能够再把每一个部分详细地讲一讲!那今天就先说到这儿啦~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
汇川AC系列PLC——程序模板V3.0 PLC论坛-全力打造可编程控制器专业技术论坛 -
来源:PLC技术玩一点号