STMZET6与S7-1200自定义通信协议实现串行通信
S7-200SMARTCPU与S7-1200进行S7通信

S7-200 SMART CPU与S7-1200进行S7通信S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-1200与S7-200 SMART PLC 之间的S7通信也是可以成功的,S7-1200侧编程调用PUT/GET 指令或者S7-200 SMART侧编程调用PUT/GET指令都是可以的。
注意:1.S7-200 SMART CPU 与S7-1200 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!2.S7-200 SMARTPLC V2.0 版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。
3.本文只介绍了S7-1200侧调用PUT/GET指令编程方式(S7-200 SMART CPU作为服务器方,无需编程),未介绍S7-200 SMART侧编程调用PUT/GET方式。
硬件和软件需求及所完成的通信任务本文以采用1个CPU1215C(6ES7215-1AG40-0AB0),1个S7-200 SMART PLC为例,介绍它们之间的S7通信。
硬件:① S7-1200 CPU② S7-200 SMART CPU (固件V2.0)③ PC (带以太网卡)④ TP以太网电缆软件:① STEP7 V13 SP1② STEP 7 Micro/WIN SMART V2.1所完成的通信任务:① S7-1200 将通信数据区 DB1 中的200 个字节发送到 S7-200 SMART的VB 数据区。
② S7-1200 读取 S7-200 SMART中的VB数据区存储到S7-1200 的数据区DB2 。
S7-1200侧硬件组态和网络组态1. 使用TIA V13 软件新建一个项目,添加1个S7-1200站点并为其分配网络和IP地址,如图1.所示。
简述S7-1200PLC之间通信的组态和编码的过程

简述S7-1200PLC之间通信的组态和编码的过
程
S7-1200 PLC之间通信的组态和编码的过程如下:
1. 组态过程:
步骤一:在TIA Portal中创建新的工程;
步骤二:在硬件配置中添加需要通信的PLC设备;
步骤三:为每个PLC设备分配IP地址;
步骤四:在编程软件中创建通信模块;
步骤五:设置PLC之间的通信参数,包括通信协议、通信速率等;
步骤六:进行通信模块的编程。
2. 编码过程:
步骤一:在源PLC中编写发送数据的程序代码,并将数据存储到发送
数据缓冲区;
步骤二:将发送数据缓冲区中的数据通过通信模块发送到目标PLC中;步骤三:在目标PLC中编写接收数据的程序代码,并将接收到的数据
存储到接收数据缓冲区;
步骤四:在源PLC中编写读取接收数据缓冲区的程序代码,并获取目
标PLC发送的数据。
08S7-1200的通信

青岛大学-西门子先进自动化技术联合实验室
自由口协议通信 CM1241 RS232和CM1241 RS485接口模块都支持 基于字符的自由口协议,我们以RS232模块为例介 绍串口通信模块的端口参数设置、发送参数设置、 接收参数设置以及硬件标识符。最后通过一个简单 例子介绍串口通信模块自由口通信的组态方法。
青岛大学-西门子先进自动化技术联合实验室
S7-1200 CPU的PROFINET通信口支持以下通 信协议及服务:
TCP、ISO on TCP、S7通信(服务器端)。
青岛大学-西门子先进自动化技术联合实验室
S7-1200 CPU的PROFIENT接口有两种网络连 接方法:
直接连接和网络连接。
当一个S7-1200 CPU与一个编程设备,或一个 HMI,或一个PLC通信时,也就是说只有两个通信 设备时,实现的是直接通信。直接连接不需要使用 交换机,用网线直接连接两个设备即可
IP Address ConnectionID TSAP/PORT
连接参数的对应关系
青岛大学-西门子先进自动化技术联合实验室
带连接管理的通信指令
指令 TSEND_C TRCV_C 功能 建立以太网连接并发送数据 建立以太网连接并接收数据
青岛大学-西门子先进自动化技术联合实验室
CPU 1 (主站)
青岛大学-西门子先进自动化技术联合实验室
调用T_SEND指令并配置接口参数
青岛大学-西门子先进自动化技术联合实验室
8.3 S7-1200与S7-200和S7-300/400的通信
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指令编程通信。
s7-1200plc的modbustcp通信分析

s7-1200plc的modbustcp通信分析S7-1200 PLC是西门子公司推出的一款低成本、可编程的控制器,具有高效稳定的运行和良好的可扩展性,可满足工业自动化控制系统中的各种需求。
Modbus TCP通信是一种常见的工业通信协议,支持TCP/IP协议栈,可以广泛地应用于工业自动化系统中。
S7-1200 PLC提供了多种通信接口,包括以太网接口、串口接口等,其中以太网接口是支持Modbus TCP通信协议的。
以太网接口允许PLC与其他设备进行数据通信,其中包括Modbus TCP通信。
Modbus TCP通信协议是Modbus ASCII和Modbus RTU通信协议的延伸,使用开放式通信协议,基于TCP/IP网络,具有更高的传输速度和更强的可靠性。
Modbus TCP通信协议使用TCP连接代替串行连接,可以同时连接多个设备。
Modbus TCP通信协议支持各种数据传输方式,包括二进制数据、ASCII码和RTU形式。
Modbus TCP通信协议采用了客户端/服务器模型,客户端发送请求,而服务器则对请求进行响应。
S7-1200 PLC作为服务器,接收客户端的请求,处理请求并返回相应的结果。
S7-1200 PLC使用TSEND_C函数和TRCV_C函数实现Modbus TCP通信。
TSEND_C函数用于发送数据,TRCV_C函数用于接收数据。
在使用TSEND_C函数和TRCV_C函数前,需要对Modbus TCP通信进行初始化。
初始化Modbus TCP通信需要设置IP地址、端口号和通信参数等。
在Modbus TCP通信中,每个数据都有一个唯一的标识号,称为寄存器地址。
寄存器地址用于识别数据在PLC中的位置。
S7-1200 PLC支持读取位、读取字和读取双字等不同的读取方式,可以根据需要进行设置。
S7-1200 PLC还支持写入位、写入字和写入双字等不同的写入方式。
Modbus TCP通信协议需要设备地址来确定通信设备,S7-1200 PLC的设备地址默认为1。
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的几种以太网通信方法

Techniques of Automation &ApplicationsS7-1200PLC 的几种以太网通信方法黄涛,熊国灿(北京经济管理职业学院工程技术学院,北京102602)摘要:S7-1200PLC 通信是学习和应用的难点;也是新知识,散见于技术文档。
在博途系统下,通过两台S7-1200之间的通信实例,介绍了四种基于以太网的通信方法。
关键词:S7-1200;以太网通信;PLC 中图分类号:TP273文献标志码:B文章编号:1003-7241(2019)06-0085-04Communication Several Ethernet Methods of S7-1200PLCSHUANG Tao,XIONG Guo-can(Engineering and Technology Department,Beijing Institute of Economics and Management,Beijing 102602China )Abstract:S7-1200PLC communication is a difficult point in learning and application.It is also a new knowledge which is scatteredin technical documents.Four kinds of communication methods based on Ethernet are introduced through the communica-tion examples between two sets of S7-1200in SIEMENS totally integrated automation PORTAL system.Key words:S7-1200;Ethernet Communication;PLC收稿日期:2018-10-291引言西门子公司近年推出S7-1200、S7-1500PLC,同时,西门子公司将原本独立的编辑、编译、调试、人机界面等一系列软件功能集成到一个统一的博途软件平台中[1],简便和规范了PLC 控制系统的开发过程。
s7-1200plc的modbustcp通信分析

s7-1200plc的modbustcp通信分析ModbusTCP是基于TCP/IP的Modbus协议的实现方式。
它是一种网络协议,主要用于通信控制器,设备和相关电子设备之间的沟通。
本文主要讨论S7-1200PLC的ModbusTCP通信分析。
1,介绍:S7-1200PLC 是一种可编程控制器,可以为客户提供最智能的系统结构和最全面的功能,为工业应用控制提供极高的性能。
因为支持ModbusTCP,它也可以作为工业网络的一种通信协议。
2,ModbusTCP协议:ModbusTCP协议基于TCP/IP协议,它是Modbus协议的网络实现,它使得Modbus协议可以在以太网上使用。
ModbusTCP协议对以太网上的以太网报文进行了一定的封装,来实现Modbus混合以太网通信。
ModbusTCP协议中主要涉及三方面内容:(1) Modbus从机地址:Modbus从机一般有32个,其地址从1开始,最多可达到255;(2) Modbus功能码: ModbusTCP功能码包括01,02,03,04,05,06,15,16,17等,各种功能码对应不同的功能,需要根据不同要求而定;(3)数据长度:这个是需要传输的数据字节长度和格式,以帧传输为例,一个帧可以传输8个字节,共用2个字节定义数据长度。
3,S7-1200PLC的ModbusTCP应用:S7-1200PLC使用ModbusTCP协议,是可以将本地的Modbus从机的设备连接到一个中央的Modbus主机。
它可以实现实时的数据传输和状态检测,来方便实现可靠的远程监测系统。
S7-1200PLC的ModbusTCP应用有以下几点:(1)支持Modbus TCP/IP的RTU和ASCII模式通信,可实现设备远程监测;(2)可实现Modbus客户端和服务器端,支持以组播或广播形式发送读数据,支持双向数据交换;(3)可以实现功能码01至0B和1E至4D的读写,支持读取字和位,支持Modbus TCP的多种功能码;(4)支持网络拓扑结构和网络地址搜索,可在不同IP地址域中实现统一的远程管理;(5)可以进行多种通信方式的转换,支持Modbus、OPC、OGEM、OPL等多种协议通信;(6)支持缓冲数据报文转发功能,实时控制读写数据;(7)实现Modbus单片机应用控制,可在实时系统中迅速添加新的通信协议;(8)能够实现多用户的安全管理,通过密码进行数据时间校验。
S7-1200第15讲:S7-1200的自由口通信

CM1241 RS485接口模块支持的通信协议: 基于字符的自由口协议(ASCII) MODBUS RTU主从协议 USS协议
CB1241 RS485接口模块支持的通信协议: 基于字符的自由口协议(ASCII) MODBUS RTU主从协议 USS协议
节点数
1收、1发
最大传输电缆长度
50英尺
最大传输速率
20Kb/S
最大驱动输出电压
+/-25V
驱动器输出信号电平负载 +/-5V~+/-15V
驱动器输出信号电平空载 +/-25V
驱动器负载阻抗(Ω)
3K~7K
摆率(最大值)
30V/μs
接收器输入电压范围
+/-15V
接收(Ω)
RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为 10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以 下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率 传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。
RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。 在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。 终接电阻接在传输电缆的最远端。
从两个设备到多个设备运行—RS422 包括:差分传输,地址,全双工
RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式, 也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定 义为B。
RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义 了接口电路的特性。实际上还有一根信号地线,共5根线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要院针对现有潜水器模拟装置数据采集和处理方法单一尧故障率高尧通讯系统复杂的不足遥介绍了杂栽酝猿圆单片机与
西门子杂苑原员圆园园系列孕蕴悦实现远距离自定义通信协议的串行通信的硬件连接和软件实现方法曰重点阐述了自定义通信协
议的实现遥该方案已实际应用于潜水器模拟控制平台项目中曰实现了系统交互式通信遥
关键词院孕蕴悦袁单片机袁通信协议袁串行通信
粤遭泽贼则葬糟贼押栽澡蚤泽责葬责藻则蚤灶贼则燥凿怎糟藻泽贼澡藻澡葬则凿憎葬则藻糟燥灶灶藻糟贼蚤燥灶葬灶凿泽燥枣贼憎葬则藻则藻葬造蚤扎葬贼蚤燥灶皂藻贼澡燥凿燥枣泽藻则蚤葬造糟燥皂皂怎灶蚤糟葬贼蚤燥灶遭藻贼憎藻藻灶
杂栽酝猿圆酝悦哉葬灶凿杂陨耘酝耘晕杂杂苑原员圆园园泽藻则蚤藻泽孕蕴悦援云燥糟怎泽藻泽燥灶贼澡藻蚤皂责造藻皂藻灶贼葬贼蚤燥灶燥枣贼澡藻糟怎泽贼燥皂糟燥皂皂怎灶蚤糟葬贼蚤燥灶责则燥贼燥糟燥造援栽澡蚤泽
泽糟澡藻皂藻澡葬泽遭藻藻灶葬责责造蚤藻凿贼燥贼澡藻泽怎遭皂葬则蚤灶藻泽蚤皂怎造葬贼蚤燥灶糟燥灶贼则燥造责造葬贼枣燥则皂责则燥躁藻糟贼援陨贼则藻葬造蚤扎藻泽贼澡藻泽赠泽贼藻皂蚤灶贼藻则葬糟贼蚤增藻糟燥皂皂怎灶蚤糟葬贼蚤燥灶援
运藻赠憎燥则凿泽押孕蕴悦熏酝悦哉熏糟燥皂皂怎灶蚤糟葬贼蚤燥灶责则燥贼燥糟燥造熏泽藻则蚤葬造糟燥皂皂怎灶蚤糟葬贼蚤燥灶
传统的潜水器模拟装置控制系统存在以下两个不足院一是数据采集和处理方式单一袁故障率高曰二是通讯系统逻辑层次凌乱袁没有统一标准遥能够解决上述问题意义重大遥因此本文采用单片机和孕蕴悦的相互配合袁扩展控制功能袁实现对系统的综合控制遥下面以西门子孕蕴悦杂苑原员圆园园系列与杂栽酝猿圆单片机的通信为例袁阐述自定义通信协议的实现方法遥员硬件设计员援员杂栽酝猿圆单片机杂栽公司的杂栽酝猿圆单片机的优异性体现在以下几个方面院价格低廉尧外设较多尧开发成本极低以及杰出的功耗控制等遥杂栽酝猿圆的串口资源相当丰富袁功能也相当强大遥本文所使用的杂栽酝猿圆云员园猿在耘栽远型号开发板最多可提供缘路串口袁有分数波特率发生器尧支持同步单线通信和半双工单线通讯等遥采用串口圆来实现串行通信所需的两条引脚是孕粤圆和孕粤猿袁通过杂栽酝猿圆的孕郧怨控制酝粤载源愿缘耘的收发以及三极管的基极遥当孕郧怨越园时袁为接收模式曰当孕郧怨越员时袁为发送模式遥员援圆杂苑原员圆园园系列孕蕴悦西门子公司杂苑原员圆园园系列孕蕴悦通过增添通信模块悦酝员圆源员渊砸杂源圆圆辕源愿缘冤实现串行通信袁本文采用砸杂原源愿缘接口标准袁接收差模信号袁可以组成半双工串行通信网络遥杂苑原员圆园园采用自由端口模式协议袁协议通过在软件中配置消息接收的格式和编程实现遥通过单片机与孕蕴悦的配合实现自定义协议通信袁在传送大量数据时是很方便的遥员援猿酝粤载源愿缘耘芯片酝粤载源愿缘耘采用半双工通讯方式袁它实现栽栽蕴电平转换为砸杂原源愿缘电平的功能遥酝粤载源愿缘耘芯片的结构和引脚都非常简单袁内部含有一个驱动器和接收器遥砸韵和阅陨端分别为接收器的输出和驱动器的输入端袁与杂栽酝猿圆的串口圆的孕粤圆和孕粤猿相连即可曰接收和发送的使能端分别为辕砸耘和阅耘端袁当辕砸耘为逻辑园时袁酝粤载源愿缘耘处于接收状态曰当阅耘为逻辑员时袁酝粤载源愿缘耘处于发送状态遥因为酝粤载源愿缘工作在半双工状态袁所以只需用杂栽酝猿圆的孕郧怨控制这两个引脚即可遥同时需在粤和月端之间加匹配电阻袁一般可选员圆园赘的电阻遥员援源杂怨园员猿三极管杂怨园员猿是一种晕孕晕型小功率三极管遥杂怨园员猿晕孕晕三极管主要用途院音频放大尧推挽输出以及开关等遥本文中采用单片机来控制孕蕴悦袁但是单片机的管脚最大输出电压只有猿援猿灾袁不足
以控制孕蕴悦的陨韵口遥采用图员的接法渊共发射极冤能够放大电
压起到开关的作用从而控制孕蕴悦的陨韵口遥
图员信号转换电路
圆通信系统设计
为了提高通讯的实时性及可靠性袁除了改变传输的波特率
以外袁还应尽量减小每个通信周期传送的数据量遥制定用户通信
协议的核心是合理安排数据结构袁使频率变化高的数据在每个
通信周期内都能及时传输袁而频率变化低的数据只有在变化稳
定后方可进行传输
咱员原猿暂
遥
圆援员通信协议设计
单片机使用串口圆进行异步发送和接收袁协议用悦语言编
程实现遥一次发送的一组数据作帧袁每帧数据最多可由猿园个字
符组成袁考虑到传输数据量较大袁本文一次传送员远个字符袁且采
用多次传送方式遥单片机发送的命令的具体格式如下院
员冤起始符占一个字符袁设置为远粤渊可任意配置冤曰
圆冤标识符占一个字符袁用于区分多组数据曰
猿冤数据占员圆个字符袁存储需要发送的数据曰
源冤校验符占一个字符袁校验发送的数据是否正确曰
缘冤结束符占一个字符袁设置为员悦渊可任意配置冤遥
孕蕴悦采用自由口通信模式袁可以实现用户自定义通信协议遥
本文中孕蕴悦接收消息开始字符设置成远粤袁接收数据的长度为
员远个字符袁消息结束字符为员悦袁配置如图圆尧图猿所示遥这样配
置刚好与单片机所发送的数据相对应遥
杂栽酝在耘栽远与杂苑原员圆园园自定义通信协议实现串行通信
张堃员牟少芳员刘晓杰圆丁新平员张民
员
渊员青岛理工大学自动化工程学院袁山东青岛圆远远缘圆园曰
圆中石油华北油田华港燃气集团有限公司袁河北任丘园远圆缘缘圆冤
杂栽酝在耘栽远葬灶凿杂苑原员圆园园悦怎泽贼燥皂悦燥皂皂怎灶蚤糟葬贼蚤燥灶孕则燥贼燥糟燥造贼燥粤糟澡蚤藻增藻杂藻则蚤葬造悦燥皂皂怎灶蚤糟葬贼蚤燥灶
杂栽酝在耘栽远与杂苑原员圆园园自定义通信协议实现串行通信
104
叶工业控制计算机曳圆园员苑年第猿园卷第员圆期
图圆数据起始设置
图猿数据结束设置
圆援圆通信程序的实现
员冤单片机的程序设
计遥单片机采用串行通信
的工作方式袁波特率为
怨远园园遭责泽遥由于单片机相
对灵活方便袁故采用单片
机作为主机来控制孕蕴悦
的接收和发送遥本文中综
合考虑了可靠性和经济
性袁一方面将单片机作为
孕蕴悦的陨韵扩展模块用
来处理发送员圆路模拟量
数据袁占用了两组传送数
据通道袁第三组数据通道
作为备用使用曰另一方面
单片机采用定时中断接
收孕蕴悦发出的指令且能
单独处理部分功能遥发送和接收程序流程图见图源遥
圆冤孕蕴悦的程序设计遥孕蕴悦作为从机袁首先配置好通信协议袁
然后采用梯形图处理接收到的数据遥孕蕴悦主要用来接收单片机
的数据袁当需要单片机执行某功能时才会向单片机发送数据遥其
程序流程图如图缘所示遥
程序设计应符合的原则
咱源暂
院
员冤在初始化阶段应该通过协议起始字符查询所有通信数据
并建立分类控制表曰
圆冤优先级控制遥通过判断单片机孕郧怨口电平的高低确定优
先级袁孕郧怨为低电平时优先级最高袁单片机作为主站发送数据袁
此时孕蕴悦只处于接收状态并将数据传送到上位机显示曰
猿冤命令发送不要太频繁遥数据的传送以不影响系统稳定性为
核心曰过于频繁的发送数据查询指令袁会导致单片机悦孕哉忙于响
应查询袁网络负荷也会随着通讯周期内处理数据量的增加而加重遥
为保证数据的实效性袁每延时猿皂泽发送一组数据且保证中断查询
时间不少于猿园园皂泽刷新一次袁已经可以达到足够的控制要求遥
猿结束语
通过对现有潜水器模拟装置的研究袁设计了杂苑原员圆园园系列
孕蕴悦和杂栽酝猿圆系列单片机自定义通信方案曰该方案原理简单尧
通用性强尧协议完全由用户确定遥该方案已实际应用于潜水器模
拟控制平台项目中袁运行稳定尧可靠遥
参考文献
咱员暂李辉袁郑宁援孕蕴悦与单片机之间的串行通信及应用咱允暂援电气应用袁
圆园园猿渊愿冤院远苑原远愿
咱圆暂杨志刚袁钱俊磊援西门子杂苑原圆园园系列孕蕴悦与单片机之间的自由口
通信咱允暂援河北理工学院学报袁圆园园缘袁圆苑渊源冤院苑苑原愿园
咱猿暂张春援深入浅出西门子杂苑原员圆园园孕蕴悦咱酝暂援北京院北京航空航天大学
出版社袁圆园园怨
咱源暂阳宪惠援工业数据通信与控制网络咱酝暂援北京院清华大学出版袁圆园园猿院
源缘原苑猿咱收稿日期院圆园员苑援远援圆怨暂
图源单片机发送和接收程序流程图
图缘孕蕴悦发送和接收程序流程图
105