999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

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

0 引言

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

1 自動調整控件尺寸

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

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

1.1 數據引用控件

用戶程序實例化該控件后,先獲取其位號名,并計算位號名文本寬度。然后,獲取位號名文本寬度和控件文本硬編碼寬度的最大值。最后,根據該值調整控件尺寸。

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

1.2 功能塊

用戶程序實例化該控件后,依次計算功能塊名稱文本寬度、功能塊位號名文本寬度、功能塊同行參數名稱最大行文本寬度,并獲取三者之間的最大值作為控件文本寬度。然后,獲取控件文本寬度與控件文本硬編碼寬度的最大值。最后,根據最大值調整控件尺寸。

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

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

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

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

2 自動調整控件位置

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

2.1 計算控件位置

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

2.2 計算重疊

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

圖2 控件區域定義Fig.2 Control area definition

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

判斷區域相交算法,如下所示:

控件區域定義為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 自動調整控件間距

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

3.1 計算控件間距

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

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

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

3.2 獲取所有控件有效區域

獲取所有控件有效區域的方法為遍歷所有控件位置,先記錄第一個獲取的控件位置為最小有效區域,然后繼續遍歷,獲取該控件位置后,并與最小有效區域值進行比較,若該控件位置不在最小有效區域內,則根據該控件位置調整最小有效區域范圍。

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

3.3 計算畫布顯示有效區域

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

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

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

3.5 計算控件間距

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

4 方案驗證

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

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

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

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

5 結束語

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

猜你喜歡
文本區域方法
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
關于四色猜想
分區域
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
基于嚴重區域的多PCC點暫降頻次估計
電測與儀表(2015年5期)2015-04-09 11:30:52
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
主站蜘蛛池模板: 亚洲国产欧美目韩成人综合| 九色在线视频导航91| 欧美人与动牲交a欧美精品| 色爽网免费视频| 永久免费无码成人网站| 国产超薄肉色丝袜网站| 国产门事件在线| 99久久精品国产精品亚洲| 久久特级毛片| 欧洲一区二区三区无码| 国产欧美精品午夜在线播放| 凹凸国产分类在线观看| 狠狠色婷婷丁香综合久久韩国| 亚洲欧美精品一中文字幕| 国产成人免费观看在线视频| 亚洲第一视频免费在线| 国产三级国产精品国产普男人 | 欧洲亚洲一区| 少妇精品在线| 好紧太爽了视频免费无码| 午夜视频www| 欧美69视频在线| 四虎成人精品| 中文字幕va| 亚洲精品无码高潮喷水A| 秘书高跟黑色丝袜国产91在线| 欧美成人免费一区在线播放| 国产黄在线免费观看| 四虎永久免费地址| 69av免费视频| 久操线在视频在线观看| 国产手机在线ΑⅤ片无码观看| 久操线在视频在线观看| 欧美色99| 亚洲欧美另类色图| 亚洲日韩精品伊甸| 麻豆精品在线播放| 日本AⅤ精品一区二区三区日| 麻豆国产精品一二三在线观看| 成人午夜精品一级毛片| 中文字幕天无码久久精品视频免费 | 国产一级裸网站| 在线无码九区| 日韩A∨精品日韩精品无码| 尤物视频一区| 99久久亚洲综合精品TS| 亚洲欧州色色免费AV| 国产成年女人特黄特色大片免费| 国产成人综合亚洲网址| 亚洲无线一二三四区男男| 久久香蕉国产线看观| 一区二区三区四区在线| 一级黄色网站在线免费看| 亚洲人妖在线| 99久久人妻精品免费二区| 亚洲成人播放| 国产一区二区三区夜色 | 欧美福利在线| 真实国产乱子伦视频| 成年人国产网站| 亚洲丝袜第一页| 亚洲美女视频一区| 国产欧美日韩专区发布| 国产精品视频3p| 婷婷色婷婷| 国内毛片视频| 亚洲精品国产首次亮相| 91在线日韩在线播放| 久久人搡人人玩人妻精品| 亚洲一区二区三区在线视频| 国产乱子精品一区二区在线观看| 午夜国产理论| 国产福利在线免费| 爆操波多野结衣| AV在线天堂进入| 精品国产网站| 久久久久青草大香线综合精品| 免费看a级毛片| 国产精品19p| 亚洲AⅤ永久无码精品毛片| 久久五月天综合| 日韩毛片免费观看|