VMware Horizon學習——搭建域控服務器
VMware Horizon云桌面搭建——配置VMware ESXi與vCenter
VMware Horizon搭建——DNS與DHCP服務器配置
云桌面搭建——模板虛擬機制作優化(基于VMware Horizon)
云桌面搭建——安裝Horizon View 8服務器
hello,各位小伙伴,經過前面這么長時間的鋪墊,我們終于到了最終章——發布win10云桌面。話不多說,我們直接干整。
打開Connection Server所在桌面上的“View Administrator控制臺”進行Horizon View設置,用戶名為域管理員guanliyuan(自己設定的域控管理員用戶),單擊“登錄”按鈕后,出現如圖所示界面。
選擇“清單”中的“設置”→“產品許可和使用情況”,單擊“編輯許可證”按鈕,輸入許可證序列號,進入操作界面,如圖。
選擇“設置”→“服務器”,在“vCenter Server”選項卡中單擊“添加”按鈕
輸入vCenter Server的IP地址、用戶名“administrator@vsphere.local”和密碼。
選擇查看證書。
點擊接受。
這里全部采用默認配置,點擊下一步。
完成。
在“設置”→“域”中單擊“添加”按鈕,輸入域名“test.com”、用戶名“guanliyuan”和密碼.
在 HorizonView 控制臺選擇“清單”→“桌面”,單擊“添加”按鈕。
選擇自動資源池。
這里選擇即時克隆。
選擇“專用”→“啟用自動分配”。
設置桌面池標識ID,此ID在vCenter Server中具有唯一性,不能與虛擬機系統文件名重名。
設定虛擬機名稱,命名規則為“計算機名稱+編號”,計算機的最小數量”和“備用(已打開電源)計算機數量”設置為“1”,即只部署1個虛擬桌面(這里是測試環境,所以我們只部署一個,如果在生產環境,或者服務器硬件資源允許,可酌情增加)。
選擇最佳配置映像“win10”。選擇虛擬機的快照為“vie”。
虛擬機文件夾位置選擇“Datacenter”
選擇集群“vsphere”
設置桌面池的資源池為“vsphere”
點擊下一步。
提交即可。
下面開始對用戶進行授權。勾選剛剛添加的桌面池“win10”,在授權窗口單擊“添加授權”按鈕。
在彈出的“查找用戶或組”窗口中選擇域“test.com”,單擊“查找”按鈕,選擇活動目錄中的group1用戶組,授權group1用戶組中的用戶使用此桌面池,等待一段時間,當虛擬桌面的狀態為“可用”時,虛擬桌面池的部署完成。
在ESXi主機的“配置”→“虛擬機”→“虛擬機啟動/關機”處,單擊“屬性”按鈕,選中“允許虛擬機與系統一起啟動和停止”,將虛擬機Windows 10設置為自動啟動,關機操作為“客戶機關機”。
至此,云桌面發布完成。
在瀏覽器中輸入控制服務器所在的ip,出現如圖所示界面。這里我們點擊使用web網頁訪問云桌面。
輸入用戶密碼(域控服務器group1組中的用戶)。
出現win10圖標,點擊打開。
等待一會后,成功進入操作界面。
至此,云桌面制作完成。
經過這段時間的學習,我們已經學會了Horizon View云桌面配置、制作、發布的全部流程,大家已經具備了完成搭建企業云桌面平臺的能力。感謝大家這段時間的陪伴,期待后續與大家在其他教程中的再次相遇。
在日常使用西門子S7-1200系列PLC時,需要查看PLC內部數據,通常都是用觸摸屏或者上位機監控,或者直接使用博途在線查看。但是當遇到觸摸屏或者上位軟件未關聯的變量,且本機未安裝博途的情況,問題就會比較復雜了,通常需要重新配置上位機參數,或者借助第三方工具,甚至需要重新安裝博途來解決。這時候,如果在PLC程序設計的時候,啟用了Web服務器,問題就會比較簡單了。
首先,使用博途打開PLC源代碼,選中CPU模塊,點擊右鍵,點擊屬性,彈出設置界面,在”常規“窗口左側列表框中選擇”Web服務器“,勾選"在此設備的所有模塊上激活Web服務器",同時取消“僅允許通過HTTPS訪問”。重新編譯后下載。
打開計算機上的網頁瀏覽器,在地址欄輸入http://ww.xx.yy.zz(此處為PLC的實際IP地址,如192.168.1.10,所有符號為英文狀態輸入),打開 S7-1200的 標準 Web 頁面,如下圖 所示。
變量狀態頁面可以查看任何 CPU 中的 I/O 或者存儲器數據,可以輸入絕對地址(例如:MB0、I0.0、Q1.0等)、PLC 變量名或者數據塊中的變量。可以選擇顯示的數據類型的格式;可以顯示或者更改當前值。如下圖所示。
到此為止,基本已經解決了之前遇到的問題,但是,進一步探索后,會發現“Web服務器”還有更強大的功能,可以創建融入 PLC 數據的特定的 HTML 頁面。
選擇一款HTML編輯器,如Microsoft Frontpage,Dreamweaver或VScode等,創建用戶定義的 Web 頁面,使用AWP 命令包含在 HTML 代碼的 HTML 注釋中(AWP 命令是西門子提供用于訪問 CPU 信息的固定命令集)。
如需顯示變量,語法為 :=<Varname>: ,Varname為 PLC 變量,使用雙引號將變量名稱括起來即可,如下圖所示。
<p>Actual Value: :="VarName1":</p>
如需寫入變量,則首先需要在HTML注釋中添加。
<!-- AWP_In_Variable Name='"VarName1"' -->
然后添加輸入框和確認按鈕等元素即可。
<input type="text" id="value1" name='"VarName1"' size="5">
<input type="submit" value="Set a new Value" style="width: 200px">
頁面編輯完成后,打開博途,在 Web 服務器的"用戶自定義頁面"中進行配置。注意需要點擊生成塊方可生效。
執行 WWW 指令,在主程序直接調用,也可通過程序邏輯可控制何時啟用自定義頁面。
用戶定義的 Web 頁面塊后和其它的程序塊一樣,將成為程序的一部分,按照正常過程將下載到 CPU即可。再次打開瀏覽器,輸入PLC的IP地址后,即可看到用戶編寫的HTML頁面。由于采用了標準的HTML協議,用戶自定義的頁面也可以使用處于同一網段下的手機訪問,如果局域網配置了VPN,甚至可以通過外網,遠程操作,因此,為了防止 PLC 被惡意攻擊,或者出現未經授權的操作,官方還是建議勾選“僅允許通過 HTTPS 訪問”。
一個典型的HTML頁面示例
<!-- AWP_In_Variable Name='"VarName1"' -->
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
<title>Web page demo - Login - Main page</title>
<!-- Via "<link...>" a CSS file is referenced which contains all information on the optical design of the web -->
<!-- <link rel="stylesheet" type="text/css" href="/CSS/S7Web.css"> --> <!-- S7Web.css is used in S7-1500 CPUs and S7-1200 FW2.2 -->
</head>
<body onload="loginCheck()"> <!-- check login with each refresh of the website -->
<!-- example for write value to CPU -->
<form method="post" action="" onsubmit="">
<p> </p>
<p>
<input type="text" id="value1" name='"VarName1"' size="5">
<input type="submit" value="Set a new Value" style="width: 200px">
</p>
</form>
<p>Actual Value: :="VarName1":</p>
<!-- BEGIN Login Area -->
<iframe id="WebserverIFrame" name="WebserverIFrameName" src="/Portal/Portal.mwsl" style="display:none"></iframe>
<!-- area for login -->
<div id="loginBox" class="Login_Area"></div> <!-- "Login_Area" is defined in S7Web.css for S7-1500 CPUs and S7-1200 FW2.2-->
<!-- function for check login -->
<script type="text/javascript">
function loginCheck() {
var iFrameElement = document.getElementById('WebserverIFrame');
var loginForm = iFrameElement.contentWindow.document.getElementById('loginForm'); //S7-1200 FW4.0
if (loginForm == null) {
loginForm = iFrameElement.contentWindow.document.getElementById('Login_Area_Form'); //S7-1200 FW2.2 and S7-1500 FW1.5
}
if(loginForm) {
loginForm.setAttribute("data-ajax", "false");
document.getElementById('loginBox').innerHTML = loginForm.parentNode.innerHTML;
document.getElementsByName("Redirection")[0]["value"] = window.location.href.split("?")[0];
}
var logoutForm = iFrameElement.contentWindow.document.getElementById('logoutForm'); //S7-1200 FW4.0
if(logoutForm == null) {
logoutForm = iFrameElement.contentWindow.document.getElementById('logout_form'); //S7-1200 FW2.2
}
if(logoutForm == null) {
logoutForm = iFrameElement.contentWindow.document.getElementById('Logout_Area_Form'); //S7-1500 FW1.5
}
if(logoutForm) {
logoutForm.setAttribute("data-ajax", "false");
document.getElementById('loginBox').innerHTML = logoutForm.parentNode.innerHTML;
document.getElementsByName("Redirection")[0]["value"] = window.location.href.split("?")[0]; // use the current webpage as redirection - remove additonal post values attached by "?" if necessary
}
}
</script>
<!-- END Login Area -->
</body>
</html>
(來源于西門子官方文檔)
合理利用Web服務器,結合前端開發技術,可以將自定義頁面設計成組態界面,替代組態軟件和觸摸屏,將邏輯代碼和操作界面全部下載存儲到PLC,只需要瀏覽器,即可實現任意客戶端對PLC設備的操控。