plc和以太网通讯协议.docx
《plc和以太网通讯协议.docx》由会员分享,可在线阅读,更多相关《plc和以太网通讯协议.docx(7页珍藏版)》请在冰豆网上搜索。
![plc和以太网通讯协议.docx](https://file1.bdocx.com/fileroot1/2023-4/24/5cd8ef84-3117-4519-9bb3-9f59988bac2b/5cd8ef84-3117-4519-9bb3-9f59988bac2b1.gif)
plc和以太网通讯协议
竭诚为您提供优质文档/双击可除
plc和以太网通讯协议
篇一:
西门子s7-1200与s7-300plc的以太网tcp及isoontcp通信
1.概述
1.1s7-1200的pRoFinet通信口
s7-1200cpu本体上集成了一个pRoFinet通信口,支持以太网和基于tcp/ip的通信标准。
使用这个通信口可以实现s7-1200cpu与编程设备的通信,与hmi触摸屏的通信,以及与其它cpu之间的通信。
这个pRoFinet物理接口是支持10/100mb/s的Rj45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。
1.2s7-1200支持的协议和最大的连接资源
s7-1200cpu的pRoFinet通信口支持以下通信协议及服务tcp
isoontcp(RcF1006)s7通信(服务器端)
通信口所支持的最大通信连接数
s7-1200cpupRoFinet通信口所支持的最大通信连接数如下:
3个连接用于hmi(触摸屏)与cpu的通信1个连接用于编程设备(pg)与cpu的通信
8个连接用于openie(tcp,isoontcp)的编程通信,使用t-block指令来实现3个连接用于s7通信的服务器端连接,可以实现与s7-200,s7-300以及s7-400的以太网s7通信
s7-1200cpu可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。
tcp(transportconnectionprotocol)
tcp是由RFc793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。
如果数据用tcp协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。
在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。
因此,发送方必须确定信息的结构让接收方能够识别。
在多数情况下tcp应用了ip(internetprotocol),也就是“tcp/ip协议”,它位于iso-osi参考模型的第四层。
协议的特点:
与硬件绑定的高效通信协议
适合传输中等到大量的数据( 一个基于连接的协议
可以灵活的与支持tcp协议的第三方设备通信具有路由兼容性只可使用静态数据长度有确认机制
使用端口号进行应用寻址
大多数应用协议,如telnet、Ftp都使用tcp
使用send/ReceiVe编程接口进行数据管理需要编程来实现1.3硬件需求和软件需求硬件:
①s7-1200cpu
②s7-300cpu+cp343-1(支持s7client)③pc(带以太网卡)④tp以太网电缆软件:
①step7basicV10.5②step7V5.42.isoontcp通信
s7-1200cpu与s7-300/400之间通过isoontcp通信,需要在双方都建立连接,连接对象选择“unspecified”。
所完成的通信任务为:
①s7-1200将db3里的100个字节发送到s7-300的db2中②s7-300将输入数据ib0发送给s7-1200的输出数据区qb0。
2.1s7-1200cpu的组态编程
组态编程过程与s7-1200cpu之间的通信基本相似(见6.3),这里简单描述一下步骤:
①使用step7basicV10.5软件新建一个项目
在step7basic的“portalView”中选择“createnewproject”创建一个新项目②添加新设备
然后进入“projectview”,在“projecttree”下双击“addnewdevice”,在对话框中选择所使用的s7-1200cpu添加到机架上,命名为plc_1。
③为pRoFinet通信口分配以太网地址
在“deviceView”中点击cpu上代表pRoFinet通信口的绿色小方块,在下方会出现pRoFinet接口的属性,在“ethernetaddresses”下分配ip地址为192.168.0.1,子网掩码为255.255.255.0。
④在s7-1200cpu中调用“tsend_c”通信指令并配置连接参数和块参数
在主程序中调用发送通信指令,进入“projecttree”>“plc_1”>“programblocks”>“main”主程序中,从右侧窗口“instructions”>“extendedinstructions”>“communications”下调用“tsend_c”指令,并选择“singleinstance”生成背景db块。
然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。
然后,创建并定义发送数据区db块。
通过“projecttree”>“plc_1”>“program
blocks”>“addnewblock”,选择“datablock”创建db块,选择绝对寻址,点击“ok”键,定义发送数据区为100个字节的数组。
根据所使用的参数创建符号表,如图1所示。
配置连接参数,如图2所示。
配置块接口参数,如图3所示。
图1创建所使用参数的符号表图plctag
图2配置连接参数
图3配置tsend_c块参数
⑤调用“tRcV”通信指令并配置块参数如图647所示。
因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“tRcV”,连接“id”使用的也是“tsend_c”中的“connectionid”号,如图4所示。
图4配置t_RcV块参数
2.2s7-300cpu的isoontcp通信的组态编程①使用step7软件新建一个项目并进行硬件组态
创建完新项目,在项目的窗口下,右键菜单里,选择“insertnewobject”>“simatic300station”,插入一个s7-300站。
篇二:
基于Fins协议的omRonplc与上位机以太网通信的实现
基于Fins协议的omRonplc与上位机以太网通信的实现[多图]
0引言
在当代工业自动化控制系统中,可编程逻辑控制器(plc)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛运用。
过去,在工程项目开发中,plc和上位机间的通信常采用Rs-232c或者Rs-485串行方式,这种要领很难满足数据量大、通信距离远、实时性要求高的控制系统。
随着互联网技能的发展、普及与推广,以太网技能得到了快速的发展,其传输速率的提高和交换技能的运用,处理了以太网通信的非确定性疑问,使得工业以太网能够广泛运用于工业信息控制领域,也是工业信息控制未来的发展趋势。
Fins(factoryinterfacenetworkservice)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。
运用Fins指令可实现各种网络间的无缝通信,包括用于信息网络的etherne(以太网),用于控制网络的controllerlink和sysmaclink。
通过编程发送Fins指令,上位机或plc就能够读写另一个plc数据区的内容,甚至控制其运行状态,从而简化了用户程序。
Fins协议支撑工业以太网,这就为omRonplc与上位机以太网通信的实现提供了可能。
1omRonplc与上位机通信方式
目前,在欧姆龙plc网络组成中,上位机和plc的通信可以采用Rs232c/485串行通信、controllerlink通信和工业以太网通信三种方式。
它们的主要性能参数如表1所示。
图片看不清楚?
请点击这里查看原图(大图)。
文献[3]介绍了采用Rs232c/485串行通信的方案,其通信速率仅为9600b/s,速率较慢,很难适应当代数据量大、通信距离较远、实时性要求较高的控制系统。
文献[2]中给出了基于Fins协议的controllerlink通信的设计方案,其最高速率可以达到2mb/s,整个网络的最大传输距离为500m,硬件上须要在上位机安装clk支撑卡,其扩展性及运用的灵活性没有工业以太网好。
在三种通信方式中,工业以太网的优势是相当明显的。
其传输速率可以达到10/100mb/s(取决于实际网络环境);两个节点之间的传输距离可以达到100m,对于整个网络的传输距离没有限定;网络内最大节点数可以达到254个,可以实现1(plc):
n(pc)、n:
n、n:
1等多种网络形式。
这些都为构架各种规模的工业网络信息系统提供了有利的条件,具有良好的扩展性、实用性、灵活性。
目前运用的上位机都配有以太网卡,所以上位机侧无需添加额外的硬件设备。
因此,采用工业以太网方式对提高工厂的自动化信
息控制水平具有很大的现实意义。
2以太网Fins通信
在以太网Fins通信中,各种数据信息是以udp/ip包或者tcp/ip包的方式在以太网上发送和接收的。
其中,在internet层远程设备运用的是ip地址,而在运用层运用的则是Fins节点地址。
传输层中定义了本地udp或tcp端口号,它为运用层(即Fins通信)提供通信端口,其默认配置为9600。
用户可以根据实际情况自行修改,但是在同一网络中,各设备的通信端口号必须保持一致。
图1Fins以太网通信协议模型
图片看不清楚?
请点击这里查看原图(大图)。
通常以太网通信运用的是ip地址,而在Fins通信中则是运用网络号、节点号以及单元号来对不同设备(包括plc、pc等现场设备)执行地址定义的。
这就为不同网络之间各种设备的通信提供了统一的寻址方式。
在以太网Fins通信中,欧姆龙的以太网单元一项主要的功能就是能在ip地址和Fins节点地址之间执行转换,其转换方式有自动转换、ip地址表和复合地址表三种方式,其地址转换数量依据模块型号和转换方式的不同还有相应的限定。
以太网Fins通信服务是一种基于udp/ip的通信方式,称为Fins/udp方式,欧姆龙相关的以太网产品都支撑这种方式。
此外,cs1w-etn21和cj1w-etn21以太网通信模块还支撑tcp/ip协议,称为Fins/tcp方式。
2.1Fins/udp方式
Fins/udp方式是一种运用udp/ip协议的Fins通信方式。
udp/ip是一种无连接的通信协议。
当一条信息从一个节点发到另一个时,这两个节点是没有明确连接的对等联系的。
udp协议具有较快的传输速度,但是数据通信的可靠性没有tcp协议高。
图片看不清楚?
请点击这里查看原图(大图)。
如图2所示,是一个在以太网中发送和接收所运用的udp帧结构。
Fins/udp方式运用的是一种嵌套格式数据包,即ethernet报头、ip报头、udp报头和Fins帧。
一个udp数据段(Fins帧)超过1472字节将被分成若干个数据包来传送。
分开的udp数据将在udp/ip协议层自动组合。
通常不须要关注运用层的数据分段,但是在一个多层ip网络中1427字节的udp包可能无法发送。
在这种系统中就须要运用Fins/tcp方式。
2.2Fins帧结构
Fins帧分为Fins指令帧和Fins响应帧两种形式。
指令帧在发送Fins指令时运用,响应帧则在接收到Fins指令后对其返回响应时运用。
它们都是由一个Fins报头(存储传输控制信息)、一个Fins指令域(存储一个Fins指令)以及一个Fins参数/数据域(存储指令参数和发送/响应数据)所组成的。
响应帧Fins指令域的内容与所接收到的指令帧的Fins指令域相同。
详细结构见图3、图4。
图片看不清楚?
请点击这里查看原图(大图)。
icF为信息控制域,用于标明指令和响应;RsV为系统保存;gct为网关允许数目;dna为目的网络号;da1为目的节点号;da2为目的单元号;sna为源网络号;sa1为源节点号;sa2为源单元号;sid为服务和响应的标识号,可任意配置,指令和响应对应相同;mRc和sRc分别为Fins指令的主指令
和从指令;参数/数据域,用于标明所操作的数据地址、范围等,在响应帧中前两个字节mRes和sRes构成响应码,用来诊断不正确信息。
3Finsgateway和sysmaccompolet控件介绍
Finsgateway是omRonFins通信协议的驱动程序,它为计算机上的32位windows操作系统提供一个工业自动化网络环境。
Finsgateway集成了不同的网络协议,并为Fins通信和数据链接提供驱动程序和接口库函数。
它通过建立高性能的虚拟存储区eventmemory,为不同的用户程序提供数据的接入和共享。
运用Finsgateway,计算机可以通过各层网络(包括网络互联)访问网络上的plc,通过接口库函数,用户还可以开发程序。
篇三:
s7-400之间以太网通讯
plcsim仿真s7-400
之间的s7
通讯
1.概述
s7-plcsimV5.4sp3与其他版本的s7-plcsim相比,增加了仿真cpu之间相互通信及在状态栏显示cpu所有可访问接口等功能。
本文通过模拟两个s7-400plc之间基于tcp/ip的s7通讯,介绍如何使用s7-plcsimV5.4sp3的仿真功能。
2.软件环境
2.1step7V5.4sp3
用于编写plc程序,此软件需要从西门子购买,本文档中所有的程序代码均使用step7V5.4sp3编写。
2.2s7-plcsimV5.4sp3
3.硬件组态
新建一个项目在simaticmanager中插入两个s7-400站,打开hwconfig界面进行硬件组态,站点配置如下图:
图1-1#站点硬件组态
图1表示1#站点,包含电源和cpu414-3pn/dp,ip地址192.168.0.1;
图2-2#站点硬件组态
图2表示2#站点,包括电源,cpu412-2dp以及cp443-1通讯模块,ip地址192.168.0.2
4.网络组态打开
netpro可以看到如图
3所示的网络结构图
图3-网络结构图
建立两个站点之间的s7连接,单击cpu414-3pn/dp,单击鼠标右键,选择“insertnewconnection”,如图4
图4-插入新连接
在“insertnewconnection”对话框选择通讯方cpu(partner),选择连接类型s7connection(默认选择),如图5
图5-设置连接类型及通讯对象
点击“ok”按钮进入“s7connection”属性对话框设置如图6,在连接路径“connectionpath”中可以看到通讯双方cpu及通讯接口地址。
图
6-设置通讯接口
点击“ok”按钮,在网络结构图下方列表中生成s7连接如图7,编译保存完成网络组态。
图7-完成配置s7连接
5.step7编程
s7-400使用标准库系统功能块中的sFb8/9/12/13/14/15,具体信息可参考
《用于s7-300/400系统和标准功能的系统软件》1214574
本例程在414-3pn/dp的ob1中调用sFb12,412-2dp的ob1中调用sFb13实现两个plc之间的s7通讯,通讯长度10个字节,如图8。
图8-调用s7通讯功能块
6.plcsim仿真调试
6.1启动仿真
在step7中启动plcsim进入仿真模式。
step7simaticmanager菜单栏options->simulatemodules如图9