VB与S7 200通讯
基于VB6.0的S7-200系列PLC与PC机通信实现

设备联 网,如上位计算机 、 打印机 , 变频器等 。 西 门子 s 2 0 L 7— 0 P C的 自由口通 讯是建 立在半双 工 R s一 4 5硬件基础 上的一种通讯方式 , 8 P c机 的标准 串 口为 R 2 2 两者 通信 时必 须进 行信 号 电 S3 , 平转换 , 门子公司提供 的 P / 西 C PP I电缆 带有 R 2 2 R ¥8 S 3/ 45 电平转换 器 , P / P 电缆一端 是 R 4 5 由于连 接 P C 即 CPI S一 8 , L。 另一端是 R 2 2 由于连接计算机实现 P C与 P S3 , L C机 的C机硬件连接 图
3 P C 端 的通 讯程序 实 现 L
P C的 C U处 于 S O L P T P模式时 ,自由口通讯被禁止 , 只有 当 C U处于 R N模式时 , P U 才可使用 自由 口通讯 。P C程序分 L
1 现 场硬 件配 置
在现场 中 P C的 C U模 块 为 25, 展模块 包括 E 2 1 L P 1 扩 M 2 (D ) E 2 ( D , M 3 ( A +I O) 另外 还有 一 台 P 8 I ,M2 2 8 O) E 2 5 3 I A , C 机。现场 油的压力 信号 经 E 3 M25送入 P C, 与 给定 压力 比 L 在 较后 , 进行控 制 , 当压 力超 出高 、 低报 警 限时系统 采用 声光 形
实现恒压泵油整个系统所有设备的运行由一台s7200系列plc进行控制虽然西f1t公司生产的7200系列小型plc具有功能强性价比高使用稳定等特点在国内的工业控制领域占有了相当大的比例但也有其不足之处plc仅能完成现场数据的采集而不能给用户提供良好的通信界面不便于进行远程的实时监控
利用VB实现S7-200PLC与PC的串行通讯

讯能力使 其在 工业 控制中得到越来越广泛的应用 。在现 代工 业控制领域中 ,P C作为下位机完成现场各种信 L
号 和 数 据 的采 集 、 算 和 控 制 , 位 机 则 可 提 供 人 机 交 互 界 面 , 现 数 据 的处 理 以 及 现 场 数 据 的 实 时 显 示 等 监 运 上 实 视 和远 程 控 制 等 功 能 。介 绍 了 利 用 VB实 现 S —2 0P C 与 上 位 机 之 间 串行 通 讯 的原 理 及 方 法 7 0 L
关键 词 : 可编 程 控 制器 ; 串 口通 讯 ;VB 中 图 分类 号 :T 2 3 P 7 文 献 标 识 码 :A
0 引 言
口 ,自由 口为标准 R - 4 5口E 。西 门子 公 司提供 的 S 8 2 3 P /P C P I电缆带 有 RS 3 / S 8 2 2 R 4 5电平 转换 器 ,因此在 不增 加 任 何 硬 件 的情 况 下 ,可 以很 方 便 地 将 P C 和 L
维普资讯
第 2 期 ( 第 1 1期 ) 总 4 2 0 年 4月 07
机 械 工 程 与 自 动 化 MECHANI CAL ENGI NEERI NG & AUT0M AT1 0N
No. 2 Ap . r
文 章 编 号 : 6 2 6 1 ( 0 7 0 — 0 9 0 1 7 — 4 3 2 0 ) 20 7 — 2
特率 ; 0 1 0为24 0 0 波特 率 ; 0 1 1为 12 0 0 波特 率 ; 1 I 0为 6 0波 特率 ;1 1为 3 0 特 率 。 0 1 0波
R 一22 S —20系列 提供 2个 串 口 , 中一 个端 口 S 3,7 0 其
( OR )作为 D 口, P T1 P 另一 个端 口 ( 0 P RTO )为 自由
浅谈S7-200 PLC与VB之间的串行通信研究

[ 关键 词] L V 串口通信 PC B 中闰分类 号:T 9 文献标 识码 :A 文章编号 :1 7 - 7 9 2 1 )0 2 0 3 1 N1 6 1 5 7( 0 0 1 0 1 一O
0引 膏
或接 收 ( nu )属 性 ;⑦ 使 用完M c m对 象后 ,将通 信端 口关 闭 。 Ip t so 3通信 程 序实 例 本例 采 用 主 从通 信 方 式 ,计 算机 为主 机 ,可 以主动 向Pc 出报 文 , L发 后者 进 行异 或 校验 。若校 验 正确 ,返 回接 收到 的 数据 ,若校 验 后发 现有 传 输错 误 ,将 校 验错 误 指示 位 Q .置 1 1O 。在 例 子中 使用 RV C 指令 和接 受 完成 中 断接 收数 据 。 PC L 端通 信 程序 :M N A I
在工 程控 制 领域 中 ,德 国西 门子 (im n )公 司 的系 列P C 相 关软 S ee s L及 件 具有 功 能 强 、 速度 快 、扩 展 灵 活 等 优 点 ,但 数 据 的计 算 和 管 理 功 能较 弱 。V ( iu lB sc B V sa ai )是 美 国M c oo t irS f 公司推 出的一 款流 行且 功 能强大 的面 向对象 高级 语 言开 发 工具 ,越 来越 多的 实 际过 程控 制 项 目将使 用 V 开 B 发的 监控 、管 理软 件与 西 门子PC 结合 ,这就使 得 两者 之 间通信 方式 的选 L相 择及 配 置 变得 十 分 重 要 。基 于 此 ,本 文 以西 门 子s —0 系 列P C 例 ,对 7 30 L为 v程 序与 西 门子系 列PC 其相 关 软件之 间 的通 讯方 式进 行研 究 ,以期 将二 B L及 者有 机 的结合起 来 ,更好 的 满足 工程 实践 的需 要 。 1V 程 序与 西门 予P c司 信 方式 B L I通
VB与S7200300400OPC通讯

利用visual basic所开发的opc客户端应用程序主要采用自动化通信接口和opc服务器程序实施通信。
而opc基金会提供的opc自动化接口 opcdaauto.dll动态链接库集成了所有用于对opc服务器进行访问的对象、属性和方法,为利用visual basic开发opc客户端应用程序提供了极大方便。
程序设计时,opc客户程序应当首先生成opc服务器支持的opc对象,然后再使用opc对象支持的属性和方法,实现对opc服务器的操作和访问。
opc数据访问对象主要包括opc服务器(opcserver)、opc组集合(opcgroups)、opc组(opcgroup)、opc标签集合(opcitems)、opc标签(opcitem)、opc浏览器(opcbrowser)等几个部分。
程序设计时,要首先在visual basic环境下选择对opc automation 2.0接口的引用,此时,opc对象会被自动添加到正在开发的工程项目中,然后,再根据需要建立这些对象的实例并利用其属性和方法来实现对opc服务器的访问。
对opc服务器的访问主要包括声明opc对象实例、连接opc server、添加标签变量、读写opc服务器(同步/异步)、断开连接等几个步骤。
opc对象实例的声明主要包括对opc服务器、opc组集合、opc组、opc标签集合、opc服务器句柄的声明及程序所需要的其它实例的声明。
opc客户端和opc server的连接主要靠调用opc服务器对象实例的connect方法函数来完成,例如,连接本地计算机dassidirect和rslinx opc server 的代码分别为connect("archestra.dassidirect.1")和connect("rslinx opc server")连接网络远程计算机(ip地址为10.144.45.45)上dassidirect和rslinx opc server 的代码分别为connect("archestra.dassidirect.1", "\10.144.45.45")和connect("rslinx opc server", "\10.144.45.45")需要说明的是当进行远程opc连接时,必须在远程计算机上运行dcomcnfg程序,并启动该计算机opc服务器的dcom服务。
VB与S7-200通讯

本文以下内容为采用VB6.0设计人机界面的工业控制计算机与S7-200 PLC 自由口通信进行的方法。
常规的通过PC机,利用PLC对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。
利用Visual Basic结合PLC中的通信语言进行编程,实现上位机与PLC之间,在无通讯模块情况下的数据信息的双向通信传输。
SIMATIC S7-200内部集成的PPI接口物理特性为RS485,可在多种模式下工作,其中自由口通信方式是S7-200PLC的一个很有特色的功能,它可以与任何协议公开的其它设备、控制器等进行通信。
上位机串口符合RS-232C标准协议,为了实现两者的通信必须进行协议转换,可以利用PC/PPI电缆连接两者,并同时完成协议转换的任务。
控制系统组成基于VB和PLC的液压试验台监控系统结构如下图所示,主要由上位机监控系统和下位机控制系统组成。
VB6. 0提供了串行端口通信控件MSComm,该控件封装了通信过程的底层操作,用户只需设置MSComm控件的属性和对相应的事件进行编程,即可完成串行通信功能。
MSComm控件提供了事件驱动和查询2种处理通信的方法,其中事件驱动方法通过设置CommEvent、Rthreshold等属性实现对MSComm控件的OnComm 事件驱动;查询方法则通常通过OutPut属性直接写输出缓冲区,且通过InPut 属性直接读输入缓冲区实现。
因为事件驱动方法程序响应及时、可靠性高,所以本系统采用事件驱动方法实现工控机与PLC之间的串行通信。
1.S7-200PLC的自由口通信西门子S7-200系列PLC的CPU支持多样的通信协议,如PPI接口协议、MPI协议、Profibus协议、自由口通信协议等。
其中自由口通信是S7-200 PLC 的一个很有特色的功能,它使S7-200 PLC可以与任何具有串行接口和通信协议公开的智能设备(如变频器、单片机和Modem等)通信,使通信范围扩大、控制系统配置更加灵活。
S7-200Smart之间通过GETPUT指令的以太网通讯

S7-200Smart之间通过GET/PUT指令进行以太网通讯S7-200SMART PLC是西门子公司经过大量的市场调研,针对中国市场推出的一款高性价比的小型PLC产品,其大多数的使用方法与S7-200的PLC差不多。
S7-200PLC要实现PLC之间的通信,之前的文档已经介绍过,比较常用的PPI 通讯和增加CP243-1后的以太网通讯,对于S7-200SMART的PLC来说PLC上自带的485通信接口不支持PPI通信协议,但是可以通过这个口来做MODBUS通信,一个作为MODBUS主站,一个作为MODBUS从站,来进行数据交换,由于此种方法需要进行大量的编程,工作量会比较大,那么200SMART控制器上集成的以太网口作用就体现出来了,我们可以使用这个以太网口来实现S7-200SMART PLC 之间以太网通讯。
通讯之前你需要知道:两台200smart控制器的IP地址需要设置在同一网段,并且网络互通;通讯双方仅一方需要做通讯设置和程序编写,另一方只需要将需通讯的数据存放在指定区域即可,类似于S7-300的单边通讯;具体步骤介绍:第一步:设置控制器IP地址对需要进行通讯的两台200smart控制器进行硬件组态,配置IP地址,使其在同一个网络中,此步不做具体说明;本例中:1#PLC IP地址:192.168.1.112#PLC IP地址:192.168.1.12通过在2#PLC程序中调用GET指令来读取1#PLC中的VD200 VD204 VW208三个数据;第二步:通过GET/PUT向导配置指令参数左侧菜单栏中打开向导下拉菜单-----双击GET/PUT打开向导为此条通讯指令命名点击下一步:类型:选择GET;远程IP:填写1#PLC对应的IP地址192.168.1.11;远程地址:填写数据区的起始字节地址,VB200;本地地址:填写将读取数据存放在本地地址的起始字节地址,本例中为VB200;传送字节大小:本例中读取3个数据VD200 VD204 VW208,对应字节为VB200-VB209,共10个字节;点击下一步:为GET指令分配存储区,此处可以点击建议,系统自动分配其余配置选择默认即可,一直下一步,最后点击生成按钮,生成程序。
用VB6.0实现计算机对S7—200PLC的实时监控

安全可靠 、 功能齐全 、 应用灵 活、 操作维修 容易 和稳 定可靠
等 特点 而得 到 广 泛 应 用 。但 他 也 存 在一 些 缺 点 , 不 能 给 如
用 户提 供 良好 的人 机 控 制 、 理 界 面 。 随 着 工 厂 自动 化 程 管
度要 求 的 不 断 提 高 , 产 过 程 中 , 监 视 、 制 P 内 部 生 要 控 I C
编 程 控 制 器 PI P o rmma l o i C n rl r , 于其 r ga C( beL gc o tol ) 由 e
输端 口为 串行 通信 端 E , S2 2 计 算机 普遍 配备 的接 1 R 3 是
口 。为 使 数 据 侦 听 能 够 进 行 , 用 到 R 2 S4 5 换 需 S2 /R 8 转 3 器 AD AM 一 5 0 他 可 将 R 3 42 , S2 2信 号 转 换 成 独 立 的 R S 4 5信 号 , 不 需 要 改 变 计 算 机 的硬 件 或 软 件 。 8 而 3 通 信 方 法
S p r ii n t 7 — 2 0PLC r m h m p t r wih VB . u e v so o S 0 f o t e Co u e t 6 0
H E an ho Xi z ng
(H u n M e alu g c lPr e sona c ol ie , na t l r i a of s i lTe hn ogy Co l ge Zhu ho 41 00, i a) z u, 20 Ch n
Key wor s: d PLC ; iu V s alBasc 6 0; e ilc m u c to r a — tm e m on t rng i . s ra om nia i n; e l i io i
VB与西门子S7 200 PPI协议通讯

VB与西门子S7 200 PPI协议通讯通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。
这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。
在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。
在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。
采用这种方式,PLC编程调试较为烦琐,占用P LC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。
SIEMENS S7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。
如何获得PPI 协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。
这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。
软件设计系统中测控任务由SIEMENS S7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。
计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为P PI协议。
PPI协议西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文以下内容为采用VB6.0设计人机界面的工业控制计算机与S7-200PLC 自由口通信进行的方法。
常规的通过PC机,利用PLC对工艺对象的控制,大多都是在具有组态软件或通讯模块的情况下进行,但是对于一些小型的控制系统而言,由于受到简单实用和成本低的原则限制,不适合使用常规方法。
利用Visual Basic结合PLC中的通信语言进行编程,实现上位机与PLC之间,在无通讯模块情况下的数据信息的双向通信传输。
SIMATIC S7-200内部集成的PPI接口物理特性为RS485,可在多种模式下工作,其中自由口通信方式是S7-200PLC的一个很有特色的功能,它可以与任何协议公开的其它设备、控制器等进行通信。
上位机串口符合RS-232C标准协议,为了实现两者的通信必须进行协议转换,可以利用PC/PPI电缆连接两者,并同时完成协议转换的任务。
控制系统组成
基于VB和PLC的液压试验台监控系统结构如下图所示,主要由上位机监控系统和下位机控制系统组成。
VB6.0提供了串行端口通信控件MSComm,该控件封装了通信过程的底层操作,用户只需设置MSComm控件的属性和对相应的事件进行编程,即可完成串行通信功能。
MSComm控件提供了事件驱动和查询2种处理通信的方法,其中事件驱动方法通过设置CommEvent、Rthreshold等属性实现对MSComm控件的OnComm 事件驱动;查询方法则通常通过OutPut属性直接写输出缓冲区,且通过InPut 属性直接读输入缓冲区实现。
因为事件驱动方法程序响应及时、可靠性高,所以本系统采用事件驱动方法实现工控机与PLC之间的串行通信。
1.S7-200PLC的自由口通信
西门子S7-200系列PLC的CPU支持多样的通信协议,如PPI接口协议、
MPI协议、Profibus协议、自由口通信协议等。
其中自由口通信是S7-200PLC 的一个很有特色的功能,它使S7-200PLC可以与任何具有串行接口和通信协议公开的智能设备(如变频器、单片机和Modem等)通信,使通信范围扩大、控制系统配置更加灵活。
自由口通信模式在物理接口上要求双方都使用RS485接口,使用PPI编程电缆或其他具有RS485/RS232转换功能的通信电缆,这样就可以实现S7-200PLC 与计算机的自由口通信(即串行通信)。
S7-200PLC的自由口通信,即用户可以通过用户程序对通信口进行操作,通信协议完全由用户程序控制。
通过设定特殊存储字节SMB30(端口0)或SMB130(端口1)允许自由口模式,同时这两个特殊存储字节也用于选择波特率、奇偶校验、数据位数和通信协议,用户可以通过使用发送中断、接收中断、发送指令(XMT)和接收指令(RCV)对通信口进行操作。
S7-200PLC使用RCV指令接收数据,RCV指令可以接收一个或最多至255个字符。
在缓冲区接收到最后一个字符时,会产生一个中断事件23,也可以采用查询方式监视状态字节SM86来判断数据接收是否完成。
通过对SMB87接受状态字节的设定,用户可自定义通信协议中帧的具体格式。
2.S7-200PLC自由口通信协议设计
基于液压试验台的设计功能要求,这里讲述工业控制计算机作为上位机向作为下位机的S7-200PLC发送指令的自由口通信。
该协议中工业控制计算机向S7-200PLC的缓冲区发送数据帧,工业控制计算机发送的数据帧格式见表1。
缓冲区中存储的数据格式见表2。
本程序中的实际接收到的数据存储情况见表3。
当PLC收到数据帧的结束字符就会产生中断事件23调用中断程序INT0,进而调用子程序SBR1进行相应的实验过程控制。
表4中为部分S7-200PLC的自由口通信程序,包括自由口初始化程序和接收到控制信息数据后相应的中断INT0程序。
[1]西门子公司.SIMATIC S7-200可编程控制器系统手册[M].2000
3.VB通信控制程序的实现
VB6.0为串行通信程序设计提供了一种标准串行通信控件MSComm。
该控件具有完善的串行数据的发送和接收功能,不但包括了全部WindowsAPI中关于串行通信的函数所具有的功能,还提供了更多的对象属性来满足不同用户的编程需要。
下面详细介绍采用MSComm控件实现与S7-200PLC进行自由口通信的程序。
程序运行过程中只要点击相应的按钮就可以得到相应的控制信息数据,这样S7-200PLC接收到控制信息数据后,就可以实现液压实全部过程的自动控制。
以下是工业控制计算机向S7-200PLC的V变量存储区写数据的自由口通信程序的简单示例。
程序代码:
Option Explicit
Private Sub Command1Click()
Dim Buff(2)As Byte
Buff(0)=&H1‘起始字符
Buff(1)=&H41‘接收到的控制信息数据
Buff(2)=&H3‘结束字符
MSComm1.Output=Buff‘向PLC发送字符控制信息
End Sub
Private Sub Form Load()
mPort=1‘指定使用COM1作通信传输MSComml.Settings=“9600,8,1”‘9600波特率,无校验,8位数据位MSComm1.PortOpen=True‘打开COM1
End Sub
4结束语
计算机与S7-200PLC的自由口通信协议可以很可靠地实现计算机与S7-200 PLC的自由口通信,实现了生产过程的自动控制,还有可视化的操作界面,充分体现了人机交互的优势。
采用VB6.0设计编写的与S7-200PLC的自由口通信程序在Windows操作系统下运行成功,还要注意一点就是S7-200PLC与VB的端口初始化设计要完全对应,这只要发送相关的生产过程控制信息,就能实现生产过程的控制与监测。
关于自由口通信
Freeport方式是一种通讯协议完全开放的工作方式,如果说PPI方式是外设适应PLC的话,那么Freeport方式就是PLC适应外设。
在Freeport方式下外设不受PPI协议的限制,不支持PPI协议的设备也能够与S7-200系列PLC通讯,在Freeport方式下通讯口的协议由外设决定,PLC通过程序来适应外设。
Freeport
方式是对PPI方式的一个补充,该方式使得S7-200系列PLC可以与任何具有通讯能力的、并且协议公开的设备相通讯。