s7-200plc和浙大中控dcs modbus通讯

合集下载

PLC200与DCS的通讯设置

PLC200与DCS的通讯设置

PLC200与DCS的通讯设置现在有一台PLC226,两个端口,其中一个PLC址是1,一个是2。

把2地址与组态王连接了,能通讯上。

(注明,与组态王连接必须是2,如果用1无法连接,不知道这是为什么?)另一口(地址1)与山武DCS通讯,用的是MODBUS 协议,上程序里也做了串口调用程序,并且在线运行时能看到数据的传输。

可是在DCS这边看不到接收,就时红灯不亮。

这是为什么,是不是我在PLC程序里与DCS通讯的端口通讯方式没选对呀,应该选什么呀。

问题补充:我看了一下相关知道,说要用端口0与DCS进行MODBUS通讯是吗?用端口1不行吗?因为我的端口0用于与组态王通讯了,组太王用端口1通讯不是,我也不知道为什么。

在程序里在线能运行时能看到数据以成功传入V区了,(VB400-VB1779)。

请详细说明一下。

最佳答案我现在有一台PLC226,两个端口,其中一个PLC址是1,一个是2。

把2地址与组态王连接了,能通讯上。

(注明,与组态王连接必须是2,如果用1无法连接,不知道这是为什么?)组态王里可能默认连接PLC地址是2,在组态王里应该是可以设置连接的PLC地址的,不然连接多台PLC怎么办,和组态王连接是用PPI协议通讯使用两个端口中任意一个都可以,只要端口地址和通讯参数一致就可以了。

—————————————————————————————————————————另一口(地址1)与山武DCS通讯,用的是MODBUS 协议,上程序里也做了串口调用程序,并且在线运行时能看到数据的传输。

可是在DCS这边看不到接收,就时红灯不亮。

这是为什么,是不是我在PLC程序里与DCS通讯的端口通讯方式没选对呀,应该选什么呀。

问题补充:我看了一下相关知道,说要用端口0与DCS 进行MODBUS通讯是吗?用端口1不行吗?因为我的端口0用于与组态王通讯了,组太王用端口1通讯不是,我也不知道为什么。

在程序里在线能运行时能看到数据以成功传入V区了,(VB400-VB1779)。

MCGS通信-modbus与s7200ppi

MCGS通信-modbus与s7200ppi

硬件配置参数设置设备命令设备说明#ModbusTCP/IP数据转发设备1、设备简介本驱动构件用于MCGS软件作为ModbusTCP Slave (从站),将各种寄存器的数据通过ModbusTCP协议转发给ModbusTCP Master (主站);此时MCGS作为网络服务端,而ModbusTCP Master做为网络客户端向服务端发出请求帧,服务端收到合理请求帧后,回应数据帧。

本驱动构件多用于同MCGS“标准ModbusTCP设备”成对配合使用,以实现MCGS软件与软件、软件与触摸屏(TPC),或触摸屏与触摸屏之间数据交互的目的。

同时也可用于MCGS 软件、触摸屏与其他软件触摸屏通讯数据交互,但协议及解码格式需遵从MCGS标准。

本驱动支持01、02、03、04、05、06、15、16常用功能码,对功能码支持请参见附录1。

2、硬件连接MCGS软件在通讯之前,请保证通讯连接正确。

通讯连接方式:采用标准的RJ45接口的以太网接线(对调网线或使用HUB交换)。

3、设备通讯参数“通用TCP/IP父设备”通讯参数设置如下:返回顶部网络类型:网络通讯模式,请与设备设置一致。

默认为UDP,一般标准ModbusTCP设备多设置为“1 - TCP”模式通讯。

服务器/客户设置:请设置为“1 –服务器”方式,即:做为服务器端,接受客户端访问。

本地IP地址:执行机的本机IP地址。

请根据实际情况,正确填写执行上位机或TPC 的本机IP地址。

本地端口号:执行机的网络操作端口,设置前要确保设置端口不被其他程序占用。

一般按默认值3000设置或设置为ModbusTCP标准的502端口。

远端IP地址:客户端(即:ModbusTCP主站)的IP地址。

请根据实际情况,正确填写相应IP地址。

(注意:在局域网时,服务器端IP地址和客户端IP地址需要在同一个子网内。

即:要求点分四段IP表示法的前三段地址要相同)。

远端端口号:客户端(即:ModbusTCP主站)的网络操作端口,一般按默认值3000即可。

(完整word版)西门子s7-200与新华DCS的Modbus通讯

(完整word版)西门子s7-200与新华DCS的Modbus通讯

多套西门子S7—200 PLC与新华DCS的Modbus通讯以金川项目为例一、硬件组成:1)西门子S7-200PLC 2套2)两芯屏蔽线 2条3)网线(T568B标准) 1根4)NPORT(串口服务器) (以5230I为例) 1个5)工业交换机 1个6)新华DCS系统 1套二、硬件连接1)硬件接线:如图2:PLC与NPORT之间的电缆(双芯屏蔽电缆)接法:1、PLC处接串口0,红色线接3端,蓝色线接8端,标准的RS485接法;2、NPORT处接port1,红色线接R+/D+,蓝色线接R—/D—,PLC1接NPORT的PORT1口,PLC2接PORT2口。

所有绿色线代表网线,按T568B接法,如图1所示。

图1 T568B线序1#交换机PLC1PLC2新华DCS 工程师站PORT2PORT1图2 硬件连接图2)硬件测试测试网线:拔掉NPORT 到1#交换机的交换机端网线,用电脑对NPORT 的IP 进行设置(NPORT5230I 的初始IP 为:192.168.127。

254),将其IP 设置为与C 网在同一子网内(如222.222。

221。

88,具体方法见NPOT 的设置).三、 NPORT 配置在工程师站安装NPORT 5230I 驱动程序“NPort Administration Suite ”.安装完毕后在开始菜单中选择程序,然后再选择刚安装好的NPort Administration Suite NPort Administrator 。

打开后选择Search (自动查找在网络内的Nport ),或点Search IP 输入NPORT 的IP 进行搜索如果通讯正常,那么将显示如下界面配置Nport 5230I设置NPORT 的端口通信方式,本例为com4和com5口端口参数为:9600,偶校验,8位数据位,1位停止位,RTS/CTS,Enable,RS485 2wire.操作模式一定要设置为Real COM Mode,设置好时区,其他参数可以不用设置。

plc200与dcs Modbus 通讯

plc200与dcs Modbus 通讯

说明: 用下面的例程你可以在 S7-200 CPU 之间建立一个简单的 Modbus 主-从通讯。

这个例子是关于 Modbus 功能码 6 的(写从站保持寄存器) , 也可以作为其他所支持的功能码 的基本参数设置步骤:1, 2, 3, 4, 5, 15 和 16 。

要求: 要使用 Modbus 协议必须先获得并在 STEP 7 Micro/Win 中安装指令库 (条目 17470979)。

Modbus 主站协议只被 STEP 7 Micro/Win V4.0 SP5 及其以上版本支持。

    1. 硬件设置 2. 参数匹配 3. 指令库的存储地址 4. 保持寄存器变量传输1. 硬件设置 例程中的 Modbus 通讯是在两个 S7-200 CPU 的 0 号通讯口间进行的(最好每个 CPU 都有 两个通讯口)。

在主站侧也可以用相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过 1 号通讯口通信。

通讯口 1 用 Micro/WIN 与 PG 或 PC 建立连接,两个 CPU 的通讯口 0 通 过 Profibus 缆进行连接(电缆的针脚 连接为 3,3,8,8 -> 见图 01)。

另外,需要确定逻 辑地 M 相连 。

图. 01 2. 参数匹配 对于 MODBUS 通讯,主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG",从站侧需要程 序库 "MBUS_INIT" and "MBUS_SLAVE"。

在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。

必须要保证主站与从站的“Baud”和 “Parity” 的参数设置要一致,并且程序块 "MBUS_MSG" 中 的 "Slave" 地址要与程序块 "MBUS_INIT" 中的 "Addr" 所设置的一致 (见图. 02)。

浙大中控ModBus数据连接

浙大中控ModBus数据连接

6.2 ModBus数据连接ModBus数据连接软件可与其他支持Modbus串口通讯协议的设备进行数据通讯,同时与控制系统进行数据交互。

应用时首先启动ModBus数据连接组态界面进行位号组态,然后在二次计算组态界面中定义与ModBus位号对应的位号。

定义二次计算位号时,选择I/O数据源为ModBus。

ModBus数据连接软件分组态期和运行期。

组态期ModBus数据连接软件用于配置计算机与ModBus设备的通讯方式、地址、数据点,并可调试通讯是否正常。

运行期ModBus数据连接软件通过AdvanTrol-Pro监控软件的调用后台启动,无界面显示,根据监控软件指定的组态文件进行ModBus数据通信并与监控软件进行数据交互。

6.2.1 组态在操作系统中点击【开始/程序/AdvanTrol-Pro(V2.65)/数据连接/ModBus数据连接】,弹出图 6-15所示ModBus组态界面。

图 6‐15 ModBus组态界面1.在工具栏中点击添加设备按钮,弹出图 6‐16所示设备参数设置对话框。

图 6-16设备参数设置> 设备名称:用户自定义名称,也可设置为默认名称;> 设备描述:用户对此设备的说明(如输入设备描述为“ModBusTest”),可为任意字符; > 地址:地址设置不得与其他串口设备的地址相同,串口设备和TCP设备、TCP设备和TCP设备之间无地址冲突;> 通讯超时:等待设备回应的最大时间;> 通讯发包最小间隔:ModBus通讯软件向ModBus设备发送数据请求命令的最小间隔时间,不同的ModBus设备需要的相应时间不同,因此过小的发包间隔时间会导致通讯超时。

> 数据排列方式:有的ModBus设备的数据高低位与普通的相反,数据排列方式的选择可以通过高低位排列来兼容这些设备。

> 通讯方式:当选择通讯方式为串口时,设备参数设置界面如图 6-16所示。

点击串口右边的下拉菜单,选择不同的串口(COM1、COM2、COM3、COM4)。

S7-200与DCS通讯培训

S7-200与DCS通讯培训

S7-200与ECS-700通讯设置步骤第一步:硬件连接,通过CPU224XP勺本身的端口PORT0故通信口,电缆线接九针端口的3针和8针上,另一端直接连接到DCS上。

注意:一个正规的RS-485网络使用终端电阻和偏置电阻。

在网络连接线非常短、临时或实验室测试时也可以不使用终端和偏置电阻。

终端电阻:在线型网络两端(相距最远的两个通信端口上),并联在一对通信线上的电阻。

根据传输线理论,终端电阻可以吸收网络上的反射波,有效地增强信号强度。

靠性。

第二步:网络中 CPU226CN 作为从站,故只需编写主程序(由以下两个网络构成) ,调用modbus 从站协议指令,也就是 MBUS-INT 指令和MBU-SLAVE 旨令;Port0通讯设定(与DCS 设置一致)Mode : 1 (1使能Modbus 协议功能;为 0时恢复为系统 PPI 协议)Addr 通讯地址:11Baud 波特率:9600Parity 校验:2 ( 0=无校验,1=奇较验,2 =偶较验)MaxlQ :将供Modbus 地址Oxxxx 和1xxxx 使用的I 和Q 点数设为0至128 之间的数值。

数值 0禁止向输入和输岀的读数。

MaxAI:参数将供Modbus 地址3xxxx 使用的字输入(AI )寄存器数目设为0 至32之间的数值。

数值 0禁止模拟输入的读数。

MaxHold :参数设定供Modbus 地址4xxxx 使用的V 存储器中的字保持寄 存器数目。

HoldStart :参数是V 存储器中保持寄存器的起始地址。

该数值一般被设为VB0 40001/40003 主站协议指令 MBUS_CTRL\MBUS MS 昴动处理从站 --------------------------------------------------网貉6Alway$_OnSMO.OMBUS_SLAVEENDone Eg•VI 0000.0 -VB100021、符号地址Always :0n SMO.O始终接通为亟输AWEft*踽損氏、地址"畑I 丽Q%園%隔LB, AC T CMtslatii , ■•诞X-AC, *LD宁节KWh HoHSlarlVTS IDi Q&i MT>1 SD P SMThLD B AC. CofijLdjjii.*AC. ,LD收宇碰前、gQ 、MwAl.VW, IW- Q 昭 MW- SW P 5MW- LWi AC« Con^tafit- ■VD - *AC> B LD完成L Q. M. S. SM> T. C P V,. L 攜误VB. IB, Mb. SB. SMB-LB-Done=1, Error=0,说明通讯正常冋络7監认1业叩偶校监地址1Fir 做 Scan":SM0.1I I端口 0f^§VB1551 J _p IMBUS. rhrJNIT1 11 一 E 1tN端口 0*裁粵:WI5B1£1- M odeDone -VI 0000.1 ■-_| ~B| --------- -------p 1—2D- A ddrError -VB100042Poll® 特啪/DB31 -B audModbu^^:V636.0奇偶 fc^VB635-ParityT 1 ------------------------F I_+0- D elay126- MaxiIQ+0- M axAl+30- M axHoldtvewoo-HoldSr第三步:通讯端口设置PLC 作为从站PLC 作为主站端口 0通讯设定(与 DCS 设置一致) 端口 1通讯设定(与梅特勒托利多设置一致) PLC 地址:20 PLC 地址:11 Baud 波特率=19200Baud 波特率=9600日属性E H]COM741-S白團COMOi自鑫阿耳液化咳L 3](OOOJCmdCOM1COM2COM3模式设备数命令埶端口物俚接线波特率MODBUS±^1COMORS48596008偶校验正席停止位校验方式Iff 11SK日圖COM741-S-罰匚O胡0I H g [011]液化气姑画|| [OOOJCmdL Jl COM1卜庫COM2L g) COM3名称逻辑地址I □号响应时间(臺秒)同隔时间(毫秒)晶2數液化气站舶D日US主站100[如果不通,显示故障注意:如果连接通讯正常,COM741卡接线端口两个绿色指示灯都在闪烁,DCS勺COM741-S无故障报警。

S7-200PLC之间进行Modbus通讯实验

S7-200PLC之间进行Modbus通讯实验

1、硬件组态:S7-200PLC CPU 224XP、S7-200PLC CPU 226、维控触屏LEVI 777T、S7-200PLC之间通讯用RS485通讯电缆、S7-200PLC与维控触屏通讯用RS485通讯电缆、编程用USB/PPI电缆。

主从站设定:CPU 224XP主站,CPU 226为从站。

2、通讯端口及设定:主站CPU 224XP PORT0用于Modbus通讯、PORT1用于连接编程电缆。

从站CPU 226 PORT0用于Modbus通讯、PORT1用于连接维控触摸屏COM1(PPI 协议)。

各端子对应接线如下图。

3、实验内容:①主站读从站输入点信号、V存贮区变量;②主站控制从站输出点、写入从站整数变量及浮点数变量并在触摸屏(与从站相连)上显示;③从站读取主站发送数据并处理。

4、CPU226从站通讯初始化编程如下所示。

从站地址规定为6,端口PORT0通讯波特率9600,无校验、无延迟,允许存取所有的I、Q(MaxIQ=128)、和AI(MaxAI=32)数值,保持寄存器的存贮空间为VB3000开始的1000个字。

5、为从站程序块指定库存贮区,注意:程序中不可使用库存储区占用的地址。

6、在维控触屏中下载用于监控Modbus通讯结果的画面程序,如下图。

其中包括从站本机输入点I0.0~I0.7的状态、输出点Q0.0~Q0.7(受主上控制),以及从站Modbus通讯保持寄存器VB3000~VB3013内容、整数VW3000、浮点数VD3000和VD3008内容等。

7、准备好主站通讯程序。

为主站程序块指定库存贮区,注意:程序中不可使用库存储区占用的地址。

程序如下所示(上电初始化程序实际应用时要放在网络1),其中主站输入点I1.0用于触发数据传送,VB3000用于存贮读从站输入点数据,VB5000用于存贮要写入从站控制输出点的数据,VB6000用于存贮要写入从站V存贮区的数据,VB7000用于存贮由从站读取的V存贮区数据(用于验证写从站结果)。

DCS控制系统与S7-200 PLC的通信实现及应用

DCS控制系统与S7-200 PLC的通信实现及应用

DCS控制系统与S7-200 PLC的通信实现及应用赵劲松;田龙;司华良【摘要】根据化工生产装置的特点,为优化生产操作控制,需要把各生产装置单元的实时监控数据互相通信,以消除因信息孤岛而形成统一的数据库.通过对磷矿浆浮选技术改造项目主控室分散控制系统(DCS),与自动压滤机远程可编程逻辑控制器(PLC)的实时通信进行研究,根据Modbus通信协议数据交换原理及PLC Modbus 通信设置和DCS基本组态方法,实现远程PLS与主控DCS的通信.详细阐述了ABB DCS控制系统与西门子PLC之间基于Modbus协议通信的实现过程.在实际应用中验证了该通信方法的可行性,能够满足对传输数据量较小的控制单元的通信.利用不同生产制造商的控制设备,通过MODBUS协议进行数据交换,实现集中监控不仅投资小且易于实现.该项目的成功应用,对优化生产操作控制起到辅助作用,同时也对其他类似项目具有借鉴和推广作用.【期刊名称】《自动化仪表》【年(卷),期】2019(040)001【总页数】3页(P50-52)【关键词】DCS;PLC;Modbus协议;通信;数据交换;系统组态【作者】赵劲松;田龙;司华良【作者单位】云南云天化股份有限公司红磷分公司,云南开远661600;云南云天化股份有限公司红磷分公司,云南开远661600;云南云天化股份有限公司红磷分公司,云南开远661600【正文语种】中文【中图分类】TH8620 引言可编程逻辑控制器(programmable logic controller, PLC)作为一种广泛使用的控制系统,往往用于小单元装置和关键设备机组的控制,可形成独立的通信控制单元网络。

对流程化生产装置而言,需要生产装置各单元数据信息的互通互连,形成统一的生产操作控制体系。

本文通过对Modbus通信协议数据交换原理的研究,利用数据通信的方法实现远程PLC与主控分散控制系统(distributed control system,DCS)的通信。

西门子S7-200--MODBUS通信协议和支持MODBUS-RTU协议的电磁流量计、超声波流量计的通信实例

西门子S7-200--MODBUS通信协议和支持MODBUS-RTU协议的电磁流量计、超声波流量计的通信实例

西门子S7_200 MODBUS通信协议和支持MODBUS RTU协议的电磁流量计、超声波流量计的通信实例S7_200系列PLC有一个通信口的也有两个通信口的,这两个口都支持MODBUS通信协议,不过要添加MODBUS库文件(SP6版本的step7 micro/win 软件自带有MODBUS库文件)。

下面根据具体的项目来说明MODBUS的使用:在项目中要采集进水流量的瞬时流量、日累计、月累计、年累计量,流量计本身有4~20mA信号输出和脉冲信号输出,这些输出信号都是瞬时量,只能转换为瞬时流量,而累积量就要通过编写程序来累加,而且信号的传输衰减和计算过程产生的误差就会造成和实际的流量相差很多,现在很多的流量计(包括其他的测量设备)都设计有通讯口,尤其是支持MODBUS协议,所以首选通信方式采集数据,这样可以直接读取我们想要的数据,只需做稍微的数据转换就可以的,同时也减小了工作量提高准确性(实际是按照流量收取费用的)。

实际的硬件连接:10套s7-200组成PPI网络(其中一个200站做主站),有一个从站要采集两个不同厂家的流量计的相关信息。

PPI网络层已经用去了一个端口0,还剩下一个端口1,那么就用这个端口并设置为自由口协议,在程序中调用MODBUS程序块并填写好必要的信息就可以了(其实调用MODBUS程序块时,程序块内就已经设置好端口为自由口协议了)。

图1.MODBUS库文件图2.控制指令图3.控制指令这里MBUS_CTRL_P1指令要一直调用,有一点要指明:图2中的程序是读取其中一台流量计的,图3是读取另一台流量计的,这两个流量计是不一样的。

这里最重要的是MBUS_MSG_P1指令中地址“Addr”的填写,其实这里要填写Modbus从站的寄存器地址(该地址内有我们需要的信息),那么这个地址要怎么填写呢,填写多少呢?这就要查看从站设备(这里是流量计)的“通信手册”了,因为每个厂家的设备都不一样,所以相同信息的寄存器地址也不一样。

s7的200 300 冗余400与第三方dcs的modbus通讯

s7的200 300 冗余400与第三方dcs的modbus通讯

s7的200 300 冗余400与第三方dcs的
modbus通讯
有个项目,现有一个s7-200(cpu为224,只有一个通讯接口且已被占用),一个s7-200(cpu为226,两个通讯端口,port0空闲,port1占用),另外一个s7-300的cpu为315-2pn/dp (两个以太网口未用),还有一套s7-400h系统(cpu为414-7h)。

现在想与第三方dcs进行modbus通讯,是否需要增加什么硬件和通讯线?另外如何写发送数据的程序?
问题补充:
能提供一下,关于这几个plc和dcs通讯的例子?
最佳答案
1、s7-200(cpu为224,只有一个通讯接口且已被占用),增加一个em277模块,将目前与cpu通讯的设备转到em277上,然后用cpu的通讯口进行modbus通讯。

如果不改变现有通讯方式,只能加cp243将数据先传给s7-300,然后再进行modbus通讯。

2、s7-200(cpu为226,两个通讯端口,port0空闲,port1占用),可以直接用空闲的通讯口进行modbus通讯。

3、s7-300的cpu为315-2pn/dp(两个以太网口未用),增加cp341(带modbus硬件狗),进行modbus通讯。

4、s7-400h系统(cpu为414-7h),在et200m上增加cp341(带modbus硬件狗),进行modbus通讯。

用Modbus协议实现DCS与PLC之间的串行通讯

用Modbus协议实现DCS与PLC之间的串行通讯

用Modbus协议实现DCS与PLC之间的串行通讯万立氧空分装置是2008年辽化公司20万吨环氧乙烷/乙二醇改造的配套项目,该装置仪控系统采用了先进的Honeywell PKS集散控制系统来实现对整个装置的各系统及主要设备的工艺参数的监控,并实现各主要操作阀门、切换阀门的自动控制或遥控操作,以及必要的联锁保护措施。

氮压机选用Ingersoll—rand的CENTAC 3C70MX5N2型压缩机,该压缩机配置独立的控制系统CM C控制器,为了有效的监控氮压机的运行参数,我们利用Modbus协议实现了Honeywell PKS集散系统与Ingersoll—rand CM C可编程序控制器之间串行通讯。

2 Modbus协议简介Modbus是Modicon公司于1 979年提出的一种通信协议,经过多年的实际应用,已经成为一种应用于工业控制器上的标准通信协议。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了控制器请求访问其它设备的过程,以及怎样侦测错误并记录,它制定了消息域格局和内容的公共格式[5]。

当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用Modbus协议发出。

标准的Modbus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。

控制器能直接或经由MOdem组网。

2.1 Modbus报文如图1所示,Modbus通信使用主从技术,即仅设备(主设备)能初始化传输(查询)。

其它设备(从设备)根据主设备查询提供的数据作出相应反应。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。

如果单独通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。

西门子S7200与变频器MODBUS通讯实例详解

西门子S7200与变频器MODBUS通讯实例详解

西门子S7200与变频器MODBUS通讯实例详解西门子S7200PLC简介西门子S7-200PLC在实时模式下具有速度快,具有通讯功能和较高的生产力的特点。

一致的模块化设计促进了低性能定制产品的创造和可扩展性的解决方案。

来自西门子的S7- 200微型PLC可以被当作独立的微型PLC解决方案或与其他控制器相结合使用。

Modbus通讯协议简介Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。

ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

其系统结构既包括硬件、亦包括软件。

它可应用于各种数据采集和过程监控。

ModBus网络只有一个主机,所有通信都由他发出。

网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。

采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。

1MODBUSRTU协议在S7-200中的应用原理1.1MODBUSRTU协议与S7-200相互关系简介S7-200CPU上的通讯口Port0可以支持MODBUSRTU协议,成为MODBUSRTU从站。

此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。

想在S7-200CPU与其他支持MODBUSRTU的设备使用MODBUSRTU协议通讯,需要由有S7-200CPU做MODBUS主站。

S7-200CPU做主站必须由用户自己用自由口模式,按相关协议编程。

2从站指令的用法:S7-200控制系统应用中,MODBUSRTU从站指令库只支持CPU上的通讯0口(Port0)。

要实现MODBUSRTU通讯,需要Step7-Micro/WIN32V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32V3.2InstructionLibrary(指令库)。

浙大中控DCS与PLC和单片机串行通讯的实现

浙大中控DCS与PLC和单片机串行通讯的实现

浙大中控DCS与PLC和单片机串行通讯的实现作者:张伟段重军来源:《电子技术与软件工程》2015年第21期摘要以浙大中控DCS与西门子PLC和Atlas空压机单片机串行通讯为背景,阐述了串行通讯的通讯原理,浙大DCS通讯卡和PLC和单片机网络的搭接,以及DCS组态程序的实现和程序中函数的解析,通讯时常出现的问题及解决办法。

【关键词】浙大中控DCS PLC 单片机 Modbus 多机通讯1 引言以吉林石化公司乙烯厂浙大中控DCS JX-300XP系统与原有反渗透系统和新增加一套空压机需要和DCS的多机通讯,总结PLC和单片机同时和DCS通讯在构建和程序设计的实现。

根据两套系统的通讯能力,采用了MODBUS RS-485通讯。

空压机是Atlas Copo的单片机系统,在实现通讯时,必须增加一块通讯转换卡,才能达成RS-485协议。

而反渗透采用的是西门子S200的系统,已经和DCS建立了通讯。

实现了通过DCS集中对两套独立单元进行监视和控制。

2 RS-485方式构成的多机通信原理RS-485 是RS-422 的变形。

RS-422 为全双工,可同时发送与接收; RS-485 则为半双工,在某一时刻一个发送另一个接收,当用于多机互连时,可节省信号线,便于高速远距离传送。

许多智能仪器设备均配有RS-485 总线接口,将它们联网十分方便。

所以本站通讯采用RS485进行通讯。

在由单片机构成的多机串行通信系统中,一般采用主从式结构:从机不主动发送命令或数据,一切都由主机控制。

并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。

在实现DCS和空压机和反渗透系统通讯时,也相应的把DCS设为主机,而两套PLC设为从机。

3 实现过程3.1 硬件在硬件上,SP244 卡与SP243X 卡(主控卡)一致,搭配使用。

主控卡出厂时,通常不焊RS232口的处理芯片,但SP244 必须有RS232 或RS485 口才能工作。

西门子S7-200系列PLC的MODBUS通信功能(一)

西门子S7-200系列PLC的MODBUS通信功能(一)

西门子S7-200系列PLC的MODBUS通信功能(一)这段时间经常有学员问有关于S7-200系列PLC的MODBUS通信的问题,所以今天就写一遍文章,来跟大家聊聊S7-200系列PLC的MODBUS的通信功能如何使用。

MODBUS通信协议概述:MODBUS协议是一个通用的协议,在很多智能设备上都支持这个通信协议,如变频器,智能温控仪表等都支持MODBUS通信协议。

MODBUS通信协议有具有串行链路上的MODBUS ASCAII通信和MODBUS RTU通信,也有基于TCP/IP上的 MODBUS TCP通信。

这里我们主要介绍基于串行链路上的MODBUS RTU的通信。

MODBUS RTU的信息帧格式:Start:起始码,表示的是一个信息帧的开头,MODBUS RTU通信,使用时间来作为信息帧的开头,主要是检测传输线上的空闲的时间,长度为3.5个字符时长,一个字符的长度跟数据位,停止位、起始位、奇偶校验位,波特率有关。

Address:地址码(一个字节),表示的是从站的站号,从站站号有从站设备给定或是设置,如变频器,可以在变频器参数中设置变频器的站号。

Function:功能码(一个字节),描述对从站的读写操作,是对从站读取数据,还是写入数据到从站,常见功能码如下图所示:Data:数据区(N个字节),数据区主要有两部分构成,一部分称为数据区的地址,一部分称为数据区的内容,如需要控制变频器的运行,则变频器的运行代码称为数据区内容,运行代码需要写入的地方称为数据区地址。

CRC:校验码(2字节),对从站号到数据区的数据进行CRC校验,可以参考前面一篇对于CRC校验程序设计的内容介绍。

End:结束码,与起始码一样,也是通过时间进行判断。

接下来,我们以西门子S7-200SMART系列的PLC与深圳的海普蒙特的变频器为例,来说明使用MODBUS的通信方式来控制变频器的运行,频率的修改,及读取一些参数的程序首先,我们需要熟悉变频器说明书上所描述的通信的内容,从说明书上显示支持的功能码为03,06,和16这三种功能码(注意0X10表示的是16进制数10):提供的信息帧格式为:例如:运行命令控制,地址位十六进制数的3200,往地址3200中写入不同的代码表示不同的控制命令,如下图所示根据以上内容,我们可以写出控制变频器运行的信息帧的格式,假设变频器的站号设置为1,则可以得出如下图所示的信息帧的格式其他的命令的信息帧格式,参考变频器说明书,以相同的方式可以写出。

西门子S7-200--MODBUS通信协议和支持MODBUS-RTU协议的电磁流量计、超声波流量计的通信实例

西门子S7-200--MODBUS通信协议和支持MODBUS-RTU协议的电磁流量计、超声波流量计的通信实例

西门子S7_200 MODBUS通信协议和支持MODBUS RTU协议的电磁流量计、超声波流量计的通信实例S7_200系列PLC有一个通信口的也有两个通信口的,这两个口都支持MODBUS通信协议,不过要添加MODBUS库文件(SP6版本的step7 micro/win 软件自带有MODBUS库文件)。

下面根据具体的项目来说明MODBUS的使用:在项目中要采集进水流量的瞬时流量、日累计、月累计、年累计量,流量计本身有4~20mA信号输出和脉冲信号输出,这些输出信号都是瞬时量,只能转换为瞬时流量,而累积量就要通过编写程序来累加,而且信号的传输衰减和计算过程产生的误差就会造成和实际的流量相差很多,现在很多的流量计(包括其他的测量设备)都设计有通讯口,尤其是支持MODBUS协议,所以首选通信方式采集数据,这样可以直接读取我们想要的数据,只需做稍微的数据转换就可以的,同时也减小了工作量提高准确性(实际是按照流量收取费用的)。

实际的硬件连接:10套s7-200组成PPI网络(其中一个200站做主站),有一个从站要采集两个不同厂家的流量计的相关信息。

PPI网络层已经用去了一个端口0,还剩下一个端口1,那么就用这个端口并设置为自由口协议,在程序中调用MODBUS程序块并填写好必要的信息就可以了(其实调用MODBUS程序块时,程序块内就已经设置好端口为自由口协议了)。

图1.MODBUS库文件图2.控制指令图3.控制指令这里MBUS_CTRL_P1指令要一直调用,有一点要指明:图2中的程序是读取其中一台流量计的,图3是读取另一台流量计的,这两个流量计是不一样的。

这里最重要的是MBUS_MSG_P1指令中地址“Addr”的填写,其实这里要填写Modbus从站的寄存器地址(该地址内有我们需要的信息),那么这个地址要怎么填写呢,填写多少呢?这就要查看从站设备(这里是流量计)的“通信手册”了,因为每个厂家的设备都不一样,所以相同信息的寄存器地址也不一样。

西门子plc200与dcs通信方法modbus

西门子plc200与dcs通信方法modbus

西门子PLC200与DCS通信方法2011-12-29 10:05在PLC侧作为从站首先用MBUS_INIT指令(初始化从站)"模式"输入数值选择通讯协议:输入数值1将端口0指定给Modbus协议并启用协议;将输入数值0则将端口0指定给PPI,并禁用Modbus协议。

"波特"参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200。

"地址"参数将地址设为1和247之间(包括1和247)的数值。

"奇偶校验"参数被设为与Modbus主设备奇偶校验相匹配。

可接受的数值为:0-无奇偶校验1-奇数校验2-偶数校验"延时"参数通过将指定的毫秒数增加至标准Modbus信息超时的方法延长标准Modbus信息结束超时条件。

该参数的典型数值在有线网络上应为0。

如果您在使用带有纠错功能的调制解调器,将延时设为50至100毫秒的数值。

如果您在使用扩展频谱无线电,将延时设为10至100毫秒的数值。

"延时"数值可以是0至32767毫秒。

MaxIQ参数将供Modbus地址0xxxx和1xxxx使用的I和Q点数设为0至128之间的数值。

数值0禁止所有向输入和输出的读取。

建议使用的MaxIQ数值是128,该数值可在S7-200中存取所有的和Q点。

MaxAI参数将供Modbus地址3xxxx使用的字输入(AI)寄存器数目设为0至32之间的数值。

数值0禁止模拟输入的读数。

建议使用的MaxAI数值如下,这些数值可允许存取所有的S7-200模拟输入:32用于CPU 224、224XP、226和226XMMaxHold参数设定供Modbus地址4xxxx使用的V存储器中的字保持寄存器数目。

例如,为了允许主设备存取2000个字节的V存储器,将MaxHold设为1000个字的数值(保持寄存器)HoldStart参数是V存储器中保持寄存器的起始地址。

使用S7-200_MODBUS指令实现通讯方法及例程

使用S7-200_MODBUS指令实现通讯方法及例程

使用S7-200 MODBUS指令实现通讯方法及例程MODBUS主站程序:MODBUS从站程序:在从站中的“MBUS_INIT”指令的最下面一个参数“HoldStart”项设置为“&VB1000”,是因为从站和主站通信的数据放在了以VB1000开始的存储区内,其实这个地址不是固定的,但是必须是要通信数据的首地址;当主站要访问从站的前两个字节数据时,在主站“MBUS_MSG”指令的“Addr”参数项数据是40001而不是41001,说明Addr对应从站Holdstart的相对地址而不是从站的绝对地址;还有就是当主站要访问从站的第50、51字节时,“Addr”参数项数据是40026而不是40050。

因为Addr的最小单元是字,从40001开始是第0个字,也就是40001对应PLC发送的数据中从站寄存器地址段数据是00 00而不是00 01,40002发送的从站寄存器地址是00 02,而不是00 01了,一次往后推,就可以得到40050对应发送的地址段数据是00 98,也就是对应从站中的VB1098和VB1099.其实S7-200 MODBUS指令很好用,也很简单,就在主站和从站各自加上个“头”就可以了,但是很多时候回出现问题就是因为没有很好的去把握主站和从站的数据怎么对应,以至于找不准我们要的数据反而怀疑是协议没有设置好,或通信有问题等。

建议:MODBUS不是并不是西门子200的专用协议,PPI才是。

所以如果只是200和200之间通信的话首选PPI,因为PPI的可靠性更强,编程更简单,只需主站编写读写指令(用向导时又省去了编程的麻烦直接调用向导子程序就行)从站不用编写任何的程序;PPI 的另一个优势是通信速率快最高是187.5Kbps,而MODBUS最快是115.2Kbps。

我曾做的项目时一主十从,主站没有其他任何程序就只有通信,从站也一样,但是主站控制某一从站输出时要有2~3秒的延时,有的更长,但PPI即使是整套程序编完也感觉不出延时。

MCGS通信-modbus与s7200ppi

MCGS通信-modbus与s7200ppi

硬件配置参数设置设备命令设备说明#ModbusTCP/IP数据转发设备1、设备简介本驱动构件用于MCGS软件作为ModbusTCP Slave (从站),将各种寄存器的数据通过ModbusTCP协议转发给ModbusTCP Master (主站);此时MCGS作为网络服务端,而ModbusTCP Master做为网络客户端向服务端发出请求帧,服务端收到合理请求帧后,回应数据帧。

本驱动构件多用于同MCGS“标准ModbusTCP设备”成对配合使用,以实现MCGS软件与软件、软件与触摸屏(TPC),或触摸屏与触摸屏之间数据交互的目的。

同时也可用于MCGS 软件、触摸屏与其他软件触摸屏通讯数据交互,但协议及解码格式需遵从MCGS标准。

本驱动支持01、02、03、04、05、06、15、16常用功能码,对功能码支持请参见附录1。

2、硬件连接MCGS软件在通讯之前,请保证通讯连接正确。

通讯连接方式:采用标准的RJ45接口的以太网接线(对调网线或使用HUB交换)。

3、设备通讯参数“通用TCP/IP父设备”通讯参数设置如下:返回顶部网络类型:网络通讯模式,请与设备设置一致。

默认为UDP,一般标准ModbusTCP设备多设置为“1 - TCP”模式通讯。

服务器/客户设置:请设置为“1 –服务器”方式,即:做为服务器端,接受客户端访问。

本地IP地址:执行机的本机IP地址。

请根据实际情况,正确填写执行上位机或TPC 的本机IP地址。

本地端口号:执行机的网络操作端口,设置前要确保设置端口不被其他程序占用。

一般按默认值3000设置或设置为ModbusTCP标准的502端口。

远端IP地址:客户端(即:ModbusTCP主站)的IP地址。

请根据实际情况,正确填写相应IP地址。

(注意:在局域网时,服务器端IP地址和客户端IP地址需要在同一个子网内。

即:要求点分四段IP表示法的前三段地址要相同)。

远端端口号:客户端(即:ModbusTCP主站)的网络操作端口,一般按默认值3000即可。

学习s7-200之间的Modbus通讯

学习s7-200之间的Modbus通讯

学习s7-200之间的Modbus通讯参摘微信读书 书名:西门⼦PLC⼯业通信完全精通教程作者:向晓汉苏⾼峰关于S7-200两个PLC互相通信⼀、使⽤Modbus协议库⼆、Modbus的地址Modbus地址通常是包含数据类型和偏移量的5个字符值。

第⼀个字符确定数据类型,后⾯四个字符选择数据类型内的正确数值。

(1)主站寻址Modbus主站指令可将地址映射到正确功能,然后发送⾄从站设备。

Modbus主站指令⽀持下列Modbus地址:00001到09999是离散输出(线圈);10001到19999是离散输⼊(触点);30001到39999是输⼊寄存器(通常是模拟量输⼊);40001到49999是保持寄存器。

所有Modbus地址都是基于1,即从地址1开始第⼀个数据值。

有效地址范围取决于从站设备。

不同的从站设备将⽀持不同的数据类型和地址范围。

(2)从站寻址Modbus主站设备将地址映射到正确功能。

Modbus从站指令⽀持以下地址:00001⾄00128是实际输出,对应于Q0.0-Q15.7;10001⾄10128是实际输⼊,对应于I0.0-I15.7;30001⾄30032是模拟输⼊寄存器,对应于AIW0⾄AIW62;40001⾄04XXXX是保持寄存器,对应于V区。

所有Modbus地址都是从1开始编号的。

⽰例:三、相关指令介绍(⼀)做主站使⽤Modbus master库(1)初始化主设备指令MBUS_CTRL⽤于S7-200端⼝0(或⽤于端⼝1的MBUS_CTRL_P1指令)可初始化、监视或禁⽤Modbus通信。

EN:使能端,有信号则该指令执⾏Mode:输⼊的值⽤于选择通信协议。

输⼊值为 1 时,将 CPU 端⼝分配给 Modbus 协议并启⽤该协议。

输⼊值为 0 时,将 CPU 端⼝分配给PPI 系统协议并禁⽤ Modbus 协议。

Baud:波特率Parity:设置为与 Modbus 从站设备的奇偶校验相匹配。

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

中控dcs modbus通讯
13-03-05 16:47 更新郑志武分类:技成百科浏览:2676人次微信二维码
利用s7-200plc自由口做和dcs的通讯,通讯协议用modbus,s7-200plc 作为从站,我用的plc是cpu226cn,两者距离大概有200米,我做了以下几点,但通信不上,请各位分析我做的以下几点是都正确,问题会出现那里?<br>1、硬件连接,通过cpu226cn的本身的端口port0做通信口,电缆线接九针端口的3针和8针上,另一端直接连接到dcs上。

<br>2、编程:在网络中cpu226作为从站,编程用西门子编程自带的库modubus库,调用的为modbus从站协议指令,也就是mbus—int指令和mbu—slave指令;<br>3、参数设置,mode设置为12设置的从站地址为1,波特率为9600,2校验;<br>4、除了以上设置外,我要求dcs设置了数据位为8,停止位为1,在plc的指令mbus —slave的指令中done的返回值为1,同时error返回值为10,错误信息为从属性未启用,不知道是否通信上。

各位大师,我以上做的那有错误,可能出现的问题在那?附图(plc程序图,dsc程序图)

最佳答案
1、200米。

超过50米就要在接收端a,b短接330ω的电阻。

2、主、从站连接与设置完成后,主站必须有一个重新启动,重新启动后主站才能连接到新加入的从站。

modbus就是这样。

主站不经过一个重新启动,永远也连接不上新加入的从站。

3、s7-200plc作为从站,注意应用指令库只支持支持rtu格式。

指令库不modbusascii通信模式。

即,西门子不提供支持modbusascii的现成指令库,需要用户自己用自由口模式编程。

相关文档
最新文档