研华智能设备控制器 MAS控制器

MAS控制器

MAS控制器

简单高效

模版框架介绍

120


为什么要使用模版框架?


  • 更快,更简单让您事半功N倍的程序框架

  • 基于模块化快速搭建一个设备程序

  • 4种模版框架,Open Source!

  • 简单扩展多工位,视觉!


模版框架特点


1. 基于模块化的模版框架

  • 框架就是毛坯房, 主结构好了, 再由使用者依需求对毛坯房施工成精装修房.

  • 框架是积木(模块)架构, 可以弹性组合.   每个模块独立运行, 透过信号交互!

Snipaste_2020-04-26_10-58-23.png   



2. 扩展方便 - 组合出自己框架      

因为模块化, 您也可以组合出自己的模版框架

    


3. 模版框架Open Source




框架适用性 - 模版框架种类   


依您的设备选择你需要框架


框架
OneTable
OneStation
TwoStation
TwoStation_TwoHead
对应机构

XYZ 平台

    

单工位单机头平台

    

双工位单机头平台

    

双工位双机头台

    
Task数量
23
4
5
Task模块
  1. Main.bas 模块

  2. Table.bas 模块

  1. Main.bas模块

  2. Header1.bas模块

  3. Slider1.bas模块

  1. Main.bas模块

  2. Header1.bas模块

  3. Slider1.bas模块

  4. Slider2.bas模块

  1. Main.bas模块

  2. Header1.bas模块

  3. Header2.bas模块

  4. Slider1.bas模块

  5. Slider2.bas模块


框架适用性 – 应用场合案例

    



如何使用

3步骤

(1) 选择框架

(2) 先开发子模块,并验证动作正常

(3) 开发主模块,将主模块与主模块串连起来

Snipaste_2020-04-26_10-32-30.png   

开启项目, 选择需要模版框架

    


   

模版中的模块说明


1. 4种模块说明

Snipaste_2020-04-26_10-25-05.png


2. 已具备功能与用户二次开发内容

Snipaste_2020-04-26_10-37-21.png   



3. 档案架构

以OneTable為例, 選擇框架後會看到左下專案樹圖, 裡面有2個任務(模塊), Main.bas 與Table.bas. 


        檔案架構.png


Main.bas與Table.bas. 內部的代碼已經依照功能分類封裝如下表:

主模块负责: 1)系統按钮处理 2)状态切换 3)错误处理 4)参数存档, 主模块不参与轴控制,而是透过内部讯号发命令给子模块(Table), 让子模块处理。

子模块负责:   1)btn_RUN运行按钮与用户自定义按钮处理 2)接收到主模块发出的讯号后,对轴与IO动作控制

訊號與檔案關係.png   


4. 模快间“自动运行”透过信号交互

當子模塊有2個以上時, 模塊裡面是透過交握信號進行交互, 例如OneStation框架, 包含滑台(slide)與機頭(head)2個子模塊. 2個模塊獨立運行, 透過SetAutoStart_HD訊號進行交互. 這個機制在多個子模塊時,架構變得簡單清楚,並且容易除錯! 例如前面提到的16軸點膠機,我們隨時可以知道每個模塊處在哪一個步驟. 

  • 滑台(slide)將工件移動到點膠點(點膠位置)後,便會送出SetAutoStart_HD訊號給機頭(head)模塊

  • 機頭(head)模塊運行到第3個步驟,會等待滑台(slide)的訊號, 直到收到訊號才往下運行.

Snipaste_2020-04-26_10-40-34.png   


5. 模块内部动作流程切换规则

1. 透过此规则可达成暂停功能

2. 每一步骤( CASE), 使用 AxIsReady()指令

3.   Step 能回传目前动作所在步骤, 让状态清楚


SELECT CASE CINT(Step)
CASE 0   
        BASE Z1
        IF AxIsReady(Z1)=1     THEN MoveABS 1000
        IF AxIsReady(Z1)=1     THEN Step=10       
CASE 10…
CASE 20…     
END SELECT   




6. 变量命名统一规则,增加可读性

变量名称
说明Example
HDMode
HD此变量是<Head机头模块>的模式

HDMode_Init
HDMode_Ready
HDMode_Auto
代表<Head机头模块>在Init模式
代表<Head机头模块>在Ready模式
代表<Head机头模块>在Auto模式

xxxSTEP
STEP代表此变量是<流程步骤>

xxxx_HD:
HD代表此变量是<Head机头模块>
actInit_HD1():机头1模块的初始化
xxxx_SL:
SL代表此变量是<Slide滑台模块>
actInit_SL1():滑台1模块的初始化
btn_xxxx:
btn代表此变量是<按钮>
btn_Home : 原点启动按钮
setXXXX:
set代表此变量是<输入引脚讯号>
setHome_SL : 启动滑台模块回原点
actXXX():
act代表此变量是<动作子函式>
actHome_SL() : 滑台模块回原点动作子函式
scanXXX():
scan代表此变量是<扫描子函式>
scanIO_main() : 主模块扫描IO子函式