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的应
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)