當前位置:首頁 » 網頁前端 » 力控腳本編輯加閥門的例子
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

力控腳本編輯加閥門的例子

發布時間: 2022-06-11 22:10:51

⑴ 怎麼控制各種閥門和有攪拌的存儲罐---力控組態軟體

力控是一款監控組用軟體。本身並不具備編寫控制邏輯的功能。

如果非要用力控軟體的話,你可以安裝「力控pStrategy™-通用控制策略」軟體,這也是一款上位軟體,通過使用力控自配的控制邏輯模塊,對控制過程進行組態。這時候PC充當了控制器的角色。但另外需要你的PC配置採集卡,I/O卡等設備。

具體可以參考北京三維力控官方網站。

⑵ 力控如何設計一個開門關門的畫面,腳本如何編輯,求指點!

如圖所示(7個圖),先放上兩個矩形,兩個按鈕,和三個文本。設置兩個文本為固定字元。設置兩個按鈕,為按下開松開關,變數分別為open.pv和close.pv。設置第三個標簽為模擬輸出,變數為data.pv。設置兩個矩形為水平拖動,依次設置參數,如圖5,6。然後編輯工程運行腳本。如圖7。完成。

望採納。。。。。。

⑶ 力控資料庫組態後再腳本編輯器時仍要定義中間變數

在利用力控進行資料庫操作時,可能因為少許的錯誤導致力控與資料庫之間不能交互,因此採用SQLLastError()函數顯示最後一條資料庫操作錯誤,通過該錯誤提示即可逐步完成資料庫操作

一、力控組態和資料庫交互時可能出現問題的地方:

1、如果利用關系型資料庫SQL Server

2000存入力控產生的數據,必須在組態中建立綁定表。在建立過程中,欄位名必須和SQL Server

2000中數據表中的欄位名字相同,否則不能數據的傳遞;

2、建立的綁定表的名字最好不要和SQL Server 2000中數據表的名字相同,否則也不能傳遞數據;

3、建立資料庫操作時,可以在動作條件中寫入腳本,寫腳本時應注意綁定表和SQL Server

2000中數據表的前後關系,應該是SQL Server 2000中數據表在前邊,綁定表在後邊才可以。

二。檢查資料庫操作錯誤的時候,可以利用下邊方法進行:

1、首先在力控組態中定義一個字元型的中間變數ErrorMe

2、打開腳本編輯器,例如在寫條件動作的腳本時,選擇SQLLastError()函數,確定把最後一條資料庫操作錯誤存放到ErrorMe中;利用MsgBox()函數以對話框的形式顯示錯誤信息即可

SQLLastError(ErrorMe);

MsgBox(ErrorMe)

⑷ 誰能跟我說一下力控組態軟體的腳本編輯用什麼語言編寫

這個腳本是類VC的,其實沒什麼要求。。。。學過VB的就會了 很簡單的,你可以打開demo工程里,看看那裡面怎麼寫的。另外腳本可以寫到應用程序中,也可以寫到窗口腳本,還可以寫到按鈕左鍵動作里等等,區別是執行的條件不一樣而已。
舉例:
IF IsWeb() == 1 THEN
ELSE
IF COD_start_meas.PV == 0 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "待機[Ready]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 1 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "就緒[Ground]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 2 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "清洗[Clean]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 4 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "校正[Calib.]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
IF COD_meas_flag.PV == 1; THEN
COD_meas_flag.PV = 0;
sys_meas_flag.PV = 0;
COD_cal_flag.PV =1;
sys_run_log = "COD啟動測量後進入校正狀態,觸發開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_active_T.Start(); //開啟觸發定時器
ENDIF
ENDIF
IF COD_start_meas.PV == 8 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "啟動[Start]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
ENDIF
IF COD_start_meas.PV == 32 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "測量[meas.]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
sys_meas_time.DESC = StrTime($Curtime,1); //系統啟動測量時間
sys_run_log = "測量時間緩存...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
ENDIF

IF COD_start_meas.PV == 64 && COD_meas_flag.PV == 1 THEN
sys_time = StrTime($Curtime,1);
COD_run_log = "排空[Empty]";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
COD_run_log = "";
sys_run_log = "COD測量結束, " + IntToStr(PLC_start_sampl.PV,10) + "號取樣口數據打包存入報表...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
IF PLC_start_sampl.PV ==1 THEN
COD1_db.PV = COD_VALUE.PV;
sys_meas_time1.DESC = sys_meas_time.DESC;
IF ( point2_flag.PV || point3_flag.PV || point4_flag.PV ) == 0 THEN
sys_run_log = "系統循環測量周期定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系統循環測量周期定時器開啟
ELSE
sys_run_log = "CODmax測量間隔定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#point_interval_T.Start(); //CODmax測量間隔定時器開啟
ENDIF
//ELSE
//COD1_db.PV = 0;
ENDIF
IF PLC_start_sampl.PV ==2 THEN
COD2_db.PV = COD_VALUE.PV;
sys_meas_time2.DESC = sys_meas_time.DESC;
IF ( point3_flag.PV || point4_flag.PV ) == 0 THEN
sys_run_log = "系統循環測量周期定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系統循環測量周期定時器開啟
ELSE
sys_run_log = "CODmax測量間隔定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#point_interval_T.Start(); //CODmax測量間隔定時器開啟
ENDIF
//ELSE
//COD2_db.PV = 0;
ENDIF
IF PLC_start_sampl.PV ==3 THEN
COD3_db.PV = COD_VALUE.PV;
sys_meas_time3.DESC = sys_meas_time.DESC;
IF point4_flag.PV == 0 THEN
sys_run_log = "系統循環測量周期定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系統循環測量周期定時器開啟
ELSE
sys_run_log = "CODmax測量間隔定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#point_interval_T.Start(); //CODmax測量間隔定時器開啟
ENDIF
//ELSE
//COD3_db.PV = 0;
ENDIF
IF PLC_start_sampl.PV ==4 THEN
COD4_db.PV = COD_VALUE.PV;
sys_meas_time4.DESC = sys_meas_time.DESC;
sys_run_log = "系統循環測量周期定時器開啟...";
SQLInsert(ConnectID,"dlhb_sys_log","sys_info");
sys_run_log = "";
#sys_interval_T.Start(); //系統循環測量周期定時器開啟
//ELSE
//COD4_db.PV = 0;
ENDIF

IF sys_meas_flag.PV == 1 THEN
sys_meas_log.DESC = IntToStr(PLC_start_sampl.PV,10) + "號取樣口自動測量";
ENDIF
IF sys_meas_flag.PV == 2 THEN
sys_meas_log.DESC = IntToStr(PLC_start_sampl.PV,10) + "號取樣口手動測量";
ENDIF
SQLInsert(ConnectID,"dlhb_meas_group","meas_group");
sys_meas_log.DESC = "";
COD_meas_flag.PV = 0;
sys_meas_flag.PV = 0;
ENDIF
ENDIF

⑸ 力控腳本如何去編制

力控腳本定義:
腳本語言,腳本語言或擴建的語言,是一種編程語言控制軟體應用程序。 「腳本」往往被視為有別於「程序」 ,執行獨立於任何其他的應用。在同一時間,他們是有別於核心代碼的應用,這是通常的書面在不同的語言,和現正接觸到最終用戶,使他們的行為的應用,以適應用戶的需要。腳本往往是,但並非總是解釋,從源代碼或「半匯編」 ,以位元組這是解釋,不同的應用,他們的相關,這是傳統的編制本土機器碼為系統上運行他們。腳本語言幾乎總是在嵌入式應用與它們相關的。

命名為「腳本」是來自書面腳本的表演藝術,在這種對話是訂下要發言,由人類行為者。早期的腳本語言通常被稱為一批語言或工作控制語言。例如早期的腳本語言的建立是為了縮短傳統的編輯-編譯-鏈接-運行的過程。

1.腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。

HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。

2.腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些.

3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。

註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。

4.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在.

腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。

5.腳本語言一般都是以文本形式存在,類似於一種命令.

舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.aa為擴展名的文件.

你為.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言.

這是我的回答 祝你好運~~

⑹ 力控組態軟體中的腳本編輯器是什麼怎麼理解

力控我沒用用過
不過跟MCGS和亞控等組態軟體應該一樣
腳本編輯器就是當你運行你設計的組態軟體時立即在後台執行腳本里的語句
可以理解C++中的成全局變數

⑺ 力控下面的腳本如何寫

你整理下你的問題,是3,5,8嗎 數值是什麼含義

⑻ 在打開力控系統的時候報界面腳本賦值語句左端應為變數請高手指點

是的,左端為變數,例如a.pv=2,意思就是將2賦值給a.pv這個變數,如果是a.pv=5,那就是將5賦值給a.pv這個變數,如果兩個同時出現,例如a.pv=2;a.pv=5,那a.pv最後是5

RUN.PV==1是 RUN.PV這個變數已經等於1了,肯定不對,例如你想寫當RUN.PV等於1的時間STOP.PV等於0就可以寫
if RUN.PV==1 then STOP.PV=0
endif

⑼ 三維力控組態軟體的腳本編寫要用VB語言,請問要怎麼學習vb啊,是全部學還是只學裡面的基礎語言

力控的腳本語句實際都是簡化的,比VB簡單多了,而且每個語句都有說明的,你可以看下力控的幫助說明,每個語句都有例子,看看就明白了。在安裝完力控軟體後,在軟體內有幾個例子,自己可以好好看下,力控的例子裡面實際不光有IF、switch等語句,還有力控自己的面向對象的語句,例如力控的畫面中的每一個圖標單元都有自己的屬性和函數,都可以通過這些屬性對象(對應的函數)來定義和讀取。

⑽ 力控組態軟體腳本邏輯與和邏輯或怎麼編寫

須先安裝三菱的MX Component 軟體,由於此驅動支持多種通訊方式(比如A 系列編程口、Q 系列編程口等),只要是在Communication Setup Utility 中能夠配置成功的設備及通信方式,就可以使用該驅動程序進行數據採集。力控組態軟體如何與三菱PLC通迅