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

基于有限狀態機的UCC/EAN-128條碼編程實現

2016-02-07 07:03:56安美君王淑
中國醫療設備 2016年9期

安美君,王淑

1.上海健康醫學院 醫學電子與信息工程系,上海 200093;2.上海市兒童醫院 信息科,上海 200040

基于有限狀態機的UCC/EAN-128條碼編程實現

安美君1,王淑2

1.上海健康醫學院 醫學電子與信息工程系,上海 200093;2.上海市兒童醫院 信息科,上海 200040

本文采用有限狀態機理論,討論了UCC/EAN-128條碼3種字符集的使用條件,3種編碼方式互相轉換的流程,展示了從信息字符串轉變成編碼字符串的處理過程,設計了一種鏈表結構存儲編碼字符串,實現了條碼的最小編碼,為后續檢驗碼計算和圖案生成提供了方便。整個模塊已經應用在醫院臨床用血管理系統中并獲得了良好效果。

醫院信息系統;臨床用血;UCC/EAN-128條碼;有限狀態機;條碼編程

0 引言

UCC/EAN-128條碼[1]是一種可同時描述字母、數字的高密度條碼,該條碼的每個字符由3條和3空組成,總寬度為11個基本寬度單位,每個條或空的寬度由字符的編碼決定。UCC/EAN-128條碼有3種字符集,根據條碼的具體內容特點,可以采樣合適的字符集,從而獲得最短長度編碼。同一條碼允許有多個字符集組成,最小碼長只有3位、最長碼長可達48位,為非定長條碼;條碼前幾位(2~4位)稱為標識位,指示后續的數據長度和所代表的含義;可同時標識多組數據,中間用功能符分隔,檢驗碼統一計算;同一信息可以有3種不同編碼格式;相比其它一維條碼,它能標識更多的字符,蘊含的信息量更大;在物流[2]和醫院信息管理[3-6]等領域獲得廣泛應用。

GB/T15425-2002標準附錄A聲明了UCC/EAN-128條碼符號長度最小原則和對字符串編碼時起始符、切換符和轉換字符與原始信息的組合方法。目前的文獻資料中鮮見關于UCC/EAN-128條碼生成算法,大多討論EAN-13碼[7]、Code39碼[8-9],賈海生[10]等討論了EAN-128碼純數字的編程實現,沒有考慮數字、字符和控制碼混合的條碼編程情況。本文利用有限狀態機的基本原理和GB/T15425-2002標準附錄A中聲明的最小原則,設定狀態轉換條件,通過對原始編碼信息掃描,確定每個字符編碼時的狀態,從而實現條碼的最短編碼。

1 UCC/EAN-128條碼

UCC/EAN-128條碼由起始碼、功能碼、信息碼、停止碼、校驗碼組成[1],見圖1。該條碼有3個字符集,分別為字符集A、B和C,每種字符集有不同的編碼方式。字符集A包括所有標準的大寫英文字母、數字字符、控制字符、特殊字符及輔助字符;字符集B包括所有標準的大寫和小寫英文字母、數字字符、特殊字符及輔助字符;字符集C包括00~99的100個數字以及輔助字符。因為字符集C中的1個條碼字符表示2個數字字符,因此使用該字符集表示數字信息可以比其它字符集信息量增加1倍,適合描述連續的數字符號。A、B、C 3個字符集可以交替使用,也可以用SHIFT功能對一個字符進行字符集之間的轉換。

圖1 UCC/EAN-128條碼組成結構

2 有限狀態機

有限狀態機是有限個狀態以及在這些狀態之間的遷移和動作等行為的數學模型,通常由狀態、遷移、事件、動作和條件等幾個基本要素構成。狀態是從系統開始到現在時刻的行為所產生的綜合結果,具有暫時穩定性,在外部或內部條件的影響下,系統可以從一種狀態遷移到另一種狀態,系統狀態遷移圖指示其變化情況;事件是在特定時空發生的對系統有意義的改變,一般會引起狀態遷移,它既可以來自外部也可由內部生成;動作是在給定時刻對要進行的活動描述。有限狀態機系統用動作來響應內外部事件,響應結果與系統當前狀態和外部條件有關。

基于事件驅動的有限狀態機思想在軟件工程中主要應用于多分支選擇結構中,它能采取多種操作來響應不同的事件。計算機中正在運行的程序可以看成是一種離散系統,在各個時刻都具有特定狀態,該狀態可用程序中所有變量的值和程序堆棧指針來確定。

在對UCC/EAN-128條碼進行編碼時,首先需要確定當前使用的字符集類型,然后根據后續要編碼字符串特點,決定是否繼續使用當前字符集或者切換到其它字符集,UCC/EAN-128條碼編碼特征適合用有限狀態機模型進行處理。

3 UCC/EAN-128條碼編碼原則

在UCC/EAN-128條碼符號中,通過使用不同的起始、切換和轉換字符的組合,可以對相同的數據有不同的表示,下述內容為狀態遷移的條件和動作[1]。

(1)如果數據以4位或4位以上的數字型數據符開始,則使用起始符C;如果數據中在小寫字母字符之前出現ASCII控制字符,則使用起始符A;其他情況,使用起始符B。

(2)如果使用起始符C,并且數字個數為奇數,則在最后一位數字前插入字符集A或字符集B。

(3)如果在字符集A或字符集B中同時出現4位或4位以上的數字字符,且數字型數據字符的個數為偶數,則在第一個數字之前插入CODE C字符將字符集轉換為字符集C,若數字型數據字符的個數為奇數,則在第一個數字之后插入CODE C字符將字符集轉換為字符集C。

(4)當使用字符集B,并且數據中出現ASCII控制字符時,如果在該控制字符之后,在另一個控制字符之前出現一個小寫字母字符,則該此控制字符之前插入轉換字符;否則,在控制字符之前插入CODE A將字符集轉換為字符集A。

(5)當使用字符集A,并且數據中出現小寫字母字符時,如果在該小寫字母字符之后,在另一個小寫字母字符之前出現一個控制字符,則在該小寫字母字符之前插入轉換字符;否則,在小寫字母字符之前插入CODE B將字符集轉換為字符集B。

(6)如果在字符集C中出現一個非數字字符,則在該非數字字符之前插入CODE A或CODE B。

按照上述規則,UCC/EAN-128條碼編碼狀態遷移圖,見圖2[11],序號①~⑦代表狀態遷移條件,例如序號⑦代表從字符集B編碼模式遷移到字符集C編碼模式,觸發條件是后續編碼的字符串中至少有4個連續的數字字符。

圖2 UCC/EAN-128條碼編碼狀態遷移圖

4 編碼實現

按照UCC/EAN-128條碼的組成規則,在確定需要生產的條碼信息字符串后,先生產左邊空格編碼,然后掃描信息字符串,確定開始使用的字符集,明確當前狀態,再以后續要編碼的字符為輸入條件,結合當前狀態,確定是否繼續維持使用當前字符集,循環進行處理直至要編碼信息字符串結尾[12-13]。

在處理中有狀態遷移行為發生,最后的編碼字符串與編碼信息字符串不一致,它中間可能包含一些控制碼,在計算校驗碼時,所有編碼字符串均要參與運算,其權值與所在位置相關,最后的編碼字符集決定校驗碼的歸屬。為方便計算校驗碼和生成條碼圖案,可采用一個鏈表結構,保存編碼字符串,每個節點保存一個編碼字符,新增節點加在鏈表尾部。從鏈表頭開始遍歷,可以很方便計算校驗碼,亦可按此順序生成條碼圖案,見圖3。

圖3 編碼字符存儲示意圖

例如,輸出條碼集AbcD12345E,經過上述編碼算法處理,得到的UCC/EAN-128編碼集如下:Start B,FUNC1,A,b,c,D,Code C,12,34,Code B,5,E,校驗碼,Stop;每個字符集的狀態分別是:2,2,2,2,3,3,2,2,最后校驗碼使用Code B字符集,狀態為2。生成的條碼,見圖4。

圖4 UCC/EAN-128條碼

4 結語

本文基于有限狀態機的原理,結合UCC/EAN-128條碼的最小編碼要求,分析了該條碼的三種字符編碼轉換條件,實現了從信息字符串到編碼字符串的處理過程。設計了一種鏈表結構,存儲包含控制碼的編碼信息,通過對鏈表進行遍歷,實現了校驗碼計算和條碼圖案生成。整個模塊已經應用在醫院臨床用血管理系統中,獲得了較好效果。

[1]GB/T 15425-2002,EAN·UCC系統128條碼[S].

[2]楊應全,沈焰,李雪茹.圖書館條形碼標簽的設計方法[J].重慶工業高等專科學校學報,2005,20(1):66-68.

[3]潘寧,鄧賓.條形碼技術在臨床輸血中的應用[J].中國醫療設備,2013,28(3):86-87,164.

[4]黃峭,朱春平,盧桂芳,等.條形碼技術在門診采血工作中的應用與流程管理[J].護理實踐與研究,2010,7(1):66-66.

[5]陳蘭,周湘江,羅安燕.臨床輸血業務管理信息系統的設計與應用[J].中國醫療設備,2014,29(12):46-49.

[6]吳森.基于條形碼的門診掛號系統研究與設計[J].計算技術與自動化,2014,33(2):115-120.

[7]周超.C++中一維條碼生成與打印的設計實現[J].電腦知識與技術:學術交流,2007,3(14):415-416.

[8]王曉東.VC++在條形碼打印中的應用[J].科技廣場,2007,(5):153-155.

[9]楊靖,管艷輝,曹健慧.圖書館常用條形碼Code 39的編碼原理及打印設計[J].河北科技師范學院學報(社會科學版),2006,5(3):84-88.

[10]賈海生,楊小寧.EAN-128條碼打印技術的研究與實現[J].寧夏大學學報(自然科學版),2005,26(4):336-338.

[11]李偉,門佳.一種事件驅動有限狀態機的編程實現框架[J].計算機與現代化,2014,(6):116-119.

[12]婷婷,孫精科.基于有限狀態機的工作流實例狀態遷移研究[J].軟件導刊,2014,13(12):39-41.

[13]周莉娟,劉心剛,張志鵬.基于有限狀態機的雷達狀態模型建立[J].電子設計工程,2014,22(16):35-37.

Realization of UCC/EAN-128 Barcode Computer Programming Based on the Finite State Machine

This paper discussed the application conditions of three character set of UCC/EAN-128 barcode and switch of three encoding models,based on the theory of fnite state machine. It also showed the transformation processing from the information string to encoding string and designed a linked list for storage of encoding strings,which made it convenient to draw barcode patterns and calculate check codes. The module was well applied in the clinical blood management system of the hospital and achieved excellent effectiveness.

hospital information system;clinical blood;UCC/EAN-128 barcode;fnite-state machine;barcode programming

AN Mei-jun1,WANG Shu2
1. Department of Medical Electronics and Information Engineering,Shanghai University of Medicine &Health Sciences,Shanghai 200093,China;2. Department of Information,Shanghai Children’ Hospital,Shanghai 200040,China

TP391.44;R197.324

A

10.3969/j.issn.1674-1633.2016.09.053

1674-1633(2016)09-0168-03

2015-06-02

2016-07-05

上海市教教育委員會科研創新項目(YZ146)。

安美君,高級工程師,主要研究方向為計算機軟件、醫學信息處理、康復設備控制軟件。

通訊作者郵箱:hngdamj@163.com

主站蜘蛛池模板: 亚洲二区视频| 狠狠做深爱婷婷久久一区| 国产a v无码专区亚洲av| 国产成人精品三级| 国产成人亚洲综合a∨婷婷| 欧美翘臀一区二区三区| 欧美成人免费午夜全| 九色综合伊人久久富二代| 国产情精品嫩草影院88av| 天天色天天操综合网| 国产精品密蕾丝视频| 国产va视频| 精品无码一区二区三区在线视频| 国产欧美日韩综合在线第一| 国产嫩草在线观看| 婷婷色一二三区波多野衣| 亚洲 成人国产| 91丨九色丨首页在线播放| 国产成人精品视频一区视频二区| 久久综合伊人77777| 国产在线观看人成激情视频| 一级毛片高清| 波多野结衣一区二区三区AV| 一边摸一边做爽的视频17国产 | 成人精品区| 欧美日韩在线第一页| 无码国内精品人妻少妇蜜桃视频| 国产精品无码AⅤ在线观看播放| 青青草原偷拍视频| 国产精品青青| 91精品国产一区| 五月婷婷丁香综合| 亚洲福利视频网址| 中文字幕人妻无码系列第三区| 天天激情综合| 免费A级毛片无码免费视频| 欧美精品导航| 亚洲动漫h| 久热这里只有精品6| 亚洲欧洲日产国码无码av喷潮| 999国产精品永久免费视频精品久久 | 日韩在线视频网| 亚洲高清无码久久久| 四虎成人免费毛片| 四虎影视无码永久免费观看| 精品伊人久久久久7777人| 黄色三级网站免费| 波多野结衣久久高清免费| 超级碰免费视频91| 欧美国产在线看| 精品99在线观看| 久久精品国产电影| 亚洲天天更新| 亚洲国产精品无码AV| 91精品久久久久久无码人妻| 国产尹人香蕉综合在线电影| 网友自拍视频精品区| 99伊人精品| 中日无码在线观看| 久久久精品久久久久三级| 国产乱人伦偷精品视频AAA| 亚洲视频无码| 欧美另类图片视频无弹跳第一页| 国产精品无码翘臀在线看纯欲| 黑色丝袜高跟国产在线91| 91视频日本| 一区二区三区高清视频国产女人| 国产成人a毛片在线| 69综合网| 欧美精品伊人久久| 一本一道波多野结衣一区二区| jizz在线免费播放| 麻豆国产在线观看一区二区| 麻豆精品在线| 伊人国产无码高清视频| 91麻豆国产视频| 亚洲av无码久久无遮挡| 午夜国产大片免费观看| 免费aa毛片| 久久人与动人物A级毛片| 亚洲一区色| 国产精品女在线观看|