是德科技
直播中

王平

7年用户 1350经验值
私信 关注
[问答]

怎么在N9010A上通过SCPI传输状态文件

我通过SCPI将状态文件从EXA传输到我的工作站,但是当我使用SMB使用smbclient进行传输时,文件与同一文件不匹配。
当我复制文件并使用“调用状态”时,EXA表示它已损坏。
我在perl中使用LAN接口。
比较我可以看到的两个文件(至少)前16个中的6个字节是不同的。
Register001.state是使用smbclient获取的文件(我可以将其打包并且它可以工作),test.state是使用SCPI传输的。
test.state文件中缺少第一行中的4 0xff。
我使用wireshark监控传输,EXA不发送数据。
我正在使用SCPI命令“mmem:data?”D:\ User_My_Documents \ Instrument \ My Documents \ system \ Register001.state “ r  n”来传输文件。
有没有我做得不对的东西?
[roger @ lab-bunny-1吃] $ hexdump -C Register001.state |
head 00000000 00 01 00 00 00 ff ff ff ff 01 00 00 00 00 00 00 | ................ |
00000010 00 04 01 00 00 00 1c 53 79 73 74 65 6d 2e 43 6f | ....... System.Co |
00000020 6c 6c 65 63 74 69 6f 6e 73 2e 48 61 73 68 74 61 | llections.Hashta |
00000030 62 6c 65 07 00 00 00 0a 4c 6f 61 64 46 61 63 74 | ble ..... LoadFact |
00000040 6f 72 07 56 65 72 73 69 6f 6e 08 43 6f 6d 70 61 | or.Version.Compa |
00000050 72 65 72 10 48 61 73 68 43 6f 64 65 50 72 6f 76 | rer.HashCodeProv |
00000060 69 64 65 72 08 48 61 73 68 53 69 7a 65 04 4b 65 | ider.HashSize.Ke |
00000070 79 73 06 56 61 6c 75 65 73 00 00 03 03 00 05 05 | ys.Values ....... |
00000080 0b 08 1c 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 | ... System.Collec |
00000090 74 69 6f 6e 73 2e 49 43 6f 6d 70 61 72 65 72 24 | tions.IComparer $ |
[roger @ lab-bunny-1吃] $ mv data.file test.state [roger @ lab-bunny-1 ate] $ hexdump -C test.state |
head 00000000 00 01 00 00 00 01 00 00 00 00 00 00 00 04 01 00 | ................ |
00000010 00 00 1c 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 | ... System.Collec |
00000020 74 69 6f 6e 73 2e 48 61 73 68 74 61 62 6c 65 07 | tions.Hashtable。
00000030 00 00 00 4c 6f 61 64 46 61 63 74 6f 72 07 56 65 | ... LoadFactor.Ve |
00000040 72 73 69 6f 6e 08 43 6f 6d 70 61 72 65 72 10 48 | rsion.Comparer.H |
00000050 61 73 68 43 6f 64 65 50 72 6f 76 69 64 65 72 08 | ashCodeProvider。
00000060 48 61 73 68 53 69 7a 65 04 4b 65 79 73 06 56 61 | HashSize.Keys.Va |
00000070 6c 75 65 73 00 00 03 03 00 05 05 0b 08 1c 53 79 | lues .......... Sy |
00000080 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 | stem.Collections |
00000090 2e 49 43 6f 6d 70 61 72 65 72 24 53 79 73 74 65 | .IComparer $ Syste |

以上来自于谷歌翻译


     以下为原文

  I transferred a state file from the EXA to my work station via SCPI but the file does not match the same file when I transfer using SMB using smbclient. When I copy the file back and use 'recall state' the EXA says it is corrupted.

I am using the LAN interface in perl. Comparing the two files I can see (at least) the 6 bytes in the first 16 are different.

The Register001.state is the file fetched with smbclient (which I can put pack and it works), test.state was transferred using SCPI. The 4 0xff in the first line are missing in the test.state file.

I used wireshark to monitor the transfer and the EXA is not sending the data.

I am using the SCPI command "mmem:data? "D:\User_My_Documents\Instrument\My Documents\system\Register001.state"rn" to transfer the file.

Is there something I am not doing correctly?  


[roger@lab-bunny-1 ate]$ hexdump -C Register001.state | head
00000000  00 01 00 00 00 ff ff ff  ff 01 00 00 00 00 00 00  |................|
00000010  00 04 01 00 00 00 1c 53  79 73 74 65 6d 2e 43 6f  |.......System.Co|
00000020  6c 6c 65 63 74 69 6f 6e  73 2e 48 61 73 68 74 61  |llections.Hashta|
00000030  62 6c 65 07 00 00 00 0a  4c 6f 61 64 46 61 63 74  |ble.....LoadFact|
00000040  6f 72 07 56 65 72 73 69  6f 6e 08 43 6f 6d 70 61  |or.Version.Compa|
00000050  72 65 72 10 48 61 73 68  43 6f 64 65 50 72 6f 76  |rer.HashCodeProv|
00000060  69 64 65 72 08 48 61 73  68 53 69 7a 65 04 4b 65  |ider.HashSize.Ke|
00000070  79 73 06 56 61 6c 75 65  73 00 00 03 03 00 05 05  |ys.Values.......|
00000080  0b 08 1c 53 79 73 74 65  6d 2e 43 6f 6c 6c 65 63  |...System.Collec|
00000090  74 69 6f 6e 73 2e 49 43  6f 6d 70 61 72 65 72 24  |tions.IComparer$|
[roger@lab-bunny-1 ate]$ mv data.file test.state
[roger@lab-bunny-1 ate]$ hexdump -C test.state | head
00000000  00 01 00 00 00 01 00 00  00 00 00 00 00 04 01 00  |................|
00000010  00 00 1c 53 79 73 74 65  6d 2e 43 6f 6c 6c 65 63  |...System.Collec|
00000020  74 69 6f 6e 73 2e 48 61  73 68 74 61 62 6c 65 07  |tions.Hashtable.|
00000030  00 00 00 4c 6f 61 64 46  61 63 74 6f 72 07 56 65  |...LoadFactor.Ve|
00000040  72 73 69 6f 6e 08 43 6f  6d 70 61 72 65 72 10 48  |rsion.Comparer.H|
00000050  61 73 68 43 6f 64 65 50  72 6f 76 69 64 65 72 08  |ashCodeProvider.|
00000060  48 61 73 68 53 69 7a 65  04 4b 65 79 73 06 56 61  |HashSize.Keys.Va|
00000070  6c 75 65 73 00 00 03 03  00 05 05 0b 08 1c 53 79  |lues..........Sy|
00000080  73 74 65 6d 2e 43 6f 6c  6c 65 63 74 69 6f 6e 73  |stem.Collections|
00000090  2e 49 43 6f 6d 70 61 72  65 72 24 53 79 73 74 65  |.IComparer$Syste|  

回帖(1)

王平

2019-6-24 16:22:29
谢谢你的回复。
我已经删除了SCPI标题'#'并且我读回了正确的字节数。
我遇到的问题是状态文件中的0xff字节不会从EXA传输。
我做了一个网络跟踪(使用wireshark),他们永远不会被发送。
我相信0xff是telnet转义序列的起始字节。
我连接到分析仪上的端口5023以与SCPI协议通信 - 这个端口是否会删除telnet转义序列?
如果是这样,有更好的方法连接到SCPI协议接口?

以上来自于谷歌翻译


     以下为原文

  Thanks for the response.

I already remove the SCPI header '#' and I read back the correct number of bytes. The problem I have is that the 0xff bytes in the state file do not get transmitted from the EXA. I did a network trace (using wireshark) and
they are never sent. I believe that the 0xff is the start byte of a telnet escape sequence.

I am connecting to port 5023 on the analyser to communicate with the SCPI protocol - would this port be removing the
telnet escape sequences? and if so is there a better way to connect to the SCPI protocol interface?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分