Отправил. Очень жду ответа.
Заранее спасибо.
Вид для печати
Отправил. Очень жду ответа.
Заранее спасибо.
не ранее четверга :(
Почта умерла.
Добрый день, Сергей!
Для DCON - "Good response" >[+], т.е надо проверять CRC [2H] - H большое.
Зачем посылаете дважды запрос "#01[+]"?
И главное, зачем каждые 100 мс обнулять счётчики входов? Потенциально (это я перестраховаваюсь) эта операция может притормаживать прибор и будет временный сбой.
Если Вам нужна скорость - считайте разницу между 2 значениями счётчиков - как правильнее, импульсы, пришедшие в момент обнуления, не потеряются.
Так и не понял, какие значения Вы установили для выходов (период ШИМ и безопасное значение). В присланном файле их нет.
Уменьшение таймаута ожидания связи не приводит к увеличению числа ошибок?
И по схеме - земля и -24 - соединять их - ухудшать гальваническую развязку и помехоустойчивость.
Надеюсь проблему найдём.
С уважением, Филоненко Владислав
P.S. Стенд еще не щёлкал. Прилагаю свою тестовую программку.
Наверно можно не проверять. Не понял "проверять CRC [2H] - H большое"Цитата:
Для DCON - "Good response" >[+], т.е надо проверять CRC [2H] - H большое
Там будет #02 - второй прибор, а на столе один (чтобы не было ошибок).Цитата:
Зачем посылаете дважды запрос "#01[+]"?
Обнуляю не каждые 100 мс, а по команде по необходимости. За идею спасибо релизую.Цитата:
И главное, зачем каждые 100 мс обнулять счётчики входов?
.Цитата:
Так и не понял, какие значения Вы установили для выходов (период ШИМ и безопасное значение). В присланном файле их нет.
Открыл настройки без прибора, точно нет данных. Производил сброс на заводские уставки, потом изменил и полная запись всех настроек. Потом сохранил и отправил Вам. ШИМ не менял, безопасное значение выкл., по всем входам вкл. фильтр. Безопасное значение работает.
Сильно не баловался в пределах 20-100мс. Ошибки есть, а число не считал. Попробую увеличить.Цитата:
Уменьшение таймаута ожидания связи не приводит к увеличению числа ошибок?
Соеденения нет, если есть то это ошибка. (на каком листе? GND - это -24)Цитата:
И по схеме - земля и -24 - соединять их - ухудшать гальваническую развязку и помехоустойчивость.
Спасибо.
ЗЫ Сейчас тестирую модуль VALVE_REG_NO_POS из Вашей библиотеки. Есть вопросы. Потом напишу.
Пример работы с библиотекой на языке ST.
Нужный таргет-файл внутри архива.
Вложение 471
Перешил ПЛК
PLCInfo
PLC model MODEL PLC 100
Binary VERSION 2.03.0
Need Target version 2.02
Compiled: 12:41:32 Dec 26 2007
MAC 67:77:00:16:88:14
IP 192.168.0.21
GATE 192.168.0.21
MASK 255.255.255.0
Licence unlimited
No DAC
PIC version is 09
Target стоит:
hardware.cfg
;Version 2.02-3
;Recommended for versions: 2.02, 2.02-1, 2.02-2
Запустил Ваш тест - реле щелкает.
Ошибки есть период не смотрел (уже надоело бороться с привидениями)
Подскажите что еще можно посмотреть, изменить.
Про самопроизвольное включение выхода.
Три свежих модуля МДВВ(версия 1.08 – с быстрой реакцией на групповые команды) с адресами 16, 32 и 48 + ПЛК-100КМ.
Протокол DCON, контрольная сумма, 9600, 8 бит, 1 стоп, без проверки, время опроса 100 мсек. Иногда кратковременно включается выход 1 модуля А2(адрес 16). Может такое же было и на других модулях, но мы их не контролировали. Проект ver2_dcon_4.rar.
Этот выход завели на вход 2 этого же прибора и записали обмен на линии во время срабатывания выхода. Видно что команды на включение выхода нет. файл - обменDCON.rar
Перевели проект на Модбас-Аски. Остальные настройки те же. Итог - все время включены выходы 1 на всех трех модулях. Хотя, как видно из обмена, команды на включение тоже нет. Проект- ver2_modbus_5.rar
С Модбас-рту вроде нормально.
Эту ошибку мы уже нашли и исправили.
С версии 1.09.
В RTU режиме ошибки нет.
Или обратитесь в сервис-центр.
А надо файл конфигурации МДВВ куда ни будь вкладывать???
А зачем выкладывать?
Подскажите .А где находится ФБ "SELECT". В какой библиотеке? И где можно найти? Жду ответа.
У меня STANDART.LIB 4.10.O5 11:14:46. Но тут нет ни SEL ни MUX. Подскажите где взять другую версию библиотеки.?
Выложите пожалуста файлик из STANDART.LIB с функциональным блоком SELECT и MUX. Не могу найти.
прошук прощения, перепутал. Это функции, зашитые в сам кодесис. Посмотрите в хэлпе.
Вложение 530
Покажите пожалуйста на примере LD как пользоваться этой функцией. Протокол Овен будет с ней работать? Учебный примерчик прилагаю.А то ни как не могу победить МДВВ. Выхода не слушаются. ПЛК 100 Р-М. Жду.
Рекомендую использовать ST, более гибкий язык, выучить не сложно.
у вас переменные для выходов определены дважды - это первая неточность. Второе, выходы должны быть типа real.
третье - если вы указываете при объявлении переменной адрес из plc configuration, то в самом plc config эту переменную указывать не следует. Вместо селекторов используйте модуль bool_to_real. см. пример.
Вложение 535
Огромное спасибо. Применил BOOL_TO_REAL на своём проекте-Выхода работают. Радости было полные шт..... .На счёт ST. Я электрик и мне более приемлем LD и FBD . Да,правда задержка включения около 0,5-1 секунд.
Это как то можно исправить? И где? И еще вопросик.Как зделать чтобы при
включении питания ПЛК не перезагружался? ещё раз спасибо...
Задержка идет за счет большого количества передаваемых по сети данных. Для быстрого управления рекомендую перейти (если позволит версия прошивки МДВВ) на MODBUS RTU и использовать 50 и 51 регистры. Лично мне сильно помогло.
ПЛК работает по ОВЕН нормально.Но по MODBUS-RTU происходит
полная билеберда. Выхода включаются и выключаются с периодом 0.5 секунд и не реагирует на входа.Покажите пожалуйста на учебном примере как правильно настроить МДВВ по Modbus-RTU.
Пуск-стоп гидравлики. Думаю это будет многим интересно. ПЛК 100 Р-М.
Язык LD. Файлик прилагаю. Жду.
в примере используются маски входов и выходов МДВВ. Это позволяет упростить программу и уменьшить информационный обмен между ПЛК и модулем.
В вашем примере вы работали с каждым выходом отдельно. В этом случае необходимо посылать не 0 или 1 , а 0 или 1000. Кроме того вы считывали из МДВВ не значение на входе, а значение счетчика каждого входа.
Вложение 549
Вот возник вопрос - в ходе выполнения этой программы идет постоянный опрос входов и запись режимов выходов? То есть работа по интерфейсу синхронно с циклом исполняемой программы?
Если, допустим, в следующей строке программы будет опрос двух других входов и запись в какой-либо выход, то по сети будет четыре обращения к модулю? (сучетом чтения и записи).
Можно настроить так, чтобы опрос входов был, например раз в 1 сек, а запись только после изменения состояния какого-либо выхода?
Вообще-то это так и происходит. Процесс обмена по интерфейсу имеет свою задаваемую периодичность и происходит параллельно с циклом работы вашей программы. Существует буфер, так называемая память ввода/вывода, в которую посредством интерфейсов записываются вновь опрошенные значения с модулей и из которой считывается информация для пересылки в модули. Программа считывает и обновляет значения в этой памяти 1 раз в цикл. Средства работы с интерфейсами используют и обновляют эту информацию в соответствие со своими настройками независимо от цикла ПЛК. В том числе можно настроить опрос раз в 1 секунду. Как? Читайте в руководстве по подключению модулей и в описании plc configuration.
Спасибо. Более-менее понятно.
Еще возник вопрос по поводу опроса модулей по команде. Из описания: "By Command – «по команде» – производится однократная посылка запроса, когда в командный канал Command переменной записывается значение 0x00FF".
При добавлении как универсального модбас устройства, так и стандартных модулей (МДВВ и т.п.) видим в корне самого устройства строку вида
AT %QBx.x.x.x:BYTE; (* Command (0xff-Start) *)
Означает ли это, что опрос этих устройств ведется только по команде? значит нужно в этот канал записывать значение FF или в него можно как-то "запрограммировать" это значение чтобы не тратить область ввода-вывода? А если в универсальном устройстве есть еще несколько каналов, некоторые из которых нужно опрашивать по запросу? Тогда нужно и в само устройство посылать команду (запрос) и в конкретный канал? И еще - Допустим записали данные в выходное устройство, пока нам больше не надо обмена с этим каналом. Нужно в командный канал записывать значение отличное от FF?
Надеюсь понятно изложил вопросы. Заранее спасибо за разъяснения.
Вы поняли это совершенно правильно.
Хотя логические рассуждения Вас привели к тому же, что написано в PLC_Configuration.pdf на диске ПЛК.;)
Действительно запись 0xff запускает опрос, а 0xfe - останавливает.
Подключите к проекту библиотеку Util.lib
А еще проще обращайтесь к маске входов следующим образом:
mask_inp.0 - обращение к 1 входу мдвв.
mask_inp.9 - обращение к 10 входу мдвв.
Здесь mask_inp - переменная типа word, в которую записывается опрошенное значение маски входов МДВВ.
Действительно проще.
Спасибо
Я начинающий пользователь скачал пример ПЛК100 + МДВВ RTU маски при запуске online/login ошибка Communication Error(#0):Logout Performed что это такое и как с этим бороться.
это означает, что codesys не смог установить связь с ПЛК по заданному интерфейсу с заданными параметрами связи. Необходимо:
1. в меню онлайн/параметры связи указать тот com-port, к которому производится подключение ПЛК (подробности в руководстве по эксплуатации на ПЛК)
2. проверить работоспособность сом-порта, проверить подключение линий связи.
Я пишу контрольную у меня нет контроллера под визуализацию. ПЛК 100 МДВВ это реально
не вложил поправляюсь
Доперло Simulation mode но возник вопрос как кнопку в визуализаии прикрутить к входу
МДВВ пример описывал выше. Благодарю за помощь
Write Values работает. Подробней рисую кнопку в Regular Element Configuration -> Colors-> Variables Change color->Input Tap variable или Toggle что туда только не вбивал не выходит
кнопку завязать со входом МДВВ у вас не выйдет. С выходом проще. Должна быть в проекте переменная типа Bool, которая воспринимает изменение кнопки. Вы заходите в tap variable, нажимаете F2 и в выпавшем списке находите эту самую переменную (то есть ту чать проекта, где она определена. Далее перобразование bool в то, что вам необходимо и передача этого на выход МДВВ.
смотрите пример.
Вложение 786
Попробую благодарю Kirill за помощь