1、1,LCU与上位机通讯,2,LCU与上位机通讯简介,我公司系统从结构来说一般分为两层,上位机与下位机。上位机从硬件构成来说一般由通用计算机构成,如PC机、工作站等,运行的软件平台一般为windows、unix。下位机从硬件构成来说则都是一些各厂家自己开发的硬件平台种类繁多,如各公司的不同的PLC,或如我公司自身开发的MB系列智能模件控制设备,其软件平台也因硬件不同而不同不互相兼容。将上、下位机溶为一体形成一个整体的就是相互间的通讯,通讯的作用就是将下位机采集的数据上行至上位机,同时将上位机的各种命令下行至下位机。以下篇幅就是对上、下位机间通讯的下位机侧实现的介绍。,3,1. 通信原理,从根本来
2、说,上、下位机间通讯就是两台电脑间数据交换,那也就是说它们符合标准的数据通信结构,分层较细。但从我们应用的角度简单的说可分为三层,物理层(实际物理通道 如网络、串口等)、底层规约(一般就下位机设备所支持的底层规约 如modbus规约、cmm规约等)、应用层规约(我公司自身的应用层解释规约 如modicon与NC2000通讯规约)。通过这三层,上位机从下位机处取得数据和事件记录,下位机则取得上位机的各类命令。一般情况下监控系统的通信模式为主、从式,上位机为主、下位机为从。即数据上行由上位机主动到下位机数据区取,数据下行是上位机主动将命令下发到下位机数据区。下位机被动的响应上位机的请求。,4,物理
3、层,现在一般常用的是以太网,拓扑结构为星形接线,物理通道长距离采用光纤,短距离采用双绞线。带宽一般为10M、100M根据下位机采用的设备不同而不同。在某些工程中也采用光纤环网的拓扑结构。一般情况下PLC为实现网络通讯需加装网络模件。 在个别工程或较老的系统中也采用RS232 串口通讯模式,上位机一般有当地工控机,拓扑结构为点对点,物理介质采用四芯屏蔽电缆加光隔。其缺点是速度较慢,不能组网,而且随着整个系统结构的变化已基本取消这种通讯模式。 在某些工程中也有采用特殊的通道,如AB的网络。,5,底层规约,底层规约此处指的是下位机所支持的基本数据交换规约,采用何种规约主要由下位机设备的选型和物理通道
4、的选型决定。如可采用规约,可采用规约。而同样是规约,物理层如果是串口则规约肯定是串口规约,物理层是网络则必须是规约。 底层规约很重要,它决定了上、下位机的通信方式,通信时的数据桢格式、数据校验方式、通信速率等,对于上位机编程很重要,但对于下位机而言,它一般由底层系统支持,只需硬件配置配置完成就可以,对于应用层程序编制无需关心。,6,底层规约,通过底层规约后,上位机就可以对下位机设备的区数据进行读写,而所谓的数据上行指的就是上位机就可以对下位机设备的区数据进行读操作,数据下行指的就是上位机就可以对下位机设备的区数据进行写操作。,7,应用层规约,本节所讲的应用层规约指的是我公司定义的对上下行数据区
5、的数据结构定义和解释方法。上行信文下行信文,8,1:上行信文,上行信文就是下位机将各类信息按照一定的格式组织在一起放在一个固定的寄存器区域由上位机读取。根据信息种类不同其组织方式也不同,主要有两类信文。,9,1.1、固定IO信文区内容主要是下位机所采集的各类的实时数据,包括、。状态、品质等数据。此类信文的组织格式是:信文1 信文2 信文N 00 00即一封信文内放一类数据,一封数据与一封数据头尾相连,内容是实时刷新的。最大长度余字。具体每一封信文的格式如下:正文长度(字)特征码正文,10,1.2、事件区内容主要是下位机平时运行时所产生的各种事件记录,包括控制记录、调节记录、自检记录等。此类信文
6、的组织格式是最大长度为封信。字长。信文1 信文2 信文N 00 00具体每一封信文的格式如下:03特征码日 时分 秒 动作性质控制对象 命令来源信息码,11,事件区结构与信文区相同,但其内容并不是实时刷新,而是循环压栈的。即每产生一封新的信文,就将其放在上一封信的尾部。当产生的信文多余封时就将新信文从第一封信的位置重新放起,如此循环反复。平时除将信文放入事件区,还需将当前的压栈指针上送上位机,使其可以知道最新的事件地址以记录事件。对于上行数据下位机程序所需作的工作是编制程序将各类数据按照规定的格式将数据组织起来,所用的主要编程功能块是变址寻址指令。,12,2:下行信文,下行数据是指上位机将命令
7、按一定的格式写到下位机的一个固定的寄存器区,下位机平时不停的扫查这个区域,一旦发现有内容就将其规定的格式解释,校验,如合理正确就进行相应的后续操作。下行数据区的总数据格式如下信文1 信文2 信文N 00 00,13,下行信文中具体每封信的格式不同,但典型的格式如下: 开出动作命令 2 命令来源代码 LCU号 点号 动作时间(毫秒)对于下行数据下位机程序所需作的工作是编制程序下行数据按规约规定的进行解释,对其合理性和条件进行校验和进行后续操作。所用的主要编程功能块是变址寻址指令。,14,程序调试,系统中较复杂的问题有时无法判断是上位机的问题还是下位机的问题,这时较常见的方法就是通过上下位机的通信来检查。,15,程序调试检查,:通信本身是否正常。)物理通道的情况,可通过检查网络、串口状态来检测。)底层规约是否正常,可通过通信状态灯或监视来往的底层数据检测。,16,程序调试检查,:通信内容是否正常。当上位机反映数据和实际不一致时可联机检查下位机的上送信文内数据是否正常,如信文内容就不正确则说明下位机程序有错,反之则是上位机的问题。而上位机下行令不正常时可检查下位机的下行信文内数据是否正常如信文内容就不正确则说明上位机程序有错,反之则是下位机的问题。,