关于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

相关推荐

  • 自由口通讯故障,程序里怎么识别?

    我弄了一个S7-200和编码器自由口通讯。通讯完成并且实验。但是有时候通讯不上,读出的数值无变化。这个时候就要停机了。但是我不懂,从哪里得到故障位?SM86不等于0?还是别的什么控…

    SIMATIC S7-200 2021年7月5日
  • MP277通讯掉线

    Mp277屏和 317 通讯上后,一回儿就掉线了。下载程序正常。而且屏经过交换机后,就通讯不上了。直接和CPU317的通讯口连接,能通讯上,就是容易掉线 问题补…

    2021年7月5日
  • 伺服的速度怎么才能实时显示到触摸屏上?

    自己用向导做了个伺服控制的程序,可以加减速控制,向导里已经定好了加速、减速和目标的速度,启动运动包络后,怎样做个程序才能监控当前伺服电机的速度呢?想在触摸屏上显示出来。大家看下面的…

    SIMATIC S7-200 2020年10月31日
  • 200自由口通信关于接受与发送的同时进行

    我想问下 RCV指令在上一次接收完毕,再一次激活后(一次接受完成后是不是再需要一个边沿信号来激活RCV指令?还是只需要激活一次?),但是还处于接收等待状态的时候(即起始条…

    SIMATIC S7-200 2017年12月2日
  • s7-200数据区清零

    我要把一个vw区内容清零,长度大概200字节, 用BLKMOV必须找一块都为0的vw区,占用空间较大,是否有更好的办法,谢谢! 最佳答案 用FILL来清零 LD…

    SIMATIC S7-200 2021年7月5日
  • 我有一事不明,请高手讲解,

    为什么用usb就可以和工控机直接通讯,而使用工控机的232接口就需要买cp5611的模块呢。 最佳答案 CP5611可以用于站组态,一般使用WINCC的上位机和PLC通信采用的是C…

    SIMATIC S7-200 2020年11月1日
  • EM231问题34

    用Em231热电偶输入模块测量温度在触摸屏上显示,通电一切正常读取温度值也对,可当柜子里的一台160KW变频器一启动工作,EM231模块上的SF红灯闪亮,读取温度值也就不对了,关闭…

    SIMATIC S7-200 2017年11月1日
  • PTO运动包络

    遇到个问题,新设备使用了PTO运动包络,下载程序后,怎么才能看到PTO运动包络的具体参数呢?初学. 最佳答案 请参考:《s7-200速度包络的建立》http://wenku.bai…

    SIMATIC S7-200 2021年7月5日
  • K-TP178 如何组态时钟啊

    K-TP178 如何组态时钟啊?一定要和PLC的时钟同步,我想了半年了,始终还是搞不定啊?请尽量详细点好吗? 最佳答案 K-TP 178无内置时钟,需要同PLC…

    SIMATIC S7-200 2020年11月1日
  • 卷绕

    毕业设计,恒线速度的卷绕系统。收布辊与放布辊直径0.3m,卷绕后最大直径1.5m.线速度范围0.1m/s至0.8m/s。误差小于正负0.005m/s.我想s7-200控制两台mm4…

    SIMATIC S7-200 2021年7月5日