simis00873 / 3111 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from iqk168/3111
C++
This project forked from iqk168/3111
C++
//////////////////////////A6S3更新部分///////////////////////// V0.1Bb 1.九龍更新 2.修正CCD Patter 刪除功能 V0.1Ba 1.把編譯檔案移到外面硬碟 V0.1B 1.把ErrorCode 補齊 V0.1A~ 1.抽換RemoteControl 開Port 通訊層 2.新增Parser3111 為命令處理層 3.Include 的東西包到自己的資料夾中 ////////////////////Ken 更新部分//////////////////////////////// V1.0 1: Origneal Version V1.0Aa 1: 修正 Access Level登入權限,如果按下Cancel會錯誤登入Super User的權限 2: 修正 Interface 在Send Start Delay如果輸入0導致無法儲存的問題, 並且增加提示視窗 3: 修正 Run Page Tips, 提示 Catoregy 錯誤字串 4: 增加 Test Site Vacc 功能, 讓使用者可以關閉或啟動測試期間關閉 Vacuum V1.0Ab 1: Offset增加說明文件功能,說明文字檔案在\System\3111.OfNote 2: Setup Page, TrayMap Setting 變更文字為 Tray Map Setting 3: Setup Page, IO Montior 修正為 IO Monitor 4: Setup Pagem Tray Map Setting表單, 內頁標題由Input / Output Tray修改為 Tray Map Setting 5: Manaul Contact, TS Offset 表單標題增加單位 (mm) 6: Manual Contact,在Enable Manual Contact增加Test Site Direct Contact 選項,Enable後,在Manual Contact會出現 Contact模式選擇,可以選由Shuttle Input入料,或是直接放到Soaket 7: Manual Contact,在Enable Manual Contact增加Test Site Vacc功能 選項,Enable後, 在Manual Contact會出現Ts Vacc模式可以選擇, 如果關閉,那麼如果由Shuttle入料,則會關閉Vacc,避免Vacc太大聲的噪音 8: Shuttle 增加入料檢查, 當Shuttle 移動到入料區(TestSite)下方,再檢查一次Jam sensor, 避免移動的過程中IC Jam, 導致 Wrokpress 壓壞IC, TestSite Skip 會重新入料, 此ErrorCode 為 605 Shuttle Input Jam 9: Tray File 表單標題移除 List, 修改為 Tray File 10:Tray File 修改 Base File 的長度 11:在Run Page 如果在Device Setup選好TrayFile,但是還沒建立新的工單,那麼可以直接由系統模式的文字方塊 點選切換Mode 12:Test Site Remain IC可以由Debug Function用來設定該客戶是否需要啟動該功能 13:Shuttle Jam Log, 如果在Shuttle 移動到 Test Site 下方那麼就會Log, _ShuttleJam.txt V1.0Ac 1: Device Setup, TrayFile修改為Drop List, 避免內容被改到 2: 增加 Repeat Tray 功能 3: 在沒有建立工單的情況, 可以由 Run Page 的檔案資訊欄叫出Device Seup 修改 Tray File 4: 在沒有建立工單的情況, 可以由 Run Page 的檔案資訊欄叫出Repeat Tray 修改設定 5: Run Page 增加 Visual Panel 方便使用 6: Run Page 增加 Tray Stat 功能, 用來檢視, 目前 Repeat Tray 取/放的資訊 7: Run Page 增加 Tray Color 功能, 用來調整 Repeat Tray 顯示資訊, 當下Tray File的模式 V1.0Ad 1: 可透過 m.Setting.m_bCancelDoubleChkChange, 如果有改變參數, 決定離開表單要不要向使用者確認,1表示要確認 2: 增加即時讀取 Test Site Drive, Torque status(%) 功能, 接上馬達連接線, 並且在Com Port欄位設定相對應連接口 然後到 \System\3111.System 把 Enable Torque Status=1 設定為1, 那麼重開軟體, Initial 結束後, 就會開始讀取Torque 3: 修正讀取 CDriverMotorTorqueControl 產生的問題 4: Repeat Tray, Max Value, 在 Basic Setting 改為可以設定, 而非 Disable 5: 修正 Alarm Mail 解構造成關程式的 Delay 6: 修正 West 解構造成關程式偶發 Memory leak V1.0Ae 1: 修正 CWest 關執行緒的不穩定的問題 2: 修正 Repeat Tray Output Z down V1.0Af 1: 增加 Lamp Setup 功能, 可自由設定 三色指示燈的行為模式 2: 修改 Ts Counter 改為可以讓 Engineer 修改 3: 修改 Ts Counter 可以由 Run Page 打開, 並根據不同的權限, 決定可不可以清除 4: 增加 DMSG 用來紀錄開機的過程是否正確 5: 修正 Lot Done Prograss, 改為要 Handle Thread 是否被關閉 6: 修改 UpdataMainMsg, 讓 Door Disable 改變為閃爍 7: 修正 OpenCamera(int nCamID, bool bDisplayProperties, int nWidth, int nHeight), 當 Camera 全部移除時, 程式啟動造成的當機 8: 修改, 移除 CMotor 內全部的 MC8141PSetRange(pAxis->BoardID, 0, 8000000); 9: 修正, CMotor, MotorRunAway 裡面的速度, 由載入檔案速度修改為固定 10%速度, 以避免Initial ArmXY 原點不穩定 10: 修正 CThIOReadWriteRemoteIO::SetTorque(), 無法設定到 10 Volt的問題 11: 修正 Jam Rate Report 計算總數量的錯誤 12: 修正 CCameraDS::CloseCamera(), 沒有先 Detach(); , 造成解構時 return code 異常 13: 修正 InitOutputColor, 沒有載入顏色的問題 14: 新增 Arm Log Image 功能, 運轉中每次放 IC 前要取像, 每次建立一筆新的工單都會根據工單產生一份資料夾, 用來儲存檔案 ( 檔名格式 : 002_Tray1_001.jpg ( ICLocation_TrayFrom_RepeatTimes.jpg ), 資料夾格式 : yyyy_mm_dd_hhss_LotNo 15: 增加 Tray File Mode, Remote 項目 16: 增加 GDIPlus, // GDIPlus 類別, 用來轉檔 17: 修正 LoadCounter, SaveCounter 寫錯陣列的問題 18: 修改 預設不再變更 AutoSkip 的選項, 跟隨檔案紀錄 19: 修正 ThIOReadWritaRemoteIO 移除 ND_ReadBackDO 以避免開啟 HeaterOn 異常 20: 修改 Lot Information 可以選擇 TrayFile 21: 修改 Lot Done Progress 自動消失 V1.0Ag 1: 修改 _InitialInPosRange 由 1 修改為 2, 避免Initial 容易 Timeout 2: 修改 MotorRunAway, 修改下命令前的等待時間, 避免 pulse 移動前造成誤判 3: 修改 MotorRunAway, 修改 確認到位沒有誤判 V1.0Ah 1: 修改 Manual Contact, Torque 修改為 Contact Force 2: 修改 Summary Report 表單, 標題由 Summary Report List 修改為 Summary Report 3: 修改 Offset 表單, Input(Place), Ouput(Pick) 修改為 Place, Pick, 避免客戶混淆 4: 修改 IO Monitor 表單, Rotator 內 Missing LED 修改為 Present 5: 新增 Manual Contact, 增加操作說明 6: 新增 Offset, OffsetTs 增加單位說明 7: 修改 Extend Function, 如果 Rotator 功能關閉, 則不顯示選項, 如果啟動, 則顯示選項, 以避免客戶混淆 8: 修改 各頁面表單, 如果該頁面是根據 TrayFile, 則頁面會標示為 Tray, 如果該頁面是跟隨 Machine 則頁面會標示 Machine, ex: TrayFile -> [Tray File Information], Machine -> [Machine File Information] Handler: TrayColorDef, AutoRetry, RepeatTray, TowerSetting, Motor Monitor, Alignment, TS Counter, Alarm Mail Tray: Site Setting, Yield Control, Offset, Speed, Timer, Catoregy, Offset TS 9: 移除 Simulation Setting 相關參數 10: 移除 Loop Test 相關參數 11: 增加 ErrorCode: enCodeTestSiteMoveICMissing (606 Test Site move to place, IC missing), 當 Test Site 下降去 Socket 放IC時, 則如果連續檢查到35次IO關閉,則表示IC掉落, 則會將 Test Site拉起, 然後發出Alarm, 請使用者按下 Test Site Skip 移除 掉落IC後, 繼續運轉 12: 修改 Arm Log Image, 只有啟動該功能, 才新增資料夾 13: 修改 Initial 的時候, 如果 Shuttle 已經停在 Pick/Place的位置, 則最後才回到 Home 以避免如果Initial時, 最後停的位置是 TestSite到Shuttle Pick IC, 會造成 TestSite 升到一半, 突然被拉回 Home,導致Workpress損壞 14: 修改 如果關程式, 最後停的位置是 TestSite到Shuttle Pick IC, 會造成關程式後 Shuttle 會拉住 Test Site 造成 Wrokpress 損傷 因此 發現最後停的位置是 Pick/Place位置, 則強迫設定到 Pick/Place的位置 15: 修正 Tester Setting, Interface Setting IP 顯示錯誤的問題, 新增 GetHandlerIPAddress() 取得正確IP V 1.0Ai 1: 修正 Error Code, 509 如果在 Shuttle Pick IC 的時候, 如果 Retry 會造成返回放IC ArmLog 取值錯誤, 導致 放到 -1 的錯誤位置, 已修正 V 1.0Aj 1: 增加 MoveOffnNLimit, 確保 Initial 一定會正確離開負極限 2: 修改 Arm Z Initial, 將 MotorMovetonLimt 變更為 MotorMovetonNLimt, 以確保訊號正確, 不會因為短暫極限訊號閃一下, 造成系統 Initial 異常 3: 增加 Pass/Fail 模式在Repeat Tray, 因此修改 GetRepeatTrayModeMoation(), 增加 ResetInputStatus() 增加 ErrorCode: enCodeArmOutputTray1Full (516 Tray1 Fail Full), enCodeArmOutputTray2Full (517 Tray2 Fail Full) 4: 增加 SLT Protocol 功能, 5: 增加 RemoteErrorMessage, 用來傳送 Event 事件 6: 修正 enToOutputHomeEnd, 寫入 BinLog 錯誤, 導致無法正確產生報表 7: 修正 Initial 減少單機模擬時的時間 8: 新增 InitialMissionOnTheGo(), SetRemoteCoordRequest(), GetRemoteCoordRequest(), 通知 ThArm 開始執行 Coordnation 任務 V 1.0Ak 1: 修正 SLT Protocol 永遠無法開啟成功的錯誤 2: 增加 tagRemoteCtrlFun, 用來開啟與設定相關功能 V 1.0Al 1: 修改 SLT Protocol 行為模式, 增加 SetStateErrorCtrlDone 2: 修改 SLT Protocol 的目前 baund rate 115200 -> 9600 3: 修正 SetSiteTemp 沒有限制溫度的問題, 並且把限制開為 145.00 4: 新增 UpdateYieldSetting, 避免 RunPage 的良率表格閃爍 V 1.0Am 1: 新增 SLT Protocol 命令, SetTestSiteVacc, 當測試時, 用來關閉, Test Site Vacc 2: 在 SetErrorMessage 內, Demo 模式增加 3: 增加 RepeatTrayReport 功能,在Repeat Tray模式下, 如果設定為 Both/Disable, Disable/Both, Both/Both 將會產生報表, 但是 Bin(H/W) 因為沒有根據H/W 分Bin, 因此預設值為 None V 1.0An 1: 新增 CDlgTrayMapRepeat 表單, 用來表示Repeat Tray模式下, 目前Tray Map的格式 # 增加 RepeatTray, TrayMap相關TrayMap功能,SaveTrayMapRepeat, LoadTrayMapRepeat, AddTrayMapRepeat # 增加 LotDoneClearTrayMapRepeat, 在 LotDone 時, 清除 Repeat Tray 的相關資料 # 新增 _Output_Stack_Number, m.TrayMapRepeat, 用來處理Repeat Tray相關的TrayMap資料 # 修改 CViewTrayMap 配合 RepeatTray 模式下的繪圖 # RepeatTray TrayMap 2: 在 Demo 模式下, 會啟動 RS232/TCP/IP V 1.0Ao 1: 修改 在 Demo 模式下, 會關閉 RS232/TCP/IP 2: SLT Protocol 修改 # 增加 CDriverTestInterfaceTCP (m_TesterInterfaceTcp), TCP/IP 層 # 修改 Cordnation 初始值Col,Row,Tray 的預設值由-1,轉為0 # 增加 GetBaudRate 取得 當前 BaudRate 數值 3: 修改 Initial (Page Initial) 畫面, 把把即時顯示的表單拉長, 以避免資料蓋過 4: 修改 Interface Setting, TCP/IP 的切換, 以避免顯示斷行 5: 新增 User Page 的 SLT Protocol Dialog, 包括Basic Setting用來顯示設定, Monitor用來即時顯示訊息, Help 用來顯示目前的指令集 V 1.0Ap 1: SLT Protocol 修改 # 增加 InitTestInterfaceExcute, 將 ProcessCommand, 獨立出來處理 V1.0Aq 1: SLT Protocol 修改 # 修改 SETCOORDNATESRETURN, <<SETCOORDNATIONRETURN: DONE>> 修改為 <<SETCOORDINATESRETURN: DONE>> V1.0Ar 1: SLT Protocol 修正 # 修正 ReadTCP, 因為未分離 TCP, Serial 資料層造成解碼錯誤 V1.0As 1: 增加 Repeat Tray Yield Rate V1.0At 1: 在 Setup Page, TrayMapSetting, 如果在啟動Repeat Tray的情況下 啟動 TrayMapSetting, 會轉為 Repeat Tray 2:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.