Ðàáîòà ñ COM. Óñòðîéñòâî Ke-USB24A
|
|
Âòîðíèê, 08 Ìàÿ 2018 ã. 16:18
+ â öèòàòíèê
Ãîñïîäà, ïðèâåòñòâóþ.
Äîñòàëàñü ìíå áàçêà (2003) íà äîðàáîòêó.
Âíóòðè îêàçàëîñü, ÷òî îíà ðàáîòàåò ñ óñòðîéñòâîì ïî COM ïîðòó.
Íåîáõîäèìàÿ áèáëèîòåêà ïîäêëþ÷àåòñÿ.
Íà âðåìÿ ðàçðàáîòêè, ÿ ýòî îáîøåë.
Êëèåíòó âåðíóë åå óæå â 2010 (êëèåíò ìåíþøêó çàõîòåë).
Ñåé÷àñ âçàèìîäåéñòâèÿ íåò. ×åëîâåê óòâåðæäàåò, ÷òî ðàíüøå (ñ ïîë ãîäà íàçàä) âñå ðàáîòàëî.
| + |
Dim KeUSB As New MSComm
Sub ComPortSearch()
On Error GoTo Err_ComPortSearch
PortNum = 1
'Èùåì ïîðò
PortSearch:
If PortNum > 50 Then
MsgBox "Áëîê óïðàâëåíèÿ íå íàéäåí. Ïðîâåðüòå ïîäêëþ÷åíèå USB êàáåëÿ.", , "Test"
DoCmd.Quit
Exit Sub
End If
' íà÷èíàÿ ñ ýòîé ñòðîêè áüåò îøèáêó íà êàæäîé ñòðîêå
' KeUSB - âåðîÿòíî â ýòîò ìîìåíò íå ñóùåñòâóåò
KeUSB.CommPort = PortNum
KeUSB.Settings = "9600,N,8,1"
KeUSB.Handshaking = comNone
KeUSB.InputLen = 0
KeUSB.InBufferSize = 40
KeUSB.OutBufferSize = 40
KeUSB.RThreshold = 0
'Îòêðûâàåì ïîðò
KeUSB.PortOpen = True
'Ïðîâåðÿåì êîíòðîëëåð
KeUSB.Output = "$KE" & Chr(13) & Chr(10)
Sleep (5)
strDa = KeUSB.Input
strDa = Left(strDa, 3)
If strDa = "#OK" Then Exit Sub 'Íîìåð ïîðòà â ïåðåìåííîé PortNum
'Çàêðûâàåì ïîðò
KeUSB.PortOpen = False
PortNum = PortNum + 1
GoTo PortSearch
Exit_ComPortSearch:
Exit Sub
Err_ComPortSearch:
Resume Next
End Sub
|
íà ïðîâåðêó Is nothing - áüåò îøèáêó,
â îáðàáîò÷èêå îøèáîê íîìåð îøèáêè è îïèñàíèå íå îòëîâèòü, íè÷åãî íå îòäàåò (íàâåðíîå áèáëèîòåêà íè÷åãî íå âîçâðàùàåò)
Ñ COM ñòàëêèâàþñü âïåðâûå. (â äèñïåò÷åðå óñòðîéñòâ îí åñòü)
Ïîäñêàæèòå, â êàêîì íàïðàâëåíèè ðûòü?
http://www.sql.ru/forum/1292564/rabota-s-com-ustroystvo-ke-usb24a
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-