设备流程复用

中文脚本运动控制平台;中文、低代码、流程复用
本编主要讲述的特点是:流程复用
中文和低代码,详情见:中文脚本运动控制平台

三个关键点:

一、提取出不一样的对象
二、规划好流程的状态
三、状态控制

硬件就拿以下流水线做示例:

有3条流水线,每一条流水线都有一个工位,工位上都有:减速,到位,阻挡,顶升。
IO有:
输出信号:(注:是否减速>>>是否电机减速,是否启动>>>是否启动电机)
是否减速1        是否减速2        是否减速3
是否启动1        是否启动2        是否启动3
阻挡气缸1        阻挡气缸2        阻挡气缸3
顶升气缸1        顶升气缸2        顶升气缸3
输入信号:
减速信号1        减速信号2        减速信号3
到位信号1        到位信号2        到位信号3
顶升上位1        顶升上位2        顶升上位3
顶升下位1        顶升下位2        顶升下位3
阻挡上位1        阻挡上位2        阻挡上位3
阻挡下位1        阻挡下位2        阻挡下位3

 一、提取出不一样的对象

对应于示例的流水线来说,不一样的对象就是IO信号,每一段都有它自己的信号。即:
是否减速
是否启动
阻挡气缸
顶升气缸
减速信号
到位信号                                 
另:气缸的上下限位也是不一样的,但上下限位一般都会和对应的气缸绑定一起,故有了“顶升气缸”就有了“顶升上位”和“顶升下位”,也就是:


二、规划好流程的状态

这3个流水线来说,状态有
等待进料
正在进料
等待出料
正在出料
一般都还会给一个默认状态:任务初始化

这里的状态,还可参考:

探讨:别人的代码&自己N天前写的代码(多线程)本文章的目的是:状态规划合理,就能够通过状态来知道,这个任务(线程)大概是做什么的。方便别人梳理逻辑,也方便自己回顾代码。

三、状态控制

单独一个线程来控制状态的切换。主要有:
流水线1进料
流水线1出料2进料
流水线2出料3进料
流水线3出料

汇总起来就是:

以下的表格内容在“中文脚本运动控制平台1.001”上运行。

一、提取出不一样的对象

数据初始化任务准备 
流水线1数据初始化流水线1任务.字符是否减速 = 是否减速1
流水线1任务.字符是否启动 = 是否启动1
流水线1任务.字符阻挡气缸 = DIY阻挡气缸1
流水线1任务.字符顶升气缸 = DIY顶升气缸1
流水线1任务.字符减速信号 = 减速信号1
流水线1任务.字符到位信号 = 到位信号1
流水线2数据初始化流水线2任务.字符是否减速 = 是否减速2
流水线2任务.字符是否启动 = 是否启动2
流水线2任务.字符阻挡气缸 = DIY阻挡气缸2
流水线2任务.字符顶升气缸 = DIY顶升气缸2
流水线2任务.字符减速信号 = 减速信号2
流水线2任务.字符到位信号 = 到位信号2
流水线3数据初始化流水线3任务.字符是否减速 = 是否减速3
流水线3任务.字符是否启动 = 是否启动3
流水线3任务.字符阻挡气缸 = DIY阻挡气缸3
流水线3任务.字符顶升气缸 = DIY顶升气缸3
流水线3任务.字符减速信号 = 减速信号3
流水线3任务.字符到位信号 = 到位信号3
任务完成 

二、规划好流程的状态

流水线1任务
状态:
状态任务初始化
状态等待进料
状态正在进料
状态等待出料
状态正在出料
任务准备设置状态等待进料
等待进料如果(状态正在进料)
{
    运行到下一步
}
重新运行本步骤
进料动作设置输出置位(字符是否减速)
设置输出置位(字符是否启动)
等待减速如果(读取输入置位(字符减速信号))
{
    运行到下一步
}
重新运行本步骤
减速动作设置输出复位(字符是否减速)
等待到位如果(读取输入置位(字符到位信号))
{
    运行到下一步
}
重新运行本步骤
到位动作设置输出复位(字符是否启动)
设置DIYIO置位(字符顶升气缸)
设置状态等待出料
等待出料如果(状态正在出料)
{
    运行到下一步
}
重新运行本步骤
出料动作设置DIYIO复位(字符顶升气缸)
设置输出置位(字符是否启动)
出料完成如果(读取输入复位(字符到位信号))
{
    延迟(300)
    运行到下一步
}
重新运行本步骤
任务完成从头再来
流水线2任务
状态:
状态任务初始化
状态等待进料
状态正在进料
状态等待出料
状态正在出料
任务准备设置状态等待进料
等待进料如果(状态正在进料)
{
    运行到下一步
}
重新运行本步骤
进料动作设置输出置位(字符是否减速)
设置输出置位(字符是否启动)
等待减速如果(读取输入置位(字符减速信号))
{
    运行到下一步
}
重新运行本步骤
减速动作设置输出复位(字符是否减速)
等待到位如果(读取输入置位(字符到位信号))
{
    运行到下一步
}
重新运行本步骤
到位动作设置输出复位(字符是否启动)
设置DIYIO置位(字符顶升气缸)
设置状态等待出料
等待出料如果(状态正在出料)
{
    运行到下一步
}
重新运行本步骤
出料动作设置DIYIO复位(字符顶升气缸)
设置输出置位(字符是否启动)
出料完成如果(读取输入复位(字符到位信号))
{
    延迟(300)
    运行到下一步
}
重新运行本步骤
任务完成从头再来
流水线3任务
状态:
状态任务初始化
状态等待进料
状态正在进料
状态等待出料
状态正在出料
任务准备设置状态等待进料
等待进料如果(状态正在进料)
{
    运行到下一步
}
重新运行本步骤
进料动作设置输出置位(字符是否减速)
设置输出置位(字符是否启动)
等待减速如果(读取输入置位(字符减速信号))
{
    运行到下一步
}
重新运行本步骤
减速动作设置输出复位(字符是否减速)
等待到位如果(读取输入置位(字符到位信号))
{
    运行到下一步
}
重新运行本步骤
到位动作设置输出复位(字符是否启动)
设置DIYIO置位(字符顶升气缸)
设置状态等待出料
等待出料如果(状态正在出料)
{
    运行到下一步
}
重新运行本步骤
出料动作设置DIYIO复位(字符顶升气缸)
设置输出置位(字符是否启动)
出料完成如果(读取输入复位(字符到位信号))
{
    延迟(300)
    运行到下一步
}
重新运行本步骤
任务完成从头再来

三、状态控制

流水线控制任务任务准备 
流水线1进料如果(流水线1任务.状态等待进料)
{
流水线1任务.设置状态正在进料
}
流水线1出料2进料如果(流水线1任务.状态等待出料[并且]流水线2任务.状态等待进料)
{
    流水线1任务.设置状态正在出料
    流水线2任务.设置状态正在进料
}
流水线2出料3进料如果(流水线2任务.状态等待出料[并且]流水线3任务.状态等待进料)
{
    流水线2任务.设置状态正在出料
    流水线3任务.设置状态正在进料
}
流水线3出料如果(流水线3任务.状态等待出料)
{
流水线3任务.设置状态正在出料
}
任务完成延迟(10)
从头再来

中文脚本运动控制平台:中文、低代码、流程复用

中文、低代码,参考:中文脚本运动控制平台1.001

流程复用,参考:本编文章

在此给自己鼓励:

中文脚本运动控制平台,已经完成实际项目。接下来还要继续加油!!!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值