1.父類的功能是通用功能,所有子類都含有父類的功能,重寫會自動執行一次父類的功能。
2.每個子類都用了父類的注冊vi,所以在調用的時候,出來的就是子類注冊的vi,也就是window.vi。
3.假如要設計一個父類的vi,首先是保存和讀取,要能保存所有繼承父類的子類。
20190705
1.
管理類:實體類隊列,參數類數組
參數類數組用于類型判斷,實體類隊列用于全局應用
實體類:參數類隊列
參數類:設置簇
2.
動態方法不允許動態調用,例如window需要重用,而且需要異步不阻礙其他線程
假如需要動態異步調用,則需要新增一個靜態方法,這個靜態方法去
調用動態方法
3.退出用用戶注冊的方法有時候無法退出,
用時間超時去讀取父類隊列的狀態,判斷父類是否銷毀,
假如已經銷毀則退出。
2019年8月30日10:13:29
1.VI設置為不可重入,然后設置為異步,可以正常插入子VI
2.window統一用隊列狀態退出為好
2020年2月26日09:36:36
1.繼承windowclass是為了有窗口功能,包含para隊列是為了將參數變為全局
2.保存用write
3.manager是一個總覽頁面
4.如果用window里面的setting作為參數基類來繼承和自己寫一個參數基類繼承是一樣功效的
因為windowclass建議少改,所以自己寫一個參數基類來滿足對應的功能會更好
5.manager中因為要輸入路徑 而父類create中是沒有輸入路徑的接線端,所以要另外寫一個
create
2020年2月27日11:57:11
1.xcotrol 判斷狀態是否更新,是用于更新寄存器的值
2020年3月3日15:23:43
1.manager類
包含所有設備類的para數組和所有設備類的隊列
此處的param是基類的para
此處的queue是基類的queue
不能是子類的,這樣會導致基類的參數不完善,也無法解釋子類
(基類的意思是設備類,不是串口或者網口類)
para數組用于存儲讀取出來的para
para類用于存儲para
在createmanager的時候讀取para數組
在add device的時候,校驗參數并賦值給設備類
manager不能直接用create,是因為路徑需要開放輸入端,父類-window類的create不包含路徑的輸入端
2.wnd方法里面要register一下vi,并且不能調用父類windows的wnd
2020年3月23日14:35:07
1.C繼承B,B繼承A,當參數是以A的方式保存下來,則讀取的時候必須用A的成員函數來讀取,而用B的成員函數讀取會發生錯誤。
2.當出現保存project錯誤,說VI不在某個庫,直接拖曳進去就行
3.全局用來緩存UnitManager,通過名稱來獲取對應的信號,來觸發執行loop中的執行體
4.或者用通知器:比較正規,用名稱來索引全局中的UnitManager
2020年3月25日15:34:54
1.在一個流程里面,同一時間只能執行一次。
2.表格要反映出之前的信號來源
3.
增加start模塊
增加end模塊
來管控只執行一次的流程
4.
必須全部短連接
5.
1)長連接的另外處理
數據庫
PLC
用子模塊類索引
2)心跳類的另外處理
暫不處理
3)是否創建副本->不創建副本的話用哪個單元類,只限于用哪個單元類的連接參數
而不用功能參數->可用全局索引
2020年3月27日13:58:28
1.新建一個輸出參數類。
2.單元類要給輸出類配一個解釋VI,該解釋VI用于將輸出類解釋成另外的單元類能接受的類型
比如說OCV單元類的輸出類包含電壓,電流,而SQL單元類需要的格式是字符串數組,那么需要新建一個解釋VI,用于將電壓和電流解釋成字符串數組。
這樣可以保證單元類的輸出是獨立的,可以是任何類型。
通過解釋VI中轉來適應給到哪個單元類。
3.設置頁面需要做成可以關閉的。設置完就不會在后臺運行
4.觸發有兩種方式:
1)所有單元類循環不斷讀取輸入觸發源來執行功能,目前存在內存,CPU和界面設置不友好等問題。
2)所有單元類內部不做讀取觸發源的循環,誰觸發誰執行通過一個統籌的應用程序類來管控,比如通過一個FOR循環按照順序執行功能,目前存在一個問題是,無法解決并行的邏輯運算。
5.界面用圖形的方式,通過拖曳的方式顯示在畫板上,在設置了輸入輸出后,生成箭頭。
6.平臺類單獨寫另外的單元類,而不用原有的類。
7.不停的出入隊列對內存有影響,可以改為預覽隊列