1第一章上位机与下位机1.1上位机与下位机的概念上位机和下位机,一般是指集中控制系统中的PC机和现场的工控机。上位机(PC机)主要用来发出操作指令和显示结果数据,下位机(工控机)则主要用来监测和执行上位机的操作指令。举个例子,蓄电池生产中,需要按工艺要求进行充电和放电。现场有许多工位,各自配有智能的充放电设备,它们就是“下位机”。整个车间有一台PC机来集中管理,这就是“上位机”。上位机软件一般用高级语言编程,如BASIC、C,有比较丰富的图形界面。下位机的编程,依所用的MCU而异,以汇编为主。上位机和下位机之间的通讯,常见是RS-232,RS-485,当然还有很多,但都是串行方式。特别是“一对多”的RS-485用得最普遍。上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。另外,上位机和下位机是通过通讯连接的“物理”层次不同的计算机,是相对而言的。一般下位机负责前端的“测量、控制”等处理;上位机负责“管理”处理。下位机是接收到主设备命令才执行的执行单元,即从设备,但是,下位机也能直接智能化处理测控执行;而上位机不参与具体的控制,仅仅进行管理(数据的储存、显示、打印......人机界面等方面)。常见的DCS系统,“集中-分散(集散)系统”是上位机集中、下位机分散的系统。在概念上,控制者和提供服务者是上位机.被控制者和被服务者是下位机.也可以理解为主机和从机的关系.但上位机和下位机是可以转换的.两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。里面会举大量例子。一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信2号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统.在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的,两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。里面会举大量例子。一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。上位机一般为PC机,而下位机一般为MC机。31.2RS-232与RS-485在数据通信,计算机网络以及分布式工业控制系统当中,经常需要使用串行通信来实现数据交换。目前,有RS-232,RS-485,RS-422几种接口标准用于串行通信。RS-232是最早的串行接口标准,在短距离(15M),较低波特率串行通信当中得到了广泛应用。RS-232是美国电子工业协会(895)正式公布的串行总线标准,用来实现计算机与计算机、计算机与外设之间的数据通讯,在异步串行通讯中得到了广泛的应用,它适合于距离不太远或者带调制解调器的场合。其后针对RS-232接口标准的通信距离短,波特率比较低的状况,在RS-232接口标准的基础上又提出了RS-422接口标准,RS-485接口标准来克服这些缺陷。下面详细介绍RS-232,RS-422,RS-485接口标准。RS-232串口标准是种在低速率串行通讯种增加通讯距离的单端标准。RS-232采取不平衡传输方式,即单端通讯。其收发端的数据信号都是相对于地信号的。所以其共模抑制能力差,再加上双绞线的分布电容,其传输距离最大约为15M,最高速率为20KBPS,且其只能支持点对点通信。针对RS-232串口标准的局限性,人们又提出了RS-422,RS-485接口标准。RS-485/422采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A,B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使用双绞线,又是差分传输,所以又极强的抗共模干扰的能力,总线收发器灵敏度很高,可以检测到低至200mV电压。故传输信号在千米之外都是可以恢复。RS-485/422最大的通信距离约为1219M,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。RS-485采用半双工工作方式,支持多点数据通信。RS-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。如果需要使用星型结构,就必须使用485中继器或者485集线器才可以。RS-485/422总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。1.2.1485总线布线规范及调试1)485信号线可以和强电电源线一同走线。在实际施工当中,由于走线都是通过管线走的,施工方有的时候为了图方便,直接将485信号线和电源线绑在一起,由于强电具有强烈的电磁信号对弱电进行干扰,从而导致485信号不稳定,导致通信不稳定。42)485信号线可以使用平行线作为布线,也可以使用非屏蔽线作为布线。由于485信号是利用差模传输的,即由485+与485-的电压差来作为信号传输。如果外部有一个干扰源对其进行干扰,使用双绞线进行485信号传输的时候,由于其双绞,干扰对于485+,485-的干扰效果都是一样的,那电压差依然是不变的,对于485信号的干扰缩到了最小。同样的道理,如果有屏蔽线起到屏蔽作用的话,外部干扰源对于其的干扰影响也可以尽可能的缩小。3)选择使用普通的超五类屏蔽双绞线即网线就可以。4)485布线可以任意布设成星型接线与树形接线。485布线规范是必须要手牵手的布线,一旦没有借助485集线器和485中继器直接布设成星型连接和树形连接,很容易造成信号反射导致总线不稳定。很多施工方在485布线过程中,使用了星型接线和树形接线,有的时候整个系统非常稳定,但是有的时候则总是出现问题,又很难查找原因,一般都是由于不规范布线所引起的。5)485总线必须要接地。在很多技术文档中,都提到485总线必须要接地,但是没有详细的提出如何接地。严格的说,485总线必须要单点可靠接地。单点就是整个485总线上只能是有一个点接地,不能多点接地,因为将其接地是因为要将地线(一般都是屏蔽线作地线)上的电压保持一致,防止共模干扰,如果多点接地适得其反。可靠接地时整个485线路的地线必须要有良好的接触,从而保证电压一致,因为在实际施工中,为了接线方便,将线剪成多段再连接,但是没有将屏蔽线作良好的连接,从而使得其地线分成了多段,电压不能保持一致,导致共模干扰。51.3上位机与下位机的连接由于我们是要设计远距离的并基于485总线的灌溉系统监控.然而,pc机与mc机都一般与RS-232连接,所以我们要用到RS-485进行转化。总的设计图如下:(上位机与下位机的连接简图)RS-232与RS-485串行接口的硬件电路如下:上位机RS-232RS-485RS-485RS-232下位机6硬件电路在硬件上,需要设计一个符合RS-232通讯标准的驱动电路来实现与PC机的接口,此电路中,与PC机接口的芯片为MAX232(也可以使用其它相兼容的芯片如ICL232、TC232、AD232等)。MAX232功耗低,集成度高,且芯片内部具有升压电路和极性转换电路,在单5V供电条件下,即可实现TTL电平与RS-232电平的相互转换,还省了12V电源。此电路中电源VCC由计算机串口提供,当RS-232串口7脚电压升高时,通过二极管给C5(迅速充电,稳压管W1用于使电压范围稳定在5V左右。RS-485接口芯片很多,它们可以很方便地实现RS-485串行通讯接口,这些芯片除了一些附加功能不一样外(如抗雷击、低功耗等),其主要的收发功能和电路构成基本一致,本方案选用了性能较好的接口芯片MAX485。MAX485为8个管脚,DIP封装,1脚RO为数据接收端,2脚RE为数据接收允许端,低电平有效;3脚DE为数据发送允许端,高电平有效;4脚DI为数据发送端;6、7脚为电流环回路端;它把一个三态差分线路驱动器和一个差分线路接收器组合在一起,并共用A、B两根总线。它的传输方向由DE和RE所控制,当DE=1时,驱动器优先,可进行数据发送,此时接收器呈高阻状态;而当RE=0时接收器优先,可进行数据接收,此时驱动器程高阻状态。7