quote:以下是引用工作真累在2008-09-05 08:42:48的发言:
楼主,你说的siemens 例程带的modbusbus slave.exe没有FC16,只有01,02,03,04,我做过测试FC03做通过,但就是没有FC16呀?有时间把你带FC16的测试软件发给我一下,谢谢了.fh0707@sina.com
好的.
我发给你的软件有两个可执行文件,一个做主站仿真,一个做从站仿真.没有注册码之类.
这里对我前面的帖子做一点修正,以免误会,(我给你这两个软件才可以说"完全"支持所有MODBUS通讯功能测试.)
在我前面的帖子有这么一段话:“SSCOM32之类的串口实验软件完全能够实验MODBUS功能16。只要S7300设置正确,并且RS232/485转换器是CP341能够兼容的,软件SSCOM32设置HEX显示,可以看到完整的MODBUS代码(含CRC)。”
这段话的“完全”两字也许不准确。不是指SSCOM32串口实验软件可以执行功能16写命令。而是强调如果程序配置正确,利用这个软件可以看到CP341发出的第一个查询帧MODBUS代码(含CRC )。我认为,这是程序调试中一个重要环节,这个环节通过了,说明程序配置和与此有关的物理链路都正确。是一个排查问题的方法。在这个环节(包括实验了其他功能),可以看到TXD灯亮。如果连接到实际MODBUS通讯伙伴,即使是写命令,RXD灯也亮的。这是我做实验的体会,与大家分享。
4006104266的技术支持朋友曾经发信告诉我:"在CP341的参数化界面中MODBUS MASTER界面中PROTOCOL PARAMETER 选项中有REPLAY MONITORING TIME 这个选项,其作用是监控从站的响应,对于例子而言设定的是2S,如果从站能够很快的给出反馈信息则你会看到TXD灯很快的在闪烁(当然还跟程序的调用有关),如果从站在2S钟内不能给出反馈则程序会在2S后根据程序重发(2S内的其他发送对方收不到)你会看到TXD有2S的频率闪烁,如果看不到灯闪烁请检查FB8的触发条件等以及程序编辑是否有错(例如发送DB块的定义是否正确)。"
但是只要我的配置正确,我把导线拔掉,CP341照样发第一帧查询码,TXD仍然亮,我感到和他们说的不一样.这里把他们的说法和我的观察结果都列出,供各位朋友参考.