首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用KollMorgen /IP协议在LabVIEW中集成AKD基本电机驱动

利用KollMorgen /IP协议在LabVIEW中集成AKD基本电机驱动
EN

Stack Overflow用户
提问于 2014-01-15 17:52:57
回答 4查看 928关注 0票数 0

我本人和我的团队是新的Kollmorgen基本电机驱动器,并正在与此驱动器第一次使用TCP/IP协议接口与LabVIEW。

我们可以成功地编写/设置各种变量,但是在从驱动器读取设置和变量时会遇到问题。我们面临的问题是,我们没有从特定命令的Kollmorgen基本驱动器读取确切的字节数。由Kollmorgen基本驱动器写入并返回的实际字节数与记录的不同。例如,根据Kollmorgen基本驱动器文档,读取存储在USER.INT6变量中的值的请求应该写回一个DWORD或4个Octates。如果USER.INT6变量包含1的值,则在读取4个字节时得到‘{CR}{LF}-’的值。如果我尝试读取8个字节,则得到‘{CR} {LF} ->1{CR}{LF}’,其中{CR}是‘回车’字符,{LF}是‘行提要’字符。如果USER.INT1包含值为100,则在读取8个字节时得到‘{CR}{LF}->100’的值。因此,如果USER.INT6包含1000个值,那么我必须读取9个字节。

这也发生在所有其他变量上。真正的问题是,在运行时,我不知道一个变量的确切值是多少,要获得完整的值,我需要读取多少字节。我相信我不是第一个面对这个问题的人,而且会有办法克服这个问题。所以寻求经验丰富的专家的帮助。请让我知道。

感谢并致以问候

桑迪普

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-15 22:20:39

我建议将TCP/IP读取模式从标准更改为CRLF,我有一种感觉,您的设备用CRLF字符串终止消息。如果您插入足够大的字节数来读取(例如。20),它将尝试读取所有这些字节,或直到接收到CRLF组合体为止。

你能把显示改为HEX吗,我觉得你的->实际上是响应中的字节数。

如果你贴出你的代码,会有帮助的!

票数 1
EN

Stack Overflow用户

发布于 2014-01-15 19:24:25

我对这个特定的设备没有经验,但是一般来说,如果它不返回已知的字节数,那么基本上就是每次读取一个字节,直到看到终止符为止。

在CRLF的具体情况下,您可以使用模式输入配置TCP读取原语来使用终止模式,所以我认为这在您的情况下应该有效,但我自己从未尝试过。

票数 2
EN

Stack Overflow用户

发布于 2014-01-15 22:09:03

从快速浏览Kollmorgan站点看,这个驱动器使用的是Modbus TCP/IP。我建议使用LabVIEW Modbus库http://sine.ni.com/nips/cds/view/p/lang/en/nid/201711

查看Wiki上的Modbus以学习规范http://en.wikipedia.org/wiki/Modbus

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21144769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档