Skip to main navigation Skip to main content
  • E-Submission

JKSPE : Journal of the Korean Society for Precision Engineering

OPEN ACCESS
ABOUT
BROWSE ARTICLES
EDITORIAL POLICIES
FOR CONTRIBUTORS
REGULAR

이기종 CNC 데이터 통합 및 애플리케이션 연계 운용을 위한 OPC UA 표준 기반 Aggregation 서버 시스템 개발

Development of OPC UA Standard-based Integration Server System for Heterogeneous CNC Data Integration and Application Interoperabilit

Journal of the Korean Society for Precision Engineering 2025;42(8):603-611.
Published online: August 1, 2025

1 한국전자기술연구원 ICT융합연구센터

2 경남대학교 기계공학부

1 ICT Convergence Research Center, Korea Electronics Technology Institute

2 School of Mechanical Engineering, Kyungnam University JFIFddDuckydqhttp://ns.adobe.com/xap/1.0/ Adobed     ! 1AQa"q 2#w8B36v7XRr$9bCt%u&Ws'(xy4T5fH  !1AQaq"2B Rbr#u67Ѳ3sTt5v8Sc$4ĂCÔ%UӅFV ?_Aנj- H>>,m*>fzp"TrKkr^r.|_&]|*vPuܶvoQ1mwVJUhu-I"=LniAƕ8"۲ k*ҿ[yu:.vUQ+)%F DHyVBk>Hy8jݹ q~9D4KRmzQ)^ʔ.J%k_tVi5NTjg!'ky|5asOȻ)R۸ߩFMԿ3L4j6dڜ#NIwUF]JqB/(FafJRzq3\G՛ ?~\ 6)6W4m[O^L0E&rRMض*C .]Unl-1 1r#Rj/&QɈ׉˩s6Rj=5Tg.y.·Pӡ:JJS:C8-2u]d&vUz;7p9 5VnL֢"y)">iי(IDDd| Yj0; LRfS:ktYK%*N2^m|&dğth":ey)uPQZW)gcC3Pv&MMWd&Ŵ۲mvTRoժM03*F3Yd6\8,\hݻ kߔi<k NTwSԪmljj[>->ptU%'LR>&EBH$MQAUx[$Z6vi&_a.KIQ{hyƒ j"JOC9eFҝfj;˚Ω<[3_m% lQ@4g=5$(J]Yc-OMq<Ǎ wSzڗ)k$7VIP붾ͯnV+卵*t]iЎD31~SA1éC2u)ʼnQn-Uoi3:grI8ؓWm*G zܕ)ZקJ}Y YlGeJ6cB2I NS3Q>k=KTBT]W6+SOXQgGR? telˊ%-Re\hѯ2TF"C/OJΩ6r[N.0{SpljjX1“jOsӥ;ҭhe}xu`Ք&.)yO̒ Fߑ.$Qw;9Iw2o+RVJMSOj[SoҌZ%;`d$blQ{Ro{Imڌ>3egf\O֝Uzx"䢸g+mv%Gʆ:|V[N'&ס-ޝ'kfE|K,G&˳98Juin/\\Qݿ̋v~Ǩ!rtWU d|E߫R4d}.qPw*Ӭv5YEcn~f5c%MTMkb-F>5JT,})QHg%{("ӔȸWMsYyWNRrkkJr0XドnͫT}r-jj,Ŕʍ\Q2Ri>v$5!]"JB2WɅ)]VԜUc8i|.jeRO6^V.¸ Q&#|ܶ-*uOG%JAtRZRr]FFG\۩w+?'zչSѧt jz>KW&ot{7P&2D;&\\>Q2JzܗAKSfeNn[jRrԕf6,q,F1tRfԗ>vֶևj-&R'Zi2=xv~Elbsvm8=ӛ"ū񕜈BȩlWau[]ٷBߨF~J!|Ipr3R̴#Yp)={7:G{+:\W}n|Q#%)7^-h"Ƒq:M*%J&$T軨I333׎g_- ucBwwjp[6i25$̏bU’ٱRv?G\~#Iͪb7<<}Ezt" q_Inw,7-d,G÷%T* Wg1"䥱kq/A.,_KhqŒxwvo u2ۥۧ.bQ}XκA$֣ +K״ZUNmڸII{.v{5z5ѮRme[moyƾd~cRݾK'j.\i&/S6f|b=5: p!6i_ 4j6=.si˧eƾtS^c.Y^RJVS-Vi3,esi08?H$GvZgg?gi䤟2adw릿:"۪lkSN>q-4kI܋ێe̊qۅgDoѨ9; #T.Q;7#~_Ufstb_'w~Xw1Xk,vcOt._}v}8"(4Z\ۘgk?J?bm_c!g{HZV]Fkk%~gEt)b秴vΰB|꽸}mp~E6ݹv;7P٤v+ri*3Ԣ|'O14_~7nP{7ZU\Vű[ +7󖱅o#:ǥŬ\|3r%TJX]V7ez¨Y]lc|O3V! R zbJ'PnGqVJ"19WVeOF埜EaEJωqCN5Z g-9[S<$sUK5b|7sn\7x qmv##FF\ w[=-43$^ooVSiXօv7iB۴yg>]Vf"r$J3""32!Zh[K%7GvNLs+4nB/B{vlsobJaҺJR:0g%&zR\ S3T[&ִor*ⷳc3ʊO[iozW٨%$gn:ܶWwFBԹjHP&z u&F2\f;ipW73 [; '_̽b;vib!oec dC-tS__$Xs]l9&z$2/N>%'[}b{h/{`{Ji׉׏ YJB/X%}.|+{(S:qz]4_Kѵo`^tY_4S#* ^zvݾMr+TrkQ g.8Ͽ^i>ӈǙvix>$o( ^qt*&t1oJVu-ql5U6jCЉmĻ*"?JT=K'O/|=Vo}l0b}}f?X[?/\JSBe,kP8ETJ==?.p5ފgbU9}ǶdNKk—_$8̸͓ۍ8Di\BԿ-1v{FF]|.^ۅ{vl12׏z7-R7wE?\nh\jN/Kձr_oBw"N QMBZqe-m:ӨSn6j4%!hQ;sv'm4kcM=!8\m[M4{SMliۇ%eֽR&N:{2A8)THLK3Zj[jPBx#BگMf:G1\`edcʮ?|w(-̮vXt,bW2;.ιNHRR#YwTM"<;mk\.foIDjmlJ;vxy7o7i\,KQŊ9d^Mmgc L*.T6tLeIuOH3SJQ3=F/ʿ<9\JM6mN6=<{xkP!F1QR[I$6ُimXu2An2yԒMU q f[IB-'䤯jYm52&JG\zд\~vdg QtHGXw&1Lw+nDEdC1w|YJmvP)HZ>i0BPβә?R:QO["]I_Jʏۍ>QKyu^bycBq4lXF~l [\*N>-J6,Gq(Zr5h]CwYӤU~ʶߑ u*SIv%ZfJ7)! FS*s_\|IŸZ)J ]ܜi4"z[+Z,MOZ))}|Ʀ(RUNIII.S'ˍO~˨rn}M)xxӕ0 eyҵ7YMAB]ӣU:/ѭ*6bcwP͵ "+qēVjŹO|GtY4V j[mLV M -m>",B$ GD1~j6O4|LxnNmqATNR3ε|DŽa[fmn-ڭ+FiK7Pcm;r5 l8r{#-]'nrFh2ruycb;pW=njRqRJ(d mnpckNnʹ+6]tz~E=ʕ l ZZ5jSi3#47.Lcfe`9؏v囜.F\-UZ:*0_<Νu9Lӵm&)_3\^ҹ3"1n1v_|uRʞͫr'iȧN_kH׺8xXrj=\МH)V\ˬ.Xʸ oVRC}ySU9/OBY먌5 ٿwޞ)rw8Ӫi5*5ZΗcGƱ !ZۄlmpjJ -l <R̵/JAպZuq\IdUS 48wXJJtcg4cI~aqߓwŷrm-v)G7yS^7H^-\mŌAq|"m9IBnF㏉9[N+mmy/!KKۉ%n +BdddfFF6FQRN-U5;Sv'm4kcM=Mn)\qιqUd9F%",6MGdT%-+~ f%+y֛^3SrF>6lc(֪vۊN;g._0Sѧ]ETWرkQKzGe9ʨsKA"yC y2\[5 rԭ7Gk5Mzw_4sM3hxЊ'oÍ5jsub )ͪ~tR2H]R͍>̋m6=%(˿(Wrr-܅y5(ܔJ޺YunW̹븹NsqK ]/QR#"ZMDfD|43Qw|._ԡSqTZBg??O Ϥ)/E_U|i}2 9Z?¹0:x'3,whǣ?C y-A~=daJј&M?D1_PS+Oi&;a @;Dž7[ zZC"bv:jjMQk$M RԸ3uA\=wI.AwC"^.{?-\NSiˏ"b}T/}q/ o.1M}R%:-ZniʒL$SgrBW*,Mw'N\ɇ{s\j]VryG'8f`}'N<*/`U숻z CwHq18J+vԕKss4R53/&XTt1bZƟo\=%nO)h$rBi-nKĪ^ ջڜlwkYm[̑+/QrZo%TQ;TLs($2C:s.%+eoNttq۰kK7O0m_t_pZ1SsSM7"mevFZ[w -FJ*T*jФQRg BSu|]g:ɵzjqwmltL.e3sRMچkSmjkmWœިm++¦'tILk*բQ D,PB\lI[9{%Gb R6öۍmX-MaʉA931cs..G4CujQտ[9 }G-xwl)IQz j Ó"rqe&=]꾧֎c)<kӳ+0JrRR3'TnXi^xMF Bު*tIL.[h"2"nKzZe'ZV/RrNYz]8죝n]Ķܩ>^Ժ]u-7^\mZjܣ9+Rmn ߑv?oꋘ?&ƪy^N4o=3-ؔ̿*`}V݁ ƒPu8%$ ݗ]wt;\y\>='OjPIp/nJU8{϶FNMsf"ίNqƹ(+ ݮF2Km |jܴZs%zf*eȫ?]4)I۵nR&FX + [jDh(#哑9q9Eծj8noǕZf\J-l&Z˫}`ӎhyrΉn\űn]9pʌӣ"׮Wt?N4_I_~54#/my1Xr*척aS#DT >q ssΛW;3oUaJSRMDgQnt:Ql,/ ܷfRqiM Ȼ>Cob;A>ڦWقM9X~/!'MW.}Vrߔꔵ!5|iB(0-zF=}okڢE$^wW~nokY߮\6՜̌{i-AF*9)\t9IV6۸5ZUF6R$ŨQIq砳YUZ]eyv >hI櫥N )&l JulwE1GDOuFN2| }馥uC1rޫV+^gdb&W[4<^e4YW,d|htͮsUM)۸8:{3d{AѢ)~ \#J=NdƮꮓ90 |1K$v*?мS ]i$J,C,SG?/_՜pMSƯM|mG1V1$~K>CSvkuj=&) -,yLjuFHK{c駗.SOua;BrSqj-ۍZ#'Jys7[g2z/.u4+XV2VQ.ޕ)$"(%)#Z7suZ%j }BǬݕe)Jvz8zJf:hIN|svO1O#IEcۍjݽ:SdὮvu^@:o^5cs>i/VqmVm]ؔܢn6'vޑ̗J4Wn@OlKbX ;n:hgJ9ŻyǑz8f܌q&Y fN0N;[69 rbׅC2/#kE l&2~èMR.*%g=Ft.%؝e8<.e=Uv{~㻏"EˑnvDѭ͜Lu3u0:U֝$[M5<:oi+V4V9 6nXvx&_ q Qqw3W:uϔ2yb/(ɳ|5zQiJ#r|Hw#.W?4aDŲ\ugWG;Cw鐢K|xg)##=O.dF˟jMUvWĻsr.z]kPc9"]R)mkfOd*uYf١RsB Aîh=k]ʳUrrZsq`d#r$/Ը3o^&lRWȍyuW̦Y4QDUMJ65ƒ[+ygk XK_±k#y:8(TJOSQhJt2.DR}"5[) r)6V6u5k:eXZmv𭤔!푊Q[qQ}ҹLE- 8qIZG|UM4j}Mܕ[Vwm{} Naqµ"ԈM zOpKѰ?IAD3Ir0'/q1itoB5{%wkOBn-ۜduqIzYK60{+DʕܞqIt";r1mG/\/ym[6JƫR \L=S=OT@Ix[TMm{>ݾտ֒ݸӉLYIx>+"JVNzx||5rI?C{oz8۹e\R-^\A2F R+N9 vlT]"ۭ d)t֞i #E2jB@׵=#/N+!ĕhx}I!cM`ąZ*ŻɄҒ߮Y.Z}='/oۙ3IpW̮hT7cTSuz9>B}΄&h!>lӵn~j˅IvU.'v'CSZw8QK3G> ,J59ٷ+HSg䧎hJdzvwv-cvxS5[̊n~ؿ%ַX?O0\6ne 6kn9.ϯ} *h 8_QhLݣ7q +=XBҲ5?[[)+F`=4 }B,sNg==u*Nj9k_GJ)+R~GSPBȒZ:(K]heL=vKPӢwq(NrG^ثϣ?#tC?.ͼ[ۅo؞y#%ǛjVyLSw%T*s92JTM%"YkQО.q)gCͲn8cgi6j1MѾ[{9h^vƘǚםidfi.^RHmg&rׇz:}݃}xT$ضk'5s-狶,\vpbPD،=Okf.c#cdz2FK5T!&)|ntD<+OŹU i-G[EE*FDfeaf2QƤM\UG_{ǹm%\yrGy:.\4wjPGUJޕUV7Do\7Vy_13w;[?c]H\$IJ,*L]3b%L{y.JRKG2sq,B6T}(#nW|km+q5] r㪍bJ@y{byz,b踊3ϻJ,'^xd،)JVw#.Vټc''ÝպWtbRؒJz۠8!o9IۄS95E9ؔ-e9JR{dmnッ<[~n${~Њ$W?&ՐY_? #a.ߑv?oꋘ?&ơ|y^N4o=3t=~7!/M3>n8W홎2M`Qx+ z qy8%]7_~540ۦ彷]Wq CѡwkďyF5Dum_}~P(5.(X,K9vᯐ?leB9;Jhm#3{CxGE-S{;@Fz˙]=O'!ɿ]' r`:7'2bЖ>Iy,/eTy/V<.H?UYY{\^#ѣr9^7?xoRȆ7EoS_&??zϾM?(~Q-K&>"~aߨ t7Emsϛ+?;fCr)fY+>z$tIkjn_>vnrֳki-˹l= t;'EyC¥|/BLwBJdgjۛ$s S1|ɍV%JI6KvəhzIlBYɒ|0"Sy0F>eo5W)O+X˻u';v)2vVq۳kۮws?UʑBǴYO漪e2MIjPAک\b1)DDؚKm6ZWΨgȕ۶yjڳ 2ضN[C[|r@9Jfo<_eI7q.|cÊV߷:i.:$ȋ)1%%)ADZCEBxJ0MJۥy(bNsKM9k43IwNt.\%N簤I'.j|ƃ2$grBEٌ\}9:v*!n7M(ɽ]7c@XxƱԨ37īf62cTTfFK]9wntQHͮvٱI/f|j=7}\_V5U^+:uljSȃY(XI.ȱmo1甅jڎIZ2>#\*:gY|4k\8ZwSqtyA!+];бޞKծË¥e)#5ap.QK^8VdU{*ѽL\=qmjnB5>{ Ӟ`v±5 ^k&O~Oshɷ,;6nOW>u6{RqS`)S%jp\ipdEBLfTWy$GIYw~䲭J.1vSY5z.V>^+Ǎvc.I[R{QsNR3ӎfhd>y?UJ*}~[e\i5U^͛E]G_FS(Iɿ]i8:4zj~շsW,ˆsy:%O}iur]iF5~3M:Ӟ#N06)4ߧgdawIotiz:1r5YDZLHBSi;NQc44la=Y kQIT*ըl:tq2(է9VO4뒳܂~2rq'nrVZŦ[t7\oլfb/mlpc.I8콚q^1iE~䰳mi[dۧw֤ICfdFeCsg:i| 6擣׋* 96lust^{%99UNRvaMܽo ammi$em4D6DD\nA%$$#}۷/ݕr99JMն[oT޲E"KTaP+HGkŴj5TM5xƱOS-k`ۛkٝWz;{kS}F;~q|~^_|euwnE'pSupUP)V]vE+t =ZRaVdG6= *.ϼnj9:UɷbېmF_tޫgHjVS'śǕًdkkѻ_]Kv?nT>)^e=Ar1'3ԔILyD?:-^in):{7.؂\.:V }#뺾.3r̸*xbFM aȵz 6SQ:ײj[ 8nn iFMw rR"5M5I旘35f^j='j:nNW.ʭocZvZKV^ɚJ.cM1ZI7E'6rg탸5oZ=[m Z`\hbMUR١Ȗĉ):Jin!_7Dй+f̷eKҷvͨBPR(V`y6tw*MRΝcB.ڭTnc;P$8nFvm4(D(R#R-L -2:FP lxZKQc6I("Km%$E, 78uXIFA$RQI$JbInG]c[ֹ:ZM+n^')JmJMJRu{e)7jQDw~%yQl}BZujSSf۩QZ+Dzhd5o%BIc'GZ?}΍:>Ɵivז-%݌J5MqGWTVʦh݇ܟ~Օ_6 n'{3~mϬj'J11OȻn߃r Qr\3y٘+WӍ'WxEs^O3 o~[|7>]]H9݇ZomT@]?5B:Z߂'`V_+/MSKX߆ޠk3?o7y:4R/7þ] iG߬aBRU&?r&/} cQߥGj2?C5Yśe7hU=?+ x龳f-܈czW^7p%-(\D4h{UK&ӡn^m]Fݢ:`δvj俜F+) y[{{ 7 tu>gvrěOj'5 iRg[ͶFjGe n~qT$ci ۚ0oԹc*jL[sVWqj\ݻ&6"WoK:cnWmrv)o>66(F>=W^bf#c zzʞtپy%mՉPël e}J.\Zk4ttt>oEM=q)hJjI=ͥ(%]脼_88ф;͛gWG;Cw~˘$4=uWdĜTثNDkiQL9U*O"4XP`02,Ge-k5$h>ܼ]3vr6!9RQPIVSnM(ۓ{>;/Qͱv{3&-[rc)ܚI$n{Sv3[j00)-D3z}MRzVQпj,T[uVs0\}Sid;r(ݝJ>æʺL&c[jPK0~d(FKÝW\m]GTcF|Iׁ)I3~#oX%vҦEݑؼ5Żv2qAZTE^..M{ʐfȏ2##.R}*KʛZz^ӞN*lPťLf\G6[WVQquV]XAi)5J!,$iJ6o$tPZc;Kjx_n3`qIelV~vLy{fn匋Ѿn%;zV.n'-ұdd2߽1bZksPe3TI9)$ԩIN9Vơ\=2885N\ p)/a柛w9g_lױo8ݷ iixJV& ғRi{N^_oAŮE6Y7I$Nk$|Q)-*4Z)^¸%4Qm [I%.c-OV+C֧R#%ѨCe3i;w$G+_dy| Fzj$DI(=OA gj%v/]8qԯNIS*֩',Q%\44ZZ%D|Ǧʴ6&vֵI$%8(ԬƾS&#Z. }6z?b/|Jl{ץv&mpx4Z$”ڝ4-H%dGKfM:sKSRWeJAn]>s6应-W9'H]'uȫYvgK^\czp|My\鏩w/ËQ.)]\QiS`8uL뚛̸=J"ܻi\å'-)54Ue]:K\퓡vK xwBqrH\*֕TnzC.mT=t-H]SČ~Nu╏NÅ3f|͡G~B+Xm[Q7U{9"~jgK Zoʰ7"qJ,ekSeNGgϳ] ^.6:s}_,%eRg<5⿨z{ZPun#jRІ.6g T.!]xa c#jN$Zpl̋H WZu8WmMRýsĮ?Mco~sx TU҆Q :KDG4n42.<3/'^?6/ܠڒ^yrrÿr2\D}}B]^E~^T cɛ7϶Y[<֞[7d}2%QPqOLEQR\CIsj1?\}%tJ0e~ *sk"*)&ۓEi#{1J8Hrt|'ܝRr8)=ƔN'RVz:cf]F7bZyZUȘ4x8,#JG̒?.W9XnO]KO]%]ƻ O5Γ/3qÓj؍/r̺rƵ 5\&m6h.xoeX[=<3%< lZ"2h\Z[&jW3ejm?k&[]ųj+{N{66leu_+lj]q* 7g*knأYv= q ەdxЬZ|%GUrQ3jLŒqET]1% qkXYūYc[7Ś]QY\jko\</Lc7+'hMSUc6qXyؙ~6#ѯv.0$BQi5YyIhɍiy=KD!n3Vm[V%W-B%swa97ajۗ m+9~]fKq|Ddaˑ0A]_v޺mM5* F-BYHJ5}q>ʉ.6hyDmpD׬'-_v5;5[8K[viJ.3dR:oYHHh9I7:۽fi+wm^ [)odPѱ52CZUJicSw\&_s0uBȍh32džzQflcd^m|7GѹE!fO5]]H9݇ZomT@]?5B:Z߂'`V_+/MSKX߆ޠk3?o7y:4R/7þ] iG߬aBRU&?r&/} cQߥGj2?C5Yśe7hU=?+ x龳f-܈czW^7p%5|Y:SJE\U-(a_cƣUǽXXKiȞNlmۊڭڄR!**ܤMeȽ$|X5(Ź\rJ~ܮ]>'HB0cp XFr_c?f?7<ukSgov¥iG>>䙗i.+t+bOjIܶ . i^:nm}s}(3>NZ$2Qg([".>i.ƾ)B̋M8+"- >eE6DݥJnJˣt׻ 5.˅nJGwZD~!i۶a,Db3ZQ3O#KO5/֍ozuK'GbRi᝘NV_ҝcvם ZoX}F6z 7e5_e:ۓj=AB+iܔERadMBq*ԯ DwI/Gy*mĥiRKg6skY/#SN4e$-yXM YL?^ĸNNӪ{$r1JJRSLO]Aqm>V/s[~i/j+m>z}eI"Qvp]{ZԼ:{vPAG2=T͡@ڐ#u"E*>C;o$~C#_d/HBq^YRٽzIKbOm\~żjFFGdiQ(*/i*#.FF]©m=BmpQQQSP&Ҫ!T&^>:y)$ˑÐFčI Bӡ-t!bM WҦŶ'UZ=}zvn~oT/\ǒ'nr8 AJIӆz<^uߖ4eFC1i+v!3qNyߕni?4JZlmYFXFۼO0B\m[ tʄU3s"Sr(NJ;SKW72L4̏BVdf^Ҹj\]ȱ۪(ӷm?J-KEmWڽ^4<8qu%9pŹW~877ܾeVгS(յe^C]yX͹! םm4FGȋ\y'Z FX7e)|Gjt߹#gb\ŧq_([R8[qU$Z (ʻezV2V!iQ,i$JE˂٩ a(GK'O{vnBvryRd-RK4=qxZJMl_CuuIz @Rt㮽޳!|68\-l[џ84-2Pu" RJ_^OL>G1~XnBŬw6J0*Uvlږ1N G1q9IUm*'oWu][&UyYZbBZRZNfEJf"+2nF~Eû7n1xv.RUM$6 lAxSQJ&n5ܞwlEói"#>4׿Q.nEq7Oko[1wg8ZQwZYiqtm&~">Bo?w͡ni2峋NCEy Ҕ+%ZJ ʩq*fpˤl,~^Mχk1+:ݕ z&Y`KLӪУDr3[*Z :(SL&ݻ۬Vqsyԭs x|iI߽zZrg.:mp%6ԜvgmpIUt;QbS.Է) ǨKSV,*lڌ|5Jt3#NP.=+OZ~/G سIgbꥹJnl_DUM\iM!֔wVZuԺ,yV.Q>f v:݇WiaŸN5Ҕ[M7SsrvǣrMW= \8ZW-jsnڕ.ZnF2qt ً[ٻޘY۷Zm"Jxr&NAfA-݌to9s359݆mZ+N1-qS$D=17 x׵+%_ ve4ir6Z$FDڗnFtOr'7'{9C˨ꤡaYoace{Refnft RR"4%ʌm:Sj3)OdInTO>X'vxV#jܮw9Fog;5.~Y5\~18YQܹvj4+~t7S ﬕs %^۵ڴDZV69R^Y+rj$ԇoJKR5wB9C>Y:l+EǎS{ʲ{T6Wi* ^^9k/y/Cs\g*qڵgn4T8mERr|Ti+iPe;;.i\EBEJ 丬i9ɧM-ԼsGDrZ>r#R>~X9y4b棇9JwV۔%m(b[Tjvl}۩~nDԺ{Zo-YuK1vx.nWuO+jN [ٮ0%"΢CdTJK-RަH"$I(*ve &҉FzB,_Vpqp9m8werv')E;o&QE׵^d9˦j\_,ڵugZȻ̧8k+jK{wmr@3ӭ2 wFkzFVqs1؛.v'I%$[iT]D5Dl2 nk7qUxԫLS+sا3/ΖeZYK<["%-g/kRs:f3;*E ت wJ%)5&+&rw*霣i|sMҴ|;R+fm䡩.!**dӶ-6s6,]zAXMWjmnz%SJߴm2UXw7MQ%<!tKys#P,W>s;3IYwx<+i_\\\U6 u7P|xbn_k&ӓVOe䦒 VUr,-㘘"-LZeOSҠթrEvq8Kf%5%&K"#%vD/.ZYYŏ+p$nZkvއuW9㓱Z G wYIFyf)?ƎUm5ԉ/'k84{KO:rQI}XRuԪ|*lu)3qZ[mSm5R3".Xcَ5c®ࢫI*۳~wRϿQWޝ(EJrri&ۥ^ʶ齲Im|[yb;mnm֩uiܘq>E+Ikx߄3r33-5𹻖09ϖ9[Tz~mr5NsWl$oPusޛ^{Z;);sڹf\3oٹZmԉ/'k84{NO:rQIBø8Bݱ3n֤DiK4u& ofSȒܩx<˘|N0Fչ]qsp"}! QWw@t4ӭ+cO5%]'*{eM߲DRO1y*q8w++e!c߶ܪlZWّM欼 CQ̼빶lX{vib/V/ ai;x6~]+z]MWB>re-:lgk}պ!#9?%܋V-c[z!W?c7YNm/jRr[HOzԻefճ0q15Zp#rkQQ0tU-AmڵP/cȕ?0cZYj;:0ZM=D6g ?'UN+ձ[K ܖB2'xq9{|۫N0ku 7xaj;n\ 2[VznMlWiKbSk))f..)Km)&bGZ=>OR܍W:j'rM'wYz&/鶧{Sʵb"vջq[I-ՌZH._x*BagC'T(Q:$ͳQcMCKy?3g'ߝqnT);qs #ؤZ}OOI:cfnc8W~qy.;^pVl]Hԓ>^H^@7-AA܃nmL(uWܻS߿ Td95Bdh4t6*dDh!EhI[iŨ\L.&Nc ܮf^;$R)\rip9I|ٺ?#R.ZDZ;/]nݻqs\QE9M&Bd ]N mN*D>tgbK>+ˏ.!23]BȔR1ɝ^j'k2ƮqBQq[$di]icV/e`޵B.FIIJqbi>Ӥ|p; 6${)RU>_e}^dzdfzi %ekRVUS?6'hׂ)5.\+qUgzE2C˷ecŏ^֔ibk shesFWJ#~> Wk~ݨ}ڶ>ơǚ)׽ZƉo~B-ڼrvoE:Ʃ3ۣK7+Y`WirS):{>ڛ}:wԨ(J_";6R%[u&ƫdZ_\'np| RJwNeTW,=rrbnkڄ[M3ܴz)3- R.?:okۼ0TU'w{6&w7j1z3ON'fGoO?)S_bQ_¿R(^ԴԴG.EtMڇ&RUiW uQjU> Kiu1d<ѥIQ'RQ1:O/lŗᏩiʂv&Jc{D5 Tt)1.n[n۶X}RjqnOʽ(~[Ns{ސ⛌uO,kgo֢dRNQȄ .'6W!׌P朼tdZjFGE"]K@'i۪N;sI[{SOzk>`rRR+!σj8&TjlvA̷Q?HyjyLHNտJMjܶT۽lG?SnKN%<‘ nq[N0Sq[Ta(&t(|HGO~gvkݻTR4&Z$#ViOY1r$6YF?e4U/Mvxų:zbU^gQQ+NW_'4jfz^c'#`rvrڡ(IJ/J ݦ6 ]-CW |_{v*_q3^DZ}Ic6Uڌ8p7{crZq5ki`)mU6|-Z5^iEz3P=:Cu7DF'k%}<C-޹ֲ̱#\,(f88%X-N(ck0VLR~} G"-8ӏ/ϰKq?(#nrVTmZ;zióM4 m |UT'C^_1X.gXM{%ʤd 4\ovN":"y-,T)fLQgۢr=/CƹǨJVr[a+!rT|%Y\ٱzsS>jͱ.oOc6f$q% ǒGo;n[];ߎjrk{~\VۓNIGn:iqxo |~t5)Rxעri{Vi&NUOl_ѮMfsޕkЄay.0P{7N((BaIP$ K"U6Gl ݙqJRu+qN$ m#*p<|{:>-Ev=86N*MM긭U*uѾ?/^o7;'u,h4݌xښRM:5.(/ \իU.{F^rmF-Jɷ.>Q"[4xT^OZ~mK}T0ݛ^SAo9u?lX(' qj%=X}"^e4wˠ|rܫ 6I\Ķ;Ӻw!'ڍWg{ i U_9Avhۣƾ+:vs/MK[ɭīe{`Zgb}r[i'GE2J7Nez579wRq+Un ]J.cJ4M:h箽Wxxm^ pc\wcN%'My $$| :$Fqɏ¾^қP9J6Wxvu}ݵP>Z'FFdg"-; [¢cmWkÎT8nG%ݣ7*\խCLRYZͤiD&J#'ehbSyXK|y*ӞpS̍R`[pTr/Eg)K+92{_ n3zwz'oŸۤ+sOj J:`T>Cf*lwd\fYOP"R E֢̔L4ɥ :;.b(B02rJ蠟9>V'9M%)IqnhP<%,r'P/vNSwr#w"ݨaqc(|{kd=^0jTMR2ULNz|.<|^PfY22##!,K~E BEJۜ&jRNsHަޛg\r,v؜.jK3)[EJ2ii{KEiHP^&]Gn8x=K}Wx/KI9-ϵwQ%spܾ[^R}S3$qvq8M[ ozKxcqmJ/ӿ{_}7&ݨ\f6ZSyQz& 7ۉ[8~UNn|nkiTB+4RI8'Nc%tn{!]Ȋo.nEmʱn𵵥J A+wy#+ikǒڂ;՛s85'KmE:Ђu""Iģ5p=БbTY-ͽڔ詻ngL2Q}$de# fs^o{DUUsfwӶ;s1T,ǤtޒQ\෼J=.tKU,7čJ5 N$y3kdSMQU~mO[03 $zAڟsF5^뜞"Կ QHmrR"ӳηer+ҔZ]hE-6Jmt'ޒ=O[sQj)6K}?e4v_KfZheޓ=BV[bY}lݒTTЬ{ȫvO_qpRApVŗ 6ju=*BR)g "O1yhb=tqJ gtm\b3RY+JQ^Ō֍\յ\>+uSi{=x ^w;uӘ#ĸzLn*$anok߷CBӷ}5Yqvdž<( "_OWit5:EZj2 B ρ1̊fi[n!HQF82q1牙nqnEpT(2RMoM4ϳOu ':֧_Xjsg jP^(ڙ{2%E͖j^}ZU[Q$'U) <܂%!s"m R'G5M0<+zM6qYm$ڕ$3ǧH]?o2N<8F1̻r_my[Rf59NjpzBnl7*{.QP 3N&^BLJPjAHCK2Q}$#~YMq8 k(MFMU)8MEqTy+Tʞ-ar5yܕOXw!e;q-Jqܶ䓊Y:LC UE{/t>r"lI9)3KJjϤA 6SEE$d߇3KG*En|P\ԭTn6I-ƍKTj<1H_zwGr19wF N8ݝ+a9ɫM6mhePi%mmD! """"""*1bRKrD"vnrM۫mmĽm]ӡiG~e"˩ lhRTMk^MX["Jݱk7_ޕ*DqĒ&flՒ}`W}~SմZ{ĕ~wm*/{{ѹ_-0ط#P]xlڱ~Tn5wi*lڪ (JxioϏbqKYR|!|KN53 OS222$jzww%i}>N)E+rۥ7c$Ofl/LNث\6H9: FY󡈾I)fB֔JI_ ֣^: 9mY{66㒢7Uj]:.-os[R&gMF3˸#໹kmjq^8W"PΦURjʄWa˧T!͋ lW48JB2ko+ /Nw QwQzQ ے%$ޓ7^YL|r7!v%Trܥ &|M8~ybrn[RV gSn{{*#2#ԽᢏӴHak" ӌcwҜw&RJ07ױ>Ļ =^ BɆ)v32.M1=#6%̠tҤnzqMwԣ~s*%-j|_m*.Yx9Sz=)qE4 3pk+,`=kNRڥ=B=nŔNAx)Q$ԩȧ4z3t#Z2lҮYn$S%y- JzGpu|LBV7ZW#;Wwipܷ%(6jFG5#{$D"uۭ~]֫SrD܃fҎӾ+Tu>-ZTQ& N|$沸ii>eRWݳu'[O̻j8JۻEѩ[]vni= ڒ,[_%kC7I3Nv$4ɎЈeٸoUu:[}Do5|zNq=Tre%ɧ6&~DȍF]ƞG5q m]/w/ \ʲr8=oʔe9U(W"|S]uZd#?Se[W"ֿh][-7Nu:T=)R}.;ml*5Dlf $fF(̏T hiIUU4Szɕ t(%_|2 ~6eM;TƗK[f&]LK^CE2[ȏBOd;Mi|cx,^6;sیGpQ\NuJIFTJ~đArh* B"$H쉩eXPRj?sl"ԥ)su]xpԴY%VESH"ЋJǰ K&5^Ukzׄ8kEgS2h&Se\ Yl]WҶp-ZUvi7QS:4byqOo+[̺腋[6-_Fo.6[7$p&^ _GZԸߍkc.qqoI[9m߸YxOZЦ1uoiSH)P9Uʄjcq= S>֙NeR><;+ڌk%_qT].srNO?s[=vH[]RZHRMtᩗVؾ:/~u)ԍdg%=edVrISb{6vSu=(ܥ)mTv/J}̇8 S3ad:^hBSf؉OɔLhI_1d8,L><_A0y3rXq"'(۱;mFNII.v5_(^q~X>y{3צ I*Vܛv/jW' T'NR'j%ꔩ:mJ3SB}΋!-H-RJBТQoedi9tjENenPpke.%4]#{:>mkEɱdYWl\\\'nRM4&U>?Ќˉk÷!𴪛]]5}UqG~ݏI"O~s6(Ļ)qO~h}uԕd}Q~G,oE!&G&/]_H-O=o{k\̭bkv.Ô܈+;arZx)m?M\3lU$mk-CFXjTv6u' g:Vn_*qk:VC A%'4JV%EY)#BғO4<e׿jQQ]yUr4=wm[K1r׵%Iũ-O}|kC;/VcݩWZ)EHdžTru]8hgĵ-;=>U_ InvTm_jBM+QiF"9*{DI/iuo(=TzϖmPQl_v4z>T*ȴ>YF;ε\t]EH4ꌇ[VrLzef 2T^V>g2~kg5~Nק;{~Z~W}&ŒBӿS2$J?~(Yœ"˲ߩ\O]: J׉ښT{mmIѩn3˧)4LdFZ/zUG>U> n 5& ϴ-KJi2o]uKljvK3$bԔҚV旧iY5.ίfi96v7!v))FJM4{jG~Jt/lUE%pTAFe4qQk\ve۽/u/Im+W')v{\-E|Pms7߮DZRr۞/mu*1ՙaB܆ -xg3#6ۥtRogʌU)׎]ZҞNnŞr}F1Nnޞ;cZ{N}ۿMiuxʉ*3qi'9KHQ$WJxXyرŔe~[v5~/jN9Q4o6rJv FrdxM*iRjMzUinHdн7ᾞS=S'7 } ̽zt7K|_g J=Lq+/Bw_\ۧx\HJUPzQ<hqF[V0x==CsU7q|^ {)Iq38$_A(VgcKu06Ƅ"%i~_ˉk QCܣB8Ku/񋇵u([w}$F|8TՠI.E !;RJ^}MɒD_q2];Ɖ{5}*n7nEInO{Mwv}&q+v [V}Ĝ@%>#dXQ$f;iep.GquixVt x6bj͵mlKقQ[T]zs/&yەnM'W}!Fp_d^Tu N{ɻ'l{խ2.sTu{W^H&;1s)Pӛ6>$mě;Łnj= fLT)>׸+qReɴ[UR\L*P/!$Ӊ3Q 'K=m~6XqW3^W+ųO_[F$rR*u"T%@O +%# ]˽!aܽz{ͷvQh쩎]hGތ5ɇ*DzJDRNLi 4:{~2FmXY-zzĽ^f=]uū{/+&c:Ma{ĝDp2m܍kHș/(--m_vݮK(V{R}.k&yƴ7i^4@3f sK3^Ř˸B=]?gt5KbZB<e;kQLpxuWC}n 5ҴepB##~q= `x]KWF {GfŲ}?G.I9pjWkU]>={7q{kO/^I3==f1ɏ%nnʫ/Zu_yXN<57ۍ'vy/"8넭M2eԷ&Y,в33%IkjMr7xf nmQkX4踼>a-GcIeތw&U=-:qnW)z¥j :WqSZvԒ#j"KrIU)%qrmRoDGQ~SYRsu*V)  ,/x)MFD6O#]z 96[Ui(JRfw'y$GeUީkdMF-ݻ98F2d[o{Rn0n-xsV6Dh|Eb2E:KCOӪv4SJCr"J!!m,hRLD| ZYFm/X~ΧfrN&4Ƒ=Z9Mh.Mܵw/BdrܥniŪ8ɧ|y%œ[M=_tj?F!z5\evM:\ ~F-sg钬OWq“iiȍ<Gi%%n2rqͻllƑ)okw7}\Uk-:&fj솘XerV9yZuʼşdFC=rmo%~ZN78X(N)_7.Εn1MpJ}62jjJdI";R5&iLԸc:jmqiQj$ujp\{;v5B񥍪Xn Ą4qOERjzN(Ga٠䌡)p*v(J7#ZۻZ8O W uONb+^Qipv9GvֽƼϯrYƖKGJQDNPhRJjᡧC"21"9ѓS1;R_O7/WGz)8fE%F2ukmvSov/iZ&/]~KmI[:^~ͤ\kMi稜\ywJt3W7 8Ʒ~ݥeFgѼw"8VVSج\뻆}ݭ/J6Q)d|)zU3>k\L=;ow֯gN3pKѫ|wmkZ$z^2R:E)f>ς нd|#׆?\ǔpV{;\$ƵE%-ͪm0S6[n< kE[}mvE4DDZ^$OZ0*$~XUv҅B@^?]so#%ojw;Y#SxxueBگy v^i-)s)zV jC{7Gt.w3v,ygg8s]aE_,*E tY5k٨h=o"m泏:\6w噓aiL׎n^c\75AGkЯ0Lf46َ`egZ˓p/k;̛]kq!ݸzpԭG"}R9Ve>ˏHUjJ-&7nrnwG*Xv\˱/vN}O)ʼn&CV͍f̵]r\PMB-6Du-#RͰtRN^)mT _}nSȕC*_xBuTkJW[`ɩ`ejvsngP ڻ.-WUtܑqԹQj)t;vN&RNũT+8%IXӃ5fK՛-d9 ]CƑm|nZ-6=Hz,*aEm W3VzRšdY~Xf׀Xx"]s;)5u*ُHB BRGS6bݶؿ 9j[1*jױga7oX CUI%0v#~\-O-Ꙛuɷ쏪&5mY٦M`LJ2qK~HZbr =N'YobI. (^ ׾{_ ?OJ`S`3BN[}5w6:ǵ/iSlt=4F*d&T4y/#. ɵim5Uֲf 眕6Y7 fơ=3dϕq뚩$qTM-%r!$@A? ޾V0c~{[{;򥧅a~ڵ»&ڄv1ek=wb MLkNAԬw-x>~/r=e73VeVN)K%Sښe"+3uXuچrn ֺVzscJ峻m}vb㶓n\YbIUBT%*,0nov=;z꣓S/nSXSpl##k9mXGrZv^Gde!ŷRԠzQyjC]`gToPov{j~KRBMY}i[߶9KL2ԉO0K#m>wB[ٍ+n[[b٦DX ݲpo] [\m5qdT()mo4Oy9Ie b][wղmM~vmi۱~t \}$яimRk(L c Cvk7r9_r1 ;zv|F@KyZ[&jEji/"6$69ml#e]9s\{ScL}Ȣؿ0q/nZ*t,CLoD߉Njǚy=Pgmu6^]l-["çUʖMlʍp-"qmU>۷uFOJ%Ǔkx 'g=睋k[3u,{³WɘݪF]ՍeFX"Oy\,cچ=w/gn Ļ]#2? vqy-gXnR.^}ݺFs{ŝG]}e|#0mjx"ƬWكm?rgU^xVB":Dt>@LRbun~ݭ,w+v⪕;\U(RYa61>#Jm˞Μ9g9XKaG='u8gf}'qy#ɉw J]We.ʲ-<+&q%s?2dњztҼn`cΤmmqMdz O[-ߩӲ&;[tmܝVnr">{x<8U+p:Ig]zjGkt,uzf}dؠoJaکqEq -(:d<պ=eKy[˗^%ZXkX[C2߱\ITTLGzANM￵i]K>UsOGDDD.ZF6* ҃V Zhz{'xp^`wo8r0h ZmJ5"jb[l=yUu7-;7IT%:jFjߖm0tzU'K)څNۧYJ)4IQ}^KWm7kSP>q;ނ#)'n7&׊r?óM{IwR\j2Qn[v pe#/tAF\ϵ225q֒om6z})6҅*oqDsMf CNIN=T S2t,_ѧ}kveMF0J\Rnnݙܹy[rUc-j{yGtkQ%s]5qB.Nw.JN1LvR Ui5J ZESQԙr):MJ+g}χ!2;q([jAud][ljVK3$ײSJI=/|&tl'*n۽f.frܥ jQO8>&Z];.|7T/C}$ڋUmP2Reҭ8hFF\L 3~e v\۫]ݝNmrnB%*]Z«hKc=BTLG :V74$=Ǘy+EX'4tn(I:Ѝ;Df8c,k1%dJ6.j6ź{N~l6&*fœI7 WAlGOu-ҢH,,(ǔe뿋쩨kM܍ZſgRvQ' 9)?n|er˭|I|-fGK.rΛp8XV1%K6mvG+tc+qE&ǸC_Nm:l=_/m5^[dߌڇ.c<%:)tQ$Ow~-aY;UJ>=F)2[nk؆?훐M=l6[4(O.]2#-H^n#->&mp5~Fӛ+|| S,xag%qkEUzUgæBhߕP(7]kFnq?֖CpruZ6*rEڊtS|*tI*E}7R<,nUU֫^I7Q*mSly%rdȓd8hE<9oHhMfNSRj[i7D[Rj݊+kდq{"$$H?p\̅S?㭻;t~R߁)^/>Qj`yt[w ԛ;²~+ߔ_ YW~|o]?x^ᯛ `ʼn;g)T@vWn]>&4lp+$D̢1l|ȨF%-}.9[}w~ ԠLM9hСablfe&QoW!s?wjLK?s7yO>(=C~_nyǜu?v3vyo oI@qV-jeES^[9WoSܝh"l2C1a͔CiJ@3:Pճw=/7ovuk+\V;lDgն<[A+rX~d;m!_s8ݖ׷;;.0llUC+?i#_crʙ1~C.\–q ul8Hܶ2m`ܻM3Tov|Bs rɵ"oLS- DКw=Tv@f'6|YlD͓Y%׵-#Ѯo%:&!3o%\J<02;K87>^vgƓ# ;ݝmz^Y6=PS39U%~ &f# }o!muH;ʲŇ˷yvP+&.7e[3'vR4Yj̗IZ`e˽3o[WU{ m[sUbۋZǾۆl6~9'V*.\S2<Sd*zY[aŶ`]C$n.v^Ʌ dng>ەZ,Mmϑ :n6nϦezWqUJ4! ۇ4R! =>>Fn|Q[{pRO17ƕ~._I''00k=b՛o}Osðc2'o\3}ݭQ^2 . R1yKȣtAݿ-uܾw!`?1Whn|gzUo[ECWwjUIן)^h#1ɭ!/Z np;o;ΗŻkXs."6E`Z1 עӐ9Kl8qd q} 2Stt;#j>;խabONŗ=fwP1j)l6J̶|gV2`y/0E˛6+ԫ1? 6}KW c\KoKͨ2ۅFw–s*TԞLיuDx .kCzWXhy۶gLu|%TnupǺl-S* PRaLnT+c+*xl.v!.U=|; !_L̎뱚U=4hm:ٯ"y)$:>%(n}X'p[ȴ ^˒4kƓmzDx \ 'NqamP7nyN݅=j7%McSڵj%STy qXymvCg{w/w=wSW5r̹u erծˊsOm=DhEҚRb#n)QOxtվQwe]I}wCa'"[ۂ-z}2UuKP$㜉ԧ:mc<Ý>RoL?wu|%ҷ&K y_!y9 ??:tq3(UU-lkS'ɸ@jdzQˬR] EVPW1DJq2n:,c|ǻ̑;y{X,ۂ.u.b˕u.tKBjQ"[S園S`ٮdNبeJ&9Ơ ~0a(Vm٘L+Jr*vڑE( x0+tp˕ n';wm-ޜMOxX>{#2%jgb2M[`K*\5@8l'e=0u+w ֘鳾{y܀:R*Ya]"Ӧ%ktynlۣ65,3gU}{GYrb;ge'TKwǘ.,rpܚV]Tr,!dp /ԺU,xՉ>s׽~W5oTh yx?xrrx?)?ilbT׬,z$Ԏ.UH٠\U1pU:]JwSrGZq8àd驐,N67QYBӢD㏙W!Q25ϸo9ms-7-%3CihO.J鯽-;MZM8ku-7k9S$8]q2E(}bۏI[DKOK}3KUB^u %Y,u.-&f#]'܆o$x`Yu,dzwM;#oKxn;\[d7}Rb+*Y䛂ZuBӱl{j0O̓}LhK;[aֶaGL{Cb#S.T[>߃F]NK"u^LUʐ_ykW?!GRj29͖qa'0[npcDvV)qz9R)PۨM^aJx W] r>];eN3vxdmĘ(5W2K1䪖weF{mE/QP6\u54x5[hۮ-Nk”i[lUgL]J}5 S:EhiUrgHl!ŒJ$pe=q^b͵Q' ?6|R\,JA ڵ"TDꈭ:ymg`B5t%M] <N_zv2_Ortٵ/i/ReӮ*7[qүqEG* m"[I:6e^p"I$jԴęh!m)]GZkcjS!{e^z}+Cѥ9;R|/ֱeiUԏCNu2Zhcٗg$ݭwvr P8*7/Lk~I'Km1+MW%Bk|oOm>-#qj*|Dbѱkn|n{v#jĮqNpMIUm(7Liz;{ҜݞڝVƚVϬ+sO!OstGvxӉ']uӎ4g_ 1^-8ۦ k!)Ύ5O;YSB#2Zzχ;<.ֵOtge~.(RC#wFZeGZٸ6FFJ4e2ˇpJT$[wgV)q6muDGJ56q\I!̗ y/I~RtJ9kJ]Iy*'FN0s.[l!fw'y(7$œ WƫgyΙdMEU JQJv̋vmrۖ.jWR_M֨djYgSj0^\y'EoECjm$ IƩK>Z28J2TiJ2N#}.s cArl嫶nB.FIJ.)۔\ZiM>/hLĸ=C1s[?YMqp|94- 鮝𦔽/k^#NT(Y LS$6˩}{;5 )B۷W$qpN)qqoot}ZDVә;7TiK|6f3h$dԄ}fqݡ>Nb򗉉+ͶO]>ߡ_VtYf79ڰիF sq~prս|QM)g%l0ocJȨHz V;Bb/kLAcfPJ,ԭ{ƍgpjNR6VSI*$!yV足jᇑ.](EܣqM\qJ2eZT).<9UB/(B0j)mtKEj#׿fDI-=rZړj|'Nڤ]k*i$5qt"ݙPM6E4ke^Z8ۏhz$Q(R Ay2zfRñnpnkbkI:=j &ΝșW?׵d{+ύM'??XqeeĽ.[o=UxFS=ӷdZwenՄ]_X=ĭVa* pKs0ބۍfJ3 gz̚i|wnxtjc¼5${(1fXQ65ȼb̶Zkn>%FQMJXӡ{TZEVNᖣimT/37cNJUPnP҂ZOE~"-Rc4^b- FEͧtf5[)S!OZIښݲ͑;tvܡ+N)AR=hCNn;wL16-:特7M$=Tҕ-.R[HٷnXk sn[ҞD-0WS9p9:-Ϸ-jѬNu{ҹfv)[Ľvwfg(ٷfe+0mYj8Q1\ݧg]Eǎvڿc!4#j5̋C2"}BRriFp7=ô\TZ:\BLfj#I22װ<;صZl j 6:l"6]۸ K'6RTѯ^ئOԓV\?$x7s#r:Oh{ց=MmuHԷd{pN /܅:UE#Yy+(SgQ(Щ)RHzw>^Ѿݻ>mK&^ '$Jۻ&w%F|xfz%˳ L~3N?Cy9 v w/{ƿ kz3x> sXv}vP"@WyC z`'톽Dw%-tt yVY\wmuPYQA0iG-2JP,6/gˢ]u.-n!Zw.N7Q]Df}Q0({a\@=i_X7gFǘ8^⻲}G MZ1)WEfO12G+=-B@z\`||w6ċj߬m}UwRox֢I &c~XGP6Qndpvܻul'V7^FJt^{b^B(L~sѣ6@߿^xqU!ڙ5|Vpvef-uӥ^3  FSDɯKD%0r}FF穛r7 +o"V8tv̖NQU!5uFd"bCr^bJ=֤fM#ʳԷP0O-9xRBm\=`r-:;~3Tl(nXtXi%2Vٛ#vwqƴ`L@"H‹qW.j,JM5B[)WܺUeZFqc'V˷1W7V̾-MHФwn8N;HPSdݷC7&2j.W\τGŎ'Vb]c.x+Rx1%C2T{myg[qU|+m:M:շ8҉yWd)ՋWS%%:iqlʹmGwݹ WnNŤѩ5(9hTٵDdGUi-)vSs2 2{OnT$Xck n:¶(lASLeȔBjμPpTb2~N2~%^k[ܗ[Jzs0ӓHBKq[}JَA-$dFQgjxxFv4r/x*Rm% `4J(&iv7SkԲmSH1YWmx 8n.k']:Z˭_W >ڃXЩ. jTq%Aā[E}amc]D:rmHRiu:uӚӢ\p(5-q%e)(۬ҖȽIf<߽pr&ݫVfY91q2ĭEQgYbTGQ&,yL+N$[q*RVۉQ=FuTܻ>f>f㋳8N6$܌n)9&»iˤsX,݅܍ȩv+sRTpO}d?Wn/Inpȸ%O]StQO|v5\}7Zwb.AIVK^:wb{[uݯcytO߶S<{8KSRׁH̏N7ۚ[xkwYy_'ZӵF+>쌛ZUĦreE9F[24De{}@:ExWs-\ǻ7K-\JNvEk%:s˙#κ].oͳ;լ7wB6nwu:$L; DkI#Wz.:Xp(˅v$Sq,wn\qIN-e<5Oe+vuYTpcojUI_ާP8 O 7&VL8z$_B-H-[uh]T{|8=qVRN-:Ij:7PUtXϷmy鉿:RIM~33ӸS2#׳GdŲ5+/Bx{(WzȨ5Y㞎#|˖+ ط.|e<o/rߔX>7s}VE.OVti׽ .5nNJO"95{#q}Ay9do]R"M6z\tnNS-D!@3N_jicWsy*5uٮRcWv/.,j}=S)j5C^> Ie =gu9ӛqjtz]۪TMoߧI!Ǧ¶m:,"[L!{qAv-o 3{"KʼnrIkfٶj2ƙ؄S`7` k6jzޞ?e5G&6uʷ2%ԒRKE*G\Npom F/V |C0.q_eenƣ<5Oh'67ɪn[SĽ{ڔjǘzs;~׌(ۂ`ܢ1ƣ` _l9Va6%UQWh~P~\F^ZHR@:ۧCJ{ôGeBh;~ۧnU J\O+n2 RҠ)ng}Kh{5+S×ܛ.1ZjG)iRȤIN 4%{oΜ/eO[Nffd ĹK?nnԼMqX'܌nZvq<ķbFnͪaQ`5 s,M_լ?-@_{w{ӺձJ}GF[%v\5[ŒGkOw/ΜM9rjË%2+rd~+󲕛C9U۳r[aJǭm|˒LAʨSCq[XMۺoubfp:t+ΤĻo ][ zt-*67kvS7D·MMCQXm;)܎n_h%]4ܙnRk!]ڵsDUF"`R, &#R_*[z*ZqFXɻ]7|۵w+'pFDەs=r./ᐚm3Hשy yD"jHCr':sA65نѮ^o1V/ f;nFr3VM)e*- s D'H݅fӧ\*޷[k<7u<-]֍Q8R h|p=WlW3s%Q %3l}@U-K6f-NϿu|ڴmWN׮[׸F*mW\%r! C78:޳vBG7ŵ.JթԚ2x)ST!řn~9 W:Wpܢ件{xf8ٳwKE ҰWxVB\qBZ 2wMb[lGSnyԚ~z9ZmያvoN2Afnݽjf>)j3 !;gOYʹK" Wftڎ+׭b*2ϻK>ۢӱeyԪXISUm[z+ugX%0lϏnvg!;t{BqPj>PyvR7Cj]O%+ݲ :qiMj6W}3vC/R=4Som]ŗ=ю, TF6U_-\6MyskwMr&Q\wjKܩyMϣUj0*}RZܷSdY3>Zjqj6TgzpA/M`/Cmл,޻feE[/+uk^Vs1W$G(JsW2ٰu*߻q*Y޵.Wi:ur5T),=0uRmho.twܖiYwrWHntvEj8qhf`Ͻpf(R&>Ki%I7$QӖm-2 ~yߗQ-앑/ x[k8nw.c㩵k}]FkbJl:{.(˩n0Hqvαp7 귎.Gupx[N`Yq'+ruU7[ү+>!xrȫoSo]OC# d^Q]\>!ƛGw^Mx"-+%vdX-:M2UR%d>%l ioSu6lsj7D P>XxHz Ukà(n^Q V>5cVtWj SEiJdznyej[lE' 3kuٌNn4JW)gB {4 j6&]' m-(ZMEz8cz>WZ6#7+[,MR-Z!4ܓtCyE|umj1ƽvƷV\;%>Q :#Le(iVz5 4ũۤUWxX ^(ҔsլB2w-V ^R+; ˂M\z+Uwr+RWY⺧~ Q*JcYSNSλUd8in=v K낫k\IRרSUaCFmϿ5̗P|u ZTԕ}>oYѲ1sfP+sQkX8Gb~6r,s>^\,mGL+7[n-E\.Fqḕcl*Jmjb5 ,m]c}NXfeVlǸJ5eˡ$4%g~N p4Y*WwW٧<8v#;qԩTut,m"#Y D\5V`\\Lȋ];LȇiS6ϝZ l>LruR\v=ǘϔDg=ԈdFZ+M{=|,[;0>RiSi4,S5}yxw&(E7&fݙ4UՕ! ~'Id)]ǽu2K-fޭ \08Vڅ쓬=Vy^^ IhyKR-B#Ըr=]mܻӾ'*Umkoy rTqT_i,/8Q^<ݤ|4ԻO(܄"'5N~#m.(Ҿ2i6Uev&I*<}҄$eNtÛzyWJubW^iBW.܅Wڮg]irO6Ve90sgv.+sV޿aޔ[p?3q*FutUo*eL\KM'EG*ZcAFfG5J 5jj=MJ3OK:k˝'NMB7m3uFҕ\-Ywg%PRqMIyZGY9|μvn߻5cWݷa^+X֥vnݘ\v7m>Fgzv"-;Ew֝}1|RjN𿊀7g#֟*GQQ|#/bo]p$>_Un9гUbn9׃ErQBU-^vDmVh'<R[fdHT]*~}3j;nvjc7s-rӳ Y8[n[1pJx kX[Jk9Mn!_Nю6x:iZ˦U |߉^Ԛ݃hYxk &U^bwKk.[jE+P(˞=9j@snCv7%c_7=xǁ<l {t'酚+1F‹l׭:ݻILruǶkL-L(K0L1&>wXB(pm;1fpnlp֓%Skidkt(U +xulo'/ڕeN r=^pZZ:Pnj8Hf"48ijY[ N[yZٻ+=  ø:3 ?^ܷ^Sr#YK[UF?CuhC b]GM')mڏsNrܗI]ljq6VB. W,UK"YX5{c >Iqā> T:n!,5l2VzCl|+I[*SrjnS6٨y+x,@>П.g+!rn9>N|W>OZT_ut Y""v7|sfި;Pclm EùN,{'fNT%U&LfH8~1v>Il}统u6P˗c(WV~H^bMU.o*oOF0N:_:6Smr_.b+|ݶYY غF,mwjv>f*>QM뭱Sd:`N{l/⎱;n-z~"Gze퇎J5S KG9!Gn;N1 ݎ h6m|S?ɂ5'WOÞ 7|7^ao @mxGmi^jϽ>01Mf0լD3-2T. VXR"ɥV Kl J O7|u?bvа;6.eߓ|[1bmRr,eRz`z 6܎-ͨku͹Fː dPhYgZUj}nvX;z=gVեTv_J }\1n7w2J?ޘγc\E 1Aޑzq;\r]]\Y&[nsNei\uURje*Qk2CSl*xJz-xٶlm+|UjUؓ`Ladqiĩ!Gd\W~fz;Tn*PdRM&T4`չSWq5k훶(N"Ӎ% V]֦wb.nUO!u*J&Oӕ2e|Z=eV쫚΅g#+/RW:طnbi*Wyo)p{:ETKؚR(RY+r웓r(IF) VmȵNB:h Q1ғ|u8E]{,'$-TR[j49l*3"I鯴zhd>Q+\BkNF=.$ZR4Nwհ(IpNi.(Gi33#33e$FXK*NdWrud[r{xnk$v2ıh+J1TQ[#JQl[tRO]LHKٮ NӍnF񨔤֞Em'MILB"ԋ%dBŋ+p̿_17jzT~4pc Vo\ƹb9Rq-'1j;8ܗ)hE%DZKS<璸Bu*%*Yw5ڻ9ۣ^z4U; Ñk\U(o~G?VUĎ:?P?_F_Kߤ~ᓾI |pr.Ok\SklRhҪz{­P .}SktZ7UQ4ڌIM8̈eaӊJZ%FFZu,KZvln廐SNFIVtuNi?CM5]+Ph,{jN JSR$IS^tSUVrORYu.9WyP6 [Kiu m!X|]Y79ӄ)\ģ)pbڳr%*&ꑶ_-H*dzk)1 V3')UAϹٶWRxe'պn۫h7AR9 EAJeGLms!%D| A 5]/Q3eb̄vnVn%za\m kZnv([emqrIҕij|""><hjJשvvǕ|Pޟs}V~2&Z?+2N&Z4w@)4iSڪ_>/JN9Hiۏuf8'It[ȲR.hZ$ȋ_Y ~U<UUO*6b)Ovzڜj\R̋.$FsQuҊj^נ䈈y<zZIuP[}Qm=C?zN(Exqu/kn S-FzKZzOסӽjJ\)F3b!r5ٝ|;6 o=-3*λ]αb\abqRi-w޵⦪~b8Kpo)Z=>)ғ"5/GTZLE-輵f7ݘ۹~+&+w/7GFI:l33fg.N~۲\2|*cnermnnM+Fq"ѪIz%j =YW8@~gc/~?N'?)«qȸs➟n=k" X“m֮VreMh2[uݖ] *FܖN)MȐ`f0 g,C9̑o;ddudJ=In13:ݒvvdMUEJLp^,6t-@͐9'{7m{-3,>hnF;ѰM)->>+Ěz!R* :`e--m7nB\u{b U>[8֪]6^ߤLʦ\DFNo$$dͶlgno8OrsQ\l̯hRo8tuNo+ CTxu!2[>ctFpeޓƻֶR"3QrQuOѳgwQr;S~)6HhZw/GgVTmUf_yt7%$];zLWF̰xy2Ʉu!MCmš_0[W6jf#a-KLi+3Q7c^qg%s<1aYIQeZf+}>;S6L0]Yu_h9߻<ƅpmiM$AVvŚ,*#t2.8Y)-Zhshü97/#Oro"u^/uFgWɺ,p:6a,^x%$Yve^3PƗMnTP&yS}OJ '덫MH^:rXԴJۋ/rI;S*,+yz1hv)Qw^ڍJ2oL׊q(\fDj:^T%vOadɂnS}ZO)N*λdaȜkG_PIEO}нa(^iQX᯦-7^)%g'SJx(.S9zVɴZ{E ))ۅi/s7 VIV-|sj0*UBTHIqRf>FP$KqN0 R̻8j\GcC}IUz\i 6F)Q{Gҧ3qSzKj-Az VЛS-zy:8*mNk|D鿓ND2u+0Yŝ7kqm·?8Ib]u>˗^_>(]vӋzv+ݩ){vZrJ2RQ몋C$z [,pp,8mڊbR]Il .f~d/ݓs㓓mͶ{mgjQwn=Oic9ܚm4Q/6ݨ[TƧ?nԶoytf{@AzT{e{[O'ZRZt~AGD?s3􌿂ՉIw'|~U\ w~di:Kޱ)U/sU%njѩ&GSP^ǝd)..!^U` 1wX[aԇSxoFV6_扐)T 2Mfd=ۖͭiZ7KK Bi9%7@<3<ճԻU,},a}FRqɛr i@ONJvK KLN M, ʖv0n-]DwlI-X6ܶ$Jʴh5O+mOI+Ra瞠\ MG7BفjYo1#͖0V`Ѱ2M?c8>-Crt*JkIGS:e#hPKx[鱼>{5m;wcն&>j-M֥^َ) 6yȜl_w{-ō̱r> U=]iw3)r*]:K]6BdCTZ|>gf}LW}[$'Y5 &c -j.z6R 67MԷFMnÌwI7w5E}o޽+K ֵy4܌ȥW"COyR[q5Ӱ͙f[v"_#q{MV6܍3"u9BK(41ӯqˇc${ߝCi6I(OmθzҜ5k^:>Jzw.>qV8{vU[ڶEm|DžBz].KHjI]x;Mɗ{m,qZXr忇2u^RO2Z}ZێS[2Jen!*NDcrBUً4<ǼMҲs1Zw57c3&ĖڻzmP*FuJG1-dN:|OU}ҵgi2t~F^^Z.VxjvŧnNNh<:]^~NN+ge^g.SԔGFe߯'[vn'(ScJ]kܗ7eJOlRrfziݮq̋S"\*U<*W]k$FջV}? 7g#֟*GQQ|#/bo]p$>_Un9;l S VvQU%OLU{οmU6bZ1MTx%!֙Q7, J=!3 ;Q,ڌ;6ͱ݅q^&ߔ·n #WbwӖX.HtG)N&d̵zpI,n cu ޖUj+VXUp[w]N o.J6Z8Ts&utxln;~HPHS/xw`G\ʡ¿rj Z^vt"[L:SD\h0sUwR,}[x^X,R2Vn< ]2YDr[SRKs8tXb̷G?Ps Tv 3be,zVz D[/I.KOEQrm'$7|[J>r S`5յwT#\w1FTz\Ԛ &"ׅhSHrD\'r]~/>p;:Piuu:"9ő=tTaS7V2rӷk7mb[^WmPp*[y.Þ6f]cizJCgRR@UVl큝.WJP1N{/\whZ ػϧӱE7|E֫Sί.x-Y&pi%v''-x6r'Ws*6=DwwUu]=C?MK [yrtܒG$!WGqJ*%SAz ED[^)/tė/g=#Omd.|^n/sl׉g DZqemqowݮRzUܜ=ڽ-o/Iۖ;qVʘgPp|mm;6zGl9.8pwWgsJ2qPbe}}UpNjٯ}7TMQKrؽtEx%v w߾8%|j;~|}pK]ơ/ w߾8%|j;~|}pK]ơ/ w&~e_H 8PL7:%ʭ5Kw&U2vwR_+rm'}C7#rWoO&HoG?M$UR7{FU]u ;# !Wk`|W>׹潇9Vn)6)*ҹ{%qV4q>W1vi#T"Qk&GwxcJBJ- Ϸ^ˁxkU}ԣ/3.;]J=<*)cS)ROK9H=,r zX @)cS)Da^ԽQ gxJI=w֣gf*TRj

#E-mail: jsyoon@kyungnam.ac.kr, TEL: +82-55-249-2623
• Received: February 28, 2025   • Revised: April 20, 2025   • Accepted: June 10, 2025

Copyright © The Korean Society for Precision Engineering

This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

  • 36 Views
  • 0 Download
prev next
  • The manufacturing industry faces two significant challenges: declining added value due to industrial restructuring and an aging workforce stemming from demographic shifts. In the machining sector, leveraging big data from machine tools has become increasingly critical for enhancing productivity and implementing intelligent manufacturing systems. However, varying data formats and communication methods across different equipment hinder efficient integration, posing a major barrier to the digital transformation of manufacturing. This study develops an integrated server system to facilitate the digital transformation of the machining industry by enabling effective collection, storage, processing, and analysis of data from machine tools. The system features a standardized protocol-based interface for consistent data collection and control across heterogeneous CNC machine tools. By leveraging IEC 62541 OPC UA (Open Platform Communication Unified Architecture) and OPC 40501-1 UMATI (Universal Machine Technology Interface), it ensures interoperability with upper-level applications through standardized information models. The proposed approach addresses inefficiencies in vendor-dependent CNC data systems, providing consistent data management for diverse equipment. By enhancing real-time data handling and eliminating integration challenges, the system contributes to the digital transformation of the manufacturing sector and the creation of an efficient production environment.
디지털 전환은 제조 산업의 핵심적인 목표로 자리잡았으며, 이를 실현하기 위해 디지털 트윈(Digital Twin), 증강현실(AR), 가상현실(VR)과 같은 첨단 기술은 물론, 인공지능(AI) 기반 예측 분석 및 지능형 기술이 적극 활용되고 있다. 이러한 기술들은 생산 데이터를 실시간으로 수집하고 분석하여 공정 최적화와 이상탐지를 가능하게 한다. 그러나 이기종 CNC 시스템과 다양한 소프트웨어 애플리케이션 간에 표준화된 데이터 통신을 구현하고, 상호 운용성과 효율성을 확보하는 것은 여전히 해결해야 할 과제다. 국내 CNC 시장의 80% 이상을 차지하는 FANUC CNC는 독자적인 FOCAS (FANUC Open CNC API Specification) [1] API를 사용하여 IT 시스템 및 타 CNC 시스템과의 연계가 어렵고, 데이터 통합을 위해 별도의 미들웨어가 필요하다. 이 과정에서 실시간성이 저하되고, 데이터 변환 과정에서 정보유실과 휴먼 에러 발생 가능성 증가하는 이슈가 제기된다.
반면, SIEMENS와 HEIDENHAIN CNC는 OPC UA [2] (Open Platform Communications Unified Architecture) 프로토콜을 지원하지만, 서버 주소 체계와 데이터 구조의 차이로 인해 실질적인 데이터 접근성과 통합이 복잡하다. 즉, 이기종 CNC 시스템간 표준화된 인터페이스가 부재하여 데이터 고립 현상이 심화되고, 다양한 애플리케이션과의 연계가 제한되면서 상호 운용성이슈는 자율 제조 환경의 실질적인 구현을 저해하는 주요 요인으로 작용하고 있다.
한편, CNC 공작기계의 성능과 기능이 지속적으로 향상됨에따라, 실제 공정내에서 CNC 장비의 상태를 실시간으로 모니터링하고 분석할 필요성이 더욱 중요해지고 있다. 그러나 국내외에서 널리 사용되는 대표적인 CNC 시스템인 FANUC, SIEMENS, HEIDENHAIN 등은 벤더별로 독자적인 통신 프로토콜을 채택하고 있어 상호 운용성 확보에 제약이 존재한다[3].
이러한 환경에서 이기종 CNC 시스템의 데이터를 효과적으로 수집하고 통합할 수 있는 방안을 모색하는 연구가 진행되어 왔다. 기존 연구 중 일부는 레거시 서버의 데이터 수집 인터페이스를 활용하는 방안을 제안하였으나[4], 주로 Windows 운영체제와 네트워크 환경에 종속된 OPC Classic기반으로 구현되어, 최신 제조 환경에서의 적용 가능성이 제한되는 문제가 있다. 또한, MTConnect를 기반으로 이기종 CNC데이터 수집을 구현하려는 연구도 수행되었으나[5], 해당 방식은 주로 데이터 모니터링에 초점을 맞추고 있어 장비의 제어 및 피드백 제어와 같은 핵심 기능을 충분히 지원하지 못하는 한계를 지닌다.
한편, 국내에서 가장 널리 활용되는 FANUC CNC의 FOCAS API를 활용한 데이터의 연계에 대한 연구는 여전히 미흡한 실정이다[6]. 기존 OPC UA 기반 통합 서버 연구는 주로 프로토타입 개발이나 특정 사례 연구에 집중되어 있으며[7], 데이터 형식의 표준화와 이기종 시스템 간의 통합을 고려한 연구는 부족한 상황이다. 추가적으로, 기존의 CNC 모니터링 시스템 연구는 주로 미들웨어 어댑터(Middleware Adapter) 설계 및 구현에 초점을 맞추었으며[8,9], 일부 통신 프로토콜의 표준화가 시도되었으나, 이기종 CNC 장비 간의 데이터 구조 차이를 해결하기 위한 연구는 여전히 미흡하다.
각 공작기계의 정보 구조가 상이하여, 기존 시스템은 확장성이 부족하고, 장비 간 원활한 연결과 데이터 통신이 어렵다. 이러한 문제를 해결하기 위해, CNC 시스템의 표준화된 데이터통신 프로토콜을 적용하고, 다양한 제조 환경에서 실시간 데이터통합 및 제어를 지원할 수 있는 새로운 접근 방식이 필요하다.
이러한 문제를 해결하기 위해 본 연구에서는 OPC UA 기반 통합 서버를 개발하여, 이기종 CNC 데이터를 효율적으로 수집,변환, 제공하는 방안을 제안한다. 제안된 시스템은 제조 데이터의 연계성을 강화하고, 다양한 소프트웨어 애플리케이션과의 원활한 통합을 통해 자율 제조 환경을 구현하는 것을 목표로 한다.
또한, OPC UA Client와 AR 기반 모니터링 시스템을 활용하여 통합 서버의 실효성을 검증하였다. 검증 결과, 제안된 시스템이 작업 현장의 생산성과 운영 효율성을 향상시킬 수 있음을 확인하였다. 이는 통합 서버를 통해 이기종 CNC 데이터가 실시간으로 연계되고, 사용자에게 직관적으로 제공될 수 있음을 입증한 것이다.
2.1 이기종 CNC 데이터의 통합의 제한요소
이기종 CNC 데이터의 통합과 연계를 방해하는 주요 제한요소는 두 가지로 요약될 수 있다. Figs. 12는 소프트웨어 애플리케이션과 CNC 시스템 간의 연계를 위한 필수적인 네트워크 구성 및 데이터 처리 방식의 차이를 구체적으로 보여준다.
Fig. 1

Issue in standardizing CNC communication interface

KSPE_2025_v42n8_603_f001.jpg
Fig. 2

Issue in the data information structure of heterogeneous CNC

KSPE_2025_v42n8_603_f002.jpg
첫째, 네트워크 설정의 복잡성이다. 소프트웨어 애플리케이션과 CNC 시스템 간 연계를 위해 각 시스템의 네트워크 연결 매개변수를 개별적으로 설정해야 한다. 이는 각 시스템별로 고유한 통신프로토콜, IP주소, 포트번호를 지정하는 작업을 포함한다. 예를들어, SIEMENS와 HEIDENHAIN CNC는 OPC UA 프로토콜을 사용하지만, 각 시스템마다 서로 다른 IP 주소(예: 10.10.10.1,10.10.10.2)와 포트 번호(예: 4840, 19040)을 유지한다. 반면, FANUC CNC는 FOCAS 프로토콜을 사용하며, IP 주소(10.10.10.3)와 포트번호(8193)가 다르게 설정된다. 이러한 네트워크 설정의 불일치는 데이터 통합을 복잡하게 하며, 통신 오류 발생 가능성을 증가시킨다. 특히, 이기종 CNC 간 데이터를 통합하려면 각 시스템의 통신 설정을 일관되게 관리하고, 데이터 변환 및 매핑 작업을 추가적으로 수행해야 한다. 이러한 과정에서 시간과 리소스가 소모되며, 변환 과정에서 데이터 오류 발생 가능성도 높아진다.
둘째, 데이터 형식 및 구조의 비일관성이다. 각 CNC 시스템은 벤더별로 데이터 호출 방식, 데이터 형식, 반환 값이 상이하다. 예를 들어, CNC 장비의 동작모드(Operation Mode) 상태를 요청할 때, Fig. 2에서 확인할 수 있듯이 각 CNC 시스템마다 방식이 다르다. FANUC CNC는 cnc_statinfo함수를 통해 short ODBST.tmmode.ODBST.aut 형식으로 데이터를 요청한다. SIEMENS CNC는 ns=2; s=Bag/State/opMode 주소를 사용하며, HEIDENHAIN CNC는 ns=2; i=6101 형식을 통해 데이터를 호출한다. 뿐만 아니라, JOG 모드에 대한 상태 값도 시스템마다 다르게 반환된다. FANUC은 정수형(Integer) 값 5를 반환하고, SIEMENS는 0을, HEIDENHAIN은 문자열(String)로 JOG를 반환한다. 즉, 데이터 형식 및 반환 값의 차이로 인해 시스템 간 연계를 위해 추가적인 변환 작업이 필수적이다. 이로 인해 데이터 일관성이 확보되지 않으며, 장비 간 실시간 데이터 연계와 통합이 어려워져 자율 제조 시스템의 신뢰성과 효율성이 저하된다.
이러한 문제를 해결하기 위해, 본 연구에서는 OPC UA 기반의 통합 서버 시스템을 개발하여 이기종 CNC 데이터를 표준 정보 모델을 기반으로 통합될 수 있도록 구현하였다. 통합 서버는 이기종 CNC와 소프트웨어 애플리케이션 간 공통의 데이터 인터페이스를 제공하며, 각 CNC 시스템의 고유한 프로토콜과 데이터 구조를 표준화된 방식으로 변환하여 연계성을 강화한다. 이를 통해 자율 제조 환경에서의 데이터 통합성과 운영 효율성을 극대화할 수 있다.
2.2 이기종 CNC 데이터 구조 분석 및 연계성 이슈
본 연구에서는 이기종 CNC 데이터의 효율적 연계를 위한 OPC UA 기반 통합 서버 시스템 개발을 위해, FANUC, SIEMENS, HEIDENHAIN CNC의 핵심 데이터 명세 8종을 분석 대상으로 선정하였다. 이는 CNC 시스템과 소프트웨어 애플리케이션 간의 연계에 필수적인 데이터 항목을 우선적으로 도출하고, 이기종 CNC시스템의 데이터 구조 차이를 체계적으로 분석하여 데이터 연계 과정에서 발생하는 비효율성을 최소화하고 상호 운용성을 극대화하는 데 초점을 두었다.
일반적으로 CNC 시스템에서 제공되는 데이터는 수백 개에서 수천 개에 이르며, 축 위치(Axis Position), 스핀들 속도(Spindle Speed), 동작 모드(Operation Mode) 등의 항목은 시스템 통합과 실시간 데이터 분석을 위해 필수적이다. 본 연구는 이기종 CNC 데이터 연계에서의 주요 문제를 해결하기 위해 Table 1에 제시된 8가지 필수 데이터 항목을 중심으로 연구를 수행하였다. 이를 통해 데이터 형식의 표준화를 제안하고, 통합 서버 시스템의 설계 방향을 구체화하였다.
Table 1

Data set for heterogeneous CNC

Table 1
No. Data set Node address
1 Axis position Each CNC machine axis (X, Y, Z) in coordinates
2 Spindle override The percentage adjustment of the spindle speed
3 Feed override The percentage adjustment of the cutting speed of the tool
4 Spindle RPM The rotational speed of the spindle in revolutions per minute
5 Operation mode The current operation mode of the CNC machine
6 Tool number The unique number of the tools being used in tool management
7 Tool name The name or type of the tool, used for tool identification
8 Alarm Warning or error message from CNC and PMC system
CNC 시스템별 데이터 제공 방식과 접근 방식의 차이는 이기종 시스템 간 연계를 저해하는 주요 원인으로 작용한다. Fig. 3에서 확인할 수 있듯이 FANUC, SIEMENS, HEIDENHAIN CNC 시스템은 데이터 접근방식, 호출 인터페이스, 반환 값의 데이터 형식에서 큰 차이를 보인다. FANUC CNC는 C언어 기반의 구조체(Struct) 형식으로 데이터를 제공하며, 낮은 가독성과 복잡한 엔지니어링 작업을 수반한다. 또한, 데이터를 소프트웨어 애플리케이션과 연계하기 위해 추가적인 변환 과정이 필요하다. SIEMENS 및 HEIDENHAIN CNC는 OPC UA 프로토콜을 지원하지만, 각 제조사의 고유한 주소 체계 및 데이터 구조를 채택하고 있어 호출 방식과 반환 데이터 형식이 서로 상이하다. 예를 들어, 축 위치와 스핀들 속도 데이터를 가져오기 위해 FAUNC CNC는 각 데이터 항목마다 개별적인 FOCAS Library 함수를 호출하며, 반환 값은 Raw Data 형식으로 제공된다. 반면, SIEMENS와 HEIDENHAIN CNC는 OPC UA 프로토콜을 지원하며, OPC UA 노드 주소를 통해 데이터를 요청하고 정형화된 데이터 모델을 제공한다. 그러나 두 시스템이 OPC UA를 사용하더라도, 호출 방식과 노드 주소 체계는 상이하다. 예를 들어, SIEMENS는 ns=2; s=Channel/MachineAxis/measPos1[u1,1]과 같이 구조화된 노드 주소를 사용하며, HEIDENHAIN은 ns=2; i=6115와 같이 단순한 정수형 인덱스를 사용한다. 이러한 차이는 이기종 CNC 시스템 간 데이터 연계 시 추가적인 매핑 및 변환 작업을 필요로 하며, 통합의 복잡성을 가중시키는 요인으로 작용한다.
Fig. 3

Comparison of essential data sets for CNC systems

KSPE_2025_v42n8_603_f003.jpg
본 연구에서 제안하는 통합 서버 시스템은 이기종 CNC에서 생성되는 데이터를 통합적으로 수집, 처리, 저장 및 분석할 수 있는 효율적인 데이터 관리 환경을 구현하는 것을 목표로 한다. 특히, 벤더 종속적인 개별 서버 방식에서 발생하는 비효율성을 개선하여 데이터를 일관되게 관리할 수 있는 통합 구조를 제공한다. 또한, JSON 형식의 표준화된 데이터 포맷을 통해 상위 시스템과의 연계성을 극대화할 수 있으며, UMATI 표준 정보 모델을 적용하여 이기종 CNC 시스템 간 실시간 데이터 연계성을 보장한다.
3.1 통합서버 상세 모듈 구성
Fig. 4에 제시된 바와 같이, 통합 서버 시스템은 데이터의 실시간 수집, 표준화, 저장 및 활용까지의 전 과정을 지원하는 다양한 모듈로 구성된다. 각 모듈은 데이터의 일관성과 신뢰성을 보장하기 위해 유기적으로 연계되며, 데이터 흐름을 최적화하는 구조를 갖춘다.
Fig. 4

Architecture of the aggregation server system

KSPE_2025_v42n8_603_f004.jpg

3.1.1 Data Access (DA) Function

통합 서버의 핵심 기능 중 하나는 DA Function으로, CNC 시스템의 실시간 데이터 수집 및 제어를 담당한다. 이를 위해 FOCAS OPC UA Client와 OPC UA Client 두 가지 주요 데이터 연계 인터페이스를 포함한다.
먼저, FOCAS OPC UA Client는 FANUC CNC데이터를 수집하기 위해 설계되었으며, FOCAS API를 활용하여 CNC 장비의 상태정보, 축 위치, 스핀들 속도, 알람 정보 등을 실시간으로 취득한다. 또한 Method Function을 통해 제어 명령을 실행하거나 특정 데이터를 요청할 수 있다. 다음으로, OPC UA Client는 SIEMENS 및 HEIDENHAIN CNC와의 데이터 교환을 담당하며, OPC UA 표준 프로토콜을 통해 각 CNC의 데이터 노드에 대한 구독(Subscription) 및 변경된 데이터를 통합 서버 시스템 으로 전달한다. 특히, 이기종 CNC 간 프로토콜 차이를 해결하기 위해 FANUC의 FOCAS API와 OPC UA 데이터 구조를 통합 서버에서 표준화된 인터페이스로 변환하여 일관성을 확보하였다.

3.1.2 Historical Data Access (HDA) Function

HDA Function은 CNC 데이터를 실시간 데이터와 과거 데이터로 구분하여 관리하며, History Management (Database)를 기반으로 장기적인 데이터 저장 및 분석 환경을 제공한다. 이를 통해 통합 서버 시스템은 다음과 같은 기능을 수행한다. 첫째, 데이터 저장 및 분석 기능이다. CNC 시스템으로부터 수집된 데이터를 실시간으로 저장할 수 있으며, 장기 보관된 데이터를 기반으로 공정 최적화, 데이터 기반 의사결정, 이상탐지 등 다양한 분석에 활용할 수 있다. 둘째, 데이터 접근성 향상을 지원한다. 사용자는 저장된 과거 데이터에 신속하게 접근할 수 있으며, 이를 통해 CNC 시스템의 운영 상태를 과거부터 현재까지 종합적으로 파악할 수 있다.

3.1.3 Alarm & Event (AE) Function

AE Function은 CNC 및 PLC에서 발생하는 알람 및 이벤트 데이터를 실시간으로 수집하고 처리하는 기능을 수행한다. 이를 AE Function은 CNC 및 PLC에서 발생하는 알람 및 이벤트 데이터를 실시간으로 수집하고 처리하는 기능을 수행한다. 이를 통해 CNC 시스템의 상태를 지속적으로 모니터링하고, 이상 상황을 신속히 감지하여 대응할 수 있다. 우선, 알람 데이터 관리 기능을 제공한다. CNC 시스템에서 발생하는 다양한 알람 정보를 체계적으로 수집하여 저장하며, 이를 통해 제조 공정 내 이상 상태를 신속하게 감지할 수 있다. 예를 들어, 장비 과부하, 온도 임계값 초과, 시스템 오류 등 다양한 알람 상황을 자동으로 기록하고, 사용자에게 알림을 제공할 수 있다.

3.1.4 Data Formatting (DF) Function

DF Function은 이기종 CNC 시스템의 상이한 데이터 호출방식, 노드 주소 체계, 반환 형식을 표준화하여 시스템 간의 데이터 연계성을 확보하는 역할을 수행한다. 첫째, UMATI [10] 표준 정보 모델을 적용하여 데이터 표준화를 구현한다. 각 CNC 시스템에서 수집된 데이터를 표준화된 형식으로 변환함으로써, 모든 CNC 시스템이 동일한 주소 체계와 직관적인 반환 값을 제공할 수 있도록 구성된다. 예를 들어 ns=2:Agg/ Machines/CNC#/Monitoring/Axis@Y_Pos와 같은 통일된 주소 구조를 통해 데이터의 일관성을 확보한다. 둘째, JSON 기반 데이터 포맷팅 기능을 제공한다. 경량화 된 텍스트 기반 데이터 구조를 통해 전송 속도를 극대화할 수 있다. 또한, JSON 형식은 RESTful API를 통해 다양한 애플리케이션과의 연계를 용이하게 한다. 이러한 구조는 지능형 애플리케이션에서 실시간 데이터 렌더링 및 제어 기능을 효율적으로 수행할 수 있도록 지원한다.
3.2 통합 서버 시스템 구동 로직
통합 서버 시스템의 구동 로직은 각 CNC 제어기의 특성과 데이터 통신 방식에 따라 차별화되며, 이를 명확히 설명하기 위해 Figs. 56에 시퀀스 다이어그램을 제시하였다. 이 절에서는 FANUC, SIEMENS, HEIDENHAIN 시스템의 데이터 수집 및 통신 절차를 각각 설명한다.
Fig. 5

FOCAS OPC UA client sequence diagram

KSPE_2025_v42n8_603_f005.jpg
Fig. 6

OPC UA client sequence diagram

KSPE_2025_v42n8_603_f006.jpg

3.2.1 FOCAS OPC UA Client 로직

Fig. 5는 FANUC CNC시스템에서 데이터 수집이 이루어지는 과정을 시각적으로 나타낸다. 먼저 초기 설정 및 연결 확인이 수행된다. CNC의 IP 주소, 포트 번호, CNC 타입을 입력하여 통신을 설정하며, C++ 기반으로 개발된 FOCAS_CNC.dll 모듈이 Port Ping 메시지를 전송하여 CNC와의 통신 상태를 확인한다. 통신이 정상적으로 이루어지면 FOCAS 라이브러리를 초기화하고 CNC에 접속한다.
다음으로, 실시간 데이터 수집이 이루어진다. 연결이 완료되면 cnc_statinfo, pmc_rdpmcrng, cnc_rddynamic 등의 FOCAS Library 함수를 사용하여 CNC의 실시간 데이터를 주기적으로 수집한다. 수집된 데이터에는 장비 모드, 가공 툴, 이송 축 정보, 스핀들 상태 등의 정보가 포함되며, 이는 내부 버퍼에 저장된다. 이어서, OPC UA 표준변환 및 보안 설정이 적용된다. 수집된 FANUC CNC 데이터는 OPC UA 표준에 맞게 변환되며, End Point URL, 인증서, 권한 정보 등 보안 설정을 통해 통합 서버로 안전하게 전송된다.
또한, 통신의 안정성을 유지하기 위한 Keep-alive 메시지가 활용된다. 이를 통해 통신상태가 지속적으로 모니터링 되며, CNC에서 발생하는 알람 정보는 cnc_alarm2 함수를 통해 실시간으로 수집되어 AE Function으로 전달된다.
마지막으로, Change Data Capture (CDC) 방식이 적용된다. 데이터 변동이 발생할 때에만 이벤트 기반으로 FOCAS OPC UA Client가 데이터를 전송하도록 설계하여, 네트워크 부하를 최소화하고 통신 효율성을 극대화한다. 이러한 로직을 통해 FANUC CNC 데이터의 수집과 제어를 위한 FOCAS OPC UA Client의 아키텍처를 체계적으로 정의할 수 있으며, 설계 과정에서 요구되는 명확한 기술적 사항을 확보할 수 있다.

3.2.2 SIEMENS 및 HEIDENHAIN OPC UA Client 로직

Fig. 6은 SIEMENS와 HEIDENHAIN 시스템에서 데이터 수집이 이루어지는 과정을 시각적으로 보여준다. 첫째, OPC UA 서버 연결이 설정된다. OPC UA Client가 각 CNC 설비의 OPC UA Server와 연결 가능성을 확인하며, Port Ping 응답이 확인되면 OPC UA Client는 OPC UA Server와 연결을 설정한다. 이 과정에서 End Point URL, 인증 정보, 보안 정책 등 필수적인 보안 절차가 수행된다.
둘째, 데이터 구독 및 수집이 진행된다. OPC UA Client는 CNC의 주요 데이터 항목(Operation Mode, Tool Number, 축 위치 등)을 구독(Subscription)하며, 구독된 데이터는 OPC UA Server에서 변경될 때 마다 실시간으로 통합 서버 시스템으로 전송된다. 셋째, 데이터 저장 및 관리가 수행된다. 수집된 데이터는 통합서버 시스템에서 CNC 별로 구분되어 저장되며, 이는 각 CNC 데이터를 개별적으로 관리할 수 있도록 한다. 이러한 구조는, 시스템 간 데이터 일관성을 보장하며, 유지보수와 데이터 분석에 필요한 기반을 제공한다. 마지막으로, 보안설정 및 데이터 무결성이 보장된다. OPC UA 통신은 보안이 중요한 환경에서 사용되므로 End Point URL 및 인증 정보를 통해 통신이 보호된다. 또한 Keep-alive 메시지를 통해 안정적인 연결상태가 지속적으로 유지된다. 이러한 구동 로직은 SIEMENS와 HEIDENHAIN CNC 시스템이 OPC UA 표준 프로토콜을 통해 통합 서버 시스템에 안전하게 연결되고, 실시간 데이터 수집 및 연계가 원활히 이루어질 수 있도록 보장한다.
4.1 개발 및 테스트 환경 구성
제안된 통합 서버 시스템의 테스트 환경은 Fig. 7Table 2에 제시된 바와 같이, FANUC, SIEMENS, HEIDENHAIN등 이기종 CNC 3종으로 구성되었다. 이 환경을 통해 데이터 정합성 및 시스템 성능을 평가하기 위한 실험을 수행하였다. 개발환경은 .NET Framework 4.8 기반의 Visual Studio 2022 Professional을 사용하여 구축 되었으며, CNC 시스템 간 데이터 통신을 위해 UA.NET Standard와 FOCAS2 Library가 통신 라이브러리로 채택되었다. 이러한 설정은 실제 산업 환경을 모사하여, 이기종 CNC 시스템 간 데이터 통합 성능과 통합 서버 시스템의 안정성을 검증할 수 있는 기반을 제공한다.
Fig. 7

Testbed configuration

KSPE_2025_v42n8_603_f007.jpg
Table 2

Testbed detailed information

Table 2
No. CNC CNC
model
MTB Machine
name
1 FANUC 31i-A DN
solutions
M2-5AX
2 SIEMENS S828d HYUNDAI
WIA
i-CUT
400M
3 HEIDEN. TNC640 DN
solutions
SMX
2600S
4.2 성능 테스트 수행
통합 서버 시스템의 성능을 검증하기 위해 CNC 시스템의 핵심 데이터 8종을 대상으로 데이터 정합성 검증과 데이터 수집 속도에 대한 성능을 평가하였다.

4.2.1 데이터 정합성 검증

테스트 환경에서는 워크스테이션에 관련 라이브러리 및 테스트용 애플리케이션을 구현하고, 이를 통해CNC 시스템으로부터 수집된 데이터를 시각적으로 검증하였다. Figs. 8-10은 제안된 통합 서버 시스템을 기반으로 각 CNC 시스템과 연동하여, 가공 프로그램 정보, 메인 프로그램, 시퀀스 번호, 각 축의 부하율, 좌표 정보, 스핀들 회전속도(RPM) 등의 주요 가공 데이터를 실시간으로 모니터링하는 화면을 보여준다.
Fig. 8

Implementation & verification of FOCAS OPC UA client

KSPE_2025_v42n8_603_f008.jpg
Fig. 9

Implementation & verification of OPC UA client for SIEMENS

KSPE_2025_v42n8_603_f009.jpg
Fig. 10

Implementation & verification of OPC UA client for HEIDENHAIN

KSPE_2025_v42n8_603_f010.jpg
테스트 결과, CNC 화면에 출력되는 정보와 통합 서버 시스템을 통해 수집된 데이터 간에 모든 항목이 정확히 일치함을 확인하였다. 이는 본 시스템이 서로 다른 제조사의 CNC 장비에서 생성되는 고유 데이터를 표준화된 형식으로 정확히 변환 및 처리할 수 있음을 입증하는 결과이며, 데이터 변환 및 매핑 과정에서 발생할 수 있는 오류를 최소화함으로써, 이기종 CNC 시스템 간 데이터 통합의 신뢰성을 효과적으로 향상시킬 수 있음을 실험적으로 검증하였다.

4.2.2 UMATI 표준 데이터 변환 검증

UMATI 표준 정보 모델을 적용하여 통합 서버 시스템이 데이터 정합성을 유지할 수 있는지 검증하였다. Fig. 11은 CLI (Command-line Interface)를 통해 CNC 시스템으로부터 수집된 데이터를 UMATI 표준에 맞춰 변환하고 반환하는 과정을 시각적으로 보여준다.
Fig. 11

Integration server system CLI Screen

KSPE_2025_v42n8_603_f011.jpg
테스트에서는 ns=2;s=1;Agg/Machines/CNC1/Monitoring/Axis@Y_Pos 명령어를 사용하여 CNC의 Y축 위치 데이터를 요청하였으며, CLI에서 반환된 값(140.702)이 CNC 화면에 표시된 값과 정확히 일치함을 확인하였다.
이 결과는 통합 서버 시스템이 CNC 시스템의 데이터를 UMATI 표준 노드로 매핑하고, 표준화된 형식으로 정확히 반환할 수 있는 신뢰성을 입증한다.

4.2.3 데이터 수집 성능 비교

통합 서버 시스템의 성능을 정량적으로 평가하기 위해, 먼저 데이터 수집 속도를 비교 분석하였다. 이를 위해 동일한 CNC 시스템에서 기존의 개별 서버 방식과 통합 서버 시스템을 적용하여 데이터 수집 속도를 측정하였다. 먼저, 기존 개별 서버 방식에서는 평균 수집 속도가 137 ms로 측정되었다. 이는 각 CNC 시스템이 개별 서버를 통해 독립적으로 데이터 통신을 하면서 통신 경로가 분산되고, 중복된 데이터 요청으로 네트워크 부하가 증가했기 때문이다. 반면, 통합 서버 시스템에서는 평균 수집 속도가 106 ms로 개선되었다.
이는 중앙 집중형 통신 구조를 통해 데이터 수집 경로가 최적화되고, 통신 지연이 최소화된 결과로 해석할 수 있다. 또한, 데이터 수집 성능은 기존 방식 대비 약 22.6% 향상되었으며, 통합 서버 시스템이 중복된 데이터 요청을 제거하고 효율적인 통신 경로를 제공함으로써 실현된 성능 개선을 의미한다.

4.2.4 네트워크 트래픽 효율성 평가

다음으로, 네트워크 트래픽 효율성을 평가하기 위해 Wireshark를 사용하여 OPC UA 프로토콜로 필터링 된 패킷 발생량을 5분 동안 모니터링하였다. 우선, 기존 개별 서버 방식에서는 약 25,071개의 패킷이 생하였다. 이는 각 CNC 시스템이 개별적으로 데이터를 전송하며, 중복된 데이터 요청으로 인해 불필요한 네트워크 트래픽이 발생했기 때문이다. 한편, 통합 서버 시스템에서는 약 15,372개의 패킷이 발생하여, 기존 방식 대비 약 39% 감소된 것으로 확인되었다. 이는 통합 서버 시스템이 데이터 통신 경로를 중앙 집중화하고, 중복된 통신 요청을 최소화하여 네트워크 효율성을 크게 향상시켰음을 보여준다. 트래픽 감소는 통합 서버 시스템의 데이터 통합 방식이 효율적임을 입증하며, 이는 대규모 제조 환경에서 네트워크 자원을 절약할 수 있는 중요한 장점으로 작용한다.

4.2.5 JSON 기반 데이터 연계 성능

JSON 기반 데이터 연계 성능을 평가하여, 실시간 데이터 처리 능력과 상위 시스템과의 연계 효율성을 분석하였다. 먼저, Fig. 12에 제시된 바와 같이 http://10.10.10.88:7710/Agg_JSON.svc/Get_CNC를 통해 DF Function으로 변환된 CNC1의 데이터를 JSON 형식으로 받아 시스템의 신뢰성과 통신 속도를 검증하였다. 데이터는 경량화 된 구조 덕분에 평균 112 ms의 빠른 전송 속도를 보였으며, 이는 텍스트 기반 JSON 형식이 전송 효율성과 실시간 처리에 최적화된 구조를 제공하기에 적합함을 시사한다.
Fig. 12

JSON formatting for FANUC CNC

KSPE_2025_v42n8_603_f012.jpg
본 연구에서는 설계 및 구현된 통합 서버 시스템을 기반으로, DA Function과 AE Function을 통해 CNC 데이터를 수집하였다. 수집된 데이터는 DF Function에서 표준화되어 JSON 형태로 변환되었으며, 이를 AR 및 VR 기반의 인터랙티브 애플리케이션에 적용하여 통합 서버 시스템의 실용성과 효용성을 검증하였다.
먼저, 제안된 시스템은 이기종 CNC 데이터의 표준화를 효과적으로 수행하고, 이를 실시간으로 변환하여 다양한 소프트웨어 애플리케이션과 연계될 수 있음을 입증하였다. 변환된 JSON 데이터는 AR/VR 애플리케이션에서 직관적이고 실용적인 방식으로 활용되었으며, 사용자는 실시간으로 CNC 상태 정보를 시각적으로 확인할 수 있었다.
Fig. 13은 CNC 상태 정보를 실시간으로 렌더링하는 과정을 통해, XR 환경에서의 데이터 활용 예시를 보여준다. 예를 들어, "Tool Number: 17", "Tool Name: BEM8"과 같은 주요 공구 정보가 실시간으로 제공되며, 이를 통해 운영 효율성과 신뢰성을 향상시킬 수 있다. 이러한 정보 제공은 작업자가 CNC의 운영 상태를 직관적으로 파악하고, 필요한 조치를 신속히 수행하는 데 기여한다.
Fig. 13

Implementation of XR application with CNC

KSPE_2025_v42n8_603_f013.jpg
또한, Fig. 14는 AR 인터페이스에서 CNC 설비의 이상 상태를 실시간으로 모니터링하는 결과를 제시한다. 예를 들어, "설비에 이상이 발생했습니다. 이상 발생 설비: SMX2600S, 설비 상태: Power Interrupted 발생"과 같은 경고 메시지가 사용자에게 즉시 전달되며, '조회하기' 기능을 통해 상세한 진단 정보에 접근할 수 있도록 구성되었다. 이를 통해 작업자는 설비 이상에 보다 빠르게 대응하고, 즉각적인 조치를 취할 수 있다.
Fig. 14

Abnormal state notification & guidance via AR

KSPE_2025_v42n8_603_f014.jpg
이러한 결과는 통합 서버 시스템이 CNC 설비의 고유 데이터를 표준화된 JSON 형식으로 변환하여, 다양한 인터랙티브 애플리케이션에서 직관적이고 효율적으로 활용될 수 있음을 입증한다. 나아가, 이는 제조 현장에서의 실시간 데이터 기반 의사결정을 지원하고 작업자의 대응 속도를 향상시키며, XR 기반 자율 제조 환경 구현을 위한 핵심 기술적 기반으로 작용할 수 있음을 보여준다.
본 연구에서는 다중 CNC 벤더 환경에서 발생하는 설비 데이터 고립, 비일관적인 데이터 관리, 그리고 프로토콜 간 호환성 부족 문제를 해결하기 위해 통합 서버 시스템을 개발하였다. 해당 시스템은 제조 현장에서 생성되는 데이터를 효율적으로 수집·처리하고, 표준화된 방식으로 통합 관리하는 데 중점을 두고 설계되었다. 특히 벤더 별 독립적인 데이터 형식과 해석 기준으로 인해 발생하는 비효율성을 해결하고, CNC 간 데이터 연계성을 강화할 수 있도록 UMATI 표준 정보 모델을 적용하였다. 이를 통해 이기종 CNC 시스템 간 실시간 데이터 수집 및 통합 관리가 가능함을 입증하였으며, 데이터 정합성을 유지하면서도 원활한 상호 운용성을 확보할 수 있는 기반을 마련하였다.
통합 서버 시스템의 효용성을 검증하기 위해 FANUC, SIEMENS, HEIDENHAIN CNC를 대상으로 실험을 수행하였으며, 인터랙티브 애플리케이션(XR 환경)과의 연계를 통해 실시간 데이터 수집 및 통합 관리 성능을 평가하였다. 실험 결과, 표준 정보 모델을 활용하여 이기종 CNC 간 데이터 연계성과 정합성을 효과적으로 유지할 수 있음이 확인되었다. 특히, CNC 데이터를 표준 기반의 단일 정보 모델로 통합함으로써 벤더 간 데이터 호환성을 대폭 향상시켰다.
또한, 제안된 통합 서버 시스템은 CNC통신 프로토콜의 변화에 유연하게 대응할 수 있도록 설계되었다. 향후 새로운 통신 프로토콜이 도입될 경우에도, 표준 정보 모델 기반의 구조를 활용함으로써 추가 프로토콜에 대한 연계가 가능하도록 구성되었다. 이러한 설계는 시스템의 구조 변경 없이 다양한 CNC 벤더 및 통신 방식에 대한 확장성과 호환성을 효과적으로 지원할 수 있는 기반이 된다.
후속 연구에서는 통합 서버 시스템의 적용 범위를 확장하는 데 중점을 둘 예정이다. 이를 위해 Mitsubishi CNC 및 CS CAM 등 추가적인 CNC 시스템을 연계하여 대상 CNC 시스템을 5종 이상으로 확대하고, 기존의 핵심 데이터 명세 8종에 새로운 데이터 항목을 반영하여 시스템의 호환성과 더욱 강화할 예정이다.
아울러, 양방향 실시간 통신을 지원하는 OPC UA FX와 같은 최신 프로토콜의 적용 가능성도 단계적으로 검토하여, 향후 실시간성 요구가 높은 제조 환경에서도 안정적인 데이터 연계와 운용이 가능하도록 발전시켜 나갈 예정이다.
이를 통해 제안된 통합 서버 시스템은 지속적으로 진화하는 CNC 통신 환경에서도 실시간 데이터 수집, 표준화, 통합 관리 기능을 안정적으로 유지할 수 있으며, 자율 제조 환경 구현을 위한 핵심 기반 기술의 역할을 한층 강화할 수 있을 것으로 기대된다.
본 연구는 2024년도 산업통상자원부 및 한국산업기술기획평가원(KEIT) 연구비 지원에 의한 연구임(No. 20023466).
본 연구는 과학기술정보통신부(MSIT)와 정보통신기획평가원(IITP)의 제조 현장 맞춤형 Industrial XR 프레임 워크 개발 사업의 지원을 받아 수행되었음(No. 2022-0-00962).
본 연구는 2024 년도 교육부의 재원으로 한국연구재단의 지원을 받아 수행된 지자체-대학 협력기반 지역혁신 사업의 결과임(No. 2021RIS-003).
  • 1.
  • 2.
    IEC 62541-14, (2018), OPC Unified Architecture — Part 14: PubSub.
  • 3.
    Edrington, B., Zhao, B., Hansel, A., Mori, M., Fujishima, M., (2014), Machine monitoring system based on MTConnect technology, Procedia CIRP, 22, 92-97.
    10.1016/j.procir.2014.07.148
  • 4.
    Kim, W., Sung, M., (2018), Standalone OPC UA wrapper for industrial monitoring and control systems, IEEE Access, 6, 36557-36570.
    10.1109/ACCESS.2018.2852792
  • 5.
    Liu, C., Xu, X., Peng, Q., Zhou, Z., (2018), MTConnect-based cyber-physical machine tool, Procedia CIRP, 72, 492-497.
    10.1016/j.procir.2018.03.059
  • 6.
    Liu, C., Vengayil, H., Lu, Y., Xu, X., (2019), A cyber-physical machine tools platform using OPC UA and MTConnect, Journal of Manufacturing Systems, 51, 61-74.
    10.1016/j.jmsy.2019.04.006
  • 7.
    Martins, A., Lucas, J., Costelha, H., Neves, C., (2021), Developing an OPC UA server for CNC machines, Procedia Computer Science, 180, 561-570.
    10.1016/j.procs.2021.01.276
  • 8.
    Shuai, W., Yi, H., Ping, H., (2016), The realization of data acquisition about Siemens CNC system based on OPC technology, Modular Machine Tool & Automatic Manufacturing Technique, 4, 69-71.
  • 9.
    Yan, G., Cheng, H., Zhen, W., Fan, X., (2020), Design and implementation of 3D monitoring system based on OPC UA, Journal of System Simulation, 29(11), 2767-2773.
  • 10.
Jae Young Kwon
KSPE_2025_v42n8_603_bf001.jpg
Senior Researcher in ICT Convergence Research Center, Korea Electronics Technology Institute. His research interests are Machine Tools and CNC.
Joo Sung Yoon
KSPE_2025_v42n8_603_bf002.jpg
Associate professor in School of Mechanical Engineering, Kyungnam University. His research interest is smart machine tool system and intelligent HMI of CNC.

Download Citation

Download a citation file in RIS format that can be imported by all major citation management software, including EndNote, ProCite, RefWorks, and Reference Manager.

Format:

Include:

Development of OPC UA Standard-based Integration Server System for Heterogeneous CNC Data Integration and Application Interoperabilit
J. Korean Soc. Precis. Eng.. 2025;42(8):603-611.   Published online August 1, 2025
Download Citation

Download a citation file in RIS format that can be imported by all major citation management software, including EndNote, ProCite, RefWorks, and Reference Manager.

Format:
Include:
Development of OPC UA Standard-based Integration Server System for Heterogeneous CNC Data Integration and Application Interoperabilit
J. Korean Soc. Precis. Eng.. 2025;42(8):603-611.   Published online August 1, 2025
Close

Figure

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
Development of OPC UA Standard-based Integration Server System for Heterogeneous CNC Data Integration and Application Interoperabilit
Image Image Image Image Image Image Image Image Image Image Image Image Image Image
Fig. 1 Issue in standardizing CNC communication interface
Fig. 2 Issue in the data information structure of heterogeneous CNC
Fig. 3 Comparison of essential data sets for CNC systems
Fig. 4 Architecture of the aggregation server system
Fig. 5 FOCAS OPC UA client sequence diagram
Fig. 6 OPC UA client sequence diagram
Fig. 7 Testbed configuration
Fig. 8 Implementation & verification of FOCAS OPC UA client
Fig. 9 Implementation & verification of OPC UA client for SIEMENS
Fig. 10 Implementation & verification of OPC UA client for HEIDENHAIN
Fig. 11 Integration server system CLI Screen
Fig. 12 JSON formatting for FANUC CNC
Fig. 13 Implementation of XR application with CNC
Fig. 14 Abnormal state notification & guidance via AR
Development of OPC UA Standard-based Integration Server System for Heterogeneous CNC Data Integration and Application Interoperabilit

Data set for heterogeneous CNC

No. Data set Node address
1 Axis position Each CNC machine axis (X, Y, Z) in coordinates
2 Spindle override The percentage adjustment of the spindle speed
3 Feed override The percentage adjustment of the cutting speed of the tool
4 Spindle RPM The rotational speed of the spindle in revolutions per minute
5 Operation mode The current operation mode of the CNC machine
6 Tool number The unique number of the tools being used in tool management
7 Tool name The name or type of the tool, used for tool identification
8 Alarm Warning or error message from CNC and PMC system

Testbed detailed information

No. CNC CNC
model
MTB Machine
name
1 FANUC 31i-A DN
solutions
M2-5AX
2 SIEMENS S828d HYUNDAI
WIA
i-CUT
400M
3 HEIDEN. TNC640 DN
solutions
SMX
2600S
Table 1 Data set for heterogeneous CNC
Table 2 Testbed detailed information