自由口模式下西门子PLC与计算机的串口通信

合集下载

S7_200PLC与PC间的串口通信_高歌

S7_200PLC与PC间的串口通信_高歌
在执行连 接 到 接 收 字 符 中 断 的 中 断 程 序 之 前 ,接收到的字符存储在自由端口模式的接收字 符缓冲区 SMB2 中 ,奇偶状态存储在自由端口模 式的奇偶校验错误标志位 SM3. 0 中 。端口 0 和 端口 1共用 SMB2和 SMB3。
异或校验 是 提 高 通 信 可 靠 性 的 重 要 措 施 之 一 。在传输过程中 ,指令有可能受到任何干扰而 使原数据信号发生扭曲 ,此时的指令必有误 。对 于监测指令在传输过程中发生的错误 ,接收方必 须对指令作进一步的确认工作 。采用异或循环校 验的方法将传送的字符串以字节为单位作异或 和 ,并将此异或和作为指令的一部分 (校验位 )传 送出去 。接收方收到指令后以相同方式对接收到 的字符串依次作异或和并与传送方所传送来的校 验位作比较 ,如相等则代表收到的指令正确 ,反之 为错误 ,请求重发 。
RCV 指令可以方便的接收一个或多个字符 , 最多可接收 255 个字符 ,如果有中断程序连接到 接收结束事件上 ,在接收完最后一个字符时 ,端口 0产生中断事件 23,端口 1产生中断事件 24。
可以监视 SMB86或 SMB186的变化 ,而不是 用中断进行报文的接收 。 SMB86或 SMB186为非 零时 , RCV 指令未被激活或接收已经结束 。正在 接收报文时 ,它们为零 。必须为报文接收功能定 义一个启动条件和一个结束条件 。当超时或奇偶 校验错误时 ,将自动中止报文接收功能 。也可以 用字符中断而不是用接收指令来控制接收数据 , 每接收一个字符产生一个中断 。在端口 0或端口 1接收一个字符时 ,分别产生中断事件 8 或中断 事件 25。
计 算 机 的 通 信 编 程 方 法 很 多 , 通 常 使 用 V isual C + +语言或 V isual B asic语言 ,还可以使 用 C#等语言 。其中 V isual B asic语言 ,简单实用 , 因此在实现计算机与可编程控制器之间的串行通 信中应用较多 。

西门子S7-200PLC自由口串行通信应用

西门子S7-200PLC自由口串行通信应用

西门子S7-200PLC自由口串行通信应用作者:戚博硕孙佳阳来源:《中国新通信》2014年第15期【摘要】 S7- 200PLC是西门子公司开发的具有高性价比的微型可编程控制器,该控制系统具有配置灵活、可靠性高、结构开放、控制能力强、体积小、抗干扰能力强等优点,被广泛应用于工业控制领域。

本文以西门子S7- 200PLC为例,对西门子S7- 200PLC自由口串行通信模式进行了详细的阐述,并分析了自由口串行通信实现的方式。

【关键词】西门子S7- 200PLC 自由口串行通信通信模式德国西门子公司生产的S7系列的可编程控制器就是为了满足人们对工业控制的要求生产出来的。

该系列包括用于小型化控制系统的S7-200PLC、用于控制中型系统的S7—300PLC及用于控制大型系统的S7-400PLC。

其中,S7-200PLC是集电源、CPU及I/O于一体的集成型小型单元式PLC。

其具有非常丰富的功能配置以及优秀的通信能力,用户操作起来非常容易上手,系统工作的稳定性和可靠性非常强,目前已经在相关领域中取得了巨大的成功。

因此,本文以西门子S7-200PLC为例,对西门子S7-200PLC自由口串行通信模式进行了详细的阐述,并分析了自由口串行通信实现的方式,对人们了解西门子S7-200PLC自由口串行通信具有一定作用。

一、自由口通信模式概述西门子S7-200PLC的通信端口有PPI模式和自由口模式这两种常用的通信模式。

其中PPI 模式通信协议是西门子公司根据S7-200PLC的特点专门开发的,一般情况下只对西门子内部生产的产品使用。

与PPI模式完全不同的是自由口模式,它完全对外开放,在这种模式下,用户可以根据自己的需要对通信协议进行定义。

目前,许多公司使用的第三方设备都支持自由口通信模式。

西门子S7-200PLC可以通过选择自由口通信模式的方式达到控制串口通信的目的。

而且,利用自由口通信模式可以使计算机与S7-200PLC之间的通信变得更加稳定和高效。

西门子S7-200自由口通讯知识

西门子S7-200自由口通讯知识

S7-200系列自由口通讯的实现及应用比较有用的资料,有S7-200 PLC的话,可以试试。

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提供了用于进行通讯协议定制的特殊标志位以及相关的通讯指令。

2.1 特殊标志字节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主站模式2.2 接收信息的状态字节s7-200在自由口通讯时用于接受信息的状态有smb86和smb186,smb86用于s7-200的端口0的通讯,smb186用于s7-200的端口1的通讯,两者的格式一样,下面我们以s mb186为例,介绍其组成。

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

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

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 M AR 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 PLC自由口的串行通信

浅谈计算机与S7-200 PLC自由口的串行通信

浅谈计算机与S7-200 PLC自由口的串行通信
古亮;李山;刘伟
【期刊名称】《商情》
【年(卷),期】2012(0)39
【摘要】PLC大量应用于工业控制.采用上位计算机对PLC监控的方法,可以充分发挥PC机和PLC各自的强大优势.然而教材和有关资料中涉及通讯的内容很少,配套组态软件不但成本很高、不灵活,而且不透明、学生容易产生畏惧感.为了打消学生的畏惧心理,介绍了计算机与S7- 200 PLC在自由口模式下串行通信的实现方法,并给出了在此种模式下PLC的程序与VB可视化界面的编程实例.这培养了他们学习的兴趣,还为学生毕业后的创业做了一定的准备.
【总页数】2页(P248-249)
【作者】古亮;李山;刘伟
【作者单位】重庆理工大学,重庆400054;重庆理工大学,重庆400054;重庆理工大学,重庆400054
【正文语种】中文
【相关文献】
1.西门子S7-200 PLC与计算机自由口通信的研究 [J], 刘乐;王长松;王兴兵
2.SIEMENS S7-200 CPU 226XM PLC与计算机自由口通信的研究 [J], 常若葵;杨洁明;张旺林;李建民;武雪燕
3.基于自由口模式实现S7-200系列PLC与PC机串行通信 [J], 马启青;刘志强;韩建武;耿宇涛;孙克俭
4.基于自由口模式实现S7-200系列PLC与PC机无线串行通信 [J], 黄红
5.S7-200系列PLC与IPC机自由口模式串行通信 [J], 徐光宪;刘建辉;李敏
因版权原因,仅展示原文概要,查看原文内容请购买。

.NET的计算机与S7-200 PLC自由口通信

.NET的计算机与S7-200 PLC自由口通信

.NET的计算机与S7-200 PLC自由口通信PLC作为一种高效、灵活、可靠的控制器,已经广泛地应用在包括数字逻辑控制、运动控制、闭环过程控制、数据处理和联网通信等工业控制领域。

在联网通信方面,PLC与上位计算机设备一起,可以组成“集中管理、分散控制”的分布式工业控制系统。

在这种控制系统中,PLC与上位机的通信对系统整体性能有着较大的影响。

面对众多厂家不同类型的PLC,它们在功能编程上没有统一的标准而且在通信协议上也是千差万别,选择一种即能满足通信要求又经济实用的通信协议是非常关键的。

本文以S7-200PLC为对象,详细研究了S7-200PLC在自由端口模式下与PC之间的通信方法,并采用.net环境下的C#语言编写通信程序实现了计算机与PLC之间的通信。

这种通信方式硬件投入低,通信协议灵活,可以在多个工业控制领域得到广泛的应用。

1 S7-200 PLC与上位机的通信方式S7-200 系列PLC与上位机进行通信主要有以下几种方式:(1)通过S7-200 PLC的OPC服务器(pc access)作为上位机的OPC服务器,这种方式只须在OPC服务器中配置相应的测点数据,编程简单,但通信速率不高,用户不能自由修改通信协议;(2)利用触摸屏,这种方式需要根据触摸屏兼容的通信协议进行选择,通信可靠性高,但灵活性差,触摸屏界面编程功能也不够强大;(3)利用通用编程软件实现,这种方法虽然系统开发工作量大,对技术人员的水平和经验都要求较高,但编程灵活,可以实现比较复杂的功能。

本文采用了第三种通信方式,在开发通信软件时考虑了S7-200 PLC所特有的一种通信方式—自由口通信模式。

在自由口模式下用户可自定义协议,利用串口和PLC的通信口来收发数据,通信功能完全由用户程序控制,通信任务和信息定义均需由用户编程实现,通过调用子程序来进行接收中断、发送中断、发送指令(XMT)、接收指令(RCV)等通信控制操作。

2 自由口通讯工作模式的定义在中小规模系统,通信速率要求不是特别高的情况下,S7-200 PLC自带的编程口可以作为通信口使用。

PC与PLC的串口通信及编程实现

PC与PLC的串口通信及编程实现

PC与PLC的串口通信及编程实现黄植功(广西师范大学物理与电子工程学院,广西 桂林 541004)摘 要:在自由口模式下,通信协议由用户自己的梯形图程序控制。

用户可以使用梯形图程序调用各种子程序,来进行接收中断、发送中断、发送指令(XMT)、接收指令(RCV)等通信控制操作。

研究了在自由端口模式下PC与S7-200型PLC之间的通信,并采用Visual Basic编程来实现上位机与下位机之间的通信。

关键词:Visual Basic;自由端口模式;PLC通信;串口通信中图分类号:TP312文献标识码:A文章编号:1003-7551(2007)03-0035-041 引言由于具有编程方法简单易学、功能强、性能价格比高、可靠性高、抗干扰能力强、体积小、能耗低、硬件配套齐全、设计调试安装维护方便等突出优点,可编程逻辑控制器(PLC)已经广泛地应用在发达国家所有的工业部门,主要应用在数字逻辑控制、运动控制、闭环过程控制、数据处理和联网通信等方面。

在联网通信方面,PLC与其他智能控制设备一起,可以组成“集中管理、分散控制”的分布式控制系统。

在这种工业控制系统中,为了避免通信各方争用通信线路,PC与PLC之间的通信一般采用主从方式,通常采用计算机(PC)作为上位机负责完成数据分析、处理和存储、设备状态显示和打印输出等功能以实现对分布在工业现场的被控制系统进行集中的实时监测与控制;PLC作为下位机使用,承担执行上位机的输出指令、现场数据采集和设备运转状态识别等任务。

本文研究了在自由端口模式下PC与S7-200型PLC之间的通信,并采用Visual Basic编程来实现上位机与下位机之间的通信。

2 PLC与PC的电缆连接和电缆的切换时间S7-200的通信接口为RS-485,PC可以采用RS-232通信接口,RS-232/PPI多主站电缆可以连接PC与S7-200型PLC,实现S7-200 CPU 与PC的通信。

由于使用RS-232/PPI电缆,因此在S7-200 CPU的用户程序中应考虑电缆的切换时间,切换时间因波特率的不同而不同,例如,如果采用9600bit/s的波特率,则电缆的切换时间为2ms,电缆上DIP开关设置为010,如果采用19200bit/s的波特率,则电缆的切换时间为1ms。

西门子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的转换,打车到市场上买个转换器(打车钱比设备钱还多,可见现场多么偏僻阿),听卖转换器的老板给我分析了一下每种的区别——不光是价格的区别,说实在的,当时非常惭愧,老板懂的比我多多了。

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

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

HTAVB180, VB172, 2//BCC 校验码写入发送缓冲区 NETWORK 8 LDSM4.5//发送反馈信息 XMTVB153, 0 Write 子程序: NETWORK 1 LDSM0.0//停止端口 0 的接收 RSM87.7, 1 RM0.0, 1 RCVVB100, 0 NETWORK 2 LDSM0.0//装入要写如数据源的地址指针 MOVD&VB115, VD145 NETWORK 3
第5页共6页
ATHVB113, VB139, 2 ATHVB131, VB140, 2 SM0.1, 1//置位 Verify 子程序的触发条件 MOVB0, VB179//BCC 码寄存器清零 MOVD&VB102, VD149//装入地址指针 XMTcomplete 中断程序 NETWORK 1 LDSM0.0 RM0.0, 1//复位 BCC 校验码正确的标记位 SSM87.7, 1//允许口 0 举行接收 MOVB0, VB179//BCC 校验码寄存器清零 MOVB0, VB180//BCC 校验码寄存器清零 MOVD&VB102, VD149//重新装入地址指针 MOVD&VB156, VD181
第4页共6页
MOVB103, SMB88 MOVB71, SMB89 MOVB+1000, SMW92 MOVB35, SMB94 RSM87.2, 1 NETWORK 3 LDSM0.0 ATCHRCVcomplete, 23//衔接口 0 接收完成的中断 NETWORK 4 LDSM0.0 ATCHXMTcomplete, 9//衔接口 0 发送完成的中断 NETWORK 5 LDSM0.0 ENI //中断允许
第1页共6页
MOVB21, VB153 NETWORK 3 LDSM0.0//计算 BCC 校验码 FORVW177, +1, +16 NETWORK 4 LDSM0.0 XORB*VD181, VB180 NETWORK 5 LDSM0.0 INCDVD181 NETWORK 6 NEXT NETWORK 7 LDSM0.0

西门子S7-1200与第三方设备自由口通信详解

西门子S7-1200与第三方设备自由口通信详解

西门子S7-1200与第三方设备自由口通信详解西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与第三方的设备(扫描枪、打印机等设备进行通讯。

因为没有第三方的设备,这里就以超级终端为例介绍自由口通讯。

1.控制系统原理图1:控制系统原理2.硬件需求S7-1200 PLC目前有3种类型的CPU:1)S7-1211C CPU。

2)S7-1212C CPU。

3)S7-1214C CPU。

这三种类型的CPU都可以连接三个串口通信模版。

本例中使用的PLC硬件为:1)PM1207电源 ( 6EP1 332-1SH71 )2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )3) CM1241 RS232 ( 6ES7 241 -1AH30 -0XB0 )3.软件需求1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)4.组态我们通过下述的实际操作来介绍如何在Step7 Basic V10.5 中组态S7-1214C 和超级终端通信。

点击桌面上的“Totally Integrated Automation Portal V10”图标,打开如下图:图2:新建S7 -1200项目首先需要选择“Create new project”选项,然后在“Project name:”里输入PTP;在“Path:”修改项目的存储路径为“C:\”;点击“Create”,这样就创建了一个文件PTP的新项目。

创建后的窗口如下图所示:图3:新建项目后点击门户视图左下角的“Project View”切换到项目视图下,如下图:图4:切换到项目视图打开后,在“Devices”标签下,点击“Add new device”,在弹出的菜单中输入设备名“PLC_1”并在设备列表里选择CPU的类型。

选择后如下图:图5:PLC硬件组态插入CPU后,点击CPU左边的空槽,在右边的“Catalog ”里找到“Communication”下的RS232模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需要配置此RS232模块硬件接口参数,选择RS232模块,在其下方会出现该模块的硬件属性配置窗口,在属性窗口里有两个选项,一个是“general”;一个是“RS232 interface”。

S7—200PLC与计算机自由通信的实现

S7—200PLC与计算机自由通信的实现

龙源期刊网 S7—200PLC与计算机自由通信的实现作者:程阔来源:《阜阳职业技术学院学报》2014年第03期摘要:主要介绍西门子S7-200的自由通信口与计算机的串口进行通讯的方法,计算机中采用VB进行通信编程,从而可以实现计算机对PLC的直接控制。

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

关键词:自由通信;VB;串行通信口中图分类号:TP31 文献标识码:A 文章编号:1672-4437(2014)03-0038-04通信也就是数据的一种交换,为了实现与已知的控制设备进行通信,提高自动化控制系统的灵活性、集成性,许多PLC制造商相继的开发出了方便、灵活的自由端口通讯方式,方便用户。

诸如Mitsubishi公司的FX2系列PLC,OMRON公司的CJM1系列的PLC,SIEMENS公司的S7-200系列PLC等都提供了自由端口通信模式。

自由端口通信是指PLC提供了串行的通讯硬件,以及用于定制通讯协议的相关指令,在自动化控制系统中,与PLC连接的控制设备的通讯协议已知时,可以在PLC中进行编程定制通讯协议,即可与控制设备进行数据通讯。

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

(一)特殊标志字节用于S7-200自由端口通讯模式定义的特殊标志字节有SMB30和SMB130,SMB30用于PORT0的通讯,SMB130用于PORT1的通讯,两者的格式完全一样。

8位的含义如下表:(二)接收信息的状态字节S7-200在自由端口通信时用于接受信息的状态有SMB86和SMB186,SMB86用于PORT0的通讯,SMB186用于PORT1的通讯,两者的格式完全一样。

8位的含义如下表:。

超详细讲解PLC自由口通讯——以S7-200为例。

超详细讲解PLC自由口通讯——以S7-200为例。

超详细讲解PLC自由口通讯——以S7-200为例。

展开全文主要内容:•S7-200 PLC串口通讯概览•S7-200 PLC自由口通讯基础•S7-200 PLC自由口通讯指令•S7-200 PLC自由口通讯常问问题(1)概览S7-200串口通讯主要包括:1)Modbus—S7-200PLC与支持Modbus RTU协议的第三方设备通讯•RTU Master-Protocol(RTU主站协议)•RTU Slave-Protocol(RTU从站协议)2)USS—S7-200PLC与SIEMENS驱动设备的通讯(如MM440等)3)自由口通讯—S7-200PLC与自由协议的第三方设备间的通讯S7-200系列PLC可以方便地同计算机、打印机、变频器、扫描仪等其它的第三方设备进行无障碍通讯。

Modbus通讯和USS通讯是自由口通讯的特例。

对于S7-200系列的PLC而言,本体上存在着一个或两个485通讯接口,这种接口即可实现S7-200串口通讯的功能,这类串口既可以做编程和监控,也可以做自由口通讯。

但在其运行自由口通讯程序时,无法对其进行监控。

这是因为对于同一个口而言在同一个时刻只能支持一种协议,而编程与下载的协议对于S7-200PLC而言是PPI协议,所以一旦在程序运行过程中使得它做自由口通讯的状态则无法对其监控和下载。

下表是Modbus、USS以及自由口通讯的一些参数:对于OSI七层模型而言,Modbus通讯、USS通讯和自由口通讯所处的位置可从上图中看到。

(2)自由口通讯•S7-200 CPU的通信口可以设置为自由口模式。

选择自由口模式后,用户程序就可以完全控制通信端口的控制,通信协议也完全受用户程序控制。

•所谓的自由口通讯,就是通讯协议是由用户自由定义的。

•对于S7-200 PLC而言,基于本体自带的485端口的网络所应用的协议,除了PPI协议以外,其他都是自由口协议。

例如USS协议、Modbus协议等等都是特定的自由口通讯协议。

PC与S7-200系列PLC通信的连接

PC与S7-200系列PLC通信的连接

PC与S7-200系列PLC通信的连接
S7-200系列PLC有通信方式有三种:一种是点对点(PPI)方式,用于与该公司PLC 编程器或其它人机接口产品的通信,其通信协议是不公开的。

另一种为DP方式,这种方式使得PLC可以通过Profibus-DP通信接口接入Profibus现场总线网络,从而扩大PLC的使用范围。

最后一种方式是自由口通信(Freeport)方式,由用户定义通信协议,实现PLC与外设的通信。

以下采用自由口通信方式,实现PC与S7-200系列PLC通信。

PC为RS232C接口,S7-200系列自由口为RS485。

因此PC的RS232接口必须先通过RS232/RS485转换器,再与PLC通信端口相连接,连接媒质可以是双绞线或电缆线。

西门子公司提供的PC/PPI电缆带有RS232/RS485转换器,可直接采用PC/PPI电缆,因此在不增加任何硬件的情况下,可以很方便地将PLC和PC的连接,也可实现多点连接。

PLC和电脑使用串口通讯?这么做很方便!

PLC和电脑使用串口通讯?这么做很方便!

PLC和电脑使用串口通讯?这么做很方便!最近有好朋友问我,为什么我用PLC写的232/485通讯程序不好用?我应该怎么测试是哪出现了问题?正好我最近写了一个西门子S7-200smart利用RS485进行自由口通讯向电脑发送状态的小程序,在这里和大家分享一下。

以前我们讲过,一些电子称具备RS232/485接口,可以与PLC进行通讯,那么除了这个功能,它还可以干什么?PPI协议是西门子自己的协议,为自己的设备做连接用的。

我们重点说下自由口通讯,自由口通讯不限设备的限制,只要是支持RS485/232通讯的,不论是不是西门子的都可以使用。

比如说不同PLC之间的通讯读写数据,以及和一些驱动器做通讯读写数据或者是给电脑端读写数据。

今天我们了解一下如何使用西门子S7-200SMART使用RS485端口与电脑进行通讯并调试。

首先S7-200SMART自带一个485接口,还可以拓展一个485接口,需要在硬件里配置波特率。

硬件连接需要一个PLC,一个485转232的转换器,以及一台带串口的电脑或者笔记本加串口转USB,以及串口调试工具。

西门子S7-200SMART PLC485转232转换器(电脑侧是232)注意线序不要接错了,接错后依然有数据,只是数据是反的。

电脑端口编程时需要配置接口信息,比如说用哪个接口发送,通讯参数是多少等等。

S7-200smart 可接两RS485口通讯参数是特殊存储器SMB30(端口0)和SMB130(端口1)端口设置假如需要传输的数据是(波特率9600,无奇偶效验,数据位8,停止位1),数据从端口0传输,那么将9赋值给SMB30。

然后我们看下发送和接收指令,XMT和RCV,这两个指令需要注意的是;1 指令需要以脉冲形式触发。

2发送或者接受的第一个字节的含义是你要发送的字节总字数。

且不包含第一个。

比如说我发送从VB801-VB876,所以发送地址需要写VB800,且VB800赋值为76。

基于自由口的PLC与PC通信的研究

基于自由口的PLC与PC通信的研究

基于自由口的PLC与PC通信的研究【摘要】随着自动控制技术在各行业的应用越来越广泛,构成自动控制的控制器PLC也成为现今研究的热点。

本文以西门子S7-200系列PLC为例,着重阐述了以自由口通信模式与上位机之间进行数据传输、控制、管理的实现方法。

【关键词】PLC;PC;自由口;通信一、引言近年来可编程控制器PLC技术取得了快速发展,由于其抗干扰能力极强、可靠性相当高、体积较小的特点,广泛应用在自动控制领域中。

但是中小型PLC的数据计算、管理和存储功能较弱,显示功能较差,不能提供良好的用户界面。

我们可以使用计算机来弥补PLC的不足,它不但能给用户提供非常美观又易于操作的界面,而且有很强的数据处理、管理和存储能力;将PLC与PC结合,既可以使系统及时采集、存储数据,又可以更好的处理和使用数据。

而想让PC作为上位机,提供人机交互的友好界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能,这就势必涉及到PLC和PC之间互相通信的问题。

二、S7-200系列的PLC的通信模式S7-200系列的PLC用于工业现场控制时,可以在四种通信模式下工作:PPI 模式、MPI模式、PROFIBUS—DP模式和自由口通信模式[1]。

利用这些通信协议可以实现:PLC与PLC之间,PLC与计算机,PLC与人机界面以及PLC与其他装置之间的联网通信。

而其中,自由口通信模式是S7-200PLC的一个很有特色的功能。

借助于自由口通信,可以通过用户程序对通信口进行操作,自己定义通信协议(如ASCII协议)[2]。

自由口通信方式使S7-200PLC可以与任何通信协议已知且具有串口的智能设备和控制器进行通信,如打印机、变频器、条码阅读器、调制解调器,上位计算机等。

本文采用自由口通信模式实现西门子公司的S7-200系列PLC与上位机的通信。

三、系统总体结构在自动化系统中采用上位机和下位机结合的方法实现自动控制。

使用PLC 作为下位机,以完成数据采集和控制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NETWORK 2
LD SM0.0
//RCV指令初始化
MOVB 16#EC, SMB87
MOVB 103, SMB88
MOVB 71, SMB89
MOVB +1000, SMW92
MOVB 35, SMB94
R SM87.2, 1
NETWORK 3
LD SM0.0
由于RS-485为半双工电气标准硬件电路,在用PC/PPI电缆时,发送和接收之间要有一定的时间间隔,这是由电缆本身的切换时间决定的,否则就会出现XMT/RCV冲突现象。因此,收发使能的控制切换需延时(尽管短),且通信协议(底层)一般也要求收发之间有间隔,以便正确判断传送数据的正确性。采取的措施:在发送前允许发送中断,在发送完成中断程序中关闭发送中断,延时启动接收中断,并在接收完成中断中关闭接收中断。根据经验,如果用9600波特率的话最短时间间隔至少要50ms以上,否则可能会造成数据的丢失。但我们发现,在发送完成后将自定义的标志位置位,检测到标志位上跳沿的首次扫描执行一遍RCV,即使不加发送延时也不会造成数据丢失。
S7-200系列PLC的通信口分3种工作方式:
l PPI(Point2to2Point Interface)方式;
l 自由口通信(Freeport)方式;
l PROFIBU S2DP方式。
本文主要介绍PLC的自由口通信方式。自由口通信方式是一种通讯协议完全开放的工作方式, 如果说PPI方式是外设适应PLC的话, 那么自由口通信方式就是PLC适应外设。在自由口通信方式下外设不受PPI协议的限制,不支持PPI协议的设备也能够与S7-200系列PLC通讯, 在自由口通信方式下通讯口的协议由外设决定, PLC通过程序来适应外设。自由口通信方式是对PPI方式的一个补充,该方式使得S7-200系列PLC可以与任何具有通讯能力的、并且协议公开的设备相通讯。
3 上位机部分
在上位机中利用Mscomm控件,对控件进行简单的设置就可以实现PLC与PC机之间的串行通信。对Mscomm控件的介绍,可以参考VB编程的书籍[3],在此就不叙述。
4 结束语
在自由口通信方式下, 可以用PLC控制打印机、变频器等执行机构, 或者由条码阅读器读入数据,以及实现PLC与上位机交换数据, 或者通过调制解调器实现远程控制等等, 应用范围很广。采用自由口通信方式与外围设备通信比较方便、自由, 在保证方便自由的前提下凭借PLC本身丰富的指令系统来适应各种协议。并且采用自由口通信方式控制变频器, 在PLC内进行实数运算, 实现安全的数字量控制, 不存在精度的损失,也不占用输出点, 优点很明显。作为调速系统主要组成部分的变频器, 使用范围十分广泛, 目前绝大部分厂家的变频器都带有或可以另配通讯口, 因此, 使用该方式控制变频器具有普遍的应用价值, 在不增加任何硬件设备的情况下, 提高所设计系统的控制层次与控制精度, 并为将来可能的联网控制作好准备。
2.2 自由口通信通信协议[1]
在自由口模式下,通信协议是由用户定义的。但系统选择在启动通信时,PLC具有优先权。PLC通过XMT发送指令,将数据通过COM口发至上位机,然后延时等待上位机反馈信息;上位机接收到数据后,进行数据处理,将反馈信息或修改后的数据通过COM口传送到PLC的PORT0(或PORT1)口。PLC通过RCV接收指令接收信息、数据并作相应处理。至此完成一轮“一问一答”式通信,如图1所示:
自由口模式下西门子PLC与计算机的串口通信
( 本站提供 应用行业:智能办公 阅读次数:92) 【字体:大 中 小】
??
1 引言
SIMATIC S7-200 系列PLC是西门子家族中最小型的PLC,包括5 种基本型号共18 种规格的CPU。其基本型号分别为CPU 210、CPU 212、CPU 214、CPU 215、CPU 216, 控制点数可以从10点到128点, 除PLC所具有的一般功能外, 其强大的通讯能力使其区别于一般的小型PLC, 可通过网络、分布系统轻易完成复杂的控制要求, 在基本不增加成本的情况下大大提高控制系统的综合控制能力与自动化程度。这一点在大量的实际应用中已得到充分的证实,为经济地进行技术改造, 将控制与管理结合, 提高工厂的综合自动化程度提供了一种可能。
SMB87用来设定接收信息状态字节。
SMB88用来设定信息的开始字源自。 SMB89用来设定信息的结束字符。
SMB90用来设定空闲行的时间间隔(ms)。
SMB92用来设定字符间/信息间定时器超时值(ms),若超出此时间段,则终止接收信息。
SMB94用来接收字符的个数。
(2) 半双工的通信处理
(2) 指令类型:指示操作为读操作还是写操作操作,例如我们定义05H为读操作,06H为写操作。
(3) 目标PLC站地址:表明是哪台下位机(每台下位机对应一个地址号),确保主机和从机的对应关系。
(4) 目标寄存器地址:在PLC内部用4个字节表示寄存器地址,前两个字节表示存储器类型,后两个字节表示存储器号。
主程序及初始化部分程序如下:
NETWORK 1
LD SM0.1
//第一次扫描调用初始化子程序
CALL initialize
NETWORK 2
LDB=VB134, VB199
//指令中的站地址与本机站地址相符
AB=VB102, 5
//指令类型为读指令
A M0.0 //BCC码校验正确
PLC在接到上位机指令后,将发送一个21字节长反馈信息,格式见表2。
其中状态信息字节包含指令执行的状态信息,例如我们可以定义01H代表读取正确,02H代表写入正确。03H代表BCC校验码错误,04H代表指令不合法。
其他反馈数据的定义与发送数据格式的定义基本相似,在此就不赘述。
要注意在西门子PLC中所有通信数据均要用十六进制ASCII码表示。一条指令除包含数据外,还包含必要的控制字(起始字符、结束字符、指令类型等)。如果指令中的数据直接以其原本的形式传输,则不可避免的会与指令中的控制字发生混淆。例如本例中,指令的起始字符为“g”,其ASCII码值为67H,结束字符为“G”,其ASCII码值为47H。假设要写入的数据中也有47H,并且数据直接以其原本的形式传输,则PLC会因为接收到了数据中的47H而停止接收,这样PLC接收到的指令将是一个不完整的非法指令,很可能造成PLC的误动作。
反映CPU工作方式的模式开关当前位置的特殊存储器位为SM0.7,它控制自由端口模式的进入。当SM0.7为0时,模式开关处于TREM位置,当SM0.7为1时,模式开关处于RUN位置。而只有当模式开关位于RUN位置时,才允许自由端口模式。
SMB30是自由口模式控制字节,用来设定校验方式通信协议、波特率等通信参数。
由于S7-200系列PLC的通信口是RS-485串行接口,而计算机是RS-232串行接口,所以计算机与PLC在通信时必须要进行RS-485/RS-232转换,西门子公司的PC/PPI电缆可完成这一转换,但由于其价格比较昂贵,而转换的原理又相对简单,所以可自制通信电缆。RS-485只需要二根数据线,这二根数据线既可以发送数据,也可以接收数据,通信双方采用半双工制,对于RS-232,技术已经非常成熟,应用范例也很多,参照有关资料就可以做一根可靠的通信电缆。
2 自由口通信及通信协议
2.1 PLC的通信口
自由口通信就是计算机通过COM口发送指令到PLC的PORT0口(通过SM30设置)或PORT1口(通过SM130设置),PLC通过RCV接收指令,然后对指令进行译码,译码后调用相应的读/写子程序实现指令要求的操作,并返回指令执行的状态信息。
CALL Read //调用读子程序
NETWORK 3
LDB=VB134, VB199
//指令中的站地址与本机站地址相符
AB=VB102, 6
//指令类型为写指令
A M0.0 //BCC码校验正确
CALL Write //调用写子程序
NETWORK 4
LD M0.1
2.3 自由口通信指令发送数据格式[2]定义
计算机每次发送一个33字节长的指令来实现一次读/写操作,指令格式见表1。
(1) 标识字符:包括起始字符和结束字符,起始字符标志着指令的开始,我们定义起始字符为ASCII码的“g”,不同的PLC从站可以定义不同的起始字符以接收针对该PLC的指令。结束字符标志着指令的结束,定义为ASCII码的“G”,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。
(6) BCC校验码:校验码的生成方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的。
2.4 自由口通信指令反馈数据格式
2.5 PLC程序执行过程
自由口方式只能在PLC运行方式下通信。在进行通信之前,必须先对通信口初始化。S7-200PLC通信口的初始化是通过对特殊标志位SMB30和SMB130的设置来实现的。对222型CPU而言,只需定义SMB30。这些字节设置了自由口通信的操作方式,并提供自由端口或者系统所支持的协议之间的选择。通过使用发送中断、接收中断、XMT(发送指令)、RCV(接收指令)等指令来实现用户程序控制通信端口。XMT指令激活发送数据区中的数据,数据缓冲区第一个数据指明了要发送的数据字节数,缓冲区最大为255个字符,在发送完最后一个字符时产生发送中断,执行中断程序;RCV指令激活初始化或结束接收信息的服务,它可以接收至多255个字符,这些字符存在缓冲区中。如果有一个中断程序连接到接收完成事件上,则接收到缓冲区的最后一个字符时,会产生一个中断,执行中断程序。由自由通信协议支持所允许的完全柔性,可以使用字符中断控制来接收数据。具体流程图见图2。
相关文档
最新文档