Достаточно одного списка текстов. Задаете в нем два текста:
ID=0 "Выкл"
ID=1 "Вкл"
Каждой кнопке к параметру Индекс текста привязываете BOOL_TO_STRING(xButton_№), где xButton_№ - переменная состояния кнопки.
Вид для печати
Вроде бы так пробовал, но получалось на все сразу кнопки значение распространялось. В общем попробую ещё, спасибо.
Уважаемые коллеги помогите выйти из тупика:confused:
1. Делаю вызов нескольких функциональных блоков, от порядка в каком я их объявляю зависит появление ошибки, контроллер не стартует.
FUNCTION_BLOCK A_Main_Base
VAR
FB_GetDataRFID1: GetDataRFID;
FB_CountTime_to_Visu: CountTime_to_Visu;
FB_Test: Test;
FB_Tablo: Tablo;
END_VAR
Долго не мог понять вообще причину. В итоге понял что если после FB_Tablo объявить любой (даже пустой FB), например
FB_Test то на этом FB при старте стопорится программа с выдачей EXCEPTION
Вложение 24708
Если я ставлю FB_Test: Test; после FB_Tablo: Tablo; то появляется эта ошибка. FB между собой никак не завязаны, FB_Test вообще пустой.
Если FB_Tablo: Tablo; на последнем месте то все в порядке.
Ни разу ни с чем подобным не сталкивался, с одной стороны можно не парится если порядок соблюсти все ОК, но хочется понять причину:). Как порядок объявления может влиять, я понимаю в самом коде порядок важен.
Подскажите почему ПЛК323 после 10-12 часов работы начинает вырубаться?
ПЛК подключен к счетчику в щитке, и измеряет напряжение к той фазе к которой подключен (максимум 234 вольта было), под вечер вырубается, при этом веб-морда самого ПЛК работает, просто codesys слетает (в кодесусе в разделе device горит красным подключение к нему), после /sbin/reboot все работает, но когда как, когда на 10 мин, когда на 5-6 часов нормально все. Частота вроде ~50 ГЦ, не понятно ...
Подскажите в чем может быть дело? можно ли как-то программно измерить напряжение на самом ПЛК?
В какую сторону копать?
Подключение в CSD 3.5. Возможно ли подключить внешний прибор по протоколу MODBUS ACSII. Нет связи с прибором и хоть тресни. В самом CDS нельзя выбрать ACSII, как решить эту проблему?
Воспользоваться библиотекой Modbus Master, в ней реализован Modbus ASCII.
http://www.owen.ru/catalog/codesys_v3/80224381
Вот тут можно найти пример работы с библиотекой (правда, только для RTU):
http://www.owen.ru/forum/showthread.php?t=23897
Доброго дня!
Подскажите, есть-ли какой-либо аналог SSR в CDS 3.5 или его эмуляция - имеется необходимость поковыряться с PID ?
Спасибо Евгений.
В чем проблема понял, после переноса появилось конкретное описание проблемы,
не хватало памяти, я слишком много данных в ретайн запихал.
До этого вылетал без ошибок:(
Отсюда вопрос второй. Если залил в виртуальный контроллер такой кривой код, то как его сбросить?
У меня не стартует Control Win, на секунду мигнет цветными квадратиками и все...
Получается залитая кривая прога стопорит его, что делать? Я уже переставил раз Codesys и опять то же самое:confused:
Cейчас еще раз вернулся к этой проблеме - она уходит, когда удаляешь содержимое папки
C:\Program Files (x86)\3S CODESYS 3.5 SP8 Patch2\GatewayPLC\PlcLogic
эта процедура удаляет текущий проект из виртуального контроллера.
Знающие люди, подскажите (документации и выдачи в гугле не хватает чтобы разобраться):
Если я выделяю память:
result:=SysMemAllocData('type_of_element', SIZEOF(result^)*5, ADR(hResult));
А затем очищаю память:
hResult:=SysMemFreeData('type_of_element', result);
Он очистит все от адреса result и до адреса result+5*SIZEOF(result^), т.е. все 5 элементов?
Коллеги прошу помощи.
Ошибка: [FATAL ERROR] C0299
При нажатии "Login" Codesys ругается на отсутствии информации для загрузки приложения.
В ошибках
------ Build started: Application: Device.Application -------
typify code ...
[FATAL ERROR] C0299: Creating a codegenerator failed: The required plug-in is not installed
Build complete -- 0 errors, 0 warnings : ready for download!
версия CODESYS V3.5 SP5 Patch 5, работаю пока с Control Win V3.
Все те же операции в CODESYS V3.5 SP8 Patch 4 проект грузится и работает, правда там тоже есть проблемы поэтому и решил попробовать другую версию.
Дело, очевидно, в этом. Вы используете какие-то расширения для CODESYS?Цитата:
The required plug-in is not installed
Как новичек вопрос не понял:confused:
Что такое расширение?
1. Ставлю CODESYS V3.5 SP5 Patch 5 в нем добавляю стандарт библиотеку.
2. Создаю проект для виртуального контроллера Control Win V3.
3. Пишу простую программу - переключателем зажечь 2 лампочки. По переднему фронту одну, по заднему другую.
Т.к исходный код нужен был для имитации записи данных то по фронтам создавался одиночный импульс, а по этому импульсу на 1 сек зажигается лампочка.
Код проще простого, пока никаких библиотек и т.д. не использую. Точнее пока все удалил и оставил минимум чтобы понять в чем проблема. + Решил попробовать CODESYS V3.5 SP5 Patch 5 вместо SP8 Patch 4.
Начал работу с CODESYS V3.5 SP8 Patch 4, но в нем какие то глюки постоянно, работает работает потом начинает ругаться, откатываю назад все, ничего не помогает т.е точно дело не в ошибках кода, а в чем то другом т.к до этого работало, причем элементарные вещи. Например переключатель перестает фиксировать положение, как будто управляемая им переменная где то сбрасывается, если в свойствах изменяю на кнопку, то при нажатии и удержании все равно положение НАЖАТА не удерживается - начинает мигать.
Расширение или плагин - это компонент, который добавляет в CODESYS новый функционал и вносит соответствующие изменения в интерфейс.
Вот пример плагина: http://store.codesys.com/fb-visu-creator.html
В вашем случае, похоже, проблема не в этом. Вы можете определить момент, в который начинает появляться эта ошибка? Т.е. сначала залить в виртуальный контроллер пустой проект, а потом пробовать заливать его после каждого внесенного изменения.
Интересный плагин, спасибо за наводку:D
Касательно ошибки:
Установлен CODESYS V3.5 SP5 Patch 5.
Создаю Стандарт проект, использую Control Win V3, выбрал ST по умолчанию.
В PLC_PRG присваиваю 1 переменной и все.Вложение 24957
Если будет возможность, напишите мне завтра на e.kislov@owen.ru
В идеале хотелось бы подключиться по Team Viewer.
Я доступен до 16-00 по московскому времени.
Интересный плагин, спасибо за наводку:D
Касательно ошибки:
Установлен CODESYS V3.5 SP5 Patch 5.
Создаю Стандарт проект, использую Control Win V3, выбрал ST по умолчанию.
В PLC_PRG присваиваю 1 переменной и все.Вложение 24957
Ошибка на первом шаге, можно сказать на нулевом:(
Евгений я понял причину и даже получилось ее исправить, но думаю путь не самый правильный.
Причина отсутствие в библиотеке:
3SLicense, 3.5.5.0 (3S - Smart Software Solutions GmbH)
Удалось ее туда добавить открыв проект в CODESYS V3.5 SP8, точнее она сама добавилась.
Ошибка:
[FATAL ERROR] C0299: Creating a codegenerator failed: The required plug-in is not installed
успешно устранена.
Но остались непонятки:confused:
На одном и том же компе установлены CODESYS V3.5 SP8 Patch 4, в нем лицензия автоматом появляется при создании проекта.
И CODESYS V3.5 SP5 Patch 5 в нем лицензия не появляется и добавить не удается т.к в библиотеке поиском находится только версия от старшей 3SLicense, 3.5.8.0, при ее установке ничего не изменилось.
И только если созданный в SP5 проект открыть в SP8 лицензия 3.5.5.0 автоматом появляется, а потом можно работать в SP5.
Возможно есть какие то правила (пусть неофициальные) как правильно устанавливать Codesys?
Мы пока еще не определились до конца с панелькой поэтому потенциально обе версии для нас актуальны как я понимаю.
И еще вопрос заодно, можно ли отключить режим полного экрана при запуске программы в виртуальном контроллере или так и придется Ctr-Tab пользовать для переключения к проекту, а визуха будет на заднем фоне болтаться?
Вообще, рекомендуется устанавливать версии в порядке возрастания.
По поводу режима полного экрана - я, в принципе, понимаю, о чем вы говорите, но у меня это проявлялось только на некоторых машинах и, кстати, наверное только во времена SP5. В последние полгода я работаю в основном с SP7 (и его виртуальным контроллером), при этом визуализация отдельной вкладкой вообще не появляется. Еще такое может проявится, если запускать виртуальный контроллер не из трея, а с ярлыка.
По поводу лицензии - ее библиотека действительно сама должна автоматически добавляться в проект. В вашем случае похоже что при установке что-то пошло не так - например, антивирус не дал сработать CodeMeter или что-то в подобном духе.
По поводу возрастания вполне логично, придется мне еще раз снести Codesys, а лучше винду:D.
На счет экрана еще раз поясню т.к не совсем понимаю что значит работать с "... его виртуальным контроллером".
В трее висит виртуальный контроллер который стартует вместе с виндой. Его нужно только заставить стартануть перед тем как логинится. Отсюда мне не ясно как можно работать с виртуальным контроллером именно определенной версии Codesys SP5 или SP8 на одном компе??? Control Win V3 там уже сидит, в моем случае сидит версия от последней установки т.е SP5 и другого не дано или ими можно управлять?
Соответственно в этот виртуальный контроллер грузится при логине (или уже сидит там с прошлой загрузки) какая то программа. Так вот даже если не запущен Codesys при старте виртуального контроллера на полный экран открывается окно даже если на визуализации одна кнопка. Экран заполняется цветом фона и в углу эта маленькая кнопочка:D
Приходится переключаться на Codesys и в нем уже открывать визуализацию во вкладке как и код программы. Хотелось бы вообще избавится при отладке от открытия этого полно экранного HMI.
По поводу причин моей попытки попробовать другую версию -глюки в SP8:
На текущий момент глюки прекратились:confused::confused::confused: пока у меня 2 рабочие версии этого чудесного исцеления:
1. Создание проекта и визухи в версии SP5, а затем загрузка проекта в SP8. Сам код проекта без визухи легко переносится из версии в версию, а вот визуализация при понижении версии ругается т.е ее надо удалить и по новой создать, при повышении обновляется.
2. Сейчас я редактирую проект в SP8, а виртуальный контроллер у меня SP5 и проект изначально создавался в SP5 (я грешу именно на визуху).
Похоже собака зарыта где то здесь - есть какой то баг в визухе SP8:o Чуть позже как закончу хотя бы первый кусок проекта до логического конца чтобы начальству отрапортовать о каких то результатах, все снесу и снова создам проект с нуля в SP8 и если опять появится этот касяк напишу.
По поводу виртуального контроллера - каждый CODESYS устанавливает свою версию. Из трея по умолчанию запускается последняя из установленных.
Но можно запустить любую версию вручную. Вот ссылка из моего ярлыка для виртуального контроллера версии SP7 Patch4:
"C:\Program Files (x86)\3S CODESYS 3.5 SP7 Patch4\GatewayPLC\CODESYSControlService.exe" -d
но в этом случае как раз будет вот это:
Если я правильно понимаю, у вас сейчас виртуальный контроллер от SP5. Поставьте завтра SP9 и проблема с "полноэкранным HMI" должна уйти, в моем понимании.Цитата:
Соответственно в этот виртуальный контроллер грузится при логине (или уже сидит там с прошлой загрузки) какая то программа. Так вот даже если не запущен Codesys при старте виртуального контроллера на полный экран открывается окно даже если на визуализации одна кнопка. Экран заполняется цветом фона и в углу эта маленькая кнопочка
Приходится переключаться на Codesys и в нем уже открывать визуализацию во вкладке как и код программы. Хотелось бы вообще избавится при отладке от открытия этого полно экранного HMI.
Не, такой вид текста ссылки не описывает запуска любой версии. Или у меня как то не так установились версии Codesys т.к у меня нет папок где указана SP5 и SP7, у меня просто 3S CODESYS без SP. Сам кодесис запускается по ярлыку в котором версия прописана, например --Profile="CODESYS V3.5 SP5 Patch 5", а вот виртуальный контроллер так не прописан. В папке C:\Program Files\3S CODESYS\GatewayPLC есть разные cfg файлы.
Скорее всего:
"C:\Program Files\3S CODESYS\GatewayPLC\CODESYSControlService.exe" -d это запуск иконки в трее, а она для всех версий одна и та же.
а вот запуск самой службы
"C:\Program Files\3S CODESYS\GatewayPLC\CODESYSControlSysTray.exe" CODESYSControl.cfg
Соответственно если создать ярлык и заменить CODESYSControl.cfg на
CODESYSControl 3.5SP5Patch5.cfg то должно получится, в общем надо пробовать.
НО!!! у меня вопрос - создание проекта в последней версии Codesys к примеру SP9 не создаст проблем если я залью его в панель с прошивкой 4 или например в панель с прошивкой 3.9.х.х?
Евгений и еще один вопрос по поводу архивации.
В теме Библиотека архивации для СПК - ArchiverSPK_3.5.3.53.zip
http://www.owen.ru/forum/showthread.php?t=15867
Написано - Внимание! Разработка данной библиотеки полностью прекращена.
Хотя тема до сих пор обсуждается, подскажите если не трудно на вскидку что лучше использовать для архивации?
А в разделе справки есть описание - Библиотека ArchivatorOwenLib.
Что то я пробежавшись по форуму так и не понял какая библиотека новее, какая лучше:confused:
а) ArchiverSPK_3.5.3.53 - не поддерживается, устарела, что пришло на смену???
б) Библиотека ArchivatorOwenLib
в) CAA File - пока не знаю что за зверь, надо читать т.к народ много на него ссылается.
г) Sysexecute - тоже много ссылок, но надо читать и разбираться.
Что лучше использовать? Возможно они пересекаются и например ArchivatorOwenLib уже использует CAA File или Sysexecute?
2. Кстати по поводу CODESYS 3.5 SP9, он теперь поддерживает только Win7 так что на текущий момент пока не получу новый комп буду сидеть на SP8, виртуалку с семеркой и кодесисом мой комп не потянет:(:(:(.
1. Конкретно я всегда устанавливаю каждую новую версию CODESYS в отдельную папку, в названии которой указываю номер версии. Поэтому у меня есть отдельные ярлыки для всех версий виртуального контроллера (путь к одному из них я указал выше). Советую поступать также.
2. Залитие проекта, созданного в SP9, может создать проблемы, поэтому для прошивок 3.9xx мы рекомендуем использовать SP5 Patch5. Зачастую опытные пользователи работают в более новых версиях, поскольку там исправлены определенные баги - но делают это, естественно, на свой страх и риск.
ОГРОМНОЕ СПАСИБО Евгений:)
Библиотека еще сырая.
Коллеги приступил к освоению ArchivatorOwenLib.
1. Все сделал как в хелпе 06_arxivirovanie.doc и ArchivatorOwenLib_v1.pdf. в целом заработало, НО!!!
На диск С пишется файл с arhiv_2016ХХХХ.log.Код:FB_GetData(
Name:= 'N',
Tip:= 4,
Znachenie:= ADR(ST_G_Tablo_Full[1].DegaN_Time),
ErrCode=> ,
StrOut=> ,
StrOutHead=> );
FB_GetData(
...
FB_GetData(
...
//Write data to disc
FB_WriteData(
Enable:= V_EnableWriteArchiv,
ArcPnt:= ADR(FB_GetData),
NameArc:= 'arhiv',
Path:= 'С:\',
Mode:= 0,
ErrCode=> );
Запись в файл производится по команде Enable на WriteData, а вот идеология построения архива мне пока не очень понятна:confused:
Вот такой файл создался после подачи команды на запись 2 раза. После каждой подачи команды в файл дописывается еще одна строчка, я так понимаю на следующие сутки создастся другой файл с его датой в имени и в нем так же будут добавляться строчки.Код:#000 size=015 name=N
2016.06.19 21:23:27 #000=1#001=#002=#003=#004=#005=#006=
2016.06.19 21:25:34 #000=1#001=#002=#003=#004=#005=#006=
Вопросы которые возникли:
а. Почему появилось имя только первой переменной N, остальные не появились?
б. Можно ли накопить данные, а затем сделать запись в файл сразу например 100 строк.
в. В примере 06_arxivirovanie.doc команда Enable так же присутствует и на входе GetData, в текущей библиотеке этот блок такого входа не имеет.
Может разрешение на GetData позволит накопить данные, а затем команда на WriteData накопленные данные записать за один заход в файл или такое невозможно.
г. Возможно ли изменить формат вывода (убрать перед значением #000=,#001= и т.д.) или заменить на точку с запятой, чтобы в экселе этот файл читался без проблем? Конечно можно автозамену использовать, но это уже лишние действия, а хотелось бы csv подобный текстовый с разделителями файл получить готовый.
Здравствуйте, Господа.
Возникла проблема, есть рабочий проект СПК + ПЛК + 2А + 32ДН + 32Р. Потребовалось заменить 2А (2шт) на 8А (1шт) и 32Р на 16Р. Обновил устройства, переписал входы\выходы и всё, сеть упала. Причём модуль 8А на шине RS485-2, остальные на первой. Подскажите пожалуйста как правильно изменить модули.
Тупость с оболочкой, пришлось добавлять новые блоки, расписывать входы\выходы, почему нельзя просто обновить устройство. В общем геморрой. Спасибо, что как обычно промолчали.
Добрый день, нужно реализовать сравнение двух переменных, больше/ меньше, как это сделать на языке CFC ?
Работаю с библиотекой OSCAT, в мануале описан блок CMP но в самой библиотеке его нет.
Добрый день! подскажите пожалуйста, есть необходимость подключить спк207 к контроллеру японского электроагрегата. Японцы дали адреса регистров и все параметры подключения кроме Slave ID адреса. Есть ли варианты подключения по RS-485 напрямую только с одним устройством не имея его ID адрес или это ошибка? Наименование протокола пока получить у них не могу (японцы вообще никогда не торопятся:mad:), но визуально это Modbus RTU.Вложение 25321