Siemens S7-200与ADAM-4118通过modbus协议的连接

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Siemens S7-200与ADAM-4118(modbus)的连接
研华IAG FAE
高茜
2012-6
一、前言
Siemens S7-200CN是西门子公司出品的小型PLC,适用于各种场合的检测、监测及控制的自动化。

CPU 221~226等各种类型的CPU,具有不同的电源电压和控制电压、数字量输入/输出点。

ADAM-4118是研华公司出品的16位A/D、8通道的RS-485热电偶输入模块,可以采集电压、电流热电偶等模拟量输入信号,它支持多种热电偶类型(Type J, K, T, E, R, S, B),支持8路差分信号输入以及MODBUS RTU通讯协议
二、软硬件配置
1.软件环境
1)Siemens 编程软件:Step 7-Micro/WIN V4.0.6.35
2)Siemens Modbus 通讯 RTU协议库文件(包含库文件、说明文档、例程)
3)ADAM-4118配置软件:AdamApax .NET Utility Ver 2.03.17
2.硬件设备
1)笔记本电脑一台,XP SP3操作系统
2)Siemens S7-200一台,型号:CPU 224XP CN REL 02.01
3)ADAM-4118一片
4)ADAM-4520一片(RS-232 to 485转换器),串口直连线一根
5)24V直流电源一台,
6)220V电源线一根(CPU 224XP为AC供电型号)
7)Siemens USB编程电缆一根(Siemens S7-224另购配件)
8)改锥,线缆若干。

三、系统构建
1.系统架构图
RS-485(modbus)ADAM-4118
PC机与S7-224之间通过USB 编程电缆连接,PC机端使用USB端口,连接到S7-224的Port0。

通过Step 7-Micro/WIN软件进行编程开发。

S7-224通过Port1与ADAM-4118的RS-485口相连。

ADAM-4118的RS-485通讯口为接线端子形式,而S7-224的RS-485口为DB-9形式,此时使用研华的ADAM-3909进行转换连接。

将ADAM-4118的DATA+接到S7-224
的3pin上,将ADAM-4118的DATA-接到
S7-224的8pin上。

2.ADAM-4118的接线
ADAM-4118出厂为Advantech协议,地址为1,需要通过AdamApax .NET Utility修改其协议为modbus协议,修改其地址为需要的数值,修改其热电偶为需要的类型(默认K type)
ADAM-4118连接电脑示意图如下。

要修改其协议,需要先将模块右侧的拨码开关拨至“INIT”状态,修改完毕后再拨回“Normal”正常使用。

更多关于ADAM-4118的使用说明参见ADAM-4118中英文使用手册。

3.S7-224与ADAM-4118的供电
S7-224有AC/DC供电两种产品,本例中选择的是AC220V供电的型号。

ADAM-4118采用10-30V直流供电,本例中采用24V电源供电。

四、测试过程
1.S7-224 modbus例程
1)附件1(S7200&4118_MODBUS_附件1.rar)是S7-200的modbus例程。

将其解压缩之后,将S7-224的port0通过USB编程电缆连接到PC机的USB口上,打开“modbus 主站案例.mwp”,如下图所示:
这个例程分为N部分,各部分功能如下:
网络1:复位各标志位和起始位。

通过SM0.1(仅第一个扫描周期中接通为 ON)寄存器来实现
网络2:Modbus 主站初始化完成后, 启动读写指令
网络3:初始化Modbus 主站通信,
网络4:读取从站保持寄存器的数据(模拟量)
网络5:读取从站保持寄存器的数据完成,复位请求(与网络4是一组)
网络6:读取从站线圈寄存器的数据(数字量)
网络7:读取从站线圈寄存器的数据完成,复位请求
网络8:写入从站线圈寄存器
网络9:写入从站线圈寄存器完成,复位请求
2)点击左下角的“设置PG/PC接口”,设置“连接到USB”
点击左下角的“通信”按钮,在弹出的“通信”界面上“双击刷新”,连接PLC
3)搜索到CPU 224之后,点击下载按钮弹出下载画面,若没有类型不匹配的提示,就直接点击“下载“按钮;若是有类型不匹配的问题,下载页面会有提示,此时点击“改动项目”按钮,可以自动修改工程以匹配PLC类型。

4)下载并运行之后,通过工具栏的“程序状态监控”按钮监控程序运行,程序会自动顺序运行,依次读取ID=3,modbus Address 40001—40008、10001—10008的数据以及写入ID=3,modbus Address 00001—00008的数据
2.ADAM-4118的配置
将ADAM-4118右侧的拨码开关拨到“init”状态,打开AdamApax .NET Utility 搜索,搜索到模块之后,模块名称后面的“*”表示模块在初始化状态。

初始化状态下,强制模块地址为0,强制通讯格式为“9600,N,8,1”,强制通讯协议为Advantech协议。

将ADAM-4118的地址修改为4,协议修改为modbus协议,点击“Apply change”按钮保存。

由于出厂就是K型热电偶,所以热电偶类型设置保持不变。

将ADAM-4118断电,拨码开关拨到“Normal”端,将ADAM-4118的DATA+接到S7-224的3pin上,将ADAM-4118的DATA-接到S7-224的8pin上。

3. 使用modbus 主站案例.mwp的测试结果
打开“modbus 主站案例.mwp”,将网络4的Slave参数修改为“4”,该参数对应的是ADAM-4118的RS-485地址。

下载并运行之后,通过工具栏的“程序状态监控”按钮监控程序运行。

点击“状态表监控”按钮,在状态表上依次添加“M2.1、MB3、VW1000、VW1002、VW1004”这五个变量
M2.1是modbus功能块MBUS_MSG的读写功能完成位
MB3是modbus功能块MBUS_MSG的错误代码
VW1000对应modbus地址40001,也就是ADAM-4118的CH0
VW1002对应modbus地址40002,也就是ADAM-4118的CH1
VW1004对应modbus地址40003,也就是ADAM-4118的CH2
ADAM-4118的CH0-CH7的数值分别对应modbus寄存器40001-40008,更加详细的modbus地址表参见附录1。

因为每个modbus寄存器占用两个byte,所以第一个通道CH0的数值保存在VB1000 & VB1001中,即VW1000;所以第二个通道CH1的数值保存在VB1002 & VB1003中,即VW1002,以此类推。

ADAM-4118是16位的模块,K型热电偶对应的量程是0-1370℃,所以读到的数值0-65535(十进制)分别对应0-1370℃。

如上图所示,CH0读到的数值1309,对应的温度值为(1309÷65535)×1370=27.4℃。

实际接线上,CH0的V+与V-短接,因此测到的27.4℃就是室温。

4. 编写modbus程序的测试结果
打开附件1中“STEP7_microwin 4.0 uss & modbus Library”文件夹,运行Setup.exe,安装S7-200的modbus驱动包
打开可以看到,“库”下面多了modbus协议库的存在:
按照“modbus 主站案例.mwp”中的写法,双击“库”下面的功能块,添加如下两个功能块:
选择“下载”之后,程序出现如下错误:
在左上角的指令书的“程序块”一行点击右键,选择“库存储区”
点击“建议地址”,为库V分配一个存储区,点击“确定”
程序编写完成,可以按照与上文相同的办法来读取ADAM-4118寄存器的数据。

附录1: ADAM-4118的modbus地址表。

相关文档
最新文档