首页 > 范文大全 > 正文

HONEYWELL PKS与S7-200的MODBUS RTU 从站协议通讯

开篇:润墨网以专业的文秘视角,为您筛选了一篇HONEYWELL PKS与S7-200的MODBUS RTU 从站协议通讯范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:

本文通过着重阐述对honeywell pkss7-200modbus rtu 通讯的各种参数的设置,以实现HONEYWELLPKS 和S7-200之间的通讯。

主要参数设备:S7-200CPUMBUS_INIT MBUS_SLAVE终端服务器 交换机等

中图分类号:TP368文献标识码: A

引言:

在鞍山热能研究院碳素总厂针状焦工程中,通过一年多的工作,我们通过在HONEYWELL PKS 的画面与下位机的编程调试过程中,接触了多种通讯协议,使我对HONEYWELL PKS 和S7-200之间的通讯有个更深刻的认识,以下是我对HONEYWELL PKS与S7-200之间MODBUS RTU从站协议通讯的论述。

在S7-200中MODBUS RTU从站指令库只支持CPU上的通信0口(Port0), 是通过S7-200的自由口通信模式实现,它支持 STEP 7-Micro/WIN32 V3.2以上版本的编程软件,通讯前我们要检查Micro/WIN的指令树中是否存在MODBUS RTU从站指令库,库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,必须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包,如图:

在编程时,我们一般使用SM0.1 来初始化MBUS_INIT,使用SM0.0来调用MBUS_SLAVE。

在我们对MBUS_INIT和MBUS_SLAVE进行编程设置时,我们一定要先明白每个管脚的意义与作用,下面我们对管脚逐一的剖析认识一下。

图1

在MBUS_INIT中,Mode模式选择:启动/停止MODBUS, 1=启动;0=停止

Addr 从站地址:MOUBUS从站地址,取值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最大保持寄存器区:参与通信的V存储区字(VW)

Holdst~保持寄存器区起始地址:以&VBx指定(间接寻址方式)

Done : 初始化完成标志:成功初始化后置1

Error :初始化错误代码

在MBUS_SLAVE中,Done :MODBUS执行:通信中时置1,无MODBUS通信活动时为 0

Error : 错误代码:0=无错误

MaxHold和HoldStart指定的保持寄存器区,是在S7-200 CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通信。我们一定要注意Modbus 中的保持寄存器区是按“字”寻址,即MaxHold规定的是VW而不是VB的个数。在图1的例子中,规定了 MODBUS 保持寄存器区从 VB700开始(HoldStart = VB700,保持区不一定要从VB0开始),并且保持寄存器为500个字(MaxHold=500),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB700~VB1699共1000个字节。因此分配库指令保留数据区时不能在VB700~VB1699之内。同时我们要注意的是V存储区大小与CPU型号有关,不同型号的CPU的V数据存储区大小不同,所以我们应根据需要选择MODBUS保持寄存器区域的大小.在这里我们对MBUS_INIT和MBUS_SLAVE进行如图1的设置。

我们通过一个终端服务器来实现485通讯转换为以太网通讯,如图2:

485通讯电缆

以太网通讯电缆

以太网通讯电缆

图2

注意:用以太网线连接终端服务器和交换机时,要注意它们连接的端口间的传输速率是否相同,不相

同一定要把它们设为相同的传输速率,这样终端服务器和交换机之间才能进行通讯。

在S7-200与MODBUS的地址转换中我们参照如图3:

Modbus地址 S7-200数据区

00001 ~ 00128 Q0.0 ~ Q15.7

10001 ~ 10128 I0.0 ~ I15.7

30001 ~ 30032 AIW0 ~ AIW62

40001 ~ 4xxxx T ~ T + 2 * (xxxx -1)

图3

T代表S7-200中的起始地址的数值,如图1中HoldStart = VB700,T就等于700.对应的MODBUS地址就是40001.

在HONEYWELLPKS中,我们要在QuickBuilder (CONFIGURATIONSTUDIOCONTROLSTRATEGYSCADACONTROL)中对通道、控制器、点进行设置,如图4

图4

在进入下面的画面时,我们单击图5标栏中的“+”会弹出一个窗口如图6:

图5

图6

我们需要在图6中的“标1”里选择要建立的类型,建立通道选择“Channel”,建立控制器选择“Controller”,建立点选择“Point”。例如建立一个通道,我们选择“channel” 这时下面在“标2”的位置我们选择“Modbus channel”,当我们选择完成后,在“标3”的位置是我们需要给建立的通道起个名字,我们假设输入“N_CHN1”,点击”OK”。会返回图5的画面,点击“Channel”就能看到我们建立的一个通道“标1”。控制器的建立和通道是一样的,就是在图6“标2”的位置选择“Modbus controller”,其它是相同的。我们讲一下“点”的建立,当我们在“标1”里选择点的建立后,下面的类型栏中需要我们选择点的类型,当我们建立一个模拟量的I/O点时,选择“Analog Point”如图7里的“标1”,建立数字量的I/O点时,选择“Status Point”如图7里的”标2“,其它就和通道的建立是一样的。当把通道、控制器、点都建立完成后,需要我们对通道、控制器、点进行具体的设置。