Смотря что считать гарантированностью. По большому счету ее ни у кого нет - перекусите кабель и не будет доставки. Есть резервная сеть - перекусите два.
Все-таки мне кажется, что в целом есть тендеция не столько к программированию, сколько к параметрированию. В связи с чем готовые решения - будь то ОРС-сервера для связи с "верхним" уровнем или конфигурирование контроллеров при помощи объектно-ориентированных методов вместо программирования, к примеру, на С - будут востребованы.
Но и самоделкины не переведутся
А потом, может и OPC станет быстрее ...
С уважением, SAN
Первоначально опубликовано sanwork
Картинки легко делаются в любой среде, в том числе в C++Builder, и TCP/IP этому никак не мешает !
...у <SPAN lang=EN-US style="mso-ansi-language: EN-US">ethenet</SPAN>’а если на то пошло, нет гарантии доставки пакета... как это понимать (?!?!?!) если TCP/IP сделан как-раз для самой что ни-наесть надежной доставки пакетов, с многократным избыточным контролем и активным восстановлением данных ! К тому-же, речь идет о прямой связи пульта со станком (Точка-Точка).
<FONT face=Arial size=2>С уважением, SAN
Прошу прощения зо то что не отвечаю сразу.
Дело не в картинках! Еслиб было все так просто то и скады не придумывали.
А у самого эзернета, абстрагируюсь, ничего нету. TCP/IP – протоколы, вы об этом знаете не хуже меня. Причем почти все о чем вы написали относится к ТСР. А если оперировать скоростью работы приложения, то лучше всего писать программы подо все на ассемблере – тогда и места будет хватать и работать они будут быстрее (ну это я так совсем утрирую).
С уважением!
Первоначально опубликовано _IP_
Первоначально опубликовано wheeel
Время прохождения одного цикла программы можно как-нибудь регулировать ( увеличить ) ?
См. TaskConfigurationна вкладке ресурсов. Создаем отдельную циклическую задачу с нужным периодом выполнения и привязываем к ней желаемую программу. Задач и программ может быть много.
А как происходит выполнение задачи во времени, если, скажем, задаче требуется 10ms на один цикл, а мы задали ей период выполнения - 1ms: 1) каждую 1ms задача будет стартовать заново ( и не выполняться полностью ) или 2) задача будет выполняться от начала до конца, но процесс будет отводить для неё каждую 2-ую ms процессорного времени ?
Обычно в ситуациях, когда заданное на выполнение время меньше, чем реально требуемое, программа выполняется за реально требуемое. Ну, еще бывает при этом флажок выставляется - типа watchdog timer.
Первоначально опубликовано wheeel
А как происходит выполнение задачи во времени, если, скажем, задаче требуется 10ms на один цикл, а мы задали ей период выполнения - 1ms...
В CoDeSys есть 2 типа систем исполнения. 1) embedded - под однозадачные ОС и ПЛК без ОС (на голое железо) 2) full – многозадачные, ставятся только поверх ОС (обычно Linux, QNX, Win…, VxWorks...).
В случае 1 используется свой встроенный простой планировщик задач. Задача всегда доработает начатый цикл (если ее не сбросит сторожевой таймер). Т.е. нужно писать аккуратно, не допуская длинных циклов, дабы реальное время любого выполнения было меньше, чем задано в настройках задачи. Тогда система исполнения будет искусственно задерживать запуск, дабы цикл был стабильным.
В случае 2 каждая МЭК задача = задача ОС. Если МЭК задача вылезает за отпущенное время, то она будет прервана более приоритетной задачей. Постепенно она конечно доработает, но ее тормознутость не влияет на другие задачи.
Как именно в сделано Вашем контроллере не знаю. Можно уточнить у изготовителя или проще проверить опытным путем.
Igor Petrov
Спасибо за соучастие!
Проблему решил разбиением программы на подзадачи и выставлением нужного времени выполнения и приоритета каждой из них.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме