五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

通訊協(xié)議021——全網(wǎng)獨(dú)有的OPC AE知識四之接口(五)

2023-07-23 09:12 作者:zhouwl72  | 我要投稿

本文簡單介紹OPC AE規(guī)范的接口IOPCEventServer2的相關(guān)知識,更多通信資源請登錄網(wǎng)信智匯(wangxinzhihui.com)。OPC AE規(guī)范描述了OPC事件服務(wù)器應(yīng)該實(shí)現(xiàn)的對象和接口,實(shí)現(xiàn)在多個(gè)OPC客戶端間共享事件和警報(bào)條件。

IOPCEventServer2是一個(gè)可選接口,用于在區(qū)域或源的基礎(chǔ)上管理?xiàng)l件的啟用狀態(tài)。它擴(kuò)展了在IOPCEventServer上定義的相應(yīng)方法。方法定義允許客戶端查詢區(qū)域或源列表的當(dāng)前啟用狀態(tài)。

為了進(jìn)一步說明啟用狀態(tài)方法的用法,下面的示例區(qū)域模型作為啟動條件。禁用的對象顯示為高亮顯示。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1)客戶端為A11調(diào)用GetEnableStateByArea,對于當(dāng)前狀態(tài),服務(wù)器均返回FALSE(pbEnabled)和有效狀態(tài)(pbEffectivelyEnabled)。

2)客戶端調(diào)用A11的EnableConditionByArea2,服務(wù)器返回S_OK??蛻舳藶镾1、S2和S3調(diào)用EnableConditionBySource2,區(qū)域模型將更新,如下圖所示。

3)客戶端為A11調(diào)用GetEnableStateByArea,對于當(dāng)前狀態(tài),服務(wù)器均返回TRUE(pbEnabled)和有效狀態(tài)(pbEffectivelyEnabled)。

4)客戶端調(diào)用S1的DisableConditionBySource2,服務(wù)器返回S_OK。

5)客戶端為A11調(diào)用GetEnableStateByArea,對于當(dāng)前狀態(tài),服務(wù)器均返回TRUE(pbEnabled)和有效狀態(tài)(pbEffectivelyEnabled)。

?

【接口說明】

1)HRESULT EnableConditionByArea2(

????????[in] DWORD dwNumAreas,

????????[in, string, size_is(dwNumAreas)] LPWSTR* pszAreas,

????????[out, size_is(,dwNumAreas)] HRESULT **ppErrors

);

將指定的過程區(qū)域置于啟用狀態(tài)。服務(wù)器生成源本身已啟用且其層次結(jié)構(gòu)中的包含區(qū)域沒有被禁用的條件相關(guān)事件。

此方法的效果在事件服務(wù)器的范圍內(nèi)是全局的。如果服務(wù)器支持多個(gè)客戶端,為所有客戶端啟用條件,所有客戶端將開始接收條件相關(guān)事件。

由于此方法的全局影響,一些事件服務(wù)器實(shí)現(xiàn)者可能會選擇不實(shí)現(xiàn)它。在這種情況下,如果客戶端通過QueryInterface請求IOPCEventServer2,服務(wù)器應(yīng)該返回E_NOINTERFACE 。

一個(gè)條件可能與多個(gè)來源相關(guān)。這些來源可能是分布于多個(gè)區(qū)域。啟用一個(gè)區(qū)域的條件不會改變其他區(qū)域中關(guān)聯(lián)源的同名條件的啟用/禁用狀態(tài)區(qū)域。例如,可以為“區(qū)域1”中的源啟用“LevelAlarm”條件,而在“區(qū)域2”中的源禁用“LevelAlarm”條件。

如果源的條件狀態(tài)設(shè)置為已啟用,并且包含區(qū)域的層次結(jié)構(gòu)中的所有區(qū)域都已啟,則源啟用。

如果HRESULT為S_OK,則可以忽略ppErrors(其中的所有結(jié)果都保證為S_OK)。

如果HRESULT是FAILED代碼,則服務(wù)器應(yīng)返回NULL的OUT指針參數(shù)及ppErrors。

調(diào)用方必須釋放返回的ppErrors數(shù)組。

?

2)HRESULT EnableConditionBySource2(

????????[in] DWORD dwNumSources,

????????[in, string, size_is(dwNumSources)] LPWSTR* pszSources,

????????[out, size_is(,dwNumSources)] HRESULT **ppErrors

?);

將指定事件源的所有條件置于啟用狀態(tài)。服務(wù)器將為這些源生成與條件相關(guān)的事件。

此方法的效果在事件服務(wù)器的范圍內(nèi)是全局的。如果服務(wù)器支持多個(gè)客戶端,為所有客戶端啟用條件,所有客戶端將開始接收條件相關(guān)事件。

由于此方法的全局影響,一些事件服務(wù)器實(shí)現(xiàn)者可能會選擇不實(shí)現(xiàn)它。在這種情況下,如果客戶端通過QueryInterface請求IOPCEventServer2,服務(wù)器應(yīng)該返回E_NOINTERFACE。

一個(gè)條件可能與多個(gè)源相關(guān)聯(lián)。啟用一個(gè)源的相關(guān)條件不會更改其他源關(guān)聯(lián)的相同名稱的條件的啟用/禁用狀態(tài)。例如,可以為“A100”啟用“LevelAlarm”條件,為“FIC101”禁用“LevelAlarm”條件。

如果源的條件狀態(tài)設(shè)置為已啟用,并且包含區(qū)域的層次結(jié)構(gòu)中的所有區(qū)域都已啟,則源啟用。

如果HRESULT為S_OK,則可以忽略ppErrors(其中的所有結(jié)果都保證為S_OK)。

如果HRESULT是FAILED代碼,則服務(wù)器應(yīng)返回NULL的OUT指針參數(shù)及ppErrors。

調(diào)用方必須釋放返回的ppErrors數(shù)組。

?

3)HRESULT DisableConditionByArea(

????????[in] DWORD dwNumAreas,

????????[in, string, size_is(dwNumAreas)] LPWSTR* pszAreas,

????????[out, size_is(,dwNumAreas)] HRESULT **ppErrors

?);

將指定的過程區(qū)域置于禁用狀態(tài)。服務(wù)器將停止為這些條件生成與條件相關(guān)的事件。

此方法的效果在事件服務(wù)器的范圍內(nèi)是全局的。如果服務(wù)器支持多個(gè)客戶端,所有客戶端的條件都被禁用,所有客戶端將停止接收條件相關(guān)事件。

由于此方法的全局影響,一些事件服務(wù)器實(shí)現(xiàn)者可能會選擇不實(shí)現(xiàn)它。在這種情況下,如果客戶端通過QueryInterface請求IOPCEventServer2,服務(wù)器應(yīng)該返回E_NOINTERFACE。

一個(gè)條件可能與多個(gè)來源相關(guān)。這些來源可能是分布于多個(gè)區(qū)域。禁用一個(gè)區(qū)域中的條件不會改變與其他區(qū)域中關(guān)聯(lián)源的同名條件的啟用/禁用狀態(tài)。例如,可以為“區(qū)域1”中的源啟用“LevelAlarm”條件,而在“區(qū)域2”中的源禁用“LevelAlarm”條件。

如果源的條件狀態(tài)設(shè)置為禁用或包含區(qū)域的層次結(jié)構(gòu)中的任何區(qū)域被禁用,則該源將被禁用。

如果HRESULT為S_OK,則可以忽略ppErrors(其中的所有結(jié)果都保證為S_OK)。

如果HRESULT是FAILED代碼,則服務(wù)器應(yīng)返回NULL的OUT指針參數(shù)及ppErrors。

調(diào)用方必須釋放返回的ppErrors數(shù)組。

?

4)HRESULT DisableConditionBySource2(

????????[in] DWORD dwNumSources,

????????[in, string, size_is(dwNumSources)] LPWSTR* pszSources,

????????[out, size_is(,dwNumSources)] HRESULT **ppErrors

?);

將指定事件源的所有條件置于禁用狀態(tài)。服務(wù)器將不再為這些源生成與條件相關(guān)的事件。

此方法的效果在事件服務(wù)器的范圍內(nèi)是全局的。如果服務(wù)器支持多個(gè)客戶端,所有客戶端的條件都被禁用,所有客戶端將停止接收條件相關(guān)事件。

由于此方法的全局影響,一些事件服務(wù)器實(shí)現(xiàn)者可能會選擇不實(shí)現(xiàn)它。在這種情況下,如果客戶端通過QueryInterface請求IOPCEventServer2,服務(wù)器應(yīng)該返回E_NOINTERFAC。

一個(gè)條件可能與多個(gè)源相關(guān)聯(lián)。禁用一個(gè)源相關(guān)聯(lián)的條件不會改變其它源相關(guān)聯(lián)的相同名稱的條件的啟用/禁用狀態(tài)。例如,在“A100”啟用“LevelAlarm”條件,在“FIC101”禁用“LevelAlarm”條件。

如果源的條件狀態(tài)設(shè)置為禁用或包含區(qū)域的層次結(jié)構(gòu)中的任何區(qū)域被禁用,則該源將被禁用。

如果HRESULT為S_OK,則可以忽略ppErrors(其中的所有結(jié)果都保證為S_OK)。

如果HRESULT是FAILED代碼,則服務(wù)器應(yīng)返回NULL的OUT指針參數(shù)及ppErrors。

調(diào)用方必須釋放返回的ppErrors數(shù)組。

?

5)HRESULT GetEnableStateByArea(

????????[in] DWORD dwNumAreas,

????????[in, string, size_is(dwNumAreas)] LPWSTR* pszAreas,

????????[out, size_is(,dwNumAreas)] BOOL **pbEnabled,

????????[out, size_is(,dwNumAreas)] BOOL **pbEffectivelyEnabled, [out, size_is(,dwNumAreas)] HRESULT **ppErrors

?);

返回pszAreas中指定的每個(gè)區(qū)域的當(dāng)前啟用狀態(tài)和有效啟用狀態(tài)。

如果HRESULT為S_OK,則可以忽略ppErrors(其中的所有結(jié)果都保證為S_OK)。

如果HRESULT是FAILED代碼,則服務(wù)器應(yīng)返回NULL的OUT指針參數(shù)及ppErrors。

調(diào)用方必須釋放返回的ppErrors數(shù)組。

?

6)HRESULT GetEnableStateBySource(

????????[in] DWORD dwNumSources,

????????[in, string, size_is(dwNumSources)] LPWSTR* pszSources,

????????[out, size_is(,dwNumSources)] BOOL **pbEnabled,

????????[out, size_is(,dwNumSources)] BOOL **pbEffectivelyEnabled, [out, size_is(,dwNumSources)] HRESULT **ppErrors

);

返回pszSources中指定的每個(gè)源的當(dāng)前啟用狀態(tài)和有效啟用狀態(tài)。

如果HRESULT為S_OK,則可以忽略ppErrors(其中的所有結(jié)果都保證為S_OK)。

如果HRESULT是FAILED代碼,則服務(wù)器應(yīng)返回NULL的OUT指針參數(shù)及ppErrors。

調(diào)用方必須釋放返回的ppErrors數(shù)組。

更多通信資源請登錄網(wǎng)信智匯(wangxinzhihui.com)。


通訊協(xié)議021——全網(wǎng)獨(dú)有的OPC AE知識四之接口(五)的評論 (共 條)

分享到微博請遵守國家法律
灵石县| 陇南市| 双峰县| 罗平县| 靖州| 罗江县| 林西县| 凤翔县| 游戏| 虹口区| 黑山县| 天台县| 璧山县| 宣武区| 田阳县| 临西县| 竹山县| 铜川市| 金川县| 新乐市| 阳原县| 东明县| 江北区| 沛县| 赤水市| 阿克苏市| 德庆县| 武义县| 郁南县| 土默特右旗| 措勤县| 清镇市| 双流县| 乌拉特前旗| 视频| 阿拉尔市| 梅州市| 阿拉善盟| 德州市| 聊城市| 恩平市|