解決方案
以催化劑奧達分公司為例,三臺Cimplicity HMI 直接通過(guò)以太網(wǎng)聯(lián)接Rx3i, Rx3i cpu 通過(guò)本地以太網(wǎng)擴展方式連接遠程機架。
用戶(hù)之前使用的是傳統的DCS, 希望保持一些使用習慣,例如:普通oper 用戶(hù)不可以看到和運行非HMI軟件,也看不到桌面;彈出的PID, AUTO_MANUAL等多個(gè)回路調節窗口一直在主畫(huà)面之上,除非用戶(hù)關(guān)閉它們;系統管理員可以不受限制等等。工藝回路調節希望使用串級PID模式但reset 輔助級可以根據工藝特點(diǎn)調整斜率。
在GE智能平臺 professional service工程師的幫助下系統集成商實(shí)現了用戶(hù)的期望。
1, 在windows 啟動(dòng)目錄下設置快捷方式執行cimplicity 命令行指令
CimView.exe /autostart /captive /nomenutitle /alwaysmaximized c:\Projects\TEST\screens\Overview.cim
用戶(hù)只可以使用cimplicity HMI的內容
2, 彈出的回路調節窗口添加script 調用windows的窗體
?。膃clare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const HWND_TOPMOST = -1
Sub OnScreenOpen()
Dim oCimScr As GefScreen
Set oCimScr = CimGetScreen
ret = SetWindowPos(oCimScr.hwnd, HWND_TOPMOST, _
0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
oCimScr.TitleVisible = True
End Sub
這樣多個(gè)PID, AUTO_MANUAL等回路調節窗口一直在主畫(huà)面之上。
3, 熱鍵退出按鈕
?。膃clare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, ByVal dwReserved As Long) As Long
Const EWX_LogOff As Long = 0
Const EWX_SHUTDOWN As Long = 1
Const EWX_REBOOT As Long = 2
Const EWX_FORCE As Long = 4
Const EWX_POWEROFF As Long = 8
Sub CheckRole
Dim Role As New Point
TEMP$ = "$ROLE"
Role.Id = TEMP$
Role.Get
If (Right$(Role.Value,3) Like "MGR") Then
Begin Dialog SYSMGR_LOGOUT_BOX ,,183,60,"Exiting PMC System",,,1
Text 20,5,150,8,"You are about to Exit the PMC system."
Text 20,15,150,8,"You have a choice of Logging off the system "
Text 20,24,150,8,"or entering the Windows NT Desktop."
PushButton 24,36,40,14,"Logout"
PushButton 76,36,40,14,"Desktop"
CancelButton 128,36,40,14
End Dialog
Dim SYSMGR_LOGOUT As SYSMGR_LOGOUT_BOX
ans% = Dialog(SYSMGR_LOGOUT)
Select Case ans%
Case 0
Exit Sub
Case 1
CimLogout "TEST"
WinClose("OVERVIEW")
stuff = ExitWindowsEx (EWX_LogOff Or EWX_FORCE, 0)
Case 2
CimLogout "TEST"
WinClose("OVERVIEW")
End Select
Else
Begin Dialog OPER_USER_LOGOUT_BOX ,,167,60,"Exiting PMC System",,,1
Text 16,4,150,8,"You are about to Exit the PMC system."
Text 16,15,150,8,"Click OK to Exit PMC"
Text 16,25,150,8,"Click Cancel to return to PMC"
OKButton 20,40,40,14
CancelButton 72,40,40,14
End Dialog
Dim OPER_USER_LOGOUT As OPER_USER_LOGOUT_BOX
ans% = Dialog(OPER_USER_LOGOUT)
Select Case ans%
Case 0
Exit Sub
Case -1
CimLogout "TEST"
WinClose("OVERVIEW")
stuff = ExitWindowsEx (EWX_LogOff Or EWX_FORCE, 0)
End Select
End If
End Sub
這樣根據CIMPLICITY用戶(hù)的角色可以選擇退出windows 或回到desktop。
4, 斜率調節下一級主PID回路的設定值。
模擬量輸入直接使用32位浮點(diǎn)數,精度較之前的系統大為提高,小于10ms的PID回路運算輸出使得PID的調節工作大為簡(jiǎn)化。同時(shí),根據具體回路的調節經(jīng)驗獲得斜率曲線(xiàn),調整主PID回路的給定值,簡(jiǎn)單有效的實(shí)現了工藝的PID整定。這得益于27Mbps的PCI背板帶寬和1GHz可運行純符號變量的cpu的能力.
實(shí)施結果
保持了用戶(hù)原有的傳統DCS下的操作習慣,使用了快速先進(jìn)的PAC實(shí)現優(yōu)化的工藝控制,使得石化行業(yè)的用戶(hù)對在其他行業(yè)廣為使用的Cimplicity HMI/SCADA plus PACs system 有了更準確的理解。