papia

Ответы в темах

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Записи
  • в ответ на: Невозможно создать канал #36936
    papia
    Участник

    спасибо, помогло

    в ответ на: Невозможно создать канал #36928
    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.600kg

    Matched 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 / 0

    papia
    Участник

    На данный момент у меня есть .exe приложение, которое считывает данные с последовательного порта, создает Modbus-сервер и отправляет с него данные на Rapid Scada. Но хотелось бы без костылей

    papia
    Участник

    В статье описаны разработка DevAbc.logic, DrvAbc.logic, DevAbc.view, DrvAbc.view,а так же файлы .csproj, но в существующих драйверах присутствуют еще и другие файлы, а именно вышеупомянутая папка shared, поэтому возникло непонимание

    papia
    Участник

    Да, появляется. Посмотрел DrvTester, не совсем понял, зачем нужна папка Shared и чем отличается Device Logic от Driver Logic

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)