搜档网
当前位置:搜档网 › 西门子Modbus-RTU通信

西门子Modbus-RTU通信

西门子Modbus-RTU通信
西门子Modbus-RTU通信

S7-200 Modbus RTU 通信

关键字

库文件RS485网络主站:编程地址错误例程从站:编程地址错误例程

S7-200 Modbus RTU 通信简介

Modbus 是公开通信协议,具有两种串行传输模式,ASCII 和RTU。详细的协议和规范,请访问Modbus 组织的网站:

S7-200 通过以下方式支持Modbus RTU 通信协议:

节。

常问问题

1Modbus RTU主站

1.1 Modbus RTU 主站指令库

西门子在Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库(西门子标准库指令)。

图1. 西门子标准指令库(Micro/WIN V4.0 SP5)

注意

? 1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port 0 和Port 1 有效。该指令库将设置通信口工作在自由口模式下。

? 2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。

? 3. Modbus RTU 主站库对CPU的版本有要求。CPU 的版本必须为2.00 或者 2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括

1.22版本)的S7-200 CPU 不支持。

使用Modbus RTU 主站指令库,可以读写Modbus RTU 从站的数字量、模拟量I/O 以及保持寄存器。

要使用Modbus RTU 主站指令库,须遵循下列步骤:

? 1.安装西门子标准指令库

? 2.按照要求编写用户程序调用Modubs RTU 主站指令库

安装西门子标准指令库

1.2 Modbus RTU 主站功能编程

1. 调用Modbus RTU 主站初始化和控制子程序

使用SM0.0 调用MBUS_CTRL 完成主站的初始化,并启动其功能控制:

图2. 用SM0.0 调用Modbus RTU 主站初始化与控制子程序

各参数意义如下:

a. EN 使能:必须保证每一扫描周期都被使能(使用SM0.0)

b. Mode 模式:为 1 时,使能Modbus 协议功能;为0 时恢复为系统PPI 协议

c. Baud 波特率:支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。

d. Parity 校验:校验方式选择

0=无校验

1=奇较验

2=偶较验

e. T imeout 超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000 毫秒(1 秒),允许设置的范围为1 - 32767。

注意:这个值必须设置足够大以保证从站有时间响应。

f. Done 完成位:初始化完成,此位会自动置1。可以用该位启动MBUS_MSG 读写操作(见例程)

g. Error 初始化错误代码(只有在Done 位为1时有效):

0=无错误

1=校验选择非法

2=波特率选择非法

3=模式选择非法

2. 调用Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求;

图3. 调用Modbus RTU 主站读写子程序

各参数意义如下:

a. EN 使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能

注意:建议每一个读写功能(即MBUS_MSG)都用

上一个MBUS_MSG 指令的Done 完成位来激活,以

保证所有读写指令循环进行(见例程)。

b. First 读写请求位:每一个新的读写请求必须使用脉冲触发

c. Slave 从站地址:可选择的范围 1 - 247

d. RW 从站地址:0 =读,1 =写

注意:

1. 开关量输出和保持寄存器支持读和写功能

2. 开关量输入和模拟量输入只支持读功能

e. Addr 读写从站的数据地址:

选择读写的数据类型

00001 至0xxxx - 开关量输出

10001 至1xxxx - 开关量输入

30001 至3xxxx - 模拟量输入

40001 至4xxxx - 保持寄存器

f. Count 数据个数通讯的数据个数(位或字的个数)

注意: Modbus主站可读/写的最大数据量为120个

字(是指每一个MBUS_MSG 指令)

g. D ataPtr 数据指针: 1. 如果是读指令,读回的数据放到这个数据区中

2. 如果是写指令,要写出的数据放到这个数据区中

h. Done 完成位读写功能完成位

i. Error 错误代码:只有在Done 位为1时,错误代码才有效

0 =无错误

1 =响应校验错误

2 =未用

3 =接收超时(从站无响应)

4 =请求参数错误(slave address, Modbus address,

count, RW)

5 =Modbus/自由口未使能

6 =Modbus正在忙于其它请求

7 =响应错误(响应不是请求的操作)

8 =响应CRC校验和错误

-

101 =从站不支持请求的功能

102 =从站不支持数据地址

103 =从站不支持此种数据类型

104 =从站设备故障

105 =从站接受了信息,但是响应被延迟

106 =从站忙,拒绝了该信息

107 =从站拒绝了信息

108 =从站存储器奇偶错误

常见的错误:

?如果多个MBUS_MSG 指令同时使能会造成6 号错误

?库存储区被程序其它地方复用,有时也会造成6 号错误

?从站delay 参数设的时间过长会造成主站3 号错误

?从站掉电或不运行,网络故障都会造成主站3 号错误

3. 在CPU 的V 数据区中为库指令分配存储区(Library Memory )

Modbus Master 指令库需要一个284个字节的全局V 存储区。

参考:分配库指令数据区

1.3 关于Modbus RTU 主站协议及地址

此为西门子正式推出的标准库指令说明资料。

在Modbus RTU Master 协议和PPI 协议之间切换:

Modbus 数字量地址映射举例:

位地址(0xxxx 和1xxxx)数据总是以字节为单位打包读写。第一个字节中的最低有效位对应Modbus 地址的起始地址。如下图所示:

图4. 数字量地址映射举例

1.4 Modbus RTU 主站例程

为了更好地理解Modbus 主站的编程,可参考下面的例程。

例子程序1: 多个MBUS_MSG指令轮询执行,

注意

? 1. 该例程使用Micro/WIN V4.0 SP5 保存。

? 2. 该例程仅访问一个从站,若访问不同的从站,可通过改变从站地址来实现。

Modbus RTU 主站指令库应用例程

例子程序2:反复激活单个MBUS_MSG指令:

Modbus RTU 主站变址方式轮询访问应用例程

注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

1.5 Modbus RTU 主站常问问题

Modbus RTU 主站库对CPU 的版本是否有要求,为什么编译例子程序时,会遇到 4 个错误?

Modbus RTU 主站库对CPU 的版本确实有要求,CPU 的版本必须为2.00 或者2.01(即订货号为6ES721*-***23-0BA*),1.22 版本之前(包括 1.22 版本)的S7-200 CPU 不支持。

Modbus 指令库启动后,如何通过同一个通信端口进行CPU 监控?

Modbus 指令库使用的是CPU 的自由口通信功能,工作在自由口模式下的通讯口不能使用Micro/WIN 的PPI 编程通信监控。如果通信口都已经被占用,可以考虑:

?加一个通信模块(如EM 277、CP 243-1、EM 241 等)扩展出一个编程通信口

?中止自由口模式,可以将CPU 上的模式开关从RUN 拨到

STOP;或者保持处于RUN 状态,用程序停止指令库的Modbus

模式(参见指令库应用)

如何理解Modbus 地址与功能码的区别?

Modbus 地址与Modbus 的功能码是两个层次的概念。

根据Modbus 通信协议,Modbus 数据的地址使用0xxxx、1xxxx、3xxxx 和4xxxx 的形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址。在使用S7-200 的指令库时,Modbus 数据地址与S7-200 的I/O 和数据存储区地址间有特定的对应关系。

有些设备表明它支持Modbus RTU 通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定Modbus 站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓"功能码",如功能 1 指定读取单个/多个数字量输出点的值。

支持Modbus 协议的设备或软件,使用时用户直接设置或看到的应当是Modbus 数据地址。Modbus 地址所访问的数据,是通过各种"功能"读写而来。功能码是Modbus 地址的底层。如果Modbus 通信的一方提供的所谓Modbus 协议只有功能码,则需要注意了解此功能号与Modbus 地址间的对应关系。

如何访问大于9999 的保持寄存器地址?

通常Modbus 协议的保持寄存器地址范围在40001 - 49999 之间。对于多数应用来说已经够了。但有些Modbus 从站把地址映射到保持寄存器区的地址超过9999 的部分。

Modbus Master 协议库支持超过9999 的保持寄存器地址。地址范围为400001 - 465536。只需在调用MBUS_MSG 子程序时给Addr 参数赋相应的值即可,如416768。

Modubs Master 扩展地址模式仅支持保持寄存器区,不支持其他地址类型。

S7-200 作为Modbus 主站方接收上来的数据格式与第三方设备不一样怎

么办?

西门子PLC数据的存储格式为高位低存方式。举例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方设备与西门子数据存储格式不同,是低位低存的方式,那么通信上来的数据就会存在错误,需要进行转换才能使用。编程的方式比较多样,针对双字中高低字的交换可以使用SWAP(字交换)指令,若是字节交换可以考虑循环移位指令。

S7-200 是否支持如Modbus TCP 等其它协议?

不支持。S7-200自身的通信端口或其通信扩展模块均不支持Modbus TCP、CANopen、DeviceNet 以及BACnet 通信协议。

为什么S7-200 作Modbus 主站时MBUS_MSG 指令报6号错误?

引起6号错误主要有两方面的原因:1.多个MBUS_MSG 指令同时使能执行;

2. Modbus库存储区中分配的建议地址区与编程中已使用的V存储区有重叠。2Modbus RTU从站

2.1 CPU 上的通信口(Port0)支持Modbus RTU 从站通信协议

S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU 从站。此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。

详情请参考《S7-200系统手册》之相关章节。

要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。

Modbus RTU从站指令库只支持CPU上的通信0口(Port0)。

2.2 编程基本步骤:

检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。

检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,须安装

Micro/WIN32 V3.2的Instruction Library(指令库)软件包;

图1. 指令树中的库指令

编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到;

图2. 调用Modbus RTU通信指令库

如有必要,使用主站软件测试。

注意:由子程序参数HoldStart和MaxHold指定的保持寄存器区,是在S7-200 CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通信。注意Modbus 中的保持寄存器区按"字"寻址,即MaxHold规定的是VW而不是VB的个数。

在图2的例子中,规定了Modbus 保持寄存器区从VB0 开始(HoldStart =

要从VB0开始。

注意:你选用的CPU的V存储区大小!CPU型号不同V数据存储区大小不同。应根据需要选择Modbus保持寄存器区域的大小。

包含Modbus RTU 从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus 测试软件可以检验S7-200的Modbus RTU 通信是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。如果必要,须将PC/PPI电缆设置在自由口通信方式。可到一些软件下载网站寻找类似软件,如ModScan32 等。

2.5 Modbus RTU 从站例程

Modbus RTU 从站例程

需要STEP 7-Micro/WIN V4.0 SP3 以上版打开2.6 Modbus RTU 从站常见问题

Modbus 从站的网络地址与S7-200 的CPU 网络地址有什么关系?

没有关系。支持网络通信的通信协议必须有其自己的网络寻址规定。Modbus 从站的地址只是它在Modbus 网络上的地址,而通常所说的S7-200 CPU 地址是CPU 在西门子的PPI 网络上的站地址。S7-200 CPU 的大部分通信功能都通过PPI 网络完成,例如编程、网络读写通信等。

如何理解Modbus 地址与功能码的区别?

Modbus 地址与Modbus 的功能码是两个层次的概念。

根据Modbus 通信协议,Modbus 数据的地址使用00xxx、10xxx、30xxx 和40xxx 的形式,分别表示数字量输出、数字量输入、模拟量输入等数据地址。在使用S7-200 的指令库时,Modbus 数据地址与S7-200 的I/O 和数据存储区地址间有特定的对应关系。

有些设备表明它支持Modbus RTU 通信协议,但也详细提供了读写数据的详细通信帧格式,其中包括如何指定Modbus 站的地址,需要读写数据类型、长度等等。数据帧有特定字节指出此指令读写的数据类型和地址,此字节的数据内容即所谓"功能码",如功能 1 指定读取单个/多个数字量输出点的值。

支持Modbus 协议的设备或软件,使用时用户直接设置或看到的应当是Modbus 数据地址。Modbus 地址所访问的数据,是通过各种"功能"读写而来。功能码是Modbus 地址的底层。如果Modbus 通信的一方提供的所谓Modbus 协议只有功能码,则需要注意了解此功能号与Modbus 地址间的对应关系。

Modbus 指令库启动后,如何通过同一个通信端口进行CPU 监控?Modbus 指令库使用的是CPU 的自由口通信功能,工作在自由口模式下的通讯口不能使用Micro/WIN 的PPI 编程通信监控。如果通信口都已经被占用,可以考虑:

?加一个通信模块(如EM 277、CP 243-1、EM 241 等)扩展出一个编程通信口

?中止自由口模式,可以将CPU 上的模式开关从RUN 拨到

STOP;或者保持处于RUN 状态,用程序停止指令库的Modbus

模式(参见指令库应用)

为何有些HMI 软件使用Modbus RTU 读取S7-200中的实数会出现错误?有些HMI软件使用Modbus RTU通信协议时,处理存储在数据保持寄存器中的实数(浮点数)的方式与西门子的实数保存格式不同。西门子的PLC遵循"高字节低地址、低字节高地址"的规律。

Modbus RTU的保持寄存器总是以"字(双字节)"为单位,而一个实数需要4个字节(双字)表示。HMI软件在处理时可能会把保持寄存器的两个"字"互换位置,造成不能识别以西门子格式表示的实数。如果HMI软件一方无法处理这种实数,则可在S7-200 CPU中编程将存入数据缓冲区(保持寄存器区)的实数的高字和低字互换。

为何有的HMI软件用Modbus RTU可以读取作为从站的S7-200的内容,但不能写入?

可能此软件使用了Modbus功能15(写多个离散量)或类似功能(功能16)。S7-200从站协议遵守"以整字节地址边界(如Q0.0、Q2.0)开始、以8的整数

倍为位个数"的规约。如果HMI软件未严格执行此规律就可能发生写入错误的情况。

S7-200是否支持Modbus ASCII 模式?

S7-200可以支持上述模式,但是没有现成的指令库,需要用户自己编程。

项目编译后为何出现很多错误?

使用指令库时,若编译后出现很多错误,一般是因为未指定库指令数据存储区。请参考相关条目。

S7-200 CPU的Port1是否可以支持Modbus RTU协议?

可以。用户可以自己编程实现。

在S7-200的"Tips and Tricks"帮助文档中,Tip041是Modbus

RTU从站程序,用户可以参考。

S7-200是否可以组成Modbus RTU通信网络?如何组网?

S7-200可以组成RS-485基础上的Modbus RTU网络。如果通信对象是不同标准的通信口,可能还需要转换。

参见:RS-485网络组成

3STEP 7-Micro/WIN 的标准指令库

STEP 7-Micro/WIN V4.0 以上版内部已经带有新的指令库,但在未安装西门子Instruction Library 软件包的情况下,不能显示出来使用。

要使用西门子的标准指令库,必须先安装西门子的指令库软件包

Instruction Library。安装了Instruction Library 之后,只要安装的

STEP 7-Micro/WIN 版本是最新的,就能获得相应版本的新指令库。

安装Micro/WIN 的升级包(Service Pack)也会更新指令库的版

本。

用户可以直接从下面获得西门子Instruction Library 软件安装包:

Instruction Library

最新的STEP 7-Micro/WIN V4.0 SP5 版本支持以下几种西门子标准指令库:?USS通信协议库:

可使CPU通信口Port0 和Port 1 支持与Micro-Master 3(MM3

系列)和Micro-Master 4(MM4系列,如MM420、MM430、MM440

等)、SINAMICS G110系列的USS通信控制,通过一些预先编

好的子程序和中断程序,以方便地控制变频器的运行和读写其参数。

Micro/WIN V4.0的USS指令库现在已经针对西门子的Master

Drive做了优化。

?Modbus RTU Slave(从站)通信协议库:

可使CPU通信口Port0 支持Modbus RTU从站通信功能。

?Modbus RTU Master (主站)通信协议库:

可使CPU 通信口Port 0 和Port 1 支持Modbus RTU 主站通

信功能。

以上通信协议库都是使用了S7-200 CPU的自由口通信功能。

图1. 西门子标准库以浅蓝色图标表示(Micro/WIN V4.0 SP5)

从以下两种途径可以获得STEP 7-Micro/WIN指令库:

?安装STEP 7-Micro/WIN32 附加软件包Instruction Library V1.1,订货号6ES7830-2BC00-0YX0。

?已安装STEP 7-Micro/WIN32 V3.1和Toolbox V1.0(包括为TP070配置的TP Designer和老的指令库,订货号6ES7810-2TC00-0YX0),再

安装正式的STEP 7-Micro/WIN32 V3.2(或V4.0)版,也可自动获得

新的指令库。新旧版本的软件及其指令库可以在一台计算机上共存

(V4.0 的各升级包不能共存)。

注意:

?所有旧的CPU21x不能使用新的指令库

?旧版本的指令库不能与新的指令库在同一个项目文件中共存

?安装了新版本的指令库后,旧版本的指令库不再能够看到

?用户自定义的指令库不能与西门子的库重名

有时因为系统和软件安装有问题,可能在安装完西门子标准指令库后仍然不能看到西门子标准库。这时可以尝试添加标准库。标准

库的文件存在Micro/WIN安装目录下的Standard Libs目录下。

3.1 分配库指令数据区

调用STEP 7 - Mciro/WIN32 V3.2 Instruction Library(指令库)需要分配库指令数据区(Library Memory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。

如果在编程时不分配库指令数据区,编译时会产生许多相同的错误(错误18)。操作步骤(以Modbus RTU库指令为例):

在指令树的Project(项目)中,以鼠标右键单击Program Block(程序块),在弹出的快捷菜单中选择Library Memory。如图2所示:

图2

在弹出的选项卡中设置库指令数据区,如图2所示:

图3.缺省情况下是从VB0开始,但因为与Modbus的保持寄存区冲突,所以手动改为VB2000。按"Suggest Address"按钮也可以自动分配。

可以使用Suggest Address(推荐地址)设置数据区,但要注意编程软件设置的数据区地址,只考虑到了其他一般寻址,而未考虑到诸如

Modbus数据保持寄存器区等的设置。应当确保不与其他任何已使用的

数据区重叠、冲突。不应重复按Suggest Address按钮,否则也会造

成混乱。

在STEP 7-Micro/WIN32 V3.1中,有分配库指令数据区时有不同的操作方法,需要在Symbol Table(符号表)中设置一个首地址。我们

强烈建议使用当时最新的编程版本。

3.2 添加指令库

注意:添加自定义指令库,需要关闭编辑库指令的项目,新建立一个项目。如果要添加其他来源的库指令自然不需要如此。

第一步:在Micro/WIN的File(文件)菜单中选择Add/Remove Libraries...(添加/删除指令库)命令;或者在指令树的Libraries(指令库)分支上单击鼠标右键,选择Add/Remove Libraries...

图4. 选择添加/删除指令库命令

添加/删除对话框中将显示已经在本机的Micro/WIN中集成的用户自定义指令库。

图5. 已安装的库指令

第二步:按Add(添加)按钮,选择新定义的库文件路径。用户自定义库将自动添加到Micro/WIN指令树的Libraries分支下。

图6. 选择库文件

缺省情况下,Micro/WIN到图8中的路径下寻找库指令文件。用户也可以指定其他路径。但要注意库文件应当保持在非移动的介质上,如果指定了一个可移动硬盘,则硬盘不在时会发生找不到库的错误。建议用户使用缺省设置。

3.3 删除库指令

第一步:选择添加/删除指令库命令

图7. 选择命令

第二步:选中须卸载的库所对应的库文件,按Remove(删除)按钮

图8. 选中要删除的库指令文件

4RS-485网络

S7-200系统支持的PPI、MPI和PROFIBUS-DP协议通常以RS-485电气网络为硬件基础。

RS-485串行通信标准采用平衡信号传输方式,或者称为差动模式。平衡传输方式可以有效地抑制传输过程中干扰。

平衡方式采用一对导线,利用两根导线间的电压差传输传输信号。这两根导线被命名为A(TxD/RxD-)和B(TxD/RxD+)。当B的电压比A高时,认为传输的是逻辑"高"电平;当B的电压比A低时,认为传输的是逻辑"低"电平信号。能够有效工作的差动电压范围十分宽广,可以从零点几伏到接近十伏。

RS-485通信端口可以做到很高的通信速率,较长的通信距离,以及并联连接多个端口。

平衡通信方式能否有效工作受到共模电压差的影响。RS-485接口的两根导线相对于通信对象信号地的电压差就是共模电压。非电气隔离的

RS-485接口能在一定的范围内抵抗共模电压对通信的干扰。

S7-200 CPU通信口的共模抑制电压是12V。所以对于这类非隔离型的

RS-485端口,保证通信口之间的信号地等电位非常重要,最好将它们

连接在一起(并不是说一定要接地)。

S7-200系统中的RS-485端口是半双工的,不能同时发送和接收信号。

在S7-200系统中,选择合适的通信设备,可以做到波特率从1200到12M,单段距离1000m,单段站点32个的通信网络。通过中继器,RS-485电气网络还可以扩展通信距离,增加通信站点。详情请参考《S7-200系统手册》关于通信的专门一章。

虽然常见的RS-485通信器件在电气性能上基本一致,但物理接口却五花八门,没有统一的规定。

西门子系统中的D-Sub 9 针型RS-485 端口,引脚定义是基本一致的。

4.1 S7-200系统中的RS-485通信

在S7-200系统中,CPU上的通信口(编程口),以及EM277模块上的通信端口都是符合RS-485电气标准的。但它们也有所不同:

?S7-200 CPU上的通信口是非隔离型的,最高通信速率187.5K波特

?EM277上的通信口是隔离的,最高通信速率12M,并且速率自适应

以下三种协议,都可以在RS-485的硬件基础上实现通信:

?PPI(包括编程通信、S7-200 CPU之间、S7-200 CPU与HMI之间的通信等)

?MPI(S7-200 CPU与S7-300/400 CPU、S7-200 CPU与HMI之间、EM277与HMI之间的通信等)

?PROFIBUS-DP(EM277与其他PROFIBUS-DP主站之间的通信)实际上,如果各通信站点的地址不同,通信波特率相同,上述三个协议可以在一个RS-485网络上同时实现各自的通信。当然,一个站点支

持什么协议受到自身条件所限。

因此考察上述电气网络的通信时,我们应注意到它们都受RS-485网络

电气基础的制约。上述网络所用的网络硬件基本一样。

5RS-485网络的硬件组成

在S7-200系统中,无论是组成PPI、MPI还是RPOFIBUS-DP网络,或是Modbus RTU网络,用到的主要部件都是一样的:

?PROFIBUS电缆:电缆型号有多种,其中最基本的是PROFIBUS FC(Fast Connect快速连接)Standard电缆(订货号6XV1 830-0EH10)?PROFIBUS网络连接器:网络连接器也有多种形式,如出线角度不同等等

西门子指令解释

置位/复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。对于置位操作,一旦RLO为1,则被寻址信号(输出信号)状态置1,即使RLO又变为0,输出仍保持为1;对于复位操作,一旦RLO为1,则被寻址信号(输出信号)状态置0,即使RLO又变为0,输出仍保持为0。 语句表STL表示的置位/复位指令 ●R Reset 复位指令 ●S Set 置位指令 梯形图LAD表示的置位/复位指令 ●---( S ) Set Coil 线圈置位指令 ●---( R ) Reset Coil 线圈复位指令 ●SR Set-Reset Flip Flop 复位优先型SR双稳态触发器指令 ●RS Reset-Set Flip Flop 置位优先型RS双稳态触发器指令 位逻辑指令的运算结果用两个二进制数字1和0来表示。可以对布尔操作数(BOOL)的信号状态扫描并完成逻辑操作。逻辑操作结果称为RLO(result of logic operation)。 语句表STL表示的基本位逻辑指令 ● A And 逻辑“与” ●AN And Not 逻辑“与非” ●O Or 逻辑“或” ●ON Or Not 逻辑“或非”

●X Exclusive Or 逻辑“异或” ●XN Exclusive Or Not 逻辑“异或非” ●= Assign 赋值指令 ●NOT Negate RLO RLO取反 ●SET Set RLO (=1) RLO=1 ●CLR Clear RLO (=0) RLO=0 ●SAVE Save RLO in BR Register 将RLO的状态保存到BR。边沿信号识别指令。 位逻辑指令的运算规则:“先与后或”。 可以用括号将需先运算的部分括起来,运算规则为: “先括号内,后括号外”。 梯形图LAD表示的基本位逻辑指令 ●---| |--- Normally Open Contact (Address) 常开触点 ●---|/|--- Normally Closed Contact (Address) 常闭触点 ●---(SAVE) Save RLO into BR Memory 将RLO的状态保存到BR ●XOR Bit Exclusive OR 逻辑“异或”

西门子S7200与VLT2800 Modbus RTU通讯调试说明

Modbus Modbus , Modbus Modbus Modbus 1 Modbus Modbus RS-232C Modem Modbus Modbus 2 Modbus 3 1 03 2 ASCII RTU Modbus Modbus ASCII : 1 ... n LRC LRC RTU

1 ... n CRC CRC ASCII RTU Modbus MAP Modbus Plus Modbus 1 ASCII Modbus ASCII 8Bit ASCII 1 ASCII 0...9 A...F ASCII 1 7 1 1 2 Bit LRC( ) 2 RTU Modbus RTU 8Bit 4Bit ASCII 8 0...9 A...F 8 1 8 1 1 2 Bit CRC( ) Modbus ASCII RTU Modbus RTU 3.5 0...9,A...F 3.5

1.5 3.5 CRC CRC T1-T2-T3-T4 8Bit 8Bit n 8Bit 16Bit T1-T2-T3-T4 1 ASCII 8Bit RTU 0...247 ( ) 1 (247) 0 Modbus 2 ASCII 8Bits RTU 1 (255) ( ) 1 0 0 0 0 0 0 1 1 03H 1 0 0 0 0 0 1 1 83H 3 00...FF ASCII RTU 03 10 0 0B 4 Modbus ASCII ASCII ASCII LRC LRC RTU

RTU 16Bits ( 8 ) CRC CRC Modbus LRC CRC RTU CRC CRC CRC 16 CRC CRC CRC 1 16 8 8Bit CRC CRC 8 OR 0 LSB LSB 1 LSB 0 8 8 8 CRC CRC 1.2004 6 15 VLT6000 2.6X VLT2800 2.8X Modbus RTU 175Z3362 Modbus RTU VLT6000 VLT2800 Modbus RTU RS485 +/- 68/69 LCP 5XX 9600Baud, 19200Baud. 2.DANFOSS ANFOSS ANFOSS SIMATIC S7-200 PLC S7-200 PLC FreeportMode DANFOSS DANFOSS VLT2800 MODBUS RTU .S7

几种通信总线详尽总结

微处理器中常用的集成串行总线是通用异步 接收器传输总线(UART)、串行通信接口(SCI) 和通用串行总线(USB)等,这些总线在速度、 物理接口要求和通信方法学上都有所不同。本文详细介绍了嵌入式系统设计的串行总线、驱动器和物理接口的特性,并为总线最优选择提供性能比较和选择建议。 由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与PC软件、开发系统(如仿真器)或网络中的其它设备进行通信。目前流行的通信一般采用串行或并行模式,而串行模式应用更广泛。 微处理器中常用的集成串行总线是通用异步接收器传输总线、串行通信接口、同步外设接口(SPI)、内部集成电路(I2C) 和通用串行总线,以及车用串行总线,包括控制器区域网(CAN)和本地互连网(LIN)。这些总线在速度、物理接口要求和通信方法学上都有所不同。本文将对嵌入式系统设计的串行总线、驱动器和物理接口这些要求提供一个总体介绍,为选择最优总线提供指导并给出一个比较图表(表1)。为了说明方便起见,本文的阐述是基于微处理器的设计。 串行与并行相比 串行相比于并行的主要优点是要求的线数较少。例如,用在汽车工业中的LIN 串行总线只需要一根线来与从属器件进行通信,Dallas公司的1-Wire总线只使用一根线来输送信号和电源。较少的线意味着所需要的控制器引脚较少。集成在一个微控制器中的并行总线一般需要8条或更多的线,线数的多少取决于设计中地址和数据的宽度,所以集成一个并行总线的芯片至少需要8个引脚来与外部器件接口,这增加了芯片的总体尺寸。相反地,使用串行总线可以将同样的芯片集成在一个较小的封装中。 另外,在PCB板设计中并行总线需要更多的线来与其它外设接口,使PCB板面积更大、更复杂,从而增加了硬件成本。此外,工程师还可以很容易地将一个新器件加到一个串行网络中去,而且不会影响网络中的其它器件。例如,可以很容易地去掉总线上旧器件并用新的来替代。

西门子工业通信网络指南

第一章概述 1.1 自动化控制系统的发展 1.2 全集成自动化 1.3 SIMATIC NET工业通信网络 第二章MPI通信 2.1 MPI概述 2.2 MPI网络 2.3 设置MPI 2.3.1 设备MPI参数 2.3.2 PC侧的MPI通信卡的类型 2.3.3 利用电话网程编程 2.4 PLC-PLC之间通过MPI通信 2.4.1 全局数据包通信方式只适用于S7300/400之间通信2.4.2 无组态连接通信方式 双边编程通讯方式:适用于S7300/400之间通信单边编程通讯方式:适用于S7300/400之间通信2.4.3 组态连接通信方式 2.5 S7PLC与HMI产品之间的MPI通信 2.5.1 PLC与TP/OP通信 2.5.2 S7PLC与监控软件WinCC的MPI通信 2.5.3 WinCC和PLC之间的远程通信 第三章PROFIBUS通信 3.1 PROFIBUS介绍 3.1.1 PROFIBUS的协议结构和类型 3.1.2 PROFIBUS总线和总线终端器 3.2 PROFIBUS总线的拓扑结构 3.2.1 PROFIBUS电气接口网络 3.2.2 PROFIBUS光纤接口网络 3.2.3 其他PROFIBUS接口网络 3.3 PROFIBUS总线设置和属性 3.4 PROFIBUS的应用 3.5 PROFIBUS诊断 3.6 PROFIBUS连接从站设备的应用 3.7 FDL通信方式 3.8 FMS通信方式 3.9 PROFIBUS-S7通信 第4章工业以太网通信 4.1以太网简介 4.1.1 以太网的诞生 4.1.2 以太网的发展历史 4.1.3 以太网技术 4.2 工业以太网 4.2.1 与传统以太网的比较 4.2.2 以太网应用于工业自动化中的关键问题及发展方向

Modbus RTU通讯协议

要实现Modbus RTU通信, 一、需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。 Modbus RTU从站指令库只支持CPU上的通信0口(Port0) 基本步骤: 1. 检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。 2. 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当 包括MBUS_INIT和MBUS_SLAVE两个子程序。 如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包; 1. 西门子编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用 MBUS_SLAVE,并指定相应参数。 关于参数的详细说明,可在子程序的局部变量表中找到; 调用Modbus RTU通信指令库图中参数意义如下: a. 模式选择:启动/停止Modbus,1=启动;0=停止 b. 从站地址:Modbus从站地址,取值1~247 c. 波特率:可选1200,2400,4800,9600,19200,38400,57600,115200 d. 奇偶校验:0=无校验;1=奇校验;2=偶校验 e. 延时:附加字符间延时,缺省值为0 f. 最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128, 缺省值为128 g. 最大AI字数:参与通信的最大AI通道数,可为16或32 h. 最大保持寄存器区:参与通信的V存储区字(VW) i. 保持寄存器区起始地址:以&VBx指定(间接寻址方式) j. 初始化完成标志:成功初始化后置1

用西门子CP341实现Modbus RTU通讯

用西门子CP341实现Modbus RTU通讯 1 概述 CP341模块是西门子S7—3001400系列PLC中的串行通讯模块。该模块具有1个串行通讯口(RS232C或 TTY或RS485/422),RS422/485的通讯最大距离位1200m。支持以下协议ASCII,ModbusRTU远程终端,Data Highway(DF1协议),电气接口为15针D型孔接 4 CP341驱动配置 在您的计算机上首先安装STEP7 5.x软件和CP34x模板所带的软件驱动程序.模板驱动程序包括了对CP341进行参数化的窗口(在STEP7的硬件 组态界面下可以打开)、用于串行通讯的FB程序块。当系统上电,CP34x模板初始化完成后,CP34x上的sF灯点亮: 在硬件组态窗口中双击CP341模板,打开CP341模板的属性窗口,选择通讯协议modbus,网络工作方式设置为半双工,请记录下模板的硬件地址 以便在编程序时用到。双击CP341模板属性窗口中的protocol 协议图标进行协议参数设置,这里我们使用默认值:96oo bit,s, 8 data bits, 1 stop bit,even parity。对的硬件组态存盘编译,下载硬件组态.如果此时sF灯亮.请将通讯电缆与另一个通讯伙伴进行连接后.SF灯熄灭,说明硬件组态正确。 5 程序编写 (1)CP341发送模块的设计而发送程序主要是通过调用功能块FB8来实现,FB8 是基于上升沿触发工作的.来一个上升沿FB8工作一次向总线上发 送一个请求数据包,所以在程序中一定要设计一个触发代码段,来不断的使REQ:=M50.0循环往复的置“1”置“0”,这样FB8就可以正常运行了。 在设计程序时一定要注意FB8的参数SF:=‘S’及R_TYP:=‘X’的值都是大写否则程序调试不成功。FB8需要一个背景数据块.这一背景数据块一般由系统自动生成.以上程序中为DB3;对于通过CP34 1的Modbus Master驱动通讯的发送模块需要设计发送数据块DB块.用来对主站发送参数进行设置和初始化。 Modbus能够实现的功能代码共有10个.分别针对不同的寄存器读写功能设置.功能代码Initial value:B#16#4的功能是读从站的输出数据寄存器 整数型、状态字或浮点型数据:寄存器的起始地址Initial value:W#16#0是功能代码规定的寄存器的起始地址;读取寄存器的数目Initial value:4的意义是从起始地址开始总共读取4个寄存器。 (2)CP341接收程序的设计 接收程序是调用FB7来实现的,由于CP341可以处理接收程序的细节部分.因此对于设计者来说只需要进行简单的设计就可以实现数据的接收。接 收程序同样也需要设计背景数据块本例中为Db44块和接收数据块本例中为DB5块。 (3)装载设计好的发送接收程序FC 1与FC2。 6 参数化远程从站RTU . 以上介绍的是Modbus主站的应用与程序设计,没有对远程终端RTU从站进行介绍.其实在进行程序调试时必须对从站进行一些参数设置使其参 数与主站要求的一致,包括协议类型、从站地址、寄偶校验、传输超时等,否则

西门子Port1接口定义

西门子的编程口都是口的。你用的接线方法做线肯定要失败。 图上的是的线,你还需要一个转的东西,可以参考德阳四星的转换器。 另外就是一根标准的线(自己做)。 此文原创为工控网“老菜鸟”希望吃水不忘打井人在工控上看到他记得 表示感谢。备注我不是老菜鸟。........下面先简单了解一下支持的通信 协议........比较详细的介绍请参阅《可编程控制器系统手册》第章通过 网络进行通信。........下面仅简单说明一下部分通信协议协议........该协议是西门子内部协议不公开。点对点接口是一个主从协议。主站向 从站发送申请从站进行响应从站器件不发信息不初始化信息只是等待 主站的要求并对要求作出响应。但当主站发出申请或查询时从站对其响应。主站可以是其他主机如等、编程器或文本显示器。网络中的所有都 默认为从站。系列中一些如果在程序中允许主站模式则在模式下可以作 为主站此时可以利用相关的通信指令来读写其他主机同时它还可以作 为从站来响应其他主站的申请或查询。........主站靠一个协议管理的共

享连接来与从站通讯。并不限制与任意一个从站通讯的主站数量但是在 一个网络中主站的个数不能超过。如果在用户程序中使能主站模式在运行模式下可以作主站。在使能主站模式之后可以使用网络读写指令来 读写另外一个。当作主站时它仍然可以作为从站响应其它主站的请求。 高级允许网络设备建立一个设备与设备之间的逻辑连接。对于高级每个设备的连接个数是有限制的。所有的都支持和高级协议而模块仅仅支持高级协议。协议是专门为开发的通信协议。的通信口、支持通信协议的一些通信模块也支持协议。与进行编程通信也通过协议。的网络通信是建立在网络的硬件基础上因此其连接属性和需要的网络硬件设 备是与其他网络一致的。之间的网络通信只需要两条简单的指令它们 是网络读和网络写指令。在网络读写通信中只有主站需要调用指令从站 只需编程处理数据缓冲区取用或准备数据。网络上的所有站点都应当有各自不同的网络地址。否则通信不会正常进行。........可以用两种方法编程实现网络读写通信.使用指令编程实现.使用中的指令向导中的向导。........使用通讯方式这是的专用通讯方式使用对中继器可以最远达到。支持的波特率有三种。这种方式是最容易实现的通讯只要编程设 置主站通讯端口的工作模式然后就可以用网络读写指令读写从站数据。 协议........该协议是西门子内部协议不公开。是多点通信的接口是一种适用于少数站点间通信的网络多用于连接上位机和少量之间近距离 通信。通过电缆和接头将控制器或的自带的编程口及自带的通信口相互 连接以及与上位机网卡的编程口口通过或电缆连接即可实现。网络中当然也可以不包括机而只包括。允许主主通讯和主从通讯。每个通信口

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

西门子S7200与变频器MODBUS通讯实例详解 西门子S7200PLC简介 西门子S7-200PLC在实时模式下具有速度快,具有通讯功能和较高的生产力的特点。一致的模块化设计促进了低性能定制产品的创造和可扩展性的解决方案。来自西门子的S7 - 200微型PLC可以被当作独立的微型PLC解决方案或与其他控制器相结合使用。 Modbus通讯协议简介 Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。 ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。 1 MODBUS RTU协议在S7-200中的应用原理 1.1 MODBUS RTU协议与S7-200相互关系简介 S7-200 CPU上的通讯口Port0可以支持MODBUS RTU协议,成为MODBUS RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 想在S7-200 CPU与其他支持MODBUS RTU的设备使用MODBUS RTU协议通讯,需要由有S7-200 CPU做MODBUS主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 2 从站指令的用法: S7-200控制系统应用中,MODBUS RTU从站指令库只支持CPU上的通讯0口(Port0)。要

西门子总线连接器

1、DP总线连接器是PROFIBUS DP协议中主站和从站电缆之间的RS485通用接口器件,主要应用于制造业自动化系统中单元级和现场级通信,在PLC通讯口与Profibus电缆之间以轮循通讯的方式传输数据,能够以12 M比特率的传输速率进行信号传输,并带有内置的终端匹配电阻。 2、连接器的设计充分考虑到了电缆进线角度及缓解拉紧的问题,内置的接地金属片有效地防止了共模干扰,并具有较强的电磁兼容性能。

3、使用方便,直接将总线电缆接入DP总线连接器并将连接器插口插入Profibus主/从站的接口、用螺丝钉固定即可。 4、适用性强,有带编程口的OBB型和不带编程口的0BA型2种类型:电缆接入形式有垂直接入式和35°角接入式,可以方便地应用于不同场合。 6ES7 972-0BA12-0XA0 PROFIBUS总线连接器最大12 Mbit/s,90度出线,带有隔离功能的终端电阻,无编程器接口。 6ES7 972-0BB12-0XA0 PROFIBUS总线连接器最大12 Mbit/s,90度出线,带有隔离功能的终端电阻,有编程器接口。 6ES7 972-0BA41-0XA0 PROFIBUS总线连接器最大12 Mbit/s,35度出线,带有隔离功能的终端电阻,无编程器接口。 6ES7 972-0BB41-0XA0 PROFIBUS总线连接器最大12 Mbit/s,35度出线,带有隔离功能的终端电阻,有编程器接口。 6ES7 972-0BA50-0XA0 PROFIBUS总线连接器最大12 Mbit/s,90度出线,带有隔离功能的终端电阻,快速连接,无编程器接口。 6ES7 972-0BB50-0XA0 PROFIBUS总线连接器最大12 Mbit/s,90度出线,带有隔离功能的终端电阻,快速连接,有编程器接口。

西门子PLC通讯规则及BUS线故障查找

西门子PLC414的通讯规则 1、Prifibus通讯示意图,仅供培训参考用。 2、西门子PLC通讯规则: (1)若数据继续往下面模板传送,该块模板与下面的模板之间还有通讯,则该块模板BUS的ON/OFF开关必须拨到OFF的位 置,表示数据还要继续传送。 (2)只有在PLC通讯的首尾两块模板才需要把ON/OFF开关拨到ON位置,表示接上截至电阻,信号不再往下传送,通过截止 电阻构成回路。 (3)ET200从站是CPU与外挂输入/输出模板之间的中间处理单元,ET200上有地址位可以设置该块模板的通讯地址。 (4)主CPU414与从站之间的寻址是通过从站ET200设定的地址位来寻址。 (5)西门子PLC通讯规则,哪一根BUS线通讯有问题,则该BUS 线(往后传送)后面的PLC模板会出现BUS报警,前面通讯 正常的模板上不会BUS报警。 (6)当两个从站的地址相同时,地址相同的两块从站BUS线都会报警,但其它没有错误的从站BUS不报警。

(7)PLC一通电,就开始检查各个模板的地址是否正确,如地址不 对,则产生PLC通讯错误,BUS灯闪烁。如地址正确,这时再 把地址故意设置错误,PLC也不会报警,BUS灯不闪烁,当重新 启动PLC的CPU后,才会产生BUS线通讯报警。当PLC模板 地址错误时,设定完成新的地址后,必须关闭电源,重新开电, 重新启动PLC。否则,CPU将无法识别新的通讯地址,仍然会 有BUS线通讯报警。(在广州燕塘故障排除课程中已经验证) (8)注意:各个ET200从站的地址是从ET200发给PLC的 CPU 的,当重新设定ET200地址后,关闭CPU414的电源再启动后, ET200从站的地址仍然无法正确识别,BUS线仍然报警。但是在 设置完正确的ET200从站的地址,关闭ET200从站的电源再启 动后,CPU414能够正确识别ET200从站的地址,BUS线不再报 警。(在济南佳宝712机器上已经验证) 2、CPU414有两个通讯端口,MPI通讯端口与CPU412和PC计算机之间通 讯。 3、CPU414上的Prifibus通讯端口,是主CPU与A11、A12、A13、A1 4、 A15、A16、A17、A18(UHT)、A19(CIP)等从站之间的通讯。 二、PLC BUS线通讯故障。 (一)所有的从站BUS线BUS线都报警的原因 1、凡是Prifibus线通讯的首尾两端的从站(不再继续往下传送数据的从 站),BUS线插头应该拨到ON位置的,如果把BUS线插头拨到OFF 位置,这样截止电阻就未接到Prifibus通讯线上,Prifibus通讯线就构 不成回路,从而导致所有的ET200从站(包括UHT和CIP从站)和 CPU414主站上的BUS线都报警。(经过佳宝CF712_870751048灌装 机的实际检验,当把UHT、CIP、A21、A18(无菌风站)这四个从站 任意一个从站的BUS插头的ON/OFF开关由ON位置拨到OFF位置 时,所有的ET200从站和CPU414主站上的BUS线都报警)(在广州 杨协成和济南佳宝都已测试) 2、当BUS线在某一处断了(无论在何处断线),Prifibus通讯的两 根线就构不成回路,同样会导致所有的ET200从站(包括UHT和 CIP从站)和CPU414主站上的BUS线都报警。(在广州杨协成和 济南佳宝都已测试)

SIMOTION 工业以太网通信入门要点

1.SIMOTION工业以太网网络介质 西门子工业以太网网络通常使用的物理传输介质为屏蔽双绞线(FC TP)、工业屏蔽双绞线(ITP)和光纤。 1.1 屏蔽双绞线(Fast Connection Twist Pair) FC TP快速连接双绞线用于将DTE快速连接到工业以太网上,配合西门子FC TP RJ45接头使用,连接方式如图1所示: 图1:FC TP电缆与TP RJ45接头 将双绞线按照TP RJ45接头标示的颜色插入连接孔中,快捷、方便地将DTE设备连接到工业以太网上。使用FC双绞线从DTE到交换机最长通信距离为100米(DTE到DTE)。也可以使用普通RJ45接头,为了保证数据传输的可靠性,在无干扰情况下最长通信距离为5米。 RJ-45连接有两种连接方式,交叉连接(如图2所示)和直通连接(如图3所示)。交叉连接用于网卡之间的连接或集线器之间的连接;直通线用于网卡与集线器之间或网卡与交换机之间的连接。Siemens交换机由于采用了自适应技术,可以自动检测线序,故通过交换机可以选择任意一种电缆进行连接。 图2 交叉线连接

图3 直通线连接 SIMOTION 带有RJ45接头,建议使用西门子FC TP和FC TP RJ45接头。 1.2 工业屏蔽双绞线(Industrial Twisted Pair) 屏蔽双绞线如图4所示,它有白/蓝和白/橙两对双绞屏蔽线。外部包有屏蔽层和绝缘层,用于连接有ITP 端口的以太网设备。通过ITP电缆连接的两个设备的最远距离为100米。 图4 ITP电缆结构图 连接ITP电缆的连接头有两种,即9 针或15 针的Sub-D 接头,如图所示5、6:

S7-200的MODBUS RTU主站协议库使用方法

S7-200 MODBUS-RTU VLT . MODBUS MODBUS CTROL MODBUS MGS CRC Micro/WIN V4.0 SP5 Modbus RTU

1. Micro/WIN V4.0 SP5 1. Modbus RTU Port 0 Port 1 2. Modbus RTU 3. Modbus RTU CPU CPU 2.00 2.01 6ES721* ***23-0BA* 1.22 1.22 S7-200 CPU Modbus RTU Modbus RTU I/O Modbus RTU 1. 2. Modubs RTU .Modbus RTU 1. Modbus RTU SM0.0 MBUS_CTRL 2. SM0.0 Modbus RTU : a. EN SM0.0 b. Mode 1 Modbus 0 PPI

c. Baud 1200 2400 4800 9600 19200 38400 57600 115200 d. Parity 1 2 e. Timeout 1000 1 1 - 32767 f. Done 1 MBUS_MSG g. Error Done 1 1 2 3 2. Modbus RTU MBUS_MSG Modbus 3. Modbus RTU : a. EN MBUS_MSG MBUS_MSG MBUS_MSG Done b. First c. Slave 1 - 247 d. RW 0 1 1. 2. e. Addr 00001 0xxxx - 10001 1xxxx -

西门子PLC通讯故障的原因及处理方法

西门子PLC上面的SF灯红亮时表示系统故障,是英文(SYSTEM FAULT)的缩写,内部寻址错误,超出编程地址区,模块损坏,插件松动等原因引起。把PLC里的程序先清除掉,SF 灯还亮估计就是硬件坏了,如果不亮了,就可能你的程序有问题,再在线看看PLC信息S7-300PLC上SF灯亮而BF灯闪烁,肯定是分布式现场总线PROFIBUS-DP通信或DP从站如ABB变频器的问题,不要怀疑其他软硬件问题。 PLC带模拟量模块如果有问题,仅仅PLC上SF灯亮(比如具有硬件诊断模拟量模块可以设定模拟量信号断线、超出量程等),而不会引起SF和 BF灯同时亮;根据以上分析,重点检查S7-300PLC的硬件组态与实际硬件是否一致(硬件订货号和固件版本号),DP从站地址设置与组态的地址是否一致。 如果组态没有问题,完成硬件组态后,必须执行“保存并编译”,如果没有错误,将产生新的系统数据块,然后下载到PLC中;检查PROFIBUS 电缆及其通信连接头是否正确,PROFIBUS电缆中有两根线,一根为红色连接PROFIBUS网络接头的B连接,另一根为绿色与网络接头的A连接(进线分别为B1、A1,出线为B2、A2),不能接反。 如果仅有一路电气网段,即从S7-300PLC的X2端口(PROFIBUS-DP端口)出发只有一根PROFIBUS电缆,那么首尾(分别为 S7-300PLC和最后DP从站)上网络接头的红色末端电阻必须置“ON”位置,中间DP从站上网络接头必须置“OFF”位置。 如果ABB变频器没有通电,而你的硬件组态中包含作为DP从站的该变频器,那么S7-300PLC通电后,没有检测到ABB变频器,所以PLC 上SF灯亮,而BF 灯闪烁,这是正常现象;一般PLC与触摸屏之间采用MPI通信协议,可以与PLC 之间连接在一起同时运行,可以采用无组态的MPI通信、全局数据MPI通信和组态的MPI通信。由于S7-300PLC与触摸屏之间的MPI通信不需要STEP7软件组态,也不需要编写任何程序,只需在触摸屏组态软件上设置一下相关通信参数即可,所以触摸屏有问题是不会引起SF和BF灯亮的; 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有 10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。

SIMOTION 工业以太网通信入门

1.S I M O T I O N工业以太网网络介质西门子工业以太网网络通常使用的物理传输介质为屏蔽双绞线(FCTP)、工业屏蔽双绞线(ITP)和光纤。 1.1屏蔽双绞线(FastConnectionTwistPair) FCTP快速连接双绞线用于将DTE快速连接到工业以太网上,配合西门子FCTPRJ45接头使用,连接方式如图1所示: 图1:FCTP电缆与TPRJ45接头 将双绞线按照TPRJ45接头标示的颜色插入连接孔中,快捷、方便地将DTE设备连接到工业以太网上。使用FC双绞线从DTE到交换机最长通信距离为100米(DTE到DTE)。也可以使用普通RJ45接头,为了保证数据传输的可靠性,在无干扰情况下最长通信距离为5米。 RJ-45连接有两种连接方式,交叉连接(如图2所示)和直通连接(如图3所示)。交叉连接用于网卡之间的连接或集线器之间的连接;直通线用于网卡与集线器之间或网卡与交换机之间的连接。Siemens交换机由于采用了自适应技术,可以自动检测线序,故通过交换机可以选择任意一种电缆进行连接。 图2交叉线连接

图3直通线连接 SIMOTION带有RJ45接头,建议使用西门子FCTP和FCTPRJ45接头。 1.2工业屏蔽双绞线(IndustrialTwistedPair) 屏蔽双绞线如图4所示,它有白/蓝和白/橙两对双绞屏蔽线。外部包有屏蔽层和绝缘层,用于连接有ITP 端口的以太网设备。通过ITP电缆连接的两个设备的最远距离为100米。 图4ITP电缆结构图 连接ITP电缆的连接头有两种,即9针或15针的Sub-D接头,如图所示5、6:

????? 图5Sub-D9针接头????????????????????????????????????????????????图6Sub-D15针接头 使用Sub-D接头进行连接的网络连接牢固,不易松动。其连线方法及9/15接头的转换可以查阅西门子手册。同样ITP电缆也会有交叉连接的情况,可以直接定购ITPXP标准电缆。 SIMOTION只有RJ45以太网接口,通常不使用工业双绞线ITP。 1.3光纤 按光在光纤中的传输模式不同,光纤可分为单模光纤和多模光纤。 多模光纤:中心玻璃芯较粗(50或62.5μm),可传多种模式的光。但其模间色散较大,这就限制了传输数字信号的频率,而且随距离的增加会更加严重。例如:600MB/KM的光纤在2KM时则只有300MB的带宽了。因此,多模光纤传输的距离就比较近,一般只有几公里。 单模光纤:中心玻璃芯较细(芯径一般为9或10μm),只能传一种模式的光。因此,其模间色散很小,适用于远程通讯,但其色度色散起主要作用,这样单模光纤对光源的谱宽和稳定性有较高的要求,即谱宽要窄,稳定性要好。 光纤技术只允许点对点的连接,即一个发送装置只对应一个接收装置。因而两个站点之间需要有发送和接收两根光纤进行连接。所有SIMATICNET标准的光缆都是两根光纤。光纤的连接头有很多种如图7所示:

西门子CP441-2实现Modbus RTU通讯

西门子CP441-2实现Modbus RTU通讯 1 概述 CP441模块是西门子S7—300,400系列PLC中的串行通讯模块。该模块具有1个串行通讯口(RS232C或 TTY或RS485/422),RS422/485的通讯最大距离位1200m。支持以下协议ASCII,ModbusRTU远程终端,Data Highway(DF1协议),电气接口为15针D型孔接头。可以使用这种通讯模块实现S7300/400与其它串行通讯设备的数据交换。例如打印机、扫描仪、仪表、Modbus主从站、Data Highway站、变频器。USS站等。CP441模块可以同时与多台串行通讯设备进行通讯。如同时连接多个变频器、连接多个智能仪表等。如果采用RS422/485 modbus RTU通讯方式,需要在发送的数据包中包括站号、数据区、读写指令等信息。供CP441模块所连接的从站设备鉴别数据包是发给哪个站的。以及该数据包是对那个数据区进行的读或写的功能。 Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准,有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程。如回应来自其它设备的请求,以及怎样侦测错误并记录等。它制定了消息域格式和内容的公共格式。MODBUS为单主站网络协议,所以系统中只能够有一个Modbus主站,所有通信都由它发出并且只能够实现主站和从站的数据交换,从站之间不能进行数据交换,Modbus可支持247个之多的远程从属控制器。但实际所支持的从机数要由所用通信设备决定。采用这个系统。各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。CP441插人MODBUS主站Dongle(狗)或插入从站Dongle,就可以作为MODBUS主站。或者作为MODBUS 从站。在ModBus系统中有两种传输模式编码可选择,一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备),由这两种模式定义这两种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定。每个ModBus系统只能使用一种模式。不允许两种模式混用。字串9 2 RTU帧结构 使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。在相同的网络波特率下采用多个的字符时间,这是最容易实现的。传输的第一个域是设备地址,可以使用的传输字符是十六进制的0...9,A...F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到后,每个设备都进行解码以判断是否发往自己的,在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束.一个新的消息可在此停顿后开始。整个消息帧必须作为一连续的流转输,如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设

西门子Port1接口定义

西门子Port1接口定义

西门子的编程口都是485口的。你用232的接线方法做线肯定要失败。 图上的是485的线,你还需要一个232转485的东西,可以参考德阳四星的RS232/485转换器。 另外就是一根标准的232线(自己做)。 此文原创为工控网“老菜鸟”希望吃水不忘打井人在工控上看到他记得表示感谢。备注我不是老菜鸟。........下面先简单了解一下S7-200支持的通信协议........比较详细的介绍请参阅《S7-200可编程控制器系统手册》第7章通过网络进行通信。........下面仅简单说明一下部分通信协议PPIPoint to point interface协议........该协议是西门子内部协议不公开。点对点接口是一个主/从协议。主站向从站发送申请从站进行响应从站器件不发信息不初始化信息只是等待主站的要求并对要求作出

响应。但当主站发出申请或查询时从站对其响应。主站可以是其他CPU 主机如S7-300等、编程器或TD200文本显示器。网络中的所有S7-200都默认为从站。S7-200系列中一些CPU如果在程序中允许PPI主站模式则在RUN模式下可以作为主站此时可以利用相关的通信指令来读写其他主机同时它还可以作为从站来响应其他主站的申请或查询。........主站靠一个PPI协议管理的共享连接来与从站通讯。PPI并不限制与任意一个从站通讯的主站数量但是在一个网络中主站的个数不能超过32。如果在用户程序中使能PPI主站模式S7200 CPU在运行模式下可以作主站。在使能PPI主站模式之后可以使用网络读写指令来读写另外一个S7200。当S7200作PPI主站时它仍然可以作为从站响应其它主站的请求。........PPI高级允许网络设备建立一个设备与设备之间的逻辑连接。对于PPI高级每个设备的连接个数是有限制的。所有的S7200 CPU都支持PPI和PPI高级协议而EM277模块仅仅支持PPI高级协议。........PPI协议是专门为S7-200开发的通信协议。S7-200 CPU的通信口Port0、Port1支持PPI通信协议S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。S7-200 CPU的PPI网络通信是建立在RS-485网络的硬件基础上因此其连接属性和需要的网络硬件设备是与其他RS-485网络一致的。S7-200 CPU之间的PPI网络通信只需要两条简单的指令它们是网络读NetR和网络写NetW指令。在网络读写通信中只有主站需要调用NetR/NetW指令从站只需编程处理数据缓冲区取用或准备数据。PPI网络上的所有站点都应当有各自不同的网络地址。否则通信不会正常进行。........可以用两

西门子工业网络通信指南

西门子工业网络通信指南 作者: 崔坚 价格: 49 元 书号: ISBN 7-111-15177-1 出版社: 机械工业出版社 出版日期: 2006 年7 月 --------------------------------------------------------------------------------------------------------------------- 内容简介 本书从网络通信的实际应用出发,以MPI、PROFIBUS 和工业以太网等多种常用的通信协议为脉络,基于西门子工业控制产品和系统,以清晰易懂的理论、丰富详实的通信实例并结合多年实践经验,全面地介绍了西门子工业自动化系统基于各种协议的通信方式及其具体应用。. 本书分为上下两册,分另对MPI 和PROFIBUS 协议的通信方式进行了详细的介绍,第一章为网络通信概述,概述了网络通信的各种形式,第二章,第三章分别以MPI 和PROFIBUS 协议为主,详述了相关网络协议,网络组件及各种通信方式的组态,编程和故障诊断方法,每种方式均配以具体实例加以说明。 书中每个通信实例互为独立单元、深入浅出、条理清晰、内容完整,并配有大量的例图与程序,深入细致地阐述了通信协议的各个方面,便于读者学习和掌握。随书附带的光盘提供了书中所有的应有的实例,程序源代码以及技术文档等。 本书适合广大工业产品用户、系统工程师、现场工程技术人员、大专院校相关专业师生、以及工程设计人员借鉴和参考。 ---------------------------------------------------------------------------------------------------------------------- 目录 序 前言 第1 章概述 1.1 自动化控制系统的发展 1.2 全集成自动化 1.3 SIMATIC NET 工业通信网络 第2 章 MPI 通信 2.1 MPI 概述 2.2 MPI 网络 2.3 设置MPI 2.4 PLC-PLC 之间通过MPI 通信 2.5 S7PLC 与HMI 产品之间的MPI 通信 第3 章 PROFIBUS 通信 3.1 PROFIBUS 介绍

西门子PROFINET 工业通信指南

西门子PROFINET工业通信指南 作者: (德)Raimond Pigan; Mark Metter 著 汤亚锋译 价格: 49.00 书号: 9787115167347 出版社: 人民邮电出版社 出版日期: 2007 年11月 ---------------------------------------------------------------------------------------------------------------------- 内容简介 本书以西门子SIMATIC产品为基础,系统地阐述了PROFINET的原理和实现方法。本书主要内容包括:从接触器到PROFINET的发展过程;以太网的基本原理和协议,实时通信的实现,PROFINET IO的概念以及组态、诊断的方法,基于组件的自动化PROFINET CBA,SIMATIC S7的PROFINET用户程序接口,PROFINET设备以及组网的方法,PROFINET网络安全的实现。. 本书适合自动化领域的工程技术人员使用,也可作为高等院校自动化和电气工程等专业师生的参考用书。 ---------------------------------------------------------------------------------------------------------------------- 目录 第1章从接触器到开放标准 1 1.1 SIMATIC的成功史 1 1.2 工业以太网的发展历程 3 1.3 PROFINET 5 1.3.1 PROFINET IO 6 1.3.2 PROFINET CBA 6 1.3.3 实时通信 7 1.3.4 现场总线集成 7 1.3.5 网络安全 7 1.3.6 PROFINET运动控制 8 1.3.7 PROFINET故障安全 8 第2章以太网基础与协议 10 2.1 以太网的基本结构 10 2.2 以太网标准帧 11 2.3 以太网地址或MAC地址 12 2.4 用于以太网的功能 12 2.4.1 自动协商 12 2.4.2 自感应——自动识别数据率 13 2.4.3 MDI/MDI-X自动交叉 13

相关主题