亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種用戶程序的自動布局算法

        2021-01-15 02:11:06戴曉華汪宏毅
        儀器儀表用戶 2021年1期
        關鍵詞:文本區(qū)域方法

        孔 金,戴曉華,汪宏毅,劉 威

        (浙江中控技術股份有限公司,杭州 310053)

        0 引言

        功能塊語言源于信號處理領域,它將各種功能塊連接起來實現(xiàn)所需要的控制功能,其圖形元素由功能、功能塊和連接元素組成[1]。功能塊圖(Function Block Diagram,F(xiàn)BD)編程軟件是工業(yè)控制系統(tǒng)中最主要的控制策略組態(tài)工具之一,提供FBD的編程和調(diào)試功能。用戶程序畫布存在功能塊重疊、布局局部緊湊等問題,這導致該軟件存在布局耗時久、審核圖紙難、調(diào)試維護工作量大等易用性問題。為了解決該類問題,在保持FBD程序軟件現(xiàn)有功能和不影響現(xiàn)有業(yè)務邏輯的基礎上,通過自動調(diào)整控件尺寸、自動調(diào)整控件位置、自動調(diào)整控件間距等方法,對布局效果進行優(yōu)化,既能實現(xiàn)人機交互方便操作,又能有效地減少功能塊邊的交叉數(shù)[2]。

        1 自動調(diào)整控件尺寸

        用戶程序中由于采用了固定大小顯示功能塊,在實際應用時經(jīng)常出現(xiàn)位號名顯示不全、功能塊名稱顯示不全、功能塊位號名稱顯示不全、功能塊參數(shù)重疊等問題。因此,為了解決顯示問題,并保證最佳顯示風格,現(xiàn)提供方法支持自動調(diào)整控件尺寸。

        將控件類型分為數(shù)據(jù)引用控件和功能塊兩種,因此計算控件尺寸的方法,根據(jù)控件類型進行分類,共有兩種方式。

        1.1 數(shù)據(jù)引用控件

        用戶程序?qū)嵗摽丶?,先獲取其位號名,并計算位號名文本寬度。然后,獲取位號名文本寬度和控件文本硬編碼寬度的最大值。最后,根據(jù)該值調(diào)整控件尺寸。

        獲取位號名文本寬度和控件文本硬編碼寬度的最大值方法為比較兩個值,若位號名文本寬度不大于控件文本硬編碼寬度,則最大值為控件文本硬編碼寬度;若位號名文本寬度大于控件文本硬編碼寬度,則最大值為位號名文本寬度。

        1.2 功能塊

        用戶程序?qū)嵗摽丶螅来斡嬎愎δ軌K名稱文本寬度、功能塊位號名文本寬度、功能塊同行參數(shù)名稱最大行文本寬度,并獲取三者之間的最大值作為控件文本寬度。然后,獲取控件文本寬度與控件文本硬編碼寬度的最大值。最后,根據(jù)最大值調(diào)整控件尺寸。

        獲取功能塊文本寬度方法是先獲取功能塊名稱,然后根據(jù)每個字節(jié)所占文本寬度進行計算。

        獲取功能塊位號名文本寬度方法是先獲取功能塊位號名,然后根據(jù)每個字節(jié)所占文本寬度進行計算。

        獲取功能塊同行參數(shù)名稱最大行的文本寬度的方法是先依次獲取同序號的輸入?yún)?shù)和輸出參數(shù)的名稱,再根據(jù)每個字節(jié)所占文本寬度,依次計算輸入?yún)?shù)文本寬度和輸出參數(shù)文本寬度,并計算兩者之和后保存;然后,根據(jù)序號遍歷保存的值進行比較,獲取最大值即可。

        獲取控件文本寬度和控件文本硬編碼寬度的最大值方法為:比較兩個值,若控件文本寬度不大于控件文本硬編碼寬度,則最大值為控件文本硬編碼寬度;若控件文本寬度大于控件文本硬編碼寬度,則最大值為位號名文本寬度。

        2 自動調(diào)整控件位置

        用戶程序可以通過導入CSV和XML文件新建FBD用戶程序,但是數(shù)據(jù)引用控件和功能塊的位置都是軟件硬編碼的,當超過一定數(shù)量后,就會出現(xiàn)功能塊重疊問題。因此,為了解決重疊問題,現(xiàn)提供方法支持自動調(diào)整控件位置。

        2.1 計算控件位置

        計算控件位置的方法是進行遍歷所有控件,每獲取一個控件位置后,再遍歷除了自己以及遍歷過的控件之外的其他所有控件,若發(fā)現(xiàn)重疊,則進行偏移。

        2.2 計算重疊

        圖1 控件位置計算過程Fig.1 Control position calculation process

        圖2 控件區(qū)域定義Fig.2 Control area definition

        計算重疊的方法是獲取兩個控件的最小矩形區(qū)域,若兩個區(qū)域相交,則認為重疊;若兩個區(qū)域不相交,則認為不重疊。

        判斷區(qū)域相交算法,如下所示:

        控件區(qū)域定義為rect(min,max),min和max是二維點(x,y)組成,如圖2所示。

        兩個控件a(mina, maxa)和b(minb, maxb)的交集c(minc,maxc)滿足:

        minc.x = max(mina.x, minb.x)

        minc.y = max(mina.y, minb.y)

        maxc.x = min(maxa.x, maxb.x)

        maxc.y = min(maxa.y, maxb.y)

        若滿足以下情形,則a和b相交,否則a和b不相交。

        minc.x <= maxc.x且minc.y <= maxc.y

        3 自動調(diào)整控件間距

        用戶程序支持通過導入XML文件新建FBD用戶程序,但是XML文件中坐標的單位是mm,用戶程序坐標的單位是像素,且紙張大小與FBD用戶程序畫布大小不一致,因此轉(zhuǎn)化后,該軟件存在布局緊湊等問題。雖然自動調(diào)整控件尺寸解決了顯示不全問題,自動調(diào)整控件位置解決了重疊問題,但是會存在控件緊湊在局部區(qū)域,其他區(qū)域空白較多,影響用戶體驗。因此,為了解決該問題,現(xiàn)提供自動調(diào)整控件間距方法。該方法在圖中的控件較多時,可以盡量減少圖中的交叉線,并且在進行深度搜索時充分考慮到相鄰控件的布局,使畫布的可讀性比較好[3]。

        3.1 計算控件間距

        計算控件間距的方法為先獲取所有控件的最小有效區(qū)域,然后獲取畫布顯示有效區(qū)域,再計算最小有效區(qū)域和畫布顯示有效區(qū)域的縮放比,最后根據(jù)縮放比獲取控件間距。

        圖3 控件最小區(qū)域計算方法Fig.3 The calculation method of the minimum area of the control

        圖4 調(diào)整前用戶程序畫布顯示效果Fig.4 User program canvas display effect before adjustment

        3.2 獲取所有控件有效區(qū)域

        獲取所有控件有效區(qū)域的方法為遍歷所有控件位置,先記錄第一個獲取的控件位置為最小有效區(qū)域,然后繼續(xù)遍歷,獲取該控件位置后,并與最小有效區(qū)域值進行比較,若該控件位置不在最小有效區(qū)域內(nèi),則根據(jù)該控件位置調(diào)整最小有效區(qū)域范圍。

        控件區(qū)域定義為 rect(min,max),min和 max是二維點(x,y)組成。兩個控件分別是a(mina, maxa)和b(minb, maxb),則這兩個控件的最小有效區(qū)域是(mina,maxb)。

        3.3 計算畫布顯示有效區(qū)域

        計算畫布顯示有效區(qū)域的方法為:根據(jù)用戶程序的畫布大小獲取顯示控件位置區(qū)域。

        3.4 計算最小有效區(qū)域和畫布顯示區(qū)域的縮放比

        計算最小有效區(qū)域和畫布顯示區(qū)域的縮放比方法是先依次獲取最小有效區(qū)域的寬度和高度以及畫布顯示區(qū)域的寬度和高度,然后依次將最小有效區(qū)域的寬度和畫布顯示區(qū)域的寬度相除獲取寬度縮放比,將最小有效區(qū)域的高度和畫布顯示區(qū)域的高度相除獲取高度縮放比。

        3.5 計算控件間距

        計算控件間距的方法是遍歷所有控件,獲取控件位置信息后,依次分別乘以寬度縮放比和高度縮放比,獲取最終控件位置,該值與相鄰控件位置之差就是間距值。

        4 方案驗證

        以用戶程序的導入XML文件功能為例,畫布使用該方法前后的顯示對比效果如下所示:

        1)未使用該成果,用戶程序畫布顯示效果如圖4所示。

        圖5 調(diào)整后用戶程序畫布顯示效果Fig.5 User program canvas display effect after adjustment

        2)使用該成果后,用戶程序畫布顯示效果如圖5所示。

        5 結束語

        針對工業(yè)控制系統(tǒng)軟件的用戶程序布局易用性問題,本文從自動調(diào)整控件尺寸、自定義調(diào)整控件位置、自定義調(diào)整布局等幾個方面進行了嘗試,取得了良好的效果。使用該方法后,對于工程實施人員而言,無論是對于組態(tài)實施,還是組態(tài)調(diào)試,效率都有明顯提升;對于用戶而言,不管是在線查看組態(tài),還是審核圖紙,體驗都有明顯改善。

        猜你喜歡
        文本區(qū)域方法
        在808DA上文本顯示的改善
        基于doc2vec和TF-IDF的相似文本識別
        電子制作(2018年18期)2018-11-14 01:48:06
        可能是方法不對
        關于四色猜想
        分區(qū)域
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        基于嚴重區(qū)域的多PCC點暫降頻次估計
        電測與儀表(2015年5期)2015-04-09 11:30:52
        99久久久69精品一区二区三区| 国内成+人 亚洲+欧美+综合在线| 国产精品久久久| 国产精品区一区二区三在线播放| 天堂a版一区二区av| 免费视频无打码一区二区三区| 无码国产69精品久久久久孕妇| 亚洲欧美日韩一区在线观看| 蜜桃av观看亚洲一区二区| 国产自拍精品在线免费观看| 国产动作大片中文字幕| 久久综合给合久久狠狠狠97色69 | 国产伦精品一区二区三区免费| 国产偷国产偷高清精品| 日本熟妇视频在线中出| 米奇欧美777四色影视在线| 无码人妻久久一区二区三区不卡| av色综合网站| 日韩亚洲精选一区二区三区| 98色婷婷在线| 午夜福利电影| 国产 在线播放无码不卡| 三级日本理论在线观看| 精品视频无码一区二区三区| 福利片福利一区二区三区| 在线观看黄片在线播放视频| 国产不卡精品一区二区三区| 蜜桃麻豆www久久囤产精品| 青青国产成人久久91| 亚洲精品成人一区二区三区| 亚洲色欲久久久综合网东京热| 97久久超碰国产精品2021 | 久久久久亚洲av无码a片| 日本japanese少妇高清| 啪啪网站免费观看| 亚洲国产区中文在线观看| 丰满少妇高潮惨叫久久久一| 国产成年无码V片在线| 一区二区免费中文字幕| 大肉大捧一进一出好爽视频动漫| 99久久精品国产成人综合|