Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как поменять пусть запуска скрипта? / 2 сообщений из 2, страница 1 из 1
08.09.2014, 11:31
    #38740314
GreenStamp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять пусть запуска скрипта?
Я сразу говорю, что я полный чайник. Залез в 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
=====================================================================================

Буду весьма признателен за помощь!
...
Рейтинг: 0 / 0
08.09.2014, 12:20
    #38740380
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поменять пусть запуска скрипта?
GreenStamp,

Сдается мне, что весь код надо переделывать(если точнее - скорее с нуля новый писать), т.к. этот заточен полностью под FTD.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как поменять пусть запуска скрипта? / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]