进攻:设备动作流程(一)

简介

非标软件,要做成什么样,才能把设备流程在软件上就能完全编写好?不借助Visual Studio(VS2015/VS2019等)。
另:本编已经有优化如下图,具体请打开:进攻:设备动作流程(二)
在这里插入图片描述

场景

在客户现场你没有见过机械手的软件工程师,对吧?
但在客户现场的非标设备软件工程师却很常见,是吧!
为什么非标设备的软件工程师就一定要在客户现场?
因为设备的动作流程现在是软工用Visual Studio(VS2015/VS2019等)在做,设备的当前动作不满足就需要即时完善,但完善,也只有会软件编写才能完善。因此设备有需要完善时(增加点位及相应动作,优化动作等),软工不能离开客户现场。这里就指向了设备动作流程,那么当软工做的程序能够不需要亲自写动作流程,在软件上就能完成所以动作流程,就是能够把设备动作流程交由其他部门来做,那么就可以一直专研于程序的升级优化,做出更加好的程序。

那么,如何进攻“设备动作流程”?

带着这个问题,我们接下来大概可以什么做?

可以这样做?

代码确认好,点击保存,再点击运行,就可以执行这些代码。
在这里插入图片描述
接下来上代码:

static string 上料状态 = "未完成";
static string 飞达状态 = "未完成";
static string 取料状态 = "未完成";
static string 贴合状态 = "未完成";
static string 下料状态 = "完成";
static public void B模拟上料()
{
	while (true)
	{
		工具.等待(ref 下料状态,"完成");  
		工具.显示("上料123,确认后设置为完成");
		上料状态 = "完成";
		下料状态 = "未完成";	
	}  
}
static public void C模拟飞达()
{
	while (true)
	{
		工具.等待(ref 上料状态,"完成");  
		工具.显示("飞达,确认后设置为完成");
		飞达状态 = "完成";
		上料状态 = "未完成";
	}
}
static public void D模拟取料()
{
	while (true)
	{
		工具.等待(ref 飞达状态,"完成");  
		工具.显示("取料,确认后设置为完成");
		取料状态 = "完成";
		飞达状态 = "未完成";
	}
}
static public void E模拟贴合()
{
	while (true)
	{
		工具.等待(ref 取料状态,"完成");  
		工具.显示("贴合,确认后设置为完成");
		贴合状态 = "完成";
		取料状态 = "未完成";
	}
}
static public void F模拟下料()
{
	while (true)
	{
		工具.等待(ref 贴合状态,"完成");  
		工具.显示("下料,确认后设置为完成");
		下料状态 = "完成";
		贴合状态 = "未完成";
	}
}

补充下“工具”类

using System.Windows.Forms;
using System.Threading;

namespace WCF.WCFScript
{
    /// 类 	  名:工具
	/// 类 描 述:示例工具类
	/// WCF·769838889@qq.com
	/// 创建时间:2019/7/26
	/// 源    码:https://github.com/jiliwei/WCF
    public static class 工具
    {
        public static void 显示(string value)
        {
            MessageBox.Show(value);
        }
        public static void 等待(ref string value, string result)
        {
        继续等待:
            if (value.Equals(result))
            {
                return;
            }
            Thread.Sleep(50);
            goto 继续等待;
        }
        public static void 等待50毫秒()
        {
            Thread.Sleep(50);
        }
    }
}

以上关键有两点:
1、动态编译代码:CS-Script
官网参考:https://github.com/oleg-shilo/cs-script
CSDN参考:https://blog.csdn.net/u014608071/article/details/107030857
2、代码中文命名
CSDN参考:https://blog.csdn.net/u014608071/article/details/109408945

小总结

以上就能解决:为什么非标设备的软件工程师就一定要在客户现场?
不,不确定,这个是1年前的了,但拿来做“引子”还是可以的。
比如:在工具类里面,增加:
1、相对运动;
2、绝对运动;
3、等待输入IO信号;
4、设置输出IO信号;
5、等这些运动控制卡的相关操作。
以上,是不是就应该能够完成 一个不带视觉的自动化设备软件。

整体大概的思路

运动控制

上面的已经解决就不多说

逻辑

因为用了“CS-Script ”,所以在生成代码时,我们自己,可以对代码进行优化(替换)。
就是,进行中文化,让大家更容易上手,履清逻辑。
比如:在程序的流程里面写:“如果”在使用“CS-Script ”生成前,找到“如果”,就把如果替换成“if”,这样是不是就很方便,还有这些:

原始代码替换的代码
如果if
一直循环while(true)
循环while
遍历for/foreach
结束循环break
结束本次循环continue
字符串string
数字double
整数int

通讯

把通讯做成自定义控件,然后如同运动控制一样,添加在工具类里面。

视觉

当下的视觉,主要分两种:
1、智能相机;
2、halcon或者opencv
第一种:就相对简单些。智能相机,说白了就是通讯。就是可以给定位坐标的通讯。把通讯做成自定义控件,剩下的就是,数据的拼接发送,和接收的数据解析。
第二种:门槛就比较高,这也是为什么,视觉可以单独起来。但还是可以做起来的,做法同“通讯”。

其他

这里就是设备日志、取放料矩阵等等的更多功能。
另:本编已经有优化如下图,具体请打开:进攻:设备动作流程(二)
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值