S7-200PLC的modbus通信

各位大侠你们好,小弟最近在研究S7-200PLC与单片机之间的modbus通信,PLC作为主站,单片机作为从站。对于PLC向单片机写数据,可以调用它自己的modbus库函数,将数据发送出去。但是单片机反馈回来的数据我通过啥指令接收呢,最好可以给我一个例程。谢谢

问题补充:
S7-200 PLC的读写我晓得,但是我想知道的是如果从站有数据发送给主站PLC,PLC如何接收这些数据

最佳答案

其实S7-200的modbus通讯是用的200PLC的自由口通讯功能。也可以自己编程序。西门子网站上也有现成的modbus通讯库。
至于接收的问题:因为自由口的通讯是建立在RS-485接口上的,所以它只是半双工的。如果是自己编程的话就是在程序中这样写:在使能发送时关闭接收,然后在发送完成后打开接收(这是因为接收有延迟,在不发送的时候要保证接收是使能的)。用modbus库要方便的多,但要定义好接收到的数据的存储地址。

提问者对于答案的评价:
自由口我也编写过,也实现了,现在用modbus连接,经过几天的了解,我发现,PLC通过库函数读写从站的数据都是在他发送命名完成以后,并且那时间有限。谢谢了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:20
下一篇 2020年11月1日 下午3:20

相关推荐

  • pid模块无扰切换

    加热设备不同工况适合的pid不同,如何在程序中实现根据不同工况可以自动切换到对应的pid模块,切换的过程又不会产生剧烈扰动,举例而言,计算得出需要30%-100%功率输出时,采用p…

    SIMATIC S7-200 2021年7月5日
  • 自由口通信串口冲突

    我下载西门子自由口与超级终端的通信视频和标准程序,我是用笔记本电脑操作的,只有Usb接口所以我买了一条Usb转232的接口,电脑显示COM4!在建立超级终端时,选择COM4无法建立…

    2021年7月5日
  • S7-200与梅特勒托利多仪表MODbus通讯问题

    小弟有一块梅特勒托利多仪表IND331需要与PLC通讯读取显示重量值仪表上有两种输出方式,标准连续输出如图1,扩展连续输出如图2,我想读取的重量值是带符号的,现在不知道读取的地址应…

    2017年11月26日
  • s7-224xp看门狗的时间可以设定吗

    再用s7-224xp进行数据处理是,总体是看门狗故障,看门狗的时间可以设定吗? 最佳答案 当出现报警WDR(看门狗)信息时,只需要在程序合适的位置重新触发S7-200 C…

    SIMATIC S7-200 2017年6月7日
  • 用s7-200 PID做一个实验用反应釜电加热控制。很有难度的!

    用s7-200 PID做一个实验用反应釜电加热控制,要求加热时间可根据被加热液体的量做时间的设定,比如说有一升水,加热到100度,我可以自己设定加热的时间,我可以设定成1…

    2018年12月5日
  • 博图编译后报错

    博图1200plc添加二个分站 一个ET200SP和et200MP 编译后报错 如下图 问题补充:这个是图 图片说明:    最佳…

    2021年7月5日
  • 200PLC最新编程电缆

    今天收到西门子原装200PLC最新编程电缆,订货号和旧的一样,6ES7901-3CB30-0XA0 没有了中间的232/485一大块,全集成在232口一端,看上去还以为普…

    SIMATIC S7-200 2021年7月5日
  • wincc 和s7-200通讯

    1.wincc 和s7-200通讯,想通过s7-200挂以太网模块,这种方式可以实现吗?连接的s7-200的PLC有3个。2.有没有相关的资料参考一下 最佳答案 1、按下…

    SIMATIC S7-200 2017年11月6日
  • 请问有什么方法可以知道当前数字输出的个数

    就是比如说,当前Q0.0和Q0.1有输出,知道是2点输出,有没有寄存器有记录这个值,自己写可以,但是当输出点多了就麻烦了,Q0.0和Q0.1和Q0.4有输出,有哪个寄存器知道当前输…

    2021年7月5日
  • PLC 以太网模块

    c#写的软件和PLC可以通讯上。我看老外的图纸CPU旁边全都加以太网模块。这样做的目的是什么? 问题补充:CPU自带以太网口 最佳答案 200 本体只有 PPI…

    SIMATIC S7-200 2021年7月5日