工作:三菱PLC程序开发流程总结
- 一、程序流程图
- 二、组态配置
- 三、模块IO号起终设定
- 四、硬件IO分配与软元件分配
- 五、PLC ip/cc link/cclink IEF basic通信参数设定
- 六、设备连接对象
- 七、气缸功能块及其控制
- 八、电机介绍及伺服代码实例控制
- 九、TCP功能块及机器人连接与控制
- ======= 以下为实际代码区 =========
- 十、01_main:系统参数、外设信号
- 十一、02_InOut
- 十三、03_Init:流程触发代码和工位复位主代码
- 十四、04_AUTO:工位手动/自动动作主体程序
- 十五、05_CyControl:气缸&真空吸
- 十六、06_MotionControl:伺服/电缸/步进控制
- 十七、07_Alarm:报警主体程序
- 十八、08_MachineStatue:机台状态
- 十九、09_ThirdMachine:第三方设备
- 二十、10_TCP:TCP功能块实例化
- 二十一、11_ROBOT-A:机器人
- 二十二、13_ProductionData:生产数据
- 三十、伺服参数设定与刚性调整
一、程序流程图
程序流程图是逻辑思维与动作流程的检查图,是保证逻辑思维合理的前提,写代码丢失方向可从程序流程图重新整理,程序流程图非常重要。
二、组态配置
组态配置是将所用到的基板和模块等部件型号拖进来。

三、模块IO号起终设定

或者

注意每个模块所用点数,不能出现模块IO号有冲突。
四、硬件IO分配与软元件分配
(一)硬件IO分配
硬件IO数量在前期选型时要比实际开发所用IO数量多加20%-30%,用以后期增加功能使用。硬件IO分配即将IO合理分配使用,将对应的工位分配适量IO使用,需要将对应工位的硬件输入输出分配标注,并形成一个IO表,一般设计前就要知道IO具体所用之处。

(二) 软元件分配

估算整机要用到多少数量的软元件/数据地址/继电器(M/B/L/D…),当不足时在软件里将其分配出来使用。

如果默认分配给软元件区域容量实在不够用时,可以将文件存储区域容量减少,增加软元件区域容量,如文件存储区域域减少20K,给软元件区域容量增加20K,相加不超过其总量544K即可,像R08CPU的大型PLC不会有软元件不够用的情况。
1. 气缸软元件分配
(1)链接继电器B、链接字W分配
给每个CC-LINK阀岛使用的映射字、映射继电器,总量分配方法:工作:三菱PLC之CC-LINK通讯知识及应用第二章第3节
(2)中间继电器M、寄存器D、链接继电器B使用
根据机器总共有多少气缸,分配对应中间继电器与寄存器数量,并标注对应气缸名,方便程序实例化创建气缸功能,如下可以实例创建100个气缸(双控电磁阀)

2. 电机软元件分配
JEC和JEB功能块可共用,当二者伺服混合用时不必分开功能块
(1)链接继电器B、链接字W分配
给每个伺服使用的映射字、映射继电器,总量分配细节:工作:三菱PLC与伺服之CC-Link IE Field Network通讯应用第二章第1节第(3)点
(2)中间继电器M
每个伺服占用50个连续M点,总使用量为总伺服数N乘50,即Nx50个连续M点(下表的M8000-M8049)

(3)数据寄存器D
下表的D6000-D6099和D50
- 每个伺服占用100个连续寄存器(00-99),寄存器总使用量为总伺服数N乘100,即Nx100个连续D:
0-39个:可单、双字为一数据,此段为轴控数据;
40-99:双字为一数据,此段为轴坐标数据,其中40保存位、42作辅助位,44为等待位(原始位、安全位),总共28个位置可以保存; - D50是这个轴的伺服位置选择地址。

另外,程序需要判断当前到达了哪个位置,在程序上防止调试人员人为移动轴位置防止撞机


3. 工位软元件分配
(1)工位必分M/L
M
主控与按钮
- 主控M点
- 工位老化
- 启动
- 暂停
- 复位
- 初始化
状态 - 工位初始化中
- 工位初始化完成标记
- 工位初始状态(实时状态)
- 工位完成M点
- 工位急停按下报警M(HMI报警提示)
- 工位其他详细报警(不连续)
- 一段报警汇总M点(连续的,首段气缸,第二段电机,第三段电缸,第四段机器人,第五段其他报警)
L - 工位屏蔽L
- 工位物料屏蔽L
(2)工位视情况分配M/L
M
- 工位自锁:多工位配合的工位,如转盘,环轨,则每个小工位上要有自锁M点。
- 工位动作条件:如气缸、电机在满足位置方可动作。
- 工位可放料、可取料、可拍照等:工位间交互条件,可能要多个M点
- 相机结果M点(与寄存器D可能二选一)
- 机器人控制M点
(3)工位必分寄存器
- 工位流程步号D
- 工位物料状态D
(4)工位视情况分配寄存器
- 相机结果D
- 机器人控制D
(5)整机全局使用M/L
M
- 开机延时M(三联件气压上升、电脑自动开机或其他外设连接需要时间时,不可开机就立马报警)
--------手动模式与自动模式切换--------------- - (HMI_手动自动模式切换)
- 手/自动切换钥匙开关信号汇总M(可以省)
- 自动模式
- 手动模式
-----------系统启\停\清报警\初始化\清料按钮---------------- - (硬件X_开始A) OR (硬件X_开始B) OR (HMI_开始)=系统START信号M
- (硬件X_停止A) OR (硬件X_停止B) OR (HMI_STOP)=系统PAUSE信号M,长按三秒为退出自动运行信号
- (硬件X_复位A) OR (硬件X_复位B) OR (HMI_RESET)=系统RESET信号M
- (硬件X_复位A) OR (硬件X_复位B) OR (HMI_RESET) OR (HMI_INIT),手动模式长按3秒为系统初始化信号,(HMI_INIT)读取自动运行信号M,写入的是初始化信号M(手动模式方可操作),在点击初始化时弹窗确认。
- (硬件X_急停A) AND (硬件X_急停B)=系统E_STOP信号
- 清料按钮M
-----------系统初始化\清料状态---------------- - 系统初始化中
- 整机初始化完成标记
- 整机初始状态(实时状态)
- 清料完成信号
-----------------气缸可操作信号--------------- - 可手动操作气缸M(可以直接=MANUAL_MODE,但不可以省)
------------------系统报警与响应--------------- - 设备系统报警标记 M
- 设备系统报警状态 M(实时状态)
- 系统暂停
--------------------系统开机--------------------- - 运行条件M
- 运行条件不满足报错
- 已进入自动运行模式中
---------------状态灯与蜂鸣器----------------- - 启动按钮灯M
- 停止按钮灯M
- 复位按钮灯M
- 三色灯-红灯M
- 三色灯-黄灯M
- 三色灯-绿灯M
- 三色灯-蜂鸣器M
---------------班次生产记录数据----------------- - 班次生产数据单次记录M------支持21次数据记录
- 班次生产数据全部清零M------21次数据全部清空
-------------------OEE数据----------------------- - OEE数据清零------上料总数/OK数/NG数/总良率/各类NG总数/
L - 开启/禁用蜂鸣器
- 开启/关闭照明灯
- 启用/禁用MES数据收集
(6)整机系统全局使用寄存器D
- 设备状态D:1=手动状态,2=自动状态,3=停止状态,4=错误状态,5=待机状态
- 数据记录按钮D
Year :UINT; //年
Month :UINT; //月
Day :UINT; //日
Hour :UINT; //时
Minute :UINT; //分
Second :UINT; //秒
Start_Hour :UINT; //启动时
Start_Minute :UINT; //启动分
Start_Second :UINT; //启动秒
Finsh_Hour :UINT; //完成时
Finsh_Minute :UINT; //完成分
Finsh_Second :UINT; //完成秒
Runing_Hour :UINT; //运行时
Runing_Minute :UINT; //运行分
Runing_Second :UINT; //运行秒
Stop_Hour :UINT; //停止时
Stop_Minute :UINT; //停止分
Stop_Second :UINT; //停止秒
OK_Number :DINT; //OK数量
Total_Number :DINT; //总数量
- 运行数据结构体D
PLC_Versions :REAL; //PLC版本号
Set_Production_Num :DINT; //设置生产数量
Feeding_Num :DINT; //已上料数量
Ok_Num :DINT; //Ok数量
NG_Num :DINT; //NG数量
Total_Num :DINT; //总数量
Yield :REAL; //合格率
NG_Percent :REAL; //NG百分比
Cycle_Time :UINT;//机台CT
Start_Hour :UINT;//启动时
Start_Minute :UINT;//启动分
Start_Second :UINT;//启动秒
Finsh_Hour :UINT;//结束时
Finsh_Minute :UINT;//结束分
Finsh_Second :UINT;//结束秒
Runing_Hour :UINT;//运行时
Runing_Minute :UINT;//运行分
Runing_Second :UINT;//运行秒
Stop_Hour :UINT;//停止时
Stop_Minute :UINT;//停止分
Stop_Second :UINT;//停止秒
五、PLC ip/cc link/cclink IEF basic通信参数设定
(一)PLC IP参数设定
(1)PLC CPU模块IP

(2)PLC 扩展通信模块网口IP

或者


(二)cc link参数设定
CC-LINK 模式与通讯速率、占用站数(映射IO和映射字占用量)、映射IO和映射字使用总量等参数设定参考工作:三菱PLC之CC-LINK通讯知识及应用第二章
(1)CC link模式与通讯速率

(2)CC link设备及其占用站数

(3)映射IO和映射字使用总量

(三)cclink IEF basic参数设定
(1)cclink IEF basic设备IP参数

(2)cclink IEF basic映射IO与映射字使用总量

六、设备连接对象
TCP/UDP/Melsoft/OPS对象的设备连接,参考工作:三菱PLC与伺服之CC-Link IE Field Network通讯应用第三章,设置机器人的TCP Socket通讯,触摸屏的SLMP通讯均在这里设置
七、气缸功能块及其控制

一个气缸功能块拥有所有气缸该有的功能
- 复位:清除气缸报警
- 气缸控制D
0=伸缩驱动信号均不输出
1=动作位(伸信号=1,缩信号=0)
2=原始位(伸信号=0,缩信号=1) - 伸出条件/缩回条件:允许伸或者缩动作信号
- 伸出_X/缩回_X:气缸伸出、气缸缩回硬件信号
- 启用伸出_X/启用缩回_X:启用伸出/缩回硬件信号的使用
- 伸出到位延时/缩回到位延时:硬件信号到位,加延时以确定动作稳定无抖动
- 报警延时设置:设定气缸最长多久未到位时为动作超时报警,即超出此设定时间,伸出报警或缩回报警有输出
- 伸出_Y/缩回_Y:驱动气缸动作的输出映射IO点,相当于Y点
- 伸出到位/缩回到位:气缸伸出到位/缩回到位的信号
- 伸出报警/缩回报警:气缸伸出报警/缩回报警的信号
八、电机介绍及伺服代码实例控制
(一)电机介绍
(1)步进电机






(2)伺服电机

(3)电缸
电缸是伺服电机与丝杠一体化设计的模块化产品。
电缸是将伺服电机与丝杠一体化设计的模块化产品,将伺服电机的旋转运动转换成直线运动,同时将伺服电机最佳优点-精确转速控制,精确转数控制,精确扭矩控制转变成-精确速度控制,精确位置控制,精确推力控制;实现高精度直线运动系列的全新革命性产品。
百度百科-电缸

本文详细介绍三菱PLC程序开发流程,包括程序流程图、组态配置、模块IO号设定、硬件与软元件分配、通信参数设定等。还涉及气缸、电机、工位等软元件分配,以及各部分功能控制代码实例,如电机控制、TCP功能块、机器人连接控制等,最后提及伺服参数设定与刚性调整。
最低0.47元/天 解锁文章
1008

被折叠的 条评论
为什么被折叠?



