Показано с 1 по 10 из 29

Тема: C# NModbus4+ПЛК63

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    02.03.2015
    Адрес
    г. Алексеевка
    Сообщений
    64

    По умолчанию

    Как говорил ув. Yegor. А откуда берется port? А порт у вас не инициализирован собственно. у вас только установлена скорость обмена. несомненно порт откроется. а остальное по умолчанию следовательно запустится с системными настройками ОС.
    у вас:
    Код:
     
    port.Open();
           if (!port.IsOpen)
                    MessageBox.Show("Порт не открыт");
    какой порт ты открыли? с какой скоростью с ним работать? сколько бит данных? стоповые биты?
    должно быть примерно так:

    Код:
     _serialPort = new SerialPort();
     _serialPort.PortName = SetPortName("COM6");
     _serialPort.BaudRate = SetPortBaudRate(9600);
     _serialPort.Parity = SetPortParity(Parity.None);
     _serialPort.DataBits = SetPortDataBits(8);
     _serialPort.StopBits = SetPortStopBits(StopBits.One);
     _serialPort.ReadTimeout = 500;
     _serialPort.WriteTimeout = 500;
     _serialPort.Open();
                if (! _serialPort.IsOpen)
                    MessageBox.Show("Порт не открыт");
    
    private void button1_Click(object sender, EventArgs e)
            {
             
                var mbus = ModbusSerialMaster.CreateRtu(port);
                MessageBox.Show((mbus.ReadHoldingRegisters(0, 3, 1)[1]).ToString());
            }
    
    //или в одну строчку если жестко надо задать 
    
    SerialPort  _serialPort = new SerialPort( ″COM1″ , 9600, Parity.None, 8, StopBits.One);
    _serialPort.Open();
                if (! _serialPort.IsOpen)
                    MessageBox.Show("Порт не открыт");
    
    private void button1_Click(object sender, EventArgs e)
            {
             
                var mbus = ModbusSerialMaster.CreateRtu(port);
                MessageBox.Show((mbus.ReadHoldingRegisters(0, 3, 1)[1]).ToString());
            }
    а вы не задали настройки порта поэтому и не читается все собственно.
    не факт что у вас системные настройки стоят такие же как у плк к которому подключаетесь.
    ну и не забывайте ошибки порта обрабатывать иначе замучаетесь и не будете знать в чем ошибка)).

    Задайте настройки порта у плк и точно такие же пропишите в программе один в один. не забудте указать ком порт в программе через который идет общение с плк.

    В общем инициализируйте порт попробуйте.
    За работу библиотеки ни чего не скажу... как там читается - пишется.
    Я пробую без библиотек ибо это интересней.


    п.с. За ошибки ответственности не несу)). Я пытаюсь вас направить.
    вот ссылочка https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx там все про ком порт. Ну и гугл помогает.



    Я кстати выше писал про порядок байт возможно в плк надо поменять режим с native mode на tracert mode. но если не имеете доступа к плк, то библиотеке надо указать порядок байт если она это умеет. если нет то пишите функции которые необходимы сами. пример я приводил. прикладываю проект буржуйского коллеги если не заработает то скорее всего у вас именно что то с порядком байт. ну или что то со связью

    также попробуйте утилиту peakhmi. попробуйте с помощь нее подключиться к плк. вам нужно установить serial master. там можно выставить порядок байт если заработает то надо смотреть библиотеку как она работает

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

    может адрес слейв не 1?

    Вообще что нибудь работает с плк по этому интерфейсу? панель или другой девайс, программа.

    да кстати если делали настройки в плк скорость и все такое возможно его надо перезагрузить малоли как там реализовано. может поэтому у вас не получалось.
    Вложения Вложения
    Последний раз редактировалось Kostennikov; 21.01.2016 в 13:17.

  2. #2

    По умолчанию

    https://onedrive.live.com/redir?resi...nt=photo%2cpng - порт настроен в конструкторе. Есть готовая прога, которая успешно опрашивает ПЛК по этому интерфейсу. Адрес слейва я програмно перебирал даже, как и numberOfPoints... Начсет библиотеки, я пытаюсь использовать её, потому, что даже пытаться разобраться в принципах работы этого протокола не хочу совершенно, я ведь даже не знаю, что за прога в ПЛК. Мне просто нужно вытащить данные, засунуть их в бд и разработать веб-приложения для визуализации всего этого дерьма. В общем, проблема не в настройках порта, они выставлены один в один, как на ПЛК

  3. #3
    Пользователь
    Регистрация
    02.03.2015
    Адрес
    г. Алексеевка
    Сообщений
    64

    По умолчанию

    Ну а что стоит обратиться к тому чья эта прога и узнать список регистров может вы пытаетесь читать то чего там нет))). Карта регистров есть(мне попадался как то плк там такой круговорот регистров был...)? И не работает ли эта прога одновременно с вашей?


    Вы сами то не рассказываете что да как. все возможное я уже перебрал.
    Давайте от конкретных значений отталкиваться.

    Адрес плк. какой, номер регистра, его тип word, float. какой функцией читаете?
    Последний раз редактировалось Kostennikov; 22.01.2016 в 13:11.

  4. #4

    По умолчанию

    Те, чья прога с нами работать отказываются. Карты регистров нет. Я, честно говоря, даже не понимаю, что это такое. Адрес ПЛК 1. Функции все из библиотеки NModbus перебрал, в нелепой попытке прочитать с устройства хоть что-нибудь. А рассказываю я вам всё, что знаю сам, просто я почти ничего не знаю, в этом то вся и проблема. Спасибо вам кстати большое за то, что помогаете.

  5. #5
    Пользователь
    Регистрация
    02.03.2015
    Адрес
    г. Алексеевка
    Сообщений
    64

    По умолчанию

    Цитата Сообщение от fillpackart Посмотреть сообщение
    Те, чья прога с нами работать отказываются. Карты регистров нет. Я, честно говоря, даже не понимаю, что это такое. Адрес ПЛК 1. Функции все из библиотеки NModbus перебрал, в нелепой попытке прочитать с устройства хоть что-нибудь. А рассказываю я вам всё, что знаю сам, просто я почти ничего не знаю, в этом то вся и проблема. Спасибо вам кстати большое за то, что помогаете.
    список регистров и их описание например
    адрес регистра 40002 тип word (количество циклов розлива)
    адрес регистра 40003 тип word (производительность в час)

    табличка подобная .

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,590

    По умолчанию

    Цитата Сообщение от fillpackart Посмотреть сообщение
    Те, чья прога с нами работать отказываются. Карты регистров нет. Я, честно говоря, даже не понимаю, что это такое. Адрес ПЛК 1. Функции все из библиотеки NModbus перебрал, в нелепой попытке прочитать с устройства хоть что-нибудь. А рассказываю я вам всё, что знаю сам, просто я почти ничего не знаю, в этом то вся и проблема. Спасибо вам кстати большое за то, что помогаете.
    я правильно понимаю, что Вы о плк63 говорите? Если да, тогда вот ссыль http://www.owen.ru/uploads/rp_plk63.73.pdf где в таблице А есть номера регистров, вторая и третья колонки, простой перебор от нуля не один раз будет уходить в таймаут
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7
    Пользователь
    Регистрация
    02.03.2015
    Адрес
    г. Алексеевка
    Сообщений
    64

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    я правильно понимаю, что Вы о плк63 говорите? Если да, тогда вот ссыль http://www.owen.ru/uploads/rp_plk63.73.pdf где в таблице А есть номера регистров, вторая и третья колонки, простой перебор от нуля не один раз будет уходить в таймаут
    Так надо эти таймауты выдержать. По опыту плк иногда в перезагрузку уходит. но если между запросами таймаут поставить или читать 100% известный регистр после неудачи то такого не будет. Я так понял счетчик ошибок после успешного чтения обнуляется или как там в плк задумано. Да долго зато надежно.

Похожие темы

  1. ПЛК63
    от Andrew82 в разделе ПЛК63/73
    Ответов: 6
    Последнее сообщение: 19.10.2015, 14:44
  2. Help!!! ПЛК63
    от Makar в разделе ПЛК63/73
    Ответов: 23
    Последнее сообщение: 25.05.2015, 17:06
  3. ПЛК63-L
    от CheeryNick в разделе Сервисное ПО
    Ответов: 1
    Последнее сообщение: 31.01.2011, 09:57
  4. плк63
    от morcegolamer в разделе ПЛК63/73
    Ответов: 2
    Последнее сообщение: 07.05.2010, 23:53

Ваши права

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