Tag Archives: Командный файл

Командный файл (cmdfile) CoDeSys (часть 2)

Системный вызов:

system <command> Выполнить команду операционной системы

Выбор целевой платформы:

target <Id> Установить целевую платформу для текущего проекта. Если CoDeSys запущен с опцией командной строки «/notargetchange», то это единственный способ выбора целевой платформы.

Запрос состояния:

state offline  Возвращает «S_OK» при отсутствии соединения с контроллером (режим offline), иначе возвращает «HRESULT[0x800441f0)» (режим online).
state online Возвращает «S_OK» при наличии соединения с контроллером (режим online), иначе возвращает «HRESULT[0x800441f0)» (режим offline).

Пароли для групп пользователей:

Если открывается проект, защищенный паролями для групп пользователей, то нижеследующие команды позволят ввести необходимые пароли. Это позволяет открыть защищенный проект из командного файла. Данные команды должны предшествовать команде «Файл Открыть…»!

Пример:

user  level  0

user password aaa

file open «D:codesysprojectsxxxx.pro»

query off ok

user level  Выбор группы. 
user password   Пароль для выбранной группы.

Настройки визуализации:

visual settings…  Начинает команду, соответствующую командам меню ‘Дополнения’ ‘Настройки’ для визуализации.
…   language file on || off Опция ‘Языковой файл’ активируется (on) или деактивируется (off). При активации деактивирует опцию ‘Дин. тексты’.
…   set languagefile <Dateipfad Sprachdatei> Устанавливает языковой файл (.tlt или .vis). Пример: «visual settings set languagefile proj1.tlt.
…   dynamictexts on || off Опция ‘Дин. тексты’ активируется (on) или деактивируется (off). При активации деактивирует опцию ‚Языковой файл’.
…   dynamictextfiles <Dateipfad> | <Dateipfad> | … Задает новый список языковых файлов. Пример: «visual settings D:dynfilesp1.xml D:dynfilesp2.xml»
…   dynamictexthideelements on || off Активирует или деактивирует опцию ‘Скрывать элемент, если замена не выполнена’.»
…   language <Sprache> Выбор языка. Пример: «visual settings language German»
…   tablekeyboardusage_web on || off Активирует или деактивирует опцию ‘Keyboard usage for tables’ в Web-визуализации.»
…   tablekeyboardusage_codesys on || off  Активирует или деактивирует опцию ‘Keyboard usage for tables’ для CoDeSys-HMI.
visual webvisuactivation on || off  Активирует или деактивирует опцию ‚Web-Визуализация’ в Настройках целевой платформы.

Команды управления проектом в базе данных ENI:

В данных командах применяются следующие заместители:

<category>: замещает «project» или «shared» или «compile» в зависимости последующей категории базы данных: Объекты проекта, Разделяемые объекты, Файлы компилятора

<POUname>: имя объекта, соответствующее именам объектов в CoDeSys.

<Objecttype>: замещает расширение имени POU в базе, соответствующее типу объекта (определяется списком типов, см. ENI Администрирование).

Пример: «GLOBAL_1.GVL» -> имя POU «GLOBAL_1», тип «GVL» (global variables list)

<comment>: >:  замещает комментарий (в одиночных кавычках), сохраняемый с соответствующим действием в истории версий.

Команды настройки ENI сервера:

eni on
eni off
Опция ‘Использовать контроль версий (ENI)’ включается или выключается, соответственно. (‘Проект’ ‘Опции’ ‘Связь с базой данных’)
eni project readonly on
eni project readonly off
Опция ‘Только чтение’ для объектов проекта включается или выключается, соответственно. (‘Проект’ ‘Опции’ ‘Проект’)
eni shared readonly on
eni shared readonly off
Опция ‘Только чтение’ для категории базы данных ‘Разделяемые объекты’  включается или выключается, соответственно.(‘Проект’ ‘Опции’ ‘Разделяемые объекты’)
eni set local <POUname> Объект включается в категорию ‘Локальные’, т.е. не будет сохраняться в базе данных проекта(‘Проект’ ‘Объект’ ‘Свойства’ ‘Связь с базой данных’)
eni set shared <POUname> Объект включается в категорию ‘Разделяемые проекты'(‘Проект’ ‘Объект’ ‘Свойства’ ‘Связь с базой данных’)
eni set project <POUname> Объект включается в категорию ‘Проект'(‘Проект’ ‘Объект’ ‘Свойства’ ‘Связь с базой данных’)
eni <category> server <TCP/IP_Address> <Port> <Projectname> <Username> <Password> Настраивает соединение ENI Server для категории ‘Проект'(‘Проект’ ‘Опции’ ‘Связь с базой данных’);

Пример:

eni project server localhost 80 batchtestproject EniBatch Batch

(TCP/IP-Address = localhost, Port = 80, Project name = batchtestproject, User name = EniBatch, Password = Batch)

eni compile sym on
eni compile sym off
Опция создания символьного файла (‘Создавать символьный ASCII файл (.sym)’) для объектов категории включается/выключается(‘Проект’ ‘Объект’ ‘Свойства’ ‘Связь с базой данных’ ‘Настройка ENI’ для категории ‘Файлы компилятора’)
eni compile sdb on
eni compile sdb off
Опция ‘Создавать двоичный символьный файл (.sym)’ для категории ‘Файлы компилятора’ соответственно, включается/выключается(‘Проект’ ‘Объект’ ‘Свойства’ ‘Связь с базой данных’ ‘Настройка ENI’ для категории ‘Файлы компилятора’)
eni compile prg on
eni compile prg off
Опция ‘Создавать загрузочный проект’ для категории ‘Файлы компилятора’ соответственно, включается/выключается(‘Проект’ ‘Объект’ ‘Свойства’ ‘Связь с базой данных’ ‘Настройка ENI’ для категории ‘Файлы компилятора’)

Команды меню ‘Проект’ ‘База данных проекта’ для работы с базой данных:

eni set <category> Объект принимается в названную категорию базы данных (‘Определить’)
‘eni set <category>set <Objecttype>:<POUname> <Objecttype>:<POUname> Перечисленные через пробелы объекты принимаются в названную категорию базы данных. (‘Определить множество’)Пример:

«eni set project pou:as_fub pou:st_prg»

-> объекты (pou) as_fub и st_prg get принимаются в категорию ‘Проект’

eni <category> getall Последние версии объектов вызываются из базы данных. (‘Взять все новейшие версии’)
‘eni <category>get <Objecttype>:<POUname> <Objecttype>:<POUname> Перечисленные через пробелы объекты вызываются из базы данных. (‘Определить множество’). (‘Взять новейшую версию’)Пример:

«eni project get pou:as_fub gvl:global_1»

-> компонент (POU) as_fub.pou и список глобальных переменных global_1.gvl вызываются из базы данных.

eni <category> checkoutall «<comment>» Все объекты названной категории выписываются из базы данных. Указанный комментарий будет сохранен вместе с операцией в истории версий.
eni <category> checkout «<comment>» <Objecttype>:<POUname> <Objecttype>:<POUname> Все объекты (Objecttype:POUname), перечисленные через пробелы, выписываются из базы данных. Комментарий будет сохранен вместе с операцией в истории версий по каждому объекту.Пример:

«eni project checkout «for working on xy» pou:as_fub gvl:global_1″

-> компонент (POU) as_fub и список глобальных переменных global_1 выписываются из базы данных, комментарий «for working on xy» будет сохранен вместе с этой операцией.

eni <category>checkinall «<comment>» Все объекты проекта, включенные в контроль, прописываются в базе. Комментарий будет сохранен вместе с операцией.
eni <category> checkin «<comment>» <Objecttype>:<POUname> <Objecttype>:<POUname> Все объекты (Objecttype:POUname), перечисленные через пробелы, прописываются в базе. Комментарий будет сохранен вместе с операцией для каждого объекта.

Ключевые слова параметров команд:

В параметрах команд могут применяться следующие ключевые слова, заключенные между «$»:

$PROJECT_NAME$ Имя текущего проекта CoDeSys (имя файла без расширения «.pro»)
$PROJECT_PATH$ Путь или директория расположения текущего проекта CoDeSys (без имени диска и завершающей обратной косой черты, т.е. «projectssub1»).
$PROJECT_DRIVE$ Диск текущего проекта (без имени завершающей обратной косой черты, т.е. «D:»)
$COMPILE_DIR$ Полный путь (с диском и без завершающей обратной косой черты, т.е. «D:codesyscompile»)
$EXE_DIR$ Директория codesys.exe (с диском и без завершающей обратной косой черты, т.е.D:codesys)

Пример командного файла:

file open C:projectsCoDeSys_testampel.pro
query off ok
watchlist load c:workw.wtc
online login
online run
delay 1000
watchlist read
watchlist save $PROJECT_DRIVE$$PROJECT_PATH$w_update.wtc
online logout
file close

В данном примере открывается файл file ampel.pro, загружается ранее созданный список переменных (watch list) под именем w.wtc, затем проект загружается в контроллер и запускается. Через 1 секунду считываются значения переменных из списка и сохраняются в watch.wtc (в директории «C:projectsCoDeSys_test«). В конце проект закрывается.

Вызвать командный файл из командной строки можно, например, так:

«<path of codesys.exe>» /cmd «<path of cmd file>»

s’> � i�8�4align=top style=’width:138.0pt;padding:.75pt .75pt .75pt .75pt’>

object copy <source project file> <source path> <target path>

Копирует объекты (source path) в указанные (target path) объекты текущего проекта.

(source path) — это имя объекта. Если указана папка, берутся все ее объекты. В этом случае копируется полная структура папки.

Если (target path) отсутствует, будет создан новый объект.

Доступ только для чтения к определенным объектам:

object setreadonly <TRUE|FALSE> <object type> | <object name>  Установить доступ только по чтению для заданного объекта. Кроме конкретных идентификаторов, можно задать ограничение для всего типа объектов.Допустимые типы: pou, dut (data type), gvl (global variables list), vis (visualization), cnc (CNC object), liblist (Libraries), targetsettings, toolinstanceobject (particular Tools instance), toolmanagerobject (all instances in the Tools tree), customplconfig (PLC configuration), projectinfo (Project information), taskconfig (task configuration), trace, watchentrylist (Watch- and Recipe Manager), alarmconfig (Alarm configuration)

Пример: «object setreadonly TRUE pou plc_prg» задает для PLC_PRG доступ только по чтению.

Ввод параметров коммуникации (gateway, device):

gateway local Использовать Gateway данного локального компьютера.
gateway tcpip <Address> <Port>  Использовать Gateway указанного удаленного компьютера.<Address>: TCP/IP адрес или имя в сети удаленного компьютера.

<Port>: TCP/IP порт удаленного шлюза.

Внимание: Доступны только удаленные шлюзы, не защищенные паролем доступа!

device guid <guid>  Использовать коммуникационный интерфейс с указанным GUID.Формат GUID (пример): {01234567-0123-0123-0123-0123456789ABC}

Скобки и позиции дефисов важны.

device instance <Instance name> Установить заданное имя для текущего коммуникационного интерфейса.
device parameter <Id> <Value> Присвоить указанное значение определеннуму параметру (задается ID) интерфейса.

Командный файл (cmdfile) CoDeSys (часть 1)

Приведенные ниже команды можно использовать в командном файле, который в свою очередь вызывается из командной строки. Регистр знаков не учитывается. Командные строки показывается в окне сообщений и могут быть записаны в файл (за исключением команд, начинающихся с «@»). Часть строки после точки с запятой (;) игнорируется.

Команды управления выполнением:

onerror continue Последующие команды должны выполняться, даже если произошла ошибка выполнения.
onerror break Последующие команды не должны выполняться, если произошла ошибка выполнения.

Команды  меню Онлайн:

online login Подключение и загрузка проекта (‘Онлайн Подключение’)
online logout Отключение (‘Онлайн’ ‘Отключение’)
online run Запуск приложения (‘Онлайн’ ‘Старт’)
online stop Останов приложения (‘Онлайн’ ‘Стоп’)
online bootproject Создание загрузочного проекта. (См. ‘Онлайн’ ‘Создание загрузочного проекта’ !)
online sourcecodedownload Загрузка кода проекта в ПЛК (‘Онлайн’ ‘Загрузка исходных текстов’)
online sim Включить режим эмуляции (‘Онлайн’ ‘Режим эмуляции’)
online sim off Выключить режим эмуляции (‘Онлайн’ ‘Режим эмуляции’)

Команды  меню Файл:

file new Создать новый проект (‘Файл’ ‘Создать’)
file open <projectfile>возможные дополнения: Загрузить прект <projectfile> (‘Файл’ ‘Открыть’)
/readpwd:<readpassword> Задает пароль доступа на чтение, диалог ввода пароля не показывается.
/writepwd:<writepassword> Задает пароль полного доступа, диалог ввода пароля не показывается.
file close Закрыть проект (‘файл’ ‘Закрыть’)
file save Сохранить проект (‘Файл’ ‘Сохранить’)
file saveas <projectfile>опция: <type><version>

 

Сохранить проект под именем <projectfile> (‘Файл’ ‘Сохранить как’)По умолчанию: сохраняется файл проекта текущей версии CoDeSys <projectfile>. Если вы хотите сохранить проект как внешнюю или внутреннюю библиотеку либо в формате ранних версий, добавьте команду:

«internallib»  сохранить как внутреннюю библиотеку:

«externallib» сохранить как внешнюю библиотеку:

«pro»  сохранить в формате ранних версий:

допустимые версии <Version>: 15, 20, 21, 22 (версии 1.5, 2.0, 2.1, 2.2)

Пример: «file save as lib_xy internallib22» -> проект «project xy.pro», сохраняется как «lib_xy.lib» для V2.2.

file saveas <projectfile> The current project will be saved with the file name <projectfile> (‘Файл’ ‘Сохранить как’)
file printersetup <filename>.dfrопция

pageperobject или

pagepersubject

Определяет dfr файл для печати (‘Файл’ Параметры печати’) и одну из возможных опций ‘Новая страница на каждый объект’ или ‘Новая страница на каждый подобъект’ (См. раздел Документация)
file archive <filename>.zip Архивация проекта в zip-файл с указанным именем (‘Файл’ Сохранить/Отправить архив’)
file quit Завершить работу CoDeSys (‘Файл’ ‘Выход’)

Команды меню Проект:

project build Инкрементальная компиляция текущего проекта (‘Проект’ ‘Компилировать’)
project rebuild or
project compile
Полная компиляция текущего проекта (‘Проект’ ‘Компилировать все»)
project clean Удалить информацию о компиляции и онлайн коррекции (‘Проект’ ‘Очистить все’)
project check Контроль текущего проекта (‘Проект’ ‘Контроль’)
project import <file1> … <fileN> Файлы <file1> … <fileN> импортируются в текущий проект (‘Проект’ ‘Импорт’). Внимание: можно использовать шаблоны, например, «project import C:projects*.exp.
project export <expfile> Экспорт текущего проекта в файл <expfile> (‘Проект’ ‘Экспорт’)
project expmul Каждый объект текущего проекта экспортируется в отдельный файл, получающий имя объекта.
project documentation Печать проекта (См. раздел Документация)

Команды управления файлом сообщений:

out open <msgfile> Открыть файл сообщений <msgfile>. Новые сообщения добавляются.
out close Закрыть текущий файл сообщений.
out clear Очистить файл сообщений.

Команды управления сообщениями:

echo on Отображать команды.
echo off Скрыть команды.
echo <text> Отобразить текст <text>.

Команды управления заменой (нужны при выполнении импорта, экспорта, копировании):

replace yesall Заменять все (отвечает «да» на все запросы замены, диалог не отображается)
replace noall Запрет замены (отвечает «нет» на все запросы замены, диалог не отображается)
replace query Показывать диалог замены независимо от ‘replace yesall’ или ‘replace noall’

Команды, изменяющие параметры диалогов CoDeSys по умолчанию:

query on Отображать диалоги и ждать ввода пользователя
query off ok Для всех диалогов отвечать ‘OK’
query off no Для всех диалогов отвечать ‘No’
query off cancel Для всех диалогов отвечать ‘Cancel’

Вызов вложенных командных файлов:

call <parameter1> … <parameter10> Вызов файла команд. Допускается до 10 параметров:$0 — $9.
call <parameter1> … <parameter10> Command files are called as subroutines. Up to ten parameters can be consigned. In the subroutine called you can access the parameters using $0 — $9.

Задание директорий CoDeSys:

(Диалог опций проекта, категория ‘Директории’, раздел ‘Общие’): Если в нижеописанных командах нуж-но задать несколько директорий, то их определения должны быть разделены точкой с запятой и пробелом. Определение директории нужно заключить в кавычки. Например:

dir lib «D:codesysLibrariesStandard; D:codesysLibrariesNetVar»

dir lib <libdir> Задает <libdir> как директорию библиотек
dir compile <compiledir> Задает <compiledir> как директорию для компиляции
dir config <configdir> Задает <configdir> как директорию файлов конфигурации
dir upload <uploaddir> Задает <uploaddir> как директорию для загружаемых файлов

Задержка выполнения CMDFILE:

delay 5000 Пауза 5 секунд

Управление Менеджером просмотра:

watchlist load <file> Загрузить список (Watchlist) из файла <file> и открыть соответствующее окно (‘Дополнения’ ‘Открыть список просмотра’)
watchlist save <file> Сохранить текущий список в файле <file> (‘Дополнения’ ‘Сохранить список просмотра’)
watchlist set <text> Присвоить загруженному списку имя <text> (‘Дополнения’ ‘Переименовать список’)
watchlist read Обновить значения в списке (‘Дополнения’ ‘Считать значения’)
watchlist write Установить значения переменных в соответствии с заданными в списке (‘Дополнения’ ‘Записать значения’)

Компоновка библиотек:

library add <library file1> <library file2> .. <library fileN>  Добавить в текущий проект. Если указан относительный путь, то в качестве корневого, используется директория библиотек.
library delete [<library1> <library2> .. <libraryN>] Удалить указанные или все (если не указано какие) библиотеки из состава текущего проекта.

Копирование объектов:

object copy <source project file> <source path> <target path>  Копирует объекты (source path) в указанные (target path) объекты текущего проекта.(source path) — это имя объекта. Если указана папка, берутся все ее объекты. В этом случае копируется полная структура папки.

Если (target path) отсутствует, будет создан новый объект.

Доступ только для чтения к определенным объектам:

object setreadonly <TRUE|FALSE> <object type> | <object name>  Установить доступ только по чтению для заданного объекта. Кроме конкретных идентификаторов, можно задать ограничение для всего типа объектов.Допустимые типы: pou, dut (data type), gvl (global variables list), vis (visualization), cnc (CNC object), liblist (Libraries), targetsettings, toolinstanceobject (particular Tools instance), toolmanagerobject (all instances in the Tools tree), customplconfig (PLC configuration), projectinfo (Project information), taskconfig (task configuration), trace, watchentrylist (Watch- and Recipe Manager), alarmconfig (Alarm configuration)

Пример: «object setreadonly TRUE pou plc_prg» задает для PLC_PRG доступ только по чтению.

Ввод параметров коммуникации (gateway, device):

gateway local Использовать Gateway данного локального компьютера.
gateway tcpip <Address> <Port>  Использовать Gateway указанного удаленного компьютера.<Address>: TCP/IP адрес или имя в сети удаленного компьютера.

<Port>: TCP/IP порт удаленного шлюза.

Внимание: Доступны только удаленные шлюзы, не защищенные паролем доступа!

device guid <guid>  Использовать коммуникационный интерфейс с указанным GUID.Формат GUID (пример): {01234567-0123-0123-0123-0123456789ABC}

Скобки и позиции дефисов важны.

device instance <Instance name> Установить заданное имя для текущего коммуникационного интерфейса.
device parameter <Id> <Value> Присвоить указанное значение определеннуму параметру (задается ID) интерфейса.