如何实现S7-200SMART自由口通讯

合集下载

S7-200PLC的自由口通信工程应用

S7-200PLC的自由口通信工程应用

S7-200PLC的自由口通信工程应用笫1章S7-200 PLC的自由口通信工程应用本章由浅到深循序渐进地例举了S7-200 PLC自由口通信的三个工程应用实例。

分别从任务描述、任务剖析、解决方案、实施步骤和常见故障及排故方法这五个方面进行了描述。

第一个实例“智能立体车库系统中IC卡的应用”讲述了S7-200 PLC的自由口通信的只读功能实现方法,第二个实例“RFID在AGV(Automated Guided Vehicle)中的应用”讲述了S7-200 PLC的自由口通信的读写功能实现方法,第三个实例“S7-200 PLC在无线通信上的应用”讲述了S7-200 PLC 的自由口通过自定义通信协议实现一对多的无线通信功能。

1.1智能立体车库系统中IC卡的应用1.1.1 任务描述智能立体车库系统要求采用刷卡方式完成车辆自动出入立体车库。

当司机刷卡并设定密码后,卡信息与车辆进行绑定,车辆将自动进入车库相应的车位,当司机想取出车辆时,司机只需刷卡并通过密码验证,系统将自动从车库中寻找该卡对应的车辆并将车取出到车库。

其中控制车辆进出的控制器采用西门子S7 - 200 系列CPU226 型可编程控制器来实现。

1.1.2 任务剖析智能立体车库要求采用刷卡方式作为车辆出入立体车库的凭证,这就要求控制系统能读出卡上的信息,利用卡的信息作为身份识别把卡和车辆绑定起来。

选用在弱电系统中作为门禁或停车场系统使用者身份识别的ID卡就能满足要求。

ID卡全称为身份识别卡(Identification Card),是一种只读的感应卡,每张ID卡有一个全球唯一的芯片编码。

它靠读卡器设备感应供电并读出存储在芯片EEPROM中的唯一卡号,该卡号在封卡前一次写入,封卡后不能更改,该ID卡完全能满足车辆身份识别的要求。

同时S7-200 PLC的自由口通信能实现通过读卡器设备读出卡上信息从而完成车辆身份识别的功能。

1.1.3 解决方案该任务实现的关键是要求S7-200 PLC能读出ID卡的信息,考虑到大多数的ID读卡器设备提供了与电脑直接通信的RS232通信方式,而S7-200 CPU的通信口电气上是标准的RS-485半双工串行通信口,因此硬件上需要通过RS-232到RS485转换器把ID读卡器设备连接到S7-200 CPU的通信口上,由于PC/PPI电缆本质上就是RS-232到RS485的转换,所以也可以通过PC/PPI电缆把ID读卡器设备连接到S7-200 CPU的通信口上。

【电气工控自动化】S7-200 SMART与V20变频器进行自由口通信

【电气工控自动化】S7-200 SMART与V20变频器进行自由口通信

S7-200 SMART与V20变频器进行自由口通信学习S7-200 SMART时了解到,基于RS485接口可实现一下几种通信:1)modbus RTU通信2)PPI协议通信3)USS协议通信4)自由口通信何为自由口通信呢?前三种通信必须要PLC和与其通信的设备支持相同的通信协议,如果两者之间没有共同的通信协议则需要用到自由口通信。

自由口通信也称无协议通信,需要根据对方设备的通信数据格式编写一个临时协议,不仅需要编程人员学会如何编写程序,还需要了解对方的通信数据格式,所以对编程人员要求较高,随着标准协议(modbus,USS等)普及,自由口应用越来越少,但是对于一下小的设备如扫码枪等,并没有集成标准通信协议,所以只能选用自由口通信,Moubus和USS其实是自由口的一个特例。

很多人碰到自由口通信就手足无措了,其实只要掌握规律,自由口通信不一定很难。

为此我总结了自由口通信的基本步骤:1)读懂对方的数据格式。

串行通信中,数据是一位一位的进行发送,也就是0和1。

为了能够准确的将数据发送过去,往往会加上1个起始位,1个校验位,1个停止位(无校验是为2个停止位)如图1-1所示。

图1-1我们就以Modbus RTU为例详细看一下串口通信中数据是如何发送和就收的。

Modbus RTU代码系统如下:·1个起始位。

·7或8个数据位,最小的有效位先发送。

·1个奇偶校验位,设成无校验则没有。

·1个停止位(有校验时),2个Bit(无校验时)。

数据格式的描述如下表:11-bit字符帧(BITl-BIT8为数据位):起始位Bit1Bit2Bit3Bit4Bit5Bit6Bit7Bit8校验位停止位10-bit字符帧(BITl-BIT7为数据位):起始位Bit1Bit2Bit3Bit4Bit5Bit6Bit7校验位停止位通信中要保证通信双方要有相同的波特率,数据格式,奇偶校验位。

波特率:通信速度,每秒中发送的位的个数,单位为Bit/S或bps。

S7―200自由口通信的原理及学习建议

S7―200自由口通信的原理及学习建议

S7―200自由口通信的原理及学习建议摘要:本文从S7-200 PLC自由端口通信协议入手,讲述自由端口协议的基本概念、自由端口通信与USS、MODBUS RT的关系;利用自由端口通信数据发送和数据接收的梯形图实例讲述了自由端口的编程方法。

自由端口通信的ASCII码和二进制码协议区别,总结了自由端口协议的功能及用途,文章最后作者根据自身经验,提出了学习自由端口协议的几点建议。

关键词:S7-200 PLC自由端口协议ASCII二进制功能用途学习建议中图分类号:TP336 文献标识码:A 文章编号:1007-9416(2015)04-0037-01强大而灵活的自由口通信能力,是S7-200系统的一个重要特点。

S7-200 PLC的通信端口按照串行485通信总线规范设计,并具备自由通信功能。

在自由通信模式下,通信数据的发送、接受协议由编程人员自行规定,但一般都是按照受控设备的支持的通信协议编写自由通信协议。

在自由通信协议的平台上,S7-200PLC可以方便的与上位机的第三方软件(组态王、MSG等)、扫描设备、编码器、单片机进行数据交换。

USS协议库和MODBUS RTU从站协议库是S7-200的编程软件固有的通信协议库,这些协议库都使用了自由口通信功能。

正确理解S7-200的自由口通讯对于自控人员具有极其重要的意义。

1 自由口通信基本概念西门子S7-200系列PLC的通讯端口都具备自由口通信功能。

所谓自由口协议是指通过用户程序控制CPU主机的通信端口的操作模式来进行通信。

只有在PLC处于运行模式时,其通信端口才能工作在自由端口模式。

当PLC从RUN 模式切换到STOP模式时,其自由通信协议模式自动关闭,并将通信端口切换到PPI通信模式。

与自由端口通信相关的指令有数据发送指令XMT和数据接收指令RCV。

自由端口的数据发送梯形图程序如图1。

在图1中,当EN端为高电平时,PLC的通信端口PROT1就会将VB100及其后的若干字节按一定的比特率发送出去。

s7-200自由口通信

s7-200自由口通信

S7-200自由口通讯一、基础知识介绍(名词理解,原理,工作机制)1、S7-200CPU的通讯口可以设置为自由口模式(如何设置成自由口模式?)。

选择自由口模式后,用户程序可以完全控制通讯端口的操作(如何控制通讯端口的操作),通讯协议也完全受用户程序控制(如何控制通讯协议)。

S7-200 CPU处于自由口通信模式时,通信功能完全由用户程序控制,所有的通信任务和信息定义均需由用户编程实现。

2、S7-200CPU上的通讯口在电气上是标准的RS-485半双工串行通讯口。

此串行字符通信的格式可以包含:○一个起始位。

○7或8位字符(数据字节)。

○一个奇偶校验位,或没有校验位。

○一个停止位。

○通信波特率可以设置为1200,2400,4800,9600,19200,38400,57600,115200 bit/s。

凡是符合这些格式的串行通信设备,都可以和S7-200 CPU通信。

借助自由口通信模式,S7-200 CPU 可与许多通信协议公开的其他设备、控制器进行通信,其波特率为1200~115200bit/s。

自由口通信是一种基于RS485 硬件基础上,允许应用程序控制S7-200 CPU 的通信端口、以实现一些自定义通信协议的通信方式。

3、自由口通讯(顾名思义很自由)可以通过用户程序灵活控制,没有固定模式。

S7-200 可通过自由口通讯协议访问下列设备:– 带用户端软件的PC机,– 条形码阅读器,– 串口打印机,– 并口打印机,– S7-200,– S7-300 with CP 340– 非Siemens PLC,– 调制解调器。

S7-200 CPU 通信端口是RS485 标准,因此如果通信对象是RS232 设备,则需要使用RS232/PPI 电缆。

4、“请求-响应”工作机制:S7-200 CPU可以作为主站先向从站发送数据请求,然后等待从站的数据响应,也可以作为从站,首先等待主站发送过来的数据请求,然后根据请求的内容,按规则把相关数据返回给主站。

S7_200PLC与PC自由口通讯的多种实现方法

S7_200PLC与PC自由口通讯的多种实现方法

S7-200PLC与PC自由口通讯的多种实现方法1 引言西门子S7-200PLC是德国西门子公司生产小型PLC。

S7-200以其高可靠性、指令丰富、内置功能丰富、强劲通讯能力、较高性价比等特点,工业控制领域中被广泛应用。

S7-200PLC突出特点之一是自由口通讯功能。

如何实现S7-200PLC与个人计算机互联通信,是S7-200PLC应用技术关键。

可编程控制器与计算机之间通讯一般是RS-422口或RS-232C口进行,信息交换方式为字符串方式,运用RS-232C或RS-422通道,容易配置一个与计算机进行通信系统,将所有软元件数据和状态用可编程控制器送入计算机,由计算机采集这些数据,进行分析及运行状态监测。

用计算机改变可编程控制器设备初始值和设定值,实现计算机与可编程控制器直接控制,一旦确定了可编程控制器控制指令,就能很方便与计算机连接。

2 S7-200自由口通讯模式S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)、Rrofibus DP等。

PPI等通讯协议主要用于西门子系列产品之间通讯以及对PLC编程。

自由口模式下,可由用户控制串行通讯接口,实现用户自定义通讯协议。

用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。

自由口模式下,通信协议完全由梯形图程序控制。

S7-200CPU上通信口是与RS-485兼容9针D型连接器,PLC还提供了实现RS-485与PC机上RS-232C相连接PC/PPI电缆,利用它可以方便实现S7-200系列PLC与PC之间硬件连接。

S7-200编程软件为STEP7-Micro/WIN32,该软件有STL、FBD和Ladder三种编程模式,有SIMATIC指令和IEC131-3指令两种指令。

本文所给出范例是使用SIMATIC指令STL编程。

3 S7-200 PLC端通讯程序实现PLC程序分为主程序和中断程序。

S7-200 SMART PLC 串口通信说明

S7-200 SMART PLC 串口通信说明

S7-200SMART PLC串口通信说明(图文并茂)09S7-200SMART串口通信简介S7-200SMART支持的串口通信硬件及连接资源如表1所示:表 1.S7-200 SMART串口参数通讯口类型支持的通信协议波特率连接资源CPU本体集成通讯口RS485通信信号板(SB CM01)S485RS232PPI/自由口/MODBUS/USS PPI(9600,19200,187500b/s)自由口(1200,115200b/s)每个通信口可连接4个HMI设备注意:1.PPI模式只支持S7-200SMART CPU与HMI设备之间的通信;2.通信信号板的工作模式(RS485/RS232)是由用户决定的,可以在Micro/WIN SMART中通过设置系统块来设置。

详细设置方法见:如何设置串口通信参数通信端口定义1.S7-200SMART CPU本体集成RS485端口(端口0)表 2.S7-200SMART CPU本体集成RS485端口引脚定义CPU插座(9针母头)引脚号信号Port0(端口0)引脚定义235678924V返回5V返回+5V+24V不用逻辑地(24V公共端)逻辑地(5V公共端)+5V,通过100Ohm电阻+24V 10位协议选择(输入)机壳接地RS-485信号RS-485信号BRS-485信号RS-485信号A金属壳屏蔽2.通信信号板表3.通信信号板(Port1)引脚定义通信信号板(SB CM01)引脚标记RS485机壳接地RS232机壳接地RS232-TxRTS(TTL)逻辑公共端RS232-RxTX/BRTSMRX/ARS485-BRTS(TTL)逻辑公共端RS485-A5V+5V,100Ω串联电阻通信信号板通信信号板可以扩展CPU的通信端口,其安装位置如图1所示。

安装完成后,通信信号板被视为端口1(Port1),CPU本体集成RS485端口被视为端口0(Port0)。

图 1.S7-200SMART通信信号板及其安装示意图串口通讯硬件从三个方面介绍S7-200SMART CPU串口通信硬件:1.使用S7-200SMART CPU本体集成RS485端口接入RS485网络:S7-200SMART CPU RS485网络使用双绞线电缆。

如何实现S7-200SMART自由口通讯

如何实现S7-200SMART自由口通讯

如何实现S7-200SMART自由口通讯自由口通讯协议的关键条件定义开始接收消息和停止接收消息的条件。

1、空闲线检测:设置il=1,sc=0,bk=0,smw90/smw190>0空闲线条件定义为传输线路上的安静或者空闲的时间。

SMW90/SMW190中是以ms为单位的空闲时间。

在该方式下,从执行接收指令开始起动空闲时间检测。

在传输线空闲的时间大于等于SMW90/SMW190中设定的时间之后接收的第一个字符作为新信息的起始字符。

接收消息功能将会忽略在空闲时间到达之前接收到的任何字符,并会在每个字符后面重新启动空闲线定时器。

空闲线时间应大于以指定波特率传送一个字符所需要的时间。

空闲线时间的典型为以指定的波特率传送3个字符所需要的时间。

传输速率为19200bit/s时候,可设置空闲时间为2ms。

对于二进制协议,没有特定起始字符的协议或指定了消息之间最小时间间隔的协议,可以将空闲线检测用作开始条件。

2、起始字符检测:设置il=0,sc=1,bk=0,忽略smw90/smw190起始字符是消息的第一个字符,以SMB88/SMB188中的起始字符作为接收到的消息开始的标志。

接收消息功能忽略起始字符之前收到的字符,起始字符和起始字符之后收到的所有字符都存储在消息缓冲区中。

起始字符检测一般用于ASCII协议。

3、空闲线和起始字符:设置il=1,sc=1,bk=0,SMW90/SMW190大于0满足空闲线条件之后,接收消息功能查找指定的起始字符。

如果接收到的字符不是smB88/smb188指定的起始字符,将开始重新检测空闲线条件。

在满足空闲线条件之前接收到的以及起始字符之前接收到的字符都将会被忽略。

这种方式尤其适合用于通讯链路上有多台设备的情况。

4 、break检测:设置il=0,sc=0,bk=1,检测smw90/smw190和smb88/smb188以接收到的break(断开)作为接收消息的开始。

当接收到的数据保持为0的时间大于完整字符(包含起始位,数据位,奇偶校验位和停止位)传输的时间,表示检测到break。

S7-200PLC与PC自由口通讯的多种实现方法,

S7-200PLC与PC自由口通讯的多种实现方法,

首页我的图书馆主题阅读精彩目录精品文苑Tags会员浏览好书推荐S7-200PLC与PC自由口通讯的多种实现方法,应用案例,工控商务网(转载)金牧场收录于2007-07-30 阅读数:公众公开原文来源S7-200PLC与PC自由口通讯的多种实现方法出处:西部工控网 | 时间:2007-3-31 | 阅读:23次1 引言西门子S7-200PLC是德国西门子公司生产的小型PLC。

S7-200以其高可靠性、指令丰富、内置功能丰富、强劲的通讯能力、较高的性价比等特点,在工业控制领域中被广泛应用。

S7-200PLC的突出特点之一是自由口通讯功能。

如何实现S7-200PLC 与个人计算机的互联通信,是S7-200PLC应用的技术关键。

可编程控制器与计算机之间的通讯一般是通过RS-422口或RS-232C口进行的,信息交换的方式为字符串方式,运用RS-23 2C或RS-422通道,容易配置一个与计算机进行通信的系统,将所有软元件的数据和状态用可编程控制器送入计算机,由计算机采集这些数据,进行分析及运行状态监测。

用计算机改变可编程控制器设备的初始值和设定值,从而实现计算机与可编程控制器的直接控制,一旦确定了可编程控制器的控制指令,就能很方便地与计算机连接。

2 S7-200的自由口通讯模式S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)、Rrof ibus DP等。

PPI等通讯协议主要用于西门子系列产品之间的通讯以及对PLC编程。

在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。

用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。

在自由口模式下,通信协议完全由梯形图程序控制。

S7-200CPU上的通信口是与RS-485兼容的9针D型连接器,PLC还提供了实现RS-485与PC机上RS-232C相连接的P C/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。

西门子S7-200 自由口通信实用文档

西门子S7-200 自由口通信实用文档

主题:应用探讨—S7-200 自由口通信—发帖整理强大而灵活的自由口通信能力,是S7-200系统的一个重要特点。

S7-200 CPU的RS485通信口提供了建立在串行通信基础上的“自由”通信能力,数据传输协议完全由用户程序决定。

通过自由口方式,S7-200可以与串行打印机、条码阅读器等通信。

而S7-200的编程软件也提供了一些通信协议库,如USS协议库和MODBUS RTU从站协议库,它们实际上也使用了自由口通信功能。

开设本话题的目的,在于澄清自由口通信的基本概念,强调使用中的要点,讨论应用的常见问题。

经过此次集中交流,解决了如下一些问题:1. 自由口通信基本概念2. 自由口通信编程指令的使用和技巧3. 自由口通信常见问题4. 产品功能建议更多信息请参考下面文档。

“下载中心”参考文档:文档编号“1109582”——S7-200《可编程控制器系统手册》文档编号“A0136”——《西门子 S7-200•LOGO!•SITOP参考》以下为本次探讨的发帖整理,查看原始交流内容请点击此处。

1.自由口通信基本概念(1楼——5楼)2.自由口通信编程指令的使用和技巧(6楼——15楼)3.自由口通信容易犯的错误(16楼——24楼)4.产品功能建议(25楼——27楼)quote:以下是引用BABU在2011-01-20 15:17:08的发言:我回来了,项目终于做完了,可以回家过年了,:)。

自由口通信真是折腾的我好惨啊,简单回顾一下,希望对像我这样的菜鸟有些借鉴作用。

先感谢一下西门子论坛和热线,没少骚扰他们。

在完全没有准备的情况下甲方又加进一个仪表,做什么自有口通信,晕阿!没办法,迎着上吧!网上搜资料,看手册,越看越糊涂!时间紧迫,还是直接上手做吧。

首先是把PLC和仪表连接起来,可仪表的口是rs232的,热线工程师告诉我得做rs232/485的转换,打车到市场上买个转换器(打车钱比设备钱还多,可见现场多么偏僻阿),听卖转换器的老板给我分析了一下每种的区别——不光是价格的区别,说实在的,当时非常惭愧,老板懂的比我多多了。

S7200 SMART 自由口通信实例解读分析

S7200  SMART 自由口通信实例解读分析

S7200 Smart自由口通信:
1)自由口通讯硬件 西门子S7 -200 smart系列PLC的自由口是基于RS485的硬件, 采用正负两根信号线作为传输线路。两线间的电压差为 +2V~6V表示逻辑'1':两线间的电压差为-2V~-6V表示逻辑 '0'。 西门子串口的插头是九针标准插头,其中各个针脚的定义在 下表中得以体现,最重要的两根线是表中红线标出的3号脚 和8号脚,也就是通常说的'3正8负',其中3对应信号B,8对 应信号A,其它的引脚可以完成一些额外的功能,比如24V 直流电的供应,5V直流电的供应以及发送请求等。但是对于 最基本的串口通讯而言,3脚和8脚两根线就足够了,所以下 面将着重介绍这两根线的逻辑。
1.判断信息接收结束是否为字符间超 时结束(SM86.2 = 1),若是,则认 为接收成功,接收成功计算器 VB200 自加一; 2.消息接收成功时接收的信息拷贝到 VB300 为起始地址的存储区; 3.开始下一次 RCV 指令地执行
CPU 中断程序
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
RCV 接收指令实例 例子 1 :S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与口,其与 S7-200 SMART CPU 集成的 RS485 端口连接时需要使用 RS232/485 转换设备或 RS-232/PPI 多主站电缆。 条码扫描枪接收到条码后会自动通过 RS232 端 口发送报文,S7-200 SMART CPU 需要调用 RCV 指令接收报文,并在接收完成中断中再次使 能 RCV 指令循环接收报文。
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信

S7-200自由口通信的原理及学习建议

S7-200自由口通信的原理及学习建议

S7-200自由口通信的原理及学习建议S7-200自由口通信是一种基于西门子PLC控制器的通信技术。

该技术允许通过在PLC控制器的自由口接口上配置通信参数和协议,实现不同设备之间的数据交换和信息传输。

这种通信方式极大地扩展了PLC控制器的应用场景和功能性,在工业自动化领域具有广泛的应用价值。

S7-200自由口通信的原理是基于串行通信技术,通过自由口接口以特定的通信协议进行数据传输。

通信过程分为发送端和接收端两个部分。

发送端将要传输的数据按照指定的协议进行打包,然后通过串口发送到接收端。

接收端通过串口接收到数据后,根据协议把数据解析出来,并进行处理。

最终,接收端将处理后的数据返回给发送端确认收到,完成了数据的传输。

整个通信过程主要依赖于自由口通信模块和软件的支持和配合实现。

要学习和掌握S7-200自由口通信技术,需要从以下几个方面入手:首先,需要具备一定的PLC控制器编程基础。

熟练掌握与掌握西门子PLC控制器相关的编程语言和软件工具,并了解基本的电气知识和控制系统原理等。

只有了解这些基础知识,才能更深入地理解和运用自由口通信技术。

其次,需要了解不同的通信协议和方式。

S7-200自由口通信技术支持多种协议,如Modbus、Profibus等,还可以通过自由口通信模块配置自定义协议。

因此,需要根据不同的应用场景来学习和了解相应的协议和方式,才能更好地实现数据交换和信息传输。

第三,需要学习和掌握自由口通信模块的使用和配置。

了解自由口通信模块的工作原理,能够选择合适的模块和配置通信参数,以及处理通信异常和错误,是掌握自由口通信技术的重要内容。

最后,需要进行实际操作和实践。

通过实际的案例和应用场景,练习和实践自由口通信技术,掌握实现通信工程的方法和技巧,不断提升技能水平。

总之,S7-200自由口通信技术是一个重要的控制系统通信技术,对于提高工业自动化系统的效率和控制精度具有重要的作用。

学习和掌握S7-200自由口通信技术需要有较强的编程基础、通信协议和模块的配置技能、以及实践操作和应用实例的支撑。

S7-200SMARTPLC串口通信说明(图文并茂)

S7-200SMARTPLC串口通信说明(图文并茂)

S7-200SMARTPLC串口通信说明(图文并茂)S 7-200 S M A R T 串口通信简介S 7-200 S M A R T 支持的串口通信硬件及连接资源如表 1所示:注意:1. P P I 模式只支持 S 7-200 S M A R T C P U 与 H M I 设备之间的通信;2. 通信信号板的工作模式(R S 485/R S 232)是由用户决定的,可以在 M i c r o /W I N S M A R T 中通过设置系统块来设置。

详细设置方法见:如何设置串口通信参数通信端口定义1.S 7-200 S M A R T C P U 本体集成 R S 485 端口(端口 0)表 2. S 7-200 S M A R T C P U 本体集成 R S 485 端口引脚定义2.通信信号板表 1.S 7-200 S MA R T 串口参数CPU 本体集成通讯口通信信号板(S B C M 01)通讯口类型R S 485R S 485R S 232支持的通信协议P P I / 自由口/ M O D B U S / U S S 波特率P P I (9600,19200,187500 b /s )自由口(1200,115200 b /s )连接资源每个通信口可连接 4 个 H M I 设备C P U 插座(9针母头)引脚号信号P o r t 0(端口0)引脚定义1屏蔽机壳接地224V 返回逻辑地(24V 公共端)3R S -485信号 B R S -485信号 B4发送请求R T S (T T L )55V 返回逻辑地(5V 公共端)6+5V +5V ,通过100 O h m 电阻7+24V +24V8R S -485信号 A R S -485信号 A9不用10位协议选择(输入)金属壳屏蔽机壳接地表 3.通信信号板(P o r t 1)引脚定义通信信号板(S B C M 01)引脚标记R S 485R S 232机壳接地机壳接地T X /B R S 485-B R S 232-T x R T S R T S (T T L )R T S (T T L )M 逻辑公共端逻辑公共端R X /AR S 485-AR S 232-R x通信信号板通信信号板可以扩展 C P U 的通信端口,其安装位置如图 1所示。

S7-200(SMART)的自由口通信运用的经历

S7-200(SMART)的自由口通信运用的经历

S7-200(SMART)的自由口通信运用的经历初次试探自由口通信,从PLC读仪表数据开始,当时有一套比较老的设备,仪表是国外的,自定义的协议,国内集成商可能是仪表和接口板卡开发比较熟悉,或许是为了满足客户不同的PLC品牌需求,没有采用PLC和仪表直接通信,而是做了一块接口板,接口板和PLC之间采用数字量模式(对于PLC一侧DI 1 / DO 8+3+1+1),接口板和仪表之间采用RS232C通信。

PLC8个输出点相当于并口,3个输出点相当于读写参数编号,1个读写指令点,1个高低位指令点。

一同事有点高级语言的底子,用VB作了一个简单的读参数测试,可以接收到消息串。

于是本人饶有兴趣想试试PLC直接和仪表进行通信,翻看仪表的自定义协议,信息帧均是有指定的起始符和结束符,后面没有校验字符,现在回忆当时情况感觉还是有点幸运,如果校验复杂一点,可能就失去了继续深入的耐性了。

对照S7-200的系统手册,看XMT和RCV的指令介绍,当时对于通信指令和中断指令都不甚明了,需要一点点尝试,终于有点眉目,能够成功的读取一个参数,后来在慢慢的加入逻辑,读取多个参数,对于RCV接收机制和指令使用太过生疏,加上对中断也没有深入的概念,容易出现断线且无法恢复,后来逐渐加了一些重发之类的逻辑,形成了一个逻辑繁琐可读性极差的初级版本。

后来有一个需求,有用户使用了多套年岁较高的纺织机械,之前用的是西门子变频器和S7-200,西门子变频器老型号停产,需要更换新的型号,因为是基于通信给定频率,即使是更换西门子的新型号,也需要变动PLC频率给定部分的程序,用户干脆在一台机器上换了富士的变频器,找厂家改动了程序,后来有某国产变频器经销商想说服用户更换他家的变频器,用户答应给试机的机会,不过需要经销商来适配PLC程序,经过辗转,一同学找我给点建议,本人对通信的经验实在是可怜,不敢乱说,只能说程序是可以适配,但水平有限,经验不够,还是另找高手实施。

详细介绍S7-200SMART的自由口通信

详细介绍S7-200SMART的自由口通信

详细介绍S7-200SMART的自由口通信
学习S7-200 SMART时了解到,基于RS485接口可实现一下几种通信:
1)modbus RTU通信
2)PPI协议通信
3)USS协议通信
4)自由口通信
何为自由口通信呢?
前三种通信必须要PLC和与其通信的设备支持相同的通信协议,如果两者之间没有共同的通信协议则需要用到自由口通信。

自由口通信也称无协议通信,需要根据对方设备的通信数据格式编写一个临时协议,不仅需要编程人员学会如何编写程序,还需要了解对方的通信数据格式,所以对编程人员要求较高,随着标准协议(modbus,USS等)普及,自由口应用越来越少,但是对于一下小的设备如扫码枪等,并没有集成标准通信协议,所以只能选用自由口通信,Moubus和USS其实是自由口的一个特例。

很多人碰到自由口通信就手足无措了,其实只要掌握规律,自由口通信不一定很难。

为此我总结了自由口通信的基本步骤:
1)读懂对方的数据格式。

串行通信中,数据是一位一位的进行发送,也就是0和1。

为了能够准确的将数据发送过去,往往会加上1个起始位,1个校验位,1个停止位(无校验是为2个停止位)如图1-1所示。

图1-1
我们就以Modbus RTU为例详细看一下串口通信中数据是如何发送和就收的。

ModbusRTU代码系统如下:
·1个起始位。

·7或8个数据位,最小的有效位先发送。

S7200 SMART 自由口通信实例解读分析

S7200  SMART 自由口通信实例解读分析

S7200 Smart自由口通信:
(2)自由口通讯 S7-200 smart CPU的通信口可以设置为自由口模
式。选择自由口模式后,用户程序就可以完全控制 通信端口的控制,通信协议也完全受用户程序控制。 所谓的自由口通讯,就是通讯协议是由用户自由定 义的。 对于S7-200 smart PLC而言,基于本体自带的485 端口的网络所应用的协议,除了PPI协议以外,其 他都是自由口协议。例如USS协议、Modbus协议 等等都是特定的自由口通讯协议。
S7-200 Smart ——自由口通信解读
2020/6/14
S7200 Smart自由口通信:
S7-200 Smart串口通讯主要包括: 1)Modbus—PLC与支持Modbபைடு நூலகம்s RTU协议的 第三方设备通讯 •RTU Master-Protocol(RTU主站协议) •RTU Slave-Protocol(RTU从站协议) 2)USS—S7-200PLC与SIEMENS驱动设备的通讯 (如MM440等) 3)自由口通讯—S7-200PLC与自由协议的第三 方设备间的通讯
1.判断信息接收结束是否为字符间超 时结束(SM86.2 = 1),若是,则认 为接收成功,接收成功计算器 VB200 自加一; 2.消息接收成功时接收的信息拷贝到 VB300 为起始地址的存储区; 3.开始下一次 RCV 指令地执行
CPU 中断程序
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
2台S7-200 SMART CPU采用自由口通信方式实现相互通信。
两台PLC之间也可以使用自由口通信完成PLC之间的数据交换,我们以下面一个 例子说明两台PLC之间的自由口通信。 通信任务:CPU1 每秒触发一次 XMT 指令将 CPU 的实时时钟发送到 CPU2; CPU2 接收到 CPU1 发送的信息后立即将 CPU2 的实时时钟回复到 CPU1。

西门子S7-200PLC如何通过自由口通信控制变频器运行

西门子S7-200PLC如何通过自由口通信控制变频器运行

西门子S7-200PLC如何通过自由口通信控制变频器运行一、S7-200如何通过自由口通信控制西门子变频器的运行1、西门子变频器的通信协议是固定的。

如A、A′格式。

控制电机的启停用A′格式,要改变变频器的运行频率,使用A格式。

2、S7-200PLC根据西门子变频器的通信协议,通过自由口发送数据到变频器中,实现对西门子变频器的正转、反转、停止及修改运行输出频率。

二、西门子变频器通信协议总和校验计算:频率值对应的ASCII码:频率数据内容H0000~H2EE0变成十进制即为0~120Hz,最小单位为0.01Hz。

如现在要表示数据10Hz,即为1000(单位为0.01Hz),1000转换成十六进制为H03E8,再转换成ASCII码为H30H33H45H38。

总和校验代码总和校验代码是由被检验的ASCII码数据的总和(二进制)的最低一个字节(8位)表示的2个ASCII码数字(十六进制)三、S7-200自由口通信1、通信端口控制字节2、发送指令XMT与接收指令RCV说明:(1)发送与接收指令可以方便地发送或接收最多255个字节的数据。

(2)PORT指定发送或接收的端口。

(3)TBL指定发送或接收数据缓冲区,第一个数据指定发送或接收的字节数。

(4)发送完成时可以调用中断,接收完成时也可调用中断.四、项目实现用S7-200PLC自由口通信方式控制西门子变频器,拖动电机正转启动与停止,并能改变变频器的运行频率。

设变频器站号为1.正转启动的代码是:H05H30H31H46H41H31H30H32H38H31停止的代码是:H05H30H31H46H41H31H30H30H37H46把变频器运行输出频率改为20Hz的代码是:H05H30H31H45H44H31H30H30H31H04H42H351、设置变频器参数2、编写PLC自由口通信控制程序总结:1、作自由口通信时,一定要先研究要通讯设备的通信协议和数据格式。

2、作自由口通信时,如果要求PLC既发送数据,又接收数据。

S7-200系列自由口通讯的实现及应用

S7-200系列自由口通讯的实现及应用

S7-200系列自由口通讯的实现及应用1 引言为了达到和通讯协议已知的控制设备进行数据交换,以提高自动化控制系统的灵活性,很多plc制造商都相继的开发出了方便、灵活的自由口通讯方式,例如三菱公司的fx2系列plc, omron公司的cjm1系列的plc,西门子公司的s7-200系列plc等都提供了自由口通讯模式。

自由口通讯是指plc提供了串行的通讯硬件,和用于定制通讯协议的相关指令,在控制系统中,当要和plc连接的控制设备的通讯协议已知时,可以在plc中进行编程定制通讯协议,和控制设备进行数据通讯。

本文主要介绍西门子s7-200的自由口和计算机的串口进行的通讯,计算机中采用visual basic进行编程,从而实现计算机与可编程控制器的直接控制。

该通讯方式具有效率高、容易实现、通讯硬件简单、容易配置等特点在工业控制领域中被广泛应用。

2 s7-200通讯指令及特殊字节采用自由口通讯方式时,s7-200上的rs485口完全由用户控制,可以与任何协议已知的设备进行通讯,在这种情况下通讯协议完全由用户制定,为此,s7-200提供了用于进行通讯协议定制的特殊标志位以及相关的通讯指令。

特殊标志字节s7-200用于自由口通讯模式定义的特殊标志字节有smb30和smb130,smb30用于s7-200的端口0的通讯,smb130用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb130为例,介绍其组成。

smb130各位的含义如下:pp:两位用于选择通讯的校验方式当这两位的组合是:00无校验 01 偶校验 10 无校验 11 奇校验d:这一位用于选择通讯的数据位数 d=1时7个数据位,d=0时8个数据位bbb:用于选择自由口通讯是的波特率,这三位的组合和通讯波特率的关系如下:000 ——38400bps001 ——19200bps010 ——9600bps011 ——4800bps100 ——2400bps101 ——1200bps110 —— 600 bps111 —— 300 bpsmm: 用于通讯协议的选择,当这两位的组合是:00 ppi从站模式 01 自由口通讯模式 10 ppi主站模式接收信息的状态字节s7-200在自由口通讯时用于接受信息的状态有smb86和smb186,smb86用于s 7-200的端口0的通讯,smb186用于s7-200的端口1的通讯,两者的格式一样,下面我们以smb186为例,介绍其组成。

S7-200自由口通讯教程及编程实例

S7-200自由口通讯教程及编程实例

S7-200自由口通讯教程及编程实例S7-200自由口通讯自由口模式允许应用程序控制S7-200 CPU的通讯端口,使用PC/PPI电缆和自由口功能,可以将S7-200连接到带有RS-232兼容接口的多种设备,比如调制解调器。

这里我们将介绍如何用S7-200连接GSM调制解调器发送短消息,并通过这个例子来介绍应用S7-200自由口编程的一般原则时及应注意的问题。

在下面的例子中我们将用到:1. PC/PPI电缆(10位;9 600波特;DIP开关设置:0 1 0 1 1)2. 西门子S7-200 CPU22X3. TC35 Terminal GSM调制解调器4. 一个9直通针转接头(用来连结PC/PPI电缆与TC35 Terminal调制解调器)5. 一根九针直通电缆(用来连结计算机与TC35 Terminal调制解调器)6. STEP 7-Micro/Win V3.2或更高版本软件一、TC35 调制解调器AT指令简介要使用TC35发送短消息需要使用TC35的AT指令,我们首先介绍如何用Windows自带的超级终端连接TC35发送短消息。

1.用九针直通的电缆将TC35连接到计算机的串口上2.打开超级终端(开始à程序à附件à通讯à超级终端)3.为连接取名Connect to TC35T4.选择TC35连接的串口COM15.按照下图的参数设置端口。

19 200 bps为TC35默认的端口波特率,如果该波特率已被更改,请选择正确的波特率。

6.在窗口中键入AT回车测试与TC35的连接,如果连接正确,TC35将返回OK。

7.TC35可以发送两种格式的短消息,普通文本格式和PDU格式。

应用普通文本格式时,短消息内容以ASCII码格式直接输入,操作比较简单,缺点是只能发送英文短消息;应用PDU格式时,短消息内容以Unicode格式输入,可以发送任何文字,缺点是短消息内容需要转换成Unicode码,并且要把短消息按PDU格式打包,操作比较复杂(编程复杂)。

自由口模式下S7-200PLC与计算机的通信

自由口模式下S7-200PLC与计算机的通信

自由口模式下S7-200PLC与计算机的通信本例说明如何以自由协议实现计算机与S7-200的通信,计算机作为主站,可以实现对PLC 从站各寄存器的读/写操作。

---- 计算机通过COM口发送指令到PLC的PORT0(或PORT1)口,PLC通过RCV接收指令,然后对指令进行译码,译码后调用相应的读/写子程序实现指令本例说明如何以自由协议实现计算机与S7-200的通信,计算机作为主站,可以实现对PLC 从站各寄存器的读/写操作。

----计算机通过COM口发送指令到PLC的PORT0(或PORT1)口,PLC通过RCV接收指令,然后对指令进行译码,译码后调用相应的读/写子程序实现指令要求的操作,并返回指令执行的状态信息。

通信协议----在自由口模式下,通信协议是由用户定义的。

用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。

在自由口模式下,通信协议完全由梯形图程序控制。

指令格式定义计算机每次发送一个33字节长的指令来实现一次读/写操作,指令格式见表1 说明:1.起始字符----起始字符标志着指令的开始,在本例中被定义为ASCII码的"g",不同的PLC从站可以定义不同的起始字符以接收真对该PLC的指令。

2.指令类型----该字节用来标志指令的类型,在本例中05H代表读操作,06H代表写操作。

3.目标PLC站地址----目标PLC站地址占用指令的B2、B3两个字节,以十六进制ASCII码的格式表示目标PLC 的站地址。

4.目标寄存器地址----在PLC内部可以用4个字节来表示一个寄存器的地址(但不能表示一个位地址)。

前两个字节表示寄存器类型,后两个字节表示寄存器号。

00 00(H):I寄存器区01 00(H):Q寄存器区02 00(H):M寄存器区08 00(H):V寄存器区例如:IB000的地址可表示为00 00 00 00(H)VB100的地址可表示为08 00 00 64(H)5.读/写字节数M----当读命令时,始终读回从目标寄存器开始的连续8个字节的数据(转换为十六进制ASCII 码后占用16个字节),可以根据自己的需要取用,M可以任意写入。

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

如何实现S7-200SMART自由口通讯
自由口通讯协议的关键条件
定义开始接收消息和停止接收消息的条件。

1、空闲线检测:设置il=1,sc=0,bk=0,smw90/smw190>0
空闲线条件定义为传输线路上的安静或者空闲的时间。

SMW90/SMW190中是以ms为单位的空闲时间。

在该方式下,从执行接收指令开始起动空闲时间检测。

在传输线空闲的时间大于等于SMW90/SMW190中设定的时间之后接收的第一个字符作为新信息的起始字符。

接收消息功能将会忽略在空闲时间到达之前接收到的任何字符,并会在每个字符后面重新启动空闲线定时器。

空闲线时间应大于以指定波特率传送一个字符所需要的时间。

空闲线时间的典型为以指定的波特率传送3个字符所需要的时间。

传输速率为19200bit/s时候,可设置空闲时间为2ms。

对于二进制协议,没有特定起始字符的协议或指定了消息之间最小时间间隔的协议,可以将空闲线检测用作开始条件。

2、起始字符检测:设置il=0,sc=1,bk=0,忽略smw90/smw190
起始字符是消息的第一个字符,以SMB88/SMB188中的起始字符作为接收到的消息开始的标志。

接收消息功能忽略起始字符之前收到的字符,起始字符和起始字符之后收到的所有字符都存储在消息缓冲区中。

起始字符检测一般用于ASCII协议。

3、空闲线和起始字符:设置il=1,sc=1,bk=0,SMW90/SMW190大于0
满足空闲线条件之后,接收消息功能查找指定的起始字符。

如果接收到的字符不是smB88/smb188指定的起始字符,将开始重新检测空闲线条件。

在满足空闲线条件之前接收到的以及起始字符之前接收到的字符都将会被忽略。

这种方式尤其适合用于通讯链路上有多台设备的情况。

4 、break检测:设置il=0,sc=0,bk=1,检测smw90/smw190和smb88/smb188
以接收到的break(断开)作为接收消息的开始。

当接收到的数据保持为0的时间大于完整字符(包含起始位,数据位,奇偶校验位和停止位)传输的时间,表示检测到break。

断开条件之前接收到的字符将忽略,断开条件之后接收到的任意字符都会存储在消息缓冲区中。

5、break和起始字符:il=0,sc=1,bk=1,忽略smw90/smw190
断开条件满足后,接收消息功能将查找指定的起始字符。

如果接收到的字符不是起始字符,将重新搜索断开条件。

所有在断开条件满足之前在接收到起始字符之前接收的字符都会忽略。

起始字符和所有后续字符一起存入消息缓冲区
6、任何字符开始接受:设置il=1,sc=0,bk=0,smw90/smw190=0
忽略smb88/smb188中的起始字符。

应为smw90/smw190中的空闲线时间为0,接收指令已经执行,便将立即开始强制接收所有的任意字符,并将存入消息缓冲区。

7、任意字符开始,消息定时器超过则结束接收消息:令il = 1,sc = 0,bk = 0,smw90/smw190 = 0,忽略smb88/smb188中的起始字符。

以上设置用于实现从任意字符开始接收消息。

此外设置c/m = 1,tmr =1,用smw92/smw192设置以ms为单位的消息超时时间,用消息定时器监视接收是否超时。

如果未满足其他结束条件,在消息定时器超时的时候,将会终止接收消息功能。

这对自由口协议的主站是非常有用的。

1.SMB30定义
定义通讯的传输速度和模式
SMB30=16#05=2# 00 0 001 01
其中从高位到低位依次:
00:表示无校验
0:表示8个数据位
001:表示波特率19200
01:表示自由口通讯
2.SMB87定义
定义接收消息控制字节
SMB87=16#FC = 2#1111 1100
其中从高位到低位依次:
en=1:启用接受消息功能
sc=1:使用SMB88 的值监测数据的起始
ec=1:使用SMB89 的值监测数据的终止
il=1:使用SMW90 的值监测空闲条件
c/m=1:定时器为消息定时器
tmr=1:超过SMW92 中的时间段,则终止接收
bk=0:忽略中断条件
SM87.0=0 (无效)
3.定义SMB88、SMB89、SMW90、SMW92、SMB94
SMB88:定义开始字符为2A
SMB89:定义结束字符为0A
SMW90:空闲线时间段,单位:MS
SMW92:消息定时器的超时值(单位:MS),若超过该时间段,则停止接受消息
SMB94:要接受的最大字符数(1--255个字节);即使未使用字符计数消息终止,此范围也必须设置为所需的最大数据交换区
l SMW90=1000000us/19200 *11*3
其中:1000000/19200得到传输1个位需要多长时间,一个字符11个位,检测空闲3.5个字符,约等于3个字符
l SMW92=1000000us/19200 *11*20*1.5
其中:20表示字节接收最大的字节数,与SMB94有关,1.5倍表示整个消息长度的倍数
4.执行接受指令
TBL:
5.连接接受完成中断和发送完成中断,并且开放中断
6.接收完成中断:
由于我们使用的RS485转USB的线缆是半双工,发送和接收需要间隔至少5ms的时间。

所以接收完成后先延时5ms在发送。

7.SMB34定时中断:
延时时间到,执行发送指令,把先期接收到的数据再发送给PC。

8.发送完成中断:。

相关文档
最新文档