简单例子,设模块两输入一输出,输入的名称定义为in1和in2, 输出为out
!一行的开始的感叹号表示本行为注释
!输入输出端口的变量前面需要加一个$符号 if($in1>$in2) then $out=$in1
elseif($in1<$in2) then $out=$in2 else
$out=0 Endif
Pscad有2种方法可以保存采样数据。
一是recorder,另外一种是channel save。第一种方法最为常用,也最方便,平时应用已足够了。第二种方法则在特定的情况下能发挥奇效。
先说recorder。重点讲一下其中的几个设置。
1. Recording Time Step: 必须是整数,小数位一律没用。比如说60Hz,64采样点/周波,输入260就行了,输入260.42和输入260是一个效果的。最大采样时间精度是1微妙,如果需要更小的采样周期,可以使用第二种方法。
2. Output file format:一般选RTP,或COMTRADE99。其中RTP格式简单,但是一些情况下,某些采样点会以xxxxxx保存,如果发生这种情况,把对应采样channel中的pt or ct ratio改成一个很大的值,例如10000,重新运行就可以了。COMTRADE99的格式复杂一些,但是不会出上面的错误。
3. Analog Output Maximum:现在采样要16位吧,2的16次方-1=65535。缺省的4096是12位采样精度,我感觉4095更对,设计人员少硬件知识:-(。 4. 如果某个channel之前有ct或pt模块,别忘了给相应的channel选择二次测,并填写正确的pt or ct ratio。
5. System Frequency:具体没有什么用处,50,60对数据没影响,只是会在数据文件中保留这个频率。
6. 其他的缺省值就可以了。
需要注意几点:
1. 模块外部有采样起始和终止时间的控制。仿真如果在采样终止时间之前人为终止,则数据文件是.nam的临时文件,不能解读。如果仿真在采样终止时间之前自行终止,则依然会生成正常的数据文件。
2. 如果添加recorder模块后,程序反而编译不通过,出现Runtime error的对话框,有abnormal program termination的出错信息。如果检查其他都正常,可以尝试修改Output file name,因为你的输入文件名不合适。如果添加多个recorder模块后,在仿真中间出现错误,是因为多个recorder的输出文件名相同了。你也许会说文件名是不同的,但你可以检查一下每个文件名的前8位是否相同?recorder只认前8位,后面的一律省略。
第一种方法的采样周期最小只能为1微妙,如果做行波分析,需要很大的的采样频率,例如10MHz,这时则需要第二种方法来保存采样点了。基本步骤如下: 1. 仿真桌面的output channel只关联到需要保存的量。 2. 右击project name,选择‘Project Settings’,‘Save channels to disk’选Yes。 3. 输入文件名。
4. 运行程序,会生成.out数据文件。不要和输电线参数的.out文件混了。
需要注意几点:
1. solution time step最好设置为采样周期的十分之一。如果需要10MHz的采样频率,设置为0.01。
2. channel plot step就是采样周期。如果需要10MHz的采样频率,设置为0.1。
3. 因为数据量很大,有些无用数据可以不采集。例如前0.1秒的preset阶段,这时可以考虑使用snapshot功能。
4. 当然这种方法也能替代recorder,不过个人感觉还是recorder好一些。
附件是matlab对rtp格式(.pbk文件)和comtrade格式(.cfg和.dat文件)的解读函数,我自己改编的。只在matlab7.1版本以上能用。都只处理模拟量,懒了。
使用方法如下:
data=real_comtrade('sim01'); 或 data=real_rtp('sim01');
其中sim01是数据文件,不加扩展名。返回采样数据。其他的一些采样信息在函数中均有变量表示,如果需要,可以提取相应变量。
下面内容引用了华科张志刚师兄的硕士论文。
π 型模型
当采用物理模拟时,输电线路的分布参数效应往往用多级集中参数的π 型等效电 路级联来模拟。当采用数字仿真时,有时也采用这种方法来模拟输电线路。其优点为 它不受线路参数矩阵是否平衡的限制;对感兴趣的任何一根单导线(包括地线)都可 作为多相输电线路中的一相来处里。缺点为计算效率很低,模拟一条输电线路就要耗 费很多节点,而且容易产生虚假振荡。
Bergeron 模型
输电线路的Bergeron 模型的主要思想是将分布参数的线路化为集中参数的模型 来处理,然后用集中参数电路的分析方法来研究。在雷电过电压计算中,一
般只需考虑单相导线即可,在计算操作过电压时涉及三相,但应用相模变换,可将三 相网络转变为等效的单相网络。
频率相关(模式)模型(Frequency-Dependent (Mode) model):该模型即由
J.Marti 提出的考虑频率特性的线路模型发展而来,该模型基于常量转换矩阵(Constant transformation matrix),其中的元件参数与频率相关。该模型在考虑线路换位的情况
下,采用模态技术求解线路常数。能较精确模拟理想换位导线(或两根导线水平设置) 和单根导体的系统。但在用于精确模拟交直流系统相互作用的时候该模式就不能给出 可靠的解了,另外不能准确模拟不对称的线路也是该模型的一个缺点。
频率相关(相位)模型(Frequency-Dependent (Phase) model):元件参数与 频率相关,该模型考虑了内部转换矩阵(Internal transformation matrices),在相位范 围内直接求解换位问题。可精确模拟所有结构的传输线,包括不平衡几何结构的线路。 除非有特殊的原因选取前两个模型,频率相关(相位)模型在仿真计算中,应为首选 项。该模型在世界上是最为先进和精确的传输线时域分析模型。
使用模块向导时,可以直接设定输入输出口的个数和性质,通过PAGE MODULE的选择可以选择使用建立子模块,子模块通过INport和OUTPORT与外部接口连接。 使用默认模块时,需要自己画连接线(可以通过直线设定为接口模式),自己添加接口点,同时在子模块中添加与接口添加的conection,同名的输入输出接口。 当使用电气连接接口时需要使用电气节点,注意节点的维数需要在元件编辑中改变,注意维数的匹配。
模块间的通信可以使用无线模块通信,相同名称的标号只在同一个模块内部可以使用。跨模块的相同名称标号视为不同的标号。
模块内的输出通道,可以在主模块中显示。
通常可以在主模块中给出控制信号,通过无线模块给到子模块中。子模块中的输出通道直接建立在子模块中,只在主模块中输出显示曲线。
我是通过下载的模块实例中学习制作模块的,将下载的模块打开研究下,很快就知道怎么做了!
最近在做一个课程project,在用PSCAD里的Tline搭模型的时候总是报错。 我用的是Bergeron Model Options,然后用Manual Entry of Y,Z里的data entry(ohm)手动输入线路的零序和正序阻抗,Tline的Segment-cross section如图所示。但是运行的时候总是报错“line constants error: unable to solve T-line”。 第一次用Tline,不是很熟悉,麻烦有经验的朋友帮忙解答一下。
多谢各位,已经解决了,我在Segment Edit的subpage下没有把接地参数的方框删去,导致它和Manual Input方框相互矛盾。顺便说一下,Manual Input只能用于Bergeron Model,所以其他的Model或是参数设置方框都要删去,否则就会出现上述报错,这是个很低级的错误,偶却花了好几个小时才发现,在此提醒要用到Transmission Line的朋友注意这一点。
PSCAD/EMTDC仿真流程