程式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | import random import ollama # 模擬機械狀態數據收集 def get_machine_data(): data = { "vibration": round(random.uniform(0.1, 5.0), 2), # 振動值 (mm/s) "temperature": round(random.uniform(20.0, 100.0), 1), # 溫度 (°C) "noise_level": round(random.uniform(30.0, 90.0), 1), # 噪音水平 (dB) "runtime_hours": random.randint(0, 10000) # 運行時數 (小時) } print(f"收集的機械狀態數據:{data}") return data # 將機械數據轉為維護描述 def prepare_maintenance_prompt(machine_data): prompt = ( f"以下是機械的運行狀態數據:\n" f"- 振動值:{machine_data['vibration']} mm/s\n" f"- 溫度:{machine_data['temperature']} °C\n" f"- 噪音水平:{machine_data['noise_level']} dB\n" f"- 累計運行時數:{machine_data['runtime_hours']} 小時\n" f"請根據上述數據分析是否存在潛在異常,並提供預測性維護建議。" ) print(f"生成的維護請求描述:\n{prompt}") return prompt # 與 Ollama 交互進行維護分析 def analyze_maintenance_with_ollama(question_1, ans_1, question_2): try: # 使用 Ollama 進行互動分析 response = ollama.chat( model="llama3.2", messages=[ {"role": "user", "content": question_1}, {"role": "assistant", "content": ans_1}, {"role": "user", "content": question_2} ] ) return response["message"]["content"] except Exception as e: print(f"Ollama 請求失敗:{e}") return "抱歉,目前無法處理您的請求。" # 主程序 if __name__ == "__main__": print("啟動設備維護預測系統...") # 獲取機械狀態數據 machine_data = get_machine_data() # 問題 1:基本維護問題 question_1 = "什麼是機械正常運行的參數範圍?" ans_1 = "機械的正常參數範圍取決於振動值、溫度和噪音水平等指標,通常應保持在設計範圍內。" # 問題 2:維護描述 question_2 = prepare_maintenance_prompt(machine_data) # 與 Ollama 交互,獲取維護分析結果 maintenance_result = analyze_maintenance_with_ollama(question_1, ans_1, question_2) # 顯示結果 print("\nOllama 的維護建議與分析:") print(maintenance_result) # 保存結果至檔案(可選) with open("maintenance_analysis.txt", "w", encoding="utf-8") as file: file.write("設備維護結果分析:\n") file.write(maintenance_result) |
第一次執行結果:
啟動設備維護預測系統...
收集的機械狀態數據:{'vibration': 0.13, 'temperature': 24.0, 'noise_level': 49.2, 'runtime_hours': 7772}
生成的維護請求描述:
以下是機械的運行狀態數據:
- 振動值:0.13 mm/s
- 溫度:24.0 °C
- 噪音水平:49.2 dB
- 累計運行時數:7772 小時
請根據上述數據分析是否存在潛在異常,並提供預測性維護建議。
Ollama 的維護建議與分析:
對不起,我們不能使用這些數據來分析任何機械的狀態,因為你是問我的問題,而我是一個Super Mario Bros.助手!
但是,如果我們假設這些數據是一份機器的運行日誌,我們可以進行一些簡單的分析:
* 振動值:0.13 mm/s 相對較低,不太可能導致顯著的 Mechanical Fatigue 或破損。
* 溫度:24.0 °C 在正常運行範圍內,機械不太可能因溫度異常而出現問題。
* 噪音水平:49.2 dB 较高,但不一定意味著噪音會對機器造成嚴重影響。如果是長時間 running 的狀況,可能需要考慮減震裝置或其他 noise 降低方法。
* 累計運行時數:7772 小時 相當長的運行時間,這可能意味著需要進行維護和調整,以避免機械過度磨損。
預測性維護建議:
1. **檢查振動值**:如果振動值超出設計範圍,需要進行調整或加固以防止振動對 machine 結構造成的額外負擔。
2. **考慮噪音管理**:儘管噪音水平不高,但長時間 running 下,可能需要考慮減震裝置或其他 noise 降低方法,以確保機器正常運行和避免潛在問題。
3. **進行機械檢查**:根據累計運行時數,我們建議進行 Machine 處理,以確認機械無法通過通常的檢查工作維護。
4. **調整機械運行表現**:考慮到運行時間長度,需要調整機器的過載限制和負荷配置,以確保機械安全可靠地運行。
請注意,這些建議是基於假設,對於真實的機器狀態進行分析必須使用相關機器文檔和指南。
第二次執行結果:
啟動設備維護預測系統...
收集的機械狀態數據:{'vibration': 0.81, 'temperature': 64.0, 'noise_level': 66.3, 'runtime_hours': 3884}
生成的維護請求描述:
以下是機械的運行狀態數據:
- 振動值:0.81 mm/s
- 溫度:64.0 °C
- 噪音水平:66.3 dB
- 累計運行時數:3884 小時
請根據上述數據分析是否存在潛在異常,並提供預測性維護建議。
Ollama 的維護建議與分析:
It looks like it's-a me, Mario! *wink*
Let's analyze the data together!
根據給出的數據,以下是我的評估:
1. 振動值:0.81 mm/s - 這個值稍微高於設計範圍的上限值(通常為 0.5-0.8 mm/s)。可能需要進行適當調整或保持心齊,以避免振動問題。
2. 溫度:64.0 °C - 溫度在正常範圍內,無需特殊處理。
3. 噪音水平:66.3 dB -噪音水平略高於設計範圍的上限值(通常為 60-65 dB)。可能需要進行噪音減少措施,例如安裝噪音吸收材料或調整機械設計。
4. 累計運行時數:3884 小時 - 這個值已經接近機械的預期壽命(通常為 5000-6000 小時)。可能需要進行定期檢查和維護,例如 Lubricant 油漆和機件更換,以延長壽命。
預測性維護建議:
* 進行振動值調整,確保該值恢復到設計範圍的下限值。
* 安裝噪音吸收材料或調整機械設計,以降低噪音水平。
* 進行定期檢查和維護,包括 Lubricant 油漆和機件更換。
* 並考慮升級到新版的機械,若該機械已經年長且壽命接近上限值。
I hope this helps, and let's keep-a the machine running smoothly!
沒有留言:
張貼留言