PC和PLC自由口通信在数码显示中的应用

发布者:真诚的友谊最新更新时间:2014-11-21 来源: dzsc关键字:PC  PLC  自由口通信  数码显示 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  随着可编程控制器(plc)技术的迅速发展,plc以其通用性强、可靠性高、抗干扰能力强、控制系统结构简单、编程方便及易于使用等优点,在我国各个厂业控制领域中得到了越来越广泛的应用,在计算机控制系统中占有着重要的地位,为实现工业生产过程自动化、改善控制系统品质、提高企业经济效益起着积极的作用。

  西门子公司生产的s7-200系列小型plc,以其功能强大,使用稳定且性价比高而在中国市场上占有很重要的地位,深得用户的喜爱。其内部集成的通信接口为用户提供了强大的通信功能,根据不同的协议通过接口使得plc可与不同的设备进行通信并组成网络,实现数据传送及控制等功能。s7-200系列plc支持多种通信协议,其中包括西门子产品之间所使用的ppi协议,用于多机之间通信的mpi协议,和变频器之间通信的uss协议,以及用户可以白行开发的白由口协议。尤其是自由口协议,它为用户在使用时,提供了很多方便之处。

2 系统硬件配置

  本系统主要上位机、下位机、打印机和电气控制柜等组成。系统采用一台x86兼容电脑作为上位机,其配置如下:操作系统是windows xp专业版;处理器是英特尔celeron 2.40ghz;内存是ddr400 1g;硬盘是希捷80g;显示器:三星纯平17英寸;光驱是三星cd-rom。系统还采用s7-200系列plc作为下位机,中央处理单元为西门子公司推的plc采用s7-200系列cpu226,该cpu在本机体中集成了2个rs-485通讯口,其性价比高,能满足本系统的所有要求。

  考虑到上位机的串行通信协议为rs-232标准,而西门子s7-200plc的串行通信协议为rs-485标准,因此可以采用具有rs-232/rs485转换功能的pc/ppi电缆将其连接起来,便可实现上下位机之间的串行通信的协议转换,其硬件连接如图1所示。

3 系统控制任务

  3.1 上位机控制任务

  (1)控制要求描述:a、b、c、d、e、f、g、h是组成0到9数字的八组数码信号灯,数码显示plc控制的任务是首先八组数码信号灯依次亮,每组灯只亮一次,亮后熄灭,接着下一组亮,如此循环直至八组灯亮完,然后依次显示由八组数码信号灯组成的0到9数字,显示9后,八组数码信号灯依次亮,循环下去,示意如下:

       a→b→c→d→e→f→g→h→abcdef→bc→abdeg→abcdg→

bcfg→acdfg→acdefg→abc→abcdefg→abcdfg→a→b→c……

  (2)i/o分配:根据上位机控制任务,对plc的输入输出端口分配如表1所示。

  3.2 上位机监控内容

  上位机监控软件的开发平台选择vb 6.0作为windows环境下的一种可视化编程工具,vb6.0在开发监控系统方面有着界面友好、编程方便等独特优势。根据上位机控制任务,用vb 6.0软件做的监控界面如图2所示。

  我们通过运行上位机plc程序和vb程序,实现对数码显示的控制,并通过自由口通信,促使数码灯颜色改变,从而plc控制信号反映在基于vb的监控画面上。对于监控界面图,信号灯亮与不亮的颜色会发生变化。当信号灯亮时,对应的文本框显示1;当信号灯不亮时,对应文本框显示0。

4 pc机与s7-200系列plc通信设计

  4.1 pc机与s7-200系列plc通信原理

  上下位机之间的通信,可通过使用plc开发商提供的系统协议和网络适配器来实现,但由于其通信协议不公开,因此还必须使用plc开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是plc开发商为自己的产品量身定做的,因此难以满足不同用户的需求。

  上下位机之间的通信,也可以使用专业的工控组态软件,如组态王、intouch、wincc等,来实现上下位机之间的通信。这些组态软件以其功能强大、界面友好、开发简洁等优点目前在计算机监控领域已经得到了广泛的应用,但其成本较高,而且在小型系统中使用不够灵活。

  而自由通信接口协议,可由用户自定义通信协议,不需要增加投资,并且具有与外围设备通信方便、易于微机控制软件开发等特点,特别适合于小规模的计算机控制系统

  s7-200系列plc的通信端口主要有两种通信模式:ppi模式和自由口模式。ppi通信协议是西门子公司专门为s7-200系列plc开发的一种通信协议,一般不对外开放。而自由口模式则是对用户完全开放的。在自由口模式下通信协议是由用户定义的。在自由口模式下pc机与plc之间是主从关系,pc机始终处于主导地位,计算机通过串行口发送指令到plc的通信端口,plc通过rcv接收指令信息,然后对指令进行译码。译码后再调用相应的子程序实现pc机发出的指令要求并通过xmt指令返回指令执行的状态信息。本上下位机通信系统通信原理如图3示。

  4.2 plc通信程序设计

  s7-200plc控制程序则使用step7-micro/win32编程软件进行开发。step7-micro/win32编程软件是基于windows的应用软件,功能强大,主要用于开发程序,也可用于适时监控用户程序的执行状态。s7-200plc的cpu连续执行用户的程序,任务的循环写输出序列称为扫描。cpu的扫描周期如图4所示。

  为了不延长cpu的机时,缩短s7-200 plc的扫描周期,通信程序应尽可能短小。

  自由通信模式下plc的控制程序可以使用接收中断、发送中断、发送指令(xmt)和接收指令(rcv)来控制通信操作。s7-200的cpu处于run模式时,能够进行自由端口通讯。在这一模式下,用户可以通过plc程序来选择协议,可以使用接收中断、发送中断、发送指令(xmt)和接收指令(rcv)来进行通信操作。在run模式下,对于port0(port1),当smb30协议选择域(mm)置1(smbi30协议选择域(mm)置1)时,便选择了自由端口模式。在stop状态下,自由端口模式被禁止,cpu能够与可编程设备(如编程器)之间通信。

  plc程序分为主程序和中断程序。主程序完成初始化通讯口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(rcv)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(xmt)在自由口模式下依靠通信口发送数据。

  初始化通信程序:

  ld sm0.0

  movb 16#05, smb30 // // 初始化自由口:sm30=“ppdbbbmm” =16#05=0000

  0101

  movb 16#b0, smb87 // // 初始化rcv信息控制字符:sm87=16#b0 =1011 0000

  movb 16#0a, smb89 // // 设定信息结束字符为“16#0d”(smb89 =“16#0d”)

  movw +5, smw90 // // 设置空闲线超时时间为5ms (smw90=5)

  movb 100, smb94 // // 设置最大字符数为100(smb94=100)

  atch int_0, 23 // // 连接中断0到接收结束事件

  atch int_2, 9 // // 连接中断2到发送结束事件

  eni // // 允许用户中断

  rcv vb100, 0 // // 执行接收指令,接收缓冲区指向vb100

  4.3 vb通信程序设计

  上位机通信软件是在vb环境下开发的,vb语言是基于windows操作系统的面向学习对象的程序设计语言。因vb具有强大的图形显示功能,可以很容易地开发出界面良好、满足用户需求的windows标准风格的图形界面。vb带有专门管理串行通信的mscomm串行端口控件,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串行口的初始化和数据的传输工作,实现plc与pc串行通信。要完成通信必须设置mscomm的如下相关属性值:

  (1)commport:设置或传回通信连接端口代号。

  (2)settings:设置初始化参数,以字符串的形式设置或传回连接速度、奇偶校验、数据位和停止位等参数。

  (3)portopen:设置或传回通信连接端口的状态。

  (4)input:从输入寄存器传回并移除字符。

  (5)output:将一个字符串写入输出寄存器。

  (6)inputlen:指定由串行端口读入的字符串长度。

  (7)inbuffercoun t:传回在接收寄存器中的字符数。

  用vb编制的部分通信程序如下:

  程序过程名:mscomm1_on comm。它的作用:完成上位计算机(vb监控程序)与下位机(plc)之间的串行通信。程序如下:

  private sub mscomm1_oncomm()

  static scoms as string

  dim s1 as string

  if mscomm1.commevent = comevreceive then

  s1 = mscomm1.input

  if (s1 = chr(&h1b)) and (len(scoms) 》 2) then

  scoms = “”

  else

  if s1 《》 chr(&hd) then

  scoms = scoms & s1

  else

  call mysave(scoms)

  end if

  end if

  end if

  end sub

  程序过程名:mysave。它的作用:对从下位机(plc)传输到上位机(vb监控软件)的数据进行初始化处理。程序如下:

  private sub mysave(scoms as string)

  scoms = trim(scoms)

  scoms = mid(scoms, 1, 10)

  for i = 1 to 8

  text1(i).text = mid(scoms, i, 1)

  next i

  for i = 0 to 1

  text2(i).text = mid(scoms, i + 9, 1)

  next i

  end sub

  程序过程名:form_load。它的作用:完成窗体载入时的程序设置。

  private sub form_load()

  timer1.enabled = true

  timer1.interval = 100

  with mscomm1

  .commport = 1

  .settings = “19200,n,8,1”

  .inputmode = cominputmodetext

  .rthreshold = 1

  .inputlen = 1

  end with

  if mscomm1.portopen = false then

  mscomm1.portopen = true

  end if

  end sub

5 结束语

  本文介绍了用可视化编程语言vb实现pc机与s7-200plc之间的数据通讯技术及实现方法,研讨基于自由口通信模式的上下位机通信方式,通过分析其通信流程,开发相应的通信程序,并将其应用于数码显示监控系统中,实现了生产过程的自动控制,还有可视化的操作界面,充分体现了人机交互的优势。实践证明,这种通信方式简单,可靠,实时性好、成本低、便于调试,这种通信方式也可以应用于其它相关的通信场合,具有普遍和现实工程意义。

关键字:PC  PLC  自由口通信  数码显示 引用地址:PC和PLC自由口通信在数码显示中的应用

上一篇:RFID技术及其在温度传感器方面的应用
下一篇:基于图像的机器人视觉伺服实验研究

推荐阅读最新更新时间:2024-05-02 23:19

2017年第二季全球PC出货量下滑4.3%
国际研究暨顾问机构Gartner初步统计结果显示,2017年第二季全球个人电脑(PC)出货量总计6,110万台,较2016年第二季下滑4.3%。PC产业已持续5年处在低潮期,出货量则连续11季下滑,这也是自2007年以来出货量最低的一季。 Gartner首席分析师北川美佳子(Mikako Kitagawa)指出:“PC价格因DRAM、固态硬碟(SSD)、LCD面板等零组件缺货而上扬,对2017年第二季PC需求造成明显负面冲击。而厂商因应零组件成本上扬的方式各有不同,有些厂商决定自行吸收价差而不调涨终端产品售价,但也有厂商把成本转嫁到最终产品售价上。” 北川美佳子进一步表示:“在商用部门,厂商无法快速调涨价格,尤其是大型企业
[家用电子]
高通骁龙本:重新定义全互联PC体验方式
日前,搭载高通骁龙835芯片的骁龙笔记本的上市,为笔记本产品市场注入了一种全新的品类。高通这款笔记本产品主打“Always Connected PC”概念,是一款能够实现随时在线全时连接的笔记本产品。Always Connected PC将使电脑的应用场景更加广泛并为消费者带来更好的使用体验。试想一下:周末可以一整天不间断使用电脑;或是长时间的追剧玩游戏,或是出差在高铁飞机上移动办公等场景,都不用担心你的笔记本会断网断电。骁龙本在全时互联和续航能力等方面都显示出明显的优势。如果你期待笔记本电脑能够全天候待命,并能在全球都享受到最快的LTE连接,那么它的确比任何笔记本电脑都更适合你。 为何一直专注手机领域的高通,会在PC市场在逐年下
[物联网]
PLC在变性淀粉生产线控制应用
    1 引言     近年来PLC控制系统越来越多应用于国内变性淀粉生产线的控制,因为传统的变性淀粉生产线的控制由继电控制系统完成,继电控制系统的缺点是体积庞大,控制接线复杂www.cechina.cn,故障率高 CONTROL ENGINEERING China版权所有 ,可靠性及灵活性差。相比较而言PLC控制系统具有设计组态灵活性好,生产数据采集准确,控制管理功能强大,系统运行稳定可靠性高,系统维护简单,数据通信交换及时,动态响应快等优点。实践证明应用PLC控制系统对于提高企业生产安全可靠性,生产效益,产品质量都具有显著的社会效益和经济效益。     2 系统设计     本系统采用计算机、PLC、智能仪表以及电气控制柜构
[嵌入式]
OMRON PLC在宁波市城市排水中水回的应用
1.引 言 宁波地处江南水乡,但季节性缺水、水资源空间分布不均等问题依然存在。自20世纪90年代初以来,由国务院有关部委的专家们组成的考评组提供的一系列数字表明,宁波已列入全国性的缺水城市之一。随着宁波工业经济的迅速发展和城市化水平的不断提高,城市对水的需求逐年增大,宁波迫切需要新水源来缓解缺水状况。为缓解水资源供需矛盾,坚持“开源”与“节流”并重,同时大力推进污水资源再生利用(中水)工作就显得很有必要了。 2.中水用途 中水指城市污水经处理后达到一定的水质标准,可在一定范围内重复使用的非饮用的杂用水。2002年以来,国家陆续颁布了《城市污水再生利用 分类标准》、《城市污水再生利用 城市杂用水水质标准》、《城市污水再
[工业控制]
G3-PLC联盟发布最终版 G3-Hybrid 双模融合通信标准
G3-PLC联盟发布最终版 G3-Hybrid 双模融合通信标准 联芯通助力双模跳频规格制订 杭州市 – 2023 年 2 月 3 日 – G3-Hybrid PLC+RF双模融合是业界第一项双模通信标准,可通过两种媒介在一个无缝管理网络中为智能电网和物联网应用提供延伸、扩展功能,为通信行业建置重要里程碑。今年1月,G3-PLC联盟宣布G3-Hybrid interoperability plugfests互连互通插件测试活动成功获得实证,此次测试活动针对跳频(frequency hopping)测试3家G3-PLC双模融合解决方案芯片商之间的互联互通性(interoperability),成功实现双模跳频的无缝通信,杭州
[物联网]
G3-<font color='red'>PLC</font>联盟发布最终版 G3-Hybrid 双模融合<font color='red'>通信</font>标准
STM32笔记之八:来跟PC打个招呼,基本串口通讯
a) 目的:在基础实验成功的基础上,对串口的调试方法进行实践。硬件代码顺利完成之后,对日后调试需要用到的printf重定义进行调试,固定在自己的库函数中。 b) 初始化函数定义: void USART_Configuration(void); //定义串口初始化函数 c) 初始化函数调用: void UART_Configuration(void); //串口初始化函数调用 初始化代码: void USART_Configuration(void) //串口初始化函数 { //串口参数初始化 US
[单片机]
PLC和变频器应用注意要点
一、举例1 现象说明 西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动。 故障查找 1、疑似模拟量输出板卡问题,用万用表测量4-20mA输出信号,信号是正常的! 2、开始怀疑是变频器控制信号输入端有了问题,换了一台同型号变频器,问题仍然如此。 3、用一台手持式信号发射器做4-20mA输出信号源,输出标准电流信号至变频器,这下变频器启动了,因而我们排除了模拟量输出板卡和变频器的故障。 4、由此推测是变频器的干扰信号传导至模拟量通道所致。 5、为了验证,在PLC模拟量4-20mA输出通道中加装了一台信号隔离模块TA3012,TA3012的输入端子5、6接模拟量输出模块,输出端子1、2端子
[嵌入式]
<font color='red'>PLC</font>和变频器应用注意要点
三菱FX3U PLC利用RS指令实现Modbus RTU通信
在了解了Modbus通信的基本格式后,本期将通过仿真的方式实现Modbus RTU通信协议在三菱FX3U PLC上的应用。 指令介绍 一、软件准备 虚拟串口工具 Modbus Slave 凌一PLC仿真器 GX works2编程软件 二、RS指令 RS指令是在执行串口通信时用来接收和发送数据的指令,使用该指令时需要在PLC上插入FX3U-485-BD通信模块。 1)基本格式 其中m(发生数据的个数)和n(接收数据的个数)需要根据外部设备的报文格式指令,不能随便设置。 2)示例 X0: RS指令触发条件,当X0位ON时RS指令进入发送或接收数据的等待状态。 D10: 发送数据的起始寄存器。 K8: 发送数据的
[嵌入式]
三菱FX3U <font color='red'>PLC</font>利用RS指令实现Modbus RTU<font color='red'>通信</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved