技术论坛

 使用花生棒在外网通过ModbusTCP连接内网S7-1200PLC详细步骤

返回主题列表
作者 主题
无心打扰
侠圣

经验值:2279
发帖数:359
精华帖:5
楼主    2016-03-21 09:58:12
主题:使用花生棒在外网通过ModbusTCP连接内网S7-1200PLC详细步骤 精华帖 

     一直想测试一下在外网中除了端口映射之外还有什么办法可以访问PLC,进行数据采集,因为端口映射有他的局限性,比如,我们在一个大的内网中,能够受控的路由器只有PLC系统的,如果要到上一级路由器做映射,可能完成不了。

首先,要通过一个可以上网的路由器把PLC和花生棒连接在一起,


绿色线是到PLC的,

上面的灰色线到花生棒,

接入网络工作正常的花生棒状态为绿色,如下图所示:




接入网络的PLC


PLC的IP地址设置如下:


在PLC内部编写ModbusTCP服务器程序,在缓冲区中的寄存器每秒自增加1,如果>150则归-10。

进入花生棒设置程序,设置自定义端口映射如下图

确认后,得到一个公网地址和端口号

拿到这个外网访问地址就可以进行上位机程序编写了,我采用的VS的C#来完成上位机测试程序的,程序代码如下:


为了显示几个温度,使用了MeasureMentstudio的温度显示控件。程序运行状态如下:



连接很顺利,一运行就连接上了。


觉得有点不可思议,太快了,那好吧,用wireshark监控一下,看看是什么数据,先Ping了一下地址,获取了一个真实的IP地址121.41.31.147,

启动Wireshark,得到刷屏的数据,看不懂啊,还是要加个过滤器

我们要的只有上面所述IP的数据,所以添加规则IP.des==121.41.31.147


可以看到数据了,截图了一张问询的数据和一个回复的数据,如下图

嗯,

就这样,结束,测试通过


问题:

   在运行过程中ModbusTCP客户端出现过中断的情况,考虑到花生棒采用的是免费版的,网络状态不是很好,应该不存在其他问题。


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