VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Demo :  Digital In demo for 7041, 7044, 7050, 7052, 7053, 7060"
   ClientHeight    =   4770
   ClientLeft      =   1830
   ClientTop       =   3105
   ClientWidth     =   7620
   BeginProperty Font 
      Name            =   "MS Sans Serif"
      Size            =   9.75
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkMode        =   1  'Source
   LinkTopic       =   "Form1"
   PaletteMode     =   1  'UseZOrder
   ScaleHeight     =   4770
   ScaleWidth      =   7620
   Begin VB.Frame Frame1 
      Caption         =   "Setting I-7000 Configuration  "
      BeginProperty Font 
         Name            =   "Courier"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   3492
      Left            =   120
      TabIndex        =   6
      Top             =   1080
      Width           =   5052
      Begin VB.TextBox txtCOM 
         Height          =   360
         Left            =   1680
         TabIndex        =   16
         Top             =   510
         Width           =   1275
      End
      Begin VB.ComboBox typeCombo 
         Height          =   336
         ItemData        =   "Form1.frx":0000
         Left            =   120
         List            =   "Form1.frx":0016
         TabIndex        =   15
         Text            =   "7041"
         Top             =   480
         Width           =   1212
      End
      Begin VB.Frame Frame3 
         Caption         =   "CheckSum"
         Height          =   732
         Left            =   360
         TabIndex        =   11
         Top             =   2160
         Width           =   4332
         Begin VB.OptionButton chksumOption 
            Caption         =   "Disable"
            Height          =   372
            Index           =   1
            Left            =   2640
            TabIndex        =   13
            Top             =   240
            Value           =   -1  'True
            Width           =   1332
         End
         Begin VB.OptionButton chksumOption 
            Caption         =   "Enable"
            Height          =   372
            Index           =   0
            Left            =   240
            TabIndex        =   12
            Top             =   240
            Width           =   1332
         End
      End
      Begin VB.ComboBox baudCombo 
         Height          =   336
         ItemData        =   "Form1.frx":003E
         Left            =   3360
         List            =   "Form1.frx":005A
         TabIndex        =   7
         Text            =   "9600"
         Top             =   480
         Width           =   1332
      End
      Begin VB.Label Label9 
         Caption         =   "Type Name:"
         Height          =   372
         Left            =   120
         TabIndex        =   14
         Top             =   240
         Width           =   1332
      End
      Begin VB.Label Label3 
         Caption         =   "COM Port:"
         Height          =   372
         Left            =   1800
         TabIndex        =   9
         Top             =   240
         Width           =   1332
      End
      Begin VB.Label Label4 
         Caption         =   "Baud Rate:"
         Height          =   372
         Left            =   3360
         TabIndex        =   8
         Top             =   240
         Width           =   1212
      End
   End
   Begin VB.TextBox Text1 
      Height          =   372
      Left            =   2520
      TabIndex        =   4
      Top             =   360
      Width           =   1692
   End
   Begin VB.TextBox addressText 
      Height          =   360
      Left            =   5520
      TabIndex        =   3
      Text            =   "2"
      Top             =   1920
      Width           =   1812
   End
   Begin VB.CommandButton Command1 
      Caption         =   "Digital In"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   12
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   612
      Left            =   5520
      TabIndex        =   1
      Top             =   2760
      Width           =   1812
   End
   Begin VB.CommandButton exitCmd 
      Caption         =   "E&xit"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   13.5
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   612
      Left            =   5520
      TabIndex        =   0
      Top             =   3960
      Width           =   1812
   End
   Begin VB.Label Label8 
      Caption         =   "COM Port:"
      Height          =   372
      Left            =   720
      TabIndex        =   10
      Top             =   3720
      Width           =   1332
   End
   Begin VB.Label Label7 
      Caption         =   "The Digital Input Value:"
      Height          =   252
      Left            =   360
      TabIndex        =   5
      Top             =   360
      Width           =   2172
   End
   Begin VB.Label Label6 
      Caption         =   "Module Address[Hex]:"
      Height          =   252
      Left            =   5520
      TabIndex        =   2
      Top             =   1680
      Width           =   2052
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command2_Click()
    Close (port)
End Sub

Private Sub baudCombo_Click()
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (port)
    End If
End Sub


Private Sub chksumOption_Click(Index As Integer)
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (port)
    End If
End Sub

Private Sub txtCOM_Change()
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (port)
    End If
End Sub

Private Sub Command1_Click()
    
      
    SendTo7000 = Space(100)
    ReceiveFrom7000 = Space(100)
    
    If COMOpen = 0 Or ConfigChange > 0 Then
        OpenCom
    End If
      
      
    w7000(0) = CInt(txtCOM.Text) ' COM Port
    
    w7000(1) = Val("&H" & addressText.Text) ' Module Address
    Select Case typeCombo.ListIndex   ' Module ID
       Case 0
           w7000(2) = &H7041
       Case 1
           w7000(2) = &H7044
       Case 2
           w7000(2) = &H7050
       Case 3
           w7000(2) = &H7052
       Case 4
           w7000(2) = &H7053
       Case 5
           w7000(2) = &H7060
     End Select
    
    If chksumOption(0).Value Then
        w7000(3) = 1       ' CheckSum Enable
    Else
        w7000(3) = 0
    End If
    
    w7000(4) = 100     ' TimeOut = 0.1 second
 
    'w7000(5) is the 16-bit inout data
    
    w7000(6) = 1       ' string debug
    
    Ret = DigitalIn(w7000(0), f7000(0), SendTo7000, ReceiveFrom7000)
    
    If Ret <> 0 Then
           Beep
           a$ = "The Error Code:" + Str$(Ret)
           MsgBox a$, 0, "DigitalIn() error !!!"
           Close_Com (port)
           End
    End If
 
    Text1.Text = Hex(w7000(5))
    Beep
  End Sub

Private Sub exitCmd_Click()
  '------- CLOSE_COM -------------------------
    If COMOpen > 0 Then
        Close_Com (port)
    End If
    End
End Sub

Private Sub Form_Load()
    typeCombo.ListIndex = 0
    txtCOM.ListIndex = 1
    baudCombo.ListIndex = 2
    DataBit = 8    ' 8 data bit
    Parity = 0     ' Non Parity
    StopBit = 0    ' One Stop Bit
    COMOpen = 0
    Index = 0
    ConfigChange = 0
   End Sub

Private Sub Form_Unload(Cancel As Integer)
    If COMOpen > 0 Then
        Close_Com (port)
    End If
End Sub



Private Sub runCmd_Click()
    Dim length As Integer
    Dim a$
    Dim i As Long
    Dim Cmd As String
    Dim Buf As String
    Dim Ret, status As Integer
  
    'Cmd = Space(80)
    'Buf = Space(80)
    
    Cmd = "                         "
    Buf = "                         "
    
    If COMOpen = 0 Then
         OpenCom
    End If

   
    Cmd = commandText.Text
       
    'Ret = Send_Cmd(Port, Cmd, 1000, 0)
    'If Ret > 0 Then
    '    Beep
    '    A$ = "The Error Code:" + Str$(Ret)
    '    MsgBox A$, 0, "SEND_CMD error !!!"
    '    End
    'End If
   
    '------- READ_COM_STATUS --------------
    For i = 0 To 300000
        Ret = Read_Com_Status(port, Buf, status)
        Ret = Ret And &H300
        If Ret <> 0 Then
           Exit For
        End If
    Next
    
    
    receiveText.Text = Buf
    Beep
    '------------------------------------------
   
End Sub





Public Function OpenCom()
    Dim a$, b$
    Dim i, Response, RetValue As Integer
    Dim Cmd As String
    
    Cmd = Space(80)
    
 
    a$ = Space(80)
    b$ = Space(80)
    ' decide the COM Port
    port = txtCOM.ListIndex + 1
        
    ' decide the baud rate
    Select Case baudCombo.ListIndex
        Case 0
             BaudRate = 115200
        Case 1
             BaudRate = 57600
        Case 2
             BaudRate = 38400
        Case 3
             BaudRate = 19200
        Case 4
             BaudRate = 9600
        Case 5
             BaudRate = 4800
        Case 6
             BaudRate = 2400
        Case 7
             BaudRate = 1200
    End Select
        
      
    RetValue = Open_Com(port, BaudRate, DataBit, Parity, StopBit)
    'ret = Open_Com(2, 9600, 8, 0, 0)
    If RetValue > 0 Then
        Beep
        'A$ = "The Error Code:" + Str$(RetValue)
        Response = MsgBox("Quit this demo?", vbYesNo, "OPEN_COM Error Code:" + Str(RetValue))
        If Response = vbYes Then
              'Close_Com (Port)
        End
        End If
    End If
  
    COMOpen = 1
    ConfigChange = 0
End Function

Private Sub typeCombo_Click()
    ConfigChange = 1
    If COMOpen > 0 Then
        Close_Com (port)
    End If
End Sub


