извиняюсь не заметил) спасибо! здорово! чудеса да и только =)
Вид для печати
Помогите разобраться с модемом;
Есть основа- плк 150, ПМ 01 и ультразвуковой датчик;
со всей дискреткой разобрался, все работает; проблема с модемом:
делал на основе примера приведенного в докум. к ПМ01
задача отправлять смс на 3 уровня,
модем отправляет одну смс и все, потом начинаю сначала -он молчит
перегружаю - не помогает.
Подскажите пожалуйста. Может есть пример на CFC или LD
Здравствуйте. Подскажите, мне нужно зафиксировать время срабатывания дискретного входа ПЛК110, сохранить его в энергонезависимую память и отобразить на панели СП270.
так что подсказать то?
Доброго всем времени суток:)
Столкнулся с таким вопросом.
Нужно увеличить скорость работы программы "пример" с временными интервалами в таймерах в среднем 1000мс(плюс/минус).Уменьшаю временные интервалы с 1000 мс до 100 мс,
т.е. у каждой цифры отнимаю по нулю. В итоге система перестает работать.
Вопрос: система вообще перестает работать или просто визуально не дает проследить за ее работой?
И как можно проследить за данными летящими с такой скоростью?:confused:
Делал графическую визуализацию в мс, но как понял визуализация с такой скоростью тоже грешит.
В идеале нужно будет работать с временными интервалами в 20 мс, как быть:(
:D Данные ,летящие с такой скоростью превращаются из фото в кино или в лампу которая вроде горит постоянно,а на самом деле мигает с частотой 50гц.
Или ШИМ используйте или не подойдет вам ПЛК.
И все таки заработала программка после корректировки интервалов времени, отключения антивирусника и прочих ненужных программ, которые грузили систему (комп слабоват). В итоге при интервалах 100мс программка адекватно работает, но при переходе на еще меньшие интервалы до 20 мс - ступор:) Есть аналогичная программка, в которой счет каждый таймер берет с одной точки (она работает и при 10 мс(!)), а в данном "примере" счет каждый таймер берет от предыдущего таймера, вот и происходит потеря информации видать.
Придется наверно всетаки ШИМ использовать
Подскажите пожалуйста, в ПЛК 110-32 К М количество обычных дискретных выходов составляет 10 по паспорту, а в PLC-Configuration таргет-файла PLC110_32 визуально указано 16 (8 и 8), но в комментах отмечено 10 (8 и 2). Как узнать во второй группе какие рабочие 2 выхода из 8-ми? Скрин прилагается. Простите если туплю :o
Вы забыли про быстрые выходы.
Александр, мы не можем читать Ваши мысли...
Вам нужно запомнить время в энергонезависимой памяти, чтобы, к примеру с него начать. Тогда просто объявляете переменную как Retain, или Вам надо вести файл архива...
Мне нужно зафиксировать время срабатывания дискретного входа, для ведения журнала событий. Извините за некорректность вопросов :) я только начинаю разбираться в программировании
Здравствуйте, помогите пожалуйста разобраться.:confused:
Есть ПЛК100-220.РМ, GSM модем ПМ01-24.АВ, кабель К7, не хватает пока что
мозгов как все это настроить и сконфигурировать например для отправки SMS при срабатывании первого входа. Заранее благодарен!
Aleksys, тут примеры, выбирайте
SanyaCF диск плк, файл PLC_Configuration_OWEN.pdf, стр.62 модуль архиватор
Спасибо большое за ответ!
подскажите пожалуйста, корректно ли указывать в Global_Variables прямой адрес входных/выходных переменных, например
out AT %QX2.1 :BOOL;
т.е. имею ввиду будут ли переменные присваиваться к входам/выходам при объявлении их в Global_Variables или для их присваивания к вх/вых они должны указываться только в Variable_Configuration?
vooodooo22, корректно, сам всегда так делаю, более того, с прямыми адресами переменные можно объявлять даже просто в разделах VAR программ либо вообще пользоваться прямыми адресами вместо переменных
Спасибо! ;)
Подскажите пожалуйста как конфигурируется модем ПМ-01 в проекте CodeSys для отправки сообщений?
ПМ-01 соединен кабелем К7 с портом RS232 ПЛК 100, заранее благодарен!
здравствуйте господа!
Написал проект на языке LD (управление 10-ю конвейерами), ну и визуализацию к нему! как сделать так что бы работники цеха, включая компьютер и запуская проект, могли только видеть визуализацию и управлять конвейерами и не имели доступ к коду? И обязательно для управления проектом запускать Codesys?Какие есть решения? Заранее спасибо!
Доброго всем времени суток.
Подскажите пожалуйста добрые люди как реализовать с дискретных входов регулировку скважности ШИМа? О ШИМ знаю очень мало. Может есть где статейка именно о реализации регулировки скважности ШИМа на ПЛК?
Заранее благодарен :)
Добрый день.
При при запуске должно вызываться событие On_Start.
Написал POU On_Start. При компиляции выдаётся предупреждение 2501:A callback function is not allowed to contain local variables.
Что это такое, почему выскакивает и как её обойти?
Вот код POU:
раздел декларирования
раздел реализацииКод:PROGRAM On_START
VAR
fAD, fSize, fileadr : DWORD;
Important_Variables : ARRAY[1..38] OF STRING[10];
END_VAR
Помогите, пожалуйста, разобраться.Код:(*--------Загружаем важные переменные из файла-------------*)
fAD:=ADR(Important_Variables);
fSize:=SIZEOF(Important_Variables);
fileadr:=SysFileOpen('I_V.txt','w');
SysFileRead(fileadr,fAD,fSize);
SysFileClose(fileadr);
N14_NKUM := STRING_TO_UDINT(Important_Variables[1]);
N15_NKUM := STRING_TO_UDINT(Important_Variables[2]);
N16_NKUM := STRING_TO_UDINT(Important_Variables[3]);
N17_NKUM := STRING_TO_UDINT(Important_Variables[4]);
N18_NKUM := STRING_TO_UDINT(Important_Variables[5]);
N18a_NKUM := STRING_TO_UDINT(Important_Variables[6]);
N19_NKUM := STRING_TO_UDINT(Important_Variables[7]);
N20_NKUM := STRING_TO_UDINT(Important_Variables[8]);
N21_NKUM := STRING_TO_UDINT(Important_Variables[9]);
N22_NKUM := STRING_TO_UDINT(Important_Variables[10]);
N14_QC1 := STRING_TO_UDINT(Important_Variables[11]);
N15_QC1 := STRING_TO_UDINT(Important_Variables[12]);
N16_QC1 := STRING_TO_UDINT(Important_Variables[13]);
N17_QC1 := STRING_TO_UDINT(Important_Variables[14]);
N18_QC1 := STRING_TO_UDINT(Important_Variables[15]);
N18a_QC1 := STRING_TO_UDINT(Important_Variables[16]);
N19_QC1 := STRING_TO_UDINT(Important_Variables[17]);
N20_QC1 := STRING_TO_UDINT(Important_Variables[18]);
N21_QC1 := STRING_TO_UDINT(Important_Variables[19]);
N22_QC1 := STRING_TO_UDINT(Important_Variables[20]);
N1_NKUM := STRING_TO_UDINT(Important_Variables[21]);
N2_NKUM := STRING_TO_UDINT(Important_Variables[22]);
N3_NKUM := STRING_TO_UDINT(Important_Variables[23]);
N4_NKUM := STRING_TO_UDINT(Important_Variables[24]);
Drenazh_NKUM := STRING_TO_UDINT(Important_Variables[25]);
N14_PrevCount := STRING_TO_WORD(Important_Variables[26]);
N15_PrevCount := STRING_TO_WORD(Important_Variables[27]);
N16_PrevCount := STRING_TO_WORD(Important_Variables[28]);
N17_PrevCount := STRING_TO_WORD(Important_Variables[29]);
N18_PrevCount := STRING_TO_WORD(Important_Variables[30]);
N19_PrevCount := STRING_TO_WORD(Important_Variables[31]);
N20_PrevCount := STRING_TO_WORD(Important_Variables[32]);
N21_PrevCount := STRING_TO_WORD(Important_Variables[33]);
N22_PrevCount := STRING_TO_WORD(Important_Variables[34]);
LT001_LHHC := STRING_TO_WORD(Important_Variables[35]);
LT001_LHC := STRING_TO_WORD(Important_Variables[36]);
LT001_LLC := STRING_TO_WORD(Important_Variables[37]);
LT001_LLLC := STRING_TO_WORD(Important_Variables[38]);
Объясните пожалуйста:
Перед началом цикла значение out1 = FALSE;
В конце цикла out1 = TRUE
Когда выполняется последнее условие выхода и цикл переходит к блоку Init значение out1 = FALSE.
И так со всеми выходами типа BOOL, если перед выполнением в Init значение FALSE, то чтобы внутри цикла не происходило и какие значения перед последним условием выхода не были в блоке Init опять FALSE.
Так и должно быть?
C аналоговыми выходами все нормально. При начале цикла - 0, перед выходом - 10, при возврате на Init - 10.
Добрый день. Подскажите пожалуйста как в LD правильно управлять выходами МДВВ. если можно на конкретном примере. За ранее спасибо.
Скажите пожалуйста, как подключить ПЛК100 к компу не напрямую к Етернет-порту, а через рутер?
Имеется в виду подключение для работы с КоДеСис.
Я так понимаю, что нужно изменить параметры связи в настройках КДС. Но не знаю, как именно.
Спасибо!
UPD: Разобрался. Подключил.
Подскажите кабель КС7 подходит для работы в связке ПЛК100(порт RS232) и модем ПМ-1(разъем Х2), или он только для связи ПМ-1 с ПК. Спасибо!
Здравствуйте!
Имеется ПЛК150-А-L, какой минимум по содержимому проекта необходим для его успешной компиляции (Login)?
В видеоуроках показано как логинится пустой проект с ПЛК100, с ПЛК150 же не получается, выдает ошибку "The project must be correct for login".
Добрый день.
Возник такого рода небольшой вопрос: возможно ли импортировать (подключить) в проект данные таблицы MS Excel для их использования в массиве?
Хотелось бы уточнить один вопрос.
Нам нужно по RS485 в управляющую программу ПЛК присвоить переменной (допустим) "i:INT:=1" значение "i:=2", можем ли мы в таком случае использовать OPC-server и по средством программы "Matrikon OPC Explorer" производить эти монипуляции (исключая использование протокола Modbus или OWEN конкретно в данном случае)? Изучение протоколов идет очень тяжко в связи с отсутствием базовых знаний по сетям =(
Провел эксперимент локально (localhost) по примеру статьи "Запускаем OPC сервер CDS V2.3"(представленной ПК ПРОЛОГ на сайте codesys.ru) используя таргет "CoDeSys SP PLCWinNT 2.4": все работает как надо. Вопрос именно в том, будет ли это работать с RS485?
ps.Еще раз прошу прощения за категорию глупых вопросов, но как говорится «Самый глупый вопрос тот, который не прозвучал»:)
Мне кажется, что удобнее будет использовать бесплатные Мастер-СКАДА и МастерOPC на 32 точки. Там все можно сделать еще и достаточно наглядным.
Спасибо! Попробую копнуть в этом направлении;)
Копнул...
"MasterSCADA RT32 - бесплатная SCADA: ... Поддерживает OPC HDA клиент. Другие дополнительные модули и опции не поддерживаются и отдельно не поставляются" - не подскажите что здесь имеют ввиду под словами "модули и опции"?:o
"IEC61850-OPC-32 ...Пробная полнофункциональная версия на 32 тега." - это и есть МастерOPC?:)
Сможет ли заменить OPC-server Codesys в этой связке МастерOPC на 32 точки?
В Мастер-СКАДА существует некоторое количество дополнительных модулей, позволяющих расширить функциональность, например СМС оповещения, связь с базами данных и т.д. Все это будет невозможно подключить к бесплатной версии. Но оно вам скорее всего и не понадобится. МастерOPC - это modbus OPCсервер, то есть ровно то, что вам нужно. Настоятельно рекомендую не тратя (конкретно сейчас)времени на вопрсы зарегистрироваться на сайте Инсата, скачать и установить эти два продукта и поиграться с ними, посмотрев в том числе и видеоинструкции, которые есть на сайте. Думаю, что почти все вопросы отпадут (весьма вероятно, что появятся новые, аппетит растет во время еды).
Соответственно, если настройка переменных в контроллере для обмена по modbus для вас не составляет проблем, то всё должно получиться.
В этом случае наличие CODESYS на компьютере, который будет работать в связке с контроллером на объекте совсем не обязательно.
capzap, действительно, точки с запятой хватило.
А еще вопрос, чтобы обращаться к дискретному входу-выходу, достаточно ли задать ему имя переменной?
Например, я задал имя дискретному выходу test1 в PLC Configuration, описал его как BOOL-переменную.
В теле программы присваиваю значение TRUE.
После этого плк не реагирует на программу.
В то же время, при нажатии в PLC Configuration на любом из выходов (в оффлайн режиме), у плк загорается индикатор.
Может проблема в Class-е переменной? Я выбирал VAR.
Здравствуйте! не поможете как задовать с плк в ип320 биты?
Вы объясните попонятнее, что менно, где именно, и откуда именно хотите задавать, а то не очень понятно, что такое биты в панели.
как их определить в плк конфигураторе?