nomashe123
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看nomashe123的 主题 / 回贴
楼主  发表于: 2010-06-02 16:36
我用VB跟FX1N通讯,如(发送置位Y7指令过去),PLC  Y7没有动作,用串口调试助手则正常实现,各位可否指点一二?
对Y7的强制ON指令:02 37 30 37 30 35 03 30 36
请问在VB里面该怎么实现呢?
我自己用VB编写了一个台达的,可以实现
nomashe123
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看nomashe123的 主题 / 回贴
1楼  发表于: 2010-06-03 09:07
首先,谢谢大家的帮助和关心,刚才我用串口调试助手发现,如果串口调试助手设置是16进制显示则正常,如果不是的话,出现跟VB上一样的情况,一堆符号。所以,我猜想是不是VB里面需要将接受的数据转换成16进制显示?
nomashe123
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看nomashe123的 主题 / 回贴
2楼  发表于: 2010-06-03 09:55
问题解决了,谢谢各位,尤其是3楼。
说下我的情况:串口调试里面发送02 37 30 37 30 35 03 30 36,情况正常
但是在VB里面发送应该表示为 Chr(2) + "70705" + Chr(3) + "06"
我在VB里面也是发送02 37 30 37 30 35 03 30 36,显示得到
忽视了我做台达的部分经验了,呵呵
串口调试助手发送的是ASCII的16进制数
而VB发送的是直接的ASCII码
为什么是这样的?
是MSCOMM控件本身这样设置的吗?