国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于算術表達式的順控前置條件設計與實現(xiàn)

2022-11-15 06:59吳小俊李上于洋
科技創(chuàng)新與應用 2022年32期
關鍵詞:表達式序號遙控

吳小俊,李上,于洋

(南京軌道交通系統(tǒng)工程有限公司,南京 210019)

綜合監(jiān)控系統(tǒng)或電力監(jiān)控系統(tǒng)的順控多采用調度順控模式[1],是多個遙控命令的組合,調度操作員只需通過界面點擊1個按鈕即可以完成一系列控制的操作,操作過程簡單,自動化程度高,但某些特定情境下也可能會存在一些風險。

順控前置條件是在執(zhí)行順控遙控命令前的一系列邏輯閉鎖或特定狀態(tài)檢測的一種有效手段,實現(xiàn)遙控防誤閉鎖[2]的功能。結合中綴表達式的應用,在執(zhí)行遙控命令前,判斷是否存在閉鎖條件或閉鎖條件是否滿足[3],可提高順控執(zhí)行的安全性,同時各前置條件的結果會直觀在界面上顯示,操作員能根據(jù)顯示結果盡量排查原因,減少人工故障檢測時間。下面針對基于中綴表達式的前置條件設計實現(xiàn)進行介紹。

1 設計與實現(xiàn)

順控是一系列遙控對象的集合,即順控卡片,是電氣操作票的倒閘過程[4],用戶操作時,程序會按照預先配置的步驟依次進行命令下發(fā),自動按照規(guī)則完成一系列遙控對象的操作[5],實現(xiàn)停送電道閘操作。

順控模塊包括順控配置模塊和順控執(zhí)行模塊2個部分。

順控配置模塊主要是按照順控卡片配置前置條件和遙控對象。順控執(zhí)行模塊是根據(jù)順控的配置檢測前置條件和執(zhí)行遙控操作命令。2個模塊與系統(tǒng)平臺的配置庫和實時庫數(shù)據(jù)交互的關系如圖1所示。

圖1 順控與系統(tǒng)平臺數(shù)據(jù)交互示意圖

1.1 配置設計

順控配置模塊通過讀寫配置數(shù)據(jù)庫,根據(jù)預先定義的順控卡片根據(jù)系統(tǒng)平臺的數(shù)據(jù)點進行綁定和設置。

順控操作的每一步驟在配置數(shù)據(jù)庫中即1個順控對象。順控對象的配置主要包括順控序號、順控類型、順控對象和順控條件屬性等字段。各主要字段說明如下。

(1)順控序號:順控執(zhí)行步驟序號,由1開始,依次增加。

(2)順控類型:順控對象具有控制類型,控制類型包括條件與控制命令,用于區(qū)別順控對象是前置條件還是遙控操作。

(3)順控對象:對應系統(tǒng)中的遙信點、遙測點或遙控點。其中當順控對象是條件時配置為遙信(DI)或遙測點(AI);當順控對象是遙控命令時配置遙控點(DO)。

(4)順控對象配置條件屬性,針對順控對象類型,配置的意義不同。

①當順控對象類型是前置條件時,條件屬性為條件算術表達式。

條件算術表達式采用比較運算符,==、!=、>、<、>=、<=。順控對象是系統(tǒng)中的DI或AI點,通過比較運算符,建立每一個條件的比較結果。示例見表1。

表1 條件對象配置表

第1行表示第1個順控對象為遙信點1011隔離開關,配置為前置條件,當隔離開關1011的值為1時(開關狀態(tài)為分位),此順控序號條件滿足。

第2行表示第2個順控對象為遙信點1012隔離開關,配置為前置條件,當隔離開關1012的值為2時(開關狀態(tài)為合位),此順控序號條件滿足。

第3行和第1、2行配置類同。

采用DI遙信點狀態(tài)作為條件是常見的做法,也可以對AI遙測點建立條件,如101進線電壓>=34.5 kV等形式,但如果使用35.5 kV>=101進線電壓>=34.5 kV這樣條件形式,則需要將條件拆分為2個條件,35.5 kV>=101進線電壓并且101進線電壓>=34.5 kV,在后面配置中將2個條件使用邏輯運算&進行合并。

②當順控對象類型為遙控命令時,條件屬性為前置條件表達式。順控對象為遙控點。

前置條件表達式為邏輯表達式,采用中綴表達式形式,使用邏輯運算符,與(&)、或(|)、非(!),操作符優(yōu)先級為?。?>|[6],并可以使用括號(),括號具有最高優(yōu)先級,使用括號可以使更好理解與配置表達式邏輯,避免配置與預期結果不一致。每一個運算分量是前置條件對應的順控執(zhí)行順序,計算表達式的邏輯結果[7]。配置示例見表2。

表2 遙控對象前置條件配置表

第四行表示順控對象是遙控命令對象,條件屬性為1&2|3,表示第1個順控對象1011隔離開關實時狀態(tài)==1和第2個前順控對象隔離開關1012狀態(tài)==2或者第3個順控對象隔離開關1013狀態(tài)!=2時,前置條件結果才為真。

1.2 執(zhí)行設計

順控執(zhí)行模塊首先從配置庫中讀取配置的數(shù)據(jù),按照順控序號根據(jù)獲取的實時值逐一檢測順控對象。檢測過程見表3。

表3 遙控對象前置條件執(zhí)行表

第1個順控對象為遙信點1011隔離開關為前置條件,執(zhí)行模塊通過實時數(shù)據(jù)庫獲取當前配置遙信點的實時值[8],當隔離開關1011的實時值為1時(開關分位),此順控序號條件滿足,否則提示不滿足。

第2個順控對象為遙信點1012隔離開關為前置條件,執(zhí)行模塊通過實時數(shù)據(jù)庫獲取隔離開關1012的值實時為2時(開關合位),此順控序號條件滿足,否則提示不滿足。

第3個順控對象為遙信點1013隔離開關,也為前置條件,執(zhí)行模塊通過實時數(shù)據(jù)庫獲取隔離開關1013的實時值!=1(不是開關分位),此順控序號條件滿足,否則提示不滿足。

第4個順控對象是遙控命令對象,順控條件為1&2|3,執(zhí)行模塊在執(zhí)行遙控命令前,需要通過表達計算前置條件的邏輯結果,在當?shù)?個順控對象1011隔離開關實時狀態(tài)==1和第2個前順控對象隔離開關1012實時狀態(tài)==2或者第3個順控對象隔離開關1013實時狀態(tài)!=1時,順控對象前置條件結果才為真,可以繼續(xù)執(zhí)行斷路器101遙控命令,否則不能執(zhí)行遙控命令,并給出順控條件不滿足的提示。

順控前置條件采用中綴表達式形式,中綴表達式是一種統(tǒng)一的算術或邏輯公式表示方法,操作符以中綴形式處于操作數(shù)的中間,很容易理解與分析,可方便配置人員進行配置。但計算機很難之間計算中綴表達式,通常需要將中綴表達式轉換為前綴表達式[9]或后綴表達式[10-11],再對前綴或后綴表達式進行求值。

本方案采用中綴表達式轉后綴表達式的方式,使用C++/Qt框架,利用Qt框架的QVector、QList、QStack等容器類實現(xiàn)。

順控前置條件判斷基本流程如圖2所示。

圖2 前置條件判斷流程圖

本方案中關鍵的流程包括以下3個步驟。

(1)使用splitExp(QString& sExp,QList<QChar>& listChar)函數(shù)將字符串性的表達式轉換成QList<QChar>字符串列表,方便后續(xù)轉換使用

(2)使用infixToSuffix(QString& sExp,QVector<QChar>& suffixExp)函數(shù)將QList<QChar>字符串列表的中綴表達式轉換成QVector<QChar>后綴表達式

(3)使用calulateSuffix(QString sExp,QMap<int,bool>& conditionMap)函數(shù)將各順控條件的邏輯結果值代入后綴表達式數(shù)組,計算最終前置表達式的結果。

2 應用示例

工程應用中,調試人員根據(jù)預先設計的順控卡片配置順控對象,包括順控序號、順控對象、順控類型、順控動作(只針對遙控對象)、順控前置條件和執(zhí)行次數(shù)等。配置示例如圖3所示。

圖3 配置示例圖

在進行電氣倒閘操作時,調度操作員在點擊執(zhí)行按鈕后,順控執(zhí)行模塊依次檢測各條件是否滿足,再根據(jù)中綴表達式計算最終前置條件結果,如不滿足則不執(zhí)行,并顯示錯誤提示信息,如滿足則正常執(zhí)行下一步遙控操作,下發(fā)遙控命令,執(zhí)行界面效果示例展示如圖4所示。

圖4 執(zhí)行示例圖

3 結論

采用中綴算術表達式作為順控前置條件,工程調試人員可自由配置各類順控執(zhí)行條件,配置方式簡單明了,方便實現(xiàn)不同順控應用場景,同時,使用前置條件方式的順控方案可防止運營調度人員誤操作,執(zhí)行前檢測先決條件,提前告知順控卡片可否執(zhí)行,提高工作效率。適用于城市軌道交通和電氣化鐵路綜合監(jiān)控系統(tǒng)和電力監(jiān)控系統(tǒng),并可應用類似邏輯順控判斷如聯(lián)動功能[12]等的工業(yè)控制領域。本設計方案已在城市軌道交通綜合監(jiān)控系統(tǒng)等多個類似系統(tǒng)中應用和實施,得到了很好的驗證。

猜你喜歡
表達式序號遙控
“遙控”老師
靈活選用二次函數(shù)表達式
他是如何遙控引爆的
技術指標選股
技術指標選股
技術指標選股
技術指標選股
尋找勾股數(shù)組的歷程
遙控賽車
議C語言中循環(huán)語句