Загруженная в ПЛК конфигурация сбрасывается при выключении питания на 5мин. Почему так? как сохранить нормально?
Вид для печати
Загруженная в ПЛК конфигурация сбрасывается при выключении питания на 5мин. Почему так? как сохранить нормально?
Спасибо!! за оперативный ответ, с этим разобрался, это же в руководстве к плк есть, совсем замаялся.
Есть еще : 0х03, 0х04 – чтение регистров в ModBus? Они чем отличаются? какую использовать? Все перелопатил не нашел, одинаковые они чтоль?
03 Read Holding Registers
ОПИСАНИЕ
Чтение двоичного содержания регистров (ссылка 4Х) в подчиненном
04 Read Input Registers
СОДЕРЖАНИЕ
Чтение двоичного содержания входных регистров (ссылка 3Х) в подчиненном.
обычно используют третью
в пид регуляторе на выходе имеем out_val от -100 до 100.задвижка с аналоговым управлением и плк150-и-м. как связать выход пид регулятора с токовым выходом.выход пид присвоил адрес аналогового выхода но ничего не работает.когда использовал цифровое управление все было нормально
((y+100.0)/200.0)*16.0+4.0 - получаем из -100..100 => 4..20
спасибо это мои буквально первые шаги и с ПЛК и с codesys.за четыре дня много нового уже узнал
Связка:
MK110---RS485---ПЛК100RL---122var:bool---OPC Codesys2.0---Ethernet---masterSCADA---АРМ на Win7
Задача:
Выполнять архивирование состояний переменных на ПК, в случае потери связи или отключения ПК выполнять архивацию в ПЛК.
Вопрос:
1. С помощью каких средств мне лучше делать архив в ПЛК?
2. Как узнать о потери связи с АРМ?
3. Какую память ПЛК можно использовать под архив?
4. На сколько времени хватит памяти если каждые 5сек делать записи?
5. Возможно будет архивацию на ПЛК вести постоянно, не повлияет ли на ресурс службы ПЛК запись\перезапись?
6. Как синхронизировать часы на ПК с часами на ПЛК? Ведь несовпадение на 5 сек внесет разночтения в архив.:cool:
Уважаемые. Я новичек, но мне срочно надо написать счетчик наработки в часах. Я написал простую программу на CFC из генератора BLINK с часовыми импульсами и счетчика. Прблема в том что не знаю как сохранить насчитаное. При выключении питания счетчик обнуляется.
Подскажите как значение переменной счета хранить во флеш памяти. Пробовал объявлять переменную как RETAIN все равно сбрасывается.
Прошу помощи.
Возможно вы не сделали загрузочный проект и ретайн переменные сбрасываются у вас вместе с программой.
Или просто переменную, отвечающую за сохранение наработки не внесли в Retain
Подскажите пожалуйста. Архивирую файлы в память ПЛК с помощью Archiver. Никак не получаеться считать файлы. Сами файлы читает plc_io. А OPC-сервер CodeSys нет
opc сервер codesys не умеет читать архивы. Только текущие данные.
Здесь вам другой орс нужен. Lectus вроде такие вещи делать умеет.
Кстати, господа, пожалуйста, когда задаете вопрос, указывайте, о какой конкретно модификации ОВЕН ПЛК идет речь. От контроллера к контроллеру ответы могут существенно отличаться.
ПЛК100.С массивами OPC Codesys тоже не дружит?
А что значит с массивами???
Как Вы эти данные будете в SCADA получать??? :)
Array(1..40) of string;
Как Вы эти данные будете в SCADA получать???
Сижу ковыряю ПЛК160.
Подключил к нему ТСМУ с выходом 0-5мА поставил на соответствующем входе 0-5мА. Пределы измерения датчика 0-100 град. цельсия - соответственно поставил Min FV - 0, Max FV - 100 (Если верить руководству по программированию, то теперь значение этого входа будет отображаться сразу в градусах.
Подключаюсь, загружаю программу и вижу что у меня значение на аналоговом входе скачет от -0.415 до -0.445. Причём при нагревании/охлаждении датчика ничего не меняется. Что за ерунда?
И ещё не могу понять почему при отключении его из сети стирается программа? Судя по тому что написано в руководстве она стираться не должна.
1. Еще раз проверьте настройки аналогового входа.
2. В РЭ написано, чтобы программа записалась на ПЛК - необходимо сделать команду "создание загрузочного проекта" из меню онлайн.
настройки перепроверял не единожды, уже и фильтра пробовал менять - всё одно бред какой-то((
2 - спасибо попробую))
Странно.
Возможность подать 4-20 мА есть?
странно... 4-20 и другой датчик (а то вдруг битый) буду искать в понедельник - отпишусь как что.
странно ещё и то что если не подключая ничего ставишь вход 4-20 то стоит стабильное значение билибердовое, но если ставишь 0-5 то тоже бредовое значение но оно меняется(скачет). Почему так?
Специально сейчас поднял протокол тестирования - замечаний по 0-5 мА нет...
Коллеги, добрый день. Делаю программу, заПускаю в онлайн, не могу понять, какова логика прописывания программы в память контроллера. Все работает. Делаю изменение, запускаю, работает. Отключаю от компьютера, вижу предыдущую версию программы на контроллере. Опять подключаю, запускаю программу в онлайн несколько раз, отключаю, все работает с новой версией. Отчего вопрос- каков правильный порядок смены программы в контроллере через CodeSys?
1. Читайте сообщение, которое выдает CoDeSys. Например - программа изменена - записать, да, нет, изменить все.
2. Если программа не меняется, к примеру, а только значения переменных, то обновленный проект заливается без вопросов.
Пока проект отлаживаете - можно просто логин. Когда проект готов, и Вы записываете его в контроллер "на века":
0. Очистить все.
1. Компилировать все F11;
2. Логин. Ок
3. Сброс программы (можно сброс заводской) - все хвосты в контроллере будут стерты.
4. Логаут, Логин.
5. Создание загрузочного проекта.
Есть файл в ПЛК file.txt со множеством различных по длине строк, пользуюсь библиотекой SysLibFile для чтения файла. Как перейти в начало допустим 35-ой строки? считывать каждый символ первых 34 строк или есть другой вариант?
получается все равно считывать каждый символ пока не найду "0A" правильная мысль? если символ "0A" звкончить считывание первой строки.
Столкнулся с такой проблемой: контроллер ПЛК160УМ, ОРС сервер Lectus Modbus подключем контроллер по RS485 через преобразователь 485 в 232 к компьютеру. Не понимаю откуда взять адреса modbus переменных для лектуса. Создал в конфигурации ПЛК элемент Modbus(slave). Слейв потому что предполагается использование скада системы. Вставил Подэлемент RS485. А дальше что? Как высчитать этот адрес modbus переменной который соответствует переменной в программе?. В руководстве по программированию как-то расплывчато это написано и толком не говорится как это сделать. Буду благодарен за любые подсказки и советы.
http://i30.fastpic.ru/thumb/2011/090...a463158d2.jpeg
адрес устройства само-собой, но ещё и адрес переменной надо в 16-ричной СС
http://i28.fastpic.ru/thumb/2011/090...8283a2db2.jpeg
Нужно в ПЛК100 при старте выполнять чтение фаила . Как понял из CoDeSys_V23_RU.pdf нужно отдельну программу и по системному событию start вызывать ее.
А возможно ли реализовать через условный оператор, вроде: "если start выполнить чтение из файла в буфер, иначе читать из буфера".
Сам код написал, все дело в условии, как его задать?
не хочу делить код на POU, единым файлом более читабелен.
оформил код в отдельной проге, туда же перекинул переменные.
codesys выдал предупреждение 2501: a callback function is not allowed to contain local variables
1. Зря не хотите делить код - на самом деле он менее читабелен, но да дело вкуса... :)
2. Добавьте модуль статистика. Есть там модуль Power. Если тригер переднего фронта по power - считать...
..О! спасибо, модуль статистик то что доктор прописал.(в разн. ситуациях по разному удобно) )
..Нет каждый день не требуется выключать.
то есть называть подругому а в программе писать что-то вроде Perem1:=Perem2 так?
если так то где в таком случае брать 16-тиричные адреса уже модбас переменных которым мы присвоили значение входов/выходов?
Помогите пожалуйста, возникла проблема с управлением ПЧВ через Modbus. В CodeSys вытащили биты со слова состояния и с командного слова. а управлять не можем. Подскажите как это делается!
интересно как вытащили...у меня вот ничерта вытащить не получается... хрен разберёшься в этих битах-регистрах(((((
ну вроде с выравниванием и адресацией разобрался. Но где взять адрес переменной в 16-тиричной системе для лектуса не пойму. С регистрами и битами понятно, но лектус регистр не просит а просит адрес переменной.