Просмотр полной версии : CoDeSys v2.3
Николаев Андрей
10.08.2008, 13:07
Предлагаю пользователям в данном разделе писать неточности, ошибки и вопросы, связанные с работой системы программирования CoDeSys v2.3
Вопросы типа почему я не могу найти что то или как мне записать программу будут удаляться - здесь только замечания по самой системе.
Николаев Андрей
10.08.2008, 13:16
На сайте выложена русскоязычная версия CoDeSys v2.3.9.6
На русский язык переведены все меню.
Скачать русифицированный CoDeSys с инструкцией по выбору языка.
Скачать можно здесь: http://www.owen.ru/device/88206764
"Пишeм пpocтoй пpимep" (CoDeSys v2.3).
Сделал всё как написано в примере, получаю:
Codesys.exe - oбнapужeнa oшибкa. Пpилoжeниe будeт зaкpытo.
Как найти ошибку?
Николаев Андрей
28.08.2008, 17:02
Это проблема OC.
Надо разобраться что происходит - то ли Брэндмауэр блокирует, либо еще чего.
В любом случае переставьте CoDeSys. Если это не поможет - обратитесь к своему системному администратору.
Vyacheslav
01.09.2008, 11:24
У меня такая же проблема. Codesys v.2.3.9.6 не может компилировать пример из "Руководства пользователя" и Projects/example.pro. В то же время Projects/First Steps.pro коипилируется нормально. Codesys устанавливался под Windows XP и на работе и на домашнем ноутбуке. Помогает замена Codesys на предыдущию версию v.2.3.8.1
Николай Суриков
02.09.2008, 07:25
Ну а это уже надо перенести в тему руссификации. Господа переводчики не так перевели строчку в файле CoDeSysRussian.ld2.
У Вас есть вот такая строчка "Для '%s' недостаточно %d операндов. Необходимо, по крайней мере, %d", а вот оригинал "%d operands are too few for '%s'. At least %d are needed". Посмотрите что не так. Номер строки 34032.
Николай Суриков
02.09.2008, 08:07
А заковыка вот в чем. Нельзя менять местами %d и %s в первом предложении.
Надо написать как-то вот так "Недостаточно %d операндов для '%s'. Необходимо по крайней мере %d."
Николай Суриков
02.09.2008, 10:04
Тем у кого появляется ошибка CoDeSys при компиляции проекта можно поменять файл CoDeSysRussian.ld2 в папке с установленной программой на файл из архива. Можно конечно дождаться выхода официального исправления ошибки и перекачать 128 метров.
Это неофициальное исправление и за все последствия отвечает пользователь. Автор не несет никакой ответственности.
И да простит меня "Пролог".
В справке CoDeSys v2.3 есть раздел "Пишем простой пример" который не работает.
Можно ли где то скачать работающий пример из этого раздела.
Николай Суриков
17.09.2008, 10:38
Может кто-нибудь скажет, когда будет исправлена ошибка? Уже две недели прошло.
Николаев Андрей
17.09.2008, 20:18
К сожалению исправление в CoDeSys - прерогатива компании Пролог.
И видимо специалисты заняты. Все люди - надо это понимать... За ошибку спасибо
Игорь Петров
19.09.2008, 13:13
В разделе загрузки на сайте 3S (http://www.3s-software.com/index.shtml?ru_Download) лежит V2.3.9.8. Там эта ошибка исправлена.
Кроме того, там новая редакция русской документации и хелпа.
Обновления/исправления CoDeSys V2.3 делаются по графику (примерно раз в квартал).
Несколько элементов работали с гл. константами (Green: DWORD-16#0000ff00 и т.д.) через свойство progammability.
Затем мне понадобилсь изменять заливку кнопок таким же образом, но после обращения к константе в схеме она стала иметь инициализацию = 0 во всех случаях где используется.
Откат новых схем не помогает. Что делать?
Назаров Александр
11.10.2008, 14:24
Не работает редактирование в FB-CFC - Ctrl+C, Crtl+V. :( C текстом нормально!, хотя нет тоже какая то фигня, раз скопировал и вставил, а теперь постоянно вставляет тоже самое!!!???
Николаев Андрей
12.10.2008, 14:12
Какая у Вас ОС?
У меня с Vista наблюдается такой же недостаток.
То есть ctrl-v работает, а вот ctrl-c нет, так что ничего не копируется, и по этому вставляется старое содержание буфера.
Назаров Александр
12.10.2008, 16:01
Операционная система XP. с предыдущей версией такой проблемы не было. А так как привык работать с клавишами, что весьма удобно, сейчас просто выводит из себя.
Я пока что вообще чайник, но хотелось бы совершенствоваться в программировании. ПОЖАЛУЙСТА, выложите примеры программорования в среде CoDeSys или пришлите мне на почту kusscha@yandex.ru и тогда еще одним вашим коллегой станет больше.
Какая у Вас ОС?
У меня с Vista наблюдается такой же недостаток.
То есть ctrl-v работает, а вот ctrl-c нет, так что ничего не копируется, и по этому вставляется старое содержание буфера.
Решение проблемы - вставьте в папку с установленным Codesys файл:
Назаров Александр
15.10.2008, 11:45
Решение проблемы - вставьте в папку с установленным Codesys файл:
Спасибо, действительно работает!:)
Обнаружил ошибки: создал в визуализации элементы Индикатор и Столбчатый указатель,пытаюсь отредактировать их параметры, появляется окно: Конфигурирование группы вместо окна Конфигурирование индикатора или столбчатого указателя.Как попасть в окно настороек индикаторов? В версии 2.3.9.3 все работает.
Назаров Александр
19.10.2008, 14:00
При наладке системы обнаружилось не соответствие показаний графических трендов и одноимённых переменных, выведенных в текстовом формате?
А скажите пожалуйста, с плк100 идет диск с Кодесисом, он полностью лицензионный со всеми прогами или такойже как и русифицированный на сайте? То есть кое что без лицензии?
Николаев Андрей
24.11.2008, 10:27
Кодесис где бы он ни был лицензионный. Все права на него принадлежат немецкой компании 3S-Software.
Мы только выкладываем его на диски и на сайт. Вы так же можете скачивать его непосредственно на сайте www.codesys.ru
На диске более старая версия CoDeSys в которой все функции работают.
На сайте более новая, с русификацией.
Наверное я вопрос задал не правильно. :)
Открываем менеджер лицензий и видим-
CoDeSys HMI Demo
CoDeSys SP PLCWinNT Demo
CoDeSys SP RTE Demo
ENI Server Demo
И т. д. Это что?
Николаев Андрей
25.11.2008, 10:14
Ну логично предположить, что это демоверсии данных приложений:cool:
Так он идет везде (в дистрибутив включены демо версии данных утилит)
Для покупки полных рабочих версий данных утилит Вам необходимо обращатсья к правообладателю: www.codesys.ru
Игорь Петров
25.11.2008, 12:00
Открываем менеджер лицензий и видим-
CoDeSys HMI Demo
CoDeSys SP PLCWinNT Demo
CoDeSys SP RTE Demo
ENI Server Demo
И т. д. Это что?
Овен приобрел права на использование CoDeSys со своими контроллерами. Лицензионно тут все четко. Саму среду программирования CoDeSys можно использовать бесплатно на абсолютно законных основаниях :)
Однако, кроме собственно CoDeSys компания 3S Smart Software Solutions делает и некоторые другие доп. продукты. Они бывают полезны при отладке даже в демо режиме. Поэтому вкладывать их в дистрибутив есть смысл. Например, PLC WinNT можно использовать для эмуляции контроллера, при его отсутствии, связи через OPC и др. Все эти демо полнофункциональные. Работают 1 час непрерывно, затем перезапуск и опять час…
99% пользователей ПЛК эти штуки не понадобятся. Если вдруг понадобятся, то можно полноценно все попробовать и купить рабочие версии, если понравится. Подробнее об этих продуктах см. тут. (http://www.3s-software.com/index.shtml?ru_ru_CoDeSysSPRTE)
Вы можете сделать в CoDeSys некую свою библиотеку и продавать ее. Тот же менеджер лицензий позволит выполнить защиту и сделать демо. Если она будет иметь некий спрос, то можно вложить ее демо в дистрибутив ;)
Мундштук
10.12.2008, 21:02
русская версия CoDeSys_v2399 :
при установке таргет 2.06.03 для 100K-L,
оболочка "не видит" файл с расширением tnf.
В чем причина ? русская версия?
Николаев Андрей
13.12.2008, 13:47
При чем здесь CoDeSys2.3 и *.tnf файл???
Данный файл предназначен для утилиты Install target. А она во первых осталась на английском, а во вторых все видится - только что проверил.
У Вас собственно файл сам есть?
Ну и рекомендую устанавливать таргеты запуская InstallTarget.bat
Разрабатываю проект на CFC CoDeSys 2.3 (2.3.8.1). Подключил визуализацию-всё нормально было, но когда число блоков стало в районе 255 среда просто вываливается в WINDOWS XP без всяких предупреждений и сообщений. Проверил на другой машине - та же картина. Прошу помочь
При связи SCADA c OPC сервером CodeSys передаются все переменные и функциональные блоки проекта,
независимо от того какие выделены на вкладке
Проект->Опции->Символьная конфигурация->Настроить Символьный файл.:mad:
Кто нибудь знает как победить?
Николаев Андрей
04.02.2009, 09:35
Правильно ли я понял, что Вы открываете:
Проект->Опции->Символьная конфигурация->Настроить Символьный файл.
В открывшемся окне выбираете какие переменные Вам нужны (открываете все папки и удерживая Ctrl выделяете именно нужные элементы), и при этом все переменные проекта видны в OPC?
Честно говоря с такой ситуацией сталкиваюсь впервые...
Малышев Олег
09.02.2009, 17:00
У Вас в настройках OPC сервера стоит путь к проекту. Если его убрать нужны будут символы. Приоритет загрузки символов переменных по умолчанию - файл проекта.
2Николаев Андрей
Да, именно так.
2Малышев Олег
Вы правы,после того как убрал имя проекта получилось.
Правда потребовались дополнительно некоторые шаманские действия:confused: - перекомпиляция,перегрузка проекта,убил директорию с символами в Windows и Gateway server в памяти.После чего то из этого получилось как хотелось.
Николаев Андрей
14.02.2009, 15:25
Только вчера проверял:
Не надо ничего удалять ни откуда.
В CoDeSys:
1. Ставите галочку создавать файл.
2/ Открываете меню выбора переменных.
3. В меню выбора удерживая Ctrl выбираете мышкой нужные переменные (будут синего цвета). Если этого не делать - автоматически берутся все переменные.
4. Не забываем поставить галочку в низу - передавать данные.
5. Далее команда компилировать все. Ну и логин. Не забудте сохранить проект.
В OPC - удаляете все старые подключения. Добавляете новый узел, и в нем с помощью меню выбора указываете сетевые настройки. Все работает
В СКАДА при перенастройке OPC сервера (если старый не работал) нужно удалить OPC сервер и вставить заново.
Сергей71
17.02.2009, 09:01
А еще вопрос.
Можно ли через этот ОРС с одного ПЛК читать перемнные но с разным периодом опроса.
Пример
одни данные - 1 раз в 100мсек,
другие данные - 1 раз в 500мсек,
время - 1 раз в сек.
т.д.
Николаев Андрей
17.02.2009, 09:15
Здесь нужно понимать "отпускает" ли опрашивающая программа OPC сервер (то есть освобождает ли канал обмена при отсутствии запроса).
Если освобождает - можно попробовать.
Сергей71
17.02.2009, 09:43
Здесь нужно понимать "отпускает" ли опрашивающая программа OPC сервер (то есть освобождает ли канал обмена при отсутствии запроса).
Если освобождает - можно попробовать.
Что значит отпускает.
Запущенная программа запускает ОРС, смотрит данные и выводит на экран, но и выполняет разные события. Но для разгрузки канала связи удобно читать переменные с разным периодом опроса (я зараннее знаю время изменения данных).
Николаев Андрей
17.02.2009, 16:58
Все верно.
Программа запускает OPC при каждой транзакции.
А вот выключает (закрывает) ли она OPC при отсутствии обмена по сети - вот вопрос.
Сергей71
20.02.2009, 12:41
Все равно не понял.
Я думаю так.
ОРС опрашивает данные, а программа смотрит изменения данных - конечно она не закрывает связь с ОРС. Т.е закрывешь программу и закрывется ОРС.
Но программа сообщает ОРС какие переменные надо опрашивать и ОРС их опрашивает с общим периодом для всех. Или программа может сообщить ОРС какие переменные и с каким периодом опрашивать.
Николаев Андрей
21.02.2009, 20:19
Помимо вызова самого OPC есть еще работа с физическим COM портом.
При обмене OPC занимает COM порт и больше ни одно приложение не имеет доступа к порту, пока OPC не перестанет его использовать.
Предлагаю пользователям в данном разделе писать неточности, ошибки и вопросы, связанные с работой системы программирования CoDeSys v2.3
Вопросы типа почему я не могу найти что то или как мне записать программу будут удаляться - здесь только замечания по самой системе.
Установил CoDeSys v2.3.9.9. Открываю проект, откомпилированный в v2.3.8.1. При компиляции подпрограммы, созданной на языке IL вылетает "Приложение будет закрыто". Экспорт-импорт не помогает. Пришлось пока все вернуть.
Тюменчанин
17.03.2009, 07:38
Установил CoDeSys v2.3.9.9. Открываю проект, откомпилированный в v2.3.8.1. При компиляции подпрограммы, созданной на языке IL вылетает "Приложение будет закрыто". Экспорт-импорт не помогает. Пришлось пока все вернуть.
Точно такая же ситуация. Один в один.
Николаев Андрей
17.03.2009, 10:22
Зайдите в Меню
Проект-Опции-Генератор кода.
Выберете пункт версия компилятора, и выберите 2.3.8.1
Если с данной версией ваш проект отлично работает, зачем что то менять?
Игорь Петров
17.03.2009, 11:28
Сделайте: Проект – Очистить все
Проверьте пути к библиотекам CoDeSys в настройках проекта. Очень возможно, что цепляет старые биб-ки.
Пришлите проект. Я попробовал смоделировать ситуацию, но проблема не вылезла.
Имхо, руссификация вообще не нужна!
На английском даже более понятней.
А переделывать язык это дополнительные баги, путаница, непривычность, ошибки перевода, неоригинальность.
Малышев Олег
18.03.2009, 09:01
Имхо на вкус и цвет все фломастеры разные - кому русский, кому немецкий, кому французский. За перевод на русский 3S, Прологу и лично Игорю Викторовичу огромная благодарность.
З.Ы. Сам пользуюсь 2.3.8.1 жду 2.3.9.9SP1 или 2.4.0.0
Игорь Петров
18.03.2009, 15:36
:eek: Русификация не нужна, а англофикация нужна? При переводе на английский и на русский одинаковые проблемы. Базовый язык немецкий.
Сейчас в русском интерфейсе V2.3 есть проблема с копированием по Ctrl-C. Исправлено, в. след. патче будет работать. Других проблем пока неизвестно.
С документацией вообще сложно. Большинство документов исходно писалось на немецком, часть на английском, кое-что на русском (эта часть будет возрастать). Затем все это переводится на другие языки (причем не всегда носителями языка). Предположение, что английская документация вернее, чем все прочие не верно. Пожалуйста, используйте Русскую документацию. В ней мы все очень тщательно проверяли. Я бы сказал, что она сейчас лучше чем английская. Сообщайте об ошибках – вместе сделаем конфетку :)
:eek: Русификация не нужна, а англофикация нужна? При переводе на английский и на русский одинаковые проблемы. Базовый язык немецкий.
Сейчас в русском интерфейсе V2.3 есть проблема с копированием по Ctrl-C. Исправлено, в. след. патче будет работать. Других проблем пока неизвестно.
А гдебы скачать этот патч?!
у меня есть вот такая проблема только начал работать с плк, никак не могу к нему подключиться кодесис выдает сообщение либо "невозможно подключиться к указанному шлюзу" либо выдает ошибку "#0"
проблема решена, подключил программу закачал, теперь стоит другой вопрос, как глобальную переменную сделать доступной для редактирования по соти Rs-485?
Николаев Андрей
22.04.2009, 17:27
уважаемый техник, не забываем про документацию.
сначала нужно сделать переменную, доступную редактированию по сети, и когда вы будете её объявлять - объявлять как глобальной.
в программе же вы присвоите переменной для обмена значение переменной, которая у вас уже была.
как добавить:
в конфигурации плк добавляете протокол обмена, в нем настраиваете интерфейс, и добавляете канал передачи нужного типа. и вот для этого канала переменную и задаете.
Доброе время суток.
Подскажите пожалуйста какой тип переменных мне нужно выбрать, чтобы они корректно отображались в СМИ1.
Сеть на ПЛК 150:
Modbus (Slave)
RS-485
На СМИ1:
RS-485(Master)
Передаются с ПЛК
6 переменных типа REAL
при помощи элементов - 2 byte
На СМИ1 принемаются типом - Fixdot
Первые две только отображаются остальные - редактируемые.
Так вот первые две переменные постоянно исчезают или меняются местами.
Прикрепляю файл конфигурации СМИ1
Назаров Александр
27.04.2009, 18:14
какую версию кодесис рекомендует устанавливать овен на сегодняшний день?
Назаров Александр
27.04.2009, 18:56
а на сайте лежит 2.3.99, стоит ли пользоваться и в чем различие, кроме русификации? что то стало лучше:) ?
я пробовал скачивать у меня не получается.
на данный момент разобрался с причиной сбой переменных, задал время задержки ответа на плк. но относительно типа переменных так и не понял, я задаю в плк флоат, и в сми1 флоат эти переменные длруг друга как-то не очень видят?
параметры отображения (переменная из сети) работают нормально, но как только пытаюсь взять из сети параметр редактирования начинается сбой, время сдесь уже не помогает.
господа, разроботчики подскажите пожалуйста, что можно сделать, проект описан выше.
Возникло затруднение с заданием значения на аналоговых выхода при помощи переменных в среде CoDeSys v.2.3.8.1
если кто-нибудь сталкивался с такого рода задачей, подскажите как это решается или хотя-бы где можно посмотреть, в руководствах не нашел.
Возникло затруднение с заданием значения на аналоговых выхода при помощи переменных в среде CoDeSys v.2.3.8.1
если кто-нибудь сталкивался с такого рода задачей, подскажите как это решается или хотя-бы где можно посмотреть, в руководствах не нашел.
Для выходов 4-20мА в переменную, связанную с выходом, задаете значения от 4 до 20. Соответственно для 0-10 задаете от 0 до 10.
Петрович
08.05.2009, 09:02
что-то с кодировкой русифицированной версии. все регионалсеттинги вроде стоят россия.
Lightning
14.05.2009, 13:18
В связи откатом на версию 2.3 появился вопрос: :)
В CoDeSys v3 период циклического выполнения POU можно задать непосредственно в настройках POU. А где это задается в CoDeSys v2.3?
Чтобы программа выполнялась с заданной периодичностью (например - каждые 10 сек).
И заодно - где устанавливается в версии 2.3 частота обновления визуализации?
:)
В связи откатом на версию 2.3 появился вопрос: :)
В CoDeSys v3 период циклического выполнения POU можно задать непосредственно в настройках POU. А где это задается в CoDeSys v2.3?
Чтобы программа выполнялась с заданной периодичностью (например - каждые 10 сек).
И заодно - где устанавливается в версии 2.3 частота обновления визуализации?
:)
Для работы с частотой вызова POU можно либо описать вызов в главной программе PLC_PRG, либо использовать Конфигурацию задач (вкладка Ресурсы).
Пример здесь http://owen.ru/forum/attachment.php?attachmentid=973&d=1233918790
Вопрос заключается в том, можно ли визуализацию из CoDeSys запустить на весь экран, и если это возможно, то при помощи какой утилиты.
Вопрос заключается в том, можно ли визуализацию из CoDeSys запустить на весь экран, и если это возможно, то при помощи какой утилиты.
При помощи дополнительного компонента codesys HMI.
Он устанавливается вместе со средой программирования на ваш ПК в демонстрационном режиме.
Попробуйте, если понравится - обращайтесь в Пролог (www.codesys.ru) для покупки лицензии (ок 200 евро на компьютер).
Adv_johnnY
13.07.2009, 13:02
Можно ли превести программу с FBD на IL?
И как сделать, чтобы если вдруг ПЛК100 перейдёт в STOP, все выходы ПЛК и трёх МДВВ перешли в отключенное состояние? Пока иду в кофигурацию задач, ставлю галочку в соответствующую клетку, но дальше не понятно...
Можно ли превести программу с FBD на IL?
И как сделать, чтобы если вдруг ПЛК100 перейдёт в STOP, все выходы ПЛК и трёх МДВВ перешли в отключенное состояние? Пока иду в кофигурацию задач, ставлю галочку в соответствующую клетку, но дальше не понятно...
по переводу - наводишь на прогу FBD и через контекстное меню конвертируешь в IL.
по стопу - надо смотреть в сторону системных событий в конфигураторе задач.
по мдвв - если модбус рту, то настраиваешь нужное время таймаута и безопасное состояние выходов.
короче надо тебе почитать разных руководств по кодесису и мдвв....тоды проще будет...по себе знаю:)
light_finder
19.11.2009, 19:52
Господа, скажите пожалуйста, а существует ли дистрибутив среды CodeSyS для ОС семейства UNIX?
нет. были попытки запускать на линуксе под вайном.
где то тема была....
light_finder
19.11.2009, 21:11
вайн это большой-большой глюк, к сожалению :(
а подскажите пожалуйста, где можно посмотреть примеры проектов в CodeSyS для управления модулями мдвв, мву8 и мва8 через плк?
Acid CooL
19.11.2009, 22:32
Вот ссылка http://www.owen.ru/forum/showthread.php?t=551&page=2
Там много всяких примеров ))
light_finder
20.11.2009, 09:36
Acid CooL, спасибо
light_finder
13.12.2009, 22:14
господа, скажите, а вот можно ли настроить плк следующим образом:
вот есть, например, какая-то программа или функция на с скажем, работающая на пк, которая устанавливает выходы, например, мдвв, в требуемое состояние.
плк подключен к пк, мдвв подключен к плк.
последовательность действий такая: я запускаю программу на пк, вызываю в ней функцию, передаю ей в качестве параметра требуемое состояние выходов мдвв и хочу, чтоб мдвв в это состояние переключился. это реализуемо? как вообще осуществляется управление плк? можно ли будет вот описанным образом управлять модулем мдвв?
последовательность действий такая: я запускаю программу на пк, вызываю в ней функцию, передаю ей в качестве параметра требуемое состояние выходов мдвв и хочу, чтоб мдвв в это состояние переключился. это реализуемо? как вообще осуществляется управление плк? можно ли будет вот описанным образом управлять модулем мдвв?
Через переменные в области ввода-вывода по сетевым протоколам MODBUS или ОВЕН.
Сообщения по сетевым протоколам проще всего выдавать через OPC сервер.
light_finder
14.12.2009, 09:23
Через переменные в области ввода-вывода по сетевым протоколам MODBUS или ОВЕН.
Сообщения по сетевым протоколам проще всего выдавать через OPC сервер.
так. Вот я правильно понял, что с пк надо послать пакет специального вида по любому из двух поддерживаемых плк протоколов обмена, который сообщит плк, какое действие и с какими данными надо осуществить?
А орс сервер поднимается на плк или где?
Николаев Андрей
14.12.2009, 11:07
1. Настраиваете в CoDeSys обмен: по одному интерфейсу с ПК (будет ли это OPC или ModBus или какой то Ваш протокол). На 485 настраиваете обмен ПЛК с МДВВ (по любому из поддержаных протоколов).
2. Пишите программу для ПЛК в CoDeSys:
Если с ПК мне записали в таком то регистре 1 то
записать в таком то регистре (отвечающем за обмен с МДВВ) соответствующее значение...
Это если очень большими мазками.
light_finder
14.12.2009, 20:37
ага. спасибо. а плк соединяется с пк тоже по Rs-485 или можно как-нибудь еще?
Можно по RS-232 или Ethernet TCP/IP.
light_finder
14.12.2009, 21:06
а протокол обмена между плк и пк стандартизован или я могу использовать любой, даже собственный какой-нибудь?
а протокол обмена между плк и пк стандартизован или я могу использовать любой, даже собственный какой-нибудь?
Можете написать свой, если делать нечего ;)
А вообще стандартный в мире MODBUS и стандартный для ОВЕН (ОВЕН) уже назывались. К ним даже "драйвера" есть OPC серверы.
light_finder
14.12.2009, 22:52
ну я имею ввиду, что плк можно настраивать, то есть он работает не так, как дискретные модули - есть три протокола, и я жестко ограничен выбором одного из трех.
Николаев Андрей
15.12.2009, 10:02
совершенно верно
есть три протокола, и я жестко ограничен выбором одного из трех.
офф-топ конечно:
просто Жесть :D
для обнена пк -плк просто используйте ОРС ... зачем городить огород :confused: и уходить от стандартов ...
зы. т.к. если завтра вы попадёте под трамвай, то ваш наследник будет вас проклинать.
кто нибудь может ответить на вопрос ?
VAR
D AT %MD0 : DWORD;
W0 AT %MW0 : WORD;
W1 AT %MW1 : WORD;
....
D := 16#0;
W0 := 16#1234;
W1 := 16#5678;
что будет в D?
варианты:
1)D = 16#12345678;
2)D = 16#56781234;
3)D = 16#12340000;
4)D = 16#00000000;
сначала ответьте, а потом попробуйте этот кусок кода в вашем контроллере.
В последней версии CoDeSys в окне конфигурации элементов визилузации,на вкладке переменные появились 2 новых строчки conversion, conversion factor что это и для чего оно нужно?
Владимир 81
05.06.2010, 08:34
День добрый такая проблемма скачал CoDeSys v2.3 ru с сайта овен установил. Запустил меню на русском но когда открываеш библиотеку или функции и все всплывающие онкна на не поддерживающем шрифте.
И вопрос киким языком программировать плк 63 ???
День добрый такая проблемма скачал CoDeSys v2.3 ru с сайта овен установил. Запустил меню на русском но когда открываеш библиотеку или функции и все всплывающие онкна на не поддерживающем шрифте.Открываете codesys.ini и исправляете Face=Arial Cyr
И вопрос киким языком программировать плк 63 ???Любым. Все эти языки инвариантны.
кто нибудь может ответить на вопрос ?
VAR
D AT %MD0 : DWORD;
W0 AT %MW0 : WORD;
W1 AT %MW1 : WORD;
....
D := 16#0;
W0 := 16#1234;
W1 := 16#5678;
что будет в D?
варианты:
1)D = 16#12345678;
2)D = 16#56781234;
3)D = 16#12340000;
4)D = 16#00000000;
сначала ответьте, а потом попробуйте этот кусок кода в вашем контроллере.
получился второй вариант :confused:
можно ли вывесить документацию для Opc сервера, вроде уже и на русском есть?
Николаев Андрей
09.06.2010, 12:48
а что значит документацию по Opc и по какому Opc???
OPC-сервера CoDeSys, на codesys форуме руководство выкладывали, но там я со своей mail почтой регистрацию пройти не могу.
Николаев Андрей
09.06.2010, 22:38
Дык на диске с ПЛК есть.
Если диска нет - пишите на plc@owen.ru - вышлем
спасибо за ответ, как-то я его проглядел
После установки CoDeSys в папке C:\Program Files\3S Software\CoDeSysOPC\ можно найти более полную инструкцию по использованию ОРС-сервера
Здравствуйте!
Работаю с OPC сервером CoDeSys через клиента на Delphi. Необходимо считывать свойство Quality объекта OPCItem.
Подскажите его значения.
Например, я знаю, что:
192 - нормально считанная переменная (good)
8 - нет связи
0 - не уверен, но скорее всего еще не читавшаяся ни разу переменная.
А каковы остальные значения? Что они означают
Спасибо.
Николаев Андрей
28.09.2010, 10:24
К сожалению в компании ОВЕН нет специалистов, которые смогли бы ответить на этот вопрос.
www.codesys.ru
http://www.3s-software.com/index.shtml?russ-homepage
доброе время суток! после очередной компиляции проекта возникла проблема конфигурирования области вв контроллера 100.к - контроль неиспользуемых переменных предупреждает, что входные/выходные переменные проекта не используются. из-за чего может возникать подобное?
Николаев Андрей
01.10.2010, 11:13
стандартная ошибка новичков:
когда вы переменные объявляете в конфигурации плк - они автоматически становятся глобальными.
вы же в своей основной программе завели еще ряд переменных с такими же именами.
локальные переменные в отдельной программе главнее глобальных. по этому глобальные (из конфигурации плк) не используются.
удалите из объявления все переменные, которые вы уже добавили в конфигурации.
2 Николаев Андрей
спасибо за помощь. примерно до этого дошел и сам.
тут возникает другой вопрос: получается что есть 2 варианта привязки переменных на входы/выходы контроллера - либо объявлять в конфигураторе либо в программе видом
aaa AT %IX0.0.0: BOOL;
в случае использования второго варианта есть разница между областями VAR и VAR_INPUT?
Николаев Андрей
01.10.2010, 18:16
var input используется тогда и только тогда, когда Вы создаете дополнительные POU в программе и привязываете их к остальным. В других случаях они не нужны. Использовать глобальные переменные в подпрограммах (другие POU не рекомендую).
Я рекомендую второй вариант, причем во вкладке ресурсы\глобальные переменные.
Забить их все там один раз, а в программе нажимать F2 и выбирать нужную переменную из глобальных.
т.е. если в кратце, то связь между Plc_prg и подпрограммами через Var_input/var_output, а связь между Plc_prg и внешними устройствами через глобальные переменные во вкладке, так?
Николаев Андрей
02.10.2010, 15:13
correctly... и все это написано в доках по Codesys
и все это написано в доках по Codesys
наверно) спасибо за ответы
подскажите пожалуйста, как в МЭК шагах делать действия а ля
i:=i+1
если так делать можно только через Проект/Добавить действие, то как осуществляется привязка этого действия к конкретному шагу?
сильно не пинать.
Николаев Андрей
05.10.2010, 18:34
не понятен вопрос.
если вы говорите о языке Sfc - то прям в нужном вам шаге (кликаете на него 2 раза) пишете ваше выражение.
только помните - выполняются только те выражения, которые описаны в действующем на данный момент шаге.
есть 2 варианта SFC - простой
и МЭК:
http://www.imagebar.net/out.php/i80723_11111222.PNG
в случае использования МЭК варианта выполнить действие присвоения не совсем получается - в поле Action его не засунуть, т.к. там только для булевых переменных, а "Проект/Добавить действие" не понятно как работает
http://www.imagebar.net/out.php/i80725_2222.PNG
где прописывается к какому шагу относится это действие?
__________________________________________________ _
Разобрался. Выделяем POU, добавляем действие, в поле Action нужного шага вписываем название этого действия.
Николаев Андрей
07.10.2010, 11:28
Никогда с расширенным SFC не работал. Думаю вопрос надо представителям CoDeSys задавать...
Доброго времени суток.
А кто может подсказать, почему может не читаться СП-270 (Слэйв) по ModBus RS-485 если в проекте перед ней стоит OWEN Master (RS-485). Выдает ошибку "81, нет ответа". При чем если переношу "Овен мастер" в проекте ниже Модбаса то начинает читаться?
Связка: СП-270 (Слэйв) - ModBus (Master) RS485, ПЛК 110, OWEN Master RS485 - МВА8 (Слэйв).
МВА Читается в обеих случаях.
Игорь Петров
11.10.2010, 15:48
По МЭК SFC см. тут (http://www.prolog-plc.ru/docs/iecdeb06.pdf)
Возникла еще 1 проблемка: при добавлении в программу функции blink компилятор выдает
Предупреждение 1512: Сравнение знаковых и беззнаковых данных. Используйте преобразование типа для избежания многозначности
При щелчке на этом предупреждении открывается менеджер библиотек.
Подскажите что это такое и чем это грозит?
p.s. используется библиотека util.lib установленная с кодесисом либо с диска.
Николаев Андрей
13.10.2010, 16:33
Вы уверенны, что ссылка на blink, а не до этого блока???
В каком формате значение на blink подаете???
предупреждение появляется только в случае добавления в программу блинка, если блинк удалить, а затем перекомпилировать, то и предупреждение пропадает
http://imagebar.ru/thumb-EF3F_4CB69888.jpg (http://imagebar.ru/share-EF3F_4CB69888.html)
Николаев Андрей
14.10.2010, 08:50
Ну насколько я могу понять компилятор на charcurve жалуется...
т.е. для безглючного выполнения программы в контроллере это не страшно?
Николаев Андрей
14.10.2010, 11:32
сложно говорить без проекта...
я бы задумался почему компилятор предупреждает.
вопсчем задумываться особо некогда, собрал свой blink в фбд
Как не обнулять Retain (Persistent) переменные в контроллере при перезаписи программы? Убрал галочку в "Настройка целевой платформы - Общие - Обнуление данных". Не помогает. Там же убирал/ставил Горячее обновление (где-то встречал такую ссылку) - по прежнему все стирает. CodeSys 2.3.9.9, ПЛК-110. Таргет - 2.07.
Скажите пожалуйста, можно ли сохранить проект CoDeSys, а именно визуализацию проекта, как файл EXE, чтоб потом можно было его запускать на другом компе без установки самой программы CoDeSys.
Если можно, скажите пожалуйста, как это сделать?
Николаев Андрей
07.04.2011, 12:55
Отдельно как Exe сохранить нельзя, но вот отдельно поставить утилиту (она к стати платная) CoDeSys HMI без самой системы программирования можно.
В sfc_iec есть возможность управлять действиями как на рис. 1
http://img268.imageshack.us/i/15563173.png/
при этом при проходе по левой ветви действие выполняется, счет производится. при проходе по правой - счет не выполняеся, действие остановлено.
если действий в POU очень много, то в одном шаге остановить их все не получается - максимально можно подсоединить 9 таких команд (рис.2)
http://img850.imageshack.us/i/34359910.png/
т.е. вроде как надо использовать 2 шага или более.
можно ли отключать все действия через "входное действие" шага на языке st? (рис.3)
http://img850.imageshack.us/i/67626550.png/
Относительно недавно установил CoDeSys v2.3.9.22. Написал в ней новую версию старой, уже работающей программы (понадобилось внести изменения). Одна из программ написана в SFC, и в ней некоторые переменные упорно хранят значения, присвоенные им в уже неактивных шагах, хотя последующие шаги должны были эти значения изменить. Сначала подумал на контроллер (ПЛК100-К-М) - два года интенсивной (и безотказной - уважаю!) работы - заменил на новый. Но проблема осталась. Решил было установить CoDeSys 2.3.8.1 но сейчас, читая форум, засомневался: Кажется, вместе с программой я установил новый target, а прошивка на контроллере старая. Если из-за несоответствия target и прошивки такой глюк возможен (плюс все время рвется связь с ПК и очень "задумчиво" ведет себя ИП320, подключенная к ПЛК по RS-232), можно ли "переложить" программу на старый target, или надо писать ее заново?
Спасибо
Николаев Андрей
02.05.2011, 10:14
Можно.
Удалите новый Target, поставьте старый.
Откройте проект. Перейдите в Target Settings и заново выберете Ваш тип контроллера.
После этого перейдите в Конфигурацию ПЛК и из меню дополнительно выполните команду - стандартная конфигурация.
ВАЖНО: при этом все настройки конфигурации ПЛК сбросятся... так что заводите резервный проект.
На работу SFC смена прошивки или Target влиять не должна - внимательно смотрите программу, может переменные объявили несколько раз, может быть еще что то...
Можно.
Удалите новый Target, поставьте старый.А не могли бы уважаемые разработчики прописывать версию таржетов в самих таржетах??? Или это не возможно? Хотя вроде КДС такое позволяет.
Я это к чему... К тому, что реально эксплуатируются ПЛК с разными версиями прошивок. Заменить не возможно или не целесообразно (очевидно и не обсуждается).
А тогда чертовски не удобно судорожно вспоминать, что же стоИт за 1.0 на самом деле.
Николаев Андрей
02.05.2011, 11:47
Можно, и мы проработали данный вопрос.
Однако на данный момент выпуск новых Target-файлов для ПЛК1ХХ завершен (очень сильно на это надеюсь... предпосылок пока нет)
На ПЛК63\73 думаю то же.
То есть версии меняться не должны больше.
Выкрутились... :(
А по многочисленным просьбам полевых программистов поменять в старых? Приведя их в соответствие с бумажными. :)
Ну и раз упомянули ПЛК73. Когда же он будет выпущен? А то уже можно номинировать на премию "все слышали, но никто не видел" ;)
Николаев Андрей
02.05.2011, 15:34
Полевым программистам мы на пальцах объясним как самим сделать :)
По поводу ПЛК73 - сам в шоке...
Платы уже спаяли, ждем индикаторов, блин... :( :( :(
В Мае должны быть.
Полевым программистам мы на пальцах объясним как самим сделать :)Так объясните. Можно в личку.
Serge_UA
11.05.2011, 12:43
Если в окне объявления переменных включить отображение в табличном виде ("Declarations as tables"), то не работает скрол колесиком мыши и нельзя поменять ширину столбцов таблицы. Как-то несолидно для такого продукта :(
Николаев Андрей
11.05.2011, 19:54
Если в окне объявления переменных включить отображение в табличном виде ("Declarations as tables"), то не работает скрол колесиком мыши и нельзя поменять ширину столбцов таблицы. Как-то несолидно для такого продукта :(
Я думаю если Вы напишите данное сообщение на форуме www.3s-software.com (есть Русский сайт и Русскоязычный форум) солидная обратит внимание на данную неточность.
Его можно понять, ведь название темы соответствует высказыванию. Но вот что интересно, я впервые узнал о такой возможности сегодня и весь день провел в раздумьях, как мне помешает эта недороботка в работе, вариантов так и не нашел
Serge_UA
12.05.2011, 11:18
Ну я прям не знаю как на это реагировать. Хотел сделать доброе дело, а в ответ получил грубость. :( Я думал вся эта информация отправляется в 3S для исправления багов в продукте.
Предлагаю пользователям в данном разделе писать неточности, ошибки и вопросы, связанные с работой системы программирования CoDeSys v2.3
Я что-то сделал не так?
Его можно понять, ведь название темы соответствует высказыванию. Но вот что интересно, я впервые узнал о такой возможности сегодня и весь день провел в раздумьях, как мне помешает эта недороботка в работе, вариантов так и не нашел
"Привычка - вторая натура". Привык я работать с переменными в табличном виде.
Отсутствие скрола это не "недоработка", это реальный баг.
Николаев Андрей
12.05.2011, 11:59
To serge.
Вы все сделали так. И спасибо Вам большое, что Вы находите время на то, чтобы сообщить о таких моментах.
Просто эта ветка создавалась раньше, чем заработал Русскоязычный форум у компании Пролог (официального представителя 3S-Software в России).
И я просто попросил Вас выложить информацию там - так она быстрее дойдет до производителя.
подскажите правильный порядок процедуры перехода на более новую версию среды - нужно ли удалять предыдущую, полностью или библиотеки оставлять..., что с gateway и остальными примочками?
Николаев Андрей
19.09.2011, 23:39
Тут вопрос зачем новую ставить? Тем более если все хорошо работает со старой :) Лучшее - враг хорошего (С).
Просто удаляйте старую и ставьте новую. О всех неточностях с библиотеками и пр. вещами CoDeSys Вам сообщит.
спасибо.
я так полагаю, раз делают новые версии, значит что-то исправляют/дополняют => улучшают. почему бы не воспользоваться улучшениями?
как правильно сравнить массив?
имеем массив из нескольких word, значения меняются. делаю сравнение
if array = 1, 2, 3 then
на эту строку кдс выдает ошибку "несоответствие операнда.. невозможно преобразовать..."
изменяя на
if array[] = 1, 2, 3 then
получаем "необходимо выражение". вроде как в скобки просит номер элемента. но надо сравнивать весь массив.
у меня массив из 22 элементов и много сравнений, хочется покороче это дело описать
Можно обращаться только к элементу массива. Используйте цикл.
FOR Index:= 1 TO 22 DO
IF array[Index]=1 THEN..
END_IF;
END_FOR;
как правильно сравнить массив?
имеем массив из нескольких word, значения меняются. делаю сравнение
if array = 1, 2, 3 then
на эту строку кдс выдает ошибку "несоответствие операнда.. невозможно преобразовать..."
изменяя на
if array[] = 1, 2, 3 then
получаем "необходимо выражение". вроде как в скобки просит номер элемента. но надо сравнивать весь массив.
у меня массив из 22 элементов и много сравнений, хочется покороче это дело описать
покороче, тогда наверное только через SysMemCmp
спасибо за ответы
цикл for пожалуй подойдет, только если вместе с оператором mux
Здравствуйте. Пытаюсь наладить работу с ПЛК через сокет. Проблема в следующем: с ПС открываю порт и отправляю посылку. Первая посылка проходит, в регистр ПЛК падает нужное значение, порт на ПС закрывается, ПЛК выполняет действие. При попытке повторно отправить посылку, возникает ошибка "подключение не установлено т.к. конечный комп. отверг запрос на подключение". И так продолжается неопределенное время. Случается, что вдруг все начинает работать непродолжительное время и потом опять ошибка.
Подскажите могут ли быть какие-то нюансы со стороны работы ПЛК или искать проблему в ПС?
порт на ПК закрывается, а в ПЛК Вы закрываете сокет? Ведь ПК вследущий раз обратится к другому сокету,т.к. ПЛК будет держать используемый в Вашей программе до закрытия, а на другие даже не взглянет
В ПЛК сам ничего не закрываю и если честно смутно представляю в какую сторону копать. Не подскажете как закрыть сокет в ПЛК? Думалось, что ПЛК сам разруливает эти моменты. А Через какое время ПЛК сам закроет сокет после закрытия его в ПК? Просто было так, что ПЛК сразу реагировал на повторные посылки, следовательно закрывал сокет сразу, как закрывал его ПК. Но чаще конечно сокет занят продолжительное время.
Просто было так, что ПЛК сразу реагировал на повторные посылкиМожет ПК не рвал соединение, вот и ответы приходили регулярно. Прочтите темы про веб-сервер, практически в каждом примере есть шаг закрытия сокетов
P.S. Вы сокет делаете только на стороне ПК или в ПЛК тоже? Если на ПЛК просто задан слейв или мастер ТСР в конфигураторе, тогда вероятнее всего проблемы с программой на ПК
Помогите пожалуйста. Как переменной типа TIME_OF_DAY присвоить значение текущего времени астрономического? В справке не нашел(((
Помогите пожалуйста. Как переменной типа TIME_OF_DAY присвоить значение текущего времени астрономического? В справке не нашел(((
может здесь посмотрите SysLibTime.lib
а так чтоб тип данных выдавался типа TIME_OF_DAY никак?((
Не видит по сети ПЛК 154 и 150 в CoDeSys. Все делал по инструкции. В COM работают нормально.
Не видит по сети ПЛК 154 и 150 в CoDeSys. Все делал по инструкции. В COM работают нормально.
бывает, а у меня за окном снег идет
Пишет ошибка соединения #0
бывает, а у меня за окном снег идет
Со снегом хорошо. Но когда 3 день не соединяется. Довольно тоскливо. Вместо шуток могбы и посоветовать. А шутить мы все горазды.
А это была не шутка, Вы поделились новостью и я в ответ поделился.
По делу: напишите какие настройки имеет ПЛК для работы по TCP/IP, адрес, маска и шлюз, этиже параметры у Вашего ПК, какие настройки в КДС для связи в окне параметры связи лучше скрин экрана
В ПЛК через браузер записал IP 192.168.0.13. Компьютер имеет IP 192.168.0.57 маска 255.255.255.0. ПЛК и компьютер соединен через хаб complex TP1016C, который подключен к роутеру D-link DIR-620.
Ping c компа на ПЛК идет. Не один пакет не потерян. Система WinXP
В параметрах связи Tcp/ip (level2) Поменял только адрес на 192.168.0.13
маска на ПЛК точно такая же, а не 255.255.0.0? Если все нормально, зайдите еще раз в окно параметров связи, выбирете соединение по локальной сети нажмите OK и попробуйте соединится
Маска точно такая же. А что значит "соединение по локальной сети"?
Если это Gateway, то все равно не удается, хотя level 2 аписал правильно
там где Вы поставили
Tcp/ip (level2) 192.168.0.13 порт 1200этому соединению дали имя, вот это имя выделяете и жмете ок
Удаляю соединение. Затем нажимаю gateway. Соединение востанавливается. А связи нет по login
а зачем жмете gateway? Если у Вас несколько соединений, выбираете нужное и просто кнопку ОК. Сделайте снимок экрана, покажите окно параметров связи
Спасибо за советы. Соединил контроллер через cross-кабель напрямую с компьютером - связь появилась. Видно что-то с локалкой.
ну тут все просто, раз пинг проходит, а соединения нет, значит закрыт порт файрволом
Здравствуйте, уважаемые коллеги!
Как-то встречалась такая непонятка, тогда ответа не получил, но как-то с ноги запустилось - и забылось. А вот теперь опять на те же грабли попал. Посему еще раз и вопрос поднимаю.
Итак, поставил какую-то точку останова при отладке в ОНЛАЙН. Потом еще. А потом КОДЕСИС пишет мне вот такую фигню:
5539
При этом точки останова убрал вовсе, вот и диалог по ним привожу:
5540
Перезапуск КДС, вкл-выкл ПЛК100, танцы с бубном - не помогают. Не могу из КДС посмотреть выполнение программы. Более того, ПЛК, даже при отключенной системе, стоит в сбросе. Хотя аппаратно сбросить его все же можно, слава Богу.
Верю, что еще пошаманю, типа комп выключить :) и заработает. Но странно, йолы-палы! Отчего такое выскакивает?
Спасибо!
Николаев Андрей
11.02.2012, 13:45
Добрый день. Интересный факт.
К сожалению моей компетенции не хватает...
Не пробовали вопрос на сайте Пролога задать? www.3s-software.com
(есть русскоязычная страница и форум). Обычно отвечают или Михаил или Игорь.
Хорошо, я попробую. Спасибо!
Размещено вот здеся (http://forum-ru.3s-software.com/viewtopic.php?f=1&t=1746) :)
:) неужели все пользуются точками останова и это реально помогает?
Я не очень понял - это прикол?
нет, я правда не могу для себя представить ситуацию, где бы мне понадобилось тормозить программу во время отладки. Но многие пишут о каких то проблемах с этими точками, вот и удивляюсь не ужели я такой не продвинутый и не использую доступные средства программирования по максимуму
А, вон оно что... Ну, объясню бывалому моджахеду. Если отлаживается программа (или ее часть) со сложной логикой, если есть вопросы по обработке разных типов данных (особенно на граничных точках), если я просто редко программирую в КДС и тупо забываю некоторые особенности языка...
Вот еще типичный случай: прога летает не так, как ожидалось. Нужно просто узнать траекторию ее полета. А глаз не успевает :) Влепил брейкпойнт - увидел, захаживала ли сюды аль нет...
Список легко продолжить. Еще раз: я редко пользуюсь. Но фича для отладчика нужная. И реализована в КДС не идеально. Мож потому, что гуру ею мало пользуются?
знакома ситуация только высказанная в типичном случае, такие вопросы я решаю со вставкой счетчика, он без всяких остановов показывает, заходит в этот участок программа, сколько раз она заходит. На всё остальное нужны четкие определения что они означают, ибо мне непонятно или неоднозначно трактуются
Хорошо. Мне эта фича нужна. Буду ждать разъяснений с форума КДС (если туда ктонить заглянет).
Вот, блин, только что опять влетел!
такие вопросы я решаю со вставкой счетчика, он без всяких остановов показывает, заходит в этот участок программа, сколько раз она заходит.
+1
как-то не по феншую тормозить прогу, обрабатывающую "процесс" в реальном времени
+1Ну что ж, значит не все по феншую умеют. Но, согласитесь, разве это нормально, когда система отладки, имеющая тысячи пользователей, совершает такой фортель - и никто не знает, что с этим делать?
Как-то я пробовал в присутствии уважаемого Игоря Петрова поругать некоторые фичи КДС. И это было продуктивно - кое-что нового я таки узнал. Например, с тем же оформлением рабочего пространства.
Вот и сейчас - надеюсь на увеличение своих знаний и умений. А уж насколько это пригодится в отладке - это другой разговор.
Забавно: я в КДС всего раз или два пользовался точками останова, но при этом в Visual Studio (C#/C++) без них и дня не проживу. Видать, при исполнении по кругу обычно важнее общая картина, которую кодесис и показывает в реальном времени, а при исполнении от пункта A до пункта B большее значение имеют частности.
Извиняюсь ,совсем не программист ,но слышал краем уха что есть специальные программы трассировщики http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.genprogc%2Fdoc%2Fge nprogc%2Ftrace_facility.htm правда в других системах.
может drvlas хочет что то подобное в кодесис.
трассировщикиТут даже простые точки еле работают, не говоря уже про условные.
может drvlas хочет что то подобное в кодесис.
Вы же помните незабвенный Пароход от Михаила Жванецкого:
Я не ищу покоя, я ищу кингстон!
Я ищу возможность понимать ругню системы - именно в момент, когда мне, сирому, захочется нефеншуйно воспользоваться официально провозглашенной возможностью системы.
Есть предположение. В файлах проектов кодесиса можно обнаружить имена давно удалённых глобальных переменных. Не исключено, что точно так же где-то остаются и точки останова, из-за чего в определённый момент их становится слишком много.
Может. И пусть. Только бы знать, как это чистить...
проект>очистить всё,
проект>компилировать всё
Попробую - когда эта беда выскочит. Пока занят другими делами, макет разобран. Здесь доложусь непременно.
Спасибо!
проект>очистить всё,
проект>компилировать всёДля мёртвых глобальных переменных не прокатывает, между прочим. Помогает только экспорт всего проекта с последующим импортом данных в новый проект.
Для мёртвых глобальных переменных не прокатывает, между прочим
Но ведь и не факт, что именно эти трупы вызывают мою проблему.
Помогает только экспорт всего проекта с последующим импортом данных в новый проект.
Мсье знает толк в извратах. Ну что ж, Петров на наш огонек не заглянет, пусть уж появление мертвых переменных останется "неповторимым шармом" КДС :)
Ну и есть неиспользуемые переменные - проблема какая ? неужто памяти не хватило ?
+1
как-то не по феншую тормозить прогу, обрабатывающую "процесс" в реальном времени
+2
если каким то чудом, нас прочитают разработчики, я бы предложил подумать о профилировщике. Пользуюсь средой разработки NetBeans и очень помогает запуск проекта с профилировщиком, чтоб вычислять какой блок программы сколько времени тратит на исполнение своего кода, Сразу становится видно на какое место надо сделать упор, чтоб оптимизировать, сократить, попытаться решить другим способом и т.п.
никак немогу подобрать орс сервер для плк150 для скады
lara197a
13.02.2012, 22:19
Можно встроенный КДС или Лектус или Овен.
программа составлена на ПЛК 150.И работает в железе!Нужна архивация и отображение тренда.Пытаюсь настроить СКАДУ,и остановился на орс сервера.не могу вставить конфегурацыю ПЛК.Прошу помощи!!!!(
Alex_Kos
15.02.2012, 20:29
Доброе время суток!
При подаче на вход VAR_IN_OT функционального блока именованного бита из ветки регистров Modbus после компиляции выводится следующая ошибка:
Ошибка 4345
Параметр "VAR_IN_OUT" "название битовой переменной" в "название функционального блока" требует переменной с доступом по записи
При использовании переменных целого и real типа проблем нет. Кто-нибудь сталкивался ребят с данной проблемой?
Вместо битовой переменной можно конечно использовать целый байт, но это уже будет не прямое решение проблемы.
а точно здесь акцент на битовую переменную, может Вы используете дискретный вход ПЛК, поэтому выскакивает сообщение
При подаче на вход VAR_IN_OT функционального блока именованного бита из ветки регистров Modbus
А var_in_out - буль. А он - байт.
Почитайте про указатели. var_in_out это он неявно.
Alex_Kos
16.02.2012, 10:20
Да это точно битовая переменная. Пример во вложении.
Может выложите свой примерчик правильной работы в таком случае?
Если этот битовый канал - буль из "8bits.." слейва, то проще загнать всю маску-байт. Если всё ж хочется с битом - то только комбинация var_in/var_out. Увы.
А во всех остальных случаях с битами var_in_out нафик не нужен.
Alex_Kos
16.02.2012, 19:29
Валенок спасибо за ответ!
Жаль конечно что это так, придется пользоваться схемой var_in -> var_out.
а чего разве нельзя создать локальную переменную, ей сперва присвоить, а потом её отправить на in_out
и после ее присвоить первоисточнику. В итоге - тоже самое, только структура на ступеньку ниже.
как-то не по феншую тормозить прогу, обрабатывающую "процесс" в реальном времениПри отладке все средства хороши.
Наверное имелось ввиду что несколько трудно брекпоинтами отлаживать, например, сетевой обмен.
лично у меня ни разу не возникало необходимости пользоваться в МЭК точками останова, как вообщем то и в языке высокого уровня. Единственное место где я с ними сталкивался, это военный спецвычислитель и то не в программировании, а в диагностике неисправностей
При отладке все средства хороши.
несомненно. каждый выберет для себя способ, наиболее подходящий для него в необходимой ситуации
Коллеги, вы все многоопытны и умеете, несомненно, сварить из топора кашу. Но если в КДС заявлено, что есть такая фича - отладка по точкам останова, то эта фича должна поддерживаться. Вне зависимости от ваших талантов. Или?
мы раньше в пионеры, комсомол и партию вступали, оно нам надо было, хотя и не мешало? :)
Alex_Kos
24.02.2012, 16:50
Ситуация следующая.
ПЛК - мастер Modbus RTU. Опрашивает входы МВА8.
В конфигурации содержится ветка ModBus TCP slave - для передачи данных по изернету. Необходимо часть считанных данных с МВА переложить в регистры Modbus TCP. Есть какая-нибудь альтернатива прямому присваиванию переменным из ветки Modbus (slave) TCP переменных Modbus (master) RS-485?
Я так понимаю если бы ПЛК был бы слейвом в сети RS-485 то этой проблемы бы не стояло?
По теме CoDeSys. Само ПО вполне нормальное, но есть одно НО. Имхо документальная поддержка слабая. То ли 3S себя не уважает, то ли её не уважают. Ну можно было бы за почти 30 летний срок написать удобоваримую книжечку для юзеров?! А что имеем? Руководство, слава богу, переведенное, и одну книжечку Петрова И.В. Руководство имхо хоть и вполне полное, но сумбурное, как будто в ведро свалили кучу бумаг... У Петрова всё более менее по полочкам разложено, но книга абстрагирована, хоть и 90% написано для CoDeSys...
Даже для более специфического ПО LabView книг, как грязи, на любой вкус, от "Для чайников", и до подробнейших справочников, размером с пару кирпичей...:eek:
Чего имхо не хватает в документации CoDeSys - это хотя бы брошурки "Философия CoDeSys", и(или на крайняк) полный проект с подробным хелпом, т.е. проект, в котором есть всего по чуть чуть. С чем это связано, ПО универсальное, имеет много "степеней свободы", хошь так клепай, хошь эдак. Но имхо, должна быть рекомендованная концепция "единообразия" последовательности создания проекта, разбиения его на логические части. Понятно, что это всё в виде рекомендации, то нем не менее.
Как пример:
Когда я создавал простейший проект, то сначала при конфигурировании задавал имена переменным входов/выходов. А уж потом их вставлял в проге. А тут попалась книжонка с примером создания проекта, и там было всё наоборот, сначала создавались переменные под своими звучными именами, потом писалась прога, и только потом в конфигураторе эти имена присваивались переменным. А вообще-то как правильнее?:confused:
Вот и хотелось бы иметь такую брошурку по пошаговому созданию, и поддержанию (развитию) полноценного проекта (даже если там простейшие примеры, но все, по максимуму, от простейшего битового управления вход/выход, до всяких нестандартных сетевых управлений, ну хотя бы один примерчик в проекте), вплоть до сопряжения с ОРС и SCADA.
Может кто из многоопытных гуру напишет статейку, и приложит проектик (не надо туда пихать свои ноу-хау, достаточно простейших примеров на базе стандартных библиотек, главное чтобы охватывало побольше возможностей ПЛК), или дайте ссылочку на существующую статейку, весь инет перерыл, а ничего интересного не нашел.
По теме CoDeSys. Само ПО вполне нормальное, но есть одно НО. Имхо документальная поддержка слабая
Да, дорогой друг, об этом периодически начинают говорить новые люди. И я начинал, когда считал себя новым (я и сейчас не старый). И что интересно: старожилы (даже не только сотрудники) довольно активно возражают! Суть их возражений примерно следующая:
1) Читайте. Там все есть
2) Вон, на форуме ПОЛНО примеров, изучайте богатейший опыт.
При этом (мое подозрение) срабатывает синдром армейских "старичков": Мы-то омтучились, а чего вам должно быть лучше. Хотя верю, что явно так никто и не думает.
По поводу п.1 - Вы уже очень толково пояснили, что это капля в море. Особенно в виду ДОЛГОЙ жизни КДС. Можно было уже на все вкусы наструячить материалов.
По поводу п.2 (удивлен, что к Вашему конкретному примеру еще не придрались и не сказали: А вот там есть такой пример!) - здешние специалисты не всегда Учителя. К сожалению. И они не понимают, что пример, созданный для решения какой-то своей задачи, созданный без учета выполнения дидактической функции - очень часто не помогает. Я уж не говорю о том, что большинство авторов примеров вообще не задумывааются о таких вещах, как расположение библиотек - для новичка запустить пример иногда совешненно не понятно как. Поэтому имеющиеся здесь примеры только авторам и интересны. Да еще людям, имеющим уровень, сопоставимый с уровнем автора примера.
Так что да. Хорошая штука КДС, но неухоженная. Не продвинутая к пользователю.
Так что да. Хорошая штука КДС, но неухоженная. Не продвинутая к пользователю.
Всё познается в сравнении! ;)
Если начинать с молодых ногтей, не попробовав других йогуртов, акромя CoDeSys, то нормально воспринимается сеё творение. А вот, если переходить с чего либо, имеющего обширную, продуманную литературу, ну например с Симатика Степ 7, на данное творение, то тяжко, чувствуешь себя участником БДСМ...:cool:
Действительно, могли бы уже давно создать брошурочку, на основе лекций, курсов...:rolleyes: Либо гуру поделился бы своим опытом в рамках дозволенного...:D
А я вот я пошуршал по Степ7 после Кодесис. И тоже начал чуствовать себя
участником БДСМ...
Импритингс..
PS
Про ногти. Каюсь, перед КДС был TP3.0 и ТА2.0, и до-о-лгий перерыв :)
Николаев Андрей
13.04.2012, 10:16
Может вот это поможет:
http://www.3s-software.com/index.shtml?ru_ru_Produkt-Tour
Хороший тур! Кратко, пожалуй, но все же очень живенько. Спасибо!
А что еще есть? :)
Николаев Андрей
13.04.2012, 10:52
Это все тот же Игорь Петров. Который и книгу написал, и мануал CoDeSys переводил.
Ему огромное за это спасибо.
Николаев Андрей
14.04.2012, 13:08
Давайте не будем засорять тему.
Документации действительно не очень много.
И, как Вы понимаете, по этому вопросу стоит трясти компанию 3ы-software и их представителей - Пролог.
Если по существу у кого есть документы поделиться - милости просим.
С остальным - в курилку.
Где-то тут мелькнула ссылка на 2.3.9.6 ?
На сайте лежит 2.3.9.30
Где-то тут мелькнула ссылка на 2.3.9.6 ?
На сайте лежит 2.3.9.30
А для чего тебе старая версия, если не секрет?
Самая свежая 2012г. на сайте Пролога от 3S выложена 2.3.9.34 Что там изменено, я так и не понял...:rolleyes:
ОМГ! Рекурсии-то и нету!
Я понимаю, что в задачах управления она нафиг не нужна. Но раз код визуализации на ПЛК крутится, то как можно было такую подставу устроить? Стыд и срам! Негодую.
Надо обход графа в глубину сделать чтобы трубы в визуализации раскрасить по состояниям клапанов. А городить огород со списками что-то совсем не приспичило.
Столкнулся с такой проблемой, когда я отлаживаю программу на симуляторе, а потом снимаю галочку Режим симуляции, то выходит такое сообщение:
Файл информации о загрузке поврежден. Необходимо откомпилировать весь проект и загрузить его!
Я бы не обращал на это внимание, но контроллер начал чудить с появлением этого сообщения. ПЛК-73М. Codesys 2.3.9.30
6349
Николаев Андрей
27.06.2012, 09:30
Выполните команды - очистить все. Перекомпилировать все.
Переменные в окнах мониторинга располагаются совершенно по-тупому:
http://images.devs-on.net/Image/WH34GNVpqlDV3QED-CoDeSysSilenaCo.png
Вот за каким лешим нужны эти столбцы, стоящие за три километра друг от друга, а? Бесит.
Бесит.
Меня тоже многое бесило. Теперь, по мере узнавания и освоения, бесит значительно меньше :)
Там есть возможность мышкой регулировать шириЗну столбцов - только граница невидима. Попробуй!
А я-то в настройках копался пытаясь вспомнить, где же настраивал... Однако это проблему вообще почти не решает, т.к. вместо значений и имён я у половины переменных вижу многоточия, а растягивая обратно, опять получаю конские пробелы в строках, где много коротких переменных. Так что процентов 85 от бесявости кодесиськиного монитора сохраняется; продолжаю негодовать.
Столбцы там совсем без надобности. Переменные просто должны друг за другом идти.
Переменные просто должны друг за другом идти.
Ну, никто никому ничего не должен... Я согласен, многое достает в КДС. Но! Мои конкретные замечания были очень любезно отвечены участникми форума, в т.ч. и товарищем Петровым. И я понял: есть вещи, которые мы не знаем, можно их узнавать понемногу и меньше беситься. А есть то, что нужно принять как данность. Тогда на голову как-то легче.
По наблюдению за переменными: есть еще великолепный инструмент "визуализация". Просто нужно немного порабоать, выбрать те из них, которые решают задачу отладки. Я - ленюсь. Но инструмент-то есть!
И, наконец, отладка по результату. Это самое "оно". То есть, пока прога маленькая или специально тестовая для проверки того или иного алгоритма - можно и в обычной отладке пошагово посмотреть. А когда прога вырастает, то я уже подключаю внешние средства (например, панель оператора). И через них веду отладку. Там можно и задать значение той или иной переменной, и посмотреть значение чего угодно.
Вот так, комбинируя пошаговую отладку, визуализацию и отладку в живой системе, все можно откатать на "ять". А недостатки, неудобства и откровенные косяки... Были есть и будут в любой системе. Вон, на другом форуме примерно по этой же теме чел жаловался на STM23, другой AVR Studio материт. Совершенство, ИМХО, можно искать в том, что САМ делаешь, а не в том, что тебе дали. Да и то, перфекционизм иногда и по отношению к своей работе вредит.
Извини за лирику :)
По твоим рассуждениям, надо не лениться и откручивать тугие гайки пассатижами, которые дали вместо гаечного ключа.
А недостатки, неудобства и откровенные косяки... Были есть и будут в любой системе.И что, исправлять их теперь не надо? Ах, ну да, «никто никому ничего не должен»™.
По твоим рассуждениям, надо не лениться и откручивать тугие гайки пассатижами, которые дали вместо гаечного ключа
Ловко подмечено :)
И что, исправлять их теперь не надо?
Тут есть 2 момента.
1. Хорошо бы давать разработчикам обратную связь. Например, на электронных форумах сейчас идет активное допиливание российской системы автотрассировки ТОПОР. Авторы не поленились и организовали просто великолепную поддержку, выделили специально сотрудника, который (вообще-то это Оксана Воробьева) реагирует на каждый "ой" пользователей. Ковыряется в наших разводках, иногда выкладывает свой вариант наших же плат. Получается, что чаще всего это разъяснения нам. Но иногда она говорит: "Этого мы не можем - потому-то и потому. Это будет сделано или это не укладывается в нашу стратегию".
У меня такое чувство, что подобная работа развивает продукт неимоверно быстро.
Так что, поверь, я знаком с "хорошим примером".
2. А нужно ли здесь, НА ФОРУМЕ ПОЛЬЗОВАТЕЛЕЙ ПРОДУКЦИИ ОВЕН, требовать допиливания системы КоДеСис... Решает каждый сам, конечно. Но я увидел: бесполезно.
а) Бесполезно пытальтся допилить продукцию ОВЕН. Уж не знаю почему, но корпоративная культура уважаемой фирмы сложилась как-то так, что они грудью стают на защиту не только каждых плоскогубцев (то бишь самого изделия), но и даже эксплуатационную документацию поставили на пьедестал непогрешимости. Сколько раз я указывал конкретные документы (по ПЛК100, например), в которых куцо и неудобно описана работа с прибором - фигушки! Это незыблемо. Легче потратить немного сил, затыкая рот пользователю, чем намотать на ус и учесть замечание.
б) Для КоДеСис есть свой форум. Он, к сожалению, вялый и пустой. Но уж если не просто расспрашивать, а именно требовать "ключ вместо пассатижей" - то обращаться следует туда. Можно, например, поехать в Смоленск на майскую конференцию. Я уже дважды собирался, но не доехал. Видать, не очень нужно :)
Так что моя позиция: не воевать там, где только нервы себе помотаешь. Если у тебя другая - отлично! Тогда больше не буду мешать.
З.Ы. Кстати, пробовал вторгнуться в процесс допиливания продукции ОВЕН "на ранних этапах", когда авторы сами приглашают потестить новинки. Так красиво на сайте выглядит: обращайтесь з образцами! Посылал парочку запросов, но ни образцов, ни отказа. Я бы не обидился на отказ, но написать-то можно? Слабенько ОВЕН работает в направлении обратной связи... Ну, любим их такими, какие есть :)
:) а еще мне кажется, если пересесть с 15 дюймов на 24, то все будет умещаться на экран и небудет казаться что есть гигантские пустоты
:) а еще мне кажется, если пересесть с 15 дюймов на 24,
Кстати, думал об этом. Так действительно КДС масштабируется до каких угодно размеров/пропорций? Это бы подтолкнуло меня к переходу на длинный экран. Думал свой 17-дюймовый поменять на 19-дюймовый жены, но посмотрел на огроменные современные мониторы: да... Вот на таком бы раскинуть свои окна!
я бы вполне мог на своей плазме разместится поспать, но вот разрешение для компа у неё посредственное, так что довольствуюсь дома монитором, после командировок с ноутбуком одни положительные эмоции, наверное у разработчиков КДС тоже большие мониторы, поэтому им неведомы подобные проблемы, что чтото невлазит
А нужно ли здесь, НА ФОРУМЕ ПОЛЬЗОВАТЕЛЕЙ ПРОДУКЦИИ ОВЕН, требовать допиливания системы КоДеСис...Не нужно, но я и не требую. Тут я, скорее, просто поделился впечатлениями. А отчитался я на форуме 3S (http://forum-en.3s-software.com/viewtopic.php?f=1&t=4972), где мне предложили то же самое растягивание и третью версию (ждём разрекламированную поддержку ПЛК1хх, ага (http://images.devs-on.net/Image/DeFM6sdaKgTOBQxs-2011PDFFoxitRea.png)), но и с моей идеей при этом согласились. Можно лишь надеяться, что разработчики исправят.
Не нужно, но я и не требую.
Все же спасибо тебе, мил человек, за толчок в нужном направлении. Уже начал искать новый монитор :)
Между прочим...
а еще мне кажется, если пересесть с 15 дюймов на 24, то все будет умещаться на экран и небудет казаться что есть гигантские пустотыУ меня фулхд как раз, целых два, но данную проблему это не решает. Дело в том, что я обычно держу в кдс открытыми сразу несколько окон с небольшим перекрытием. Чтобы воспользоваться шириной монитора для отладки с мониторингом переменных, эти окна нужно растягивать или разворачивать, а это потеря картины, которая сформировалась в голове при написании кода.
а чем тогда 3.5 поможет, ну высвечиваются реальные значения сразу возле переменных перекрытие окно думаю сведет такое преимущество на нет, если окно объявлений в виде таблицы, так это можно и в младшей версии сделать
Stepan_L
18.07.2012, 15:19
Привет.Люди добрые,никак не могу установить это драйвер.ОС Win7maximum. Другим USB-UART по debug RS232 совсем не хочет дружить. Лучше если USB заработало,на ноуте нет com порта.
Может этот драйвер не для win7.???
Здравствуйте, коллеги!
Пролистал несколько последних сообщений в этой теме.
После оооооочень долгого отсутствия на форуме.
Заметил, что необходимость в достаточно подробном учебнике для начинающих по CoDeSys по прежнему велика.
А мы-то надеялись, что если сделать достаточное количество примеров, все будет понятно..
Ладно, идея создать такой учебник очень долго откладывалась "на потом". Тем не менее мы все-таки сделали первую попытку написать такой учебник по материалам семинаров, которые проводит Учебный центр ОВЕН.
Лучше поздно, чем никогда)
Учебник сделан в виде рассылки на эл. почту. Для того, чтобы добавления и исправления можно было автоматически пересылать всем тем, кто подписался.
Ну и для того, чтобы обучение шло последовательно. Это в том числе попытка сделать удаленный учебный курс по CoDeSys для начинающих. Сейчас в учебнике две больших главы, они придут вам не сразу, а по очереди. На подходе третья глава. Работа над учебником все еще в процессе)
Кому интересно - присоединяйтесь)
www.кодесис.рф (http://www.кодесис.рф)
Заодно хотелось бы получить обратную связь по этому материалу, что в нем можно улучшить.
...о необходимости которой все время говорили большевики...
Браво! Даже до прочтения книги (подписался, жду) могу сказать одно: очень здорово, что Вы ее создали!
Желаю этой книге долгой и плодотворной жизни!
А автору - дальнейших творческих успехов!
Ага! Уже пришла. Просмотрел. Первое впечатление очень хорошее. Написано живо, много иллюстраций.
А может быть, есть смысл создать отдельную ветку для обсуждения книги?
Про отдельную ветку спросим у Андрея Николаева после выходных)
Andrei Z
08.09.2012, 09:02
...
А может быть, есть смысл создать отдельную ветку для обсуждения книги?
Тоже поддерживаю, хотелось бы обмениватся впечатлениями, задавать вопросы и чтобы не мешать другим продвинутым пользователям в ветках форума.
Вчера прочёл первую книгу, сегодня прочёл втотой раз её.. пощёлкал в програмке.. чувствую что жду с нетерпением продолжения, прям быстрее бы понедельник чтоли :p
Чё он вечно при каждом логине выводит «PLC STARTED»? Как избавиться от этого сообщения?
Yegor, PLC Started (и PLC Stop) это обычное информационное сообщение, информирует о запуске(остановке) программы контроллера.
Спасибо, я знаю, что это такое. Как это отключить?
В онлайне код нельзя скопировать. Чё за дурость?
В онлайне код нельзя скопировать. Чё за дурость?Доктор, меня как-то все напрягает...
Что не так? Запрет на копирование кода в онлайне вам кажется естественным?
Имеется ввиду копи или копи-пасте ?
Что не так? Запрет на копирование кода в онлайне вам кажется естественным?
так ладно Вам только копирование открой, Вам же после захочется и вставить в онлайн код что нибудь :)
кстати выделенное в онлайне у меня остается когда перехожу в оффлайн, а там уже все разрешено
Имеется ввиду копи или копи-пасте ?Копи.
так ладно Вам только копирование открой, Вам же после захочется и вставить в онлайн код что нибудьНе делайте вид, будто я роскошь какую-то хочу.
я правда в этом смысла не вижу
Копи.Не делайте вид, будто я роскошь какую-то хочу.
Да нет, просто выражено все уж как-то слишком капризно. Нам извиниться за авторов юзерского интерфейса?
А если хочешь узнать, как сделать ту или иную операцию, то и спрашивать нужно помягче. Я так думаю...
я правда в этом смысла не вижуЯ зато вижу. Мне надо было скопировать код в другой проект и поиграться с ним. Выяснилось, что для этого я должен разлогиниться, скопировать код, залогиниться, щелкнуть OK на этом чёртовом «PLC STARTED ...» и — самое удручающее — заново выставить принудительные значения (force) на дюжине переменных (нет, я не буду писать код инициализации этих переменных, т.к. зафорсить мне их надо было один раз для отладки того самого куска кода). И это всё вместо того, чтобы просто скопировать код.
Ведь функцию копирования не надо добавлять — она есть, но её за каким-то лешим прикрыли в онлайне.
Да нет, просто выражено все уж как-то слишком капризно.Что капризно? Риторический вопрос «чё за дурость»? Я здесь просто поделился наблюдениями. Ответа на этом форуме ни с кого не требую.
Выяснилось, что для этого я должен разлогиниться, скопировать код, залогиниться, щелкнуть OK на этом чёртовом «PLC STARTED ...» и — самое удручающее — заново выставить принудительные значения (force) на дюжине переменных (нет, я не буду писать код инициализации этих переменных, т.к. зафорсить мне их надо было один раз для отладки того самого куска кода). И это всё вместо того, чтобы просто скопировать код.
хм, попробуйте открыть еще раз КДС, если проект из которого Вы хотите скопировать, был закрыт последним, значит в новой КДС он автоматически загрузится и если в первом окне были изменения, то в новом он спросит открыть оригинал или правленную версию, когда откроется проект копируйте свои данные не выключая онлайн в первом окне
ЗЫ кстати экспорт ни кто не отменял, в онлайне он доступен
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot