MCGS嵌入式組態系統快速采集解決方案
北京昆侖通態自動化軟件科技有限公司是國內知名的一家高科技企業,公司主要從事專業自動化軟件的開發,應用系統的集成,并向用戶提供從硬件到軟件的總體設計方案。產品遍布石油、化工、冶金、礦山、運輸、機械、食品等幾十個行業,并應用于全國乃至世界的眾多工業控制現場。值此之即,我們向大家介紹公司軟件MCGS嵌入式組態系統快速采集解決方案。
我們按照目標方案來組織解決方案。使用本文檔的時候,首先需要確認你的工程是否符合所列舉的目標方案??梢酝ㄟ^檢查工程是否符合目標系統的特點來發現你所需要處理的工程項目是何種類型的工程項目。如果你發現你的工程與所列舉特點有不一致的地方,可能你需要處理的是新的類型的工程,這種情況下,請通過技術支持和嵌入式產品線經理聯系以便確認你的工程需要的解決方案。
目前,嵌入式組態系統可以解決的快速采集項目有如下三種:
1、 高速采集和連續控制方案
目標系統
本方案主要解決的是小型控制設備中嵌入組態系統的要求。此類系統包括注槊機,掃路機以及其他小型控制設備。
系統特點
這些設備的特點是有簡單畫面,一般是批次工作,有比較復雜的工作狀態和狀態轉換關系。操作邏輯比較復雜。而且,為了降低成本,一般只使用簡單AD、DA、IO,由組態軟件來解決控制邏輯和時序問題,不使用PLC。有時有報表輸出等。
進入快速采集是事先預知的,比如:是由操作員決定開始進入快速采集和控制,而不是由于發生了某種事件如報警進入快速采集和控制。如果是后一種情況,請參看快速轉入高速采集方案。
對于要求響應周期在50毫秒以上的項目,可以直接使用組態軟件中的相應功能如循環策略,定時策略等來實現。
對于響應周期在50毫秒以下的項目,通常原因是由于需要進行一路或幾路位置控制PID操作,其控制周期要求可以和PLC相比,在1~10毫秒之間。
解決方案
MCGS組態系統對此類系統的解決方案如下:
除了高速控制以外的功能,使用通用組態功能來完成。注意參考通用組態功能的各項性能參數。
對于高速控制,解決方法如下:
1、 構造一個用戶策略,此策略在系統初始化時啟動。
2、 在此用戶策略中,添加一個腳本程序。
3、 在此腳本程序的開頭,使用腳本函數SetRealTimeStgy,把本策略升級為硬實時策略,如果不升級為硬實時策略則很容易被其他線程干擾。
4、 在此腳本程序中,構造一個while循環體。在循環體中,反復循環執行以下內容。
● 等待定時間隔到來,定時間隔的等待有兩種辦法,一種是使用!SLEEP函數,使用此函數,參數為1時,大約延時2毫秒,參數為3時,延時4毫秒,也就是延時指定時長,外加任務切換的時間1毫秒,此性能指標在486 66MHz上測出。另一種辦法是使用函數WAITFORINTERRUPT,等待一個中斷的發生。可以使用硬件板卡上的2M定時器,配合計數器來觸發中斷,實現此功能。此方式可以達到1毫秒的掃描周期,缺點是需要硬件配合。
● 檢查是否已經不需要進行此快速掃描控制了,如系統退出或狀態轉換為手動。如果是,則退出循環體。
● 啟動AD轉換和DI,采集數據。
● 進行控制算法和邏輯的計算工作,此時可以從實時數據庫中讀取各種設定值。并輸出各種數值。
● 啟動DA轉換和DO,輸出控制命令。
● 進入下一次循環。
2、 高速采集和事后分析方案
目標系統
本方案主要解決的是實驗采集設備中嵌入組態系統的要求。此類系統包括各種測試儀設備。
系統特點
這些設備的特點是其工作狀態有高速采集狀態和事后分析狀態兩個。通常使用辦法是進行一次試驗,打開高速采集,以很高的速度如1毫秒采集數據,采集到的數據存放在內存中,同時可以做一些比較簡單的數據處理如求平均值等等。一般采集1~20秒,最多不超過1分鐘。高速采集停止后(經常是由于試驗完成了),把數據保存到磁盤上的數據文件中。然后進入分析狀態,從數據文件中把數據讀取出來,通過相對曲線來顯示,通過數據流覽構件來看數據。額外的要求包括對數據文件的命名,管理,備份和傳送到上位機中。
進入快速采集是事先預知的,比如:是由實驗員決定開始進入快速采集和控制,而不是由于發生了某種事件如報警進入快速采集和控制。如果是后一種情況,請參看快速轉入高速采集方案。
對于要求響應周期在50毫秒以上的項目,可以直接使用組態軟件中的相應功能如循環策略,定時策略等來實現。
對于響應周期在50毫秒以下的項目,通常原因是由于需要進行一路或幾路高速采集,其采集周期達到1~50毫秒之間。
解決方案
MCGS組態系統對此類系統的解決方案如下:
除了高速采集以外的功能,使用通用組態功能來完成。注意參考通用組態功能的各項性能參數。
對于高速控制,解決方法如下:
5、 構造一個用戶策略,此策略在系統初始化時啟動。
6、 在此用戶策略中,添加一個腳本程序。
7、 在此腳本程序的開頭,使用腳本函數SetRealTimeStgy,把本策略升級為硬實時策略,如果不升級為硬實時策略則很容易被其他線程干擾。使用腳本程序ArrayCreate 創建一個浮點數組。此函數指定數組序號,序號范圍為0~255,數組大小,范圍為1~655350。
8、 準備一個變量Pointer來指示目前使用到哪個位置。
9、 在此腳本程序中,構造一個while循環體。在循環體中,反復循環執行以下內容。
● 等待定時間隔到來,定時間隔的等待有兩種辦法,一種是使用!SLEEP函數,使用此函數,參數為1時,大約延時2毫秒,參數為3時,延時4毫秒,也就是延時指定時長,外加任務切換的時間1毫秒,此性能指標在486 66MHz上測出。另一種辦法是使用函數WAITFORINTERRUPT,等待一個中斷的發生。可以使用硬件板卡上的2M定時器,配合計數器來觸發中斷,實現此功能。此方式可以達到1毫秒的掃描周期,缺點是需要硬件配合。
● 檢查是否已經不需要進行此快速掃描采集了,如系統退出或狀態轉換為手動。如果是,則退出循環體。
● 啟動AD轉換和DI,采集數據。
● 使用ArraySetAt把采集到的數據放到數組中的位置,位置可以根據變量Pointer決定,然后把Pointer增長1。
● 啟動DA轉換和DO,輸出控制命令。
● 進入下一次循環。
10、 高速采集結束后,使用ArrayGetAt逐個把數據讀出來,使用FileWriteStrLimit來保存數據到文件中去。
11、 試驗完成后,按照操作員的操作,從指定文件中讀取數據,放到配置成相對曲線的實時曲線上,觀看數據。
3、 低速輪循和觸發轉換到高速采集方案
目標系統
本方案主要解決的是事故紀錄儀性質的設備方案。如電力故障紀錄儀等等。
系統特點
這些設備的特點是其工作狀態有高速采集狀態和平時輪循狀態兩個。通常使用時,以不高的速度如100毫秒一次采集數據并進行存盤處理。在外界報警或故障發生時,轉入高速采集狀態,設備以很短的間隔如1毫秒一次采集一段時間(1~5秒)的數據,然后存盤以便分析和處理。
進入快速采集是無法事先預知的,通常情況如:一個中斷通知到來表示某種事件已經發生。此時系統轉入快速采集,采集一段時間后停止,并保存采集到得數據。
對于響應周期在50毫秒以下的項目,通常原因是由于需要進行一路或幾路高速采集,其采集周期達到1~50毫秒之間。
解決方案
MCGS組態系統對此類系統的解決方案如下:
除了高速采集以外的功能,使用通用組態功能來完成。注意參考通用組態功能的各項性能參數。
對于高速控制,解決方法如下:
1、 構造一個中斷策略,監聽故障通知中斷。
2、 在此中斷策略中,添加一個腳本程序。
3、 在此腳本程序的開頭,使用腳本函數SetRealTimeStgy,把本策略升級為硬實時策略,如果不升級為硬實時策略則很容易被其他線程干擾。
4、 使用腳本程序ArrayCreate 創建一個浮點數組。此函數指定數組序號,序號范圍為0~255,數組大小,范圍為1~655350。
5、 準備一個變量Pointer來指示目前使用到哪個位置。
6、 在此腳本程序中,構造一個while循環體。在循環體中,反復循環執行以下內容。
● 等待定時間隔到來,定時間隔的等待有兩種辦法,一種是使用!SLEEP函數,使用此函數,參數為1時,大約延時2毫秒,參數為3時,延時4毫秒,也就是延時指定時長,外加任務切換的時間1毫秒,此性能指標在486 66MHz上測出。另一種辦法是使用函數WAITFORINTERRUPT,等待一個中斷的發生??梢允褂糜布蹇ㄉ系?M定時器,配合計數器來觸發中斷,實現此功能。此方式可以達到1毫秒的掃描周期,缺點是需要硬件配合。
● 檢查是否已經不需要進行此快速掃描采集了,如系統退出或狀態轉換為手動。如果是,則退出循環體。
● 啟動AD轉換和DI,采集數據。
● 使用ArraySetAt把采集到的數據放到數組中的位置,位置可以根據變量Pointer決定,然后把Pointer增長1。
● 進入下一次循環。
12、 高速采集結束后,使用ArrayGetAt逐個把數據讀出來,使用FileWriteStrLimit來保存數據到文件中去。
13、 試驗完成后,按照操作員的操作,從指定文件中讀取數據,放到配置成相對曲線的實時曲線上,觀看數據。
我們按照目標方案來組織解決方案。使用本文檔的時候,首先需要確認你的工程是否符合所列舉的目標方案??梢酝ㄟ^檢查工程是否符合目標系統的特點來發現你所需要處理的工程項目是何種類型的工程項目。如果你發現你的工程與所列舉特點有不一致的地方,可能你需要處理的是新的類型的工程,這種情況下,請通過技術支持和嵌入式產品線經理聯系以便確認你的工程需要的解決方案。
目前,嵌入式組態系統可以解決的快速采集項目有如下三種:
1、 高速采集和連續控制方案
目標系統
本方案主要解決的是小型控制設備中嵌入組態系統的要求。此類系統包括注槊機,掃路機以及其他小型控制設備。
系統特點
這些設備的特點是有簡單畫面,一般是批次工作,有比較復雜的工作狀態和狀態轉換關系。操作邏輯比較復雜。而且,為了降低成本,一般只使用簡單AD、DA、IO,由組態軟件來解決控制邏輯和時序問題,不使用PLC。有時有報表輸出等。
進入快速采集是事先預知的,比如:是由操作員決定開始進入快速采集和控制,而不是由于發生了某種事件如報警進入快速采集和控制。如果是后一種情況,請參看快速轉入高速采集方案。
對于要求響應周期在50毫秒以上的項目,可以直接使用組態軟件中的相應功能如循環策略,定時策略等來實現。
對于響應周期在50毫秒以下的項目,通常原因是由于需要進行一路或幾路位置控制PID操作,其控制周期要求可以和PLC相比,在1~10毫秒之間。
解決方案
MCGS組態系統對此類系統的解決方案如下:
除了高速控制以外的功能,使用通用組態功能來完成。注意參考通用組態功能的各項性能參數。
對于高速控制,解決方法如下:
1、 構造一個用戶策略,此策略在系統初始化時啟動。
2、 在此用戶策略中,添加一個腳本程序。
3、 在此腳本程序的開頭,使用腳本函數SetRealTimeStgy,把本策略升級為硬實時策略,如果不升級為硬實時策略則很容易被其他線程干擾。
4、 在此腳本程序中,構造一個while循環體。在循環體中,反復循環執行以下內容。
● 等待定時間隔到來,定時間隔的等待有兩種辦法,一種是使用!SLEEP函數,使用此函數,參數為1時,大約延時2毫秒,參數為3時,延時4毫秒,也就是延時指定時長,外加任務切換的時間1毫秒,此性能指標在486 66MHz上測出。另一種辦法是使用函數WAITFORINTERRUPT,等待一個中斷的發生。可以使用硬件板卡上的2M定時器,配合計數器來觸發中斷,實現此功能。此方式可以達到1毫秒的掃描周期,缺點是需要硬件配合。
● 檢查是否已經不需要進行此快速掃描控制了,如系統退出或狀態轉換為手動。如果是,則退出循環體。
● 啟動AD轉換和DI,采集數據。
● 進行控制算法和邏輯的計算工作,此時可以從實時數據庫中讀取各種設定值。并輸出各種數值。
● 啟動DA轉換和DO,輸出控制命令。
● 進入下一次循環。
2、 高速采集和事后分析方案
目標系統
本方案主要解決的是實驗采集設備中嵌入組態系統的要求。此類系統包括各種測試儀設備。
系統特點
這些設備的特點是其工作狀態有高速采集狀態和事后分析狀態兩個。通常使用辦法是進行一次試驗,打開高速采集,以很高的速度如1毫秒采集數據,采集到的數據存放在內存中,同時可以做一些比較簡單的數據處理如求平均值等等。一般采集1~20秒,最多不超過1分鐘。高速采集停止后(經常是由于試驗完成了),把數據保存到磁盤上的數據文件中。然后進入分析狀態,從數據文件中把數據讀取出來,通過相對曲線來顯示,通過數據流覽構件來看數據。額外的要求包括對數據文件的命名,管理,備份和傳送到上位機中。
進入快速采集是事先預知的,比如:是由實驗員決定開始進入快速采集和控制,而不是由于發生了某種事件如報警進入快速采集和控制。如果是后一種情況,請參看快速轉入高速采集方案。
對于要求響應周期在50毫秒以上的項目,可以直接使用組態軟件中的相應功能如循環策略,定時策略等來實現。
對于響應周期在50毫秒以下的項目,通常原因是由于需要進行一路或幾路高速采集,其采集周期達到1~50毫秒之間。
解決方案
MCGS組態系統對此類系統的解決方案如下:
除了高速采集以外的功能,使用通用組態功能來完成。注意參考通用組態功能的各項性能參數。
對于高速控制,解決方法如下:
5、 構造一個用戶策略,此策略在系統初始化時啟動。
6、 在此用戶策略中,添加一個腳本程序。
7、 在此腳本程序的開頭,使用腳本函數SetRealTimeStgy,把本策略升級為硬實時策略,如果不升級為硬實時策略則很容易被其他線程干擾。使用腳本程序ArrayCreate 創建一個浮點數組。此函數指定數組序號,序號范圍為0~255,數組大小,范圍為1~655350。
8、 準備一個變量Pointer來指示目前使用到哪個位置。
9、 在此腳本程序中,構造一個while循環體。在循環體中,反復循環執行以下內容。
● 等待定時間隔到來,定時間隔的等待有兩種辦法,一種是使用!SLEEP函數,使用此函數,參數為1時,大約延時2毫秒,參數為3時,延時4毫秒,也就是延時指定時長,外加任務切換的時間1毫秒,此性能指標在486 66MHz上測出。另一種辦法是使用函數WAITFORINTERRUPT,等待一個中斷的發生。可以使用硬件板卡上的2M定時器,配合計數器來觸發中斷,實現此功能。此方式可以達到1毫秒的掃描周期,缺點是需要硬件配合。
● 檢查是否已經不需要進行此快速掃描采集了,如系統退出或狀態轉換為手動。如果是,則退出循環體。
● 啟動AD轉換和DI,采集數據。
● 使用ArraySetAt把采集到的數據放到數組中的位置,位置可以根據變量Pointer決定,然后把Pointer增長1。
● 啟動DA轉換和DO,輸出控制命令。
● 進入下一次循環。
10、 高速采集結束后,使用ArrayGetAt逐個把數據讀出來,使用FileWriteStrLimit來保存數據到文件中去。
11、 試驗完成后,按照操作員的操作,從指定文件中讀取數據,放到配置成相對曲線的實時曲線上,觀看數據。
3、 低速輪循和觸發轉換到高速采集方案
目標系統
本方案主要解決的是事故紀錄儀性質的設備方案。如電力故障紀錄儀等等。
系統特點
這些設備的特點是其工作狀態有高速采集狀態和平時輪循狀態兩個。通常使用時,以不高的速度如100毫秒一次采集數據并進行存盤處理。在外界報警或故障發生時,轉入高速采集狀態,設備以很短的間隔如1毫秒一次采集一段時間(1~5秒)的數據,然后存盤以便分析和處理。
進入快速采集是無法事先預知的,通常情況如:一個中斷通知到來表示某種事件已經發生。此時系統轉入快速采集,采集一段時間后停止,并保存采集到得數據。
對于響應周期在50毫秒以下的項目,通常原因是由于需要進行一路或幾路高速采集,其采集周期達到1~50毫秒之間。
解決方案
MCGS組態系統對此類系統的解決方案如下:
除了高速采集以外的功能,使用通用組態功能來完成。注意參考通用組態功能的各項性能參數。
對于高速控制,解決方法如下:
1、 構造一個中斷策略,監聽故障通知中斷。
2、 在此中斷策略中,添加一個腳本程序。
3、 在此腳本程序的開頭,使用腳本函數SetRealTimeStgy,把本策略升級為硬實時策略,如果不升級為硬實時策略則很容易被其他線程干擾。
4、 使用腳本程序ArrayCreate 創建一個浮點數組。此函數指定數組序號,序號范圍為0~255,數組大小,范圍為1~655350。
5、 準備一個變量Pointer來指示目前使用到哪個位置。
6、 在此腳本程序中,構造一個while循環體。在循環體中,反復循環執行以下內容。
● 等待定時間隔到來,定時間隔的等待有兩種辦法,一種是使用!SLEEP函數,使用此函數,參數為1時,大約延時2毫秒,參數為3時,延時4毫秒,也就是延時指定時長,外加任務切換的時間1毫秒,此性能指標在486 66MHz上測出。另一種辦法是使用函數WAITFORINTERRUPT,等待一個中斷的發生??梢允褂糜布蹇ㄉ系?M定時器,配合計數器來觸發中斷,實現此功能。此方式可以達到1毫秒的掃描周期,缺點是需要硬件配合。
● 檢查是否已經不需要進行此快速掃描采集了,如系統退出或狀態轉換為手動。如果是,則退出循環體。
● 啟動AD轉換和DI,采集數據。
● 使用ArraySetAt把采集到的數據放到數組中的位置,位置可以根據變量Pointer決定,然后把Pointer增長1。
● 進入下一次循環。
12、 高速采集結束后,使用ArrayGetAt逐個把數據讀出來,使用FileWriteStrLimit來保存數據到文件中去。
13、 試驗完成后,按照操作員的操作,從指定文件中讀取數據,放到配置成相對曲線的實時曲線上,觀看數據。
文章版權歸西部工控xbgk所有,未經許可不得轉載。