解決方案
以催化劑奧達(dá)分公司為例,三臺(tái)Cimplicity HMI 直接通過(guò)以太網(wǎng)聯(lián)接Rx3i, Rx3i cpu 通過(guò)本地以太網(wǎng)擴(kuò)展方式連接遠(yuǎn)程機(jī)架。
用戶(hù)之前使用的是傳統(tǒng)的DCS, 希望保持一些使用習(xí)慣,例如:普通oper 用戶(hù)不可以看到和運(yùn)行非HMI軟件,也看不到桌面;彈出的PID, AUTO_MANUAL等多個(gè)回路調(diào)節(jié)窗口一直在主畫(huà)面之上,除非用戶(hù)關(guān)閉它們;系統(tǒng)管理員可以不受限制等等。工藝回路調(diào)節(jié)希望使用串級(jí)PID模式但reset 輔助級(jí)可以根據(jù)工藝特點(diǎn)調(diào)整斜率。
在GE智能平臺(tái) professional service工程師的幫助下系統(tǒng)集成商實(shí)現(xiàn)了用戶(hù)的期望。
1, 在windows 啟動(dòng)目錄下設(shè)置快捷方式執(zhí)行cimplicity 命令行指令
CimView.exe /autostart /captive /nomenutitle /alwaysmaximized c:\Projects\TEST\screens\Overview.cim
用戶(hù)只可以使用cimplicity HMI的內(nèi)容
2, 彈出的回路調(diào)節(jié)窗口添加script 調(diào)用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等回路調(diào)節(jié)窗口一直在主畫(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
這樣根據(jù)CIMPLICITY用戶(hù)的角色可以選擇退出windows 或回到desktop。
4, 斜率調(diào)節(jié)下一級(jí)主PID回路的設(shè)定值。
模擬量輸入直接使用32位浮點(diǎn)數(shù),精度較之前的系統(tǒng)大為提高,小于10ms的PID回路運(yùn)算輸出使得PID的調(diào)節(jié)工作大為簡(jiǎn)化。同時(shí),根據(jù)具體回路的調(diào)節(jié)經(jīng)驗(yàn)獲得斜率曲線,調(diào)整主PID回路的給定值,簡(jiǎn)單有效的實(shí)現(xiàn)了工藝的PID整定。這得益于27Mbps的PCI背板帶寬和1GHz可運(yùn)行純符號(hào)變量的cpu的能力.
實(shí)施結(jié)果
保持了用戶(hù)原有的傳統(tǒng)DCS下的操作習(xí)慣,使用了快速先進(jìn)的PAC實(shí)現(xiàn)優(yōu)化的工藝控制,使得石化行業(yè)的用戶(hù)對(duì)在其他行業(yè)廣為使用的Cimplicity HMI/SCADA plus PACs system 有了更準(zhǔn)確的理解。