回复:S7-1200与单片机通过485通讯

yming

西门子1847工业学习平台

  • 帖子

    23144
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2019-11-21 11:32:48

5楼

展开查看
以下是引用手机用户20190712731749在2019-11-21 10:46:35的发言 >4楼

y版你说的对我没说清楚,硬件的接口是485的A+,B-接法;报文我测试了,报文的发送跟接受都是标准的modbus协议。功能码0x03、0x06,0x04,比如PLC的查询数据帧就是:01 04 00 65 00 0C E0 10,相对应的单片机返回来的数据帧就是:01 04 18 0C 80 0C 82 0C 7E 0C 7F 0C 81 0C 83 0C 80 0C 81 0C 82 0C 85 0C 81 0C 7D A2 FF

以下是引用yming在2019-11-19 15:40:00的发言 >3楼:485标准协议?这指的...

引用3楼详细内容:

485标准协议?这指的是硬件接口协议。

Modbus 指的是报文交换协议。是两码事儿!


以下是引用手机用户20190712731749在2019-11-19 11:47:43的发言 >2楼:单片机那边是支持48...

引用2楼详细内容:

单片机那边是支持485的标准协议的;那就是我在读取地址的时候是连续的就对应好地址长度,不连续的就把DATA_PTR改个地址,那data_ptr这里就放一个数组DB块,做个延时更改其他地址,达到分次收发不同地址这个结果是吗?

以下是引用yming在2019-11-19 11:18:35的发言 >1楼:单片机侧要支持Mo...

引用1楼详细内容:

单片机侧要支持Modbus 协议才可以。

如果它支持,那就按照协议格式读取。非连续的,可以分次读写呀。


我觉得那没问题,可以只用一个功能块。

每次DONE完成后,改变参数,然后下一次扫描触发REQ。

这个功能块,实际上是对CM模块的软件接口。每次REQ低电平变成高电平,CM模块处理一次。完成后DONE置一。

学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。