s7-1200之间通信
S7-1200PLC之间TCP通信实例步骤
西门子 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 和 S7-1200 之间 S7 通讯
S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU 及以上版本)。
S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
硬件:1.CPU 1214C DC/DC/DC,2.CPU 1214C DC/DC/DC,软件:1.Step7 V13 SP1所完成的通信任务:1.S7-1200 CPU Clinet 将通讯数据区 DB1 块中的 10 个字节的数据发送到 S7-1200 CPU server 的接收数据区 DB1 块中;2.S7-1200 CPU Clinet 将S7-1200 CPU server 发送数据区 DB2 块中的10 个字节的数据读到 S7-1200 CPU Clinet 的接收数据区 DB2 块中。
S7-1200之间 S7 通讯,可以分2种情况来操作,具体如下:1.第一种情况:两个 S7-1200 在一个项目中操作;2.第二种情况:两个 S7-1200 不在一个项目中的操作。
一. 第一种情况(同一项目中操作)使用 STEP 7 V13 在同一个项目中,新建两个S7-1200站点,然后做 S7 通讯。
使用 Step7 V13生成项目使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站client ,选择 CPU1214C DC/DC/DC (client IP:);接着组态另一个S7-1200站 server ,选择 CPU1214C DC/DC/DC (server IP:),如图 1 所示。
图 1 在新项目中插入2个 S7-1200 站点网络配置,组态 S7 连接在“设备组态”中,选择“网络视图”栏进行配置网络,点中左上角的“连接”图标,连接框中选择“S7连接”,然后选中client CPU(客户端),右键选择“添加新的连接”,在创建新连接对话框内,选择连接对象“server CPU”,选择“主动建立连接”后建立新连接,如图 2 所示。
两台S7-1200 PLC之间的TCP通信实例
两台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 和 S7-1200 之间 S7 通讯
S7-1200 和 S7-1200 之间 S7 通信S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。
S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
硬件:1.CPU 1214C DC/DC/DC,V2.02.CPU 1214C DC/DC/DC,V4.1软件:1.Step7 V13 SP1所完成的通信任务:1.S7-1200 CPU Clinet 将通讯数据区 DB1 块中的 10 个字节的数据发送到 S7-1200 CPU server 的接收数据区 DB1 块中;2.S7-1200 CPU Clinet 将S7-1200 CPU server 发送数据区 DB2 块中的10 个字节的数据读到 S7-1200 CPU Clinet 的接收数据区 DB2 块中。
S7-1200之间 S7 通讯,可以分2种情况来操作,具体如下:1.第一种情况:两个 S7-1200 在一个项目中操作;2.第二种情况:两个 S7-1200 不在一个项目中的操作。
一. 第一种情况(同一项目中操作)使用 STEP 7 V13 在同一个项目中,新建两个S7-1200站点,然后做 S7 通讯。
1.1 使用 Step7 V13生成项目使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站client V4.1,选择 CPU1214C DC/DC/DC V4.1(client IP:192.168.0.10);接着组态另一个S7-1200站 server v2.0,选择 CPU1214C DC/DC/DC V2.0(server IP:192.168.0.12),如图 1 所示。
图 1 在新项目中插入2个 S7-1200 站点1.2 网络配置,组态 S7 连接在“设备组态”中,选择“网络视图”栏进行配置网络,点中左上角的“连接”图标,连接框中选择“S7连接”,然后选中client v4.1 CPU(客户端),右键选择“添加新的连接”,在创建新连接对话框内,选择连接对象“serverv2.0 CPU”,选择“主动建立连接”后建立新连接,如图 2 所示。
6-4 两台S7-1200 PLC之间的S7通信
2. S7通信简介
(1)S7通信背景:
➢ S7-通信是用于SIMATIC设备间应用层的通信,与传输介质无关:
• PROFINET (通过CPU集成的PN口和单独的CM通信卡)
• 以太网 (通过CPU集成的以太网口和单独的CP通信卡) ➢ 连接参数在硬件组态中配置 ➢ 用于SIMATIC设备的通信 ➢ 连接参数在运行期间不能修改
两台S7-1200 PLC之间的S7通信
1. S7-1200的通信方式介绍
(1)西门子工业以太网通信方式简介
OUC S7
Open User Communication
SIMATIC S7-1500 PLC系统以太网接口支持的非实时性分为两种: Open User Communication(OUC)通信和S7通信。 OUC:可以与第三方设备通信。
2. S7通信简介
(2)S7通信通信程序块
客户端-服务器 使用自动连接布局
“PUT” 写 S7 数据到远程 CPU.
“GET” 从远程 CPU 读 S7 数据.
客户端-客户端 使用非自动连接布局
“BSEND”
分数据段发送 S7-数据
“BRCV” 分数据段接收 S7-数据
“USEND” 无确认的S7数据发送
通过完成该任务,掌握S7-1200 PLC之间的S7通信。
CPU
CPU
3.S7通信应用
3Байду номын сангаасS7通信应用
3.S7通信应用
服务器端的 梯形图程序
客户端的梯 形图程序
4.实操演示
以下开始实操演示!
感谢您的聆听
THANK YOU!
S7 Communication(S7通信)
S7-1200 和 S7-1200 之间 TCP 通信
S7-1200 和S7-1200 之间TCP 通信S7-1200 与S7-1200 之间的以太网通信可以通过TCP 协议来实现,使用的通信指令是在双方CPU 调用T-block (TSEND_C,TRCV_C,TCON,TDISCON,TSEND,TRCV) 指令来实现。
通信方式为双边通信,因此TSEND 和TRCV 必须成对出现。
硬件和软件需求及所完成的通信任务硬件:①S7-1200 CPU②PC(带以太网卡)③TP电缆(以太网电缆)软件:STEP7 V11 or Higher所完成的通信任务:①将PLC_1 的通信数据区DB3 块中的100 个字节的数据发送到PLC_2 的接收数据区DB4 块中。
②将PLC_2 的通信数据区DB3 块中的100 个字节的数据发送到PLC_1 的接收数据区DB4 块中。
通信的编程,连接参数及通信参数的配置1. 打开STEP7 v11 软件并新建项目在STEP7 v11的“Portal View” 中选择“Create new project” 创建一个新项目2. 添加硬件并命名PLC然后进入“Project view”,在“Project tree” 下双击“Add new device”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为PLC_1,如图1所示。
同样方法再添加通信伙伴的S7-1200 CPU ,命名为PLC_2。
图1. 添加新设备为了编程方便,使用CPU 属性中定义的时钟位,定义方法如下:在“Project tree” > “PLC_1” > “Device configuration” 中,选中CPU ,然后在下面的属性窗口中,“Properties” > “System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图2所示。
时钟位我们主要使用M0.3,它是以2Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
S7-1200与S7-1200 之间 Profinet IO 通信
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-1200PLC之间TCP通信实例步骤
西门子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点对点通信
S7-1200 PLC点对点通信一、点对点通信概述S7-1200 PLC支持使用自由口协议的点对点通信。
点对点通信具有很大的自由度和灵活性,可以将信息直接发送给外部设备并接收外部设备的信息。
S7-1200 PLC自由口协议的点对点通信实质是串口通信,通过外插模块可实现232/422/485通信,如CM 1241通信模块和CB 1241通信板。
S7-1200 PLC需要先进行硬件配置,再进行软件程序设计。
案例:CPU 1215C的CB 1241通信板发送十六进制数据“01 02 03 04 05”至上位机(PC),上位机返回十六进制“01 03 05”至CPU 1215C 的CB 1241通信板,通过监控查看数据正确性,以验证程序执行情况。
二、 S7-1200 PLC点对点通信1.新建工程使用STEP7 V16创建一个名为“1200_PTP_RS485”的新项目。
2.添加S7-1200 PLC并硬件组态“添加新设备”组态1个型号为CPU 1215C DC/DC/DC V4.4的1200 PLC站点,命名为“PLC_1”。
3.添加CB 1241(RS485)通信板并硬件组态打开“设备视图”,将右侧硬件目录窗口的文件夹“\通信板\点到点\”中的RS485通信板CB 1241拖放到CPU中间的通信板预留位置。
选中该通信板后,单击下面的巡视窗口的“属性”→“常规”→“IO-Link”,在右侧窗口中设置通信参数,如图12-64所示,波特率为9.6kbit/s,无校验,8位数据位,1位停止位,等待时间可自行根据情况设定,等待时间越长,收发耗时也越长,时间太短,导致通信不稳定或收到错误数据。
图12-64 串行通信参数设置4.新建DB新建两个全局数据块DB1和DB2。
DB1存放发送数据,DB2存放接收数据。
DB均设置为非优化的块访问,这样设置可以避免系统对存储空间进行优化配置,致使无法进行指针访问。
取消优化的块访问后,存储空间为连续空间,通过指针偏移访问、存放数据。
S7-1200PLC之间TCP通信实例步骤
西门子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应用技术》S7-1200通信的应用
(a)PLC_1的仿真
(b)PLC_2的仿真
扩展知识 一、ISO-on-TCP通信
ISO-on-TCP是在TCP中定义了ISO传输的属性,ISO协议是通过数据包进行数据传输。ISO-onTCP是面向消息的协议,数据传输时传送关于消息长度和消息结束标志。
将项目“6-1应用TCP连接实现S7-1200之间通信”另存为一个项目,将 “连接类型”修改为 “ISO-on-TCP”,用户的程序和其它组态数据都不变,即可进行仿真操作。
InOut
InOut
Bool Word
Remote
Variant
上升沿触发 指定与伙伴CPU连接的 寻址参数 指向伙伴CPU待读取区 域的指针 指向本地CPU要输入已 读取数据区域的指针
Output Bool
Output Bool Output Word
“1”:任务执行成功; “0”:任务未启动或正 在执行 “1”:执行任务出错; “0”:无错误 指令的状态连接实现S7-1200之间的通信 任务2 应用S7连接实现S7-1200之间的通信 任务3 应用PROFINET IO连接实现S7-1200之间的通信 任务4 应用点到点连接实现S7-1200之间的通信
任务1 应用TCP连接实现S7-1200之间的通信
任务引入
指向伙伴CPU写入区 ADDR_1
域的指针
指 向 本 地 CPU要 发 送 RD_1
数据区域的指针
Bool
Bool Word
“1”:任务执行成功; NDR
“0”:任务未启动或正
在执行
“1”:执行任务出错; ERROR
“0”:无错误
指令的状态
STATUS
声明
GET指令 数据类型 说明
S7-1200 和 S7-1200 之间 UDP 通信
S7-1200 和S7-1200 之间UDP 通信S7-1200 与S7-1200 之间的以太网通信可以通过UDP 协议来实现,使用的通信指令是在双方CPU 调用T-block ( TCON, TDISCON, TUSEND, TURCV) 指令来实现。
通信方式为双边通信,因此TUSEND 和TURCV 必须成对出现。
硬件和软件需求及所完成的通信任务硬件:①S7-1200 CPU②PC (带以太网卡)③TP电缆(以太网电缆)软件:STEP7 V11 or Higher(只有STEP7 V11才有此功能)所完成的通信任务:①将PLC_1 的通信数据区DB3 块中的100 个字节的数据发送到PLC_2 的接收数据区DB4 块中。
②将PLC_2 的通信数据区DB3 块中的100 个字节的数据发送到PLC_1 的接收数据区DB4 块中。
通信的编程,连接参数及通信参数的配置1. 打开STEP7 v11 软件并新建项目在STEP7 v11的“Portal View” 中选择“Create new project” 创建一个新项目2. 添加硬件并命名PLC然后进入“Project view”,在“Project tree” 下双击“Add new device”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为PLC_1,如图1所示。
同样方法再添加通信伙伴的S7-1200 CPU ,命名为PLC_2。
图1. 添加新设备为了编程方便,使用CPU 属性中定义的时钟位,定义方法如下:在“Project tree” > “PLC_1” > “Device configuration” 中,选中CPU ,然后在下面的属性窗口中,“Properties” > “System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图2所示。
时钟位我们主要使用M0.3,它是以2Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
(完整word版)s7-1200之间modbus通信
S7-1200之间modbus通信实验报告.通信前准备和软硬件组态。
然后组态设备,选择S7-1200的CPU1214CDC/DC/RLY版本号为4.1 ,打开项目后,选中PLC_1设备视图,选择下面的“属性”选项,再选择“系统和时钟存储器”,在右边的显示出的启用时钟存储器字节的复选框中打上勾,如下图所示再选中PLC_1设备中以太网口,在以太网地址设置PLC_1的IP地址为:192.168.0.1,如下图所示:以宜厠地址 _____________________________________________________________橫口连接對孑冈- PM1EJ| 爲加鬲子何IP 曲这戸)15炸目中麦苦IF 他讹IF 地址:|畑一应二0一 [子咏码:;55 . 2砖.255 . Q然后添加通信模块 CM1241( rs485),然后到属性设置,选择波特率 为9.6k ,硬件标识符为269,如下图所示:錨口组态 _____________________________________________________________________________________吋叵同步衣吐幅碧黝问 宙件柝i2祥XOM壬石XQFF宇苻硬件标识符 _____________________________________________________________________________ 谨件标识符然后复制PLC1生成PLC2不过在设备组态那里的以太网口改成IP为192.168.0.2,拓扑图连接如下图所示:r._l i ntiB搁同步援U務凄刊子和IPUW在血目口弦兰IF ±011IF Witt : | 临饭。
—亍子冋I砥:[丄弘.2弘.2也.0I便用IP詰日蚩PLC_1CFU 1214CCSM 1 2 7 7_1CSK1 1 277PC^System_i 台式PC到这里通信前设备设置已经完成了.程序编程在PLC2中添加全局数据块,命名为slavehr ,并在里面建立数组,名 称为HRAYYA 建立1到20的word 类型的数据。
s7-1200plc的modbustcp通信分析
s7-1200plc的modbustcp通信分析s7-1200 PLC是西门子公司推出的一款高性能工业控制器,具有可靠性高、功能强大等特点,被广泛应用于自动化生产线、工业设备控制等领域。
而Modbus TCP通信协议是一种常用的工业现场通信协议,在工业自动化领域得到了广泛应用。
本文将针对s7-1200 PLC的Modbus TCP通信进行分析,以期为工程师和技术人员提供参考。
一、Modbus TCP通信概述Modbus TCP是Modbus协议在TCP/IP网络上的应用方式,是一种常用的工业现场通信协议,广泛应用于工业控制系统、自动化设备等领域。
Modbus TCP协议使用端口号为502,采用客户端-服务器(Client-Server)的通信模式,客户端主动向服务器发起请求,并接收服务器的响应数据。
Modbus TCP协议具有简单、易实现、广泛应用等特点,成为工业领域的通信标准之一。
二、s7-1200 PLC的Modbus TCP通信功能s7-1200 PLC具有丰富的通信功能,可以通过内置的以太网接口实现Modbus TCP通信。
用户可以通过编程的方式,实现s7-1200 PLC与其他设备之间的Modbus TCP通信,实现数据的读取、写入等功能。
s7-1200 PLC支持Modbus TCP协议的客户端功能,可以主动向Modbus TCP服务器发送请求,并接收服务器的响应数据。
通过s7-1200 PLC的Modbus TCP 通信功能,用户可以方便地实现PLC与其他设备的数据交换,满足工业自动化系统的需求。
1. 配置通信参数:在TIA Portal中配置s7-1200 PLC的通信参数,包括Modbus TCP 服务器的IP地址、端口号等。
2. 编写通信程序:通过LAD、FBD等编程语言编写通信程序,在程序中调用TSEND、TRCV等函数实现与Modbus TCP服务器的通信。
3. 测试通信功能:上传程序至s7-1200 PLC,进行在线仿真测试,验证通信功能是否正常。
西门子S7-1200 和 S7-1200 之间如何通信
西门子S7-1200 和S7-1200 之间如何通信S7-1200 的PROFINET 通信口可以做S7 通信的服务器端或客户端(CPUV2.0及以上版本)。
S7-1200 仅支持S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
硬件:1. CPU 1214C DC/DC/DC,V2.02. CPU 1214C DC/DC/DC,V4.1软件:1. Step7 V13 SP1所完成的通信任务:1. S7-1200 CPU Clinet 将通讯数据区DB1 块中的10 个字节的数据发送到S7-1200 CPU server 的接收数据区DB1 块中;2. S7-1200 CPU Clinet 将S7-1200 CPU server 发送数据区DB2 块中的10 个字节的数据读到S7-1200 CPU Clinet 的接收数据区DB2 块中。
S7-1200之间S7 通讯,可以分2种情况来操作,具体如下:1. 第一种情况:两个S7-1200 在一个项目中操作;2. 第二种情况:两个S7-1200 不在一个项目中的操作。
一. 第一种情况(同一项目中操作)使用STEP 7 V13 在同一个项目中,新建两个S7-1200站点,然后做S7 通讯。
1.1 使用Step7 V13生成项目使用STEP7 V13 创建一个新项目,并通过“添加新设备”组态S7-1200 站client V4.1,选择CPU1214C DC/DC/DC V4.1(client IP:192.168.0.10);接着组态另一个S7-1200站server v2.0,选择CPU1214C DC/DC/DC V2.0(server IP:192.168.0.12),如图1 所示。
图1 在新项目中插入2个S7-1200 站点1.2 网络配置,组态S7 连接在“设备组态”中,选择“网络视图”栏进行配置网络,点中左上角的“连接”图标,连接框中选择“S7连接”,然后选中client v4.1 CPU(客户端),右键选择“添加新的连接”,在创建新连接对话框内,选择连接对象“server v2.0 CPU”,选择“主动建立连接”后建立新连接,如图2 所示。
西门子S7-1200的TCP通信
二、TCP通信任务描述
在PLC_1新建通信数据块DB2,在DB2块中定义一个10个字大小的发送数据区;再定义一个10字大小的接收数据区。
在PLC_1中同样新建通信数据块DB2,10字大小的发送数据区和接收数据区。
通过TCP的通信指令TCON、TDISCON、TSEND 和TRCV将PLC_1和PLC_2的数据进行交换。
三、任务实施步骤
1、打开TIA Portal V16软件并新建项目
2、添加CPU型号并选择固件
3、激活系统和时钟存储器
4、同样的方式,添加PLC_2
5、连接PLC之间的网络
6、在PLC_1中添加TCON通信指令
7、组态通信连接参数
8、在PLC_2中添加TCON指令,并设置通信连接参数
9、在PLC_1中新建DB通信数据块
10、同样的方式,在PLC_2中新建DB通信数据块,并去掉优化的块访问
11、在PLC_1和PLC_2中添加TSEN和TRCV指令,并设置参数
12、将程序分别下载到PLC,并收发数据。
四、总结
本文介绍了西门子S7-1200同一项目内的TCP通信配置过程,以及进行数据的交换。
这种通信方式,不仅可以适用S7-1200之间的TCP通信,与其它PLC或者上位机也是一样的使用。
08-S7-1200的通信
定义TSEND_C接口参数
调用 TRCV指令并配置接口参数
要实现前述通信要求,还需要在PLC_2中调用并配 置TRCV_C、T_SEND通信指令。
定义TRCV_C的连接参数
变量表
TRCV_C块参数配置
调用T_SEND指令并配置接口参数
8.3 S7-1200与S7-200和S7-300/400的通信
下面我们通过一个简单例子演示S7-1200 PLC 之间以太网通信的组态步骤。要求:将PLC_1的通 信数据区DB块中的100字节的数据发送到PLC_2的 接收数据区DB块中,PLC_1的QB0接收PLC_2发送 的数据IB0的数据。
组态网络
定义TSEND_C连接参数
定义变量表
定义
TSEND _C接口 参数
自由口协议通信
CM1241 RS232和CM1241 RS485接口模块都支持 基于字符的自由口协议,我们以RS232模块为例介 绍串口通信模块的端口参数设置、发送参数设置、 接收参数设置以及硬件标识符。最后通过一个简单 例子介绍串口通信模块自由口通信的组态方法。
端口参数设置
图8-2 PORT_CFG指令块
S7-1200与S7-200的通信
S7-1200 CPU与S7-200 CPU之间的通信只能通过 S7通信来实现,因为S7-200的以太网模块只支持 S7通信。由于S7-1200的PROFINET通信接口只支 持S7通信的服务器端,所以在编程方面,S7-1200 CPU不用做任何工作,只需为S7-1200 CPU配置好 以太网地址并下载下去。主要编程工作都在S7-200 CPU一侧完成,需要将S7-200的以太网模块设置成 客户端,并用ETHx_XFR指令编程通信。
实现两个CPU之间通信的具体操作步骤如下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s7-1200之间通信实验报告
一.通信前的准备
首先创建新项目,并命名为“s7-1200之间通信”,如下图所示:
然后组态设备,选择s7-1200的CPU 1214C DC/DC/RLY,版本号为4.1,如下图所示:
打开项目后,选中PLC_1设备视图,选择下面的“属性”选项,再选择“系统和时钟存储器”,在右边的显示出的启用时钟存储器字节的复选框中打上勾,如下图所示:
再选中PLC_1设备中以太网口,在以太网地址设置PLC_1的IP地址为:192.168.0.1,如下图所示:
然后把PLC_1复制粘贴成PLC_2,同样地在以太网口那里设置PLC_2的IP地址为:192.168.0.2,之前的系统和时钟存储器已经设置好了,PLC_2不用再设了。
具体如下:
在设备视图中转到拓扑视图,分别添加交换机和PC端,并将它们按照下图连接起来。
到这里通信前设备设置已经完成了。
二.程序编程
在PLC_1项目中选择程序块打开main(OB1),在右边的通信项选择“开放式用户通信”中选择“TSEND_C”指令并拖放到main(OB1)中去并生成背景数据块DB1,名称为:TSEND_C_DB。
如下图所示:
选中指令,弹出下面的组态画面,设置如下面所示,在连接类型选择TCP,在连接数据行中,在下拉菜单中选择新建,生成下面所示的画面。
在PLC_1项目中选择程序块打开main(OB1),在右边的通信项选择“开放式用户通信”中选择“TRCV_C”指令并拖放到main(OB1)中去并生成背景数据块DB2,名称为:TRCV_C_DB,如下所示:
选中指令,弹出下面的组态画面,设置如下面所示,在连接类型选择TCP,在连接数据行中,在下拉菜单中选择新建,生成下面所示的画面:
然后添加全局数据块,命名为send,如下图所示:
在打开的全局数据块名称列命名为send,在数据类型选择数组并设置为array[0....99]of string,如下图:
在选中send[DB5]中单击右键选择属性,将打勾的去掉。
如下所示:
接下来关于指令“TSEND_C”的设置如下面所示:
再添加全局数据块,并命名为“receive”,然后在打开里面名称列命名为“receive”,数据类型选择数组并设置为array[0....99]of string,如下图所示:
同样地在receive[DB6]中单击右键选择属性,将打勾的去掉。
如下所示:
关于指令“TRCV_C”的设置如下所示:
到这里PLC_1的编程组态已经完成,关于PLC_2的编程组态设置和PLC_1的设置步骤大同小异,基本的设置如下面所示:
在PLC_2中TSEND_C指令的设置组态如下:
在PLC_2中TRCV_C指令的设置组态如下:
关于指令TSEND_C和TRCV_C设置如下:
到这里PLC_1 和PLC_2的编程组态已经完成了下载测试
将PLC_1的程序下载到PLC中去
将PLC_2的程序下载到PLC中去
在PLC_1和PLC_2中添加监控表,如下图所示:
启动两台PLC并监控,输入名字然后点修改,测试结果如下所示:
到这里,通信成功。
三.总结
通过这次PLC之间通信,动手能力随之加强。
虽然在调试设备的过程中遇到很多问题,但是最后还是通过同学的帮助,把问题给解决了。
感谢老师有这次机会去接触更深层的关于PLC的知识,感谢老师!。