JurasskPark

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

Просмотр 15 сообщений - с 946 по 960 (из 1,239 всего)
  • Автор
    Сообщения
  • в ответ на: SCADA + OPC вопрос #28916
    JurasskPark
    Участник

    Наверное, вы в настройках драйвера modbus не выставили
    Параметры шаблона — Адресация — Начиная с 0.
    Вот вам и кажется что ничего не получается.
    А так скрины, логи в студию. 🙂

    в ответ на: импорт из MS ACCESS 2013 #28906
    JurasskPark
    Участник

    Вот и поговорили. Даже версию скады не сказали. ?

    JurasskPark
    Участник

    Поставил OPC Сервер Логика

    Если у OPC сервера есть возможность через системные того останавливать опрос, значит линия Скады, должна отправить команду на включение опроса в OPC сервера, почитать текущие параметры, потом команду на останов опроса.

    P. S. Ваша проблема что OPC сервер блокирует опрос, заняв все сессии. Вы должны его периодически включать на опрос и выключать.

    в ответ на: Ошибка установки версии 6.1.2 Win #28879
    JurasskPark
    Участник

    10008 — порт web, который можно менять.
    10000 — порт сервера, который не меняется.

    Netstat -a -что показывает?

    в ответ на: импорт из MS ACCESS 2013 #28868
    JurasskPark
    Участник

    Основная проблема, что в Core поддержка ODBC работает, а точнее не работает. И нужно обращаться к 32битной версии.
    Короче… Я тоже подключиться к Access не смог. Гуглю. )

    JurasskPark
    Участник

    OPC опрашивает через 4 функцию.

    в ответ на: WBCE 2023 #28834
    JurasskPark
    Участник

    https://youtu.be/oxcaKavH2Vs
    Если кто не знает как выглядит Михаил 🙂

    JurasskPark
    Участник

    Хотя мы ввели тот же регистр как в opc

    Не забывайие, что OPC функции меняют местами.
    Если вы написали 400001, то запрос будет отправлен на 300001 и наоборот.
    Так делают Kepware и TopServer.
    Я раньше этого не понимал и часто путался.

    в ответ на: Драйвер для приборов Пульсар V6 #28801
    JurasskPark
    Участник

    Вот бы еще кто объяснил из программистов, почему 5-я строка Format не хочет менять значение по выпадающему списку ?
    Отладчиком смотрел, все в норме, но в 5-й строке в упор отказывается вызывать выпадающий список в столбце «Format».

    Вы про это?
    https://i.ibb.co/7gZ199L/image.png

    в ответ на: Работа TCP клиента #28640
    JurasskPark
    Участник

    Проверил на 5-й версии, тоже валятся ошибки. Ощущение что несовместимость прибора с преобразователем. На том же куске провода на столе (0,5м) через USB-RS485 работает, а через преобразователь нет…

    сейчас поищу сопротивление 120Ом и попробую с ним…

    Не совсем по теме… Но мы неделю бились с Моксой в режиме TCP-cервера, потому что у преобразователя дергалась нога на приём сигнала, буфер преобразователя начинал готовить массив байт, потом понимал, что он пустой и отправлял null.
    Короче, ставили драйвер виртуальный сом-порта и через него получали данные. Только как раз драйвер COM-порта не от MOXA, а от Usirot. Помогло. 🙂

    в ответ на: DrvOPCClassicJP #28595
    JurasskPark
    Участник

    https://www.youtube.com/watch?v=zkg2CCAHldo
    Теперь буду приводить в божеский вид и стараться не поломать 🙂

    в ответ на: DrvOPCClassicJP #28594
    JurasskPark
    Участник

    Какая именно переменная подменялась?
    Она не была static случайно?

    Путь до файла. А соответственно и всё что в нем. 🙂
    Не она, а они. Их было несколько.

    
            #region Variables
            /// <summary>
            /// The application directories
            /// <para>Каталоги приложения</para>
            /// </summary>
            private readonly AppDirs appDirs;
            /// <summary>
            /// The driver code
            /// <para>Код драйвера</para>
            /// </summary>
            private readonly string driverCode;
            /// <summary>
            /// The device number
            /// <para>Номер устройства</para>
            /// </summary>
            private readonly int deviceNum;
            /// <summary>
            /// Name configuration file
            /// <para>Название файл конфигурации</para>
            /// </summary>
            public string shortFileName;
            /// <summary>
            /// Path configuration file
            /// <para>Путь до файла конфигурации</para>
            /// </summary>
            public string projectFileName;
            /// <summary>
            /// Project configuration
            /// <para>Конфигурация проекта</para>
            /// </summary>
            private static Project project;
            /// <summary>
            /// Channel
            /// <para>Канал</para>
            /// </summary>
            private static ProjectChannelDevice channel;
            /// <summary>
            /// Devices
            /// <para>Устройства</para>
            /// </summary>
            public static List<ProjectDevice> devices;
            /// <summary>
            /// Commands Group
            /// <para>Группа команд</para>
            /// </summary>
            private static List<ProjectDeviceGroupCommand> deviceGroupCommands;
            /// <summary>
            /// Command
            /// <para>Команда</para>
            /// </summary>
            private static List<ProjectDeviceCommand> deviceCommands;
            /// <summary>
            /// Tags Group
            /// <para>Группа тегов</para>
            /// </summary>
            private static List<ProjectDeviceGroupTag> deviceGroupTags;
            /// <summary>
            /// Tag
            /// <para>Тег</para>
            /// </summary>
            private static List<ProjectDeviceTag> deviceTags;
            /// <summary>
            /// Driver Tag
            /// <para>Тег драйвера</para>
            /// </summary>
            private static List<CnlPrototypeGroup> driverTags;
            /// <summary>
            /// Error counter
            /// <para>Счетчик ошибок</para>
            /// </summary>
            public ushort countError { get; private set; }
    
            /// <summary>
            /// List driver сlient
            /// <para>Список клиентов</para>
            /// </summary>
            public static List<DriverClient> lstClient = new List<DriverClient>();
    
            /// <summary>
            /// Driver сlient
            /// <para>Клиент</para>
            /// </summary>
            public static DriverClient driverClient;
    
            #region OPC
            /// <summary>
            /// Item Value Result 
            /// </summary>
            private static TsCDaItemValueResult[] resultsValue;
            public static TsCDaItemValueResult[] ResultsValue
            {
                get { return resultsValue; }
                set { resultsValue = value; }
            }
            #endregion OPC
    
            private CancellationTokenSource cancelTokenSource = new CancellationTokenSource();
    
            public bool SessionStop = false;
    
            #endregion Variables
    
    в ответ на: DrvOPCClassicJP #28585
    JurasskPark
    Участник

    Чтение несколько OPC серверов из одного проекта тоже работает 🙂
    Проверил заодно проверку на ошибки 🙂 если режим неправильный и сыпаться ошибки, то после 10 ошибок идет реинициалмзация подключения)
    Я снова довольный как слон! ?

    в ответ на: DrvOPCClassicJP #28581
    JurasskPark
    Участник

    Перенёс чтение конфигурации в создании класса и всë заработало!

    в ответ на: DrvOPCClassicJP #28578
    JurasskPark
    Участник
    
    2023-05-18 12:15:16 Линия связи [27] BZ_DLG_ARM остановлена
    --------------------------------------------------------------------------------
    2023-05-18 12:16:15 [Driver Device Config Num][39]
    2023-05-18 12:16:15 [Driver Device Num][39]
    2023-05-18 12:16:15 [Driver Line Num][27]
    2023-05-18 12:16:15 [Driver Device Driver Code][DrvOPCClassicJP]
    2023-05-18 12:16:15 [Driver Device Code][DrvOPCClassicJP]
    2023-05-18 12:16:15 [Driver Device Short File Name][DrvOPCClassicJP_039.xml]
    2023-05-18 12:16:15 [Driver Device Config DirC:\SCADA6\ScadaComm\Config\]
    2023-05-18 12:16:15 [Driver Device Project File Name][C:\SCADA6\ScadaComm\Config\DrvOPCClassicJP_039.xml]
    --------------------------------------------------------------------------------
    2023-05-18 12:16:15 Запуск линии связи [27] BZ_DLG_ARM
    2023-05-18 12:16:15 [Driver v.0008]
    2023-05-18 12:16:15 [Запуск приложения]
    2023-05-18 12:16:15 [Пауза][100]
    2023-05-18 12:16:15 [Таймаут][200]
    2023-05-18 12:16:15 [Период][00:00:05]
    2023-05-18 12:16:15 [Проект][C:\SCADA6\ScadaComm\Config\DrvOPCClassicJP_022.xml]
    2023-05-18 12:16:15 [OPC серверов][1]
    2023-05-18 12:16:15 [Driver Device Name][OPC сервер]
    2023-05-18 12:16:15 [Группы тегов][1]
    2023-05-18 12:16:15 [Driver Device Group Name][Группа тегов]
    2023-05-18 12:16:15 [Теги][15]
    

    Т.е. когда идёт public DevOPCClassicJPLogic(ICommContext commContext, ILineContext lineContext, DeviceConfig deviceConfig): base(commContext, lineContext, deviceConfig), то название файл правильное, а когда public override void OnCommLineStart() ему имя уже подменили! (

    • Ответ изменён 3 года назад пользователем JurasskPark.
Просмотр 15 сообщений - с 946 по 960 (из 1,239 всего)