Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.09.2014, 11:31
|
|||
---|---|---|---|
|
|||
Как поменять пусть запуска скрипта? |
|||
#18+
Я сразу говорю, что я полный чайник. Залез в VB только по причине того, что мне потребовалось готовый код немного подрихтовать в плане дизайна (размер, цвет кнопок, их название и пр.). Ниже код (почти оригинал). Это небольшая программка которая управляет платой с релюшками, подключенной через USB. Работа платы этой на FTDI драйвере (через виртуальный СЛМ-порт). У меня сейчас аналогичная (по функционалу) плата, но с IP подключением, а не с USB. Как заставить мою программку конектится не через FTDI драйвер, а через IP 192.168.0.1 с логином Admin и паролем admin? ============================================================================== Private Declare Function FT_Open Lib "FTD2XX.dll" (ByVal intDeviceNumber As Integer, ByRef lnghandle As Long) As Long Private Declare Function FT_OpenEx Lib "FTD2XX.dll" (ByVal arg1 As String, ByVal arg2 As Long, ByRef lnghandle As Long) As Long Private Declare Function FT_Close Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_Read Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal lpszBuffer As String, ByVal lngBufferSize As Long, ByRef lngBytesReturned As Long) As Long Private Declare Function FT_Write Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal lpszBuffer As String, ByVal lngBufferSize As Long, ByRef lngBytesWritten As Long) As Long Private Declare Function FT_SetBaudRate Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal lngBaudRate As Long) As Long Private Declare Function FT_SetDataCharacteristics Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal byWordLength As Byte, ByVal byStopBits As Byte, ByVal byParity As Byte) As Long Private Declare Function FT_SetFlowControl Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal intFlowControl As Integer, ByVal byXonChar As Byte, ByVal byXoffChar As Byte) As Long Private Declare Function FT_ResetDevice Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_SetDtr Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_ClrDtr Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_SetRts Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_ClrRts Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_GetModemStatus Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByRef lngModemStatus As Long) As Long Private Declare Function FT_Purge Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal lngMask As Long) As Long Private Declare Function FT_GetStatus Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByRef lngRxBytes As Long, ByRef lngTxBytes As Long, ByRef lngEventsDWord As Long) As Long Private Declare Function FT_GetQueueStatus Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByRef lngRxBytes As Long) As Long Private Declare Function FT_GetEventStatus Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByRef lngEventsDWord As Long) As Long Private Declare Function FT_SetChars Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal byEventChar As Byte, ByVal byEventCharEnabled As Byte, ByVal byErrorChar As Byte, ByVal byErrorCharEnabled As Byte) As Long Private Declare Function FT_SetTimeouts Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal lngReadTimeout As Long, ByVal lngWriteTimeout As Long) As Long Private Declare Function FT_SetBreakOn Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_SetBreakOff Lib "FTD2XX.dll" (ByVal lnghandle As Long) As Long Private Declare Function FT_ListDevices Lib "FTD2XX.dll" (ByVal arg1 As Long, ByVal arg2 As String, ByVal dwFlags As Long) As Long Private Declare Function FT_GetNumDevices Lib "FTD2XX.dll" Alias "FT_ListDevices" (ByRef arg1 As Long, ByVal arg2 As String, ByVal dwFlags As Long) As Long Private Declare Function FT_SetBitMode Lib "FTD2XX.dll" (ByVal lnghandle As Long, ByVal mask As Byte, ByVal enable As Byte) As Long ' Return codes Const FT_OK = 0 Const FT_INVALID_HANDLE = 1 Const FT_DEVICE_NOT_FOUND = 2 Const FT_DEVICE_NOT_OPENED = 3 Const FT_IO_ERROR = 4 Const FT_INSUFFICIENT_RESOURCES = 5 Const FT_INVALID_PARAMETER = 6 Const FT_INVALID_BAUD_RATE = 7 ' Word Lengths Const FT_BITS_8 = 8 Const FT_BITS_7 = 7 ' Stop Bits Const FT_STOP_BITS_1 = 0 Const FT_STOP_BITS_1_5 = 1 Const FT_STOP_BITS_2 = 2 ' Parity Const FT_PARITY_NONE = 0 Const FT_PARITY_ODD = 1 Const FT_PARITY_EVEN = 2 Const FT_PARITY_MARK = 3 Const FT_PARITY_SPACE = 4 ' Flow Control Const FT_FLOW_NONE = &H0 Const FT_FLOW_RTS_CTS = &H100 Const FT_FLOW_DTR_DSR = &H200 Const FT_FLOW_XON_XOFF = &H400 ' Purge rx and tx buffers Const FT_PURGE_RX = 1 Const FT_PURGE_TX = 2 ' Flags for FT_OpenEx Const FT_OPEN_BY_SERIAL_NUMBER = 1 Const FT_OPEN_BY_DESCRIPTION = 2 ' Flags for FT_ListDevices Const FT_LIST_BY_NUMBER_ONLY = &H80000000 Const FT_LIST_BY_INDEX = &H40000000 Const FT_LIST_ALL = &H20000000 Dim RelState As Long Dim lnghandle As Long Sub SetRelays(ByVal RelayN As Integer, State As Boolean) 'Open the first device Dim temp As Long Dim i As Integer If (State = True) Then If RelayN = 1 Then temp = 1 If RelayN = 2 Then temp = 2 If RelayN = 3 Then temp = 4 If RelayN = 4 Then temp = 8 If RelayN = 5 Then temp = 16 If RelayN = 6 Then temp = 32 If RelayN = 7 Then temp = 64 If RelayN = 8 Then temp = 128 If RelayN = 255 Then temp = 255 RelState = RelState Or temp End If If (State = False) Then If RelayN = 1 Then temp = 254 If RelayN = 2 Then temp = 253 If RelayN = 3 Then temp = 251 If RelayN = 4 Then temp = 247 If RelayN = 5 Then temp = 239 If RelayN = 6 Then temp = 223 If RelayN = 7 Then temp = 191 If RelayN = 8 Then temp = 127 If RelayN = 0 Then temp = 0 RelState = RelState And temp End If 'MsgBox (Str(RelState) + "," + Str(temp)) strWriteBuffer = " " Mid(strWriteBuffer, 1, 1) = Chr(RelState) lngBytesWritten = 0 If FT_Write(lnghandle, strWriteBuffer, Len(strWriteBuffer), lngBytesWritten) <> FT_OK Then Status.Caption = "Error" Status.ForeColor = &HFFF& Exit Sub Else Status.Caption = "OK'y" Status.ForeColor = &HF00& End If End Sub Private Sub Command11_Click() If Command11.BackColor = &H8000000B Then Call SetRelays(5, True) Command11.BackColor = &HCC00& Else Call SetRelays(5, False) Command11.BackColor = &H8000000B End If End Sub Private Sub Command13_Click() If Command13.BackColor = &H8000000B Then Call SetRelays(6, True) Command13.BackColor = &HCC00& Else Call SetRelays(6, False) Command13.BackColor = &H8000000B End If End Sub Private Sub Command15_Click() If Command15.BackColor = &H8000000B Then Call SetRelays(7, True) Command15.BackColor = &HCC00& Else Call SetRelays(7, False) Command15.BackColor = &H8000000B End If End Sub Private Sub Command17_Click() If Command17.BackColor = &H8000000B Then Call SetRelays(8, True) Command17.BackColor = &HCC00& Else Call SetRelays(8, False) Command17.BackColor = &H8000000B End If End Sub Private Sub Command8_Click() If Command8.BackColor = &H8000000B Then Call SetRelays(3, True) Command8.BackColor = &HCC00& Else Call SetRelays(3, False) Command8.BackColor = &H8000000B End If End Sub Private Sub Command9_Click() If Command9.BackColor = &H8000000B Then Call SetRelays(4, True) Command9.BackColor = &HCC00& Else Call SetRelays(4, False) Command9.BackColor = &H8000000B End If End Sub Private Sub Form_Terminate() FT_Close (lnghandle) End Sub Private Sub Command1_Click() If Command1.BackColor = &H8000000B Then Call SetRelays(1, True) Command1.BackColor = &HCC00& Else Call SetRelays(1, False) Command1.BackColor = &H8000000B End If End Sub Private Sub Label1_Click() End Sub Private Sub Command3_Click() If Command3.BackColor = &H8000000B Then Call SetRelays(2, True) Command3.BackColor = &HCC00& Else Call SetRelays(2, False) Command3.BackColor = &H8000000B End If End Sub Private Sub Command5_Click() Call SetRelays(255, True) End Sub Private Sub Command6_Click() Call SetRelays(0, False) End Sub Private Sub Form_Load() RelState = 0 If FT_Open(0, lnghandle) <> FT_OK Then Status.Caption = "Err.open" Status.ForeColor = &HFFF& Exit Sub Else End If If FT_SetBitMode(lnghandle, 255, 4) <> FT_OK Then Status.Caption = "Err.Bit" Status.ForeColor = &HFFF& Exit Sub Else End If If FT_SetBaudRate(lnghandle, 921600) <> FT_OK Then Status.Caption = "Err.Baud" Status.ForeColor = &HFFF& Exit Sub Else Status.Caption = "OK" Status.ForeColor = &HF00& End If End Sub ===================================================================================== Буду весьма признателен за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&mobile=1&tid=2156217]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 296ms |
total: | 539ms |
0 / 0 |