西门子S7-200PLC控制器广泛应于工业控制领域,高性能和稳定是它大的优势。下面我们要把西门子的S7-200PLC连接到EMCP物联网云平台,实现PC和移动端手动实现远程监控远程监控。
1.1在对接前我们需准备如下物品
S7-200 一台(建议使用CPU226 或 CPU224 有两个串口的PLC,port1口做程序的下载和在线监视,port0做Modbus-RTU从站与GM10-DTU模块通讯)。也可以使用Smart200PLC(以下以老款200PLC做案例解说)。
河北蓝蜂科技的DTU模块一台,天线和电源适配器(以下用GM10-DTU作为实例)。
SIM卡一张,有流量,大卡(移动或联通卡)。
DP9针公头一个。
联网电脑一台(WinXP/Win7/Win8操作系统)
电工工具、导线若干。
物料准备如下;
1.2 DTU准备工作
此处参考《GM10-DTU用户使用手册》进行操作,我们需要对DTU网关(WM10-DTU网关的设置和GM10类似,以下均以GM10-DTU网关来介绍)连接天线、插上SIM卡(移动/联通流量卡,大卡)、连接12V或24V的电源适配器。
1.3 S7-200PLC准备工作
200PLC连接电源(注意电源是24VDC还是220VAC),准备一颗9针串口头(如上图),用两颗导线分别焊接的3和8引脚(200PLC系统手册中有介绍,3和8引脚为485通讯口)。此时我们将PLC prot0串口的3引脚连接GM10模块的“485A”端子,8引脚连接GM10模块的“485B”端子。
1,将200PLC经编程电脑连接到电脑上,打开Step7-MicroWin编程软件,新建工程,在主程序中添加Modbus Slave Port0功能块(MBUS_INIT,MBUS_SLAVE)
库文件
•西门子Modbus从站协议库包括两条指令:MBUS_INIT 指令和MBUS_SLAVE 指令。
•MBUS_SLAVE 指令用于为Modbus主设备发出的请求服务。
•MBUS_INIT 指令用于启用、初始化或禁止Modbus从站通讯。在使用MBUS_SLAVE 指令之前,必须正确执行MBUS_INIT 指令。指令完成后立即设定“完成”位,才能继续执行下一条指令。
MBUS_INIT、MBUS_SLAVE指令说明请参考“STEP 7-MicroWIN”软件中的帮助。
上面我们将 Modbus 保持寄存器区从 VB1000 开始(HoldStart = VB1000),并且保持寄存器为100个字(MaxHold=100),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB1000~VB1200共200个字节。
2,设置库存储区。点击菜单栏中的“文件”在下拉框中选择“库存储区分配”在打开的对话框中输入库存储区的起始地址,注意避免该地址和程序中已经采用或准备采用的其它地址重合,可以点击“建议地址”避免modbus功能块所占用的地址和程序中的寄存器地址重叠。
3、编译程序,编译无误后,通过PPI电缆将程序下载到PLC(如果PLC只有一个串口,且这个串口配置成了modbus口,那么我们在下程序时需要将PLC的运行开关扳到“stop”位置),下载完成后断电,打开程序监控查看MBUS_INIT 指令和MBUS_SLAVE 指令的“Error”引脚输出是否为正常(0位正常,其他数值为故障,请参看西门子PLC技术手册中的故障列表)。
用管理员账号登录EMCP平台,对EMCP云平台进行设置。具体操作参照《EMCP物联网云平台用户手册》。登录EMCP后首先进入设备列表显示页面,因为我们未创建任何设备,所以是一个空页面。点击右上角的“后台管理”按钮(只有管理账号才有此权限),进入EMCP平台的后台。