Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 18 из 18

Тема: Обмен данными с Овен без SCADA - рабочая програма созданая мною (берите, спрашивайте)

  1. #11

    По умолчанию Modbus TCP Server 1.0.0

    Вот прошло несколько дней и я наваял новый серверок работающий с приборами по TCP.
    Забирайте на http://www.ex.ua/view_storage/457618761447


    Относительно опции "Форсаж" - она увеличивает скорость обмена в 3 раза засчет изменения деления системного таймера.
    Ее не рекомендую включать если у вас присутствуют карявые программы которые используют функцию Sleep() без контроля времени ее исполнения.

    Относительно времени опроса скажу что обмен данными если убрать опцию "Показувати" происходит знааааачительно быстрее - гдето 1000 регистров за 8 секунд;
    Последний раз редактировалось Okmor; 09.06.2011 в 17:43.

  2. #12

    По умолчанию

    А нет-ли у Вас серверка Modbus TCP/IP на C++.

  3. #13

    По умолчанию

    А нет-ли у Вас серверка Modbus TCP/IP на C++.
    К сожалению - нет. Хотя исходники на паскале выложу. - Не состоялось мне выучить С++.
    А энтузиастам скажу что не так сложно это сделать. Начинать надо с готовых программ обмена например SimplyModbusTCP1.3.6 в которой я подсмотрел как правильно расположить данные в пакете, хотя программа в демонстрационном режиме позволяет отправлять всего несколько пакетов, но этого для меня было достаточно.
    После ищем готовые компоненты. Но для меня оказалось приемлемей использовать самые простые TCP компоненты без заточки под Modbus - так значительно проще контролировать ситуацию. Передачу делаю отдельными регистрами для каждой переменной - медленней но зато надежней. Прием осуществляю в бесконечном цикле и в отдельном потоке с перерывами SLEEP() - без него нельзя, иначе жрет слишком много ресурсов. (Про войну SLEEP() и Windows ето отдельная тема).
    Для надежности поставил сторожевой таймер который следит за приходом ответов и если ответ не пришел в течении 3 секунд - переоткрывает порт и начинает все сначала. Протокол TCP предусматривает позволительную 30 секундную задержку в ответе - после чего все отваливается напрочь - ее я ждать не хочу и думаю 3 секунд достаточно.
    Писалось все на Lazarus (FreePascal) сборки CodeTyphon - поищите там оооочень много всего , а особенно красивых компонент.


    Вот исходники http://www.ex.ua/view_storage/275324846354
    Последний раз редактировалось Okmor; 10.06.2011 в 11:25.

  4. #14

    По умолчанию

    Странно, что тебя еще в курилку не отправили!!!
    Местные модераторы самодельщиков терпеть не могут!!!
    У меня тоже есть свой Lectus, который работает с любым OPC.
    В моем случае: OWEN, MODBUS, CoDeSys, UniOPC (Unitronics).
    А также опрашивает приборы без OPC или с очень капризными OPC:
    - РМТ-39, 49, 59 (Элемер)
    - Тензо-М (Тензовесы)
    - даже бесперебойник IPON, правда к нему коллеги уже преобразователь сваяли, позволяющий опрашивать все параметры (вх. напряжение, вых. напряжение, заряд) по RS485 с поддержкой MODBUS-протокола.

    Стоит один системничек, а точнее очень маленький терминальчик без винта (загрузка с флешки 8Гб), без клавы, без моника. К нему в USB натыкали несколько AC4 в разные стороны и с разными протоколами. Вот он и сидит тихонько опрашивает и складывает на MS SQL 2005 в офисе.
    Маленький клиентик позволяет с любого РМ залесть, текущие данных глянуть или график за любой период развернуть и распечатать. Короче технологи, начальство довольны и я немножко. Сейчас впихиваю всякие вкусности. Например, расчет коэфициентов ПИД-регуляторов по протоколу регулируемой величины и состоянию исполнительного механизма. Или формирование корточки работы оборудования. Или поиск и выявление всяких косяков в работе аппаратчиков.
    Кстати, он не только протоколирует, но и рассылает на всякие контроллеры и панели нужную для аппаратчиков информацию. Так им теперь бегать из цеха в цех не надо. Стоит, например, один СП270 в диспетчерской, а на нем температуры всех холодильных камер со всего завода. Дешево и сердито!!!
    Проект на VB6. С MS SQL работаю через ADO DB.
    Если что-то делать без ЗДРАВОГО СМЫСЛА, то вскоре он приходит сам и заставляет все переделать!

  5. #15

    По умолчанию

    Странно, что тебя еще в курилку не отправили!!!
    Местные модераторы самодельщиков терпеть не могут!!!
    Про это я незнал.
    Прошу не относится к тому что я делаю очень серезно. Так как компютерного образования у меня нет, а я не люблю (как поет Высоцкий "Наполовину"). Но опыт показал что не все так страшно как выглядит. Некоторые вещи делаются очень просто и легко и пихают нам эти вещи за сууууумашедшие бабки.
    Разработка своего кода позволяет полностью контролировать ситуацию и легко выходить за рамки возможностей готовых СКАДА. Например впихнуть в готовую визуализацию с помощью дескрипторов и API несколько кнопок и также читать с программы данные (А Датчане заходели за две кнопки 10000 евро).
    Данный серверок еще не обкативался на производстве, но отдельные его елементы уже работают. Через несколько месяцев наша фирма начнет строительство нового завада и,я думаю, будет возможность его обкатать и прибавить много интерестных функций.

    Сейчас есть неразрешенный вопрос с функцией SLEEP() она меньше чем за 15мс не хочет возвращать управление, а для уменьшения дискретности нужно менять таймер системных процессов (глобальный !!!). Может ктото знает как с етим боротся.

  6. #16

    По умолчанию

    Не могу открыть в чем дело, а так охота посмотреть.
    Modbus RTU Server RS485.zip
    pas.zip

  7. #17

    По умолчанию

    Не могу открыть в чем дело, а так охота посмотреть.
    Modbus RTU Server RS485.zip
    pas.zip
    Архивировал 7ZIP -пробуйте его.
    Сечас работу над роектом прекратил - нет времени. Но имея исходники кждый может сделать то что ему нужно.
    Еще замечен глюк при закрытии проекта, это через некоректное закрытие потоков - разбиратся нет времени.

  8. #18

    По умолчанию

    обновите ссылки на файлы. ничего не качается.

Страница 2 из 2 ПерваяПервая 12

Ваши права

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