Страница 5 из 699 ПерваяПервая ... 345671555105505 ... ПоследняяПоследняя
Показано с 41 по 50 из 6985

Тема: CODESYS V3.5. Вопросы и ответы

  1. #41
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    955

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    Понял, а ктонибудь знает как её всю распечатать? И в каком разделе там про время? Превели бы эту справку в PDF как во 2ом КДС.
    Снимок.JPG
    Там и кнопочка печать есть

  2. #42
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,612

    По умолчанию

    Печатает только она текущий раздел

  3. #43
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    955

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    Печатает только она текущий раздел
    Ну хоть так и то ладно

  4. #44

    По умолчанию

    функция Modbus 16 H MB_WR_REGS - библиотека Modbus 3.2.0.
    В буфере меняется содержимое, то есть первый запрос в норме,
    далее в буфере каша, на выходе ерунда. Дело в задержках может?

    send_Many_Parametrs_modbus(
    Enable:= enabl AND (NOT cmpEndOperating), (* разрешение работы блока *)
    Mode:= MB_RTU, (*режим передачи*)
    DevAddr:=2, (*адрес*)
    FirstAddr:=50, (*ячейка*)
    Quantity:= 1,
    ComHandle:= hand,
    TimeOut:= TimeOutMy,
    Buffer:=Buffer_My, (*Вот здесь косяк выходит*)
    Complete => cmpEndOperating,
    Exception => ExceptionMy,
    RegCnt => Cmt_My
    );

  5. #45

    По умолчанию

    Цитата Сообщение от жекон Посмотреть сообщение
    Справка Вам в помощь Вложение 15888
    Работает
    Скрин.png

  6. #46
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Sashokxxx, параметр send_Many_Parametrs_modbus.Enable надо после первого вызова сбросить в FALSE. Далее вызывать блок со сброшенным параметром до тех пор, пока Complete будет TRUE. И только потом смотрите буфер.

  7. #47

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Sashokxxx, параметр send_Many_Parametrs_modbus.Enable надо после первого вызова сбросить в FALSE. Далее вызывать блок со сброшенным параметром до тех пор, пока Complete будет TRUE. И только потом смотрите буфер.
    Согласен
    send_Many_Parametrs_modbus(
    Enable:= NOT cmpEndOperating, (* разрешение работы блока *)
    Mode:= MB_RTU, (*режим передачи*)
    DevAddr:=2, (*адрес*)
    FirstAddr:=0, (*ячейка*)
    Quantity:= 1,
    ComHandle:= hand,
    TimeOut:= TimeOutMy,
    Buffer:=Buffer_My,
    Complete => cmpEndOperating,
    Exception => ExceptionMy,
    RegCnt => Cmt_My
    );

    Buffer:=Buffer_My - первое, у меня в буфер Buffer_My - записывается, хотя я пишу в Buffer. Это нормально, что пишется в Buffer, а потом изменяется Buffer_My?
    Это в принципе не проблема можно сделать так: перед тем как записать снова в Buffer, я пишу нужные данные в мой буфер Buffer_My (Buffer_My_copy:=Buffer_My; - сделал копию, а перед вызовом
    send_Many_Parametrs_modbus делаю Buffer_My := Buffer_My_copy; ) Допустим работает, реально обмен идет, на выходе правильное значение.
    Но периодически в CodeSys я наблюдаю Exception = 255 (то есть ошибка таймаута) TimeOutMy - делал разный 50 мс сейчас. В конфигураторе 50 мс, на аварию устройство настроено выходить при разрыве связи 5 секунд.
    Вопрос почему возникает исключение(где посмотреть)?
    И второе, можно ли как то посмотреть исходный код send_Many_Parametrs_modbus (функции библиотеки Modbus.lib) может тогда прояснится что делается с буфером, очевидно что она берет как то указатель на мой буфер и сует туда ответ какой то. Добрые люди поделитесь соображениями!)

  8. #48

    По умолчанию

    Еще немного поразмыслив и порыв форум http://www.owen.ru/forum/showthread.php?t=8556&page=5 нашел что то похожее, начал экспериментировать, действительно, на скорости обмена 9600 появляется ошибка тайм аута, если поменять скорость выше 115200 - я использовал, ошибки нет. Дело в библиотеке. С OwenLib ошибок не возникало. Так что вопрос как отредактировать библиотеку остается открытым, если можно подробнее.??? Так же поделитесь кто чем пользуется для связи НЕ с овеновским оборудованием, у меня 2 устройства в системе сторонние из всего что я нашел - решил что Modbus.lib более менее подходит. Через конфигуратор Codesys возможно получится одно подключить, а вот второе оборудование только через библиотеку, так как там ASCii.

  9. #49
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Библиотека открытая, можно открыть ее как обычный проект. Сделать полный доступ для просмотра и редактирования Project -> Object -> Properties -> Full Access.

    Буфер передается по ссылке (тип параметра VAR_IN_OUT). Зачем делать копию? Приготовили нужный буфер и передаем его в блок. Используйте конструкцию case.

    case step of

    0: кладем значение в буфер
    step:=2;

    1: (*вызываем блок с Enable:= TRUE*)
    send_Many_Parametrs_modbus(
    Enable:= TRUE, (* разрешение работы блока *)
    Mode:= MB_RTU, (*режим передачи*)
    DevAddr:=2, (*адрес*)
    FirstAddr:=0, (*ячейка*)
    Quantity:= 1,
    ComHandle:= hand,
    TimeOut:= TimeOutMy,
    Buffer:=Buffer_My,
    Complete => cmpEndOperating,
    Exception => ExceptionMy,
    RegCnt => Cmt_My
    );

    send_Many_Parametrs_modbus.Enable:=FALSE; (*изменяем параметр Enable* перед следующим вызовом блока)

    step:=2;

    2: (*продолжаем вызывать блок, пока не отработает полностью (Complete=TRUE)*)
    send_Many_Parametrs_modbus(Buffer:=Buffer_My); (*остальные параметры можно не указывать, т.к. они не изменяются, а буфер надо указывать, иначе компилятор ругается*)
    ...
    step=3;

    3:
    делаем паузу перед следующим опросом.

    end_case
    Последний раз редактировалось amn; 26.12.2014 в 13:29.

  10. #50

    По умолчанию

    попробую, а задержку между посылками запроса с Enabl:=true какого порядка, 10мс, 50мс... ? И еще я так то встречал, что можно открыть как проект, может где еще качать такую надо? У меня на диске вот какая ( см. во вложении). Я не понял как ее можно открыть как проект. Может другое расширение должно быть, не подскажите, где тогда взять или у кого есть?
    И такой общий вопрос, для поддержания связи мне нужно делать запрос как минимум раз в настроенное в конфигураторе время Аварии ? Если так то и время паузы между посылками может быть таким. Например мне нужно посылать значения раз в секунду, аварию настраиваю на 5 секунд, а паузу между запросами на 1, так я понимаю?
    Может кто поделится небольшим проектиком в Codesys3.5?
    Вложения Вложения

Страница 5 из 699 ПерваяПервая ... 345671555105505 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3177
    Последнее сообщение: 27.03.2024, 12:47
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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