Ответы в темах
-
АвторЗаписи
-
papia
Участникспасибо, помогло
papia
Участникhttps://imgur.com/a/rs9xdJN
Перезалил изображенияpapia
Участникhttps://github.com/Porousaki/DrvAbc.Logic
https://github.com/Porousaki/DrvMes.ViewФинальная версия драйвера с формой настройки устройства
Тип линии связи — undefined, настройки последовательного порта передаются через настройки устройства. Драйвер предназначен конкретно для весов Mertech M-ER II, но можно убрать логику парсинга чисел из строки и получится драйвер для любого устройстваpapia
УчастникПо итогу вышеупомянутые проблемы решились перезагрузкой компьютера. Сделал нормальную версию драйвера: https://github.com/Porousaki/DrvMes
Работает с «не заданным» типом линии. Открывает СОМ8 порт (надо как-то сделать выбор, какой именно порт открывать, через меню драйвера…когда разберусь, как делать интерфейсы драйверов) и пишет в лог линии:
Received data: 2.300kg 2.500kg 2.600kgMatched value: ‘2.300’
Matched value: ‘2.500’
Matched value: ‘2.600’
Mean of the three numbers: 2,467
Проверял на эмуляторе, так как самих весов под рукой сейчас нетpapia
УчастникDrvMsc.Logic.dll*, это опечатка, если что
papia
УчастникПопытался через такой же подход сделать драйвер, который бы работал просто с незаданным типом линии https://github.com/Porousaki/DrvMsc.Logic
Однако при запуске линии в ее журнале ничего нет, в журнале коммуникатора:
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ACT] Communicator 6.2.0.0 started
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ACT] Storage FileStorage 6.2.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\FileStorage.dll
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ACT] Start logic processing
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ACT] Driver DrvDsScadaServer 6.0.1.1 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvDsScadaServer.Logic.dll
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ERR] Unable to create driver logic DrvMsc. File C:\Program Files\SCADA\ScadaComm\Drv\DrvMsc.Logic.dll not found
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer initialized successfully
2025-02-14 21:01:22 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: Receive the configuration database
2025-02-14 21:01:24 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: The configuration database has been received successfully
2025-02-14 21:01:24 [HOME-PC][HOME-PC$][ACT] Start communication lines
2025-02-14 21:01:24 [HOME-PC][HOME-PC$][ERR] Driver DrvMsc for device [0] scales not found.
2025-02-14 21:01:24 [HOME-PC][HOME-PC$][ACT] Start reading commands from files
2025-02-14 21:01:27 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: Connection state is Logged InВ папке lib DrvMsc.View.dll лежит, в папке Drv лежит Drvmsc.Logic.dll, странно, почему не может найти драйвер.
papia
УчастникНемного поразбирался в проблеме и сделал собственный драйвер:
Если в настройках линии связи выбрать COM1(порт, куда подключены весы), то выдает следующее в журнале линии:2025-02-14 16:24:11 Session with the device [0] scales
Error reading from COM port: Access to the path ‘COM1’ is denied.(По всей видимости, драйвер пытается открыть ком-порт который уже открыт линией связи. В коде драйвера указан именно этот порт, так как я не понял, как это сделать динамически)
Если же поменять в настройках линии связи COM-порт на любой другой, вставить весы в этот порт (чтобы он открылся и линия связи начала работать), выходит следующее:2025-02-14 16:28:20 Session with the device [0] scales
Error reading from COM port: Could not find file ‘COM1’.
-видимо, это драйвер пытается считать значение с COM1.Далее вытаскиваю весы из COM7 и вставляю в COM1 — выходит следующее:
2025-02-14 16:28:37 Session with the device [0] scales
Received data: U 00.931kgl
2025-02-14 16:28:38 Session with the device [0] scales
Received data: U 00.992kge
2025-02-14 16:28:38 Session with the device [0] scales
Received data:
2025-02-14 16:28:38 Session with the device [0] scales
Received data:
2025-02-14 16:28:39 Session with the device [0] scales
Received data: U
2025-02-14 16:28:39 Session with the device [0] scales
Received data: S 00.99информация доходит, но частями (со специальными символами и т.д., в коде драйвера это исправимо в будущем)
Вот сам драйвер: https://github.com/Porousaki/DrvAbc.Logic
Скорее всего, конечно, я делаю что то не так и драйвер не должен открывать COM-порт сам, а должен как то наследовать его от линии связи…
papia
УчастникСоздал линию с DrvTester
Параметры линии:
BaudRate = 9600
Behavior = Slave
DataBits = 8
DtrEnable = false
Parity = None
PortName = COM1
RtsEnable = false
StopBits = One
Параметры устройства(драйвера):
BinStopCode = 0
BufferLength = 48
ReadMode = String
StopEnding =Логи линии:
2025-02-12 16:18:02 [HOME-PC][HOME-PC$][ACT] Communicator 6.2.0.0 started
2025-02-12 16:18:02 [HOME-PC][HOME-PC$][ACT] Storage FileStorage 6.2.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\FileStorage.dll
2025-02-12 16:18:02 [HOME-PC][HOME-PC$][ACT] Start logic processing
2025-02-12 16:18:03 [HOME-PC][HOME-PC$][ACT] Driver DrvCnlBasic 6.1.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvCnlBasic.Logic.dll
2025-02-12 16:18:03 [HOME-PC][HOME-PC$][ACT] Driver DrvDsScadaServer 6.0.1.1 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvDsScadaServer.Logic.dll
2025-02-12 16:18:03 [HOME-PC][HOME-PC$][ACT] Driver DrvTester 6.0.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvTester.Logic.dll
2025-02-12 16:18:03 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer initialized successfully
2025-02-12 16:18:03 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: Receive the configuration database
2025-02-12 16:18:05 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: The configuration database has been received successfully
2025-02-12 16:18:05 [HOME-PC][HOME-PC$][ACT] Start communication lines
2025-02-12 16:18:05 [HOME-PC][HOME-PC$][ERR] Error creating communication line [0] serialline: Slave behavior of the communication channel is not supported by the device [0] scales
2025-02-12 16:18:05 [HOME-PC][HOME-PC$][ACT] Start reading commands from files
2025-02-12 16:18:07 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: Connection state is Logged InЛоги если поменять поведение в настройках линни на Master:
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Communicator 6.2.0.0 started
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Storage FileStorage 6.2.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\FileStorage.dll
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Start logic processing
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Driver DrvCnlBasic 6.1.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvCnlBasic.Logic.dll
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Driver DrvDsScadaServer 6.0.1.1 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvDsScadaServer.Logic.dll
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Driver DrvTester 6.0.0.0 loaded from file C:\Program Files\SCADA\ScadaComm\Drv\DrvTester.Logic.dll
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer initialized successfully
2025-02-12 16:19:45 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: Receive the configuration database
2025-02-12 16:19:47 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: The configuration database has been received successfully
2025-02-12 16:19:47 [HOME-PC][HOME-PC$][ACT] Start communication lines
2025-02-12 16:19:47 [HOME-PC][HOME-PC$][ACT] Start reading commands from files
2025-02-12 16:19:50 [HOME-PC][HOME-PC$][ACT] Data source ScadaServer: Connection state is Logged InОднако в устройстве ничего не приходит, только копятся ошибки:
Sessions (total / errors) : 3153 / 0
Commands (total / errors) : 0 / 0
Requests (total / errors) : 3153 / 0papia
УчастникНа данный момент у меня есть .exe приложение, которое считывает данные с последовательного порта, создает Modbus-сервер и отправляет с него данные на Rapid Scada. Но хотелось бы без костылей
papia
УчастникВ статье описаны разработка DevAbc.logic, DrvAbc.logic, DevAbc.view, DrvAbc.view,а так же файлы .csproj, но в существующих драйверах присутствуют еще и другие файлы, а именно вышеупомянутая папка shared, поэтому возникло непонимание
papia
УчастникДа, появляется. Посмотрел DrvTester, не совсем понял, зачем нужна папка Shared и чем отличается Device Logic от Driver Logic
-
АвторЗаписи