哈吐哈
级别: 正式会员
精华主题: 0
发帖数量: 11 个
工控威望: 94 点
下载积分: 572 分
在线时间: 4(小时)
注册时间: 2018-01-23
最后登录: 2023-07-01
查看哈吐哈的 主题 / 回贴
楼主  发表于: 2023-06-08 01:59
图片:
图片:
楼主是西门子初学者,这个帖子是记录下最近项目的一个小功能。

万用表是客户指定,型号为keysight 34465A。要求为用TCP把测量的电压值读取到PLC。这个仪表使用的是一个叫SCPI的语言。网上相关的资料很少,我也走了很多弯路,所以想写个帖子记录下来,给大家做个参考。

我的理解是,仪表所谓的SCPI语言,其实就是一种通讯协议,我们按照仪表说明书中的说明,使用TCP向仪表发送代码就可以实现我们所要的功能,所以所有使用SCPI语言的仪表都可以通过同样的方式来实现我们想要的功能。

比如这个项目我想要的是,反馈给我当前测量的电压,我就只需要使用1500用tcp给仪表发送“MEAS:VOLT:DC? ”就可以收到仪表返回的电压值,至于这个代码是怎么来的,可以看说明书的这个部分,见附件截图。当然你用别的PLC用TCP发送这个应该也是一样的。
这里说两个小坑。第一个坑,当我们发送给仪表“MEAS:VOLT:DC? ”的时候,仪表会回复两条消息,第一条是“MEAS:VOLT:DC?”也就是我们发送的指令,第二条才是我需要的电压值,具体见附件。
第二个坑,我们直接发送“MEAS:VOLT:DC? ”是不可以的,需要加换行符,最后发送的字符串是'MEAS:VOLT:DC?$R$L',这样才可以。
希望对大家有所帮助。
爱在日落之后
所有的伟大,源于一个勇敢的开始
级别: 家园常客
精华主题: 0
发帖数量: 665 个
工控威望: 702 点
下载积分: 3436 分
在线时间: 139(小时)
注册时间: 2022-07-25
最后登录: 2024-10-31
查看爱在日落之后的 主题 / 回贴
1楼  发表于: 2023-06-08 08:39
6,技术如此伟大