wanyou132 发表于 2010-9-11 09:05:41

搞不定S7200的自由口通讯,请高人指点,(已经搞定发送)?

搞不定S7200的自由口通讯,胡乱中搞定发送
现在不知道怎么发送

原来我做单片机的,赶鸭子上架做S7200,小白一个 清高人指教啊

给个简单的自由口例程

erxun 发表于 2010-9-11 09:08:14

参考《深入浅出S7-200》一书中自由口通讯章节

wanyou132 发表于 2010-9-12 13:33:12

我把具体的内容说一下吧

利用s7-226与深圳圣思尔电量传感器进行通讯,获取数据

其通讯报文格式如下:
(1)、功能码0x03---查询从设备寄存器内容
主设备报文
从设备地址-----------(0x01-0xFF    1字节)
功能码---------------(0x03         1字节)
起始寄存器地址-------(2字节)
寄存器个数-----------(2字节)
CRC校验码------------(2字节)

从设备正确报文
从设备地址-----------(0x01-0xFF    1字节)
功能码---------------(0x03         1字节)
数据区字节数---------(2*寄存器个数1字节)
数据区---------------(寄存器内容   2*寄存器个数字节)
CRC校验码------------(2字节)


读所有数据命令举例:
从设备地址 功能码起始寄存器地址   寄存器个数          CRC-L       CRC-H
   0x05           0x03             0x000x10             0x000x0E          0xC4       0x4F

从设备返回数据如下格式如下:
从设备地址 功能码数据区字节数      数据区[共28个]           CRC-L            CRC-H
   0x05           0x03             0x1C             0x00 0x00....0x00 0x00   CRC16校验码   CRC16校验码

上面举例的报文已经进过串口调试验证过,是正确的;
现在能用S7-226发送主设备报文,且电量传感器已经获得正确数据,
用S7200的RCV命令不能获得从设备的返回报文,

下面是我的试验程序,
S7-226自由口通讯实验ourdev_582369M13ITM.rar(文件大小:3K) (原文件名:S7200自由口实验.rar)
上面的程序里,删除发送完成中断里德接收程序,能一直发送,不然只能发送一次

现在是一点数据都都收不到,请高人指点一下,

网上 的例子都是发送的ASC码的例子

anxiangbo 发表于 2010-9-12 18:15:09

记号

wanyou132 发表于 2010-9-13 09:00:22

已经解决,网上 的例子都是发送的ASC码的例子 ,做16进制数发送的几乎没有
只要设置好SMB87或者SMB187就行了

y121519089 发表于 2011-5-30 11:30:43

记号

BUCHENZHO 发表于 2011-6-3 16:35:55

这个帖子挺好,顶一下

electricit 发表于 2011-6-3 17:14:45

点击此处下载 ourdev_645534DMK9VB.rar(文件大小:34K) (原文件名:项目MODBUS SLAVE测试.rar)

点击此处下载 ourdev_645535ACH0XM.rar(文件大小:21K) (原文件名:项目MODBUS MASTER测试.rar)


破_解的MODBUS MASTER/SLAVE源代码,可以参考,主从都可以作了,还有CRC校验,包你爽到位

liuzhizheng1234 发表于 2011-8-31 11:27:27

mark

xiaoxin_456 发表于 2011-9-18 00:13:06

利用modbus库文件 修做修改

zhichyy 发表于 2011-11-25 08:50:44

现在正在搞MODBUS通讯,谢谢了。
页: [1]
查看完整版本: 搞不定S7200的自由口通讯,请高人指点,(已经搞定发送)?