In2 фиксирует символы поступающего последовательного кода.
Для демонстрации процесса зажигания управляющего нейрона подготовлен новый файл: 090720.csv:
Рис.34 Файл, вызывающий зажигание нейрона In1
После загрузки этого файла выведем на экран одновременно часть нейросети с нейроном In1 и часть редактора уроков Lesson Editor, содержащую нейрон In1. До тех пор, пока In1 = 0, нейрон не зажигается (это видно по выходному порту этого нейрона. Одновременно в редакторе уроков видно, что нейрон In1=0):
Рис.35 Нейрон In1 не зажжён
Как только In1 стал 1, нейрон зажёгся и начал работать…
Рис.36 Нейрон In1 зажёгся
В нашем случае по команде из программы «230620.as» выводится весь последний пример, а не одна строка. Нейрон In1 = 1 будем использовать как команду считать в csv-файл содержимое выполненного примера. Считывание это должно производиться по команде ExportLessonRaw раздела LessonEditor, которая записана в скрипте «230620.as».
Программа «230620.as» :
void main ()
{
SelectLesson (3);
ExportLessonRaw(C:\ProgramData\MemBrain\”230620-3.as»);
}
Последовательность запуска управляющего нейрона:
– Включить View -> «Show Fire Indicator».
– Средствами Windows записать в ячейку «SdvReg_111.csv» ноль.
Активизировать запуск программы при появлении огня (Fire):
– Пометить нейрон In1 на графической схеме нейросети свойством (Properties) «Executable When Firing» или: через Extras -> Executable when Firing.
– Заполнить диалог:
Рис.38 Выполняемая программа при зажигании нейрона
– Нажать «Think on Lesson» на Lesson Editor.
Lesson Editor настроен на запись по скриптовой команде из файла ”230620-3.as” в 3 урок:
Рис.39 Вывод результата из 3 урока
Выводим из 3 урока информацию в файл SdvReg_111.csv.
На экране появляется:
Рис.40 Выводимая информация
В результате срабатывания управляющего нейрона In1, в файл SdvReg_111.csv выведена информация из 3 урока.
Таким образом:
В демонстрационной папке этого примера должно содержаться:
Рис.41 Содержимое папки, необходимое для зажигания нейрона
Перевод раздела справочника команд нейропакета «Communication with the user».
Раздел содержит 7 команд:
1. Команда «void MessageBox (const string &in message)» выводит простое окно сообщения с кнопкой ОК. Сообщение содержит текст, который будет отображаться в выводимом окне. Выполнение сценария останавливается до тех пор, пока пользователь не нажмет кнопку ОК, которая автоматически закрывает окно сообщения.
2. Команда «EDlgRet MessageBox (const string &in message, EMsgBoxType type)» выводит окно сообщения с несколькими различными кнопками. Варианты используемых кнопок:
MB_OK – просто кнопка ОК
MB_OKCANCEL – кнопка ОК и ОТМЕНА
MB_YESNO – кнопки ДА и НЕТ
MB_YESNOCANCEL – ДА, НЕТ и кнопка ОТМЕНА
MB_RETRYCANCEL – кнопки RETRY и CANCEL
MB_ABORTRETRYIGNORE – кнопки ABORT, RETRY и IGNOR
Команда возвращает информацию о том, какую кнопку в окне сообщения нажал пользователь. Выполнение сценария останавливается до тех пор, пока пользователь не нажмет одну из кнопок, которая автоматически закрывает окно сообщения.
3. Команда, содержащая просьбу ввести значение имеет три версии, которые поддерживают типы данных «double», «string» и «int». Все три версии ведут себя одинаково:
EDlgRet UserInput (const string &in explanation, double &in initValue, double &out userValue)
EDlgRet UserInput (const string &in explanation, int &in initValue, int &out userValue),
EDlgRet UserInput (const string &in explanation, const string &in initValue, string &out userValue),
Где InitValue указывает начальное значение в поле ввода данных,
userValue – переменная, которая получила фактический пользовательский ввод.
Команда содержит текст, объясняющий, тип данных, которые должны быть введены и каково их значение. Выполнение сценария останавливается до тех пор, пока пользователь не нажмет одну из кнопок, которая автоматически закрывает диалоговое окно. Главное – это то, что команда возвращает информацию о том, какую кнопку в диалоговом окне пользовательского ввода нажал пользователь: всегда одно из двух значений: IDOK или IDCANCEL
Читать дальше