甘肃西门子S7-200SMART模块代理价格
![](http://item.yiqi.com/pic/ConPic/2/637018277305846394447.jpg)
西门子S7-200 PLC与计算机远程通信系统的设计
在分布式数据采集与监测系统中,往往由远离控制ZX几公里、几十公里甚至数百公里以外的下位机(PLC)采集数据,并实时地送给上位控制ZX(PC),由PC对PLC进行远程监控。这对于一般的计算机串行通信口来说是无法完成的,必须采取模拟载波传输方式或者采用微波和卫星等无线传输方式,实现PLC与PC之间的远程通信。
从投资费用及性能价格比来看,大多数情况下还是采用模拟载波传输方式来实现远程通信。也就是说,通信双方各接入一个专用设备——调制解调器( Modem),借助于公用电话网(PSTN),采用异步Modem拨号方式进行数据通信。它将PLC送来的数字信号调制成模拟信号在电话线中传输,并在接收端将模拟信号还原成数字信号。本例对这钟方式下PLC与PC的远程通信问题进行介绍,其中PLC选用西门子的S7-200 PLC。
1.硬件连接
远程通信系统的硬件构成为:一台计算机作为上位机,一台S7-200 PLC作为下位机,两台调制解调器,一根PC/PPI电缆用于连接PLC和调制解调器。系统的总体结构如图10.41所示。
![](http://item.yiqi.com/pic/ConPic/2/17-34-09-95-1.jpg)
图10.41 系统结构图
采用西门子S7-200 PLC的开发工具初始化本地和远端调制解调器,把PC/PPI编程电缆的RS-232口接到调制解调器上,RS-485口接到PLC上,并设置PC/PPI编程电缆的工作模式:设置数据传输率为9600 bit/s,选择DTE和10位模式(若调制解调器为1l位,则选择11位模式)。
系统实现实时监控功能,分为上位机、下位机两部分。下位机PLC主要负责数据的采集和上传,运用STEP7-Micro/WIN进行编程。上位机负责对上传数据的处理、显示并作相应记录,可以采用Visual Basic6.0进行开发。
2.通信方式
![](http://item.yiqi.com/pic/ConPic/2/637018277065915318174.jpg)
前面几篇文章所述,S7-200 PLC为用户提供了灵活的通信功能。它可以提供3种通信方式,供用户选择。
(1)通过PLC开发商提供的系统协议和网络适配器,构成特定的公司内部网络。其特点是网络协议不公开,必须使用该厂商配套提供的支持相应协议的外设和上位机组态软件。如西门子公司PPI协议下的令Pai环网等。
(2)通过开放的工业现场总线,通过PLC内部集成端口或扩展通信模块,构成基于现场总线的集散控制网络。如西门子S7-200系列PLC可通过扩展通信模块CP232-8的PROFIBUS-DP通信口接入ROFIBUS现场总线网络。特点是通过总线的通信能力,可大大扩展PLC控制能力和范围。
(3)通过标准的RS-485串行通信网络和自定义或自主选择的通信协议,构成PLC及工控机的分布式网络。
本例中,S7-200系列PLC的通信口在自由口方式下工作,可以使PLC在程序员自行设计的通信协议下工作。
1.MODBUS协议
MODBUS协议是GOULD公司为工业控制而设计的一种工业通信和分布式控制系统协议,大量应用证明是一种可靠、有效的工业控制系统通信协议,得到包括西门子、Honeywell等众多硬件厂商支持,并广泛应用,其特点如下。
·是一种主从网络,允许一个主机和一个或多个从机通信,以完成编程、数据传送、程序上装/下装及其主机操作。
·MODBUS协议采用命令/应答方式,每一种命令报文都对应着一种应答报文。命令报文由主站发出,当从站收到后,就发出相应的应答报文进行响应。每个从机有一个惟一的地址,只有被访问的从机才会反应包含其地址的查询。也可采用广播式命令,在广播式的报文中使用地址0,所有的从机把它当作一个指令进行响应,但不发回应答报文。
·在Modbus系统中有两种有效的传输模式:ASCII(美国标准信息交换码)和RTU(远程终端装置)。RTU模式的传输格式是8个数据位,一个停止位,没有奇偶校验位。
·RTU发送模式仅靠模拟的同步信息来保持帧的同步,接收设备监视接收字符间的经过时间,如果3个半字符的经过时间后仍没有新的字符或没完成帧,设备就会冲掉该帧并设定下一个接收的字符为地址。
![](http://item.yiqi.com/pic/ConPic/2/637018276952189860972.jpg)
·当出现异常时,Modbus会发送一个含有从机地址、功能码、错误代码和错误检测字段的信息给主机,为了表明此应答是一个错误通知,功能码的高位被置成1。
本例采用MODBUS协议的RTU模式,系统间的数据交换类型由功能号(FCs)控制。
由于在数据读写中,对输入输出点和各类寄存器的操作均可转化为定义相应功能寄存器,并通过对这些寄存器读写而实现,所以功能03、16可对多个寄存器进行操作,能基本涵盖各类型读写操作功能。其帧格式如表10.16、表10.17、表10.18所示。
表10.16 功能号03的请求帧
![](http://item.yiqi.com/pic/ConPic/2/17-50-48-30-1.jpg)
表10.17 功能号03的响应帧
![](http://item.yiqi.com/pic/ConPic/2/17-51-07-91-1.jpg)
表10.18 功能号16的响应帧
![](http://item.yiqi.com/pic/ConPic/2/17-51-45-49-1.jpg)
2.PLC的通信程序
PLC通信程序遵循MODBUS协议,采用模块化的子程序结构。即整体功能由多个功能相对独立的子功能组合实现,每个子功能由若干个任务单一的子程序构成。
(1)通信总调度模块
通信总调度模块的作用是将PLC通信部分的功能归并为一个调用单元,作为一个功能模块提供给PLC的主程序。PLC在每次扫描中均执行这一模块,完成通信方面的处理工作。程序流程如图10.43所示。
模块设置一个通信超时标志,当请求帧尚未接收完毕,而后续字节超过20ms仍未到达,则断定通信出错。出错则丢弃本帧,调用通信初始化模块进行工作区的复位,并准备下一次的通信。
(2)通信初始化模块
PLC的通信以“接受请求帧一返回响应帧”的过程作为一个通信循环,每次循环之前均通过初始化模块对通信工作区中的各中间变量和标志进行复位操作,并将同步字、接收数据指针和发送数据长度的设置放在开机初始化中,在个扫描周期时执行。
本例串口设置寄存器SMB30的控制字为9,即采用自由口方式,数据传输率为9600bit/s,字符长度8位,无校验。
(3)通信寄存器刷新模块
通信寄存器是上位机程序同PLC进行数据交换的桥梁。PLC把其I/O点状态存入相应通信寄存器,作为发送数据前的准备。在PLC中,对于上传的状态数据.实时进行对应寄存器的刷新,以随时准备将数据提供给一卜位机。
本例上位计算机对PLC的远程监控问题。可以看出,远程监控就是指通过设在监控ZX的计算机对分布在现场的具有网络通信功能的异地设备进行远程监视与操作。远程监控系统能够对运行设备的状态信号、运行数据、故障类型实行实时远程动态监控,及早地预告和排除设备故障。
立足于现有电话网络,通过Modem拨号上网实现PLC与PC之间的远程通信,可以满足监控系统的要求,使远程监控ZX能够通过PLC读取自动化设备的实时运行信息,并能向PLC传送控制指令。
随着科学技术的发展,生产过程日益朝着高速、连续、集成与自动化方向发展,劳动力成本日益上升,传统的工业监控方式已不能满足现代工业生产的需要,远程监控系统得到越来越广泛的应用。PLC在远程监控系统中的应用也会越来越多,同时远程监控功能的实现也进一步拓展了PLC的功能和用途。
![](http://item.yiqi.com/pic/ConPic/2/637018276814284092864.jpg)
甘肃西门子S7-200SMART模块代理价格