我用的觸屏型號為(wei) TCP7032kt,觸屏上電後,點擊屏幕,進入參數設置模式,更改裏麵的網絡參數,使其和你鏈接的電腦在一個(ge) 局域網內(nei) ;開始創建觸屏設備,
進入屬性設置
設置TCP/UDP 為(wei) TCP;IP地址設置為(wei) 和電腦在同一局域網內(nei) ;設備站號設置為(wei) 1或其他值;
然後添加設備地址,關(guan) 聯變量。觸屏就設置好了。
1、添加設備
打開設備下的COM口,在新建上雙擊打開,
在設備驅動,選擇PLC→莫迪康→ModbusTCP→TCP。
給驅動起一個(ge) 名字。
選擇一個(ge) 端口號,這裏我們(men) 是走的TCP協議,可以隨便選擇一個(ge) 。
設置IP地址,
設置嚐試恢複間隔和最長恢複時間。
設置完成
2、添加數據變量
選擇數據庫下的數據詞典,雙擊新建,
輸入變量名,選擇變量類型,選擇鏈接設備,選擇寄存器,輸入寄存器地址,選擇數據類型。
變量類型:內(nei) 存類型用來在內(nei) 部使用,I/O類型用來讀取外部數據,數據分為(wei) 離散類型、整數、實數、字符串。
寄存器:要寫(xie) 完整的地址,如40001表示4區的01地址。
數據類型:
Bit |
位 |
BYTE |
字節 |
SHORT |
整數 |
USHORT |
無符號整數 |
LONG |
長整數 |
FLOAT |
浮點數 |
String |
字符串 |
3、連接數據庫
我使用的數據庫是微軟自帶的Microsoft Access 數據庫,使用前先創建好數據表,打開電腦的控製麵板,把查看方式改為(wei) 小圖標,然後選擇管理工具,再選擇 ODBC 數據源32位。
雙擊打開,點擊添加,選擇驅動程序,起個(ge) 名稱,選擇你新建的數據庫。
打開組態王,創建記錄體(ti) ,字段名稱要和數據庫的名稱相同,內(nei) 部變量的類型要和數據庫中變量類型一致。
在命令語言中進行設置,運行時寫(xie) SQLConnect( \\local\DeviceID, “dsn=mdb;uid=;pwd=”); 。停止時寫(xie) SQLDisconnect(\local\DeviceID); 。這樣運行就可以連接上數據庫了。
4、數據庫查詢
首先創建查詢的變量。創建數據庫時,創建一個(ge) 自動增長的變量,用來在排序時使用。
在畫麵麵板下選擇新建,創建一個(ge) 畫麵,在工具箱選擇插入通用控件。
在控件上右擊,選擇控件屬性,把要顯示的數據庫內(nei) 容添加進來。
接著添加圓角矩形和文字,圓角矩形用來輸入字符串,文字用來顯示輸入的字符串。
開始日期和結束日期可以做個(ge) 腳本,打開畫麵時獲取當前日期。
\local\查詢開始日期時間=\local$Date;
\local\查詢結束日期時間=\local$Date;
編號查詢時,
Ctrl3.Where=“樣品編號=’”+\local\查詢樣品編號+"’"+ " Order By 序號 DESC";
Ctrl3.FetchData();
Ctrl3.FetchEnd();
日期查詢時,
string a;
a=" 日期 >=#" +\local\查詢開始日期時間+"# and 日期 <=#"+\local\查詢結束日期時間+"#"+ " Order By 序號 DESC";
Ctrl3.Where=a;
Ctrl3.FetchData();
Ctrl3.FetchEnd();
多條件查詢時,
Ctrl3.SetSqlStringWhere(“樣品編號=’”+\local\查詢樣品編號,"’ and 工位=’" +\local\查詢工位 + “’”, " Order By 序號 DESC"," “,” “,” “);
Ctrl3.FetchData();
Ctrl3.FetchEnd();
查詢所有時,
Ctrl3.Where=”"+ " Order By 序號 DESC";
Ctrl3.FetchData();
Ctrl3.FetchEnd();
刪除數據時,
string a ;
a=" 日期 >=#"+\local\查詢開始日期時間+"# and 日期 <=#" +\local\查詢結束日期時間+ “#”;
SQLDelete( DeviceID, “催化劑磨損指數”,a);
a=" 日期 >=#"+\local\查詢開始日期時間+"# and 日期 <=#" +\local\查詢結束日期時間+"# and 工位=’" +\local\查詢工位 + “’”;
SQLDelete( DeviceID, “催化劑磨損指數”,a);
SQLClearTable( DeviceID, “催化劑磨損指數”);
打印數據,
Ctrl3.Print();
導出數據,
Ctrl3.SaveToCSV(“D:\催化劑磨損指數.csv”);