PSIM软件学习---08C程序块的调用-创新互联

  在PSIM电路仿真的时候,如果某一功能不能够使用元件库中的电路元件模型构建,可以使用C程序元件,编写C程序代码实现。其中C语言模块包括简化C模块和通用C模块。C程序模块使用方法如下。

创新互联专注于成都网站设计、成都网站建设、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。简化C模块

  调用简化C模块的步骤为。打开菜单栏的Elements — Other — Function Blocks — Simplified C block。

在这里插入图片描述
在这里插入图片描述
   此时就打开一个C模块,将C模块放在电路图中。在这里插入图片描述
   双击这个C模块打开它。
在这里插入图片描述
   这时就可以在这个空白区域中编写C代码了,在编写C代码之前,首先简单介绍一下这个界面中各个属性的含义。

Name :用来设置C模块的名称。
Input:用来设置输入引脚的个数,输入引脚用x来命名,比如x1、x2、x3 … xn。
Output:用来设置输出引脚的个数,输出引脚用y来命名,比如y1、y2、y3 … yn.
在编写C代码的时候,还有两个默认的变量可以使用 t 和 delt,t 指的时系统运行的总时间,delt指的是时间步,也就是每隔多长时间系统调用C模块一次。比如系统运行时间为1s,时间步为0.0001s,那么1s钟系统就会调用c模块1000次。这个 t 和 delt 的值是自己在Simulation Control中设置的。
在这里插入图片描述

   接下来编写C代码。
在这里插入图片描述
   这里的输入端口和输出端口分别设置为一个, C代码也非常简单,设置为输出信号是输入信号的两倍。接下来搭建一个简单的测试电路。
在这里插入图片描述
   输入一个幅度为10伏,频率为1000的正弦波信号,然后测量输出信号。输出波形如下:
在这里插入图片描述
   通过波形也可以看到输出波形是输入波形的2倍。

   为了时C模块看起来更直观,可以对元件的外形图形进行编辑。双击打开C模块,然后选择Edit Image。
在这里插入图片描述
   此时就会打开一个图形编辑的窗口,在这个窗口中就可以自己对元件的外形进行编辑。
在这里插入图片描述
   编辑完成后如下所示:
在这里插入图片描述
  编辑完成后关闭图形编辑窗口,此时在仿真电路图中就可以看到C模块的输入输出端口就有文字提示了。

在这里插入图片描述

通用C模块

   调用通用C模块的步骤为。打开菜单栏的Elements — Other — Function Blocks — C block。
在这里插入图片描述
   通用C模块和简单C模块使用方法基本一样,将通用C模块放置在电路中,然后双击打开。
在这里插入图片描述
  和简单C模块相比,通用C模块里面多了一个功能类型的选项。下面分别结束这几个功能类型的作用。

Variable / Function definitions : 定义代码中需要的头文件或者变量。
在这里插入图片描述
OpenSimUser Fcn: 在仿真开始时调用一次此处的代码进行系统初始化设置。
在这里插入图片描述
**RunSimUser Fcn:**这里是具体执行功能的C代码。在仿真过程中,每个时间步都会调用次模块中的代码。
在这里插入图片描述
CloseSimUser Fcn: 在仿真退出时调用一次此处的代码。
在这里插入图片描述
  和简单C模块相比,通用C模块增加了函数运行前和函数执行后的代码。相当于函数多了一个初始化和收的功能。

  按照同样的方式对C模块编写代码。这里输入和输出端口分别设置为一个,代码的功能就是输出信号是输入信号的两倍。代码编写在RunSimUser Fcn模块里面。其他三个模块不用管,就使用默认的代码就行。
在这里插入图片描述
  这里的输入输出端口就不是x和y了,而是 in 和 out的 数组。
在这里插入图片描述
  当前模块是一个函数,所有的参数都是从函数入口传递进来的。关于这个模块的详细用法,可以点 Help 按钮查看系统的帮助文档。
在这里插入图片描述
   编写完代码后,可以选择Edit Image按钮,对C模块的图形符号进行编辑。
在这里插入图片描述
   最后搭建一个简单的电路进行测试。
在这里插入图片描述

   仿真波形如下:
在这里插入图片描述
   通过波形可以看出,输出的信号时输入信号的2倍。

   通过上面两个测试可以看出,简化C模块和通用C模块的使用方法基本是一样的。不过在这里要注意一点,每个C程序块中的变量对于其他C程序块来说都是不可见的。将C程序块中的值传递给另一个C程序块或其他电路的唯一方法,就是通过C程序块的输入输出端口。当C程序块的输出直接连接到另一个C程序块的输入时,仿真软件运行时,首先运行第1个C程序块,然后再运行第二个C程序块。

   最后通过一个稍微复杂一点的例子来演示C模块的用法。

在这里插入图片描述
在这里插入图片描述

   使用正弦波发生器产生一个频率为60Hz,幅度为1V的正弦波。然后使用系统自带的有效值计算工具计算当前正弦波的有效值。将这个正弦波也送到一个C模块中,通过C代码来计算当前正弦波的有效值。最后比较分别计算出来的有效值是否一样。

  编写的C代码如下:
在这里插入图片描述
  C代码实现思路为:系统在每个时间步调用此模块时,就累加当前输入电压的平方和,当一个周期采样结束后,对累加和取平均值,然后再开方。

  仿真波形如下:
在这里插入图片描述
  通过仿真波形可以看出,系统自带的RMS值计算工具计算出来的结果和C模块计算出来的结果是一样的。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站题目:PSIM软件学习---08C程序块的调用-创新互联
标题来源:http://scyanting.com/article/djhshh.html