PDA

Просмотр полной версии : Переменные в отладке функций.



Edik_Ponomarenko
20.11.2011, 20:35
Есть есть две темы, а ответов так и нет. Решилась проблемма ?

http://www.owen.ru/forum/showthread.php?t=1505
http://www.owen.ru/forum/showthread.php?t=1580

capzap
20.11.2011, 21:07
Вы вообще читали про принцип действия функции, она выполняется однократно, цикл Вашего ПЛК предположим 1мс, что Вы хотите увидеть, за сотые доли этого цикла, если каждый раз входные значения или что то в теле функции меняется из цикла в цикл, Вы сможете увидеть только те значения, которые КДС с определенной периодичностью отображает на ПК и что при отладке Вам это даст?
Не можете правильно написать функцию, переделайте её в ФБ, какие проблемы и наблюдайте если это Вам чем то поможет

Edik_Ponomarenko
20.11.2011, 21:39
Я невижу даже при установке точек прерывания внутри функции. Я понимаю, что за доли секунды я ничего не увижу.

capzap
20.11.2011, 22:07
может на исходник функции дадите взглянуть, надеюсь там таймеры не используются :)

Edik_Ponomarenko
20.11.2011, 22:31
Уже не дам. Переписал все на ФБ. Подозреваю, что из за глобальных переменных PERSISTENT. Мы говорим о CodeSys 2.3 ? Может в 3-м уже и по другому все себя ведет.

Edik_Ponomarenko
20.11.2011, 22:38
Время поджимает, просто уже даже разбирать сегодня ситацию неохото. Затра на чистую голову попробую с разными переменными. Знать просто самому интересно.

БекАС
28.12.2011, 15:54
М-да, запрет на отображение локальных переменных в момент останова в функции - это круто, даже для ОВЕН! Типа, пишите функции без ошибок, а хотите серьезной работы - только блоки, блоки и еще раз блоки, однако...

capzap
28.12.2011, 16:07
М-да, запрет на отображение локальных переменных в момент останова в функции - это круто, даже для ОВЕН! Типа, пишите функции без ошибок, а хотите серьезной работы - только блоки, блоки и еще раз блоки, однако...
не по адресу реплика, обращайтесь к уважаемым немцам, которые создали КДС

Николаев Андрей
29.12.2011, 10:15
М-да, запрет на отображение локальных переменных в момент останова в функции - это круто, даже для ОВЕН! Типа, пишите функции без ошибок, а хотите серьезной работы - только блоки, блоки и еще раз блоки, однако...
1. Как правильно заметил capzap - промахнулись с адресатом Comrad.
2. Да и обвинять систему программирования не понимая что критикуете думаю не стоит... Есть такая штука МЭК (стандарт такой, которого все производители ПЛК и систем программирования для ПЛК должны придерживаться). В нем есть такая штука - определение функции (результатом возвращает самою себя, значение внутренних переменных между вычислениями не сохраняются)...
Так что можно писать в международную организацию www.plcopen.org или подтягивать свои пробелы в знаниях.

Если Вам не нравится CoDeSys - мы можем продать Вам ПЛК с IsaGraf например, или с системой программирования, встроенной в MasterSCADA или в Энтелс. А и с Линуксом готовы отдать

БекАС
30.12.2011, 09:42
3. Функция - она и есть функция. И тут не о чем дискутировать. А когда я пишу какой-угодно код, если мне требуется отладка, я пишу его как основную программу, отлаживаю, и уже потом загоняю в функцию или ФБ.

Товарищ Николаев, у вас подмена понятий. Отладка требуется не только на этапе написания/внедрения, а очень часто (почти всегда) после якобы устойчивой работы своего творения в течение года (и, может быть, не по своей вине, а по косякам самой CodeSYS). И что, вы опять будете корежить код и загонять несчастную функцию в ФБ, а потом превращать ее в функцию? Еще раз повторяю свою позицию по МЭК, если вы ее не услышали: речь идет не о языке программирования, а об утилитах типа отладчик, которые к МЭК никаким боком не относятся. И если в CodeSYS нет элементарной возможности посмотреть локальные переменные во время останова, то это никак нельзя оправдать "радиолюбительством".



Последнее: последние 3 страницы в теме прошу удалить, или перенести в курилку, так как не относятся к сути дела, и по истечении нескольких часов будут удалены мной. Спасибо за понимание.
Пожалуйста, ваше дело правое.

Николаев Андрей
30.12.2011, 10:01
Еще раз:
Ваше мнение мы выслушали, и даже не удаляли. Однако
обсуждение особенностей и предпочтений по языкам программирования обсуждать можно тут:
http://forum-ru.3s-software.com/index.php
Максимум в курилке.
И речь не об утилитах или отладчике, а о здравом смысле с точки зрения понимания "функции" в МЭК. Особо рекомендую поговорить об этом с Игорем Петровым.

З.Ы.: Наше дело конечно правое. А товарищи закончились в 91 году ;)