![]() |
|
v7: Работа с компортом. | ☑ | ||
---|---|---|---|---|
0
uno-group
18.06.16
✎
12:52
|
Есть девайс на Arduino с экранчиком. задача выводить на него информацию из 1с.
Пишу в текстовый файл. Дальше дос команда copy 1.txt \\.\com8 \y или copy 1.txt com8 \y На домашнем компьютере все работает. На рабочих не хочет. Вин7. дрова ставил одни и те же. файлик 1 и тот же, настройки сомпорта в системе стоят одинаковые. Если взять программу терминал то с нее все выводится, что дома, что на работе. мозг сломал куда копать. |
|||
1
Gary417
18.06.16
✎
13:01
|
перевод строки неправильный только в голову приходит
|
|||
2
uno-group
18.06.16
✎
13:04
|
файл скопирован с компа на комп.
|
|||
3
uno-group
18.06.16
✎
13:05
|
А что из ВК умеет в компорт слать команды
надо отсылать что то вроде ^1:1234567890123 |
|||
4
Garykom
гуру
18.06.16
✎
13:52
|
Проверь работу из C#/.Net http://stackoverflow.com/questions/7701061/send-write-commands-to-serial-port-with-c
Если все ок то те сюда Использование классов .Net в 1С для новичков к Serginio1 |
|||
5
Garykom
гуру
18.06.16
✎
13:54
|
||||
6
uno-group
18.06.16
✎
13:58
|
vk_rs232 скачал. чтото отсылает. но или кодировка неправильная нужна ansi или скорость не та. не нашел синтаксиса на нее
|
|||
7
Garykom
гуру
18.06.16
✎
14:03
|
(6) Книга знаний: Работа с последовательным (COM, RS-232) портом из 1С:Предприятие 7.7 и 8.0 в самом конце с исходниками можно посмотреть и поправить.
И да задача которую начинаешь уже быть чистым 1С-ником при решении никак, желательно другие языки знать/учить |
|||
8
Serginio1
18.06.16
✎
14:08
|
||||
9
uno-group
18.06.16
✎
14:30
|
(8) и это для новичков??? Я микропроцесор на незнакомой сиситеме в разы проще запрограмировал.
так и не понял как в порт записать через это. Процедура Сформировать() // rs232.ЗаписатьСтроку(OemToAnsi("^s:")); врап=СоздатьОбъект("NetObjectToIDispatch45"); порт = врап.СоздатьОбъект("System.IO.Ports.SerialPort"); порт.PortName = "COM8"; порт.BaudRate = 115200; порт.DataBits = 8; четность = врап.ПолучитьТип("System.IO.Ports.Parity"); порт.Parity = четность.None; СтопБит = врап.ПолучитьТип("System.IO.Ports.StopBits"); порт.StopBits = СтопБит.One; Управление = врап.ПолучитьТип("System.IO.Ports.Handshake"); порт.Handshake = Управление.RequestToSend; порт.Open(); КонецПроцедуры |
|||
10
Garykom
гуру
18.06.16
✎
14:34
|
(9) У автора просто плохо выходит представить понятно. Но если разобраться и слегка знать C#/.Net то все очень просто.
В данном случае открыли порт. Дальше просто порт.Write("блабла"). https://msdn.microsoft.com/ru-ru/library/y2sxhat8(v=vs.110).aspx Есть пример https://msdn.microsoft.com/ru-ru/library/system.io.ports.serialport(v=vs.110).aspx |
|||
11
Garykom
гуру
18.06.16
✎
14:36
|
(10)+ Про кодировки там тоже есть.
|
|||
12
uno-group
18.06.16
✎
14:37
|
как ее зарегистрировать в системе?
|
|||
13
Garykom
гуру
18.06.16
✎
14:58
|
(12) Почитай про RegAsm только в понятном месте ))
|
|||
14
Garykom
гуру
18.06.16
✎
14:59
|
(12) Книга знаний: Написание внешних компонент для 1С на VB.NET и C#
Регистрация внешней компоненты в системе Windows Внешняя компонента фактически является дополнением для программных файлов 1С:Предприятие, и требует соответствующей установки. Любые внешние компоненты для 1С:Предприятие являются COM-библиотеками, которые необходимо перед первым запуском регистрировать в системном реестре. Для этого необходимо обладать правами администратора или привилегированного пользователя на компьютере, где производится установка. Регистрация при помощи regsvr32 в данном случае, однако, не работает. Пример регистрации компоненты в системном реестре, чтобы ее смогла найти 1С: regasm.exe ИмяКомпоненты.dll /codebase |
|||
15
Garykom
гуру
18.06.16
✎
15:01
|
(14)+ Неупомянутая тут тонкость что .net framework'ов может на компе быть несколько (dll разные "45" для 4.5 без для 2.0) и желательно с полным нужным путем regasm.exe запускать.
|
|||
16
Serginio1
19.06.16
✎
00:04
|
(12) В шапке Использование классов .Net в 1С для новичков есть описание как регистрировать
Рядом с NetObjetToIDispatch.dll есть RegAsm.bat Его нужно запустить от имени администратора. (9) Там же есть примеры работы с Com портом Динамическая компиляция для использования .Net событий в 1С |
|||
17
Serginio1
19.06.16
✎
00:10
|
16+ для подключения событий смотри ТестКомпиляцииСобытий.ert
|
|||
18
Serginio1
19.06.16
✎
00:24
|
Для семерки нужно
врап=СоздатьОбъект("NetObjectToIDispatch45"); врап.УстЭтоСемерка(); Так как не поддерживаются множество типов. И для установки инта нужно врап.ToInt(Строка(стр)); порт.BaudRate = врап.ToInt(115200); порт.DataBits = врап.ToInt(8); либо порт.BaudRate = врап.ToInt("115200"); порт.DataBits = врап.ToInt("8"); Так как в семерке нет int только double. А в .Net может быть перегрузка методов и нужен точный тип. |
|||
19
Zamestas
19.06.16
✎
00:34
|
(0) А MSCOMMLib.MSComm.1 уже не катит?
|
|||
20
oleg_km
19.06.16
✎
10:36
|
(19) Старье и на семерках часто глючит. На .нет лучше
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |