首页 > 编程语言 >Amesim竟然可以玩游戏?如何在Amesim草图界面运行Python脚本

Amesim竟然可以玩游戏?如何在Amesim草图界面运行Python脚本

时间:2024-06-06 13:58:52浏览次数:19  
标签:玩游戏 关键字 Python 命令 Amesim 参数 设置 command

开门见山,笔者在Amesim中运行了贪吃蛇游戏。

贪吃蛇

不光有贪吃蛇,还有锻炼记忆力的益智游戏。

益智游戏

难道Amesim真的有隐藏的内置游戏?

答案没有的,上述游戏都是通过python编写的,而为了实现从Amesim的草图界面执行Python文件,需要使用Simulation库的scriptinteractive(SCRCALL01)模块:

在这里插入图片描述

在模块参数中设置好需要运行的脚本文件与解释器。
在这里插入图片描述

双击模块或在右键菜单启动即可运行。

在这里插入图片描述

需要注意的是scriptinteractive模块只能通过Amesim的草图界面进行交互,也就是只能在GUI中运行的模型中使用。

由于其本身不会进行任何仿真运算,所以在仿真期间不会产生任何作用。

命令或脚本可通过以下几种方式调用:

  • 在参数或仿真模式下双击scriptinteractive模块。
  • 在仿真开始前和结束后。
  • 在参数更改时。

设置参数

scriptinteractive模块的设置参数包括三个部分:

  1. 全局设置
  2. 参数模式设置(Parameter mode)
  3. 仿真模式设置(Simulation mode)

在这里插入图片描述

全局设置

全局设置包括debug modeassistant namecommand interpreter三项。

  • debug mode

    用于调试命令,设置为true后会开启一个debug窗口,展示命令的执行情况
    在这里插入图片描述

  • assistant name

    此参数定义助手的名称。其显示在组件图标的上下文菜单和“调试”窗口的标题。

  • command interpreter

    在此参数中定义命令解释器。它将被添加到您在其他参数中指定的所有命令中,将其设置为AMEPython可使用Amesim内置的python解释器。例如,如果想调用python脚本,可以将命令解释器设置为windows的"python.bat"或UNIX/Linux的"python.sh"。

参数模式设置

  • command for open action:

    该参数定义了在参数模式下双击组件图标时启动的命令。如果在图标右键菜单中选择 “Launch User command…(启动用户命令…)”,也会执行同样的操作。如果已经定义了命令解释器,则该解释器将自动预置到该命令中。

  • open action is blocking:

    该参数定义了之前的命令在执行过程中是否阻塞。如果设置为true,则会出现以下消息框并阻塞,直到命令结束为止:

    在这里插入图片描述

  • command on parameter change:

    这条命令将在每次模型中的参数更改时被调用。该命令始终是阻塞的。

    在命令行中可以使用一些关键字,稍后会描述其中的一些关键字。然而,其中有一个关键字是专门针对该参数的:

    ${changed_param_list}

    当该关键字出现在命令行中时,它会被自动替换为一个文件,其中包含当前操作所更改的所有参数的列表。如果该关键字用于其他命令,生成的文件将不包含任何参数。

仿真模式设置

  • command for open action:

    同参数模式。

  • open action is blocking:

    同参数模式

  • command to call before a simulation:

    定义在仿真之前要调用的命令。

  • command to call after a simulation:

    该参数定义仿真后调用的命令。即使仿真失败,也会启动此命令。

  • command called after a simulation is blocking:

    该参数定义上述命令是否在执行过程中阻塞Amesim。如果设置为true,则会显示消息并阻止 Amesim,直到命令结束

关键字

除了命令行中可以执行的操作外,还可以使用一些关键字:

  • ${circuit_name}:替换为当前模型的名称。
  • ${full_circuit_name}:替换为包含绝对路径的当前模型名称。
  • ${library_node}:替换为包含SCRCALL01的库的绝对根路径。默认情况下,该值等同于目录。然而,如果您自定义了这个子模型,这将指向您在路径列表中指定的目录,以使自定义子模型可用。
  • ${all_param_list}:此关键字用于将模型的所有参数的xml列表发送给脚本。脚本可以使用这些信息。然而,目前脚本无法通过修改这些信息来更新模型。此关键字将被替换为一个临时文件,该文件包含模型的所有可见参数列表。命令完成后,该文件将被删除。根据模型的大小,生成该文件可能需要很长时间。
  • ${changed_param_list}:此关键字用于将模型中所有更改参数的xml列表发送给脚本。脚本可以使用这些信息。然而,目前脚本无法通过修改这些信息来更新模型。此关键字将被替换为一个临时文件,该文件包含当前更改参数的列表。当参数的值或标题被更改时,参数被视为已更改。命令完成后,该文件将被删除,此关键字仅在“参数更改命令”中有用。

总结

使用scriptinteractive模块的初衷当然不是用来玩游戏,而是一种定义特定预处理和后处理工具的简便方法,也将外部预处理和后处理工具连接到系统。

具体怎样去使用,就需要大家发挥想象力了。

关注基算仿真公众号并在后台回复:“游戏” 即可获取文中用到的模型源文件。

标签:玩游戏,关键字,Python,命令,Amesim,参数,设置,command
From: https://blog.csdn.net/laughzjh/article/details/139492878

相关文章

  • Python - Django - MySQL #need to add distinct() after select_related().distinct(
    所以这是ads/views.py还有ads/models.py、ads/forms、ads/urls.py和其他文件,但评分器抱怨的是这个views.py...检索到3806个HTML字符测试已完成:在页面顶部发现菜单栏搜索"HHGTTG_421717639962"时发现多个广告。您可能需要在views.py中的select_related().di......
  • python基本语法元素
    1.输入与输出实现人机交互。输出:使用print()函数print("Hello,World!")#简单文本输出,输入:使用input()函数,用户输入默认被视为字符串name=input("请输入你的名字:")print("你好,"+name)2.注释单行注释:使用#符号#这是一个单行注释多行注释:使用三个单引号......
  • Python实现【监控远程仓库代码提交,如果有提交就自动执行需要监控测试的接口,以确保新提
    一、代码如下importgitfromdel_folderimportdel_folderimporttimefromsend_Dmessageimportsend_messagefromsend_giftimportsend_gift#设置远程仓库路径remote_url='xxx'#本地仓库路径local_path='xxx'#webhook地址和密钥webhook_url="x......
  • Python部分错误总结
    1.couldnotconvertstringtofloat:''由于空字符串不包含任何数字,因此无法确定其浮点数等价物,所以转换失败并抛出ValueError。在没办法处理数据的时候,可以通过设置默认值。some_value=""try:result=float(some_value)exceptValueError:result=0#或......
  • python---正则表达式
    ==本章目标:1:能够知道在Python中使用正则要导入的模块;[了解]   re模块2:能够使用re模块匹配单个字符;[重点]   \d \w 正则表达式的概述:基本介绍正则表达式,也叫做规则表达式,通常会说成[正则]实际上正则表达式就是指符合一定规则的字符串,同时他能用......
  • python 正则表达式使用简介和实用技巧
    元字符释义.代指任意字符^从字符串开始匹配$匹配字符串的结尾*匹配前面挨着的字符,能匹配0到无穷次+同*,能匹配1到无穷次(最少1个)?匹配前面挨着的字符,匹配0或1次{}自定义匹配次数,{1,6}匹配1到6次,{6}匹配6次(重复匹配前面挨着的字符)......
  • 用Python写一个用户标签分析体系
     用户标签分析体系是一个用于对用户进行分类和标注的工具,可以根据用户的行为、兴趣、喜好等特征进行分析。以下是一个简单的Python示例,使用Pandas库和NLTK库实现用户标签分析体系。 首先,确保已经安装了Pandas和NLTK库。如果没有安装,可以使用以下命令进行安装:```bashpipi......
  • 用python写一个提取微信群的关键信息应用
    要提取微信群的关键信息,我们可以使用Python编写一个微信聊天记录爬虫,然后分析聊天记录提取关键信息。以下是一个简单的示例:1.安装所需库:```bashpipinstallwxpypipinstallbeautifulsoup4pipinstallrequests```2.编写微信聊天记录爬虫:```pythonimportwxpyimp......
  • Python的安装
    Python的安装Python,作为一种高级编程语言,因其简洁易读、功能强大而广受欢迎。对于初学者和开发者来说,正确安装Python是开始编程旅程的第一步。下面将详细介绍Python的安装步骤。一、下载Python安装包首先,你需要访问Python的官方网站(https://www.python.org)来下载适合你操作系统......
  • 使用Python实现深度学习模型:序列到序列模型(Seq2Seq)
    本文分享自华为云社区《使用Python实现深度学习模型:序列到序列模型(Seq2Seq)》,作者:Echo_Wish。序列到序列(Seq2Seq)模型是一种深度学习模型,广泛应用于机器翻译、文本生成和对话系统等自然语言处理任务。它的核心思想是将一个序列(如一句话)映射到另一个序列。本文将详细介绍Seq2Seq......