




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于自由口模式的S7-200 PLC与上位机的通信在自由口模式下IPC工控机与PLC之间是主从关系,它以上位机为该工业网中的通信主站,其它连入该网的PLC皆为从站,其通信采用主从轮询的方式:IPC工控机始终处于主机地位,始终具有初始传送优先权,所有通讯均由上位机IPC来启动,向从站发送数据或者从从站中读取数据都是主站以命令帧的形式发送。IPC通过串行口发送指令到PLC的通信端口,PLC通过RCV接收指令接收信息,然后对指令进行解析,解析后再调要相应的子程序实现IPC机发出的指令要求,并通过XMT指令返回指令执行的状态信息。 S7-200系列PLC(CPU224) 与自由口模式通信功能有关的寄存器为SMB30,SM130及其它特殊寄存器,它们主要用于通信方式的设置与运行管理。 特殊寄存器SMB30用于存储自由端口0的通信方式控制字,可由用户在编程方式下直接设置,属于可读写的特殊标志寄存器。 (1)PP: 奇偶校验方式选择 00-无奇偶校验;01-偶校验; 10-无奇偶校验;11-奇校验; (2)d: 每个字符的数据位长度 0-每个字符8位;1-每个字符7位; (3)bbb: 自由口波特率 000-38400 波特率;001-19200波特率;010 -96000波特率 ;011-4800波特率;100-2400波特率; 101-1200波特率;110-600波特率;111-300波特率;(4)mm: 协议的选择 00-自由口协议;01-点到点接口协议(PPI/从站模式);10-PPI/主站模式;11-保留缺省设置通信协议 通信协议是系统的重要组成部分,它关系到整个系统的工作效率、稳定性与数据交换的准确性。为确保上下位机之间能正确交换数据,必须制定相互遵循的通信规约,编写通信程序是基于应用层进行的,因此我们只关心命令帧与相应帧格式,只要我们编写的通信程序发出的命令帧格式完全符合自定义的通信协议,PLC就一定能理解。对PLC发回的响应帧,我们只要按其格式进行解析识别,就一定能正确分离出交换数据及有用状态信息。 图3和图4 分别是 上位机发送给PLC的指令格式和具体的读PLC中VB区数据信息的指令格式. 当PLC接收到从上位机发来的命令时会自动返回应答信息。 上位机的命令帧由不固定的字节数组成,针对不同的识别码有不同的帧长度。但基本格式大体一致。本文以读VB区数据的命令帧为例,如图4所示其中符号必须置于每个命令帧的开头;节点号为主站所寻找的目标地址(设备号),设置在PLC VB区的VB134的0007位中,为00-31(BCD码),响应帧中必须带上同一设备号,告诉主站以与哪一个从站建立了通信;识别码,由2英文字母组成的命令代码,它表示通信命令(如RB,RH,WD,TS,MM等);起始字,也就是起始偏移地址(09999);字数,为数据个数(n=110000,若读10000个字,被读字数用0000表示);FCS,帧检查顺序码,为2个ASCII字符的8位数据,其计算方法为其前面除符号字节的所有字节的异或值;终止符,设置成“*”和回车(CHR$(13)两字符,表示命令结束。西门子公司的SIMATIC S7-200系列PLC是广泛适用于中小型设备控制的工业可编程控制器,以其可靠性高、丰富的指令和内置功能、通信能力强、性价比较高等特点,在工业控制领域中得到越来越广泛的应用1。在本文的控制系统中,PLC作为下位机完成现场各种信号和数据的采集、运算和控制。工控PC机作为上位机可提供人机交互界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能。S7-200系列的PLC可以在四种通信模式下工作:PPI模式、MPI模式、PROFIBUS-DP模式和自由口通信模式。其中,PPI和MPI是西门子专门开发的通信协议。PPI协议用于点对点接口,是一个主/从协议。MPI协议适用于多点接口,可以是主/主协议或主/从协议。PROFIBUS-DP是西门子支持的现场总线网络5。而大多数用户则是选用对用户完全开放的自由口通信模式。在自由口通信模式下,通信协议是由用户定义的。用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接收指令(RCV)来控制通信操作。本设计采用自由口方式,重点介绍工控PC机与主控PLC的通信原理与实现。1 硬件组成ITER导体穿缆测力测长控制系统的框图如图1所示。将测力传感器和测长编码器通过信号线与PLC相连,这样穿缆过程中的拉力数据和行程数据就能够实时写入PLC的寄存器中。PLC通过通信电缆与PC机的串行通信口相连,在PC机中设置VB的MSCOMM控件来实现串口通信,这样PC机就能读取PLC寄存器中的拉力和行程数据,对穿缆过程进行实时监控。2 工控PC机与主控PLC的自由口通信协议工控PC机标准的串口为RS232C,S7-200系列提供的串口为RS485,利用西门子公司提供的PC/PPI电缆,可以方便地实现S7-200系列PLC与PC之间硬件连接1。上位机向PLC发送指令(即指令帧),指令帧格式如图2所示,由起始字符、指令类型、目标PLC站地址、目标寄存器地址、读/写字节数、待写入的数据(当从PLC读数据时,具体数据部分为空)、校验码和结束字符组成。例如写VB100开始的两个字节的指令帧如下:83H,06H,08H,00H,00H,64H,30H,32H,31H,32H,33H,34H,35H,36H,115H。下面按顺序说明每段字节的含义:83H为字符S的ASCII码,表示指令的开始,在本设计中是固定的。06H表示指令的类型,为写操作。在本文中定义05H代表读操作,06H代表写操作。08H,00H表示要写PLC中V存储区的内容。00H,64H表示要从VB100开始写。30H,32H表示要写两个字节。31H,32H,33H,34H表示VB100写入12H,VB101写入34H。35H,36H是校验和。115H为字符s的ASCII码,是结束字符,表示指令的结束,在本设计中是固定的。一条指令除包含数据外,还包含必要的控制字(如起始字符、结束字符、指令类型等)。如果指令中的数据直接以其原本的形式传输,则不可避免地会与指令中的控制字发生混淆。为了避免这种情况的发生,可以用文本来传送二进制数据。通过16进制ASCII码的格式来描述数据,每个二进制的字节都可以表示成一对ASCII编码,这对编码表示这个字节的两个16进制字符。这种格式可以表示任何的数值,仅仅使用ASCII代码的30H39H(表示09)和41H46H(表示AF)。ASCII码的其余部分可以用作控制字。这样就避免PLC因接收到数据中错误的标志位而停止接收的错误。在PLC接到上位机指令后,会向上位机发送一个反馈消息,即反馈帧,反馈帧格式如图3所示。其组成与指令帧基本相同,但它是由PLC发出的,所以具体数据段不同,在向PLC写数据时,反馈帧的具体数据部分为空,而在从PLC读数据时,具体数据部分不能为空。例如,PLC接收到写VB100开始两个字节后的发送反馈帧如下:83H,02H,08H,00H,00H,64H,30H,32H,35H,36H,115H。下面按顺序说明每段字节的含义:83H为字符S的ASCII码,与指令帧相同。02H为状态信息,表示接收到上位机指令后PLC的执行状态。在本文中02H表示写入正确,相应地规定01H表示读取正确,03H表示BCC校验码错误,04H表示指令不合法。08H,00H表示要写入PLC中V存储区的内容,与指令帧相同。00H,64H表示要从VB100开始写,与指令帧相同。30H,32H表示要写两个字节,与指令帧相同。需注意的是,此时具体数据段为空。35H,36H是校验和,因无数据段,与指令帧可能不同。115H为字符s的ASCII码,表示此帧结束,与指令帧相同。3 工控PC机软件设计工控PC机端通信程序流程图如图4所示。发送指令帧后,注意查询反馈帧,如一定时间内没有接收到,应再次发送,两次无响应,则要提示通信故障或PLC不存在。在工控PC机中可采用VB来实现上位机监控程序,通过MSCOMM控件就可控制串口通信6,主要参数设置代码如下:MSComm1.Settings=9600,N,8,1/串口通信参数设置MSComm1.CommPort=1MSComm1.PortOpen=TrueMSComm1.InputLen=04 主控PLC软件设计CPU224XP自由口通信模式的初始化是通过对特殊存储字节SMB30(PORT0)写入通信控制字来设置通信的波特率、奇偶校验、停止位和数据位数7。SMB30中的内容如下:PP:奇偶选择。00为无奇偶校验;01为偶校验;10为奇校验;11为保留。D:每个字符的数据位。0为每个字符8位;1为每个字符7位。BBB:自由端口波特率。本设计为010,表示波特率为9 600 b/s。MM:协议选择。00为点到点接口协议的PPI从站模式;01为自由端口协议;10为PPI主站模式;11为保留。缺省设置为00,即PPI从站模式。本文中传输速率固定为9 600 b/s,数据格式由1位起始位、8位数据位、无校验位、1位停止位组成。配置自由口通信模式后,就可以进行数据的收发了。PLC通信程序框图如图5所示。接收数据指令RCV的命令格式为RCV TABLE,Port0,RCV指令可以接收一个或多个字符,一次最多接收255个字符。发送数据指令XMT的命令格式为XMT TABLE,Port0,激活发送缓冲区TABLE中的数据。数据缓冲区的第一个数据指明了要发送的字节数,最多有255个字符的缓冲区。通信程序的设计需遵循一定的规则,例如,中断通信处理程序要短小精悍,要避免XMT与RCV指令在一个端口同时执行8。本设计采用主从方式通信,PC设为主机,PLC设置为从机。只有PLC接收到指令帧后,才可能根据接收数据情况发送反馈帧。为简化程序设计,PC机只发出读指令和写指令两种指令帧。若为读指令,PLC准备好发送数据后执行XMT指令;若为写指令,PLC先把数据写入指定存储区,准备好应答数据后同样执行XMT命令;若接收到错误帧(如校验错误及不能识别的命令),PLC准备相应标志数据执行XMT指令。主要代码如下:LDSM0.0MOVB9,SMB30/设置端口0为:9 600,N,8,1LDSM0.0/RCV指令初始化MOVB16#EC,SMB87/允许接收信息,使用SMB88,SMB89。MOVB83,SMB88/设置起始字符为SMOVB115,SMB89/设置结束字符为sMOVB+1000,SMW92/接收信息时间不能超过1 msMOVB30,SMB94/接收的最大字符数,这里设置为30RSMB87.2,1/复位SMB87.2,使其为0,忽略SMW92LDSM0.0ATCHRCVOVER,23/将0口接收完成中断事件连接到RCVOVER上LDSM0.0ATCHXMTOVER,9、/将0口发送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量检查月活动方案
- 见面礼仪活动策划方案
- 黄河鲤鱼活动方案
- 航空普测考试题及答案
- 贵州导游考试题及答案
- 光纤光学考试题及答案
- 股票高考试题及答案
- 工具钳工考试题及答案
- 各种注射考试题及答案
- 高职往年考试题及答案
- 医院死亡报卡培训课件
- catia考试图纸题目及答案
- pos机风险管理办法
- 2025年京东集团招聘笔试指南与面试技巧
- 起重机械定期检查与维护方案
- 2025年行业机器人边缘计算技术应用与场景分析
- 国际物流运输合同(标准版)
- 动物样品采集培训课件
- (2025年)医疗机构工作人员廉洁从业九项准则考核试题(+答案)
- 人工智能在幼儿语言教育活动中的应用
- 江苏省如皋市某中学2026届高三上学期一轮复习摸底考试英语试题(解析版)
评论
0/150
提交评论