mappSequence Demo常用操作说明

<< 点击显示目录 >>

主页  mappServices帮助手册 > mapp Sequence: 机器流程动态化  > 使用案例 > 测试Demo说明 >

mappSequence Demo常用操作说明

目录

①插入多层级平行指令

②mappView中如何通过Eventbinding保存Edit后的sequence文件

③在SequenceTable中显示对应的指令图片

④如何添加一个新的工序

⑤如何在界面配置运行参数

⑥如何改变上位parameter输入界面的单位显示值以及保留小数位数,输入数值范围等

⑦是否打开display command on widget显示效果差异

⑧如何通过mappSequence工艺文件或人机界面控制下位工艺逻辑执行顺序

 

①平行插入多层级的指令

 

首先在SlotMachine中选择对应的指令

clip0082

在Edit Sequence区域点击对应控件图片上的Insert parallel指令

 

clip0081

 

添加完成

clip0083

 

 

②通过Eventbinding生成Sequence文件

调用Sequence控件的SaveSequence Method并指定对应的文件名即可,文件会自动保存至SequenceCore中定义的Device中

后面可根据运行逻辑自行编写代码导入Sequence.xml文件

clip0068

 

clip0069

 

③在SequenceTable中显示对应的指令图片

SequenceTable中显示什么图片由Name和Hierarchy决定

clip0071   clip0072

 

 

clip0073

比如TakeOut就是用对应图片资源路径下的MovementCoffee组,名为TakeOut的图片显示取咖啡动作(注意这里图片的命名必须与SequenceCore中命名一致)

clip0075

 

clip0074

 

MovementCoffee组:

clip0076

 

clip0077

 

并且在eventbinding中需要针对不同的SequencerTableItemImageList绑定不同的SetSelectedImageIndex,注意第一列图代表的Hierarchy对应的Level为0,第二列图代表的Command对应的Level为1,这样SequencerStepItem就和用户选择的Hierarchy-Command对应起来了

clip0085

 

clip0086

 

 

④如何添加一个新的工序

以添加一个加热Heat工序为例:首先需要在SequenceCore的Command条目下新建一个名为Heat的Command,并在对应的SequenceCore指定的Root Namespace下指定Text- Heat,定义Hierarchy为Temperature

clip0079

clip0089

在SequencerTableItemImageList控件指定的媒体存储目录下插入预先准备好的图片,注意图片的命名必须与SequenceCore中定义的Hierarchy以及Command命名一致

clip0090

 

 

clip0091

 

clip0092

clip0093

在下位程序中新建MpSequencerCommandType的结构体变量Heat,并将其绑定至SequenceCore中的Command structure中

clip0094

clip0095

 

 

至此,配置完成,可以在下位程序中通过调用MpSequencerCommandType的结构体变量Heat完成逻辑控制

clip0078

实际显示效果:

clip0096

⑤如何在界面配置运行参数

在mappView设计界面中拖放SequencerStepItemParameterForm控件

clip0100

如果定义的配置参数来自SequenceFile,例如自带的Duration参数

clip0099

 

此时可以在SequenceCore的RootNamespace中修改界面所显示文字(注意这些Text ID都是默认的,可以查看MpSequence库中的Configuration.tmx查找)

clip0097

 

 

 

注意这里必须添加条件触发SequencerStepItemParameterForm控件的Submit指令才能将这些参数写入mappSequence中

 

clip0122

 

实际画面效果:

clip0129

输入参数后点击保存

 

clip0130

 

实际运行时Wait_21步即执行等待2s的工艺

 

 

 

如果定义的配置参数来自下位程序中定义

定义变量并赋值

clip0105

 

等待时间为10s

clip0110

在SequenceCore中绑定对应的变量

clip0108

使能OPCUA

clip0109

下载执行后发现Cool经过10s即完成对应工艺,并跳转到下一步

 

 

如果要定义多个参数

 

在下位程序中定义一个包含多个参数的结构体及其变量

 

clip0111

 

clip0112

编写下位控制逻辑

clip0113

 

 

在SequenceCore中配置对应的Parameter参数,注意命名必须与结构体中的变量名保持一致,否则后续无法识别,同时可在Root Namespace指定的TMX文件中定义文本信息

clip0114

 

clip0115

在SequenceCore的对应Command下绑定新建的参数结构体变量,并在下方的parameter中绑定新定义在SequenceCore中的参数变量

clip0116 绑定完成后:clip0117

 

使能OPC UA

clip0118

 

注意这里必须添加条件触发SequencerStepItemParameterForm控件的Submit指令才能将这些参数写入mappSequence中

clip0122

clip0123

 

 

并且只有系统运行到Cool Command时才会将指令写入下位变量

Coffee_20步未写入

clip0124

 

Cool__113步写入 CoolTemp以及CoolKind值

clip0125

 

工艺成功执行,降温后温度为20℃:

 

clip0126

⑥如何改变上位parameter输入界面的单位显示值以及保留小数位数

 

 

在Display栏进行调整

clip0119

 

调整前:

clip0120

调整后:

clip0121

 

注意系统自带的指令使用 Command.xxx 格式,如Command.Duration 、Command.Timeout来定义其保留小数位及单位值

 

⑦是否打开display command on widget显示效果差异

以SequenceStart为例,

未打开display command on widget显示效果:

clip0150

 

clip0151

 

打开display command on command显示效果:

clip0152

⑧如何通过mappSequence工艺文件或人机界面控制下位工艺逻辑执行顺序

MpSequenceCore成功导入sequence.xml文件后,运行条件条件成立,MpSequenceCore功能块的Ready to Start引脚变为TRUE,此时系统处于等待状态,等待Start指令

clip0063

 

经测试,mpSequence执行期间可以改变下位程序的变量,这意味着如果是老程序就必须修改下位程序的变量,进而修改执行某一段工艺的逻辑(下图中绑定了Basic任务中的SequCmd结构体变量,注意此时必须使用MpSequencerCommandType)

 

SequenceStart

 

clip0065

可见此时FB_MpSequenceCore.Start置1后,工艺流程按照配置的sequence.xml文件执行,并且当执行到AbsMove 命令时,下位程序SequCmd.Start的值会变为TRUE,这样就具备通过上位程序动态配置进而调整下位工艺的实现条件了:

 

clip0066

 

程序中的例子为:

clip0136