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

Тема: Проблема передачи данных ПЛК <=> ПК

  1. #1

    По умолчанию Проблема передачи данных ПЛК <=> ПК

    Выручайте братцы! Вспомнил я как работать с ПЛК, нашел прошивку старую, прошил! Все работает нормально кроме, передачи переменных по TCP. В ПЛК записать с ПК получается без проблем, а вот считать никак... Иногда считывает, но с чем это связанно... Может переменные как-то отметить нужно... Может я чего-то упускаю? Очень надеюсь на любые советы! Может хоть направление укажите!

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

    По умолчанию

    Вы бы хоть по подробнее делились своей проблемой, просто через ТСР Вы передаете или по какому то протоколу

  3. #3

    По умолчанию

    Протокол ModBus.

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

    По умолчанию

    ну тогда вопрос сколько регистров в слейве (в плк) и по каким адресам пытаетесь считать инфу

  5. #5

    По умолчанию

    Я неплохой программист, но с протоколом ModBus, я так и не разобрался. Делал все по примерам в итоге, получился "зверь", который работал по мне не известным принципам. (Представляю сколько критики будет в мой адрес).
    Я просто в проекте CoDeSys, в ModBus (slave) добавлял переменные по два байта в кол-ве пяти штук (Может сними нужно что-то сделать... В этот раз, я просто загрузил готовую прошивку). А во внешней программе с первой (переменной) считывал показания, а в остальные записывал.

    С внешней программой работал по принципу черного ящика... Нашел рабочий пример по обмену через ModBus, взял оттуда модуль протокола обмена и использовал его в своем проекте. (Повторюсь об отсутствии знаний, протокола обмена) Знаю, что проект 100% рабочий (ранее работал с другим ПЛК и все считывал\записывал нормально). А сейчас записывает нормально, а считывает очень редко (или вообще не считывает). Возможно ошибка где-то в настройке ПЛК (внутренней программы), так как сейчас взял другой ПЛК и проделал с ним все тоже, что делал и с предыдущим. Результат идентичен. Просто даже не знаю, в какую сторону капать. Буду рад любой помощи!

    P.S. По себе знаю, что пытаться помочь человеку совсем не разбирающемуся в теме, крайне сложно и неблагодарно. Но очень прошу помочь!
    Последний раз редактировалось DrKillJoy; 01.12.2012 в 21:46.

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

    По умолчанию

    нумерация в модбас начинается с нуля, т.е. у Вас есть регистры с 0 по 4, чтение осуществляется 03 функцией модбас

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

    По умолчанию

    ru.m.wikipedia.org/wiki/Modbus
    Здесь должны немножко разобраться о чем я написал. Ищите в своей проге для ПК либо номер либо текстовое название функции
    PS пишу с телефона, так что ссылка какая есть уж

  8. #8

    По умолчанию

    Спасибо за ссылку, уже понемногу начинаю понимать ModBus, уже разобрался, что можно писать не только с первого регистра, а с любого выбранного и можно записывать любое кол-во регистров. Но это так...

    Увы с моей проблемой это не помогло. Ведь и раньше я мог записывать нормально, просто сейчас получается лучше. )
    При считывании же вообще ничего не возвращает, как будто не видит мои переменные(регистры). Может их надо еще как-то объявить\расшарить?

    * * *

    Пробовал подключиться к ПЛК с помощью "EasyWorkPLC", но она выдает ошибку, и не подключается... Может, это как-то связанно?

    * * *
    Смог подключить... (Это CoDeSys не давал). Но насколько я помню, в ней (EasyWorkPLC) можно было посмотреть значения переменных. А тут у меня пусто окно. ( Программа видит ПЛК, но не видит его "внутренностей". Что я сделал не так?
    Последний раз редактировалось DrKillJoy; 02.12.2012 в 11:19.

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

    По умолчанию

    для начала попробуйте воспользоваться такой прогой PeakHMI MODBUS TCP/IP Slave
    simulator (Win GUI), на нее есть ссылка на вышеуказанном сайте. Когда откроете окно мониторинга, там можно посмотреть будет как выглядят запросы и ответы даже побайтно. Можно будет определить в каком месте ошибка с принятием читаемых регистров

  10. #10

    По умолчанию

    С программы все считывается\записывается нормально... В чем подвох?
    Попробую еще раз проект на ПЛК сделать с нуля... Может поможет.

    * * *
    Нет, не помогло. Уже столько всего прочитал... (
    Сдается мне, что это переменные в ПЛК как-то не обозначены, потому их и не видно...
    Но раньше же как-то получалось? Вообще ничего не понятно.
    * * *
    Та-а-ак, уже что-то. Понял почему в "EasyWorkPLC", я ничего не видел... Поменял настройки "Visibility" на "Yes", теперь видно, но не регистры, а адрес контроллера в сети.
    Буду дальше разбираться...
    Может есть еще советы?
    Последний раз редактировалось DrKillJoy; 02.12.2012 в 13:14.

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

Похожие темы

  1. Примеры работы с GSM/GPRS модемом ПМ01
    от Александр Приходько в разделе ПЛК (среда CoDeSys V2.3)
    Ответов: 1
    Последнее сообщение: 16.10.2012, 14:32
  2. Проблема с получением данных от МВА
    от dizpers в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 14.11.2011, 09:43
  3. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42
  4. проблема передачи данных с укт38-щ4.тс
    от лера в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 28.06.2010, 19:57
  5. Ответов: 2
    Последнее сообщение: 11.09.2009, 09:49

Ваши права

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