自動安排計劃
# 自動安排生產計劃
# 1. 說明
以下是FastERP2的計劃功能在TaskRunner中實現的功能的自定程式,可用於產生生產計劃、日程計劃與物料需求計劃。
# 2. 設計程式
TaskRunner 的初始示例中包含有此程式,自定程式的名稱為 fasterp2_updatepsplany
。下面介紹建立自定程式的流程。
點選
自定程式
選項卡,在自定程式界面中點選新建
按鈕,打開新建程式界面。在新建程式界面,填寫要設計的自定程式的基本資訊。如下圖所示。填寫完成點選
儲存
按鈕。返回自定程式列表界面,選擇剛才建立的自定程式,點選功能表欄中的
設計
按鈕,打開程式設計器界面。在程式設計器界面中輸入自定程式程式碼,程式碼示例如下。完成後,點選
儲存
按鈕。如需要測試效果,可在程式設計器界面中點選
運行
按鈕進行測試。需注意要提前設定好相關的參數取值。
程式中定義的參數說明如下:
名稱 | 說明 | 是否必填 | 預設值 |
---|---|---|---|
planyname | 計劃編排方式sdsort :所有訂單編排計劃(不累加)sd 所有訂單編排計劃(按照工廠周次累加)sdforecast 訂單結合銷售計劃編排計劃(按照工廠周次)sdaddforecast 訂單累加銷售計劃編排計劃(按照工廠周次累加) | 是 | |
plan_planytype | 如需要展開副零件, 設定為 part , 否則請留空 | 否 | |
mrp_planytype | 從生產計劃展開需求計劃,此項設定為0 。 | 否 | |
companyid | 公司ID,需設定好,主公司設定為 1 。 | 是 | |
mpstype | 日程計劃安排的方式 1 - 按照工作中心平均負荷,從后往前排2 - 按照工作中心有效負荷,從後往前排3 - 按照工作中心有效負荷,從前往後排 | 是 |
# 3. 呼叫執行
設計完成的自定程式可使用以下方式來呼叫執行。
# 3.1. RestAPI
使用瀏覽器或RestAPI 客戶端,訪問以下地址,執行自定程式呼叫。請將 {ip}
修改爲運行 TaskRunner 主機的IP地址,{port}
修改爲 TaskRunner WebSocket 服務端監聽的地址。自定程式運行需要自定義參數,參照以下方式執行。其中將 {}
標識的參數值替換為目標參數值。
http://{ip}:{port}?restapi=script&taskname=fasterp2_updatepsplany&planyname={planyname}&plan_planytype={plan_planytype}&mrp_planytype={mrp_planytype}&companyid={companyid}&mpstype={mpstype}
# 3.2. WebSocket
使用WebSocket客戶端,連線至 TaskRunner 中的 WebSocket 服務端。向 WebSocket 服務端發送以下文字實現自定程式的呼叫。自定程式運行需要自定義參數,參照以下方式執行。其中將 {}
標識的參數值替換為目標參數值。
{"action":"script","taskname":"fasterp2_updatepsplany","params":[{"name":"planyname","value":"{planyname}",{"name":"plan_planytype","value":"{plan_planytype}",{"name":"mrp_planytype","value":"{mrp_planytype}",{"name":"companyid","value":"{companyid}"},{"name":"mpstype","value":"{mpstype}"}]}
# 3.3. MQTT
使用 MQTT 客戶端,連線至 TaskRunner 連線的 MQTT 伺服器。MQTT 客戶端向 TaskRunner 訂閱的主題發送以下文字實現自定程式的呼叫。自定程式運行需要自定義參數,參照以下方式執行。其中將 {}
標識的參數值替換為目標參數值。
{"action":"script","taskname":"fasterp2_updatepsplany","params":[{"name":"planyname","value":"{planyname}",{"name":"plan_planytype","value":"{plan_planytype}",{"name":"mrp_planytype","value":"{mrp_planytype}",{"name":"companyid","value":"{companyid}"},{"name":"mpstype","value":"{mpstype}"}]}