登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:S7 200modbus不启动的问题

点击:1226 回复:12

是这样的,最近在学习S7-200的plc,想测试一下通信功能,从书上和网上找了不少例子在一一测试,了解到HMI和200的通信一般常用两种,一种是ppi,一种是modbus
modbus之前hmi上用的比较多,所以多机时比较方便
我用威纶的屏,和200进行通信时,先用ppi测试,一切正常,可以读出来和写进去数据。
后转用modbus测试,就遇到一直通信不成功的问题,HMI一直提示PLC no response.
但是线的接法在ppi上已经连接成功了,应该就是没有问题的,与是仔细看程序
程序如下,是在网上借鉴的。
附件 1.jpg
网上是用sm0.1来使能modbus的,我用串口助手测试过,发出去命令时,返回的只有两到3个Hex码,感觉不太正常,好像是modbus没有启动,与是我用I0.2来硬性的启动它
同时我在下面用I0.0驱动Q0.0灯,这时用STEP7软件来监控程序状态。
按理说,com端口在启动modbus时,应该是ppi是通信不成功的吧,这样的话,STEP7软件应该也是不能监控到plc的状态了
但是实际上,我在闭合I0.2驱动MODBUS时,STEP7软件仍然能监控到S7 200的状态,也就是说,这时应该还是ppi数据线在通信,而不是modbus通信模式。
为什么会是这样呢?请各位前辈帮忙分析一下,多谢
最后修改:2016/8/31 8:27:07
16-08-31 00:57
附件 untitled1.jpg
附件 untitled2.jpg
附件 untitled3.jpg
附件 untitled4.jpg
你用串口调试助手发的什么命令给PLC呢?
16-08-31 03:58
读0001地址的命令,手动计算crc校验码。
16-08-31 08:15
读回来的数据正确吗?
16-08-31 08:40
只有2-3个hex,数据应该是不正确的。
刚才看了一下分配的存储区,原来分配的数太靠前了,照着您的图把存储区分配到2000往后,现在貌似可以启动modbus了。(开I0.2时,STEP 7 软件用ppi监控不了了)
可能是原来的地址有冲突。
不过现在还是不能和HMI通信上。
16-08-31 09:05
通讯不上有可能的原因是
通讯格式不对应。
16-08-31 09:14
确实是分配存储地址的问题。
现在基本上都能通讯上了,不过发现一个问题,为什么只有一根线的时候也能通讯呢,一根485-或是一根485+都可以通讯上,指示灯也显示正常,好奇怪
而且,通讯成功后,我用串口调试,发送不出去,也没有接收回来,但连hmi又正常,这是什么原因呢
16-08-31 09:35

引用 fnachille 在 2016/8/31 9:35:43 发言【内容省略】

你有串口调试助手,很主便,可以将读回来的数据分析下,MODBUS的数据格式是很有规率的!
16-09-05 13:41
按理来说是这样的,但是S7-200modbus模式下返回的格式很不正确,好奇怪。
16-09-05 21:33

引用 fnachille 在 2016/9/5 21:33:44 发言【内容省略】

我碰到过,最后发现,是两根数据线接反了!!!
16-09-07 08:32

上一页下一页

工控新闻

更多新闻资讯