S7-1200 串行通信概述

合集下载

s7-1200之间通信

s7-1200之间通信

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]中单击右键选择属性,将打勾的去掉。

S7-1200 Modbus RTU 通信概述

S7-1200 Modbus RTU 通信概述

S7-1200 Modbus RTU 通信概述Modbus具有两种串行传输模式:分别为ASCII和RTU。

Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0 - 247,其中0为广播地址,从站的实际地址范围为1 - 247。

Modbus RTU通信以主从的方式进行数据传输,在传输的过程中Modbus RTU主站是主动方,即主站发送数据请求报文到从站,Modbus RTU从站返回响应报文。

S7-1200以下模块支持Modbus RTU通信:注意:1. 使用通信模块CM 1241 RS232作为Modbus RTU主站时,只能与一个从站通讯。

2. 使用通信模块CM 1241 RS485作为Modbus RTU主站时,则允许建立最多与32 个从站的通讯。

3. 使用通信板CB 1241 RS485时,CPU 固件必须为V2.0 或更高版本,且使用软件必须为STEP 7 Basic V11 或STEP 7 Professional V11 以上更高版本。

S7-1200 Modbus RTU 指令随着TIA PORATL 软件和S7-1200 CPU 固件的不断更新,S7-1200 Modbus RTU 指令也出现了不同的版本。

用户需要根据使用的软件和硬件,正确选择使用符合要求的S7-1200 Modbus RTU 指令来实现Modbus RTU 通信。

软件,硬件要求和指令版本说明如下。

TIA PORTAL 中的S7-1200 Modbus RTU 指令TIA PORTAL 软件中提供了2个版本的Modbus RTU指令。

如下图1 所示:•早期版本的Modbus RTU 指令(图1. 中MODBUS (V2.2))仅可通过CM1241 通信模块或CB1241 通信板进行ModbusRTU 通信。

•新版本的Modbus RTU 指令(图1. 中MODBUS(RTU) V3.0)扩展了Modbus RTU 的功能,该指令除了支持CM1241 通信模块、CB1241 通信板,还支持PROFINET 或PROFIBUS 分布式I/O 机架上的PTP 通信模块实现Modbus RTU 通信。

S7-1200串行通信

S7-1200串行通信

S7-1200串行通信
通信模板缓存区多包数据超出1024字节
发送多个每包50个字节数据,当数据超过1024字节那包就被丢弃了,前面的可以正常接收,且没有任何报错.在前面数
据被成功接收以后,只要缓存区有空间,后面的数据还可以正常收到。

通信模板缓存区一包数据超出1024字节
如果发送数据一包就大于1024字节时,缓冲区接收到数据到1024字节时,虽然没有收到结束字符,数据由缓存区送给CPU,但会报错16#80E0,如下图。

图14.发送数据一包大于1024字节时,缓存区报错
通信模板缓存区复位
当缓冲区溢出报错时,需要使用Reset指令进行清除缓冲区的操作。

图15.使用Reset指令复位缓存区错误,恢复数据接收
为什么不能使用PC/PPI电缆与S7-1200RS485模块进行串口调试?
答:因为S7-1200RS485模块接口不提供24V电源,不能给PC/PPI电缆供电,所以电缆无法工作。

解决办法:可以将S7-1200RS485与S7-200通信口网络连接,将PC/PPI电缆插在S7-200通信口上总线连接器的
编程口上,对S7-1200RS485进行串口调试。

此时S7-200必须上电并打到停止状态。

连接5GND逻辑地或通信地金属壳-外壳接地。

08-S7-1200的通信

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之间通信的具体操作步骤如下。

S7-1200第15讲:S7-1200的自由口通信

S7-1200第15讲:S7-1200的自由口通信
CM1241 RS232接口模块支持的通信协议: 基于字符(ASCII)的自由口通信协议 MODBUS RTU主从协议
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根线。

S7-1200 PLC应用教程第6章

S7-1200 PLC应用教程第6章
选中网络视图中PLC_2的PN接口,再选中巡视窗口中的的“属性 > 常规 > 操作模式”,勾选复选框“IO设备”,CPU 1215C做智能IO设备。用“已分 配的IO控制器”选择框将IO设备分配给IO控制器PLC_1的PN接口。
2.组态智能设备通信的传输区 IO设备的传输区(I、Q地址区)是IO控制器与智能IO设备的用户程序之间 的通信接口。通信双方用组态的Q区发送数据,用组态的 I 区接收数据。IO 控制器与智能IO设备之间通过传输区自动地周期性地进行数据交换。 选中网络视图中PLC_2的PN接口,然后选中巡视窗口的“属性 > 常规 > 操 作模式 > 智能设备通信”,双击右边窗口“传输区”列表中的<新增>,在第 一行生成“传输区_1”。
化领域、实时自动化领域和同步实时通信。
PROFINET支 持 故 障安全 通 信 的标准 行 规 PROFIsafe 和驱 动器 配 置 行规
PROFIdrive。
3.PROFIBUS PROFIBUS是开放式的现场总线,传输速率最高12Mbit/s,最多可以接127 个从站。PROFIBUS提供了下列3种通信服务: 1) PROFIBUS-DP (分布式外部设备)用于PLC与分布式I/O(例如ET 200) 的通信。主站之间的通信为令牌方式,主站与从站之间为主从方式。 2)PROFIBUS-PA(过程自动化)用于过程自动化的现场传感器和执行器的低
6.3 基于以太网的开放式用户通信 S7-1200/1500的CPU集成的PROFINET接口是10M/100Mbit/s的RJ45以太网口,
可以使用标准的或交叉的以太网电缆。支持TCP、ISO-on-TCP、UDP和S7通信。 1.开放式用户通信 基于CPU集成的PN接口的开放式用户通信用函数块建立和断开通信连接,

串行通信简介

串行通信简介

串行通信简介一、并行通信与串行通信数据传输的两种方式为并行和串行。

并行通信传输中,一组数据的各数据位在多条线上同时被传输,以字或字节为单位并行进行。

并行通信使用的通信线路多、成本高,另外由于线路长度增加时,干扰增加,数据也容易出错,所以并行方式不适宜远距离通信,工业上很少使用。

串行通信使用一条数据线,将数据一位接一位地按顺序依次传输,每一位数据占据一个固定的时间长度,只需要较少的通信线路就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信,工业上广泛使用。

二、同步通信与异步通信串行通信一般又分为同步通信和异步通信。

同步通信收发设备需要使用一根同步时钟信号线,在时钟信号的驱动下双方进行协调,同步数据。

例如,通信中双方通常会统一规定在时钟信号的上升沿(或下降沿)对数据线进行采样。

异步通信则不需要同步时钟信号,而是采用字符同步的方式,字符帧格式如图12-59所示。

图12-59 异步通信的字符帧格式发送的字符由1个低电平起始位、7或8个传送信息数据位、1个奇偶校验位(可以没有)、1或2个停止位组成。

通信双方需要对采用的字符帧格式和数据的传输速率做相同的约定。

异步通信传送的附加位(非有效传送信息)较多,传输效率低,但随着通信速率的提高,可以满足控制系统通信的要求。

S7-1200 PLC采用异步通信方式。

提示:串行通信中,波特率指的是数据传输速率,即每秒传送的二进制位数,其符号为bit/s或bps。

三、单工、半双工与全双工通信单工通信只支持数据在一个方向上传输,不能实现双向通信,例如电视、广播。

半双工通信允许数据在两个方向上传输,但同一时刻只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信。

在同一时间只可以有一方接收或发送信息,可以实现双向通信,如对讲机。

全双工通信允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合。

在同一时间可以同时接收和发送信息,实现双向通信,如电话通信。

S7-1200 和 S7-1200 之间 S7 通讯

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 所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S7-1200 串行通信详解S7-1200支持的串行通讯方式
•点对点(PtP)通信
•Modbus 主从通信
•USS 通信
S7-1200 串口通信模块的特征
图1. 串口通信模块
1. 由CPU 供电,不必连接外部电源
2. 端口经过隔离,最长距离1000 米
3. 有诊断LED 及显示传送和接收活动LED
4. 支持点对点协议
5. 通过扩展指令和库功能进行组态和编程
RS485 与RS232 通信模块的LED
诊断LED 灯
•红闪:如果CPU 未正确识别到通信模块,诊断LED 会一直红色闪烁•绿闪:CPU 上电后已经识别到通信模块,但是通信模块还没有配置•绿灯:CPU 已经识别到通信模块,且配置也已经下载到了CPU
发送LED 灯
•代表数据正在通过通信口传送出去
接收LED 灯
•代表数据正在通过通信口接收进来
注意:通信板CB1241 只有发送和接收LED 灯,而没有诊断LED 灯
串口模板支持的协议
•ASCII
•USS
•Modbus RTU Master protocol
•Modbus RTU Slave protocol
ASCII 协议的特点
•报文可以由用户自己定义,便于用户以ASCII 协议为基础开发
•使用简单,可以很好地实现与第三方系统的通讯
•可以进行识别报文结束设置
•可以进行数据流量控制
•缺点:具有简单的校验功能(奇偶校验),低数据安全性;数据传输无确认信息;通讯需要双方协调
S7-1200 的PTP 校验
串口的校验:奇偶校验:用于检验数据传递的正确性,是最简单的检错方法。

图2. 校验设置
•偶校验:如果每字节的数据位中“1”的个数为奇数,则校验位为1,如果个数为偶数,则校验位为“0”,
保证数据位和校验位中“1”的个数是偶数
•奇校验:如果每字节的数据位中“1”的个数为奇数,则校验位为0,如果个数为偶数,则校验位为“1”,
保证数据位和校验位中“1”的个数是奇数
•传号校验:奇偶校验位始终设置为1
•空号校验:奇偶校验位始终设置为0
注意:奇偶校验可以简单的判断数据的正确性,从原理上可看出当一位出错,可以准确判断,当两位或更多位误码就校验不出,但由于其实现简单,仍得到了广泛使用。

PTP 通信的发送信息配置
定义在信息起始发送断点及空闲线
字符中断:当接收到的数据保持为零值的时间大于完整的字符传输时间时,代表字符中断。

一个完整字符传输时间定义为传输起始位、数据位、校验位和停止位的时间总和。

图3. 定义在信息起始发送断点及空闲线
常问问题:为什么发送配置中只配了2位字符中断,而通信伙伴却可以正常接收数据?
答:发送配置中设置的字符中断小于等于16位时,系统自动发出16位的字符中断位;设置大于16位时,则发出的中断位与实际设置相符。

下图是设置的发送断点及空闲线位及其实际发出的波形图。

波形图断点及空闲线设置
图4. 断点及空闲线波形图
PTP 通信接收起始条件
以任意字符开始
以特殊条件开始:
•通过断点识别消息开始
•通过空闲线识别消息开始
•通过单个字符识别消息开始•通过字符序列识别消息开始
图5. 通信接收起始条件
通过字符序列识别消息开始
对于多个起始序列的组态,只要出现其中一个序列,即会满足开始条件。

下图右侧即为满足起始条件的字符串。

图6. 通过字符序列识别消息开始
如果选择了多个起始条件,则检查开始条件的顺序如下:
注意:检查多个开始条件时,如果有一个条件没有满足,则CM 将从第一个所需的条件开始重新启动检查。

PTP 通信接收结束条件
图7.结束条件设置
注意:与多个起始条件的判断不同,检查多个结束条件时,任何一个条件满足,信息接收结束。

消息超时结束条件
消息超时时间从接到符合消息开始条件的第一个字符时开始计算,如下图。

图8.消息超时
响应超时结束条件
响应超时时间从传送结束时开始计算,只要传送成功完成且模块开始接收操作,定时器就会启动。

图9.响应超时
注意:响应超时结束条件不能作为单独的结束条件的设置,否则会在编译时报如下错误:
图10.响应超时作为单独的结束条件报错
从消息中读取信息长度
图11.从消息中读取信息长度的设置
实际收到的数据长度=
长度偏移前的字节数+长度字节大小+读取的实际数据长度+不计入字节长度的字节数
图12.程序中读到的实际数据长度
PTP 通信接收缓存区
缓存区的数据保持
断电后缓存区中的数据全部丢失,不能保持。

通信模板缓存区超出20条信息
如果缓存区中的信息超过20条,后面的信息被
自动丢弃,且不报错。

通信模板缓存区多包数据超出1024字节
发送多个每包50个字节数据,当数据超过1024字节那包就被丢弃了,前面的可以正常接收,且没有任何报错.在前面数据被成功接收以后,只要缓存区有空间,后面的数据还可以正常收到。

通信模板缓存区一包数据超出1024字节
如果发送数据一包就大于1024字节时,缓冲区接收到数据到1024字节时,虽然没有收到结束字符,数据由缓存区送给CPU,但会报错16#80E0,如下图。

图13. 发送数据一包大于1024字节时,缓存区报错
、图14. 使用RST指令复位缓存区错误,恢复数据接收
注意:缓存区可以存储多条信息,限制是20条信息或最多1024字节。

为什么不能使用PC/PPI 电缆与S7-1200 RS485 模块进行串口调试?
答:因为S7-1200 RS485 模块接口不提供24V电源,不能给PC/PPI 电缆供电,所以电缆无法工作。

解决办法:可以将S7-1200 RS485 与S7-200 通信口网络连接,将PC/PPI 电缆插在S7-200 通信口上总线连接器的编程口上,对S7-1200 RS485进行串口调试。

此时S7-200必须上电并打到停止状态。

连接5 GND 逻辑地或通信地金属壳- 外壳接地。

相关文档
最新文档