基于PROFINET协议实现工控机与S7-1200的远程通信
S71200PLC之间TCP通信实例步骤
![S71200PLC之间TCP通信实例步骤](https://img.taocdn.com/s3/m/71707837a4e9856a561252d380eb6294dd88220e.png)
西门子S7-1200 PLC与PLC之间以太网通信操作心得
1.软件组态:新建两个CPU,在组态界面的网络视图手绘连接两个PLC的以太网口,如下:
2.在两个CPU以太网口的属性中设置IP地址,设置同一网段,方便调试;
3.在PLC_1程序块中添加一个背景数据块,新建接收数组跟发送数组,以方便寄放接收或发送数据,例程如下:
4.在PLC_1主程序中添加一个“通过以太网发送数据”的指令块(发送使能REQ以下案例是通过5HZ的频率触
发),并点击属性编辑,编辑好属性后CONNET自动产生,将背景数据块的填入DATA位置,LEN是数据长度,如下:
4.发送指令的属性编辑如下(连接数据能够直接点击新建,系统自动产生对应的数据指针,其余能够采用默许参数)
5.在PLC_1主程序中添加一个“通过以太网接收数据”的指令块,并点击属性编辑,块参数编辑同上,如下:
6.发送指令的属性编辑同上发送块的属性编辑;
7.以一样的编辑方式编辑PLC_2;
8.在程序段中操作发送数组数据内容,利用接收数组数据内容,只要硬件连接正常,PLC_1与PLC_2可通过对应的数组互换数据。
两台S7-1200 PLC之间的TCP通信实例
![两台S7-1200 PLC之间的TCP通信实例](https://img.taocdn.com/s3/m/27a343730812a21614791711cc7931b764ce7b45.png)
两台S7-1200 PLC之间的TCP通信实例一、 TCP通信协议介绍开放式用户通信是套接字(Socket)通信方式,包含TCP通信。
TCP 属于OSI参考模型的第4层(UDP也位于该层),IP位于第3层。
TCP/IP 通信是面向连接的,提供站点之间的可靠通信,具有回传机制,支持路由功能,可用于西门子SIMATIC系统内部及SIMATIC与PC或其他支持TCP/IP的系统通信。
TCP/IP的通信需要设置本地和远程IP地址,以及与进程相关的端口号(Port Number)。
TIA V16编程软件中关于开放式用户通信指令库的截图如图1所示。
图1 开放式用户通信指令库提示:套接字Socket=(IP地址:端口号),例如(192.168.0.5:80)。
二、两台S7-1200 PLC之间的TCP通信S7-1200 PLC与S7-1200 PLC之间的以太网通信可以通过TCP来实现,这里使用图12-14中的TSEND_C和TRCV_C指令来实现。
通信方式为双边通信,即通信双方都要编写程序,一侧编写发送程序,另一侧则必须编写对应的接收程序。
这里要完成的通信任务有:①将PLC_1的通信数据区DB1中100个字节的数据发送到PLC_2的接收数据区DB2中;②将PLC_2的通信数据区DB1中100个字节的数据发送到PLC_1的接收数据区DB2中。
1.硬件组态使用STEP7 V16创建一个名为“1200_1200_TCP”的新项目,并通过“添加新设备”组态两个型号均为CPU 1214C DC/DC/DC V4.4的1200 PLC站点,分别命名为“PLC_1”和“PLC_2”。
设置“PLC_1”的IP地址为192.168.0.1,“PLC_2”的IP地址为192.168.0.2,子网掩码均为255.255.255.0,设置方法参见12.3.2节相关内容。
勾选“PLC_1”和“PLC_2”的“启用时钟存储器字节”复选框,启用时钟存储器字节MB0。
S7-1200作为IO控制器与S7-300PN作为智能设备的ProfinetIO通信
![S7-1200作为IO控制器与S7-300PN作为智能设备的ProfinetIO通信](https://img.taocdn.com/s3/m/48b2920b876fb84ae45c3b3567ec102de2bddfb2.png)
S7-1200作为IO控制器与S7-300PN作为智能设备的ProfinetIO通信PROFINET 智能设备功能简介PROFINET 智能设备(I Device)功能使CPU 不但可以作为一个智能处理单元处理生产工艺的某一过程,而且可以和 IO 控制器之间交换过程数据。
该 PN 设备可以同时作为 IO 控制器和 IO 设备。
智能设备功能简化了与IO 控制器的数据交换以及对CPU的操作。
智能设备可作为IO 设备链接到上层IO 控制器。
参考图 1 智能设备功能。
图1 智能设备功能图1中作为智能设备的SIMATIC CPU/CP 不仅能处理下层分布式I/O 的数据,而且能将数据传递给上层的I/O 控制器。
智能设备的应用领域与优势智能设备的应用领域:●分布式处理可以将复杂自动化任务划分为较小的单元/子过程。
这使得过程可管理,从而简化了子任务。
●单独的子过程通过使用智能设备,可以将分布广泛的大量复杂过程划分为具有可管理的接口的多个子过程。
这些子过程存储在各个STEP 7 项目中,而这些项目经过合并可形成一个总的项目。
● 专有技术保护为了对智能设备进行接口描述,各个系统部分只能通过一个GSD 文件来提供,而不是通过 STEP 7 项目来提供。
用户程序的专有技术不会被公开。
硬件和软件需求及所完成的通信任务硬件:① S7-1200 CPU② PC (带以太网卡),TP电缆(以太网电缆)③ 315-2PN/DP V3.2 or Higher④ ET200S 151-3PN软件:STEP7 V11 SP2 or Higher所完成的通信任务:① 1200 将数据发送给智能设备315-2PN/DP② 智能设备315-2PN/DP 采集IO 设备151-3PN 数字量输入S7-1200 连接智能设备网络结构下面介绍PROFINET智能设备功能的配置方法,参考图 2 PROFINET网络结构。
图2 PROFINET 网络结构IO控制器 CPU1214C V2.1连接SCALANCE 414-3E交换机和一个IO设备 CPU315-2 PN/DP V3.2构成一个PROFINET IO系统 1。
plc和以太网通讯协议
![plc和以太网通讯协议](https://img.taocdn.com/s3/m/c7728d1b4b35eefdc8d333e4.png)
竭诚为您提供优质文档/双击可除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通信口支持以下通信协议及服务tcpisoontcp(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参考模型的第四层。
KUKA工业机器人与S7-1200PLC实现Profinet通讯步骤详解
![KUKA工业机器人与S7-1200PLC实现Profinet通讯步骤详解](https://img.taocdn.com/s3/m/e9ff0422effdc8d376eeaeaad1f34693daef10a0.png)
KUKA工业机器人与S7-1200PLC实现Profinet通讯步骤详
解
步骤1:完成硬件接线
网线一端连接至控制柜门上的KLI端口,另一端连接到交换机,PLC也连接到交换机(交换机无型号要求),交换机再连接到电脑。
具体接线方式如下示意图:
步骤2:将编程电脑、PLC、KUKA设置成同一个网段(因KUKA 的底层设置原因,最好不更改机器人IP地址)
(1)在博途软件中新建项目,并添加新设备,就是添加一个S7-1200型PLC
(2)点击选项—添加设备描述文件—导入KUKA机器人的GSD文件,这个GSD文件可以在KUKA机器人的示教器存储目录中找到,也可以私信找电气技术微课堂小编索要。
(3)安装GSD,并把KUKA设备进行组态
(4)设置好以上后(包括PLC地址),接下来就可以编译下载到
PLC。
下载完成后PLC会报红灯,是因为下一级组件存在故障,即还没有设置机器人端,连接不到下一级组件,所以报错。
也可以使用此方法判断是否连接成功。
步骤3:WorkVisual对KUKA进行设置
步骤4:激活、添加Profinet、DTM选择Profinet,详细设置过程如下图
步骤5:双击Profinet进行设置
步骤6:进行信号映射
首先生成代码,再下载到控制器,注意在控制器上做好确认工作
步骤7:机器人侧的信号确认:
器人侧即为映射时的IN(..),PLC侧则是在博图里对KUKA设备设置时的IO地址。
S7-1200 PLC通信模块介绍
![S7-1200 PLC通信模块介绍](https://img.taocdn.com/s3/m/2c9ab1712e60ddccda38376baf1ffc4fff47e24f.png)
S7-1200 PLC通信模块介绍S7-1200 PLC具有非常强大的通信功能,提供PROFINET、PROFIBUS、远距离控制通信、点对点通信、USS通信、Modbus RTU(远程终端单元)、执行器传感器接口(Actuator Sensor Interface,AS-i通信)等通信功能。
通信模块和通信处理器(Communication Processor, CP)将扩展CPU的通信接口,S7-1200 PLC最多可扩展3个通信模块(CM 或CP),它们安装在CPU模块的左侧。
1.集成的PROFINET接口实时工业以太网是现场总线发展的趋势,PROFINET是基于工业以太网的现场总线,是开放式的工业以太网标准,它使工业以太网的应用扩展到了控制网络最底层的现场设备。
S7-1200 PLC CPU模块集成的PROFINET接口可用于与编程设备(STEP 7)通信,通信时将PROFINET电缆一端插入PLC的CPU模块,另一端插入计算机或编程设备的以太网接口,如图1所示;其与HMI 设备通信(用于可视化)或与其他PLC通信如图2所示。
此外,它还通过开放的以太网协议TCP/IP、ISO-on-TCP、Modbus TCP支持与第三方设备的通信,还可通过成熟的S7通信协议连接到多个S7控制器和HMI设备。
图1 S7-1200 PLC与编程设备通信图2 S7-1200 PLC与HMI、PLC的通信S7-1200 PROFINET接口由一个RJ45连接器组成。
该连接器具有自动交叉网线功能,因此一个标准或是交叉的以太网线都可以用于该接口,支持最多23个以太网连接,数据传输速率达10/100Mbit/s。
CSM 1277是一个4端口的紧凑型交换机,用户可以通过它将S7-1200 PLC连接到最多3个附加设备,以便轻松组建网络。
2.PROFIBUS通信与通信模块PROFIBUS是目前国际上通用的现场总线标准之一。
S7-1200控制器与变频器G120的profinet通信
![S7-1200控制器与变频器G120的profinet通信](https://img.taocdn.com/s3/m/37667547bfd5b9f3f90f76c66137ee06eff94e92.png)
S7-1200控制器与变频器G120的profinet 通信发布时间:2023-01-17T01:08:59.754Z 来源:《中国教工》2022年第18期作者:赵玉平[导读] s7-1200控制器以太网的标准报文通信方式,控制G120变频器,实现对电动机的启停控制,赵玉平(昌吉职业技术学院新疆昌吉 831100)【摘要】s7-1200控制器以太网的标准报文通信方式,控制G120变频器,实现对电动机的启停控制,电动机的速度设定值和运行状态通过HMI输入和实时显示,采用博图V15.1平台开发,平台友好开发速度快效率高。
【关键词】s7-1200控制器;变频器G120;标准报文。
【Abstract】 The standard message communication mode of S7-1200 controller Ethernet controls G120 frequency converter to realize the start-stop control of motor. The speed set value and running state of motor are input and displayed in real time through HMI, and are developed by Botu V15.1 platform. The platform is friendly and the development speed is fast and the efficiency is high . 【Keywords】 S7-1200 controller; Inverter G120; Standard message .1、引言S7-1200控制器主要面向简单而高精度的自动化任务,它的设计紧凑、组态灵活且具有功能强大的指令集,S7-1200控制器这些特点的组合使它成为控制各种应用的解决方案。
S7-1200与S7-1200 之间 Profinet IO 通信
![S7-1200与S7-1200 之间 Profinet IO 通信](https://img.taocdn.com/s3/m/84c9b485d15abe23482f4da3.png)
S7-1200与S7-1200 之间Profinet IO 通信CPU 的"I-Device"(智能设备)功能简化了与IO 控制器的数据交换和CPU 操作过程(如用作子过程的智能预处理单元)。
智能设备可作为IO 设备链接到上位IO 控制器中,预处理过程则由智能设备中的用户程序完成。
集中式或分布式(PROFINET IO 或PROFIBUS DP)I/O 中采集的处理器值由用户程序进行预处理,并提供给IO 控制器。
图1. 网络架构智能设备的应用领域:分布式处理可以将复杂自动化任务划分为较小的单元或子过程,这样简化了子任务的同时也优化了项目管理。
单独的子过程通过使用智能设备,可以将分布广泛的大量复杂过程划分为具有可管理的多个子过程。
必要的话,这些子过程可存储在单个的TIA 项目中,这些项目随后可合并在一起形成一个主项目。
专有技术保护智能设备接口描述使用GSD 文件传输,而不是通过STEP 7 项目传输,这样用户程序的专有技术得以保护。
智能设备的优势:简单链接IO 控制器。
实现IO 控制器之间的实时通信。
通过将计算容量分发到智能设备可减轻IO 控制器的负荷。
由于在局部处理过程数据,从而降低了通信负载。
可以管理单独TIA 项目中子任务的处理。
智能设备可以作为共享设备。
S7-1200 CPU 之间组态智能设备S7-1200 V4.0及以上版本开始支持智能IO 设备功能。
本示例中介绍1200 CPU之间如何进行智能设备PROFINET通信,分别在相同项目和不同项目下进行组态,实验环境如下所示。
软件:TIA V15.1硬件:CPU 1217C DC/DC/DC V4.3CPU 1215C DC/DC/DC V4.3设备角色及地址:S7-1200 智能设备在相同项目下组态STEP 1:创建TIA Portal 项目并进行接口参数配置使用TIA V15.1创建一个新项目,进入网络视图添加表1列出的所有设备,并进入各个设备以太网地址选项分别设置子网、IP地址以及设备名称。
S7-1500与S7-1200的Profinet通讯实例
![S7-1500与S7-1200的Profinet通讯实例](https://img.taocdn.com/s3/m/fed0f7ddba0d4a7302763a6c.png)
S7-1500与S7-1200的Profinet通信实例一一、 1515与1214 S7通信:第一步创建”项目名称“如1500练习20170110。
第二步:此界面点击“新手上路”内的任何一个菜单,都可以进入相应的编程界面。
第三步:点击创建PLC设备。
第四步:选择“控制器", SIMATIC S7-1500,CPU 1515-2PN,6ES7-S515-2AM01-0ABO,设备名称可更改,点击确定。
•,,·, 嗣岫压,七士七,女子-.:.;l'i:几已,印'i >J 九,r o 11w 凇出H 拉I I们1日�• �·(•.ti:,!'t l 芯令II`j'L/夕.心ll田片1凸品t3膏。
门'Ill亡h 开叩H � 认,e r ,f 片,令含第五步:双击"M ain"或者点击”项目视图',进入编程界面。
日冒第六步:项目视图包括多个编程界面:项目树、菜单栏、信息窗口、指令窗口、库窗口等。
第七步:点击“添加新设备“添加1214CPU, 确定后,会自动跳到“设备和网络”窗口。
可直接点击“设备和网络"配置CPU的别的模块。
�'f I第八步:在“设备和网络"窗口,将显示添加的PLC,直接将“硬件目录”下相应的模块拖到轨”上。
?!_!-,I I?;, 业第九步:相同的方法配置1515CPU的电源模块。
"E己,寸ll第十步:点击"PLC_l"下的设备组态,点击CPU模块,在“信息窗口”设置CPU的I P地址。
用同样的方法,配置其他CPU的I P地址。
第十一步:各PLC间使用S7通信,在“设备和网络"窗口下,选择“网络视图”,点击“连接”,选择"S7连接",鼠标左键按住PLC3的网线接口,拖动连接到PLCl的网线接口,相同的方法连接PLC2与PLCl.第十二步:点击“在线'选择每个P L C,点击“转至在线'。
PROFINET总线通信-S7-1200 PLC作IO控制器与ET 200SP通信
![PROFINET总线通信-S7-1200 PLC作IO控制器与ET 200SP通信](https://img.taocdn.com/s3/m/4e0f2e51fbd6195f312b3169a45177232e60e416.png)
PROFINET总线通信-S7-1200 PLC作IO控制器与ET 200SP通信一、总线通信简介S7-1200 PLC中央机架最大扩展8个数字量和模拟量模块,如果超过该数量可通过PROFIBUS或PROFINET扩展分布式I/O系统,将过程信号连接到S7-1200 PLC控制器。
西门子分布式I/O系统SIMATIC ET200具有丰富的产品线,常用的模块包括SIMATIC ET 200SP、SIMATIC ET 200MP、SIMATIC ET 200M 和SIMATIC ET 200S等。
ET 200分布式系统是自动化系统的基础,现场层的各个组件和相应的分布式设备通过PROFINET、PROFIBUS和上层的PLC实现快速的数据交换,是PLC系统的重要组成部分。
开放的PROFINET和PROFIBUS通信标准,给自动化系统带来灵活的连接方式。
二、 PROFINET简介PROFINET是开放、标准、实时的工业以太网标准。
尽管工业以太网和标准以太网组件可以一起使用,但工业以太网设备更加稳定可靠,因此更适合于工业环境(温度、抗干扰等)。
作为PROFINET的一部分,PROFINET IO是用于实现模块化、分布式应用的通信概念。
PROFINET IO分为IO控制器、IO设备、IO监控器。
IO控制器通常是运行自动化程序的控制器,IO设备指分配给其中一个IO控制器的分布式现场设备(例如远程IO、变频器),IO监控器指用于调试和诊断的编程设备、PC或HMI设备。
三、S7-1200 PLC作IO控制器与ET 200SP通信西门子S7-1200 PLC使用PROFINET通信时,一个作为PROFINET IO控制器,一个作为PROFINET IO设备。
一个PROFINET IO控制器可以最多支持16个PROFINET IO设备。
PROFINET通信不使用通信指令,只需要配置好数据传输地址,就能够实现数据的交互。
KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤
![KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤](https://img.taocdn.com/s3/m/cfe9c9f0f524ccbff021844d.png)
KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤本次内容来简单谈一谈KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤。
步骤1:完成硬件接线
网线一端连接至控制柜门上的KLI端口,另一端连接到交换机,PLC也连接到交换机(交换机无型号要求),交换机再连接到电脑。
具体接线方式如下示意图:
步骤2:将编程电脑、PLC、KUKA设置成同一个网段(因KUKA的底层设置原因,最好不更改机器人IP地址)
(1)在博途软件中新建项目,并添加新设备,就是添加一个S7-1200型PLC
(2)点击选项—添加设备描述文件—导入KUKA机器人的GSD文件,这个GSD文件可以在KUKA机器人的示教器存储目录中找到,也可以私信找电气技术微课堂小编索要。
(3)安装GSD,并把KUKA设备进行组态
(4)设置好以上后(包括PLC地址),接下来就可以编译下载到PLC。
下载完成后PLC 会报红灯,是因为下一级组件存在故障,即还没有设置机器人端,连接不到下一级组件,所以报错。
也可以使用此方法判断是否连接成功。
步骤3:WorkVisual对KUKA进行设置
步骤4:激活、添加Profinet、DTM选择Profinet,详细设置过程如下图
步骤5:双击Profinet进行设置。
1200profinet通讯指令讲解
![1200profinet通讯指令讲解](https://img.taocdn.com/s3/m/c4f1f7fef021dd36a32d7375a417866fb94ac047.png)
1200profinet通讯指令讲解1200Profinet通讯指令讲解Profinet是一种工业以太网通信协议,适用于工业自动化领域中的数据传输和通信控制。
1200Profinet通讯指令是指在Profinet网络中,用于实现数据传输和通信控制的特定指令集。
本文将对1200Profinet通讯指令进行详细讲解,以帮助读者更好地理解和应用这一通信协议。
1200Profinet通讯指令包括了多个功能模块,每个功能模块都有特定的作用和功能。
其中,最常用的功能模块包括数据读取、数据写入、报警和故障处理等。
数据读取是指从远程设备中读取数据,例如传感器的数值或控制器的状态信息。
数据写入则是将数据写入到远程设备中,例如向执行器发送控制信号。
报警和故障处理模块用于实时监测远程设备的状态,并在发生故障或报警时及时进行处理和反馈。
在使用1200Profinet通讯指令时,首先需要建立连接。
建立连接的过程需要指定远程设备的IP地址和端口号,并进行身份验证。
一旦连接建立成功,就可以开始进行数据传输和通信控制操作了。
数据传输可以通过数据读取和数据写入指令来实现。
数据读取指令可以指定要读取的数据的地址和长度,并将读取到的数据保存在本地设备的内存中。
数据写入指令则可以指定要写入的数据的地址和数值,并将数据发送到远程设备中。
除了数据传输之外,1200Profinet通讯指令还支持报警和故障处理功能。
报警和故障处理模块可以设置报警阈值,并在达到或超过阈值时触发报警。
同时,还可以对故障进行诊断和处理,例如重启设备或进行远程控制。
这些功能模块的使用可以根据具体需求进行灵活配置和调整,以满足不同应用场景的需求。
尽管1200Profinet通讯指令提供了丰富的功能和灵活的配置选项,但在使用过程中还是需要注意一些问题和注意事项。
首先,要确保网络连接的稳定性和可靠性,避免数据传输中的丢包或延迟现象。
其次,要根据具体设备和应用需求进行合理的配置和参数设置,以提高通信效率和数据传输速度。
S7-1200作为智能IO设备和S7-300的 Profinet 通信(S7-300做控制器)
![S7-1200作为智能IO设备和S7-300的 Profinet 通信(S7-300做控制器)](https://img.taocdn.com/s3/m/089e6864c1c708a1294a44ae.png)
S7-1200作为智能IO设备和S7-300 PN CPU 的Profinet 通信(S7-300做控制器)S7-1200 V4.0 支持智能IO 设备功能,故可使用S7-1200 作为智能IO 设备和S7-300 PN CPU 的Profinet 通信。
本例中将S7-300 做为控制器,连接作为智能IO 设备的S7-1200 CPU 实现Profinet 通信;下面详细介绍使用方法。
硬件:1. CPU 1217C DC/DC/DC,V4.02. CPU 315-2PN/DP,V3.2软件:1. Step7 V132. Step7 V5.5 SP3S7-300 集成的PN 接口连接S7-1200 的PN 接口,这种方式可以分2种情况来操作,具体如下:1. 第一种情况:CPU 1217C 和CPU 315 使用Step7 V13 编程,在一个项目中操作。
2. 第二种情况:CPU 1217C 使用Step7 V13,而CPU 315 使用Step7V5.5。
1. 第一种情况(同一项目中操作)315-2PN/DP 作为controller,1217C 作为IO device,使用Step7 V13 在一个项目中操作,详细步骤如下。
1-1 使用Step7 V13 创建S7-300 站使用STEP7 V13 创建一个新项目,并通过“添加新设备”组态S7-300 站PLC_1,选择CPU 315-2 PN/DP;设置IP 地址,并确认设备名称,本示例中设备名称是plc_1。
如图 1 所示。
图1 在新项目中插入S7-300 站1-2 使用Step7 V13 创建S7-1200 站使用STEP7 V13 创建一个新项目,并通过“添加新设备”组态S7-1200 站PLC_2,选择CPU1217C DC/DC/DC V4.0;设置IP 地址,并确认设备名称,本示例中设备名称是plc_2。
如图 2 所示。
图2 在新项目中插入S7-1200 站S7-1200 作为IO 设备,需要将其操作模式设置为IO 设备,并将IO 设备分配给控制器PLC_1 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于PROFINET协议实现工控机与S7-1200的远程通信
作者:陈亮彭林任彦仰
来源:《数字技术与应用》2019年第06期
摘要:PROFINET协议是新一代基于工业以太网技术的自动化总线标准,也是目前占主流地位的工业以太网标准之一,通过PROFINET协议可以方便地实现工业现场设备间的远程通信。
本文采用开源库实现了工控机与西门子S7-1200 PLC远程通信,给出了实现流程和相关例程,过程简单,且具备较强实用性。
关键词:PROFINET协议;工控机;PLC;远程通信
中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2019)06-0024-01
0 引言
随着现代工业过程自动化控制技术及网络通信技术的发展,工业现场自动控制系统中常采用工控机作为上位机完成信息处理和决策,再通过工业网络与现场工控设备连接实现生产过程的自动化处理。
工业以太网是应用于工业控制领域的以太网技术,在技术上与商用以太网(IEEE 802.3标准)兼容,产品设计时,在材质的选用、产品的强度、适用性以及实时性、可互操作性、可靠性、抗干扰性、本质安全性等方面能满足工业现场的需要[1]。
工业以太网的
通信速率高、资源共享能力强、可持续发展潜力大,市场占有率不断提高,是未来工业通信技术的主要发展方向。
以PROFINET协议为例,在分散式现场设备中可以直接通过使用PROFINET I/O实现系统集成,同时可与Profibus、Interbus等现场总线技术无缝集成,从而实现从I/O级直至协调管理级的基于组件的分布式自动化系统的体系结构方案。
PROFINET协议可在一根电缆上提供适应3种类型通信信道:标准通道(TCP/IP,UPD/IP),实时通道RT(Real Time)和等时同步通道IRT(Isochronous Real Time),能为紧要任务提供最低限度的性能保证服务,同时也能为
非紧要任务提供尽力服务[2][3]。
基于PROFINET协议实现工业现场远程通信的研究较多,如基于OPC技术手段[4][5]。
采用本文采用工控机为上位机,西门子S7-1200 PLC作为下位机的方式,介绍了使用开源库实现基于PROFINET协议的远程通信,具备较强的实用性。
1 准备工作
1.1 PC端的配置
开源库支持S7-200、S7-300、S7-400、S7-1200、S7-1500等系列的西门子PLC,最新版本号为0.3.0,可通过GitHub站点获取并免费使用,需要遵循开源代码使用规范。
下載链接为:https:///killnine/s7netplus。
开源库使用Visual Studio 2017集成开发环境的C#语言编写为动态链接库,支持组件版本为.NET Framework 4.5.2。
程序开发时需要在运行Windows操作系统的PC端安装Visual Studio 2017或以上版本的集成开发环境,同时确保.NET Framework组件版本相同或高于当前版本。
程序的运行环境只需要存在具备相应的.NET Framework组件。
为了对S7-1200 PLC进行配置,需要在PC端安装西门子博途(TIA Portal)集成自动化编程软件(目前最高版本为V14)进行PLC组态配置。
1.2 PLC硬件组态配置
西门子S7-1200 PLC是一款紧凑型、模块化的PLC,可完成简单逻辑控制、高级逻辑控制、HMI和网络通信等任务。
S7-1200 PLC集成了PROFINET接口,可通过RJ-45连接器直接连接本地网络,采用TIA Portal软件进行相关配置后,才能实现与第三方设备进行通信,具体步骤如下:(1)启动TIA Portal软件,建立新的项目文件,将需要使用的PLC设备添加项目
文件中。
(2)确认并记录设备的机架号和插槽号。
(3)设置PLC的IP地址与工控机为同一网段。
(4)通过“设备组态”→“常规”→“防护与安全”→“连接机制”路径,选中“允许来自远程对象的PUT/GET通信访问”选项,确保远程通信能正常工作。
(5)编写PLC程序,建立需要访问的数据块文件。
在数据块文件的属性选项中,取消“优化的块访问”选项,使用绝对地址进行数据操作。
2 程序实现
获取开源库的动态链接文件(.dll)后,将其添加Visual Studio 2017集成开发环境建立的工程文件中,在工程项目文件中引用库文件就可以直接使用相应功能接口函数,例程如下:using ;开源库具备发起连接、断开连接、连接检查、错误处理等基本接口功能。
数据的读写操作上,开源库封装了按字节、单变量、结构体、类等多种操作方式。
开源库通信流程,如图1所示。
利用开源库实现PC与S7-1200PLC远程通信的部分例程和说明如下:(1)创建PLC实例。
PlcPLC_S71200=newPlc(CpuType.S71200,”127.0.0.1”,0,1);创建一个S7-1200PLC实例,IP地址为127.0.0.1,机架号为0,插槽号为1。
后续操作都是基于该实例进行。
(2)与S7-1200建立连接,准备开始读写操作。
PLC_S71200.open();(3)在连接成功之后,可进行远程读写操作。
byte[]Data Bytes=ReadBytes(DataType.DataBlock,1,0,20)从数据区DB1地址偏移量为0的区域开始连续读取20字节的数据到DataBytes数组。
该函数最大可支持200字节的一次性读取操作。
byte[]DataBytes=“xxxxx”;Write
(DataType.DataBlock,1,1,DataBytes);将DataBytes存放的信息写入到PLC的数据区
DB1,地址偏移量为1。
采用字节形式进行读写操作,形参的逻辑意义明显,操作正确性较高。
如果程序开发人员对PLC的理解较深,可以使用单变量形式进行读写操作,可让程序更为简洁。
例如:单独读取一个字节的信息,可以采用如下接口函数:
byteresult=PLC_S71200.Read(“DB1.DBB0”);具有采用何种形式读写操作接口,开发人员可根据当前操作目的和习惯进行选择。
(4)与S7-1200断开连接。
PLC_S71200.Close();对S7-1200PLC频繁的进行读写操作时,需要保持连接状态。
为了保证通信的可靠性,读写操作之前,建议检查当前连接状态,确保连接可靠。
PLC_S71200.Isconnected();该方法可重新发起连接,并判断连接是否存活。
3 結语
基于PROFINET协议,采用开源库实现工控机与PLC之间的远程通信,需要对PLC进行正确的组态设置,再应用C#语言开发工具进行程序开发。
整个过程简洁,易于理解,为工业现场远程通信的开发设计提供一种便捷的技术手段。
参考文献
[1] 于仲安,严慕秋.工业以太网技术的应用探讨[J].电器与能效管理技术,2006(1):43-47.
[2] 侯朝勇,庄童,胡娟,et al.PROFINET实时工业以太网通信技术分析[J].电子设计工程,2014(16):1-4.
[3] 谢素芬.工业以太网PROFINET性能优化及认证测试[J].制造业自动化,2017(9):72-74.
[4] 陈欣,王浩宇,郎朗.基于OPC技术的上位机与西门子PLC的通信[J].自动化与仪器仪表,2008(1):70-73.
[5] 黄希敏.基于C#语言的工业计算机与S7-300的OPC通讯[J].重型机械,2011(5):39-42.
Remote Communication Between IPC and S7-1200 Based on PROFINET Protocol
CHEN Liang, PENG Lin, Ren Yan-yang
(Electrical & Information Engineering Department, Sichuan Engineering Technical College, Deyang Sichuan; 618000)
Abstract:PROFINET protocol is a new generation of automation bus standard based on Industrial Ethernet technology, and is also one of the mainstream standards of Industrial Ethernet. The remote communication between industrial field devices can be easily realized through PROFINET protocol. This paper shows how to realize the remote communication between IPC and S7-1200 PLC by open source library, and the process is simple and practical.
Key words:PROFINET protocol; IPC; PLC; Telecommunication。