完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我正在尝试使用两个6812B(我需要两相120°phasehift)编程杂色瞬态列表。
每个变体应用100次此时我无法同步两个6812B ......两个瞬态列表几乎同时开始(delta为1-3ms)。 但是当我使用新参数更新瞬态列表时,瞬态列表不再是同步的。 值是相同的,但每次瞬态更新后都会有不同的时移。 我想我的触发器失败了,但我无法解决这个问题。 有没有一种简单的方法来同步两个电源? 非常感谢你的帮助。 迎接,马丁编辑:我发现,有时我的“奴隶”6812B的起点比“大师”早一点...添加了一些图片编辑:MartinKl于2012年3月15日上午3:40 Asynchron_start.tif15。 6 KBAsynchron_end.tif15.0 KB 以上来自于谷歌翻译 以下为原文 Hi there, i´m trying to program a variegating transient list with two 6812B (i need two phases 120° phaseshift). Each variant to be applied 100 times At the moment i´m not able to synchonize the two 6812B... Both transient lists starts at almost the same time (delta is 1-3ms). But when i update the transient list with new parameters, the transient lists are not synchrone anymore. the values are the same, but theres a different timeshift after every transient update. I think i have a failure with the trigger, but i can´t solve this problem. Is there a easy way to synchronize two power supplies? Thanks a lot for your help. greets, Martin EDIT: I found out, that sometimes the startpoint of my "Slave" 6812B is a bit earlyer than the "master"... added some pictures Edited by: MartinKl on Mar 15, 2012 3:40 AM 附件
|
|
相关推荐
4个回答
|
|
嗨,我了。
现在两个瞬态是同步的,但是相移仍然在变化。 有人可以帮我解决这个问题吗? 非常感谢。 马丁 以上来自于谷歌翻译 以下为原文 Hi, me again. Now the two transients are synchron, but the phaseshift is still changing. Can anybody help me please with this problem? Thanks a lot. Martin |
|
|
|
嗨Martin,控制交流电源时序的振荡器有一个固有的不准确性。 您所看到的是这种不准确性在一段时间后会出现并且波形不同步。 你能否为我回答几个问题:1。你是否从连接到另一个触发器的触发器中取出了触发器? 2.您能提供用于生成脉冲的仪器命令序列吗? 我不能对此解决方案作出任何承诺,因为我从未做过,但我确实有一个想要探索的想法。 马特 以上来自于谷歌翻译 以下为原文 Hi Martin, The oscillator that controls the timing in the AC Source has an inherent inaccuracy to it. What you are seeing is this inaccuracy build up after a while and the waveforms are getting out of sync. Can you answer a few questions for me: 1. Do you have the trigger out from one connected to the trigger in of the other? 2. Can you provide the sequence of instrument commands that you use to generate your pulses? I can't make any promises on a solution for this as I have never done it but I do have an idea that I would like to explore. Matt |
|
|
|
张友芬1 发表于 2019-7-24 13:32 嗨,马特,你的问题:+1。 你是否有一个连接到另一个触发器的触发器?+ - 是。 因为我写了“大师”和“奴隶”+2。 您能提供用于生成脉冲的仪器命令序列吗?+ - 确定。 我非常高兴你的帮助,希望你的想法;-)“instr”是我的主电源; “instr2”我的奴隶(只是一个同义词)// ###################################### ############ //触发设置// ################################ ################## //此命令启用或禁用交流源触发输出信号,该信号在BNC viPrintf中可用(instr,“OUTPut:TTLTrg:STATe ON n”) ; // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > OUTP:TTLT:STATe ON n”); viPrintf(instr2,“OUTPut:TTLTrg:STATe ON n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > OUTP:TTLT:STATe ON n”); //选择触发信号viPrintf的信号源(instr,“OUTP:TTLTrg:SOURce BOT n”); //'B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' viPrintf(instr2,“OUTP:TTLTrg:SOURce LIST n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > OUTP:TTLT:SOURce LIST n”); viPrintf(instr2,“TRIGger:TRANsient:SOURce EXTernal n”); //触发IN是触发源// SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:TRAN:SOUR EXTernal n”); //已经设置为BOT // viPrintf(instr,“LIST:TTLT ON,OFF,OFF,OFF,OFF n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > LIST:TTLT ON,OFF,OFF,OFF,OFF,OFF n”); viPrintf(instr2,“LIST:TTLT OFF,ON,OFF,OFF,OFF n”); //在Transient // SetCtrlVal的第二个点触发OUT(wndMain,WND_MAIN_Cmd_Viewer,“ - > LIST:TTLT OFF,ON,OFF,OFF,OFF,OFF n”); viPrintf(instr,“TRIG:SYNC:SOUR PHASE n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:SYNC:SOUR PHASE n”); viPrintf(instr2,“TRIG:SYNC:SOUR PHASE n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:SYNC:SOUR PHASE n”); viPrintf(instr,“TRIG:SYNC:SOUR 0.0 n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:SYNC:PHAS 0.0 n”); viPrintf(instr2,“TRIG:SYNC:SOUR 0.0 n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:SYNC:PHAS 0.0 n”); viPrintf(instr,“TRIG:TRAN:DEL 0 n”); //触发后没有DELay // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:TRAN:DEL 0 n”); viPrintf(instr2,“TRIG:TRAN:DEL 0 n”); //触发后没有DELay // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:TRAN:DEL 0 n”); viPrintf(instr,“TRIG:TRAN:SOUR BUS n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:TRAN:SOUR BUS n”); viPrintf(instr2,“TRIG:TRAN:SOUR EXT n”); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,“ - > TRIG:TRAN:SOUR EXTernal n”); // ################################################ ## +更改瞬态i发送以下参数:+ for(float t1 = 0.08; t1SYST:ERR? n“); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,buf); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,” n“); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,” - > LIST:DWEL 0.1,t1,0.01,0.01,0.74,0.1 n“); viPrintf(instr,”LIST:VOLT:SLEW 9.9e + 037, %f,9.9e + 037,%f,9.9e + 037 n“,(115 / t1),(115 / t3)); viPrintf(instr2,”LIST:VOLT:SLEW 9.9e + 037,%f, 9.9e + 037,%f,9.9e + 037 n“,(115 / t1),(115 / t3)); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,” - > LIST:VOLT:SLEW 9.9e + 037, 11500,9.9e + 037,11500,9.9e + 037,9.9e + 037 n“); // ######################### ################################################## ######################## viPrintf(instr,“INIT:IMM:SEQ1 n”); viPrintf(instr2,“INIT:IMM:SEQ1 n“); // SetCtrlVal(wndMain,WND_MAIN_Cmd_Viewer,” - > INIT:IMM:SEQ1 n“); viPrintf(instr,”INIT:IMM:SEQ3 n“); viPrintf(instr2,”INIT:IMM:SEQ3“ n“); // SetCtrlVal(wndMain,WND_ MAIN_Cmd_Viewer,“ - > INIT:IMM:SEQ3 n”); 延迟(1); viPrintf(instr,“TRIG:IMM n”); LabCVI中的+是tabstops,不像这里。 这是一个复制粘贴问题... +问候,马丁 以上来自于谷歌翻译 以下为原文 Hi Matt, to your questions: +1. Do you have the trigger out from one connected to the trigger in of the other?+ - Yes. Because of that i wrote "Master" and "Slave" +2. Can you provide the sequence of instrument commands that you use to generate your pulses?+ - sure. I´m very happy about your help and hopefully for your idea ;-) "instr" is my Master Power-Supply; "instr2" my Slave (just a synonym) //################################################## // Trigger Settings //################################################## // this command enables or disables the ac source trigger out signal which is aviable atBNC viPrintf(instr,"OUTPut:TTLTrg:STATe ON n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->OUTP:TTLT:STATe ON n"); viPrintf(instr2,"OUTPut:TTLTrg:STATe ON n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->OUTP:TTLT:STATe ON n"); // selects the signal source for the trig out signal viPrintf(instr,"OUTP:TTLTrg:SOURce BOT n"); //'B'eginging 'O'f 'T'ransient OUTPut //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->OUTP:TTLT:SOURce BOT n"); viPrintf(instr2,"OUTP:TTLTrg:SOURce LIST n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->OUTP:TTLT:SOURce LIST n"); viPrintf(instr2,"TRIGger:TRANsient:SOURce EXTernal n"); //Trigger IN is Trigger Source //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:TRAN:SOUR EXTernal n"); // already set to BOT //viPrintf(instr,"LIST:TTLT ON,OFF,OFF,OFF,OFF n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->LIST:TTLT ON,OFF,OFF,OFF,OFF,OFF n"); viPrintf(instr2,"LIST:TTLT OFF,ON,OFF,OFF,OFF n"); // Trigger OUT at second point of Transient //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->LIST:TTLT OFF,ON,OFF,OFF,OFF,OFF n"); viPrintf(instr,"TRIG:SYNC:SOUR PHASE n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:SYNC:SOUR PHASE n"); viPrintf(instr2,"TRIG:SYNC:SOUR PHASE n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:SYNC:SOUR PHASE n"); viPrintf(instr,"TRIG:SYNC:SOUR 0.0 n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:SYNC:PHAS 0.0 n"); viPrintf(instr2,"TRIG:SYNC:SOUR 0.0 n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:SYNC:PHAS 0.0 n"); viPrintf(instr,"TRIG:TRAN:DEL 0 n"); // no DELay after Trigger //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:TRAN:DEL 0 n"); viPrintf(instr2,"TRIG:TRAN:DEL 0 n"); // no DELay after Trigger //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:TRAN:DEL 0 n"); viPrintf(instr,"TRIG:TRAN:SOUR BUS n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:TRAN:SOUR BUS n"); viPrintf(instr2,"TRIG:TRAN:SOUR EXT n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->TRIG:TRAN:SOUR EXTernal n"); //################################################## +to change the transient i send the following parameters:+ for (float t1 = 0.08; t1SYST:ERR? n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, buf); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->LIST:DWEL 0.1, t1 , 0.01, 0.01 , 0.74, 0.1 n"); viPrintf(instr,"LIST:VOLT:SLEW 9.9e+037, %f, 9.9e+037, %f, 9.9e+037 n", (115/t1), (115/t3)); viPrintf(instr2,"LIST:VOLT:SLEW 9.9e+037, %f, 9.9e+037, %f, 9.9e+037 n", (115/t1), (115/t3)); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->LIST:VOLT:SLEW 9.9e+037, 11500, 9.9e+037, 11500, 9.9e+037,9.9e+037 n"); //################################################################################################### viPrintf(instr,"INIT:IMM:SEQ1 n"); viPrintf(instr2,"INIT:IMM:SEQ1 n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->INIT:IMM:SEQ1 n"); viPrintf(instr,"INIT:IMM:SEQ3 n"); viPrintf(instr2,"INIT:IMM:SEQ3 n"); //SetCtrlVal (wndMain, WND_MAIN_Cmd_Viewer, "->INIT:IMM:SEQ3 n"); Delay(1); viPrintf(instr,"TRIG:IMM n"); +in LabCVI are tabstops, not like here. This is a copy paste problem...+ greets, Martin |
|
|
|
你的程序看起来不错。 问题在于瞬态系统不是100%准确,并且两个交流电源之间不一样。 在每个周期之后,波形失去一点相位同步。 我们需要找到一种在每个波形后重新同步的方法,并将触发器发送到从属单元。 一种想法是将从属单元设置为“LIST:STEP ONCE”并从主单元运行它的触发器。 您需要添加一些虚拟步骤以保持正确的时间,但这可能会起作用。 一个问题:你有两个AC SOurces的输出连接在一起还是它们挂钩到不同的东西? 以上来自于谷歌翻译 以下为原文 Your program looks good. The issue is that that transient system is not 100% accurate and is not the same between the two AC Sources. After every cycle the waveform loses a bit of the phase synchronization. We need to find a way to resync after each waveform and to send a trigger out to the slave unit. One idea would be to set the slave unit to "LIST:STEP ONCE" and run it off triggers from the master unit. You would need to add in some dummy steps in order to keep the timing right but this might work. One question: do you have the outputs of the two AC SOurces hooked together or are they hooked to different things? |
|
|
|
只有小组成员才能发言,加入小组>>
1221 浏览 0 评论
2346 浏览 1 评论
2155 浏览 1 评论
2021 浏览 5 评论
2900 浏览 3 评论
964浏览 1评论
关于Keysight x1149 Boundary Scan Analyzer
700浏览 0评论
N5230C用“CALC:MARK:BWID?”获取Bwid,Cent,Q,Loss失败,请问大佬们怎么解决呀
800浏览 0评论
1223浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 10:25 , Processed in 1.561392 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号