- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我和我的团队是 Kollmorgen AKD Basic 电机驱动的新手,并且是第一次使用 LabVIEW 的 TCP/IP 协议(protocol)接口(interface)来使用该驱动器。
我们可以成功写入/设置各种变量,但在从驱动器读取设置和变量时遇到问题。我们面临的问题是因为我们没有为特定命令从 Kollmorgen AKD Basic 驱动器中读取确切的字节数。 Kollmorgen AKD Basic 驱动器写入和返回的实际字节数与记录的不同。例如根据 Kollmorgen AKD Basic 驱动器文档,读取存储在 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 个字节。
这也发生在所有其他变量上。真正的问题是我在运行时不知道一个变量到底有什么值,也不知道要获得完整的值我需要读取多少字节。我相信我不是第一个遇到这个问题的人,并且会有办法克服它。所以求助经验丰富的高手。请告诉我。
感谢和问候,
桑迪普
最佳答案
我没有使用该特定设备的经验,但一般来说,如果它没有返回已知数量的字节,那么您基本上只能一次读取一个字节,直到看到终止符。
在 CRLF 的特定情况下,您可以使用模式输入将 TCP 读取原语配置为使用终止模式,所以我相信这应该适用于您的情况,但我自己从未尝试过。
关于labview - 在 LabVIEW 中使用 TCP/IP 协议(protocol)集成 KollMorgen AKD Basic 电机驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21144769/
我和我的团队是 Kollmorgen AKD Basic 电机驱动的新手,并且是第一次使用 LabVIEW 的 TCP/IP 协议(protocol)接口(interface)来使用该驱动器。 我们可
我是一名优秀的程序员,十分优秀!