Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: Частота получения данных по RS232 СИ30 СИ8 owen_io.dll

  1. #1

    По умолчанию Частота получения данных по RS232 СИ30 СИ8 owen_io.dll

    На испытательном стенде установлены 3 пробора OWEN
    СИ30, СИ8, МВ110-224.1ТД
    Все сидят на 1ой шине RS485 и через конвертер АС3 заведены в ПК.
    Программа самописная работает, используя библиотеку owen_io.dll.
    Работает исправно и данные получаются, но (собственно почему и появилась тема)
    На испытательном стенде высокие требования к частоте получения данных.
    Все приборы последовательно опрашиваются один за другим
    Скорость шины стоит 38400
    Частота получения данных от 60-50 Гц по каждому отдельному прибору, но проблема в том, что данные не изменяются, т.е.
    спрашиваем датчик СИ30
    1 - 1мм
    2 - 1мм
    3 - 1мм
    4 - 1мм
    5 - 2мм
    Получаются такой набор значений (просто для примера).
    Т.е. частота опроса датчика выше на много чем частота получения разных циферок с прибора. Нас это не устраивает, но я пока не пойму с чем это может быть связано. Если вы можете помочь я буду очень благодарен.
    Из-за такой вот ситуации вместо 20 Гц получения набора данных с 3х приборов, фактически получается 4.5 Гц - что печально.

  2. #2

    По умолчанию

    а какая частота импульсов на входе счётчика?
    на экране счётчик показывает правильное значение?

  3. #3

    По умолчанию

    СИ30, СИ8, МВ110-224.1ТД - вместо всего этого надо было поставить ПЛК110[М02].
    Последний раз редактировалось IVM; 27.07.2018 в 11:25.

  4. #4

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    а какая частота импульсов на входе счётчика?
    на экране счётчик показывает правильное значение?
    На экране показывает правильные значения. Как бы проблем с пропуском импульсов нет.
    Частота там значительно менее 10 кГц на входе, порядка 2-4 кГц.

    Цитата Сообщение от IVM Посмотреть сообщение
    СИ30, СИ8, МВ110-224.1ТД - вместо всего этого надо было поставить ПЛК110[М02].
    Я программист, а шкаф собирал местный народ - электронщики. Мне дали уже набор готовый. А сейчас нужен совет, что сделать чтобы стало хорошо и лучше

  5. #5

    По умолчанию

    у меня встаёт вопрос актуальности такого пулинга со стороны компа, а оно вообще требуется? что Вы хотите сделать с таким массивом данных?
    если выводить на визуализацию - 24 FPS , больше человеческий глаз не тянет, отчёты и данные в БД с такой периодичностью тоже вызывают вопрос - для чего?
    СИ - автономные утройства которые сами выключат станок по уставке. я просто пытаюсь понять , для чего такие требования пулить с ПК данные раз 60 в секунду

  6. #6

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    у меня встаёт вопрос актуальности такого пулинга со стороны компа, а оно вообще требуется? что Вы хотите сделать с таким массивом данных?
    если выводить на визуализацию - 24 FPS , больше человеческий глаз не тянет, отчёты и данные в БД с такой периодичностью тоже вызывают вопрос - для чего?
    СИ - автономные утройства которые сами выключат станок по уставке. я просто пытаюсь понять , для чего такие требования пулить с ПК данные раз 60 в секунду
    Автоматизировали разрыв-машину, которая снимает усилие и перемещение траверсы + скорость перемещения, это с одной стороны, с другой хочется весь этот бутерброд аккредитовать, тогда с другой стороны нужно соответствовать ГОСТ, который устанавливает требования к частоте опроса при определенных скоростях перемещения. После обработки данных строятся графики испытаний и расчитываются автоматически результирующие параметры (сейчс не достает дискретности для расчета). Вот оттуда и такое требование.

    То есть событие (испытание) короткое по времени и данных получается даже с большой частотой - не много. Сейчас самое долгое испытание - это всего 1000-2000 точек. А короткое, где и нужна высокая частота всего 30-50 точек - это мало уж поверьте.

    Вопрос в чем, если это ограничение этого оборудования, то я буду тогда рекомендовать его заменить на что-то более быстро-отдающие данные в ПК.
    Последний раз редактировалось alfdivn; 31.07.2018 в 06:04.

  7. #7

    По умолчанию

    можете приложить кусок кода, как опрос делаете, постараюсь посмотреть, м.б. дам рекомендации если увижу проблемные места (кстати какой конвертер интерфейсов используете? ).

  8. #8

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    можете приложить кусок кода, как опрос делаете, постараюсь посмотреть, м.б. дам рекомендации если увижу проблемные места (кстати какой конвертер интерфейсов используете? ).
    Мы используем АС3 конвертер.

    В качестве приемника выступает 1С
    owen_io.dll завернута через visual studio c# в dll, добавлены классы, чтобы 1С могла ее подключать
    для общения через owen_io.dll созданы 3 класса
    OPCStartConnect(num) // открывает порт
    OPCReadData(adress,typedata,namevar) // читает данные
    OPCEndConnect(void) // закрывает порт

    вот класс для чтения данных (нужное имя я передаю цифрой, а то у 1С и C# нестыковка в текстовых переменных)

    public string OPCReadData(int Address, int typeD, int NameD)
    {
    float value=0;
    int dcnt = 0;
    int dcnt1 = 0;
    int timestamp = 0;
    float dataM = 0;

    string ret;

    string[] nameS = new string[10];
    nameS[0] = "DCNT";
    nameS[1] = "Rd.pF";
    nameS[2] = "DSPD";
    nameS[3] = "Ctr";
    nameS[4] = "CEU";

    IntPtr name = Marshal.StringToCoTaskMemAnsi(nameS[NameD]);

    if(typeD == 0)
    {
    res1 = NativeMethods.ReadSI8BCD(Address, 0, name,ref dcnt);
    dataM = dcnt;
    }
    if(typeD == 1)
    {
    res1 = NativeMethods.ReadIEEE32(Address, 0, name, ref value, ref timestamp, -1);
    dataM = value;
    }
    if(typeD == 2)
    {
    res1 = NativeMethods.ReadSInt(Address, 0, name, ref dcnt, -1);
    dataM = dcnt;
    }
    if(typeD == 3)
    {
    res1 = NativeMethods.ReadUInt(Address, 0, name, ref dcnt1, -1);
    dataM = dcnt1;
    }
    if (res1 == 0)
    ret = Convert.ToString(dataM);
    else
    ret = Convert.ToString(res1);

    return ret;

    }

    Это кусок кода в 1С, как бы все просто, открыл, считал, закрыл....

    OPCconnect = Новый COMОбъект("COMobjOPC.COMOCR");
    аб = OPCconnect.OPCStartConnect(1); // открываем порт (номер COM порта)
    ..............
    ЦИКЛ (пока не остановится траверса)
    .............
    ЗначениеДатчика = OPCconnect.OPCReadData(АдресДатчика,ТипДанных,ИмяП еременной);
    .............
    КОНЕЦЦИКЛА
    OPCconnect.OPCEndConnect();

  9. #9

    По умолчанию

    обмен идёт в одном потоке? не создаются ли конкурирующие? есть возможность поднять скорость опроса (СИ8 поддерживает до 57600)

  10. #10

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    обмен идёт в одном потоке? не создаются ли конкурирующие? есть возможность поднять скорость опроса (СИ8 поддерживает до 57600)
    Обмен идет в одном потоке, пока не удается достичь скорости которая уже есть, так как при запросе прибор не отдает других данных:
    0.1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.2 - 0.2 - 0.2 - 0.2 - 0.3 и т.д., хотя процесс идет непрерывно и с гораздо большей частотой...
    Если бы удалось победить это, может настройкой прибора или еще как-то, то потом можно и скорость опроса поднять, а сейчас скорость поднять будет тот же ряд, только число повторов вырастет .

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 31.03.2017, 19:51
  2. Ответов: 13
    Последнее сообщение: 21.02.2014, 09:28
  3. ПЛК100 + RS232 = Передача данных
    от DrKillJoy в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 10.03.2011, 20:51
  4. проблема получения данных с приборов
    от ольга в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 01.10.2009, 08:00
  5. проблема получения данных с приборов
    от ольга в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 01.10.2009, 07:51

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •