|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Добрый день! Опять все тот же вопрос... С виртуальными com портами все работает отлично, использовал ComPort Data Emulator, Фокс отлавливает все данные на ура. А вот в реальной жизни не все так просто - прицепил к весам программку ComRead, посмотрел - и что это за хрень? В документации к весам сказано, что 500кг="00.0050" А у меня что? Кто нибудь, помогите разобраться, как мне нормальную строку из этих кракозябров получить. Скриншоты прилагаю. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 06:13 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
А вот еще - на форме отображается только первый символ из "кракозябры" и при этом там что-то мельтешит со страшной силой :(( Вот Init формы: this.olecontrol1.commPort=4 this.olecontrol1.rthreshold=1 this.olecontrol1.settings="9600,n,8,1" thisform.olecontrol1.portOpen=.t. А вот событие OnComm: LOCAL c1 c1=this.input thisform.text1 .value=c1 thisform.text1.Refresh() Что-то не так? Почему с эмулятором все отлично работает, а на практике все не так? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 06:26 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Ты бы лучше все что из порта читаешь писал бы в файл, а файл сюда выложил. По скриншотам ничего не понятно. ЕМНИП в твоем девайсе настройки были в каком виде выдавать, ими тоже поиграй. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 06:52 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
добавь строчку Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 06:59 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Хорошо, файл я отправлю (может, даже сегодня) - до весов еще доехать надо... А вот второй вопрос - на скриншоте видно, что строка данных явно больше одного символа, а на форме Фокса мелькает только один. Он что, не успевает отобразить данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 07:28 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Возможно ты неправильно читаешь. Там идет поток данных, какая-то часть прочиталась, сработал OnComm, ты прочитал и затер прочитанное ранее при записи в текстбокс. Что прочитал - непонятно, т.к. там может быть как сообщение целиком, так и кусок сообщения, и несколько сообщений и т.д. Надо смотреть весь поток, т.е. писать в файл все что прочитано. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 07:48 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Вот такой получился файлик... Вес был сначала 0, потом на весы стал мужик, индикатор показывал 110 кг, а вот что получилось в файле - непонятно :(( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 10:03 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Скажите, а в настройках самой Windows не может быть косяков? Вот сейчас связался с мужиком с компании производителя весов, он "проиграл" у себя ситуацию, говорит, всё нормально. Да и мне кажется, что по любому там строка выдается, только отображается как-то криво... Как проверить-то? p.s Другого компьютера под рукой нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 13:04 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Jimy, а порт настроен правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 13:10 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Посмотрел файл. Лажа там какая-то, по 37 байт на запись содержимое в HEX Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114.
Похоже с чтением проблемы какие-то, т.к. всего два значения чередуются 80 и 00. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 13:27 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
А вот в железе может быть проблема? Эта штука подключена не напрямую в ком-порт, а через COM-USB. Но в диспетчере устройств вроде все стоит правильно, эта хрень на COM4... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 14:54 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
JimyА вот в железе может быть проблема? Эта штука подключена не напрямую в ком-порт, а через COM-USB. Но в диспетчере устройств вроде все стоит правильно, эта хрень на COM4... Не спец, имел дело только с фискальными регистраторами в COM-порт, и то там собственный софт был для обмена, я выставлял в настройках только номер порта и скорость передачи. Ты кстати скорость проверял? Она одинаковая должна стоять на девайсе и на компе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 15:05 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
А вот завтра проверю. И на всякий случай переустановлю драйвера на этой штуковине. Спасибо за участие и ответы! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2016, 16:20 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
решал такую же проблемку в нашем порту. весы для потока машин. была фокспрошная программа - но как обычно 10летней давности без текстов. в конечном итоге нашел парня, который разобрался в протоколе весов и за денюжку написал программульку на VB.NET, которая висит в трее читает с COM порта и пишет в sql табличку (структуру обсудили). я уже в своей программе читаю 3 раза в секунду эту таблицу и ловлю стабильный вес - отображаю его. оператор вводит чего нужно дополнительно и... ну и дальше что-то свое. старая система архитектурно примерно также так же фунциклировала. написал парню который писал свой модулек. если ему кода не будет жалко выложу... или хотя бы идеей может поделится. он по описанию весов нашел структуру потока текста передаваемого с весов по com-порту, ну и разобрался. весов у нас 2 штуки. на одних компик обычный с com-портом. на вторых нотебук там usb на com проводок. и там и там работает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2016, 09:29 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
решал такую же проблемку в нашем порту. весы для потока машин. была фокспрошная программа - но как обычно 10летней давности без текстов. в конечном итоге нашел парня, который разобрался в протоколе весов и за денюжку написал программульку на VB.NET, которая висит в трее читает с COM порта и пишет в sql табличку (структуру обсудили). я уже в своей программе читаю 3 раза в секунду эту таблицу и ловлю стабильный вес - отображаю его. оператор вводит чего нужно дополнительно и... ну и дальше что-то свое. старая система архитектурно примерно также так же фунциклировала. написал парню который писал свой модулек. если ему кода не будет жалко выложу... или хотя бы идеей может поделится. он по описанию весов нашел структуру потока текста передаваемого с весов по com-порту, ну и разобрался. весов у нас 2 штуки. на одних компик обычный с com-портом. на вторых нотебук там usb на com проводок. и там и там работает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2016, 09:31 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
Спасибо, да я тоже разобрался... Дело по ходу было в настройках терминала самих весов (или в драйверах). Слава богу, данные получил. Только вот отупел совсем с этим "железом" - как символы "левые" убрать? Получаю данные в виде строки: wh000001142kg. Вот цифры это и есть вес. Мне надо откинуть все лишнее, кроме нолей. Понимаю, что надо смотреть в сторону ISDIGIT(),ISALPHA() но совсем нет времени.. Подскажите на скорую руку... Мне надо их заменить пробелами, а потом VAL() переведет их в цифру (дробная часть тут не нужна) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2016, 14:23 |
|
Опять косяк с COM портом
|
|||
---|---|---|---|
#18+
JimyПолучаю данные в виде строки: wh000001142kg. Вот цифры это и есть вес. Мне надо откинуть все лишнее, кроме нолей. Понимаю, что надо смотреть в сторону ISDIGIT(),ISALPHA() но совсем нет времени.. Подскажите на скорую руку... Мне надо их заменить пробелами, а потом VAL() переведет их в цифру (дробная часть тут не нужна) Спасибо!И зачем нули заменять пробелами? С каких пор Val() перестала их правильно понимать? Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2016, 15:08 |
|
|
start [/forum/topic.php?fid=41&fpage=17&tid=1582063]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 404ms |
0 / 0 |