zoukankan      html  css  js  c++  java
  • 关于驰骋工作流引擎ccbpm 在工业自动化环境下的 应用演示实例

    关于工业自动化(引用百度百科)

    定义:

    工业自动化就是工业生产中的各种参数为控制目的,实现各种过程控制,在整个工业生产中,尽量减少人力的操作,而能充分利用动物以外的能源与各种资讯来进行生产工作,即称为工业自动化生产,而使工业能进行自动生产之过程称为工业自动化。

    定义概述:

    工业自动化是机器设备或生产过程在不需要人工直接干预的情况下,按预期的目标实现测量、操纵等信息处理和过程控制的统称。自动化技术就是探索和研究实现自动化过程的方法和技术。它是涉及机械、微电子、计算机、机器视觉等技术领域的一门综合性技术。工业革命是自动化技术的助产士。正是由于工业革命的需要,自动化技术才冲破了卵壳,得到了蓬勃发展。同时自动化技术也促进了工业的进步,如今自动化技术已经被广泛的应用于机械制造、电力、建筑、交通运输、信息技术等领域,成为提高劳动生产率的主要手段。

    简介:

    工业自动化技术是一种运用控制理论、仪器仪表、计算机和其他信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等目的综合性高技术,包括工业自动化软件、硬件和系统三大部分。工业自动化技术作为20世纪现代制造领域中最重要的技术之一,主要解决生产效率与一致性问题。无论高速大批量制造企业还是追求灵活、柔性和定制化企业,都必须依靠自动化技术的应用。自动化系统本身并不直接创造效益,但它对企业生产过程起着明显的提升作用:

    (1)提高生产过程的安全性;

    (2)提高生产效率;

    (3)提高产品质量;

    (4)减少生产过程的原材料、能源损耗。

    据国际权威咨询机构统计,对自动化系统投入和企业效益方面提升产出比约1:4至1:6之间。特别在资金密集型企业中,自动化系统占设备总投资10%以下,起到“四两拨千金”的作用。传统的工业自动化系统即机电一体化系统主要是对设备和生产过程的控制,即由机械本体、动力部分、测试传感部分、执行机构、驱动部分、控制及信号处理单元、接口等硬件元素,在软件程序和电子电路逻辑的有目的的信息流引导下,相互协调、有机融合和集成,形成物质和能量的有序规则运动,从而组成工业自动化系统或产品。

    在工业自动化领域,传统的控制系统经历了继基地式气动仪表控制系统、电动单元组合式模拟仪表控制系统、集中式数字控制系统和集散式控制系统DCS的发展历程。

    随着控制技术、计算机、通信、网络等技术的发展,信息交互沟通的领域正迅速覆盖从工厂的现场设备层到控制、管理各个层次。工业控制机系统一般是指对工业生产过程及其机电设备、工艺装备进行测量与控制的自动化技术工具(包括自动测量仪表、控制装置)的总称。今天,对自动化最简单的理解也转变为:用广义的机器(包括计算机)来部分代替或完全取代或超越人的体力。

    流程引擎在工业自动化应用背景

    工业自动化流程就是为了生产一个部件,处理一道工艺,事先定义了一个流程运行模型,这个模型会根据生产环境,部件本身的系列参数,来确定流程的走向。

    在工业自动化领域里MIS系统的自动化流程类似,最大的区别就是MIS系统的人机交互现在变成了传感器或者外部输入设备与系统的交互。

    也就是说,在工业自动化领域里,大多的使用都是流程引擎,使用SDK的模式调用工作流程引擎的接口来执行,发送、退回、等待、转发、处理。

    在做上述流程引擎动作的时候,首先要通过硬件设备(主要是传感器)来采集环境参数,然后输入到ccbpm流程引擎中进行运行。

    流程事例与运行

    实例介绍

    驰骋工作流引擎ccbpm提供在demo运行环境里提供了一个工业流程运行案例,如下图。

    clip_image002

    我们从该流程图中就可以看到,整个部件的生产过程,在每个节点的生产过程就机器人的生产过程了,这个不属于流程研究的范畴,比如:打孔步骤。它在整个自动化流程系统里是一个节点,但是打孔这个作业,可以让机器人完成。

    也就是说,在一条工业自动化流程里面,有n多步骤,每个步骤可以人工处理,也可以机器处理,也可以让机器人处理。

    该demo启动后,系统就进入一个循环,自动的发送下一步骤,在发送前,每个步骤都需要用户输入参数,系统就把发送的结果也就是ccbpm流程引擎所产生的变量都输出出来。如果发送成功,系统就跳出循环,结束流程。

    实例运行

    第1步:下载并安装ccbpm.

    如果是java系统请参考http://jflow.cn, .net运行环境请参考 http://ccflow.org

    本文以.net运行环境来说明该系统的运行步骤。

    对于ccbpm的安装步骤,这里不再赘述。

    第2步:启动webservices.

    1, 启动解决方案文件,把web工程设置为启动项目。

    2, 首先运行起来流程服务,也就是要启动起来http服务,因为http服务里有web services, 我们把接口文件都定义在,这个文件里。

    clip_image004

    启动的方式就是,把web项目设置成启动项目,ctrl+f5 直接启动。

    执行后,就可以进入流程设计器,您可以打开该流程实例。

    并在工具栏目上看到这个图标 clip_image006, 说明服务已经启动了。

    第3步:启动CS的测试客户端项目

    启动CS测试项目,把cs项目设置为启动项目(IndustrialAutomationWorkflow),ctrl+f5 . 如下图。

    clip_image008

    因为每个步骤,都需要参数输入,所以我们在节点发送前,都弹出窗口输入窗口。

    点执行按钮:

    clip_image010

    该界面上文本框里有很多的参数,我们把默认的参数都组合一个字符串,传入到工作流引擎里。

    运行到第一个节点:

    clip_image012

    输入发送参数:

    clip_image014

    点确定就执行发送,系统就把发送结果提示出来。

    clip_image016

    您可以看到发送结果里返回很多的变量,如上图。

    一步步的运行下去,根据参数不同,ccbpm就会走不同的路径,如果是走到最后一个节点在执行发送的时候系统就会提示流程完成如下图:

    clip_image018

    流程demo设计步骤:

    第1步:设计好工业自动化流程

    1,设计好工作流程图,画好连接线,如上流程图。
    clip_image019

    2,设置方向条件参数,在分支的连接线上右键。

    3, clip_image021

    Ccbpm的方向条件设计模式的很多,这里因为不需要用户输入界面,所以您需要选择参数,这个方式来处理流程分支转向的问题。

    第2步:封装ccbpm的api。

    1 , 写一个webservices 并封装必要的ccbpm流程引擎的相关方法如下。

    2 clip_image023

    该方法里,封装了ccbpm的常用的,登录、创建workid、发送方法。

    第3步:创建一个测试的cs客户端程序

    该项目路径位于:D:ccflowvalue-addedDemoAndTestingIndustrialAutomationWorkflow

    clip_image025

    如上图所示:

    大概步骤如下,首先创建一个workid, 然后执行发送,让其进入一个循环,直到流程结束跳出循环。

    在循环体内,让其在发送前,接受外部用户输入的参数,把该参数传入工作流引擎,让其进行相关的分支转向操作。

    代码解析:

    这个是典型的使用webservices 来调用ccbpm的服务来获得控制条件。

    clip_image026
    clip_image027

    我们把工业流程运行规则定义在ccbpm的流程引擎里,然后通过服务发布出来该引擎的接口,我们写一个cs的测试程序来访问该服务,通过调用来访问ws的提供的流程服务。

    重要的是输入参数,让这个工业自动化流程走不同的分支,在运行的过程中,系统会记录来来整体运行的过程。

    也可以调用ccbpm的流程轨迹图,来呈现出来这个流程运行的轨迹。

  • 相关阅读:
    Again Prime? No Time.(uva10870+数论)
    Heaps(Contest2080
    Terminator快捷键
    Chrome快捷键
    STL函数static void (* set_malloc_handler(void (*f)()))()与函数指针解析
    C++中的new,operator new与placement new
    Qt5 中对 C++11 一些新特性的封装
    BFS提高效率的一点建议
    《C++ Primer》读书笔记 第三章
    《C++ Primer》读书笔记 第二章
  • 原文地址:https://www.cnblogs.com/ccflow/p/4903370.html
Copyright © 2011-2022 走看看