用户中心
· 企业空间 首页 | 资讯 | 技术 | 产品 | 企业 | 直播 | 专题 | 智能制造 | 论坛| 在线研讨会
紫金桥软件技术有限公司
企业空间 > 案例应用 > 正文
  • 紫金桥软件中如何实现“配方”功能
  • 发布时间:2013/1/7 14:49:19   修改时间:2013/1/7 14:49:19 浏览次数:1555
  • 紫金桥软件作为一款强大的现场控制软件平台,具有丰富的现场控制功能,灵活的配方处理方式就是其中的一个典型代表。
    我们平常说的配方指的是是几中原料间的配比关系,比如药方,营养配方等等。紫金桥软件中的配方不仅仅指原料间的配比关系,还包括温度压力等因素。从实质上来说,紫金桥软件中的配方,就是把一组变量依照不同的配方名和一组组的数据对应起来,当在脚本中加载不同的配方时,利用对应的数值给变量赋值的过程。
    这里介绍两种配方处理方式,一种是利用紫金桥软件中的配方组件完成配方,另一种是利用紫金桥自由报表强大的与关系数据通讯的能力实现配方的功能。
     
    设计要求:
    这里以一个面包加工的工艺为例,针对不同类型的面包,配置面粉,白糖,食盐,水,黄油的含量,要实现的配方功能如下:
    1.      自由选择使用的配方
    2.      下置配方
    3.      修改配方
    4.      增加/删除配方
     
    具体功能:
    一.             利用配方组件
    紫金桥在线帮助中提供了一个利用配方组件实现配方的例子,这里是对该例子的扩展。
    由于涉及到修改配方,为避免修改过程中对现场生产产生影响,这里选用中间变量做配方的处理单元。如果系统运行时没有增加/修改/删除报表的功能,可以直接用相应的数据库点作为处理单元。使用中间变量作配方的处理单元时,每次使用配方都需要和数据下置开关一同使用。
    步骤一:定义实时数据库点
    首先定义几个数据库点用来表示现场各物理量。
    切换导航器到数据库页,双击点组态启动点组态管理程序,使用点组态管理程序创建如下数据库点:
    点名
    点说明
    类型
    Flour
    面粉
    模拟IO点
    Salt
    食盐
    模拟IO点
    Sugar
    白糖
    模拟IO点
    Water
    模拟IO点
    Butter
    黄油
    模拟IO点
     
    步骤二:定义中间变量
    定义如下中间变量,作为配方的直接处理单元。
    变量名
    说明
    类型
    Flour_T
    面粉
    实型
    Salt_T
    食盐
    实型
    Sugar_T
    白糖
    实型
    Water_T
    实型
    Butter_T
    黄油
    实型
    CurName
    显示当前配方名
    字符型
    NewName
    新建配方名
    字符型
    nUpdate
    下置数据开关
    整型
     
    步骤三:创建配方
    把导航器切换到画面页,在“自定义/配方”项上点击鼠标右键,选择右键菜单中“创建”项,创建一个新的配方。展开配方,在新创建的配方上点击右键,选择“名称”给此配方另起一个新的名称,在这里起名为Re。双击配方Re弹出配方编辑对话框,在此对话框中做如下的设置:
     
    在变量栏中填入已经创建的中间变量点名,在配方名栏里填入每一条配方的名字,在中间输入每一个中间变量下的对应值。然后使用行列操作,删除多余的行和列,点击保存按钮保存对配方的设置。
    步骤四:创建画面
    把导航器切换到画面页,双击“窗口”项,创建一个新的窗口,窗口名默认为“Draw1”并在窗口中绘制如下的画面:
     
    双击面粉右侧的字符串,在弹出的动画联接对话框中,点击 按钮创建一个模拟输入输出动画联接,把此字符串和Flour_T关联起来。同样,将左侧的文本与对应的中间变量相关联,右侧的文本与数据库点相关联。当前使用配方处的文本与中间变量CurName相关联。
    步骤四:使用脚本调用配方
    选择配方:完成配方的选择并使用,双击“选择”按钮,在动画关联对话框中选择 ,在“按下鼠标”动作中输入如下的脚本:
    String cs;
    #Re.Select(cs);
    if StrLen(cs) > 0 then
        CurName = cs;
        #Re.Load(cs);
        nUpdate = 1;
    endif
    这样当使用鼠标点击此按钮时,就会弹出配方选择对话框,如果用户选择了配方,并且点击了“确定”按钮,那么#Re.Select(cs)语句运行之后cs的值将变成用户选择的配方的名字,否则它的值为空。当它的值不为空时我们调用#Re.Load(cs)来加载该配方即可。
    其中,nUpdate = 1用来控制中间变量向数据库变量赋值,起到下置数据开关的作用。这需在画面的应用脚本中作一些相关的设置。
    将导航器切换到“画面”页,选择“脚本”下的“应用”,打开,在“程序周期执行”里输入如下脚本:
    if nUpdate == 1 then
        nUpdate = 0;
        Flour.PV = Flour_T;
        Sugar.PV = Sugar_T;
        Salt.PV = Salt_T;
        Water.PV = Water_T;
        Butter.PV = Butter_T;
    Endif
    这样,当nUpdate = 1时,系统会自动将每一个与配方有关的中间变量赋值给相应的数据库变量,完成配方值的下置。注意:必须将nUpdate赋值为0,防止不断赋值。
    增加配方:这里把新加配方单独做成一个窗口,新建过程和前一个窗口一样,窗口名默认为“Draw2”,效果图如下:
    首先在“Draw1”窗口中,需要在增加按钮中添加脚本动作,双击“增加”按钮,在动画关联对话框中选择 ,在“按下鼠标”动作中输入如下的脚本:
    Display("DRAW2");
    用此脚本打开“Draw”窗口。
    然后设置“Draw2”窗口中的各项。将各量对应的文本与相应的中间变量进行关联。
    将填入配方名的文本框命名为Name。选中该文本框,在软件的左下角属性框处,填入对象的名称,如下:
    最后设置确定按钮,双击“确定”按钮,在动画关联对话框中选择 ,在“按下鼠标”动作中输入如下的脚本:
    NewName = #Name.Text;           //获得文本框中内容
    if NewName == "" then           //判断文本框中内容是否为空,为空则返回
        MsgBox("请输入配方名!");
        return;                     //不执行剩余脚本
    endif
    if #Re.Add(NewName)==0 then     //以文本框内容为名称新增配方,如果返回值为0
        MsgBox("此配方名已存在!"); //则与已有配方名冲突,
        return;                     //返回,不执行剩余脚本
    endif
    #Re.Save();                     //保存新增配方
    CloseCurWindow();               //关闭当前窗口
    这样,运行时点击“确定”按钮时,首先在对应的各量处输入新配方的各个量的值,并设置一个配方名,如果新增的配方名不为空,并且不与已有配方名冲突,新配方就可以添加并保存,“Draw2”窗口也会相应关闭。
    修改配方:返回“Draw1”窗口,设置修改配方按钮,双击“修改”按钮,在动画关联对话框中选择 ,在“按下鼠标”动作中输入如下的脚本:
    #Re.Modify(CurName);
    #Re.Save();
    这样,使用“修改”按钮时,就会按照当前各个量的值修改当前选择的配方。
    删除配方:双击“删除”按钮,在动画关联对话框中选择 ,在“按下鼠标”动作中输入如下的脚本:
    String cs;
    #Re.Select(cs);
    #Re.Delete(cs);
    #Re.Save();
    这样,在使用“删除”时,就会弹出配方选择的对话框,如果用户选择了配方,并且点击了“确定”按钮,那么#Re.Delete(cs)语句运行之后选择的配方就会被删除。调用#Re.Save()保存当前设置。
    步骤六:运行系统查看结果
    运行整个系统,即可实现设计要求的功能。包含配方的选择,增加新的配方,修改当前配方,删除配方等。
     
    总结:
    紫金桥配方功能,使用方便,易理解、易上手,并且具有配方保护的功能,在多个行业中都有成功的应用。比如长城润滑油的防冻液调和系统,不仅能够精确控制配方比例,节约原料成本,而且能够保护配方的细节,保证配方信息的安全性,赢得了用户的一致好评。
  • 企业介绍
紫金桥软件技术有限公司(RealSoft)是由中石油出资成立的专门从事计算机软件产品开发的高新技术企业,是中国石油天然气集团的软件开发基地。公司专注于自主知识产权软件产品“实时数据库系统”和“监控组态软件”的开发与推广工作,以为企业集团及客户…  更多>>
  • 联系方式

紫金桥软件技术有限公司

联系人:李磊

地址:黑龙江省大庆市高新区服务外包产业园C1-817室

邮编:163316

电话:400-6996-515

传真:0459-8151391-808

公司网址:http://www.realsoft.cc

  • 该空间手机版

扫描此二维码即可访问该空间手机版

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件:
您还没有登录,请登陆,
如果您还没有注册,点击这里注册.
  • 网友反馈
  • 戴永铁 在2024/6/11 14:51:00留言
  • 留言类型:贵公司产品销售人员联系我,贵公司技术支持人员联系我,
  • 详细留言:需要制药工业领域的实时库报表,包含矩阵配?、参数配方、数据(统计和历史)、曲线、事件、报警、审计追踪,这些内容可以组态化
  • 晓同 在2024/5/16 11:06:00留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:紫金桥组态软件V6.5,512点授权
  • 在2023/10/21 16:03:00留言
  • 留言类型:贵公司技术支持人员联系我,
  • 详细留言:OPC
  • 郑鑫汶 在2023/6/1 14:58:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:需要咨询贵公司软件的价格功能
  • 吴吉校 在2023/3/15 7:45:00留言
  • 留言类型:我想得到贵公司产品详细资料,我想得到贵公司产品的价格信息,我让贵公司产品销售人员联系我,我让贵公司技术支持人员联系我,
  • 详细留言:组态软件咨询
更多请进入空间管理中心查看
关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688
我要反馈