а описание? Мне вот не понятен Ваш знак вопроса. И чтоб запустилось мне кажется надо после всех этих присвоений добавить blink()
Вид для печати
а описание? Мне вот не понятен Ваш знак вопроса. И чтоб запустилось мне кажется надо после всех этих присвоений добавить blink()
При запуске програмы clock не ведёт отчёт времени. Переменные присвоены правильно и меняются в выполнении програмы.
Помогите закончить блинк
Вам же ответилиТ.е просто добавьте в свой код вызов hit()Цитата:
И чтоб запустилось мне кажется надо после всех этих присвоений добавить blink()
Где-то такКод:PROGRAM PLC_PRG
VAR
hit: BLINK;
out: BOOL;
END_VAR
hit.ENABLE:= TRUE; hit.TIMEHIGH:=t#30s; hit.TIMELOW:= t#30s;out:= hit.OUT;
hit();
1. Как правильно стереть проект, программу, алгоритм (не знаю как правильно называется) из памяти ПЛК 100 через кодесис 2 ?
2. Как правильно записать проект... в память ПЛК 100 через кодесис 2 ?
Проект создан в кодесис 2 надо стереть старый и записать новый в плк.
3. Как вообще узнать сколько свободной памяти в плк доступно, может программка есть какая?
1. Читаем документацию и ПЛК и по CoDeSys. В ней есть все ответы.
Теперь по вопросам:
1. Просто запишите новый проект, и старый будет удален. Можно просто связавшись с контроллером удалить программу подачей команды сброс заводской.
2. Записать проект: Связаться с контроллером. Для того, чтобы сохранить на flash - из меню онлайн выполнить команду "создание загрузочного проекта".
3. Размер проекта CoDeSys выдает при компиляции. Что с памятью можно глянуть с помощью гипертерминала.
Нажимаем F1 и в справке кодесис читаем
После этого кодесис сообщит, что в ПЛК нет программы и предложит ее загрузитьЦитата:
'Онлайн' 'Сброс (заводской)'
Выполняет холодный сброс, инициализирует PERSISTENT область и удаляет программу пользователя. Иными словами, восстанавливает состояние контроллера, в котором он поступает с завода изготовителя
Николаев Андрей, petera, Спасибо! Помогли.
С ПЛК ранее не сталкивался. Только PIC и только С для них. При освоении ПЛК все релейные реализации ручками прощупал - понятно. А вот со связью по RS485 с модулями МЭ110 завис. Каша в голове оттого, что в микроконтроллерах интерфейс общения по последовательным портам определялся на мой взгляд, несколько конкретнее - стартовая последовательность, обмен и т.д. В ПЛК я не могу понять куда загружаются данные. Они мне нужны для для дальнейшей модификации и анализа. Перелопачиваю примеры и пока ничего не понял. На что обратить внимание?
Кодесис не только хорошая программа, но ещё и весёлая, в общем как с программированием у меня не знаю но с тестами получается хорошо умудряюсь вытаскивать такие косяки с плк, аш самой весело.
Вот работала и на те. Смотрите фото.
Картинка ни о чем. Вырванный кусок.
Какой вопрос был при загрузке ?
PS
"Дорогая, ты там осторожней на дороге. По радио сказали что одна дура по встречке едет"
"Милый ! Одна ?!!! Да тут их сотни !!!"
Здравствуйте! Уже писала о своей проблеме: необходимо с помощью ПК записывать в контроллер начальные значения некоторых переменных, например, текст сообщения, номер телефона и т. д. С помощью какой программы можно это сделать? Может быть, через гипертерминал... Или ещё как-нибудь. Смотрела примеры обмена обмена контроллера с ПК, но там приводится программа, которая загружена в контроллер, а как этот обмен осуществляет компьютер? Может быть посоветуете, что почитать или пример какой-нибудь... Заранее спасибо!
Очень уж не хочется устанавливать КДС, чтобы работать с контроллером, ведь это нужно использовать лишь один раз, далее контроллер к ПК не подключен.
А как использовать Модбас? Писать свою программу, чтобы осуществлять обмен? А можно написать свою команду для гипертерминала?
модбас это тоже из простых для понимания методов, но как все простое не очень удобен.
Мой совет изучить как работает веб-сервер в плк, поспрашивать сисадминов или тех кто умеет делать сайты о технологии ajax. И если появится понимание как работать с сокетами между плк и ПК то будет самый шикарный вариант, бесплатный в отличии от визуализации КДС и более емкий по передаче информации чем модбас
Видео должно помочь о преимуществах метода http://www.owen.ru/forum/showpost.ph...3&postcount=11
Понимаю, что если пойдете по этому пути вопросов будет масса, а я к сожалению не смогу помочь, завтра снова в командировку. Лучше конечно не браться, тогда только визуализация КДС
capzap, спасибо!!!
Вы мне очень помогли! Буду изучать визуализацию))
А как на счет EasyWorkPLC, вроде специально предназначена для этого случая? Есть на диске с ПЛК и руководство к ней там же, а здесь статья о ней http://78.107.137.186/pub/AiP/32/aip0108s12-13.pdf
Правда у меня с ПЛК160 отказывается работать:confused:
блин какие ужасы в ролике((( и кто придумал весь этот геморой((( неужели так всё сложно блин
да я вообще про программу с сокетами на экране(((( стольок всяких не русских букв.. и ещё в этом смысл какойто есть в наборе всяких символов((( какой дурень придумал кудесис((( и всякую отсальную замороченую хрень
Да овен лоджик как то попроще.. как графика, я вообще про незнакомое, регистры модбас всё это програмирование ((( куча окон и инфы.. вот смотрю и думаю неужели нельзя как то попроще было придумать всё это .. думаю не разберусь уже.. руки опускаются изучать это.. особенно когда нужно то всегото на пару проектов
да я просто жалуюсь и злюсь что не понимаю в этом.. уж простите за моё бурчание
Доброе время суток, вопрос наверное для некоторых покажется идиотский, но ... Установил CoDeSys version 2.3.9.36 русифицированный и теперь все мои проекты открываются с масштабом в 106% :-) при попытке изменить масштаб он меняется на какие то доли секунды и назад прыгает в 106%. Мелочь я понимаю но не комфортно работать ... Подскажите где поправить.
Не переменных, а констант и они могут быть 16, 32 и float.
Тогда другой экзотический способ.
Начальные значения некоторых переменных, например, текст сообщения, номер телефона и т. д. хранить в файле на ПЛК в удобном для редактирования в ПК текстовом формате. Изменили, например, номер телефона в "Блокноте" и записали новые параметры в ПЛК с помощью утилиты PLC_IO.
Это конечно не лучшее решение.
Но если использовать визуализацию кодесиса, то его надо устанавливать.
А как быть, ведьА ведь можно найти хорошее решение вопросаЦитата:
Очень уж не хочется устанавливать КДС, чтобы работать с контроллером, ведь это нужно использовать лишь один раз, далее контроллер к ПК не подключен.
Для того, чтобы использовать Модбас и не писать свою программу обмена нужно воспользоваться миниSCADA от конфигуратора панели СП270.Цитата:
А как использовать Модбас? Писать свою программу, чтобы осуществлять обмен?
В ПЛК нужно создать модуль slave с нужными переменными. Затем с помощью конфигуратора панели СП270 разработать Вашу визуализацию. Конфигуратор СП270 позволяет использовать режим эмуляции панели с реально подключенным контроллером. Запускаем, отлаживаем визуализацию и при необходимости программу в ПЛК.
Теперь самое интересное для того, чтобы полученная визуализация работала автономно на компьютере потребителя, выбираем "Файл"-"Встроить в SCADA" , указываем папку где будет готовая SCADA, все мы создали совершенно автономную систему, которая будет работать и без конфигуратора.
Находим в этой папке "AutoWin.exe" и запускаем его.
Фактически это SCADA размер 630 кб (без учета размера файла скомпилированной визуализации)! Правда без лицензии наша SCADA будет работать 30 мин, затем ее нужно перезапускать. Но и это вроде можно обойти.
При некоторых ухищрениях разрешение окна можно сделать не 480Х234, как у СП270, а другое (стандартные разрешения монитора) вплоть до 1440X900:)
Вопрос про скорость обработки сигналов по сети RS-232, скорее всего для тех.поддержки:
Если я непосредственно на сам ПЛК-100 повешу кнопку и реле, которое будет щёлкать при нажатии на эту кнопку, время задержки реакции реле после нажатия/отжатия кнопки будет стремиться к 0. Если же я кнопку повешу на МДВВ-1, а реле на МДВВ-2 (при этом на входах и выходах обоих модулей МДВВ будут висеть ещё прочие устройства), то задержка задержка уже будет заметна.
Вопросы: Как рассчитать возможное кол-во подключаемых внешних модулей (МДВВ, МВА,...) к ПЛК-100 по RS-232 при котором особо не будут заметны подтормаживания (не более 0,5 сек.) при опросе портов периферийных устройств или выдачи на них сигналов? Влияет ли на скорость обработки кол-во используемых портов на периферийном устройстве (1 порт, 8, 16 портов)?
Т.е каково макс.время опроса каждого периферийного устройства в сети? Как влияет ли на это скорость подключения RS-232? Как влияет на общее время опроса устройств кол-во этих устройств в сети? Как влияет на время опроса каждого периферийного устройства кол-во его портов?
ЗЫ: боимся ситуации, когда нажимаешь на кнопку аварийной остановки, а реакции нет и нет, нет и нет...
http://ru.wikipedia.org/wiki/ModbusЦитата:
Немного об интервалах (речь идёт о Serial Modbus RTU): при скорости 9600 и 11 битах в кадре (стартовый бит + 8 бит данных + бит контроля чётности + стоп-бит): 3.5 * 11 / 9600 = 0,00401041(6), то есть более 4 мс; 1.5 * 11 / 9600 = 0,00171875, то есть более 1 мс. Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс соответственно.
Правильно боитесь... Кнопка аварийной остановки ("Not-Aus", "E-Stop") должна действовать абсолютно независимо от PLC и его периферийных устройств. То есть отключать управляющее напряжение на всех исполнительных устройствах (например, пневмоклапанах) и гарантированно обесточивать все электроприводы.
На вход PLC можно завести дополнительную контактную группу этой кнопки, с целью самодиагностики. Например, чтобы сообщить оператору, на каком из нескольких пультов управления установки был нажат "грибок", или выполнить какую-то особую процедуру перезапуска установки после аварийного стопа. Тут уже время реакции некритично - можно и через модуль ввода, подсоединенный через Modbus, за ее состоянием следить.
Ясно.
ЗЫ: я там в вопросе опечатался -- речь, естественно, идёт не о RS-232, а о RS-485.
В глобальных переменных объявил переменную, присвоил адрес
rMass AT %MD30:REAL:=12.5;
Теперь в программе пишу
%MD30:=16.0;
Понятное дело ошибка преобразования REAL to DWORD.
Как присвоить значение переменной по адресу? В шнайдере можно было %MF:=16.0
%MD30:=REAL_TO_DWORD(16.0); так случайно не получится?