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

Тема: плк110 + пм01. проблема с передачей данных

  1. #1

    По умолчанию плк110 + пм01. проблема с передачей данных

    Здравствуйте. Возникла следующая проблема: Есть объект, на котором установлен ПЛК110 и модем ПМ01. На диспетчерском компьютере - ПМ01 и Lectus OPC. Плк настроен мастером, а Lectus слейвом. ПЛК звонит и передает данные, с этим порядок - все приходит нормально. Но есть необходимость, чтобы ПЛК считал одну переменную из Lectus OPC. Происходит какой-то бред, читать то он ее читает, но пишет не понятно куда, такое впечатление - идет какое-то замещение адреса переменной (например пишем по 0000НЕХ, а в ПЛК она приходит иногда в 0003НЕХ, а иногда 0005НЕХ, а иногда вообще плясать начинает по адресам ). В тоже время, напрямую подключаем кабелем ПЛК к Lectus все работает отлично. Как только ставим модемы, получается вот такой бред. Соединение CSD.

  2. #2
    Ельцов Андрей
    Гость

    По умолчанию

    Попробуйте создайте ПЛК-конфигурацию заново. Чтобы ничего кроме вашего modbus не было.
    Опрос необходимо делать по modobus ascii.
    Убедитесь, что на все запросы ПЛК получает безошибочные ответы, а то у Вас может получаться так, что ПЛК решил что на запрос у него таймаут и послал следующий запрос. А в этот момент получил ответ на предыдущий запрос, в итоге получается "чехарда".

  3. #3

    По умолчанию

    плк конфигурацию пробовали. опрос Ascii тоже стоит.
    а как убедится, что плк получает безошибочные ответы?

  4. #4

    По умолчанию

    Вот кусочек лога из Lectus OPS:
    Вот это по адресу 0000НЕХ приходит число 3123(0С33НЕХ) в Lectus из ПЛК
    11:00:33.515 [980] (COM3)Rx: [17] ":01 06 00 00 0C 33 BA CR LF "
    11:00:33.515 [980] (COM3)Tx: [17] ":01 06 00 00 0C 33 BA CR LF "
    А вот тот запрос с которым проблема. У меня вопрос, почему с ПЛК приходит нормальный запрос, а Lectus отвечает на байт меньше - адрес вообще левый какой-то шлет: вместо 001АНЕХ вставляет просто 02НЕХ.
    А число нормально 2305НЕХ (8965DEC)
    11:00:33.828 [980] (COM3)Rx: [17] ":01 03 00 1A 00 01 E1 CR LF "
    11:00:33.828 [980] (COM3)Tx: [15] ":01 03 02 23 05 D2 CR LF "

  5. #5
    Ельцов Андрей
    Гость

    По умолчанию

    это не левый байт, это количество байт данных в посылке.
    если есть возможность посмотрите, что на стороне плк,

  6. #6

    По умолчанию

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

    P.S. Пробовали сделать наоборот, ПЛК - мастер, а Lectus - слейв. все работает отлично.
    Но нам необходимо, что бы именно ПЛК был мастером.
    Последний раз редактировалось Mackey; 01.06.2010 в 14:03.

  7. #7

    По умолчанию

    Цитата Сообщение от Mackey Посмотреть сообщение
    простите)) сначало написал, а потом глянул спецификацию модбаса))
    я просто не представляю каким образом посмотреть, что на плк творится. если не сложно, подскажите, как вклинится, между модемом и плк?

    P.S. Пробовали сделать наоборот, ПЛК - мастер, а Lectus - слейв. все работает отлично.
    Но нам необходимо, что бы именно ПЛК был мастером.
    От модема к ПЛК у вас идет RS-485. Берете любой преобразователь интерфейса АС4, АС3М или если есть, то свой. Запускаете снифер - программа которая умеет читать содержимое порта и вот вам содержимое.

  8. #8

    По умолчанию

    Цитата Сообщение от Mackey Посмотреть сообщение
    я просто не представляю каким образом посмотреть, что на плк творится. если не сложно, подскажите, как вклинится, между модемом и плк?
    если по 232му то-
    http://www.airborn.com.au/serial/rs232.html
    последня часть статьи

  9. #9

    По умолчанию

    Jeck, спасибо за ссылку. Спаяли кабель и подключили к терминалу. В самом деле была "чехарда". После установки в ПЛК параметра Polling Time равным 1200 - данные пошли по порядку. Но ПЛК всеже тупит. Сделали, новые проекты в ПЛК и в Lectus. Завели 4 переменных которые ПЛК должен считать(адреса 0000НЕХ-0003НЕХ) и две переменных отправить(адреса 0004НЕХ и 0005НЕХ). В Lectus записали значения от 1 до 4, по соответствующим адресам. Посмотрели лог общения ПЛК с модемом - данные идут по порядку. Вот он:
    CONNECT 9600
    :010300030001F8
    :0103020004F6
    :010300020001F9
    :0103020003F7
    :010300010001FA
    :0103020002F8
    :010300000001FB
    :0103020001F9
    :010600050036BE
    :010600050036BE
    :0106000400DB1A
    :0106000400DB1A

    Но ПЛК занес эти данные со смещением -1. То есть то что в Lectus находилось по адресу 0001НЕХ, занес в 0000НЕХ, а 0002НЕХ в 0001НЕХ и так далее. Вот скриншот.

    Повторюсь, когда делаем Lectus - мастером, а ПЛК - слейвом, то все отлично. Все данные идут куда надо, более того - мы даже не заморачивались на счет таймаутов. Все было нормально.
    А вот когда ПЛК - мастер...беда...
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.JPG 
Просмотров:	207 
Размер:	87.2 Кб 
ID:	2424  

  10. #10

    По умолчанию

    всеже почему плк заносит данные со смещением? есть у кого-нибудь мысли на сей счет? что я делаю не так?
    и как уменьшить время опроса? 1.2 секунды многовато(

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

Ваши права

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