关于s7-200的modbus rtu 从站通讯的问题

各位老师,学长你们好!
    我刚开始接触PLC,纯属于小白,这段时间看自由口通信和modbus通信,搞得我焦头烂额的,却还是没有一点头绪。我在电脑上做了一个实验,想法:让电脑跟S7-200 PLC通过modbus协议进行通信,PLC做从站,把从站的modbus协议写道PLC上,电脑上使用串口调试软件发送一个数1,然后通过modbus协议,传送到PLC中,接收到以后点亮I0.0点(不知道这种想法是对还是错)。我用的是S7-200 226 CPU, 编程线是usb/ppi的(一头是485头,一头是USB接头)。
    以下是我做的过程,我在编程环境中编写了从站程序,并用编程线下载到了PLC中(程序在下图中,因为刚学,编写的程序对不对我自己都不知道)然后用串口调试软件发送数据1做验证,结果没有反应,在程序状态监控中显示MBUS_SLAVE的错误代码是10(从属功能没有启动),还有就是我在库存储区分配上地址设置的是VB0-VB779,在MBUS_SLAVE中的holestr位中,按理说保持寄存器不能跟库存储区相重叠,可是我在设置保持寄存器为VB0-VB779范围之内时没事儿,但是错误代码是10就是那个从属功能没有启动。超出这个范围,比如&vb1000就显示:无法建立与指定地址的连接,可能是无效地址或不存在的地址,这个时候用的是ppi编程线。我把线换成485转usb线,调到运行当,点程序状态监控显示:端口无法打开或正由另一个应用程序占用。彻底的不知道是为什么了,请来是们帮我指点一下,我的错误在那里。或者我现在想做pc跟plc的modbus协议传输该怎么实验,谢谢你们万分感激。

问题补充:
谢谢两位老师的回答,上午我弄了一下才知道,原因是我用的端口0放ppi线,在初始化modbus通信以后端口被占用,使用ppi编程线就不能在监控了,经过指点,我吧端口1放置ppi编程线,端口0设置放置485转USB的传输线,在监视程序状态时通讯显示正常了(见图)。我现在想通过MODBUS调试精灵向PLC里面发送数据却不知道怎么弄了(也上图了)。还想跟老师请教,把数据发到PLC里后数据应该存放在VW0起始的存储区中,我该怎么读取这里的数据呢,就是说怎么读出PLC里的数据,总是绕不出这个弯。

图片说明:

关于s7-200的modbus rtu 从站通讯的问题    关于s7-200的modbus rtu 从站通讯的问题    关于s7-200的modbus rtu 从站通讯的问题   

最佳答案

1、线,在PC中一定要表示为一个串口,这样子才能起先通讯实验;siemens原装的USB/PPI,在PC中表示的是一个USB设备。
2、holdstart占用的V区,不要和库内存重叠。比如你的holdstart=&VB0,数量是1000,那么VB0-VB1999都是Hold范围,库内存至少分配到VB2000以上。为什么?现在照做,等有体会后,自然就明白了。
3、发下面这串数据到PLC,有回应数据就表示成功了。
假定modbus从站地址10,读取40001一个HOLD寄存器(也就是VW0):
0A 03 00 00 00 01 85 71
(16进制格式)

提问者对于答案的评价:
谢谢!但是我还是不知道后续问题怎么解决

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午2:09
下一篇 2020年10月31日 下午2:09

相关推荐

  • 为什么Micro ‘n Power V1.3.chm不能正常显示中文

    我电脑安装的win7系统,下载Micro ‘n Power V1.3.chm无法打开。见图。请求指导。 图片说明:    最佳答案…

    2017年8月16日
  • 昆仑通态触摸屏MCGS组态软件怎么和西门子200plc变量对应

    昆仑通态触摸屏MCGS组态软件怎么和西门子200plc变量对应。我现在用笔记本电脑里MCGS组态软件来调试,请问MCGS软件里的变量怎么和PLC程序的I Q M…

    SIMATIC S7-200 2020年10月31日
  • S7-200PLC的E-Stand

    200PLC侧面的E-Stand:1 0是什么意思?同样的程序和主站,用编号10的CPU226可以通讯,编号09的就是通讯不上。程序里也不报错。 问题补充:modbus通…

    SIMATIC S7-200 2021年7月5日
  • 模拟量组态

    目标检测温度 输入4~20mA 用S7-200组态,输入模块选EM231,如何编程,才能在触摸屏的棒图上显示温度的变化. 问题补充:谢谢各位的指点和帮助。因为时…

    SIMATIC S7-200 2020年11月5日
  • S7-200与三八译码器的应用

    毕业设计中原本设计使用40个输入接口来确定车位是否有车,老师说最好用2个三八编码器,这样只需要控制6个输入端口,可是三八编码器应该怎么用啊?各位大神,萌新求助。 最佳答案 你是不是…

    SIMATIC S7-200 2021年7月5日
  • step7 microwin提示“从plc接受数据时发生错误”

    用pc adapter usb 适配器(972-0cb0-0xa0)与 226cn正常连接,但是有一段程序,如图下载之后无法正常监控,总是提…

    2020年10月31日
  • TD400C 文本菜单显示问题

    在TD400C使用过程中,有时会出现最后一个文本菜单最后一个屏幕无法正常显示,总是显示正在初始化,然后屏幕就返回第一个文本菜单的第0个屏幕,没查出什么原因,不知大家有没有遇到,需要…

    SIMATIC S7-200 2021年7月5日
  • s7200 模拟量输入模块 干扰如何解决

    我公司有台设备,s7200 的系统,有模拟量输入模块,有台电机做成了工频 变频切换,在工频运行下,模拟量输入模块一切正常,当切换到变频方式下,有几个模拟输入点的…

    SIMATIC S7-200 2017年6月27日
  • em253请教

    用em253能否实现以下功能:向一个方向运动一定长度,如果运动中出现一个信号(不是每次都出现),立即反向运动到起点 最佳答案 1.  可以实现。 2.…

    SIMATIC S7-200 2021年7月4日
  • S7200定时器1ms、10ms、100ms刷新区别

    书上有关问题我不太明白:如下几个。 一、1ms定时器只要到了一毫秒就会刷新一次,如果扫描周期是20ms,则定时器会刷新20次,那么说这个定时器是最好用的,只要不少于1ms…

    SIMATIC S7-200 2020年11月5日