全国服务热线 15221406036

6ES7211-0BA23-0XB0多库发货

更新时间:2024-05-08 07:10:00
价格:请来电询价
联系电话:
联系手机: 15221406036
联系人:聂航
让卖家联系我
详细介绍

6ES7211-0BA23-0XB0多库发货

西门子开发的SIVACON低压开关柜。由此而能方便的能够实现遥控、遥测、遥调,实现的能量管理。下面就此而作简单介绍。


系统的功能
通过监控硬件设备的运行信息,在其故障报警和事故状态下能提供应有的处理方案及手段,确保设备的安全运行,从而实现配电房无人值守。同时工程师也能通过他的专用口令对配电设备进行远程的参数设置。

系统的组成
能量管理系统是具有中央监视调度功能的控制系统。若此系统是基于Profibus-DP,那么此系统就具有了数字化,分布式数据采集,分层数据传输,各种显示方式等优点。而在此系统中,SIVACON低压开关柜好比是各个系统中的耳、鼻、目、和手脚。而上位监控就好比是大脑,Profibus-DP成了血管,神经,各个系统由以下组成:
中央计算机
1) 硬件配置要求
作为监控工作站的中央计算机建议采用PII350MHz处理器,256MB内存,8G硬盘,1。44MB软驱动,24速CD—ROM,语音卡及扬声器,21inbbbA显示器(显示分辨率1280×1024),CP5611PROFIBUS接口板(根据需要以太网接口板),安装bbbbbbs95/98/NT4.0中文版操作系统。

2) 功能
监视监控站具有强而有效的图形显示功能,能显示出平面图,流程图,电器单线图,中低压柜正视图等。同时还具有友好的汉化人机接口界面,采用图形,图标方式,使管理人员方便的使用鼠标和键盘对系统进行管理,控制通过监控画面的切换,进行数据查询,状态查询,数据储存,控制管理等各种操作。通过监控站,还能进行远程监控,对远程站的设定值进行再线的远程修改。监视工作站支持三维图形显示和连机帮助功能,显示画面无极缩放,具有画面滚动、漫游及导游坐标等功能,画面能分层显示,每一层画面均有适当比例,并能清楚的显示每一设备的工况和每一结点的参数。

3) 监控软件SIMATIC WinCC
SIMATIC WinCCTM是SIMATIC在PC基础上开发的操作员监控系统。WinCC代表bbbbbbs Control Center(视窗控制中心)。换句话说它在bbbbbbs标准环境中享有各种便利功能,确保安全可靠的控制生产过程,WinCC具有各种有效功能适用于控制自动化过程,适合在个人计算机上使用的人机界面,WinCC的特性之一是全面开放,他可以容易的结合标准的用户程序生成人机界面,准确的满足实际要求。各系统集成商可用WinCC作为其系统扩展基础,通过开放接口开发自己的应用软件。
WinCC包含以下可选软件包:用户文档,服务器软件包,冗余软件包,通讯开发工具(CDK),开放开发工具(ODK),过程控制软件包。
WinCC应用程序:图形处理,历史数据归档,趋势曲线,报警处理,事件处理,报表打印,用户权限。

可编程序控制器PLC
西门子SIMATIC是适应性较强的模块化中小型PLC系统。其模块化,无排风扇结构,易于实现分布,组态灵活等特点使它成为经济方便地实现小规模控制任务的产品。S7-300PLC在各种机械机床制造,电子电器等各类控制任务上有广泛的应用,受到用户的信任和推崇。S7-300系列PLC具有多种性能级别的CPU和各种丰富的模块以适应不同的应用场合,同时也为用户灵活多样的配置系统提供了可能。摸板模块化结构充分考虑了系统的扩展,当任务规模扩大时,可以随时使用附加的模块对PLC进行扩展,以小的代价实现系统升级。

在此系统中,PLC作为主站不断采集所有从站的技术数据。经过处理管理中央计算机的读取显示。同时也不断的收取中央计算机对配电设备的命令,并传达到各个配电设备(从站)

Profibus 现场总线
Profibus是一种符合IEC61158标准的现场总线可以用于各种工业自控场合。例如,冶金、华工、制药、玻璃造纸等各种领域。

Profibus作为现场总线具有以下特点:开放性好(800~900厂商的产品支持总线):传送速度快,可达12M;节省现场布线,降低工程成本;配置灵活。

SIVACON 低压开关柜
SIVACON 低压开关柜是经济的,满足用户需求的,通过型式实验的低压开关设备。每一个开关柜都是根据拥护的需求,按标准化,系列化制造的部件组装生产。所有的组件都经过型式实验,并且具有较高的质量。SIVACON低压开关柜适用于各种功率等级,从动力中心(7400)通过主配电设备和分配电设备直至马达控制中心,可采用固定式、插入式、也可采用抽出式设计。

正是上述SIVACON低压开关柜的结构决定了在SIVACON低压开关柜中加上Profibus现场总线,实现通信功能及遥控、遥测、遥调。

1) 在SIVACON 低压开关柜中选用的断路器
在SIVACON 低压开关柜中选用的塑壳断路器为3VF系列和3VL系列产品。框架式断路器则根据电流的大小而选择。当电流小于等于3200A时,选用3WN6系列产品。当当电流在3200~6300A之间时,选用3WN1系列产品。下表将列出这些断路器配上相应的通讯组件后能够传送和接收的一些数据。

2) 多功能测量仪表
多功能测量仪表用于测量和监视3相交流电网中所有的重要参数,可以代替所有原来的低压主配电盘中安装的模拟测量仪器,并且有PROFIBUS,另外测量仪的一个突出特点为其可以将特殊值及自由编程设置的高低界值的超过情况进行储存并读取。
通过5A或者说1A的互感器可以对电流进行测量。测量值通过AD变成输入微处理器,所有的电网额定值会被连续的计算,平均值、高值和低值会根据需要在三个显示中显示。4位的点阵式显示器会将数值和操作指导以德文或英文显示。
运用了完全通过型式试验、具有通信解决方案的SIVACON低压安全柜,为整个能量管理系统的安全运行奠定了扎实的基础。基于Profibus现场总线的能量管理监控系统能够友好的人机界面,方便操作。强大的数据采集、归档处理,以及警报、报表功能,能够及时的发现、诊断故障,并有利的帮助排除。大大地减少故障的发生率,以及维修的时间,有效的保证能量的供应。

引 言
制丝生产线是卷烟生产的道工序,包括叶丝生产线和梗丝生产线,其目的是将复烤厂加工后的烟叶及烟梗分别进行回潮、加料、切丝、烘丝,然后将加工后的烟丝按照工艺要求进行掺配、加香,生产出适用于卷烟的成品烟丝。制丝线控制系统的稳定、可靠运行是保证烟丝质量的关键。
上海高杨国际烟草有限公司的制丝线,是20世纪90年代初从德国引进,全线五套可编程控制器采用的是Siemens公司的S5——135U系列产品,各PLC配有一台段监控机,段监控机的CP528处理器与PLC通信,只能一对一的操作。在控制系统改造中,以烟草行业要求的准确配方、均匀掺兑、jingque配料和质量稳定,提高信息化水平为目的,从设计的可靠性、先进性、开放性、可扩展性、网络化出发,采用现场总线技术分布式控制和以太网相结合,完成制丝线控制系统改造的设计、实施。
制丝线控制系统概述
在上海高杨国际烟草有限公司制丝线控制系统改造项目中按照分散控制、集中管理、数据共享的原则,采用了信息层、控制层和设备层(传感/执行层)三级网络结构,实现生产线控制和管理的管控一体化系统。
根据用户要求将系统中的S5PLC升级为S7—400PLC,使用现场总线控制方案,选用ET200S分布式I/O,ET200S结构紧凑,模块无间隙安装,扩展和更换方便、直接,可以热插拔。7.5kW以下除变频器、软起动器控制以外的电动机均采用DSle—x型高性能电动机起动器控制。将变频器、电动机起动单元、现场I/O水分仪、流量计、电子秤联入Profibus—DP网,通过网络传递数据信息,实现数据采集、参数设定等数字信息交换及过程控制。同时各PLC配以CP443—1以太网通信模块,连接到带光纤口的Siemens OSM ITP62工业以太网交换机,挂入光纤环网,各PLC系统之间以及PLC与监控机之间通过抗电磁干扰能力强的100M光纤环网连接。监控机的监控软件选用Inbbblution公司的iFIX3.5。同时为了方便现场巡检人员的巡视检查,在叶片处理段、梗处理段、叶丝处理段放置四台15in现场监控站(MP370)。
由于选用的OSM集成基于Web管理(WBM),可通过IE浏览器观察网络上各个交换机的状态,根据登录权限还可对之进行相应操作。这样便于远程监控控制系统通信状态。
根据工艺要求,电控系统改造全线划分为五个工艺段、五组PLC:叶片处理段ZS1、叶丝处理段ZS3、烟梗处理段ZS5、梗丝处理段ZS6、风力喂丝段ZS4。
制丝线主工艺流程如图1所示。

制丝线控制系统从上到下分为数据管理层、集中监控层、设备控制层,网络结构如图2所示。

图2 上海高杨国际烟草有限公司制丝线控制系统网络结构图
1 数据信息管理层
硬件组成:由上位管理计算机、打印机、交换机等组成。
软件平台: 微软SQLServer2000数据库、Visual Basic开发软件和iFIX iClient。
信息交换网络:TCP/IP以太网。
功能:实现生产任务的调度下发;现场生产情况的监测;报表的统计、保存、查询、打印;储柜储存物料的信息查询;PLC控制柜的状态监测;关键工艺参数的历史变化趋势图等。本层向上与厂管理系统如SPC系统进行数据通信,向厂领导和各职能部门发布生产数据,为厂里的决策提供依据;向下通过控制网络与控制执行层和设备层进行数据通信,对车间生产线进行监控,以实现集中监控和管理。
2 集中监控层
硬件组成:采用分布式、客户端/服务器结构,由两台冗余的iFIX SCADA服务器,一台iFIX SCADA的本地iClient客户端,构成集中监控系统。分别对制丝叶线、梗线监控。
软件平台:iFIX SCADA/iClient监控组态软件。
信息交换网络:光纤环行工业以太网、TCP/IP以太网。
功能:接收生产管理上位管理机发出的任务(批次与配方参数),发送至设备控制层各相应生产段的PLC,集中指挥控制生产线的运行,同时将生产线设备的运行情况、实时工艺、批次统计数据上传生产管理上位管理机。
3 设备控制层
硬件组成:包括PLC控制柜组、现场分布I/O箱、现场监控站、现场执行机构和传感器检测机构。
软件平台:STEP7 V5.3编程软件和WinCC Flexible组态软件。
信息交换网络:现场总线ProfiBus—DP、光纤环行工业以太网。
功能:实现生产线开关量、模拟量控制操作,设备运行状况和生产线工艺数据采集、显示,参数设置、设备故障显示等。
4 控制系统实现的主要功能和特点
(1)管理功能 监控机有系统管理、安全权限管理、配方管理、工艺参数管理等功能。操作人员或系统管理人员进入iFIX实时监控系统必须先登录,通过不同用户身份的安全级别进行权限控制,从而保证系统的安全、正常操作,防止越权操作。
(2)批次任务、工艺参数管理功能 由于烟丝不同配方对工艺参数有着不同的要求,所以可在监控机本地修改配方参数和工艺参数。
(3)全线集中监控功能 监控机图形界面完全按照生产线工艺流程布置,具有生产线设备关键单机、分片或全局工艺流程运行状态显示、工艺参数和设备参数的实时显示;重要参数的设定值、实际值实时显示,以便分析和追踪产品的质量;在任一台监控机上可对制丝线上所有工艺段进行控制操作,这种一对多的模式,使操作更灵活、方便。
(4)生产控制功能、PID功能手动、自动控制方式转换,实现生产线各工艺段设备的单个运行和生产运行控制,提供储柜进/出料选择、加料(香)罐选择,单机设备控制(主要单机设备控制如烟片回潮机、加料机、烘丝机等需单独预热的起动、停止);实现生产过程中各主要工艺参数的jingque控制。
对需要调节的润叶筒温度、增温增湿机压力、加香流量等均进行PID调节,并且回路参数可实时修正。
其中,掺配加香控制精度是用户日常的考核指标,直接关系到成品烟丝的质量。根据实际的叶丝流量,与配方参数里设定掺配的辅料比例,分别控制梗丝、薄片、膨丝等电子秤的流量,再根据所有烟丝的实时流量之和及配方参数里预定的香料配比量,计算出设定加香流量,经PID回路运算后,控制加香泵变频器的速度来调节加香量,达到要求的香料配比量。由于电子秤及加香流量计上Profibus—DP网,进行数字信息交换,相比改造前的模拟量输入、模拟量输出模式,采集信息更准确,控制精度有明显提高。现以一班五批次计算,加香比例控制精度小于0.4%,高于用户的要求。

(5)生产报表、统计功能 每一批任务完成自动形成生产报表,包括任务批次号、使用的配方参数、开始和结束时间,重要工艺指标的大、小、平均值及标准偏差等统计参数。便于评价产品质量。
对于过程中的累计量,如加香总量、叶丝、膨丝等掺配总量既有每个批次结束自动清零,也有“复位总量”功能键随时清零(便于调试时使用)。明显的是,由于全线九台电子秤通过EM277上Profibus—DP网,实现了远程自动清零,不像改造前每批任务结束需要操作工在电子秤控制柜本地复位总量,尤其当同牌号换批时,容易造成累计量不准确。新控制系统的使用既减轻了操作工的劳动强度,又达到准确计量的目的。
(6)在线诊断和报警功能 系统具有分段起动允许条件查询功能、单机设备辅助功能起动允许条件查询功能,控制网络和总线故障诊断。
各工艺段均有完善的故障报警功能,可对报警进行确认和复位,并通过不同颜色区分报警的状态,是已正常,还是仍故障。
(7)远程复位电动机起动器功能 各工艺段在监控机画面上都有“复位馈电器”功能键,当有电动机过载,可进行远程复位;由于使用控制和检测诊断功能更加丰富的高性能电动机起动器,电动机运行信号的判断通过检测是否有连续的电流来实现,而不是仅仅检测接触器是否吸合,使判断结果更为可靠;可以在线监视电动机电流,便于了解电动机状况。
(8)上位机与PLC时间同步功能 由于有任务管理,每批任务完成都有生产报告,而且制丝线工艺段较多,每一段由一个PLC控制,所以上位机与几个PLC之间就需要时间同步。
考虑到烟厂生产特点,采用功能键形式实现时间同步:在上位机作一功能键用于PLC时间同步,同时上位机将本机的系统时间送入PLC的时间接收地址(年、月、日、时、分、秒,年份只取后两位)。PLC判断时间同步位状态为1,则进行时间格式转换,并调用SFC0设置PLC系统时钟一次,实现与上位机时间同步。
(9)基于Web管理(WBM),远程监控网络上各个交换机通信状态,包括各个端口的通信情况。
结束语
,升级改造后的上海高杨国际烟草有限公司制丝线控制系统在网络硬件和软件控制思想方面都有一定的先进性。现场总线Profibus和以太网技术的使用,既保证了系统运行的安全可靠,又实现了数据共享。改造前每台段监控机,只能一一对应监控一个PLC,现在每台段监控机都可以监控全线五个PLC;现场四台15in现场监控站(MP370),全面实时显示工艺流程运行状态、工艺参数和设备参数,操作上的灵活、方便是显而易见的。经过生产证明:整套控制系统工作可靠,运行状态良好,有完善的生产管理功能。此次升级改造,改进了原有的一些工艺和设计上不合理的部分,且便于系统扩展,经济和技术效益显著,得到用户的好评。

COM(Component bbbbbb Model)组件技术是构造二进制兼容软件的规范,通过它可以建立能够相互传输数据的组件,其服务器-客户机结构非常适合工控软件应用程序的开发。由于工控软件不仅包括PC机上的HMI(人-机界面)程序,还包括与各种基于ISA或PCI总线的数据采集卡进行数据交换的程序,这部分程序对开人员的硬件水平要求较高,而且开发难度较大,与HMI程序是相互独立的,所以可以把工控软件分成两部分,即把HMI程序作为客户机端程序,把与硬件进行数据交换的程序作为服务器端程序。基于这种思想,本文将服务器-客户机结构应用到现场总线控制系统的组态软件中,着重介绍客户机和服务器的功能及实现。首先介绍现场总线控制系统的组成。

1 系统组成

现场总线控制系统主要由PC机、ISA或PCI总线智能适配器、智能测控模块、组态软件、HMI软件、COM服务器、用户软件等构成。

现场总线系统中所有信息的传递都是双向的,COM服务器介于智能适配器和上位机软件之间,负责完成数据的传输。上位机软件相当于客户机端应用软件,它使用COM服务器提供的接口来操作适配器,对适配器进行初始化及向特定单元写入和读出数据。

由于在bbbbbbs保护模式下不能直接访问存储器,所以需要编写VxD驱动程序,将物理地址转换成线性地址,然后COM就可以象使用DLL一样调用VxD的函数,完成对ISA或PCI总线智能适配器的操作。

从测控模块到上位机软件自下而下的数据传输完成了用户对测控模块的监测;而上层软件通过COM将数据送往适配器,再由适配器送往测控模块,实现了用户对测控模块工作参数的设置及工作状态的管理。图1给出了系统软件结构框图。

2 组态软件的功能

现场总线控制系统组态软件是一套基于bbbbbbs 98和bbbbbbs 2000平台(或更高版本)、用于快速构造和生成上位机监控系统的组成软件,它提供了从数据采集到数据处理、远程控制、报警处理、报表输出等实际工程问题的完整解决方案。它使用COM服务器提供的接口与适配器进行数据交换,是COM客户机端的程序。

3 COM组件技术

组件是完成一定功能的软件块,可以被其它程序使用,而且容易替换。为了使每个人编写的组件具有可移植性,必须建立一个标准,保证其兼容性和可互换性。COM正是这样一种标准,遵循COM规则就可以建立能够相互交换数据的组件。

在现场总线控制系统中,COM组件服务器负责组态软件等上位机软件与智能适配器之间的数据传输,因为适配器通过CAN现场总线与测控模块连接,所以对适配器的操作就是对模块的监测与控制。

COM服务器提供的接口中有适配器初始化、模块检查、向模块发送数据及读取模块数据等函数。下面着重介绍数据发送接收模式及如何编写这4个有代表性的函数。

3.1 适配器初始化函数

只有适配器初始化成功后,才能进行其它操作。由于在bbbbbbs保护模式下不能直接访问适配器,COM程序需要调用VxD程序将存储对应的物理地址转换成线性地址指针lpBaseAddress,这样对适配器的操作就转换成对以该指针为首地址的数组的操作。向这个数组的0x3F0、0x3F1和0x3F8单元分别写入上闰机节点号以及适配器与模块间的通信波特率和适配器程序规定的命令字0xC6(表示适配器初始化),等待几十ms后,如果适配器接收到上面的数据并做出适当的反应,它会将0x3F8单元清零,这就表示初始化适配器成功;如果该单元不为零,则初始化失败。

3.2 数据传输格式

适配器初始化成功后,就可以同它交换数据了。下而简单说明一下发送数据和接收数据的格式。

适配器初始化得到的线性地址指针lpBaseAddress的1~5单元分别存放上位机节点号、模块节点号、保留字、发送或接收字节长度及模块操作的命令字。lpBaseAddress[6]~lpBaseAddress[256]存放所要发送的数据;从lpBaseAddress[0x106]单元开始存放接收到的数据,lpBaseAddress[0x3F8]存放操作适配器的命令字,适配器根据这个单元内容进行处理,如果是0xC6,则初始化适配器和模块上的CAN控制器;如果是0xC7,则将数组里的数送给模块上的E2PROM,模块收到数据后根据lpBaseAddress[5]的命令字进行相应处理;如果是0xB0,则按照接收到的数据配置模块工作状态;如果是0xA5,则将此时的测量值送到适配器上,由COM程序读出。

3.3 模块检查函数

适配器初始化成功后,还要检查适配器与下面的测控模块是否连接好,或者是否存在组态软件要组态的模块,也就是要进行模块检查操作。模块检查的命令字是0xAD,向数组的1~5单元分别写入上位机节点号、模块节点号、保留字、发送数据长度和模块检查命令字0xAD,向0x3F8单元写入0xC7(表示向适配器写入数据),等待几十ms后,如果0x3F8单元清零而且0x100单元被置为0xAA,表示该模块存在而且可以通信;否则,表明该模块不存在或者硬件上有问题。

3.4 写适配器数据函数

在确定了网络中存在哪些可通信的模块之后,就可以向它们发送数据并进行配置。为了实现向适配器发送数据,总共编写了4个函数、SendData([in]BYTE SendBuf[256])、SendFinish([in]BOOL bFinish)、FinishQuery([out]BOOL*bFinish)和ReceiveResult([out]BOOL *bSendFinish)。SendData负责把一个模块所需要发送的数据以数组的形式放到服务器的一个二维数组(Room[64][256])里,每个模块的数据作为一行。由于向适配器发送数据后,要等待一段时间判断模块是否接收成功,所以SendFinish中开启辅助线程来发送数据并等待结果,这相可不占用COM主程序的时间,使客户调用接口函数后能立即返回,执行其它操作。FinishQuery查询数据发送是否结束。ReceiveResult弹出一个非模式对话框,显示哪些模块接收到数据,哪些没有。

3.5 读适配器数据函数

除了向适配器发送数据,还可以从适配器上读取模块传上来的数据。读取数据的命令字是0xA5。实现该任务的函数是GetPV([in]BYTE bDesNode,[out]float value[8]),个参数是模块节点号,第二个参数是返回的测量值数组。

这里,COM是用ATL编写的本地服务器,COM对象的线程是套间线程。接口定义了6个函数,COM程序流程图如图2所示。

COM对象接口的函数声明以及适配器初始化的程序如下:

COM接口定义:

interface INCardWork :IDispatch

[id(1),helpbbbbbb("适配器初始化函数,返回值为是否成功")]

HRESULT NcardInit([in]BYTE

bSrcNode,[in]BYTE bIntrAdd,[in]BYTE bRate,[in]long bSegmantAdd,[out]BOOL *flag);

[id(2),helpbbbbbb("将客户端传送的数组赋值给Room[][]")]

HRESULT SendData[in]BYTE SendBuf[256]);

[id(3),helpbbbbbb("启动多线程")]

HRESULT SendFinish ([in]BOOL bFinish);

[id(4),helpbbbbbb("此函数返回值表示数据是否已向下位机发送完毕,同时可显示哪些模块未被配置,通常在此函数前先用FinishQuery([out]BOOL*bFinish)查询发送是否完毕")]

HRESULT ReceiveResult([out]BOOL *bSendFinish);

[id(5)],helpbbbbbb("此函数返回值表示数据是否已向下位机发送完毕,“真”表示发送完毕")]

HRESULT FinishQuery([out]BOOL *bFinish);

[id(6),helpbbbbbb("网络检查,用来在发送数据前检测是否有该节点存在")]

HRESULT NetCheck[in]BYTE sour,[in]BYTE des,[in]BYTE type,[out]BOOL *flag);

[id(7),helpbbbbbb("读取模块的测量值")]

HRESULT GetPV([iv]BYTE bDesNode,[out]float value[256]);

适配器初始化函数:

#include 

#include "winioctl.h"

//包含其它头文件

……

STDbbbbbbIMP CNCardWork::NcardInit(BYTE bSrcNode,BYTE bIntrAdd,BYTE bRate,long bSegmentAdd,BOOL *flag)

NcardCtrl cardctrl; //NcardCtrl类的函数调用VxD函数

exbSrcNode=bSrcNode; //给上位机节点赋值

exbRate=bRate; //下位机与适配器的通信波特率

BOOL transfersign; //初始化是否成功标志

DWORD dwSegmentaddress=bSegmentAdd;//适配器段地址

HANDLE hDevice=NULL; //指向线性指针对句柄

LpBaseAddress=(PBYTE)cardctrl.MapLinearAddress(dwSegmentaddress,0x400,hDevice);

//调用VxD函数,获得指向ISA总线物理地址的线性地址指针

cardctrl,UnMapLinearAddress(lpBaseAddress,hDevice);

//关闭VxD

//调用适配器初始化函数

_outp(0x310,0x01); //打开邮箱锁

lpBaseAddress[0x3F0]=bSrcNodeNumber;//上位机节点号

lpBaseAddress[0x3F1]=bRate; //波特率

lpBaseAddress[0x3F8]=0xC6; //适配器初始化命令字

DrvDelay(20,false); //延时20ms

………… //初始化后其它操作

_outp(0x310,00); //关闭邮箱锁

return S_OK;

4 虚拟设备驱动程序

VxD是虚拟设备驱动程序(Virtual Device Driver)的缩写,中间的x表示某一设备。它能够无限制地访问所有硬件设备、自由地检测操作系统的数据结构(如描述符和页表)以及访问任何内存位置。

本文中,VxD将ISA总线对应的物理地址转换成段线性地址,供应用程序使用。VxD的开发工具是VtoolsD,转换时用的函数为MapPhysToLinear。以下是部分程序代码:

//定义结构体

typedef struct _MapDevRequest

PVOID mdr_PhysicalAddress;DWORD mdr_SizeInBytes;

PVOID mdr_LinearAddress;WORD mdr_Status;

}MAPDEVREQUEST,*PMAPDEVREQUEST;

#include

//包含其它头文件

…………

bbbbbS pDIOCbbbbbs

PMAPDEVREQUEST pRea; //自己定义的结构体

switch(pDIOCbbbbbs->dioc_IOCtlCode)

case DIOC_OPEN:

case DIOC_CLOSEHANDLE:break;

case MDR_SERVICE_MAP:

pReq=*(PMAPDEVREQUEST*)pDIOCbbbbbs->dioc_InBuf;

pReq->mdr_LinearAddress=MapPhysToLinear

(pReq->mdr_PhysicalAddress,pReq->mdr_SizeInBytes,0);

if(pReq->mdr_LinearAddress==NULL)

pReq->mdr_Status=MDR_STATUS_ERROR;

else

pReq->mdr_Status=MDR_STATUS_SUCCESS;

break;

case MDR_SERVICE_UNMAP:break;

default:

return ERROR_INVALID_FUNCTION;

return DEVIOCTL_NOERROR;

在现场总线控制系统中使用COM组件技术,不仅可以使数据传输部分的功能独立于客户端程序,减小开发难度,而且使其可以被任何支持二进制代码的程序如Excel电子表格等直接调用。当系统中采用服务器和客户端方式时,代码更加易于维护。即使要升级服务器端程序,只要接口不变,其客户端程序也完全不需要修改,大量后续工作被减轻。象服务器端一样,客店端也只需关心服务器的接口,而不必考虑其如何实现数据交换。也就是说,COM服务器或客户机中的一端功能发生改变,只要其接口保持不变,另一端不需修改就可以工作。本文所介绍的技术已在胜利油田某注水站等实际工程项目中得到成功的应用。



没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com