您的当前位置:首页正文

西门子PLC与计算机间的通讯程序设计

2021-03-19 来源:汇智旅游网
维普资讯 http://www.cqvip.com 西门子PLC与计算机间的通讯程序设计 ●主题论文 一67一 西门子PLC与计算机间的通讯程序设计 山东郯城电业局 李鹏 福州大学电气系 李琰 The Communication Program Design Between Siemens PLC and Personal Comouter U Peng U Yan 摘要:介绍了西门子(Siemens)公司生产的S7—200型PLC与计算机之间的通讯网络构成及主要通 讯指令,说明了利用PLC进行通信的实质和设计步骤,给出了PLC与计算机通讯时上位机和下位 机的相应程序。 关键词:可编程序控制器;通讯; 中断;S7—200 分类号:TN919 文献标识码:B 文章编号:1006—6977(2002)08—0067—03 1 引言 可编程控制器(PLC)是工业自动化的主导产 品。它已经成为现代工业控制的三大支柱之一(机 器人、PLC和CAD/CAM)。其可靠性高、使用方便的 巨大优越性已广为工程技术人员所熟知。经过30多 子公司生产的S7_200型PLC为基础,给出PLC与 计算机通讯时上位机和下位机之间相应的简单程 序。 2 PTJC与计算机间的通讯 S7—200型PLC具有十分强大的联网功能,可 年的发展,可编程控制器已成为最重要、最可靠、应 用场合最广泛的工业控制微型计算机。在可编程控 制器中,充分应用大规模集成电路技术、微电子技术 及通讯技术可以构成逻辑控制、过程控制、数据采集 与控制、图形工作站等综合控制系统。而PLC通讯 一以连接编程器、人机接口设备或其它PLC。S7—200 的可编程通信口模式(Free Port Communication mode)具有足够的灵活性,利用它可实现各种通信 功能。同时,通过此通讯方式还可实现编程、监控、 联网等功能。S7—200系列PLC的通信接口是9针 RS一485信号接口,可通过PC/PPI电缆与计算机 :每 每 每 :每 :每:每:每 每 : 直是很多用户十分关心的实际问题,本文以西门 c c : : : : MA系统大获全胜的事实就不难得到确认。同时, CDMA商业网络的其它优势也日趋明显。香港、韩国 的PCS业务均采用了CDMA系统,而且运营状况良 移动通信产业的发展。 参考文献 1.华为科技.关于CDMA制式的第三代移动通信 展望.电子科技.2000,12 好。即使在GSM的大本营欧洲,CDMA也显得咄咄 逼人。2001年1月,ETSI(欧洲电信标准委员会)审议 了3G(第三代移动通信)标准,无论是Nokia、Ericsson 还是Motorola、Siemens,它们都将采用CDMA作为空 中接口标准,这也进一步确立了CDMA为商业移动 通信网的主流方向。 由此可见.世界正处于CDMA技术和第三代蜂 窝移动通信大发展之际,中国移动通信产业应在建 设中求发展,在市场竞争中求生存,抓紧难得的历史 机遇,以市场为导向,抓住新的经济增长点,大力加 2.段才明等.第三代移动通信系统中W—CDMA 与CDMA2000的理论及实施草案(一、二).现代 电信科学.2000,10、ll 3.田宏鹏.CDMA技术及市场应用报告.通信世界. 2000.5 4.田宝玉等.CDMA蜂窝移动通信软切换区的划分 北京邮电大学学报.1998年5月第21卷增刊 收稿日期:2002—03—28 咨询编号:02o824 强自主开发创新,搞好中外经济技术合作,促进民族 维普资讯 http://www.cqvip.com 一68一 《国外电子元器件)2002年第8期 2002年8月 口口口I品l 编程器 网络连接器 1计算机和P【c构成的PLC网络 联接,也可通过SINEC—L2接口与其它PLC连成 网络。由计算机和PLC构成的PLC网络系统结构 如图1所示。 s7—200系列PLC的通信模式有两种:一种是 点对点(PPI)通信协议,用于PLC与其编程器或西 门子公司的人机接口产品之间的通讯;另一种是 对用户完全开放的自由口模式,CPU的串行通讯口 可由用户程序控制,这种操作方式称之为自由口 模式。,用户可以自行规定通信协议。其中PPI模式 能在PLC停止方式(STOP)下通讯,而自由口模 式只能在PLC运行方式(RUN)下通讯。当选择自由 口模式时,用户程序即可通过发送中断、接收中 断、发送指令(XMT)和接收指令(RCV)来控制串行 通讯口的运作。在自由口模式下,通信协议完全由 用户程序来控制。对PORTO及PORT1来说,可分别 通过SMB30和SMB130来设置波特率及奇偶检 验。在简单情况下,还可以只用发送指令(XMT)向 打印机或显示器发送信息。用户通过向SMB30(端 口0)或SMB130(端口1)的协议选择区置l即可允 许自由端口模式。 PLC和计算机之间的通讯指令主要有中断连 接、中断分离指令和发送、接收指令等。 (1)中断指令 PLC和计算机间的中断连接和中断分离指令 的体型图如图2所示。其中:EVENT表示中断指令 指定的中断事件;INT表示与中断事件相关联的中 断服务程序标号。通过中断连接指令(ATCH)可以 把一个中断事件(EVENT)和一个中断程序(INT)联 中断连接 蝈 中断分离 图2中断连接、中断分离指令体型图 系起来,并允许这个中断事件发生。而中断分离指 令(DTCH)的主要作用是截断一个中断事件 (EVNT)和所有中断程序的联系,并禁止该中断事 件。 在激活一个中断程序前,必须在中断事件和该 事件发生时希望执行的那段程序间建立一种联系。 通过中断连接指令可指定… 个中断事件所要调动的 程序段。虽然多个中断事件可以调用同一个程序 段,但是一个中断事件不能同时调用多个程序段。 在开中断情况下,某个中断事件发生,就执行最后一 次为该事件指定的中断所调用的程序段。用ATCH 指令为某中断事件调用相关的程序段时,系统会自 动将此中断事件打开。利用DTCH可以解除中断事 件和中断程序段之间的联系,同时将该中断事件关 闭,以使该中断处于非激活状态。 (2)发送接收指令 发送、接收指令的体型图如图3所示。其中,TBL 蝈蝈 发送指令 接收指令 图3发送、接收指令的体型图 用于指定接收或发送数据的缓冲区,它的第一个字节 用来设定应接收或发送的字节数(最大255个字节); OPRT则用于指定通讯时的串行通讯口。发送指令 (XMT)的作用是激活发送数据缓冲区(TBL)中的数 据。数据缓冲区的第一个数据指明了要发送的字节 数。PORT用于指定发送端口。XMT指令用于决定自 由端口模式,并由通讯端口发送数据。 接收指令(RCV)用于激活初始化或结束接收信 息的服务。通过指定端口(PORT)可将接收到的信息 存储于数据的缓冲区(TBL)。数据缓冲区的第一个 数据指明了接收的字节数。 可以用XMT指令方便的发送数据,通常XMT 指令可发送一个或多个字符,最多有255个字符的 缓冲区。如果有一个中断程序连接到发送结束事件 上,那么在发完缓冲区中的最后一个字符后会产生 一个中断。可以用RCV指令方便的接收数据,RCV 指令可以接收一个或多个字符,最多有255个字符, 这些字符存储于缓冲区中。如果有一个中断程序连 接到接收完成事件上,那么在接收到缓冲区中的最 维普资讯 http://www.cqvip.com 西门子PLC与计算机间的通讯程序设计 一69一 后一个字符时,系统也会产生一个中断。 3 PLC通讯程序 PLC通讯是PLC实际应用中一个十分关键的问 题,可以利用S7—2o0的可编程通讯口模式来实现 各种各样的通信功能,它完全可以实现很多十分复 杂的功能,如构成PLC网络进行多机通讯,以及利 用电信网络实现远程通信等。 另外,s7—2o0系列PLC中的CPU215、CPU216均 自带接口,因而能够直接挂上现场总线(PROFIBUS)接 口,并可支持对等式通信(peer to peer communication)。 下面给出PLC通讯程序,该程序十分简单,其作用 是采用中断方式向上位计算机发送指定存储器中存 储的一个字节数据。 主程序: LD SM0.1 MOVB 16#09,SMB30 ;首次扫描时初始化自 由口.选择9600波特率, 8位数据位,无校验 MOVB 100,SMB34 ;确定中断事件是定时 中断0 MOVB 1,VB100;确定要发送的字节数为1 ENI ;允许进行中断 ATCH INT一0,10 ;将中断事件INT一0与 定时中断0联系起来 中断程序: LD SM0.0 MOVB 120,VB101 ;指定向上位计算机要 发送的数据 XMT VB100,0 ;通过0号端口,采用定时 中断,向上位计算机发送数据 4 计算机通讯编程 为了充分利用计算机数据处理的强大功能,可 以在上位机编写程序来实现计算机与PLC的通讯。 Visual Basic语言(简称VB)是Microsoft公司推出的 面向对象和事件的Window应用程序开发工具,它继 承了Basic简便易学的优点,同时又具有较好的可视 化编程界面,是一种集成开发环境(IDE)。考虑到VB 的以上优点,本文拟采用VB语言来编写PlJC与计 算机问的通讯程序。VB语言的专业版本中通常都提 供了通讯控制控件(Communication Contro1)——应用 通讯控件(MSComm),从而可通过串行端口来实现传 递与接收数据的功能。 MSComm控件有很多种重要属性,其中最重要 的有: Commport:设置或返回通讯端口号: Settings:以字符串形式设置或返回波特率、奇偶 检验、数据位和停止位; PortOpen:设置或返回通讯端口状态以及打开和 关闭端口。 下面是以PLC与计算机的通讯测试指令为例 编写的VB程序: 初始化: Private Sub FormLoad() ;程序初始化 MSComm1.ComPort=2:使用COM2端口通讯 MSComm1.Settings=“9600,n,8,1”;波特率 为9600,采用无校验,8位数据位,1位停止位 MSComm1.PortOpen=Tme ;打开通讯端口, 准备通讯 End Sub 在本例中.使用MSComm控件的OnComm捕获 并进行处理的程序如下: Private Sub MSComm1OnComm() IfMSComm1.CommEvent=2 Then:MSComm 控件的OnComm事件如果为真,则进行通讯 ⅡMSComm1.InBufferSize>=0 Then :如 果接收缓冲区里有数据,则接收 S=MSComm1.Input:将接收的数据赋给变 量s对于以后的数据处理工作,这里就不多说了。 EndⅡ EndⅡ End Sub 参考文献 1.郭宗仁等.可编程序控制器及其通讯网络技术. 人民邮电出版社.1999.5 2.西门子公司.SIMATIC S7—2o0可编程序控制器 系统手册.西门子公司出版,2000.6 3.西门子公司.SIMATIC S7—2o0应用示例.西门 子公司出版.1997.1 4.钟肇新等.可编程序控制器入门(S7—2o0).华 南理工大学出版社.1999.5 收稿日期:2002—02—21 咨询编号:020825 

因篇幅问题不能全部显示,请点此查看更多更全内容