Просмотр полной версии : Форматирование вывода в CodeSys
alex1963
09.12.2008, 21:19
А нельзя ли в порядке развития системных библиотек сделать sprintf() в CodeSys? Я даже подозреваю, что она там есть где-то в недрах, нужно только вытащить на интерфейс. Это позволило бы избежать танцев с бубном, то бишь с крайне примитивными INT_TO_STRING(), REAL_TO_STRING(), типом STRING, которые на ПЛК выгдядят особенно неуместно.
Малышев Олег
10.12.2008, 10:10
oscat.de
REAL_TO_StrF
Возможно поможет
Насчет вытаскивания sprintf, есть определенные сомнения по поводу формирования списка аргументов. Просто передать указатель на специально подготовленный массив указателей - проблема при распаковке внутри. К тому же злой ARM (процессор) не принимает ошибочное выравнивание. Поэтому при упаковке/распаковке придется это учитывать. Вообщем не стоит это усилий.
Я извиняюсь за Международный Технический Комитет, который в далеком 198х году не учел пожелания ВСЕХ программистов. А если серьезно, любой язык призван обеспечить функционал для того применения где это нужно. У языков IEC 61131-3 свои задачи и форматирование строк на контроллерах, ИМХО, это мало востребованая функция.
alex1963
10.12.2008, 14:10
Насчет вытаскивания sprintf, есть определенные сомнения по поводу формирования списка аргументов.
Ну, тогда по кусочкам :). В принципе устроило бы наличие отдельных преобразований для %i, %f, %X, но конечно, с параметрами width, precision. Возможно, Вы на это ссылку и давали, но увы - я по немецки не спикаю :(.
Малышев Олег
10.12.2008, 14:52
Качайте одну библиотеку - она доступна в исходниках. Да и комментарии на английском.
Игорь Петров
16.12.2008, 12:47
Кстати, если говорить о визуализации в CoDeSys, то sprintf() в ней реализован. Обычно в поле вывода текста пишут '%s', но тут можно писать любые форматы printf.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot