VBMan Components for RS-232C Programming Manual Version 5.00
VBMan Components for RS-232C... 6...6...7...8...8...8...11...11...11... 13...13...13...13... 15 IDE...15 Visual Basic.NET...15 Visual C#...17 Visual J#...17 Visual C++...17 NAMESPACE/CLASS...18... 19... 20 AbortTransfer...22 BaudRate...23 2
ByteSize...23 CustomBaudRate...24 DebugTrace...24 DTREnable...24 ErrorNotifyType...24 FlowControl...25 InBufferCount...25 LastMajorErrCode...26 LastMinorErrCode...26 NotifyRecvChars...26 NotifySendComplete...27 NullDiscard...27 Parity...27 ParityReplace...28 Port...28 Progress...28 Protocol...28 RecvQSize...29 RecvTimeOut...29 RTSEnable...30 SendQSize...30 SendTimeOut...30 ShowErrorMessage...31 StopBits...31 Stream...31 WatchPriority...32... 33 ClearBreak...34 ClearDTR...34 3
ClearRTS...34 CloseComm...35 Crc16...35 Crc32...36 FlushComm...36 GetCTS...37 GetDSR...38 GetRLSD...38 GetRing...39 OpenComm...40 Receive...40 ReceiveFile...41 Send...43 SendBreak...43 SendFile...44 SetDTR...44 SetRTS...45 Transmit...45... 47 OnCommError...47 OnCommNotify...48 OnCommRecv...48 OnCommSend...48 OnCommTransferEnd...49... 50...50...50 /...50 4
...51...51...51...51...52 APPENDIX-A... 53 APPENDIX-B... 57 USB...57 Xmodem...57...57...58 APPENDIX-C... 59...59...59...59...60...60...60 VBMAN COMPONENTS FOR RS-232C... 62 5
VBMan components for RS-232C version 5.00 Microsoft Visual Studio.NET.NET RS-232C 1994 16bit/VBX 32bitOCX,ActiveX Visual Studio.NET RS-232C.NET Visual Studio.NET ComponentModel Visual Studio.NET,NET Visual Basic.NET/C#/J#/Visual C++(Managed Application) Windows Form/Web Form/ DebugTrace 6
16/10 Xmodem Check Sum, Xmodem CRC, XModem 1K 7
URL 8
/ URL: http://www.systemlab.co.jp/vbman/productvb7.htm 90 9
10
: 03-5397-7511 : 03-5397-7521 : support@systemlab.co.jp Web: www.systemlab.co.jp : 03-3421-7621 : 03-3421-6691 : support@techknowledge.co.jp Web: www.techknowledge.co.jp 11
12
VBMan components for RS-232C VBMan components for RS-232C Microsoft.NET framework 1.1 Windows 98/98SE/ME Windows 2000 Windows XP Windows 2003 Server VBMan components for RS-232C Microsoft.NET Microsoft Visual Basic.NET Microsoft Visual C# Microsoft Visual J# Microsoft Managed C++ IDE( ) Microsoft Visual Studio.NET 2003 VBMan components for RS-232C CD-ROM (setup.exe) VBMan components for RS-232C 13
<INSTDIR> <SYSDIR> <instdir> bin CommLib.dll RS-232C <sysdir> CommShm.DLL <instdir> bin VBMTRACE.EXE <instdir> man CommLib500.html <instdir> man CommLib500.pdf PDF. Samples VB.NET *.* VB.NET. Samples CS *.* C# 14
IDE Visual Studio 2003 IDE. Visual Basic.NET Microsoft Visual Basic.NET VBMan components for RS-232C Visual Studio.NET Visual Basic.NET Windows VBMan.NET framework CommLib.DLL c: Program Files techknowledge VBMan Components for RS-232C bin SerialIO Windows 15
VBMan components for RS-232C WindowsForm 16
Visual C# Visual C# Visual C# Visual Basic.NET Visual J# Visual J# Visual Visual Basic.NET Visual C++ Visual C++.NET (Managed C++ ) Vissual Basic.NET 17
Namespace/Class Namespace CommLib Class SerialIO Visual C# IDE IDE 18
VBMan Control for RS-232C V4.0 OLE 16bit/VBX ActiveX.NET Framework NET.NET.NET Send Receive Vc CLR SendFile/ReceiveFile DLL CRC SerialIO 19
VBMan components for RS-232C AbortTransfer BaudRate ByteSize CustomBaudRate DebugTrace DTREnable DTR FlowControl InBufferCount LastMajorErrCode LastMinorErrCode NotifyRecvChar CommRecv NotifySendComplete CommSend NullDiscard Parity ParityReplace Port Progress Protocol RecvQSize 20
RecvTimeOut RTSEnable SendQSize SendTimeOut StopBits RTS 21
AbortTransfer true 22
Visual Basic.NET SerialIO1.AbortTransfer = True BaudRate BaudRateValues BaudRa evalues (bps) Baud75 75 Baud110 110 Baud150 150 Baud300 300 Baud600 600 Baud1200 1200 Baud2400 2400 Baud4800 4800 Baud9600 9600 Baud14400 14400 Baud19200 19200 Baud22800 28800 Baud38400 38400 Baud57600 57600 Badu115200 115200 ByteSize ByteSizeValues ByteSizeValues 23
SevenBits EngithBits 7bit 8bit CustomBaudRate BaudRate 0 BaudRate DebugTrace True Send/Receive vbmtrace.exe 16 10 vbmtrace.exe True DTREnable DTR True DTR Visual Basic.NET SerialIO1.DTREnable = True ErrorNotifyType VBMan Components for RS-2323C 24
ErrorNotifyValues ErrorNotifyValues ByException ByEvent ActvieX OnCommError FlowControl XOn/XOff FlowControlValues FlowControlValues NoFlowControl SoftFlowControl HardFlowControl XON/XOFF Windows API RTS(request-to-send),DTR(data-terminal-ready) CTS(clear-to-send) DSR(data-set-ready) 30ms Visual Basic.NET InBufferCount 25
Visual Basic LastMajorErrCode LastMinorErrCode NotifyRecvChars CommRecv -1 CommRecv 0 CommRecv Visual Basic.NET SerialIO1.VcNoticyRecvChars = 1...... 26
byte NotifySendComplete True CommSend NullDiscard True Parity ParityValues ParityValues NoParity OddParity EvenParity 27
ParityReplace Port? PortValues COM20 OpenComm Visual Basic.NET Progress short Xmodem 128 Protocol ProtocolValues Xmodem 8bit, 1, ProtocolValues XmodemAuto Xmodem CRC, CheckSum,1K 28
XmodemCheckSum Xmodem CheckSum XmodemCrc Xmodem CRC Xmodem1K Xmodem 1K RecvQSize 1024 Visual Basic.NET RecvTimeOut Receive (1/1000 ) Long 1 Xmodem-1K 1,024 SendQSize,RecvQSize 1,200 Xmodem-1K STX Xmodem-1K 29
ERR_RECV_TIMEOUT RecvString Visual Basic.NET RTSEnable True RTS Visual Basic.NET Comm.RTSEnable = True SendQSize 1024 RecvQSize SendTimeOut msec API 2 Win32API GetThickCount API 49 API 49 30
COMM msec Visual Basic.NET ShowErrorMessage True X-Modem StopBits 1,1.5,2 StopBitsValues StopBitValues OneStopBit 1 OneAndHalrStopBit 1.5 TwoStopBit 2 Stream System.IO.Stream SerialStream.NET 31
framework Stream SerailStream WatchPriority VBMan Components for RS-2323C CPU PriorityValues PriorityValues 0 Lowest 1 Below Normal 2 Normal 3 Above Normal 4 Highest 32
VBMan components for RS-232C Visual Basic ClearBreak ClearDTR DTR ClearRTS RTS CloseComm Crc16 CRC-16 Crc32 CRC-32 FlushComm GetCTS CTS GetDSR DSR GetRLSD RLSD GetRing Ring OpenComm Receive ReceiveFile Send SendBreak SendFile SetDTR DTR SetRTS RTS Stream SerailStream Transmit 33
ClearBreak ClearBreak() As Short (MajorErrorCode) Visual Basic.NET rc As Integer rc = SerialIO1.ClearBreak ClearDTR ClearDTR() As Short DTR (MajorErrorCode) Visual Basic.NET rc As Integer rc = SerialIO1.ClearDTR ClearRTS ClearRTS() As Short 34
RTS (MajorErrorCode) Visual Basic.NET rc As Short rc = SerialIO1.ClearDTR CloseComm CloseComm() As Short (MajorErrorCode) Visual Basic.NET rc As Short rc = SerialIO1.CloseComm Crc16 Crc16(byteArra() As Byte) As Uint16 CRC16 Byte CRC16 35
CRC16 Byte Crc32 Crc32(byteArray() As Byte) As Long CRC16 Byte CRC32 CRC32 Byte FlushComm FlushComm(QueueType As Integer) As Short 1 2 4 8 36
MajorErrorCode 1 GetCTS GetCTS(cts As Boolean) As Short CTS True CTS MajorErrorCode CTS OnCommNotify Visual Basic.NET 37
GetDSR GetDSR(dsr As Boolean) As Short DSR True DSR MajorErrorCode DSR OnCommNotify Visual Basic.NET GetRLSD GetRLSD(rlsd As Boolean) As Short 38
RLSD MajorErrorCode RLSD Visual Basic.NET GetRing GetRing(ring As Boolean) As Short Ring Ring True Ring OnCommNotify 3 receive-line-single-detect 39
Visual Basic.NET OpenComm OpenComm() As Short (MajorErrorCode) Visual Basic.NET Receive Receive(Buffer() As Byte ) As Short Receive(Buffer() As Byte, Size As Integer) As Short 40
Receive(Buffer() As Byte, Offset As Integer, Size As Integer) As Short Receive(ByRef Buffer As String) As Short Receive(ByRef Buffer As String, Size As Integer) As Short Receive(ByRef Buffer As Int16) As Short Receive(ByRef Buffer As Int32) As Short Receive(ByRef Buffer As Int64) As Short Receive(ByRef Buffer As Single) As Short Receive(ByRef Buffer As Double) As Short Receive(Pointer As IntPtr) As Short.NET framework String Shift-JIS Visual Basic.NET buffer(10) As Byte SerialIO1.Receive(Buffer) Visual C# Byte [] buffer = new Byte[10]; Short rc = SerialIO1.Receive(buffer); ReceiveFile 41
ReceiveFile( FileName As String ) As Integer X-Modem Protocol Status OnCommTransferEnd Visual Basic.NET 42
Send Send(data As Byte) As Short Send(data()As Byte) As short Send(data() As Byte, offset as Integer, length As Integer) As Short Send(ptr As IntPtr) As Short Send(data As String) As Short Send(data As Int16) As Short Send(data As Int32) As Short Send(data As Int64) As Short Send(data As Single) As Short Send(data As Double) As Short Shift-JIS Visual Basic.NET rc As Integer data(5) as Byte Data(0) = 5 Data(1) = 32 Data(2) = 41 Data(3)= 42 Data(4) = 6 rc = SerialIO1.Send(data) SendBreak 43
SendBreak() As Short ClearBreak (MajorErrorCode) Visual Basic.NET rc As Integer rc = SerialIO1.SendBreak SendFile SendFile( FileName As String ) As Short X-Modem Protocol Status OnCommTransferEnd ReceiveFile OnCommTransferEnd SetDTR 44
SetDTR() As Short DTR SetRTS SetRTS() As Short RTS Transmit Transmit( bytedatar As Byte ) As Short Visual Basic.NET 45
46
VBMan components for RS-232C CommError CommNotify CommRecv CommSend CommTransferEnd OnCommError VBMan components for RS-232C ErrorNotifyType ByEvent CommErrorEventArgs MajorErrorCode Appendix-A MinorErrorCode Appendix-A 47
OnCommNotify VBMan components for RS-232C DTR,CTS,RLSD,Ring (16 ) CTS DSR RLSD RING 0x0008 0x0010 0x0020 0x0100 OnCommRecv NotifyRecvChar 0 CommRecv Visual Basic.NET OnCommSend NotifySendComplete True CommSend 48
Visual Basic.NET OnCommTransferEnd ReceiveFile,SendFile Visual Basic.NET 49
VBMan components for RS-232C DebugTrace True VBMan Components for RS-232C / 50
51
52
Appendix-A (MajroErrorCode ) ERR_OPEN ERR_BUILD_DCB ERR_COMM_STATE ERR_NO_MEM ERR_BUFFER_SHORT ERR_READ_COMM ERR_WRITE_COMM ERR_CLEAR_BREAK ERR_SET_BREAK ERR_TRANSMIT_CHAR ERR_INVALID_SIZE ERR_NOT_OPEN ERR_ALREADY_OPEN ERR_INVALID_DEVICE_NAME ERR_FLUSH_COMM ERR_RECV_TIMEOUT ERR_CREATE_EVENT ERR_RECV_LENGTH_TOO_LO NG 100 101 Data Control Block 102 MinorErrorCode 103 104 105 MinorErrorCode 106 MinorErrorCode 107 108 109 SendChar 110 SendChar 111 112 113 114 115 116 117 RecvString 53
ERR_THREAD ERR_CLEAR_DTR ERR_SET_DTR ERR_CLEAR_RTS ERR_SET_RTS ERR_GET_MODEM_STATUS ERR_COMM_LINE ERR_IN_TRANSFER ERR_NOT_IN_TRANSFER ERR_SEND_TIMEOUT ERR_TYPE_INVALID ERR_NO_DATA ERR_SHOULD_BE_8_BITS 118 119 DTR 120 DTR 121 RTS 122 RTS 123 124 125 126 127 128 Byte Byte 129 Receive 130 X-MODEM ByteSize 7Bit X-MODEM 8Bit 2 GetLastError API Win32SDK Win32 SDK winerror.h Win32 SDK Microsoft Developer Network (MSDN) CommTransferEnd 54
ERR_XMODEM_FILE_EXSIST 2101 ERR_XMODEM_FILE_OPEN 2102 ERR_XMODEM_FILE_READ 2103 chkdsk,scandisk ERR_XMODEM_FILE_WRITE 2104 chkdsk,scandisk ERR_XMODEM_SEND_CHAR 2105 ERR_XMODEM_SEND_SHORT 2106 CRC ERR_XMODEM_SEND_PACKET 2107 ERR_XMODEM_RECV_CHAR 2108 ERR_XMODEM_RECV_SHORT 2109 CRC ERR_XMODEM_RECV_PACKET 2110 ERR_XMODEM_SEQ 2111 ERR_XMODEM_PROTOCOL 2112 55
ERR_XMODEM_RETRY_OUT 2113 ERR_XMODEM_ABORT_TRANSFER 2114 ERR001 ERR002 ERR003 ERR005 ERR006 ErrorNotifyType ByException SerialStream Stream 56
Appendix-B VBMan components for RS-232C web URL http://www.techknowledge.co.jp/techinfo.html USB RS-232c USB PC 1 PCI URS-03 JUSTY UCR-01 Xmodem Xmodem Progress X-Modem 128 X-Modem 1K 1024 VBMan components for RS-232C VBMan Win32 API COM1 COM10 Windows/Win32 API 57
OS Win32 API VBMan components for RS-232C VBMan Components for RS-232C CommLib.DLL CommShm.DLL CommLib.DLL CommShm.DLL 58
Appendix-C I/O 127 ASC ASC 59
1.5 0110011 11010110 60
RS 232C RS (Recommend Standard) 232 C RS-232C RS-232C 25 D 9 61
VBMan components for RS-232C OS 62
VBMan components for RS-232C version 5.00 1 2004 7 1 1 Printed In Japan 63