一准备工作。
1.1 在对接前我们需准备如下物品;
1)S7-200 一台(建议使用CPU226 或CPU224 有两个串口的PLC,1#port 做程序的下载和在线监视,0#port 做Modbus-RTU从站与GM10-DTU 模块通讯)。带编程电缆
2)USB 转232 数据线一颗(如果
电脑主机有串口那就可以免去此线)。
3) 河北蓝蜂科技的GM10-DTU 模块一台。以及配带的232 串口线,天线和
电源适配器。
4)SIM 卡一张,有流量,大卡。
5)DP9 针公头一个。
6) 联网电脑一台(WinXP/Win7/Win8 操作系统)
图1
1.2GM10-DTU准备工作
此处参考《GM10-DTU 用户使用手册》进行操作,我们需要对GM10 连接天线、插上SIM 卡(移动/联通无欠费电话大卡)、连接12V 电源适配器、连接232 调试线到电脑串口(或USB 转232串口线)。
1.3200PLC 准备工作。
200PLC 连接电源(注意电源是24VDC 还是220VAC),准备一颗9针串口头(如上图),用两颗导线分别焊接的3 和8 引脚(200 系统手册中有介绍,3 和8 引脚为485 通讯口)。
二,200PLC 从站创建。
1,将200PLC 经编程电脑连接到电脑上,打开Step7-MicroWin 编程软件,新建工程,在主程序中添加Modbus SlavePort0 功能块(MBUS_INIT,MBUS_SLAVE)
图2
库文件
•西门子Modbus从站协议库包括两条指令:MBUS_INIT 指令和MBUS_SLAVE指令。
•MBUS_SLAVE 指令用于为Modbus 主设备发出的请求服务。
•MBUS_INIT 指令用于启用、初始化或禁止Modbus 从站通讯。在使用MBUS_SLAVE 指令之前,必须正确执行MBUS_INIT 指令。指令完成后立即设定“完成”位,才能继续执行下一条指令。
图3
•EN:指令使能位。•Mode:模式选择,启动/停止Modbus从站通信。Mode 参数允许使用以下两个数值:1——启动,0——停止。
•Address:从站地址,MODBUS 从站地址,取值1~247。
•Baud:波特率,可选1200,2400,4800,9600,19200,38400,57600,115200。•Parity:奇偶校验,0=无校验;1=奇校验;2=偶校验。
•Delay:延时,附加字符间延时,缺省值为0。
•MaxIQ:最大I/Q 位,参与通信的最大I/O 点数,S7-200的I/O 映像区为128/128,缺省值为128。
•MaxAI:最大AI 字数,参与通信的最大AI 通道数,可为16 或32。
•MaxHold:设定供Modbus 地址4xxxx 使用的V 存储器中的字保持寄存器数目。
•HoldStart:保持寄存器区起始地址,以&VBx 指定(间接寻址方式)。
•Done:初始化完成标志,成功初始化后置1。
•Error:初始化错误代码。
图4
MBUS_SLAVE 指令说明:
MBUS_SLAVE 指令被用于为Modbus 主设备发出的请求服务,并且必须在每次扫描时执行,以便允许该指令检查和回答Modbus 请求。MBUS_SLAVE 指令无输入参数,在每次扫描且EN 输入开启时执行。
•EN:指令使能位。
•Done:Modbus 执行通信中时置1,无MODBUS通信活动时为0。
•Error:错误代码(同上表格)。
2,设置库存储区。
在“库存储区分配”对话框中输入库存储区的起始地址,注意避免该地址和程序中已经采用或准备采用的其它地址重合。上面我们将Modbus 保持寄存器区从VB1000 开始(HoldStart= VB1000),并且保持寄存器为100 个字(MaxHold=100),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB1000~VB1200 共200 个字节,可以点击“建议地址”跳过modbus 保持寄存区的区域,即库存储区要不在VB1000-VB1200 之内。
图5
3、编译程序,编译无误后,通过PPI 电缆将程序下载到PLC,下载完成后断电,打开程序监控查看MBUS_INIT 指令和MBUS_SLAVE 指令的“Error”引脚输出是否为正常(0 位正常,其他数值为故障,
请参看上面的故障列表)。
四,GM10-DTU 模块设置。
4.1 连接S7-200PLC 和GM10
注意:通过上面的工作,我们已经成功创建S7-200 的MODBUS 从站,此时我们将PLC prot0 串口的3 引脚连接GM10模块的“485A”端子,8 引脚连接GM10 模块的“485B”端子。
图6
4.2 配置GM10-DTU
通过GM10 随机配带的串口线一端连接GM10 端子(TXD TXD SGND),另一端连接电脑的COM 口,如果电脑没有COM 口可使USB转232 线转接。
图7
在对模块进行配置时,具体操作请参照《DTU 配置软件使用手册》,我们通过《DTU 配置软件》对GM10-DTU 进行设置的目的,一是建立一个MODBUS 主站定时采集PLC Modbus 从站寄存器中的数据。二是设置与EMCP 平台连接的参数(只需设置模块密码或默认密码111111)。此外,通过《DTU 配置软件》我们可以读取GM10-DTU 模块的运行状态,检查DTU 是否连接GPRS 网络是否正常,以及模块和PLC通讯是否正常。
图8
至图12
五,EMCP 平台设置。
用管理员账号登录EMCP 平台,对EMCP 云平台进行设置。具体操作参照《EMCP
物联网云平台用户手册V2.0》。登录EMCP 后首先进入设备列表显示页面,因为我们未创建任何设备,所
以是一个空页面。点击右上角的“用户名”下拉按钮,在弹出的窗口中点击“后台管理”进入EMCP 后台。
图13
5.1 新建数据规则
进入后台,首先显示的是设备管理,我们首先要创建一个数据规则,点击左侧的“规则管理”进入规则设置页面,点击右上角的“新增”,在弹出的窗口中点击“新增采集数据”创建前台“实时数据”页面的显示规则,点击“新增读写命令”创建前台“数据读写”页面的显示规则,创建规则如下。
图14
图15
5.2 新建设备
新建“设备”, 选择菜单“设备管理”-> “新增”新建一个设备。新建这个设备是填写设备的基本信息,1 选择设备匹配的图片(也可不选择,系统会以默认图片显示),2 绑定GM10 模块,需输入模块的SN 码和在DTU 配置软件中设置的密码(默认密码111111),3 选择上面创建的数据规则。4,点击“地图”按钮选择设备所在的地理位置。
图16
六,实验效果。
打开Step7-MicroWin 编程软件的“程序状态监控”和“状态表监控”,查看程序的运行状态和内部数据的数值显示。通过状态表我们可以查看各数据的当前值和对数据进行强制。S7-200PLC在线监视实况
如下图。
图17
图18、
用户登录EMCP 平台,点击S7-200PLC 设备的“进入设备”。首先看到的是200PLC定时采集数据的显示(实时数据),通过点击“读写数据”对200PLC 进行读写操作,点击“历史曲线”查看对定时数据采集的数据报表。显示如下
图19
图20
图21
在手机(安卓)安装《云联物通》手机APP,凭用户名和密码登录,进入设备列表后点击S7-200PLC设备,在弹出的选项框中选择“设备详情”查看设备的属性,点击“实时数据”显示设备的定时采集的各数据值,单击实时数据列表的数据行,弹出该数据的历史曲线。点击“读写数据”对读写数据进行读写操作。
图22
图23
七,其他注意事项。
7.1 设备离线的原因
1.EMCP 平台新建设备后未重启。EMCP 新增设备后都需要重启对应的GM10 模块。
2.SN 码和密码绑定错误,EMCP 平台所建设备的SN 码必须和所连GM10 模块的SN 码相同(SN
位于GM10 右侧面标签),密码必须和DTU 配置软件设置的密码相同(默认111111)。
7.2 如平台无法读取PCL 的数据的原因。
1.PLC 的Modbus 从站没有创建成功。此时我们需要通过Modscan32 主站软件对PLC 进行通讯,如果无法读取PLC 的数据那么说明PLC 的Modbus 从站没有创建成功。
2.接线错误。将PLC port0 串口的3 脚接到GM10端子的485A,8 脚接到GM10 端子的485B 上。
3.数据创建失败,检查数据规则中所创建的设备是否正确。