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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

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

  2. #2
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

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

  3. #3

    По умолчанию

    Протокол ModBus.

  4. #4
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

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

  5. #5

    По умолчанию

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

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

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

  6. #6
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

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

  7. #7
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

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

  8. #8

    По умолчанию

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

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

    * * *

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

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

  9. #9
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

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

  10. #10

    По умолчанию

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

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

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

Похожие темы

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

Ваши права

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