Интерфейс командной строки

Общее описание

Интерфейс командной строки (CLI) — это инструмент для упрощения разработки, проверки, модификации пользовательских программ для контроллеров CANNY за счет автоматизации выполнения ряда типовых операций с помощью набора специальных команд.

Структура команд

Структура команд CLI состоит из драйвера "clcli", самой команды и ее возможных аргументов и параметров. Этот шаблон используется в большинстве операций интерфейса командной строки.

Примечание: Для наибольшего удобства работы с интерфейсом командной строки все операции рекомендуется выполнять из командной строки операционной системы (меню “Пуск” / Выполнить… / cmd), либо использовать исполняемые файлы с расширением .bat.

Драйвер

Драйвер называется clcli и отвечает за выполнение команды. Если команда указана, драйвер запускает процесс выполнения команды CLI.

Команда

Команда выполняет действие. Например, clcli check-cfd <имя файла> производит проверку указаного файла функциональной диаграммы на наличие ошибок. Команды реализуются как консольное приложение с использованием соглашения clcli {команда}.

Аргументы

Аргументы, указываемые в командной строке, передаются непосредственно в вызываемую команду. Например, если выполнить clcli check-cfd test.cfd, аргумент test.cfd представляет собой имя проверяемого файла, которое передается в команду check-cfd.

Параметры

Параметры, указываемые в командной строке, передаются непосредственно в вызываемую команду. Например, при выполнении clcli set-value --src test.cfd --dst test1.cfd --label constant --value 1024 параметры --src, --dst, --label, --value и их значения передаются в команду set-value.

Команды CLI

Сервисные команды

Для получения справочной информации в интерфейсе командной строке предусмотрены специальные команды.

clcli - вызов справки.

При выполнении clcli без указания каких-либо параметров, пользователю будет показана краткая справка по доступным командам интерфейса командной строки. Вызов справки также доступен при выполнении clcli -h или clcli --help. Кроме того, справка будет отображена при вводе пользователем некорректной команды.

Содержание справки по доступным командам интерфейса командной строки.
Условные обозначения в краткой справке по доступным командам интерфейса командной строки:
 - <...> - аргумент, например название файла;
 - --... - параметр без значения;
 - --... <...> - параметр со значением;
 - [...] - необязательный параметр.

clcli --version - вывод на экран текущей версии интегрированной среды разработки CannyLab.

При выполнении clcli с параметром --version (т.е. clcli --version), на экране будет отображена текущая версия среды разработки CannyLab.

Отображение текущей версии интегрированной среды разработки CannyLab.

merge-cfd

Команда предоставляет возможность автоматического объединения нескольких функциональных диаграмм в одну.

Формат команды: clcli merge-cfd <result-file> <input-file1> [<input-file2>]...

Аргументы команды:

  • <result-file> - имя результирующего файла и путь к нему, т.е. расположение и название файла, который будет содержать результат выполнения команды - объединенную функциональную диаграмму;
  • <input-file1> - имя первого исходного файла диаграммы и путь к нему, т.е. расположение и название файла, содержание которого будет использовано в процессе объединения при выполнении команды;
  • <input-file2> - имя второго исходного файла диаграммы и путь к нему, т.е. расположение и название файла, содержание которого будет использовано в процессе объединения при выполнении команды.

Количество объединяемых файлов может быть более двух.

Примечание: Имя результирующего файла может совпадать с именем одного из объединяемых файлов.

Примечание: При выполнении команды файл <result-file> создается по заданному пути. Если в указанном месте уже существует файл с таким же именем, то после выполнения объединения файлов диаграмм он будет перезаписан создаваемым.

Примечание: Если указаны только результирующий файл <result-file> и только один подлежащий объединению файл <input-file1>, то в результате выполнения команды содержимое <input-file1> будет просто скопировано в файл <result-file>.

Пример выполнения команды merge-cfd.

Добавление диаграмм в результирующий файл выполняется последовательно, по одной. Содержимое второго объединяемого файла добавляется под рабочей областью первого файла, при этом автоматически выполняется команда “Рамка по содержимому” - новая граница рабочей области полученного файла подгоняется по размеру получившейся диаграммы. Содержимое каждого следующего файла добавляется под рабочей областью диаграммы, полученной в результате предыдущего объединения. Добавляемые в результирующую диаграмму функциональные блоки нумеруются автоматически. Создание и сохранение результирующего файла выполняется после объединения всех файлов, указанных в качестве аргументов команды merge-cfd.

Пример исходного файла диаграммы.
Результат выполнения команды merge-cfd.

Объединение диаграмм выполняется “как есть”, т.е. все содержащиеся в объединяемых диаграммах регистры, именованные сети и т.п. будут добавлены в результирующую диаграмму со своими именами и без каких-либо изменений. Возможна ситуация, когда в результате объединения на поле результирующей диаграммы будут находиться несколько одинаковых регистров записи или одинаковых именованных сетей, подключенных к выходам разных функциональных блоков, что является ошибкой и недопустимо в графическом языке CFD. После объединения файлов диаграмм рекомендуется выполнить автоматическую проверку результирующего файла с помощью команды check-cfd интерфейса командной строки, либо с помощью команды “Проверить диаграмму” интегрированной среды разработки CannyLab и в ручную устранить обнаруженные конфликты.

check-cfd

Команда предоставляет возможность автоматической проверки функциональной диаграммы на наличие ошибок.

Формат команды: clcli check-cfd <file>

Аргументы команды:

  • <file> - имя проверяемого файла диаграммы и путь к нему, т.е. расположение и название файла.

Если проверяемая диаграмма содержит ошибки, то после выполнения команды будет выведено сообщение “error”. В противном случае никаких сообщений выведено не будет.

Результат выполнения команды check-cfd: диаграмма содержит ошибки.
Результат проверки диаграмы в среде разработки CannyLab.

make-sfx

Команда предоставляет возможность автоматического создания исполняемых файлов автономной загрузки ПО в контроллер (SFX).

Формат команды: clcli make-sfx --ccx <ccx> [--cfd <cfd>] --parameters <txt> --sfx <sfx> [--no-optimization]

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

  • --ccx <ccx> - указание файла системного программного обеспечения (.ccx), используемого для создания SFX: --ccx - параметр команды, <ccx> - значение параметра --ccx - путь и имя файла сиcтемного ПО;
  • --cfd <cfd> - указание файла функциональной диаграммы (.cfd), используемого для создания SFX (необязательный параметр): --cfd - параметр команды, <cfd> - значение параметра --cfd - путь и имя файла функциональной диаграммы;
  • --parameters <txt> - указание файла с параметрами (.txt), используемого для создания SFX: --parameters - параметр команды, <txt> - значение параметра --parameters - путь и имя файла парметров;
  • --sfx <sfx> - указание создаваемого файла SFX (.exe): --sfx - параметр команды, <sfx> - значение параметра --sfx - путь и имя создаваемого файла;
  • --no-optimization - не использовать оптимизацию функциональной диаграммы при создании SFX (необязательный параметр).

Примечание: По умолчанию, если параметр --no-optimization не указан, при создании исполняемых файлов автономной загрузки ПО в контроллер с использованием команды make-sfx оптимизация функциональной диаграммы включена.

Результатом выполнения команды является создание исполняемого файла (с расширением .exe), содержащего указанные системное программное обеспечение контроллера и функциональную диаграмму, а также, в случае их использования, комментарий и пользовательские параметры.

Результат выполнения команды make-sfx: успешное создание исполняемого файла.

Примечание: Используемые системное программное обеспечение (.ccx) и функциональная диаграмма (.cfd) должны принадлежать к одному и тому же типу контроллера.

Примечание: Версия файла функциональной диаграммы (.cfd) должна соответствовать версии среды разработки CannyLab, интерфейс командной строки которой используется для создания исполняемого файла.

В случае, если какие-либо параметры команды make-sfx указаны неверно или не удовлетворяют необходимым требованиям, пользователю будет выдано сообщение об ошибке, исполняемый файл создан не будет.

set-value

Команда предоставляет возможность автоматической замены значений констант или регистров в указанной функциональной диаграмме.

Формат команды: clcli set-value --src <src-file> --dst <dst-file> --label <label-txt> --value <new-value>

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

  • --src <src-file> - указание исходного файла функциональной диаграммы (.cfd), в котором предполагается выполнить замену значения константы или регистра: --src - параметр команды, <src-file> - значение параметра --src - путь и имя исходного файла функциональной диаграммы;
  • --dst <dst-file> - указание файла функциональной диаграммы (.cfd), в котором будут сохранены результаты замены значения константы или регистра: --dst - параметр команды, <dst-file> - значение параметра --dst - путь и имя файла результирующей функциональной диаграммы;
  • --label <label-txt> - указание элемента “Надпись”, обрамляющего константу или регистр, значение которого подлежит замене: --label - параметр команды, <label-txt> - значение параметра --label - содержимое текстового поля элемента “Надпись”;
  • --value <new-value> - новое значение заменяемого элемента (константы или регистра): --value - параметр команды, <new-value> - значение параметра --value - числовое значение, присваиваемое заменяемой константе или регистру.

Результатом выполнения команды set-value является создание файла функциональной диаграммы (.cfd) с названием, указанным в значении параметра --dst, содержащей измененное значение выбранного элемента диаграммы.

Результат выполнения команды set-value: замена исходного значения элемента “period” значением “500”.

Примечание: Имя и расположение результирующего файла может совпадать с именем и расположением исходного.

Примечание: При выполнении команды файл <dst-file> создается по заданному пути. Если в указанном месте уже существует файл с таким же именем, то после выполнения команды он будет перезаписан создаваемым.

Исходная функциональная диаграмма.
Результирующая функциональная диаграмма.

Примечание: Для успешного выполнения команды, элемент “Надпись” должен полностью обрамлять элемент диаграммы, подлежащий замене, т.е. заменяемый элемент должен полностью находиться внутри рамки элемента “Надпись”. В противном случае пользователю будет выдано сообщение об ошибке и команда выполнена не будет.

Некорректное задание заменяемого элемента: элемент не полностью находится внутри рамки надписи “period”.

Примечание: Название (содержание) элемента “Надпись”, указывающего элемент диаграммы, подлежащий замене, должно быть уникальным, т.е. не должно повторяться. В противном случае пользователю будет выдано сообщение об ошибке и команда выполнена не будет.

Некорректное задание заменяемого элемента: внутри рамки надписи “period” находится более одного элемента.

Примечание: Один элемент “Надпись” должен указывать только на один элемент диаграммы, подлежащий замене. В противном случае пользователю будет выдано сообщение об ошибке и команда выполнена не будет.

Некорректное задание заменяемого элемента: на диаграмме находится более одной надписи “period”.

Пользовательская диаграмма, одновременно, может содержать более одного элемента, подлежащего замене. В этом случае, замена нескольких значений с использованием команды set-value возможна одиночными, последовательными шагами, т.е. заменой одного элемента за одно выполнение команды, при этом количество шагов не ограничено. Для автоматизации процесса может быть использован заранее созданный командный файл (.bat) со списком последовательно выполняемых команд.

Функциональная диаграмма, содержащая два разных элемента, подлежащих замене.

СМОТРИ ТАКЖЕ