<< 点击显示目录 >> 主页 mappServices帮助手册 > mapp Sequence: 机器流程动态化 > 使用案例 > 测试Demo说明 > mappSequence Demo常用操作说明 |
•②mappView中如何通过Eventbinding保存Edit后的sequence文件
•⑥如何改变上位parameter输入界面的单位显示值以及保留小数位数,输入数值范围等
•⑦是否打开display command on widget显示效果差异
•⑧如何通过mappSequence工艺文件或人机界面控制下位工艺逻辑执行顺序
首先在SlotMachine中选择对应的指令
在Edit Sequence区域点击对应控件图片上的Insert parallel指令
添加完成
调用Sequence控件的SaveSequence Method并指定对应的文件名即可,文件会自动保存至SequenceCore中定义的Device中
后面可根据运行逻辑自行编写代码导入Sequence.xml文件
SequenceTable中显示什么图片由Name和Hierarchy决定
比如TakeOut就是用对应图片资源路径下的MovementCoffee组,名为TakeOut的图片显示取咖啡动作(注意这里图片的命名必须与SequenceCore中命名一致)
MovementCoffee组:
并且在eventbinding中需要针对不同的SequencerTableItemImageList绑定不同的SetSelectedImageIndex,注意第一列图代表的Hierarchy对应的Level为0,第二列图代表的Command对应的Level为1,这样SequencerStepItem就和用户选择的Hierarchy-Command对应起来了
以添加一个加热Heat工序为例:首先需要在SequenceCore的Command条目下新建一个名为Heat的Command,并在对应的SequenceCore指定的Root Namespace下指定Text- Heat,定义Hierarchy为Temperature
在SequencerTableItemImageList控件指定的媒体存储目录下插入预先准备好的图片,注意图片的命名必须与SequenceCore中定义的Hierarchy以及Command命名一致
在下位程序中新建MpSequencerCommandType的结构体变量Heat,并将其绑定至SequenceCore中的Command structure中
至此,配置完成,可以在下位程序中通过调用MpSequencerCommandType的结构体变量Heat完成逻辑控制
实际显示效果:
在mappView设计界面中拖放SequencerStepItemParameterForm控件
•如果定义的配置参数来自SequenceFile,例如自带的Duration参数
此时可以在SequenceCore的RootNamespace中修改界面所显示文字(注意这些Text ID都是默认的,可以查看MpSequence库中的Configuration.tmx查找)
注意这里必须添加条件触发SequencerStepItemParameterForm控件的Submit指令才能将这些参数写入mappSequence中
实际画面效果:
输入参数后点击保存
实际运行时Wait_21步即执行等待2s的工艺
•如果定义的配置参数来自下位程序中定义
定义变量并赋值
等待时间为10s
在SequenceCore中绑定对应的变量
使能OPCUA
下载执行后发现Cool经过10s即完成对应工艺,并跳转到下一步
•如果要定义多个参数
在下位程序中定义一个包含多个参数的结构体及其变量
编写下位控制逻辑
在SequenceCore中配置对应的Parameter参数,注意命名必须与结构体中的变量名保持一致,否则后续无法识别,同时可在Root Namespace指定的TMX文件中定义文本信息
在SequenceCore的对应Command下绑定新建的参数结构体变量,并在下方的parameter中绑定新定义在SequenceCore中的参数变量
绑定完成后:
使能OPC UA
注意这里必须添加条件触发SequencerStepItemParameterForm控件的Submit指令才能将这些参数写入mappSequence中
并且只有系统运行到Cool Command时才会将指令写入下位变量
Coffee_20步未写入
Cool__113步写入 CoolTemp以及CoolKind值
工艺成功执行,降温后温度为20℃:
⑥如何改变上位parameter输入界面的单位显示值以及保留小数位数
在Display栏进行调整
调整前:
调整后:
注意系统自带的指令使用 Command.xxx 格式,如Command.Duration 、Command.Timeout来定义其保留小数位及单位值
•⑦是否打开display command on widget显示效果差异
以SequenceStart为例,
未打开display command on widget显示效果:
打开display command on command显示效果:
⑧如何通过mappSequence工艺文件或人机界面控制下位工艺逻辑执行顺序
MpSequenceCore成功导入sequence.xml文件后,运行条件条件成立,MpSequenceCore功能块的Ready to Start引脚变为TRUE,此时系统处于等待状态,等待Start指令
经测试,mpSequence执行期间可以改变下位程序的变量,这意味着如果是老程序就必须修改下位程序的变量,进而修改执行某一段工艺的逻辑(下图中绑定了Basic任务中的SequCmd结构体变量,注意此时必须使用MpSequencerCommandType)
可见此时FB_MpSequenceCore.Start置1后,工艺流程按照配置的sequence.xml文件执行,并且当执行到AbsMove 命令时,下位程序SequCmd.Start的值会变为TRUE,这样就具备通过上位程序动态配置进而调整下位工艺的实现条件了:
程序中的例子为: