XCom v2.x Install Manual

Size: px
Start display at page:

Download "XCom v2.x Install Manual"

Transcription

1 Linkgenesis Co., Ltd. ( 주 ) 링크제니시스 XCom v2.0 ActiveX Control C# Manual XCom SECS Driver v2.x ActiveX Control C# Manual Document v2.1.1k

2 목차 C# 개발자를위한 XCOM 사용법 XCOM 사용요약... 1 XCom.Net Framework Library 설치... 1 Property 요약... 1 Method 요약... 1 Event 요약... 4 PROPERTY 상세설명... 5 short DeviceID;... 5 short Stream;... 5 short ;... 5 int SystemBytes;... 5 short Wbit;... 6 int HeaderSize;... 6 int MsgSize... 6 METHOD 상세설명... 6 short Initialize(string scfgfile );... 7 short Close();... 7 short Start();... 8 short Stop();... 9 short EnableLog( short nlogtype, short nenabled );... 9 string GetParam(string paramtername ); short SetParam(string parametername, string parameter ); short MakeSecsMsg(out int lmsgid, short ndevid, short nstrm, short nfunc, int lsysbyte ); short MakeSecsMsg(out int lmsgid, int ndevid, int nstrm, int nfunc, int lsysbyte ); short SetWBit( int lmsgid, short nwbit ); short Send( int lmsgid ); short SetListItem( int lmsgid, short nitems ); short SetListItem( int lmsgid, int nitems ); short SetBinaryItem(int lmsgid, byte[] pn); short SetBinaryItem(int lmsgid, byte b); short SetBoolItem(int lmsgid, bool[] pn); short SetBoolItem(int lmsgid, bool b); short SetAsciiFillSpace( short nval); short SetAsciiItem( int lmsgid, string sz, long lcount ); short SetAsciiItem( int lmsgid, string sz); short SetJis8Item( int lmsgid, string sz, long lcount ); short SetJis8Item( int lmsgid, string sz); short SetStringItem( int lmsgid, string sz); short SetI1Item( int lmsgid, byte[] n); short SetI1Item( int lmsgid, byte n); short SetI2Item( int lmsgid, short[] n); short SetI2Item( int lmsgid, short n); short SetI4Item( int lmsgid, int[] n ); I

3 short SetI4Item( int lmsgid, int n ); short SetI8Item( int lmsgid, int[] n ); short SetI8Item( int lmsgid, int n ); short SetU1Item( int lmsgid, byte[] n ); short SetU1Item( int lmsgid, byte n ); short SetU2Item( int lmsgid, int[] l ); short SetU2Item( int lmsgid, int l ); short SetU4Item( int lmsgid, long[] n ); short SetU4Item( int lmsgid, long n ); short SetU8Item( int lmsgid, long[] n ); short SetU8Item( int lmsgid, long n ); short SetF4Item( int lmsgid, float[] f); short SetF4Item( int lmsgid, float f); short SetF8Item( long lmsgid, double[] r ); short SetF8Item( long lmsgid, double r ); int GetSysBytes( int lmsgid ); short LoadSecsMsg(out int lmsgid, out short ndevid, out short nstrm, out short pnfunc, out int lsysbyte, out short pnwbit ); void CloseSecsMsg( int lmsgid ); short GetListItem( int lmsgid, out short pnitems ); short GetBinaryItem( int lmsgid, out byte[] pn); short GetBoolItem(int lmsgid, out bool[] pn ); short GetJis8Item( int lmsgid, out string s, out int lcount ); string GetStringItem( long lmsgid, out int lcount ); short GetI1Item( int lmsgid, out byte[] pn ); short GetI2Item( int lmsgid, out short[] pn); short GetI4Item( int lmsgid, out int[] pl); short GetI8Item( int lmsgid, int[] pl); short GetU1Item( int lmsgid, out byte[] pn ); short GetU2Item( int lmsgid, out int[] pl ); short GetU4Item( int lmsgid, out long[] pn ); short GetU8Item( int lmsgid, out long[] pn ); short GetF4Item( int lmsgid, out float[] pf ); short GetF8Item( long lmsgid, double[] pr ); short GetCurrentItemType( int lmsgid ); short GetCurrentItemCount( int lmsgid ); short GetHeaderBytes( int lmsgid, out byte[] pnheader ); int GetMsgBytes( int lmsgid, out byte[] pnmsg ); short SetHeaderBytes( int lmsgid, byte[] pnheader ); int SetMsgBytes( int lmsgid, byte[] pnmsg ); short MakeSpoolStream( int lmsgid ); short ProcExternalStream( byte[] pnmsg ); short GetAlarmMsgInfo (out int lmsgid, out short ndevid, out short nstrm, out short pnfunc, out int lsysbyte, out short pnwbit ); short GetInvalidMsgInfo (out int lmsgid, out short ndevid, out short nstrm, out short pnfunc, out int lsysbyte, out short pnwbit ); EVENT 상세설명 SecsMsg Event II

4 SecsEvent Event SAMPLE CODES XCom 초기화 Message 송신 Message 수신 SECS Event 처리 III

5 C# 개발자를위한 XCom 사용법 1 C# 개발자가 XCom ActiveX Control 을사용하여 Application 을개발하는방법을설명합니다. XCom 사용요약 XCom.Net Framework Library 설치 XCom 을설치한후에.Net Framework 를사용하기위해서는.Net Framework 지원 Library 를수동으로등록해주셔야합니다. 2 장의 XCom 설치의 XCom 등록섹션을참고하시어 XCom 을등록하여주시기바랍니다. Property 요약 XCom 의 property 는현재작업중인 SECS message 의 header 을담고있는데, 이는사용자에게 header 의세부설정을직접제공하는기능을합니다. 하지만, 이 property 는설정된만을볼수있고, header 의을스스로변경하지는못합니다. short DeviceID; short Stream; short ; int SystemBytes; short Wbit; int HeaderSize; int MsgSize; Method 요약 Driver 기본동작과관련된 Method XCom SECS driver 개체를초기화또는종료하고, 통신을시작또는정지시키는기능을합니다. 또한 XCom 이생성하는 log 의종류를 XCom 이동작하고있는중간에실시간으로변경시키는기능도합니다. short Initialize(string scfgfile ); short Close(); 1

6 short Start(); short Stop(); short EnableLog(short nlogtype, short nenabled ); string GetParam(string parametername ); short SetParam(string parametername, string parameter ); SECS Message 송신과관련된 Method SECS message 를송신하기위해서 message 의각 item 을구성하고이를전송하는기능을합니다. short MakeSecsMsg(out int lmsgid, short ndevid, short nstrm, short nfunc, int lsysbyte ); short MakeSecsMsg(out int lmsgid, int ndevid, int nstrm, int nfunc, int lsysbyte ); short Send(int lmsgid ); short SetWBit(int lmsgid, short nwbit ); short SetListItem(int lmsgid, short nitems ); short SetListItem(int lmsgid, int nitems ); short SetBinaryItem(int lmsgid, byte[] pn); short SetBinaryItem(int lmsgid, byte b); short SetBoolItem(int lmsgid, bool[] pn); short SetBoolItem(int lmsgid, bool b); short SetAsciiFillSpace(short nval); short SetAsciiItem(int lmsgid, string psz, int lcount ); short SetAsciiItem(int lmsgid, string psz); short SetStringItem(int lmsgid, string psz, int lcount ); short SetStringItem(int lmsgid, string psz ); short SetJis8Item(int lmsgid, string psz, int lcount ); short SetJis8Item (int lmsgid, string psz ); short SetI1Item(int lmsgid, byte[] pn); short SetI1Item int lmsgid, byte b); short SetI2Item(int lmsgid, short[] pn); short SetI2Item(int lmsgid, short s); short SetI4Item(int lmsgid, int[] pn); short SetI4Item(int lmsgid, int n); short SetI8Item(int lmsgid, int[] pn); short SetI8Item(int lmsgid, int n); short SetU1Item(int lmsgid, byte[] pn); short SetU1Item int lmsgid, byte b); short SetU2Item(int lmsgid, int[] pn); short SetU2Item(int lmsgid, int n); short SetU4Item(int lmsgid, long[] pn); 2

7 short SetU4Item(int lmsgid, long n); short SetU8Item(int lmsgid, long[] pn); short SetU8Item(int lmsgid, long n); short SetF4Item(int lmsgid, float[] pf); short SetF4Item(int lmsgid, float f); short SetF8Item(int lmsgid, double[] pr); short SetF8Item(int lmsgid, double r); int GetSysBytes(int lmsgid ); SECS Message 수신과관련된 Method XCom SECS driver 가새로운 SECS message 를수신하게되면, XCom contol 의 event 기능을통해서 SECS message 의수신을사용자에게알려줍니다. 이경우, 사용자는이 event 에대한 event handler 를선언하고, 다음의 method 를이용해서수신된 SECS message 로부터 data 를얻을수있습니다. short LoadSecsMsg(out int lmsgid, out short ndevid, out short nstrm, out short nfunc, out int lsysbyte, out short nwbit ); void CloseSecsMsg(int lmsgid ); short GetCurrentItemType(int lmsgid ); short GetCurrentItemCount(int lmsgid ); short GetListItem(int lmsgid, out short nitems ); short GetBinaryItem(intlMsgId, out byte[] n); short GetBoolItem(intlMsgId, out bool[] n); short GetAsciiItem(int lmsgid, out string s, out int lcount); short GetJis8Item(int lmsgid, out string s, out int lcount); string GetStringItem(int lmsgid, out int lcount); short GetI1Item(int lmsgid, byte[] n ); short GetI2Item(int lmsgid, short[] n ); short GetI4Item(int lmsgid, int[] n ); short GetI8Item(int lmsgid, int[] n ); short GetU1Item(int lmsgid, byte[] n ); short GetU2Item(int lmsgid, int[] n ); short GetU4Item(int lmsgid, long[] n ); short GetU8Item(int lmsgid, long[] n ); short GetF4Item(int lmsgid, float[] f ); short GetF8Item(int lmsgid, double[] r ); SECS Message Stream 자체와관련된 Method XCom v2.x 부터는 SECS message 의분석과정없이바로 SECS message stream 을가져오거나지정하는기능을제공합니다. 3

8 short GetHeaderBytes(int lmsgid, out byte[] bheader); int GetMsgBytes(int lmsgid, out byte[] bmsg ); short SetHeaderBytes(int lmsgid, byte[] bheader ); int SetMsgBytes(int lmsgid, byte[] bmsg); short SetWBit(int lmsgid, short nwbit ); short MakeSpoolStream(int lmsgid ); short ProcExternalStream(byte[] pnmsg); Alarm 과관련된 Method XCom 은새로운 SECS message 의수신이외에 SECS 통신도중에발생하는상황에대해 event 를발생시킵니다. 이벤트핸들러에는이벤트코드와해당이벤트와관련된정보가 lparam 으로넘겨집니다. 그런데, 이벤트가발생한원인이특정메시지와관련된것이라면이벤트핸들러에는이벤트코드번호와함께해당메시지정보를알아낼수있는 message ID 가 lparam 으로전달됩니다. 사용자는다음과같은함수를이용하여이 message ID 를통해해당이벤트를발생한메시지의정보를얻을수있습니다. short GetAlarmMsgInfo(out int lmsgid, out short ndevid, out short nstrm, out short nfunc, out int lsysbyte, out short nwbit ); short GetInvalidMsgInfo(out int lmsgid, out short ndevid, out short nstrm, out short nfunc, out int lsysbyte, out short nwbit ); Event 요약 SecsMsg Event 새로운 SECS message 를수신하게되면, XCom 은사용자에게 SECS message 의수신을알리기위해 SecsMsg event 를발생시킵니다. 사용자는이 event 에대한 event handler 를선언하고, handler 내에서 SECS message 수신과관련된 method 나 property 등을이용해서수신된을확인할수있습니다. 이 event 는인자를제공하지않습니다. SecsEvent Event 새로운 SECS message 의수신이외에 XCom 의동작과관련해서사용자가알아야할필요가있는상황이발생할수있는데, 이런경우에 XCom 은 SecsEvent event 를발생시킵니다. 4

9 사용자는이 event 에대한 event handler 를선언하고, handler 내에서발생한 event 중필요한 event 에대해적절한처리를진행할수있습니다. 이 event 는발생한 event 의 event code 와 event 에따른부수적인 parameter 가 lparam 으로 event 의인자로제공됩니다. Property 상세설명 short DeviceID; short Stream; short ; XCom 표준 ActiveX control 에서제공되는 property 는 header 의정보를확인하는기능을합니다. 이정보는확인용으로만사용되고설정을위한값으로는사용되지않습니다. MakeSecsMsg() method 나 LoadSecsMsg() method 가호출되면, XCom 은현재설정된 message 의 header 값으로 property 를설정합니다. SECS message 에설정되어있는 device ID 입니다. 만약 XCom 이 host 로동작하고있다면이값은상대방 equipment 의 device ID 가되고, equipment 로동작하고있다면이값은자신의 device ID 가됩니다. XCom 은 configuration file 에서 multi device ID 를설정하고관리할수있습니다. SECS message 에설정되어있는 stream 값으로, 이값의유효범위는아래와같습니다. 0 stream 127 int SystemBytes; SECS message 에설정되어있는 function 값으로, 이값의유효범위는아래와같습니다. 0 function 255 SECS message 에설정되어있는 system bytes 입니다. 수신되는 SECS message 에대해서는 LoadSecsMsg() method 를호출할때수신된 SECS message 의 system bytes 가얻어지지만, 송신되는 SECS message 의경우는 MakeSecsMsg() method 를호출할때지정되는 parameter 의값에따라그값이변동됩니다. 만약 MakeSecsMsg() 의 function 값이짝수이고, lsysbyte parameter 로 0 이지정되었다면 XCom 이적당한 system bytes 값을스스로생성해서설정합니다. 따라서이런경우 5

10 short Wbit; int HeaderSize; int MsgSize 는 MakeSecsMsg() method 를호출한직후새로운 system bytes 가 SystemBytes property 값으로지정됩니다. 그러나 MakeSecsMsg() 의 function 값이홀수이거나, lsysbyte parameter 가 0 가아니면, lsysbyte parameter 에지정된다면그값이그대로사용됩니다. SECS message 에설정되어있는 W-Bit 입니다. 이 property 는설정되는시점이다른 property 와는조금다릅니다. 수신되는 SECS message 에대해서는 LoadSecsMsg() method 를호출할때설정되는것은동일하지만, 송신되는 SECS message 의경우는 MakeSecsMsg() method 를호출할때설정되는것이아니라 Send() method 를호출할때설정됩니다. 따라서이값을이용할필요가있다면 Send() method 를호출한후에확인하시기바랍니다. 다만, MakeSecsMsg() 후에사용자가 SetWBit() 를이용하여강제설정하는경우에는 Send() 이전이라도사용자가자신이설정한 WBit 값을이용할수있습니다. SECS message 의 header 크기를설정하거나가져옵니다. header 을읽기위해서는각 byte 별로하나씩읽어야하므로개수를먼저읽어서 byte array 를먼저생성한후값을읽어야합니다. 아래의 HeaderByte property 의 sample code 를참고하시면됩니다. HeaderSize property 는 property 값을가져올때만사용됩니다. 따라서 header size 를가져올 message 는 RMsgId property 에지정된 message ID 를갖는 SECS message 가됩니다. header size 를수정하는것은의미가없습니다. 실제로는 SEMI standard 에 message 의 header size 가 SECS-I, HSMS 모두 10 bytes 로지정되어있기때문에, 이값은거의사용되지않습니다. SECS message 의 header 를제외한 SECS-II message 의크기를설정하거나가져옵니다. 주로 Size property 는수신된 message 의크기를가져올때사용됩니다. 즉, 수신된메시지를다른 XCom control 로 Bypass 할때수신된메시지를가져오기위해필요한공간을확보할목적으로대개사용됩니다. Method 상세설명 6

11 사용자가 XCom 으로 SECS 통신을구현하기위해사용되는각 method 에대해자세히설명합니다. short Initialize(string scfgfile ); 환경설정 file 을읽고, 설정된으로 XCom control 을초기화합니다. 이름 Type scfgfile string 환경설정을담고있는 configuration file 의경로입니다. 절대경로와상대경로를모두사용할수있습니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks short Close(); Initialize() method 를실행하면, 지정된환경설정 file 의을읽은후에그에맞게 XCom 의상태를조절합니다. 하지만, 아직 XCom 이시작된것은아니고환경만을설정한것이기때문에 XCom 을시작하려면 Start() method 를호출해야합니다. 현재의환경설정을중단하고다른환경으로바꾸 e 려면, Close() method 를호출해서 - 만약 Start() method 가이미호출된상태라면, 먼저 Stop() method 로 XCom 의동작을정지시킵니다 - XCom 의설정을닫은후에새로운환경설정 file 로다시 Initialize() method 를호출하면됩니다. 일단 Initialize() method 가성공적으로수행된후에 XCom 을종료할때에는, Close() method 를호출해서 XCom 의모든상태를종료하도록권장합니다. Close() method 를호출하지않고종료하더라도자동으로 Close() 의기능을수행하지만, 체계적인작업을위해서는 Close() 를호출하는것이좋습니다. 7

12 XCom 의모든상태를종료하고, 이미초기화된 XCom 의상태를초기화이전 ( 환경설정이전 ) 으로돌려놓습니다. 없음 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short Start(); Remarks Initialize() 이후에 Start() method 가실행되어 XCom 이동작하고있다면, Close() method 이전에 Stop() method 를호출하여 XCom 의동작을먼저정지시켜야합니다. 설정된으로 XCom control 의작동을시작합니다. HSMS 를사용중인경우, Start() method 를호출하면 socket connection 을만들고기본 control message 를교환한후 HSMS 상태를 SELECTED 로자동으로변경합니다. 없음 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks 시작된 XCom control 의작동을중지하려면, Stop() method 를실행합니다. Stop() method 를실행한후다시 XCom 을시작하려면 Initialize() 작업없이바로 Start() method 를호출합니다. 8

13 short Stop(); 동작중인 XCom control 을정지시킵니다. HSMS 를사용중인경우, Stop() method 를호출하면 socket connection 을종료한후 HSMS 상태를 NOT CONNECTED 로자동으로변경합니다. 없음 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short EnableLog( short nlogtype, short nenabled ); XCom 의 log 설정을변경합니다. XCom 의 log 설정은기본적으로 configuration file 에지정된을따르지만, 필요에따라서는 EnableLog() method 를통해서동작중인상황에서변경할수있습니다. 이름 Type nlogtype short 변경하려는 log 의형식입니다. 다음과같은값, 혹은값들의 OR 조합을가질수있습니다. 0x01 : hexadecimal log 0x02 : SECS-II log 0x04 : event log 0x08 : alarm log nenabled short log 의활성화여부를결정하는값입니다. 0 : 비활성화상태로변경합니다. 0 이외의값 : 활성화상태로변경합니다. 9

14 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. string GetParam(string paramtername ); XCom 이성공적으로 Initialize 된후에 XCom 의설정상태를돌려줍니다. 이름 Type parametername string 기본적으로 Configuration 파일내의설정변수이름입니다. 예를들어, HSMS 섹션의 IP Address 설정값을알고싶으면 IP 로주면됩니다. Configuration 파일의설정변수이름이외에다음의 Predefined 값을사용할수있습니다. HSMS.STATE 현재의 HSMS 연결상태를돌려줍니다. HSMS.SELECTED HSMS 상태가 SELECTED 이면 true 를돌려줍니다. LicenseType XCom 의라이센스타입을돌려줍니다. AvailableLicense 현재남아있는 XCom instance 의개수를돌려줍니 다. string Configuration 파일의설정값또는 Predefined Parameter 의값을문 10

15 자열로돌려줍니다. Predefined Parameter 에대한반환값 HSMS.STATE NOT HSMS : HSMS 가아님 SELECTED : HSMS 가 SELECTED 상태임 NOT CONNECTED : HSMS 가 NOT CONNECTED 상태임 NOT SELECTED : HSMS 가 NOT SELECTED 상태임 HSMS.SELECTED true : HSMS 상태가 SELECTED 상태임 false : HSMS 가 SELECTED 상태가아님 LicenseType HASP : 하드웨어키가설치되어있음 NIC : 소프트웨어키가설치되어있음 TRIAL : 라이센스가설치되어있지않음 AvailableLicense 현재남아있는 XCom instance 의개수를문자열로돌려줍니다. Configuration 파일의 Parameter 값은 Configuration 파일내의설정 값을돌려줍니다. short SetParam(string parametername, string parameter ); Run time 에설정가능한 parameter 값을변경합니다. 이름 Type pamrametername string Configuration 파일내의설정변수이름입니다. 예를들어, HSMS 섹션의 IP Address 설정값을알 고싶으면 IP 로주면됩니다. 그러나 GetParam() 에서사용하던 Predefined 11

16 Parameter 는사용할수없습니다. parameter string 설정하고자하는 parameter 값의문자열입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다 XCom 이아직 initialized 되어있지않음 해당 parameter 는 run time 에변경될수없음 short MakeSecsMsg(out int lmsgid, short ndevid, short nstrm, short nfunc, int lsysbyte ); short MakeSecsMsg(out int lmsgid, int ndevid, int nstrm, int nfunc, int lsysbyte ); 전송을위한새로운 SECS message 를생성한후, 생성한 message 의 reference ID 를돌려준다. 이름 Type lmsgid out int 생성된 SECS message 의 message ID 를받아올변 수입니다. SECS item 추가혹은전송명령등에서이 message ID 를사용합니다. ndevid short 전송할 SECS message 의 device ID 입니다. int primary message 를전송할경우, host 인경우는수 신할 equipment 의 device ID 를사용하고, equipment 의경우는자신의 device ID 를사용합니다. secondary message 의경우는수신한 primary message 의 device ID 를그대로사용합니다. nstrm short SECS message 의 stream 값입니다. int 12

17 nfunc short SECS message 의 function 값입니다. int lsysbyte int SECS message 의 system bytes 입니다. primary message 인 경우는 0 을 사용하고, secondary message 인경우는수신한 primary message 의 system bytes 을그대로사용합니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks 새로운 SECS message 를만드는경우, primary message 를만드는것과 secondary message 를만드는것에차이가있습니다. primary message 의경우는자신이 host 인지 equipment 인지에따라 ndevid parameter 값을다르게설정해야합니다. host 인경우는상대방 equipment 의 device ID 로설정해야하고, equipment 인경우는자신의 device ID 를설정합니다. lsysbyte parameter 는 0 으로설정합니다. 그러면자동으로 XCom 이적절한 system bytes 값을지정합니다. secondary message 를만드는경우는, ndevid 와 lsysbyte parameter 값으로 LoadSecsMsg() method 로부터받은 primary message 의을그대로설정합니다. short SetWBit( int lmsgid, short nwbit ); 주어진 message ID 에해당하는 SECS message 의 WBit 를강제설정합니다. 이함수를호출하지않는경우, XCom 드라이버는 Initialize 시읽어들인 sml 파일을이용하여 WBit 를자동설정합니다. 그러나, 어플리케이션에따라서는 WBit 를다르게줄필요가생기기도하는데, 이때이함수를이용하여 WBit 를설정하면, 메시지전송시 sml 파일의 SECS Message Structure 설정값과는관계없이 SetWBit() 에의해지정된값이사용됩니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니 13

18 다. 이값은 MakeSecsMsg() method 로부터얻어집니다. nwbit short 메시지에강제설정될 W Bit 값입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short Send( int lmsgid ); 주어진 message ID 에해당하는 SECS message 를전송합니다. 이름 Type lmsgid int 전송하려는 SECS message 의 message ID 입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks Send() method 를호출하면전송할 SECS message 의구조를 sml 파일에적힌과비교해서 message 구조의적합성을검사하게됩니다. 만약해당 message 가 UNDEFINED STRUCTURE 로정의되어있다면구조의적합성검사는하지않습니다. short SetListItem( int lmsgid, short nitems ); short SetListItem( int lmsgid, int nitems ); 14

19 주어진 message ID 를갖는 SECS message 에 LIST format 의 item 을설정합니다. 이름 Type lmsgid long item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. nitems short int 설정할 LIST item 의값입니다. 설정가능한값의범위는부록을참고합니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short SetBinaryItem(int lmsgid, byte[] pn); short SetBinaryItem(int lmsgid, byte b); 주어진 message ID 를갖는 SECS message 에 binary format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. pn b byte[] byte 설정할 binary item 값의배열또는 binary 값입니다. 15

20 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks 원래 binary format 의변수로는 unsigned char type 이적합하지만, ActiveX 의제약때문에 short type 으로설정합니다. short SetBoolItem(int lmsgid, bool[] pn); short SetBoolItem(int lmsgid, bool b); 주어진 message ID 를갖는 SECS message 에 Boolean format 의 item 을설정합니다. 이름 Type lmsgid long item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. pn bool[] bool 설정할 Boolean item 값으로 bool 배열또는 bool 단일값입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks 원래 Boolean format 의변수로는 bool type 이적합하지만, ActiveX 의제약때문에 short type 으로설정합니다. short SetAsciiFillSpace( short nval); 16

21 SetAsciiItem() 에서입력문자열이주어진길이보다작을때공백으로채울지의옵션을설정한다. 이름 Type nval short 0 : SetAsciiItem() 에서입력문자열의길이가주어진길이보다작더라도공백으로채우지않는다. 0 이아닌값 : 이후 SetAsciiItem() 호출시문자열의길이가주어진길이보다작을시공백으로주어진길이만큼채운다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks 문자열의뒤를공백으로자동으로채워전송할때사용하는옵션입니다. short SetAsciiItem( int lmsgid, string sz, long lcount ); short SetAsciiItem( int lmsgid, string sz); 주어진 message ID 를갖는 SECS message 에 ASCII format 의 item 을설정합니다. 이름 Type lmsgid long item 을설정할 SECS message 의 message ID 입니 다. 이값은 MakeSecsMsg() method 로부터얻어집니다. sz string 설정할 ASCII item 값을저장하고있는변수의 pointer 입니다. 17

22 lcount long 설정할 item 의개수, 즉 string 의길이입니다. 설정가능한값의범위는부록을참고합니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks 일반적으로 ASCII string 을사용하기때문에 ActiveX 의 string type 인 BSTR type 을사용합니다. Visual C++ 사용자는 CString type 이나 LPCTSTR type 을사용하시면됩니다. Borland C++ Builder 를사용하시는경우일부버전에서 SetAsciiItem() 호출시 XCom 으로전달되는과정에서컴파일러내부의 BSTR 변환에서오류가나는경우가있습니다. 이때디버그를해보면 SetAsciiItem() 의호출후 XCom 의 SetAsciiItem() 을호출하기위해 WideString 을 OLE String 으로변환하는도중에에러가발생합니다. 이런경우는 SetAsciiItem() 대신 SetStringItem() 을사용하시기바랍니다. short SetJis8Item( int lmsgid, string sz, long lcount ); short SetJis8Item( int lmsgid, string sz); 주어진 message ID 를갖는 SECS message 에 JIS-8 format 의 item 을설정합니다. 이름 Type lmsgid long item 을설정할 SECS message 의 message ID 입니 다. 이값은 MakeSecsMsg() method 로부터얻어집니다. sz string 설정할 JIS-8 item 값을저장하고있는변수의 pointer 입니다. lcount long 설정할 item 의개수, 즉 string 의길이입니다. 설정가능한값의범위는부록을참고합니다. 18

23 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short SetStringItem( int lmsgid, string sz); 주어진 message ID 를갖는 SECS message 에 ASCII format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. sz string 설정할 string 입니다. lcount int 설정할 string 의길이입니다. 설정가능한값의범위는부록을참고합니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks short SetI1Item( int lmsgid, byte[] n); short SetI1Item( int lmsgid, byte n); 19

24 주어진 message ID 를갖는 SECS message 에 1-byte signed integer format 의 item 을설정합니다. 이름 Type lmsgid long item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. n byte[] byte 설정할 1-byte signed integer item 값을저장하고있는 byte 값또는배열입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks short SetI2Item( int lmsgid, short[] n); short SetI2Item( int lmsgid, short n); 주어진 message ID 를갖는 SECS message 에 2-byte signed integer format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. n short[] short 설정할 2-byte signed integer item 값을저장하고있는 short 배열또는값입니다. 20

25 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short SetI4Item( int lmsgid, int[] n ); short SetI4Item( int lmsgid, int n ); 주어진 message ID 를갖는 SECS message 에 4-byte signed integer format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. n int[] int 설정할 4-byte signed integer item 값을저장하고있는 int 배열또는값입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short SetI8Item( int lmsgid, int[] n ); short SetI8Item( int lmsgid, int n ); 주어진 message ID 를갖는 SECS message 에 8-byte signed integer format 의 item 을설정합니다. 21

26 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. n int[] int 설정할 8-byte signed integer item 값을저장하고있는 int 배열또는값입니다. I8 아이템은 8 바이트여야합니다만 XCom 의 ActiveX 가 32 비트기준으로되어있어이에대한호환을위해 int 로하고있습니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks XCom 에서는 8-byte signed integer 를완벽하게지원하지않습니다. 이는 32-bit system 환경때문입니다. 8-byte signed integer 의 format 과송수신자체는지원하지만, 실제 data 는 8-byte signed integer 중하위 4 byte 만사용합니다. 따라서실제로송수신이가능한 data 의범위는 4-byte signed integer 와동일합니다. short SetU1Item( int lmsgid, byte[] n ); short SetU1Item( int lmsgid, byte n ); 주어진 message ID 를갖는 SECS message 에 1-byte unsigned integer format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니 다. 이값은 MakeSecsMsg() method 로부터얻어집니다. 22

27 n byte[] byte 설정할 1-byte unsigned integer item 값을저장하고 있는 byte 배열또는값입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks short SetU2Item( int lmsgid, int[] l ); short SetU2Item( int lmsgid, int l ); 주어진 message ID 를갖는 SECS message 에 2-byte unsigned integer format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. l int[] int 설정할 2-byte unsigned integer item 값을저장하고있는 int 배열또는값입니다..Net Framework 에서는 unsigned short 타입이없기때문에 int 를이용합니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. 23

28 Remarks U2 item 은원래 2-byte unsigned integer format 로표현해야하는데.Net Framework 에서는 unsigned type 이없기때문에 int 타입을사용하였습니다. short SetU4Item( int lmsgid, long[] n ); short SetU4Item( int lmsgid, long n ); 주어진 message ID 를갖는 SECS message 에 4-byte unsigned integer format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. n long[] long 설정할 4-byte unsigned integer item 값을저장하고있는 long 배열또는값입니다..Net Framework 에서는 unsigned int 타입이없기때문에 long 타입을이용합니다 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks U4 item 은원래 4-byte unsigned integer format 로표현해야하는데.Net Framework 에서는 unsigned type 이없기때문에 long 타입을사용하였습니다. short SetU8Item( int lmsgid, long[] n ); short SetU8Item( int lmsgid, long n ); 24

29 주어진 message ID 를갖는 SECS message 에 8-byte unsigned integer format 의 item 을설정합니다. 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. n long[] long 설정할 8-byte unsigned integer item 값을저장하고있는 long 배열또는값입니다. U8 아이템은 8 바이트여야합니다만 XCom 의 ActiveX 가 32 비트기준으로되어있어이에대한호환을위해 long 타입을사용하고있습니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks XCom 에서는 8-byte unsigned integer 를완벽하게지원하지않습니다. 32 비트호환을위해 long 타입의 32 비트부분만을전달하도록하였습니다. 따라서실제로송수신이가능한 data 의범위는 4-byte unsigned integer 와동일합니다. short SetF4Item( int lmsgid, float[] f); short SetF4Item( int lmsgid, float f); 주어진 message ID 를갖는 SECS message 에 4-byte floating point format 의 item 을설정합니다. 25

30 이름 Type lmsgid int item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. f float[] float 설정할 4-byte floating point item 값을저장하고있는 float 배열또는값입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. short SetF8Item( long lmsgid, double[] r ); short SetF8Item( long lmsgid, double r ); 주어진 message ID 를갖는 SECS message 에 8-byte floating point format 의 item 을설정합니다. 이름 Type lmsgid long item 을설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. pr double * 설정할 8-byte floating point item 값을저장하고있는 double 배열또는값입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. 26

31 int GetSysBytes( int lmsgid ); 주어진 message ID 를갖는 message 의 system bytes 를가져옵니다. 이름 Type lmsgid int system bytes 값을가져올 message 의 message ID 입니다. 이 값으로는 MakeSecsMsg() 를 통해 얻어진 message ID 를사용하시면됩니다. > 0 주어진 message ID 를갖는 message 의 system bytes 값입니다. 0 주어진 message ID 를찾지못했거나기타오류가발생한경우입니다. short LoadSecsMsg(out int lmsgid, out short ndevid, out short nstrm, out short pnfunc, out int lsysbyte, out short pnwbit ); 수신된 SECS message 의정보를가져옵니다. 이 method 를통해서먼저수신된 message 의기본정보를확인한후, 필요에따라서 Get~Item() method 를사용해서수신된 message 의세부 item 을가져와사용합니다. 이 method 는수신 message queue 에서가장먼저수신된 message 를가져오게됩니다. 이름 Type lmsgid out int 가져온 SECS message 의 message ID 를받아올변 수의주소입니다. 추가적으로 SECS item 에관한정보를얻으려면이 27

32 message ID 를사용합니다. ndevid out short 가져온 SECS message 의 device ID 를받아올 short 변수의주소입니다. nstrm out short 가져온 SECS message 의 stream 값을받아올 short 변수의주소입니다. nfunc out short 가져온 SECS message 의 function 값을받아올 short 변수의주소입니다. lsysbyte out int 가져온 SECS message 의 system bytes 값을받아올 int 변수의주소입니다. nwbit out short 가져온 SECS message 의 W-Bit 값을받아올 short 변수의주소입니다. 0 ~ 44 첫번째 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 SECS item 이하나도없는 header-only message 입니다. 자세한은부록의 error code 를참고합니다. void CloseSecsMsg( int lmsgid ); 지정된 SECS message 의작업을종료하고해당 message 를 message queue 에서삭제합니다. 이 method 는수신된 SECS message 에만사용할수있습니다. 이름 Type lmsgid int 종료할 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. 없음 short GetListItem( int lmsgid, out short pnitems ); 28

33 주어진 message ID 를갖는 SECS message 로부터 LIST format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pnitems out short SECS message 에설정된 LIST item 값을받아올 short 변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetBinaryItem( int lmsgid, out byte[] pn); 주어진 message ID 를갖는 SECS message 로부터 binary format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pn out short[] SECS message 에설정된 item 값을받아올배열변수입니다. 29

34 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetBoolItem(int lmsgid, out bool[] pn ); 주어진 message ID 를갖는 SECS message 로부터 Boolean format item 의값을가져옵니다. 이름 Type lmsgid long item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pn out bool[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetJis8Item( int lmsgid, out string s, out int lcount ); 30

35 주어진 message ID 를갖는 SECS message 로부터 ASCII format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. s out string SECS message 에설정된 item 값을받아올변수입니다. lcount out int item 의실제개수를돌려받을변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. string GetStringItem( long lmsgid, out int lcount ); 주어진 message ID 를갖는 SECS message 로부터 ASCII format item 의값을가져옵니다. 이름 Type lmsgid long item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. lcount out int item 의실제개수를돌려받을변수입니다. 31

36 string String 아이템의값입니다. Remarks GetAsciiItem() 과같은역할을합니다. 그러나반환값에문자열이들어있는것이다릅니다. C# 에서는 GetAsciiItem() 대신 GetStringItem() 을사용하시기바랍니다. short GetI1Item( int lmsgid, out byte[] pn ); 주어진 message ID 를갖는 SECS message 로부터 1-byte signed integer format item 의값을가져옵니다. 이름 Type lmsgid long item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pn out byte[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetI2Item( int lmsgid, out short[] pn); 32

37 주어진 message ID 를갖는 SECS message 로부터 2-byte signed integer format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pn out short[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetI4Item( int lmsgid, out int[] pl); 주어진 message ID 를갖는 SECS message 로부터 4-byte signed integer format item 의값을가져옵니다. 이름 Type lmsgid long item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pl out int[] SECS message 에설정된 item 값을받아올배열변수입니다. 33

38 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetI8Item( int lmsgid, int[] pl); 주어진 message ID 를갖는 SECS message 로부터 8-byte signed integer format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pl out int[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. Remarks XCom 에서는 8-byte signed integer 를완벽하게지원하지않습니다. 이는 32-bit system 34

39 에맞게되어있기때문입니다. 8-byte signed integer 의 format 과송수신자체는지원하지만, 실제 data 는 8-byte signed integer 중하위 4 byte 만사용합니다. 따라서실제로송수신이가능한 data 의범위는 4-byte signed integer 와동일합니다. short GetU1Item( int lmsgid, out byte[] pn ); 주어진 message ID 를갖는 SECS message 로부터 1-byte unsigned integer format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pn out byte[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetU2Item( int lmsgid, out int[] pl ); 주어진 message ID 를갖는 SECS message 로부터 2-byte unsigned integer format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 35

40 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pl out int[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. Remarks 원래 2-byte unsigned integer format 의변수로는 unsigned short type 이적합하지만,.Net Framework 에는 unsigned type 이없기때문에 int type 을사용합니다. short GetU4Item( int lmsgid, out long[] pn ); 주어진 message ID 를갖는 SECS message 로부터 4-byte unsigned integer format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pn out long[] SECS message 에설정된 item 값을받아올배열변수입니다..Net Framework 에는 unsigned type 이없기때문에 long 타입을사용합니다. 36

41 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. Remarks 원래 4-byte unsigned integer format 의변수로는 unsigned long type 이적합하지만,.Net Framework 에는 unsigned type 이없기때문에 long type 을사용합니다. short GetU8Item( int lmsgid, out long[] pn ); 주어진 message ID 를갖는 SECS message 로부터 8-byte unsigned integer format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pr out long[] SECS message 에설정된 item 값을받아올배열변수입니다. XCom 의제약으로 long type 의숫자중 4 바이트부분만전달됩니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. 37

42 Remarks XCom 에서는 8-byte unsigned integer 를완벽하게지원하지않습니다. 이는 32-bit system 환경때문입니다. 8-byte unsigned integer 의 format 과송수신자체는지원하지만, 실제 data 는 8-byte unsigned integer 중하위 4 byte 만사용합니다. 따라서실제로송수신이가능한 data 의범위는 4-byte unsigned integer 와동일합니다. short GetF4Item( int lmsgid, out float[] pf ); 주어진 message ID 를갖는 SECS message 로부터 4-byte floating point format item 의값을가져옵니다. 이름 Type lmsgid int item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pr out float [] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetF8Item( long lmsgid, double[] pr ); 주어진 message ID 를갖는 SECS message 로부터 4-byte floating point format item 의값을가져옵니다. 38

43 이름 Type lmsgid long item 값을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pr out double[] SECS message 에설정된 item 값을받아올배열변수입니다. 0 ~ 44 바로다음에이어지는 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 바로다음에이어지는 SECS item 이하나도없음을의미합니다. 즉이번 item 이 SECS message 의마지막 item 입니다. 자세한은부록의 error code 를참고합니다. short GetCurrentItemType( int lmsgid ); 주어진 message ID 를갖는 SECS message 의현재아이템타입을가져옵니다. 이름 Type lmsgid int item 타입을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. 0 ~ 44 현재 SECS item 의 format 입니다. 각 SECS item 의 format 값은부록을참고합니다. 63 더이상 SECS item 이하나도없음을의미합니다. 자세한은부록의 error code 를참고합니다. 39

44 short GetCurrentItemCount( int lmsgid ); 주어진 message ID 를갖는 SECS message 의현재아이템의아이템개수를가져옵니다. 이름 Type lmsgid int item 타입을가져올수신한 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. >= 0 현재아이템의개수입니다. 자세한은부록의 error code 를참고합니다. short GetHeaderBytes( int lmsgid, out byte[] pnheader ); 지정된 message ID 를갖는 SECS message 의 header 자체를가져옵니다. 이 method 는수신된 SECS message 에만사용할수있습니다. 이름 Type lmsgid int header 를가져올 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pnheader out byte[] header stream 을받아올변수입니다. 40

45 >= 0 header 의크기를 byte 로나타낸값입니다. 자세한은부록의 error code 를참고합니다. int GetMsgBytes( int lmsgid, out byte[] pnmsg ); 지정된 message ID 를갖는 SECS message 의 header 를제외한 SECS-II message 부분을가져옵니다. 이 method 는수신된 SECS message 에만사용할수있습니다. 이름 Type lmsgid int SECS-II message 부분을가져올 SECS message 의 message ID 입니다. 이값은 LoadSecsMsg() method 로부터얻어집니다. pnmsg out byte[] SECS-II message body stream 부분을받아올변수입니다. >= 0 SECS-II message 의크기를 byte 로나타낸값입니다. 자세한은부록의 error code 를참고합니다. short SetHeaderBytes( int lmsgid, byte[] pnheader ); header stream 을바로지정해줌으로써지정된 message ID 를갖는 SECS message 의 header 를 SECS item 의계산없이바로설정합니다. 이 method 는송신할 SECS message 에만사용할수있습니다. 이름 Type 41

46 lmsgid int header 를설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. pnheader byte[] 설정할 header stream 이들어있는 byte 배열입니다.. >= 0 설정된 header 의크기를 byte 로나타낸값입니다. 자세한은부록의 error code 를참고합니다. int SetMsgBytes( int lmsgid, byte[] pnmsg ); SECS-II message stream 을바로지정해줌으로써지정된 message ID 를갖는 SECS message 의 SECS-II message 부분을 SECS item 의계산없이바로설정합니다. 이 method 는송신할 SECS message 에만사용할수있습니다. 이름 Type lmsgid long SECS-II message 를설정할 SECS message 의 message ID 입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. pnmsg byte[] 설정할 SECS-II message stream 이들어있는 byte 배열입니다. >= 0 설정된 SECS-II message 의크기를 byte 로나타낸값입니다. 자세한은부록의 error code 를참고합니다. short MakeSpoolStream( int lmsgid ); 42

47 MakeSecsMsg 로메시지를만든후에실제메시지를전송하지는않고 SECS 바이트스트림을얻고자할때이용하는함수입니다. 이름 Type lmsgid int 메시지스트림을생성할메시지의아이디입니다. 이값은 MakeSecsMsg() method 로부터얻어집니다. >= 0 작업이성공했음을의미합니다. 자세한은부록의 error code 를참고합니다. Remarks 현재장비의온라인상태가 OFFLINE 이어서메시지를보낼수없지만스풀에저장하기위해메시지의 SECS 바이트스트림을얻어내야하는경우이용할수있습니다. 즉, 메시지를 MakeSecsMsg() 로만들고아이템들을설정한후 MakeSpoolStream() 을호출한후 GetHeaderBytes() 와 GetMsgBytes() 를이용하여메시지의 SECS 스트림을얻을수있습니다. 이후, 해당스트림을장비에서관리하는스풀에저장할수있습니다. short ProcExternalStream( byte[] pnmsg ); 외부의 SECS 스트림을마치내부에서수신한것처럼처리하고자할때이용하는함수입니다. 이름 Type pnmsg byte[] 설정할 SECS-II message stream 이들어있는 byte 배열입니다. 43

48 >= 0 작업이성공했음을의미합니다. 자세한은부록의 error code 를참고합니다. Remarks 일반적으로 HSMS 연결상태에서는사용하지않는특수한함수입니다. 이함수를이용하면특정메시지스트림을상대편이보낸것처럼에뮬레이션할수있습니다. 이함수를이용하여 SECS 스트림을전달하면정상적인 Stream 이라면메시지수신처리가된후 OnSecsMsg 이벤트가발생하게됩니다. short GetAlarmMsgInfo (out int lmsgid, out short ndevid, out short nstrm, out short pnfunc, out int lsysbyte, out short pnwbit ); SECS alarm 이발생한 message 의정보를가져옵니다. XCom 이제공하는 SECS event 중특정 SECS message 와관련하여발생한 alarm 의경우는해당 SECS message 의 message ID 가함께제공되기도합니다. 이경우, 주어진 message ID 를이용해서해당 message 의정보를얻을수있습니다. 이름 Type lmsgid out int 가져온 SECS message 의 message ID 를받아올변 수의주소입니다. 추가적으로 SECS item 에관한정보를얻으려면이 message ID 를사용합니다. ndevid out short 가져온 SECS message 의 device ID 를받아올 short 변수의주소입니다. nstrm out short 가져온 SECS message 의 stream 값을받아올 short 변수의주소입니다. nfunc out short 가져온 SECS message 의 function 값을받아올 short 변수의주소입니다. lsysbyte out int 가져온 SECS message 의 system bytes 값을받아올 int 변수의주소입니다. nwbit out short 가져온 SECS message 의 W-Bit 값을받아올 short 44

49 변수의주소입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks XCom 은동작중에사용자가알아야할 event 나 alarm 상황이발생하면이 alarm 에대해서 SecsEvent event 를발생시킵니다. 개발자가 XCom 의각종상황 (event, alarm) 에대해적절한처리를하고자한다면, SecsEvent event 에대한 handler 를선언하고, 그안에서적절한조치를취하면됩니다. 이렇게발생하는 XCom event 중에는 event code 이외에별도의정보가필요한경우가있는데, 이런들은 SecsEvent event 의 parameter 로제공됩니다. 이런 event 중에서 T3 timeout 과같이특정 SECS message 와연관된 event 나 alarm 의경우는 parameter 로해당 SECS message 의 message ID 가제공됩니다. GetAlarmMsgInfo() method 는바로이런 event 나 alarm 이발생할때, 해당하는 SECS message 의정보를구해오는기능을합니다. 발생하는 event 나 alarm 의종류에관해서는부록을참고하시기바랍니다. short GetInvalidMsgInfo (out int lmsgid, out short ndevid, out short nstrm, out short pnfunc, out int lsysbyte, out short pnwbit ); 상대편으로부터 SECS Message Structure 에정의되어있지않은메시지등을받았을때 SECS Event 로 Invalid Message Received Event 가뜹니다. 이때 lparam 으로넘어오는값을이용하여도착한메시지에대한상세한정보를얻을수있습니다. 이름 Type lmsgid out int 가져온 SECS message 의 message ID 를받아올변수의주소입니다. 추가적으로 SECS item 에관한정보를얻으려면이 message ID 를사용합니다. ndevid out short 가져온 SECS message 의 device ID 를받아올 short 변수의주소입니다. 45

50 nstrm out short 가져온 SECS message 의 stream 값을받아올 short 변수의주소입니다. nfunc out short 가져온 SECS message 의 function 값을받아올 short 변수의주소입니다. lsysbyte out int 가져온 SECS message 의 system bytes 값을받아올 int 변수의주소입니다. nwbit out short 가져온 SECS message 의 W-Bit 값을받아올 short 변수의주소입니다. 0 작업이성공적으로수행되었습니다. 자세한은부록의 error code 를참고합니다. Remarks XCom 은상대편으로부터 SECS Message Structure 에정의되지않은메시지를수신한경우 Stream 9 오류메시지전송옵션에따라 S9 계열의메시지를송신한후사용자에게는 Event 를통해정의되지않은메시지수신사실을알립니다. 이때사용자는경우에따라도착한메시지를확인해야합니다. 예를들어, S1F13 을전송했는데엉뚱한 S1F14 가도착했다면이를확인후 SF13 을다시재전송해야합니다. 이때도착한메시지정보를확인하기위해사용하는것이 GetInvalidMsgInfo() 메소드입니다. 에러가있는메시지이기때문에 GetAlarmMsgInfo() 를사용할수는없습니다. Event 상세설명 SecsMsg Event 외부로부터 SECS message 를수신하게되면, XCom 은 application 에게 SECS message 의수신을알리기위해이 event 를발생시킵니다. 개발자는 event 가발생한 XCom 객체에대해서이 event 에대한 event handler 를선언하고, 이 handler 를구현하여야합니다. handler 내에서는수신한 SECS message 의을알아보기위해, LoadSecsMsg() method 와 Get~Item() 형태의 method 를사용하게됩니다. 한번의 event 가발생했더라도실제수신된 message 는여러개일수도있으므로, event handler 내에서 LoadSecsMsg() method 를반복사용해서수신된모든 message 를읽을 46

51 SecsEvent Event 수있도록하는것이좋습니다. SECS message 의수신외에, 통신중에사용자가알아야할각종 event 가발생할수있습니다. XCom 은동작중에사용자가알아야할 event 나 alarm 상황이발생하면이 alarm 에대해서 SecsEvent event 를발생시킵니다. 개발자가 XCom 의각종상황 (event, alarm) 에대해적절한처리를하고자한다면, 이 event 에대한 handler 를선언하고, 그안에서적절한조치를취하면됩니다. SecsEvent event 는두개의 parameter 를가지고있습니다. 첫째 parameter 는 short type 의 event ID( 혹은 event code) 이고, 둘째 parameter 는 long type 의 event ID 별보조정보입니다. 대부분의 SecsEvent event 는의미있는보조정보를가지지않지만, 일부 event 에는중요한보조정보가포함되어있습니다. 의미있는보조정보와해당하는 event 는다음과같습니다. Event ID 보조정보 203 T3 timeout 송신한 primary message 의 message ID alarm 이발생한 message 의정보는 GetAlarmMsgInfo() method 를통해서 확인합니다. 217 Invalid Message ID 도착한메시지의헤더를꺼내볼수있 는 ID GetInvalidMsgInfo() method 를통해 도착한메시지의헤더정보를확인해 볼수있습니다. 218 Transaction Abort ( 0) Stream 값 221 Unrecognized Device ID Device ID 값 222 Unrecognized Stream Dtream 값 223 Unrecognized 값 발생하는 event 나 alarm 의종류에관해서는부록을참고하시기바랍니다. Sample Codes XCom 초기화 XCom 을초기화하는 sample 로, C# 언어를사용하는경우를예로보입니다. 47

52 XCom 을설치한후 MS.Net Framework 지원툴을설정한후구현할 application 에 XCom 객체를 m_xcom 이라는이름으로선언한경우, XCom 의초기화는다음처럼작성될수있습니다. void InitializeSecsDriver() { short nresult; // XCom 을초기화합니다. if( (nresult = m_xcom.initialize( "XCom.cfg" )) < 0 ) { // error 처리 } else { // XCom 을시작합니다. if( (nresult = m_xcom.start()) < 0 ) { // error 처리 } } } Message 송신 1) Initialize() method 를사용해서입력할 configuration file 이름을지정합니다. configuration file 에는 XCom 이동작하기위한환경설정값이저장되어있습니다. 만약환경설정을제대로읽지못하는경우에, Initialize() method 는음수인 error code 를돌려줍니다. 2) XCom driver 가시작되기를원하는때에 Start() method 를호출합니다. Start() method 에문제가발생하면음수인 error code 를돌려줍니다. 아래와같이 S72F1 이라는이름의사용자정의 message 에임의의값을지정하여송신하고자하는경우, 다음과같이작성될수있습니다. sample code 는 C++ 언어를이용하는경우입니다. SECS message 는 sml 파일에서다음과같이선언되었습니다. <S72F1 P <L 4 <A 12 FirstString> <U4 1 FirstU4> <I1 1 FirstI1> <L 2 48

53 > > > <F8 1 FirstDouble> <BINARY 1 FirstBinary> 이에해당하는 sample code 는다음과같습니다. void SendS72F1() { short nresult; short ndevid, nfirsti1 = 9; byte nfirstbinary = (byte)0x0f; int lmsgid; string szfirststring = First String ; long nu4=123; double rfirstdouble = , rfirstu4 = 1234; // 새로운 SECS message 를만듭니다. nresult = m_xcom.makesecsmsg( out lmsgid, ndevid, 72, 1, 0 ); // 만들어진 SECS message 에 SECS item 을설정합니다. nresult = m_xcom.setlistitem( lmsgid, 4 ); nresult = m_xcom.setasciiitem( lmsgid, szfirststring);, nresult = m_xcom.setu4item( lmsgid, nu4); nresult = m_xcom.seti1item( lmsgid, nfirsti1 ); nresult = m_xcom.setlistitem( lmsgid, 2 ); nresult = m_xcom.setf8item( lmsgid, rfirstdouble ); nresult = m_xcom.setbinaryitem( lmsgid, nfirstbinary ); // 만들어진 SECS message 를전송합니다. nresult = m_xcom.send ( lmsgid ); } SECS message 를송신하고자하는경우, code 는다음과같이크게세부분으로나뉘어집니다. 1) 송신하고자하는 message 의특성을설정하는부분으로, MakeSecsMsg() method 를이용해서새로운 message 에대한 reference 인 message ID 를얻어옵니다. 2) message 내의 item 값들을설정하는부분으로, sml 파일에서선언된순서와동일하게각 item 에대응되는 Set~Item() method 를호출합니다. 3) item 구성을모두끝마친 message 에대해송신을하는부분으로, Send() Method 를이용합니다. 49

54 Message 수신 SECS message 가수신된경우, XCom 은 message 수신에대한 event 가발생되는데, 이 event 의 handler 에서수신된 SECS message 의을알아볼수있습니다. 다음은앞에서선언된 S72F1 message 를 C# 언어를이용하여 SecsMsg event handler 에서값을얻어내는 sample 입니다. void m_xcom_secsmsgxcom(object sender, EventArgs e) { int lmsgid, lsysbyte; short ndevid, nstrm, nfunc, nwbit; short nresult, ncount; string str; byte[] b; short[] sshort; int[] nint; long[] nlong; double[] rdouble; // 수신된 SECS message 를모두받는다. while( m_xcom.loadsecsmsg( out lmsgid, out ndevid, out nstrm, out nfunc, out lsysbyte, out nwbit ) >= 0 ) { if( nstrm == 72 && nfunc == 1 ) { // 각 SECS item 을구한다. nresult = m_xcom.getlistitem( lmsgid, out nitems ); nresult = m_xcom.getasciiitem( lmsgid, out str ); nresult = m_xcom.getu4item( lmsgid, out nlong ); nresult = m_xcom.geti1item( lmsgid, out sshort ); nresult = m_xcom.getlistitem( lmsgid, out ncount ); nresult = m_xcom.getf8item( lmsgid, out ndouble ); nresult = m_xcom.getbinaryitem( lmsgid, out b ); nresult = m_xcom.closesecsmsg( lmsgid ); } } // 응답 (secondary message) 을전송한다. if( nwbit!= 0 ) { nresult = m_xcom.makesecsmsg( lmsgid, ndevid, nstrm, nfunc + 1, lsysbyte ); nresult = m_xcom.setasciiitem( lmsgid, "ACK" ); nresult = m_xcom.send ( lmsgid ); } } 50

55 SECS Event 처리 수신된 SECS message 의처리는다음의과정으로분석합니다. 1) 수신된 SECS message 의정보를얻어내기위해서, 먼저 LoadSecsMsg() method 를이용하여수신된 SECS message 의기본정보를읽어옵니다. 하나이상의 message 가수신된경우를생각해서 while loop 을사용하는것이좋습니다. LoadSecsMsg() method 는가져올 message 가없으면음수를돌려줍니다. 2) message 송신과마찬가지로, sml 파일에서 message item 이선언된순서와동일하게 Get~Item() method 를호출해서각각의 SECS item 값을가져옵니다. 3) 원하는 SECS item 의값을가져왔다면, CloseSecsMsg() method 를사용해서해당하는 SECS message 를종료하고 memory 를해제합니다. CloseSecsMsg() method 를호출하지않더라도, 모든 SECS item 을다가져갔거나일정시간작업이없는 SECS message 에대해서는자동으로 message 를종료합니다. 4) 필요에따라서는 (W-Bit 가 on 상태 ) secondary message 를송신합니다. 기본적으로이전의 message 전송과동일한방식으로진행되지만, secondary message 의특성상주의할점이있습니다. MakeSecsMsg() method 의 device ID 와 system bytes 는 LoadSecsMsg() method 에서구해진 primary message 의것을사용합니다. 그래야만상대방이 secondary message 를인식할수있습니다. XCom 에서는사용자가 XCom 이나 SECS 와관련된 event 를알아낼수있도록 SecsEvent event 를지원합니다. 이에대한 event handler 가선언된경우에, handler 내부에서는다음과같은방법으로작업을하시면됩니다. void m_xcom_secseventxcom( object sender, XCOMLib._DeXComEvents_SecsEventEvent e ) { int lsysbyte, lmsgid; short ndevid, nstrm, nfunc, nwbit; short nresult; switch( e.neventid ) { case 101: // HSMS connection is closed // You must not send any message at this state. break; case 103: // HSMS connection is selected // You can send SECS message from now on. break; case 203: // T3 timeout lmsgid = e.lparam; nresult = m_xcom.getalarmmsginfo( lmsgid, out ndevid, out nstrm, 51

56 } } out nfunc, out lsysbyte, out nwbit ); break; case 217: // Invalid message received lmsgid = e.lparam; nresult = m_xcom.getinvalidmsginfo( lmsgid, out ndevid, out nstrm, out nfunc, out lsysbyte, out nwbit ); break; case 221: // Message of unknown device ID received // lparam has the device ID value received break; case 222: // Message of unknown stream received // lparam has the stream value received break; case 223: // Message of unknown function received // lparam has the function value received break; default:; 위의코드는 C# 언어를이용하는경우에대한예제입니다. SecsEvent event 에대한 event handler 를선언하면, handler 의 parameter 로 event ID(event code) 와보조정보를제공하게되고, 이값을이용하여발생된 event 에대한처리를수행합니다. 발생되는 event 는 SECS event 와 alarm 의두종류가있는데, SECS event 는 SECS control 과관련된 event 이고 alarm 은 SECS 통신중발생하는 error 에대한입니다. 만약발생한 alarm 이특정 SECS message 와관련된것이라면, lparam 값으로는해당 SECS message 의 message ID 가제공됩니다. 이런경우는 alarm 을발생시킨 message 의정보를얻기위해 GetAlarmMsgInfo() method 를사용할수있습니다. 52

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

# Old State Mew State Trigger Actions 1 - TCP/IP NOT CONNECTED Initialization 2 TCP/IP NOT HSMS NOT TCP/IP Connect Succeeds: CONNECTED SELECTED 1. TCP/IP "accecpt" succeeds. Start T7 timeout 1. Cancel

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op USB2CAN USB2CAN-VCP USB2CAN-FIFO API Reference Manual ver. 1.00 Updated in November 2013 1 1. INTRODUCTION 2 2. DOWNLOAD 2 2-1. Windows Desktop & Server 2 2-2. Max OS X, Linux, Windows CE 2 3. API REFERENCE

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

XCom v2.x User's Manual

XCom v2.x User's Manual Linkgenesis Co., Ltd. ( 주 ) 링크제니시스 Protection Key Guide for XCom SECS Driver v2.x XCom SECS Driver v2.x Protection Key Manual Document v2.1.1k 목차 XCOM PROTECTION KEY 개요... 1 XCOM PROTECTION KEY 개요...

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

03_queue

03_queue Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

일반적인 네트워크의 구성은 다음과 같다

일반적인 네트워크의 구성은 다음과 같다 W5200 Errata Sheet Document History Ver 1.0.0 (Feb. 23, 2012) First release (erratum 1) Ver 1.0.1 (Mar. 28, 2012) Add a solution for erratum 1, 2 Ver 1.0.2 (Apr. 03, 2012) Add a solution for erratum 3

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

Microsoft Word - ASG AT90CAN128 모듈.doc

Microsoft Word - ASG AT90CAN128 모듈.doc ASG AT90128 Project 3 rd Team Author Cho Chang yeon Date 2006-07-31 Contents 1 Introduction... 3 2 Schematic Revision... 4 3 Library... 5 3.1 1: 1 Communication... 5 iprinceps - 2-2006/07/31

More information

XCOM v2

XCOM v2 XCOM v2.x Release Notes Software Version 2.4.2 2015 경기도용인시기흥구흥덕 1 로 13, 흥덕 IT 밸리타워동 A 318 호 PHONE: 031-8065-5646, FAX: 031-8065-5648 홈페이지 : http://www.linkgenesis.co.kr Copyrightc 2001-2015, Linkgenesis,

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4 Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf(hihi\n); } warning: conflicting types for functiona 이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

untitled

untitled CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT KEY EVENT & STATE 구현 2007. 1. 25 PLATFORM TEAM 정용학 차례 Key Event HS TASK UI TASK LONG KEY STATE 구현 소스코드및실행화면 질의응답및토의 2 KEY EVENT - HS TASK hs_task keypad_scan_keypad hs_init keypad_pass_key_code keypad_init

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

untitled

untitled CAN BUS RS232 Line CAN H/W FIFO RS232 FIFO CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter PROTOCOL Converter CAN2RS232 Converter Block Diagram > +- syntax

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

歯처리.PDF

歯처리.PDF E06 (Exception) 1 (Report) : { $I- } { I/O } Assign(InFile, InputName); Reset(InFile); { $I+ } { I/O } if IOResult 0 then { }; (Exception) 2 2 (Settling State) Post OnValidate BeforePost Post Settling

More information

USB2CAN USB2CAN-UART USB2CAN-FIFO API Reference Manual Copyright NTREXLAB

USB2CAN USB2CAN-UART USB2CAN-FIFO API Reference Manual Copyright NTREXLAB USB2CAN USB2CAN-UART USB2CAN-FIFO API Reference Manual Copyright NTREXLAB http://ntrexgo.com 설명서에포함된정보는정확하고신뢰성이있는내용입니다. 그러나출판당시발견되지않은 오류가있을수있으니사용자는자신의제품검증을수행하시기바라며, 전적으로설명서에포 함된정보에의존하지마시기바랍니다. 1 소개 1 2

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

0. 들어가기 전

0. 들어가기 전 컴퓨터네트워크 14 장. 웹 (WWW) (3) - HTTP 1 이번시간의학습목표 HTTP 의요청 / 응답메시지의구조와동작원리이해 2 요청과응답 (1) HTTP (HyperText Transfer Protocol) 웹브라우저는 URL 을이용원하는자원표현 HTTP 메소드 (method) 를이용하여데이터를요청 (GET) 하거나, 회신 (POST) 요청과응답 요청

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint 세션.ppt 웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information