This is topic Как использовать функции FBD в ST? in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Можно-ли использовать функции доступные при программировании на FBD, если программа на ST?
Вижу, что часть функций, типа записи\чтения в порт доступна. А остальные?
В IsaGraf например, все встроенные функции доступны при программировании хоть на ST, хоть на FBD.
А то велосипеды изобретать не очень хочется.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
И на FBD можно функции для ST писать. И для FBD можно на ST блоки делать.
Posted by Поляков Илья (Участник № / Member № 3358) on :
Видимо не совсем точно выразился... Спрашиваю по другому: можно-ли из программы на ST, вызвать функцию, которая представлены в библиотеке FBD блоков, но при этом не использовать FBD представление программы вовсе? Т.е., прописывая вызов функции в виде подобном: //чтение байта из порта с номером 2 TMP_Val:= inp(2); а, не используя вручную созданую функцию на FBD внутри ST программы. Я говорю не про конкретную функцию inp, а про любую функцию из библиотеки FBD.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нет, так нельзя.
Posted by Поляков Илья (Участник № / Member № 3358) on :
Ну вот, рацуха! Предлагаю сделать! Это даст дополнительные бонусы при программировании на ST. Если заинтересовало, посмотрите как сделано в IsaGraf 3.4 (Могу хелпом поделиться). Тем боле, что вы предлагаете делать в ТМ не только движки для экранов, но и программы для PLC.
FBD (мое мнение), во многих случаях будет уступать ST. Хотя-бы по причине отсутствия циклов (про более легкое переваривание ST программистом я не говорю).
Кстати, в том-же ISaGraf (ну работаю я в нем ) есть реализация языка SFC, которая не просто повторяет прочие, но позволяет легко и просто разбить программу на куски, каждый из которых выполняется в своем цикле. У Вас, насколько понимаю, SFC лишь дублирует ST&FBD&IL (поправьте меня, если не прав). У нас имеется, например, RTM для I8000 ICP, но не используем его именно по причине недостаточно удобного программирования. Хотя, вероятно, использование RTM дало бы преимущества и по легкости связывания в систму, и по скорости, etc.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нет проблем описать функцию в ST, состоящую из одного блока FBD. Вставка ST функций в FBD еще проще, там все графически нарисовано.
Кроме того все языки описаны в соответствие со стандартом МЭК, отступление от стандарта проблематична.
Posted by Поляков Илья (Участник № / Member № 3358) on :
>>Нет проблем описать функцию в ST, состоящую из >>одного блока FBD. Вставка ST функций в FBD еще >>проще, там все графически нарисовано. Да! Нет проблем. Но это дополнительные функции там, где они не шибко-то и нужны, ибо это дублирование. Считайте это пожеланием на будущее.
>>Кроме того все языки описаны в соответствие со >>стандартом МЭК, отступление от стандарта >>проблематична.
Ну да, это правильно. Не уверен что IsaGraf следует стандарту МЭК (как-то недосуг было изучить ). Но SFC в исполнении IsaGraf дает мощный инструмент для разделения, распараллеливания, слияния вычислений, а также для легкой организации цепочек последовательных вычислений, каждый кусок которых выполняется строго за время цикла. В общем очень похоже на то, что у Вас.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ваши пожелания понятны, но наши возможности небезграничны. Кроме того большинство Ваших предложений достаточно просто реализуются уже существующими функциями и методами в Trace Mode.