Где можно найти примеры записи данных с панели?
Вид для печати
Где можно найти примеры записи данных с панели?
Dmitriy_Ekb,
пользовательская программа использует косвенную адресацию? Может в программе пишите в системную область памяти?
Я так понимаю модифицировать программу возможности нет?
Было бы хорошо определить что является причиной перезагрузки программа или железо.
Попробуйте поотключать части программы и поработать. Может получиться выделить ошибочный кусок. Еще можно натыкать в программе "маркеров выполнения программы", чтобы найти место на котором происходит перезагрузка или определить, что ошибка асинхронна выполнению программы.
А сколько задач в проекте?
А никаких черных ящиков - черным по белому - пропадало питание, когда раз в 5 минут, когда раз в пол часа.
Вероятность, что проблема в ПЛК маловероятна, тем более поменяли.
А что питание не бесперебойное? :eek:
Интересно сработала служба поддержки. Они логи не видели?
Serge_UA
Программа использует косвенную адресацию памяти, в системную область залезть не должны были бы.
Модифицировать программу, в принципе можно, но не хотелось бы, т.к. объект в другом городе, модельного стенда нет, да и глюк какой-то неравномерный, ловить замучаемся. Хотелось бы это отложить на самый край.
Для определения откуда ноги растут, вчера удалось получить пару глюков и снять показания "черных ящиков". Они в приложенных файлах, временные отметки там нанесены. Может у кого из присутствующих получится сию "китайскю грамату" расшифровать. Эти же файлы, вместе с программой высланы на plc@owen.ru.
Николаев Андрей
Пропадание питания - это отладка оборудования. К тому же контроллер прбовали питать через UPC, вместе с блоком фильтрации, эффекта не дало.
Где можно найти примеры записи данных с панели для плк63???
На диске к ПЛК63.
если в плк 100 опрос интерфейса rs485 реализован ручным методом с использованием библиотеки syslibcom, "общение" по интерфейсу rs232 также надо реализовывать вручную или можно использовать конфигурацию плк?
это хорошо.
если, связывая 2 плк через rs232, в слэйве в конфигурации добавить обменные переменные, то в мастере надо будет считывать начиная с 0 регистра? (на примере связи плк(слэйв) - сп270(мастер): в контроллере в конфигурации создается модуль модбас(слэйв), в панели считывание начиная с 0 регистра)
Порты работают независимо друг от друга.
Все верно. Только не понятно Вы два ПЛК будете связывать или ПЛК и панель.
2 ПЛК легче по UDP (пример в соответствующем разделе) или ModBus TCP (принцип тот же, тока по Ethernet).
вот так
плк#1 <-- rs232 --> плк#2 <-- debug rs232 --> сп270
^ ........................ ^
| ......................... |
| ......................... |
rs485 ................. rs485
| ......................... |
v ......................... v
..................................
эзернеты будут свободными для ноутбука
Ну да.
На ПЛК1 у Вас будет один мастер - один слэйв.
На ПЛК2 2 мастера и 1 слэйв.
еще вопрос "в догонку": на плк1 часть регистров будет для чтения, часть для записи мастером. соответственно на примере "ручного" использования библиотеки syslibcom надо будет инициировать 2 запроса - один с функцией 03h (чтение пачки регистров) и другой с функцией 10h (запись пачки регистров). все верно я понимаю? функции эти должны быть или другие?
Вы через конфигурацию будете делать, или сами обмен программировать?
опрос мастером других модулей делаю библиотекой, а ответ слейва на запросы буду делать через конфигуратор. по другому не умею.
Мастер точно так же в Конфигурации ПЛК настраивается. Не сложнее, чем Slave.
допустим настроенный слэйв будет выглядеть примерно так (на картинке только половина):
http://imageshack.us/photo/my-images/853/123ec.png/
каким образом тогда настроить мастер в конфигурации, чтоб считать всю эту радость одним махом?
Согласен, пишите мастер с помощью библиотек :)
У меня такой вопрос. Я хочу подключить ПИД регулятор из библиотеки PID_regulators.lib. Как его можно вставить в программу например на языке SFC. у меня получилось вставить только на языке LD. Но там с ним работать не получится.
Заранее спасибо за помощь.
У меня такой вопрос. Я хочу подключить ПИД регулятор из библиотеки PID_regulators.lib. Как его можно вставить в программу например на языке SFC. у меня получилось вставить только на языке LD. Но там с ним работать не получится.
Заранее спасибо вам за помощь.
Куплен контроллер ПЛК100, АС4 и др. оборудование в целях обучения студентов. При организации простейших лабораторных схем возник вопрос: можно ли создать в КоДеСис проект для выполнения на самом ПК в КоДеСисХМИ для опроса через АС4 (РС485) одного (или нескольких связаных по РС485) ПЛК100 с залитой через КоДеСис программой (и как бы работающий автономно от среды програмирования).
(просмотрел все хелпы но ответа на простой вопрос как бы нет, очень прошу помочь, поскольку вопрос сильно тормозит прогресс создания стендов).
Можно. И этому есть описание в документации и на сайте 3С.
Инструмент платный, но на какой то период времени (30 минут - 2 часа) есть демка. Ставится с самим CoDeSys.
При создании нового проекта выбирайте не ПЛК100, а PLC WinNT.
Подробнее - смотрите документацию.
Только начал изучение LD, никак не пойму, я что не могу реализовать данную цепочку?
Не получается X3 вставить в нужное место.
Вопрос отпал. Ответ найден на http://forum-ru.3s-software.com/view...php?f=2&t=1074
Не ожидал я от КДС такой подставы :(
Люди добрые киньте в меня ссылкой на толковый учебник по языкам используемым в CoDeSys, ибо если LD ещё как-то понятен, то в нём нельзя работать с аналоговыми величинами (например мне надо отслеживать температуру и в зависимости от этого включать/выключать дискретные выхода). Как я понял в LD можно оперировать только булевыми данными. Как же быть если надо отслеживать состояние датчиков и в зависимости от этого включать/выключать что-либо. Какой язык для этого использовать? Прошу кинуть книгой.
Программирование у меня идёт очень туго да и не люблю я это дело, но разбираться приходится((((. LD поначалу вселил мысль что не всё так плохо, а теперь хз что делать даже(((
В LD применяя функциональные блоки с EN можно использовать любые операторы CoDeSys.Цитата:
Как я понял в LD можно оперировать только булевыми данными
Пребольшое спасибо! Теперь буду сушить голову как програмировать открытие порта, поскольку , так понимаю, реальных входов/выходов у виртуального контроллера нет. Значит надо использовать библиотеку МодБас на диске ОВЕН и тд. Неплохо бы пару ссылочек на полезные документы для этого случая: странный какой-то поиск на сайте 3С. Совсем не обижусь если ответа не будет. Пока попробую разобраться сам.
В общем то COM порт на ПК есть (виртуальный COM порт). А значит нашу библиотеку ModBus.lib вполне можно использовать для WinNT. Да и примеры на диске к ПЛК по работе с библиотекой есть.
Принципы работы с WinNT те же самые, что и с ПЛК.
блин ничерта не понятно в этом codesys(((( И блин ни одной книги. Вся литература написана с расчётом на нормальных программеров, которые уже умеют с этим всем работать((( Читаю руководство по кодесису - 450 страниц и никакого толку - ничего не понятно((( Конкретно интересует как работать с аналоговыми сигналами которые приходят в контроллер. Везде всё расписано для работы относительно дискретных величин. Про то как работать например со значениями датчиков температуры ни слова(((((((((( Ненавижу программирование:( :(
S.A.D. такое впечатление, что вы купили себе ПК впервые в жизни и спрашиваете как на нем работать. все зависит от задач. можно в игрушки поиграть, можно фракталы рисовать.
тоже самое и с аналоговыми. нужно контролировать - мониторьте, нужно производить вычисления, вычисляйте.
Публикации
Примеры
Еще примеры
Курсы
Зря. Программирование реально освоить самостоятельно, даже не проходя обучения. Это редкое занятее, где все можно отменить и поправить! Летчики, водители и практически все, кроме программистов, такой возможности, не имеют :cool:
так вот как эти задачи выполнять? Как контролировать? Как производить вычисления??? КАК??? я понимаю что надо сделать, представляю алгоритм по которому оно должно работать, но не знаю как это реализовать в этих долбаных языках программирования. Нашёл единственную толковую книгу Минаев, Самойленко "Программируемые логические контроллеры". Но кроме этой книги не могу найти ни одной толковой книги которая написана человеческим языком.:mad:
Игорь Петров
спасибо за ссылки.
Книгу Петрова сейчас пытаюсь читать. Мозг кипит из-за стиля написания аля сухой справочник(( Но деваться некуда - придётся как-то вдалбливать всё это в себя(
ну буду разбираться. Сижу делаю примеры из ссылки приведённой Игорем Петровым. Вроде ST смахивает на паскаль. О нём представления у меня есть. Буду разбираться, вспоминать.
ЗЫ: ещё раз убедился, что идти в учебное заведение надо сначала поработав, ибо совсем другое отношение. Учился в колледже и программирование "учил" по принципу лишь бы сдать (оно мне никогда не нравилось, причём по большей части из-за дурацких заданий никак не ориентированных на практическую направленность). А теперь локти кусаю что не учил, потому что щас оно мне понадобилось, причём для конкретной задачи, мне интересной.:D
Очень рекомендую пройти курсы в Пролог или Овен. За пару дней все помещается в стек мозга в правильном порядке. Потом плавно извлекается. Самостоятельно люди разбираются с нуля, но это месяца 2-3.
Новый материал для начинающих по SFC.
к сожалению никто мне курсы не оплатит(( так что буду разбираться сам))
Что за ерунда?
В примере сказано написать вот это:
PROGRAM PLC_PRG
VAR
res, sw1, sw2, sw_main: BOOL;
END_VAR
res := Example2(sw1,sw2,sw_main);
жму F11 для проверки а он мне выдаёт что неправильно последняя строчка. В примере типа всё хорошо должно быть. Ничего не понимаю... Бред какой-то