时间:2023-03-13 11:23:40
引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇计算机控制论文范例。如需获取更多原创内容,可随时联系我们的客服老师。
(一)网络化
计算机网络技术的迅速发展,使得网络在计算机控制系统的应用更加深入,应用规模也发生了变化,使得一般回路控制系统的特点在网络化过程中产生了质的改变,机械制造业企业也在逐步使用网络化的控制系统,网络技术的现场应用改变了这一局面,它能够让仪器之间实现通讯。此种技术变革与控制系统原有的网络结构结合起来,实现了从最底层的任务控制到高层任务结构和调度的优化,各类仪器是网络化控制系统的最小单元,他们在数字化基础上实现了网络化,现场总线控制系统正是由这些数字化的仪器单元加上智能化和可自治性的现场设备单元构成,实现了互连设备间、系统间的信息传送与沟通。现场总线系统就可以通过各个具体单元独立完成自己的任务,最后通过网络进行所有任务的协调和组织,最后实现预定的控制任务。
(二)扁平化
在实际应用中,不同厂家的产品交互性差,这是由于不同厂家计算机控制系统本身的网络结构和数据结构是封装起来的,接口的协议和结构存在差异性,造成总线系统的不稳定。控制系统会根据功能单元和实际网络分布将网络划分成不同的层次,各个层次通过计算机这个媒介进行交互和通讯,层次直接是不允许直接通讯的,受到计算机设备的限制。机械企业网络技术的应用和发展,其通讯能力和规模不断扩大,分布式控制系统中难以实现的网络连接可以在一个贯穿的环境中实现,现场总线技术中网络能力的实现带来了现场智能设备和仪器的网络化,这种网络化也让计算机控制系统底层功能相互连接起来,现场网络技术扩展性比以前强大很多,容纳更多的设备,这些设备可以归属不同的回路控制系统。总的来说,计算机控制系统总体分为企业内部网络和现场级网络,企业内部网络的功能主要是整体控制和调度,具有基本决策,系统任务调度,管理数据和处理相关数据,以及管理网关系统。每个子系统的整体调整和优化都交给企业内部网络来整体管理,这方面管理者进行总体规划和及时调整工作。而现场级网络的任务就是负责具体设备单元和仪表单元的工作。两个网络共同形成计算机控制系统,机械制造流水线中,所有管理和调度都交给内部网络,领导可以随时查验和调整作业进度,而纠错、显示、记录,现场控制的监视以及故障诊断和处理等工作由下一层级负责,使得整个控制系统具有统一性和规范性,两层网络各自处理自己的事情,不会因为任务太多出现混乱甚至系统失控。
二、基于计算机的机械控制系统数据处理流程
基于计算机的机械控制系统数据处理过程可以用流程图来描述,流程图就是描述信息传播过程的,可以把抽象的过程具体化。计算机网络时代,技术是一个企业的生命力,计算机控制系统可以让企业同时进行总体调度优化,管理和现场具体问题的控制管理。在实际生产过程中,设备单元的工作和人的管理活动都需要信息技术的支持,能够让企业大幅度提高作业效率和可持续发展能力,适应于当前激烈的竞争环境。对于控制系统数据处理单元的工作方法和结构,面对不同的数据结构可以选用不同的处理办法,优化软件和硬件的配置可以有针对性的选取不同的数据进行处理,这样才能够高效率的处理数据,减少工作人员的劳动强度和计算机的耗损,第一,计算机可以采用单道处理,多道处理器和交互式处理器对数据进行处理。第二,采用脱离方式或者联机方式处理数据。第三,可以采用分布式算法或者集中式,并行思想的理念处理数据。第四,计算机也可以选择分批次,实时,分阶段的方式处理数据,这也需要对于数据进行合理的划分,防止不合理数据的产生。数据处理是基于计算机的机械控制系统必须具备的能力,主要包括对于来源数据的分析和处理,做出与之相符合的具体操作方式,具备简单的智能化和学习能力。计算机控制系统的应用十分广泛,其中十分重要的功能就是数据处理,大数据和物联网的发展要求计算机能够对海量数据进行处理,并得到有益的信息,物联网每时每刻都在产生信息,计算机也要及时的处理,并通过计算机控制系统将信息进行归纳总结,提供给使用者更好的建议。近年来,机械行业一直在进行各个生产环节的智能化,模具的设计制作,高标准零部件的设计制造,还有各个零部件的组装,一个个全自动化的生产线开始运营,计算机每天都在完成海量的控制信息发送,接收和计算。计算机控制系统所处理的数据大多是生产环节产生的图像和信号信息,整个处理过程十分复杂,图像和信号都要经过计算机系统翻译成可以被自身识别的机器码,然后再经过计算机相关算法的加工,最后把处理结果传达给终端控制系统发出不同指令让机械设备完成,这种自动化的控制过程给大规模机械制造提供了基础,人们正日益享受到这种技术带来的利益,汽车,自行车,电视,冰箱等机械化产品越来越便宜,这都是计算机控制系统通过对数据的处理才能够完成相关作业。基于计算机的机械控制系统数据处理的过程主要分为八个方面,首先是数据的采集,通过计算机系统直接或者间接的获取到数据,然后将自然数据或者认为输入的数据进行转化,使得计算机控制系统能够识别,这些转化后的机器语言会进行再一次编码和分组,按照控制系统本身的要求分为不同的部分,传输到不同模块和组织,子功能模块会根据接收的信息按照预设的算法进行计算和分析,得到客户所期望的信息。最后会在不同的网络空间存储这些有价值的信息。而客户只需要查询计算机控制系统就知道产品的序列号,批号,各个零部件的标准等等有价值的信息,减少了数据整理时间,厂家可以专心于产品设计。
三、基于计算机的机械控制系统实际应用分析
基于计算机的机械控制系统在机械行业有着广泛应用,例如工业数据采集系统,直接数字控制系统,监督计算机控制系统,分级控制系统和现场总线控制系统等。这些应用不同程度地改变工业生产的面貌。过去我国钢铁制造业许多工艺都需要人的参与,而且钢铁的产量一直无法提高,自动化控制技术的引入彻底改变的了钢铁等工业生产的模式,自动化调节代替了人的经验,许多危险的生产方式改由机械来自动执行,大大提高了员工的安全,同时也提高了企业的业绩。对于机械行业的安全生产现状,安全自动控制技术的发展也十分迅速,这也是机械控制系统的实际应用,但是许多中小型企业缺少资金引进安全控制系统,仍有一部分工人时刻受到生命威胁。基于计算机的机械控制系统的实际应用可以大大减少安全事故的发生,减少社会矛盾,对于企业可以增加生产效率和利润。因此,要合理的评价计算机控制系统,企业在具体需求时要选用安全有效的控制系统产品,而评价系统质量,可以从以下几个方面进行,充分考虑系统本身采用的架构,设计的控制算法和各种设计功能是否达标,企业在选取产品时,要进行合理的尝试,可以试运行一段时间,期间要求厂商技术人员跟随记录生产情况,检验各个模块是否达到生产要求。一般而言机械控制系统各个回路对于实时性都有一定要求,而机械生产至关重要的就是系统的可靠性,包括系统自身的使用率,无故障时间,系统总体故障率还有相关性能方面的参数,这样都是重要的选用标准,同时机械控制系统要能够随时进行扩展,现场网络系统能够随时接入一些设备单元和仪器单元。
四、结束语
关键词:会计电算化系统内部控制
会计电算化是以计算机为主的当代电子和信息技术应用于会计工作的简称,是用电子计算机代替人工实现记账、算账、查账以及对会计信息的统计、分析、判断乃至提供预测、决策等过程。发展会计电算化有利于促进会计工作规范化,提高工作质量与工作效率,更好地发挥会计职能作用。但是企业在建立了电算化会计系统后,企业会计核算和会计管理环境发生了很大变化,一些非法操作可能不留痕迹,难以发现,稍不注意就会给单位和国家造成重大损失,如果会计电算化管理系统遭到破坏,将会严重影响单位的正常业务活动。因此,对会计电算化的内部防范和控制制度的建设显得尤为重要。
一、电算化会计信息系统对内部控制的影响
会计电算化使传统的会计系统、组织机构、会计核算及内部控制制度发生了很大的变化,其中对内部控制制度的影响尤为明显。
1.电算化会计信息系统的控制内容及形式与手工会计系统存在差异。在传统的手工系统下,控制的内容主要针对经济事项本身的交易,对于一项经济业务的每个环节都要经过某些具有相应权限人员的审核和签章,控制的方式主要是通过人员的职务相分离,职权不相容的内部牵制制度来实现的。而在电算化系统下,业务处理全部以电算化系统为主,出现了计算机的安全及维护、系统管理及操作员的制度职责、计算机病毒防治等新内容。另外,电算化功能的高度集中导致了职责的集中,业务人员可利用特殊的授权文件或口令,获得某种权利或运行特定程序进行业务处理,由此引起失控而造成损失。
2.内部控制的对象发生了变化。在电算化系统下,由于会计信息的核算及处理的主体发生了变化,控制的对象也发生了变化。控制对象原来为会计处理程序及会计工作的相容性等,会计资料由不同的责任人分别记录在凭证账簿上以备查验,是以对人的控制为主;而在电算化系统下,会计数据一般集中由计算机数据处理部门进行处理,而财务人员往往只负责原始数据的收集、审核和编码,并对计算机输出的各种会计报表进行分析。这样,内控对象转变为对人与计算机二者为主。
3.控制的实现方式发生了变化。手工会计系统的内部控制以人工控制实现。电算化会计系统的内部控制则具有人工控制与程序控制相结合的特点。电算化系统许多应用程序中包含了内部控制功能,这些程序化的内部控制的有效性取决于应用程序。如程序发生差错,由于人们对程序的依赖性以及程序运行的重复性,增加了差错反复发生的可能性,使得失效控制长期不被发现,从而使系统在特定方面发生错误或违规行为的可能性加大。
4.电算化会计信息系统缺乏交易处理痕迹。手工会计系统中严格的凭证制度,在电算化会计系统中逐渐减少或消失,凭证所起到的控制功能弱化,使部分交易几乎没有“痕迹”,给控制带来一定的难度。
5.电算化会计信息系统中会计信息存储电磁化。电算化系统下,原先会计业务处理过程的凭证、汇总表、分类表等书面档案资料被计算机自动生成的会计信息以电磁信号的形式存储在磁性介质中(如光盘、硬盘等),是肉眼不可见的,很容易被删除或篡改而不会留下痕迹;另外,电磁介质易受损坏,加大了会计信息丢失或毁坏的危险。
6.网络的迅猛发展及其在财务中的进一步应用带来了许多新问题。网络技术无疑是目前IT发展的方向,电算化会计信息系统也不可避免受到其深远的影响,特别是Internet在财务软件中的应用对电算化会计信息系统的影响将是革命性的。目前财务软件的网络功能主要包括:远程报账、远程报表、远程审计、网上支付、网上催账、网上报税、网上采购、网上销售、网上银行等,实现这些功能就必须有相应的控制,从而形成电算化会计信息系统内部控制的新问题。
二、会计电算化内部控制中存在的问题
在目前的许多企业中,虽然会计电算化系统已投入使用,但其相应的内部控制还存在着一些不完善之处,主要表现在:
1.电算化系统下的会计及电算化岗位的职能权限问题。操作权限控制是一种基本的内控手段,在电算化环境下,会计业务处理大部分由计算机操作,人为控制减少,削弱了会计审核功能。有些单位的各岗位操作权限制度没有真正落实到位,有的操作员可以以不同的身份进入系统操作,使分工控制名存实亡。
2.会计人员因主观原因或技术因素造成非法操作或操作失误。这是会计电算化内部控制中的主要任务,因其系统的程序、数据、文件等很容易被仿造、复制和修改,而不会留任何痕迹,所以某些人员为了达到个人目的,利用职务之便或不按操作规程进行非法操作,如通过冒名顶替、盗取密码等手段来非法改动、销毁会计资料,给单位造成严重损失。同时,由于单位的业务人员素质不高、操作制度不规范等原因,也会造成很大风险,因会计电算化的核算是高效自动的,只要一个环节出现错误,就会引发其他环节一系列的错误。3.会计软件的安全性及保密性问题。现有的软件系统在设计、开发阶段普遍存在重功能轻安全的现象,以至软件投入运行后存在着安全隐患,如数据库呈开放状态、易于打开等。电脑的系统数据和会计信息资料有面临被不留痕迹的浏览、修改的风险,而现在许多单位缺乏操作的记录功能,出现问题后不便于追究责任。
4.会计资料的备份和保管不及时、不规范,导致财务数据丢失。在会计电算化法规中明确规定,单位应坚持每天双重备份,并分人分处保管。但在实际工作中,有的单位并没有真正落实,也没有及时打印并按规定保管凭证和账簿,致使电脑一旦出现故障或磁性介质损坏时,部分会计资料就会丢失,造成无法挽回的后果。
5.缺乏专业的系统维护人员。目前,许多会计人员对会计业务熟悉,但对计算机知识缺乏;而系统的维护人员对计算机知识熟悉,但对会计业务不够了解,使得在系统运行中的故障不能及时分析、排除。
三、完善会计电算化内部控制的几点建议
1.建立全面规范的会计基础管理工作。管理基础主要指有一套比较全面、规范的管理制度和方法,以及较完整的规范化的数据。会计基础工作主要指会计制度是否健全,核算规程是否规范,基础数据是否准确、完整等,这是搞好电算化工作的重要保证。没有很好的基础工作,电算化会计信息系统无法处理无规律、不规范的会计数据,电算化工作的开展将遇到重重困难。
2.加强组织和人员职能控制。由于电算化会计功能的相对集中,必须制定相应的组织和管理控制制度,明确职责分工,加强组织控制。
所谓组织控制就是将系统中不相容的职责进行分离,通过相互稽核、相互监督和相互制约的机制来减少错误和舞弊的可能,保证会计信息真实、可靠。企业实行电算化后,应对原有的组织机构进行调整,以适应计算机系统要求。会计工作岗位可分为基本会计岗位和电算化会计岗位。基本会计岗位与原手工系统基本保持不变。电算化岗位一般可分为系统管理、系统操作、凭证审核、系统维护等,这些岗位也可以由基本会计岗位的会计人员来兼任,但必须对职权不相容的岗位进行明确分工,不得兼任,同时各岗位人员要保持相对稳定。如专职系统操作员不能接触系统设计文件,不能兼任会计及审核工作;系统维护员不得担任系统操作和会计工作等。
3.加强系统程序操作控制和系统文件安全管理控制。为了保证系统会计数据不被随意操作,要加强系统操作和安全管理控制。从内容上来看,一般包括以下几项:设置操作权限、制定上机守则,禁止非操作人员操作;制定内部操作规程,严禁违规操作,如预防原始凭证和记账凭证等会计数据未经审核而输入计算机的措施,预防已输入计算机的原始凭证和记账凭证等未经核对而登记机内账簿的措施;数据存储和处理相隔离;建立必要的上机操作记录制度,形成上机日志;健全并严格执行防范病毒管理制度等。另外,系统文件由专人负责保管,使用和修改必须经过有关领导审批,与系统无关人员不得接触系统文件,从源头上控制会计数据信息的作。在系统开发阶段,要设置对系统操作痕迹留有记录的功能,特别是对已入账的凭证,系统只能提供留有痕迹的更改功能,对已结账的凭证与账簿以及机内账簿生成的报表数据,系统不能提供更改功能等。
4.做好电算化会计档案的管理工作。企业应根据电算化会计档案的特点,做好会计资料的收集、保存和调用等方面的工作。财务部门对于已输出的磁性介质上的会计资料应及时加贴外部标签,指定专人妥善保管、存档,并定期检查、复制,对会计档案的调用要有完善的资料借用和归还手续。另外,企业使用的会计软件也应具有强制备份的功能和一旦系统崩溃等及时恢复到最近状态的功能。
5.加强培训工作,不断提高财务人员素质。会计电算化对财务人员的综合素质要求比较高,它涉及到财务会计知识、计算机运用、信息系统开发技术等方面知识。因此,要经常对财务人员开展会计电算化内部控制风险的防范教育和业务知识培训,增强风险防范意识,不断提高财务人员业务素质、思想素质和职业道德素质,更加有效地防范会计电算化内部质量控制风险。
一、风险的特征
(一)固有风险的特征
固有风险是指假定不存在相关内部控制时,某一账户或交易类别单独或连同其他账户、交易类别产生错报或漏报的可能性。具体表现为:
1、电子化会计数据存在被滥用、篡改和丢失的可能性。手工系统中,纸质介质上的信息易于辨认、追溯,而在计算机系统中,由于存贮介质的改变,一旦用户非法透过计算机系统的“防火墙”,极易破坏和修改电子数据,且不留蛛丝马迹。计算机病毒、电源故障、操作失误、程序处理错误和网络传输故障也会造成实际数据与电子账面数据不相符,增加了固有审计风险的可能性。
2、电子数据存在易于减少或消失审计线索的可能性。手工系统中,会计处理的每一步都有文字记录和经手人签名,审计线索清晰。但在计算机系统中,从原始数据的录入到报表的自动生成,几乎勿需人工干预,传统的审计线索不复存在,为审计师追查审计线索带来了极大困难。
3、原始数据的录入存在错漏的可能性。计算机系统下,大量的记账凭证仍靠人工录入,表面上机制账、证、表的相互平衡可能掩盖了人工录入的错漏。
(二)控制风险的特征
控制风险是指某一账户、交易类别或连同其他账户、交易类别产生错报或漏报,而未能被内部控制防止、发现或纠正的可能性。具体表现为:
1、有意或无意使设置权限密码实现职责分工的约束机制有失效的可能性。手工系统下,通过建立岗位责任中心达到内部控制的目的。在计算机系统下,一是通过划分操作员的责任范围,设置权限和密码实现人员分工;二是通过软件设计划分若干子系统或功能模块设置不同的责任中心。由于权限设置的重叠或跨责任中心越权设置,使这一控制措施有可能形同虚设。
2、网络传输和数据存贮故障或软件的不完善,会计数据出现异常错误的可能性。手工系统下,这种可能性几乎不存在;而在计算机系统下,这种可能性难以通过有效的内控制度消除,必须靠先进的硬、软件平台以及会计软件本身的自我保护,减少出现异常错误的几率。就多数会计软件看,对数据录入的一致性和正确性控制,会计数据处理的安全性和连续性控制,软件设计还是比较缜密的。但对集成化程度较高的企业级管理软件,数据的共享性和一致性还不尽如人意。另外某些网络平台在实际应用中问题还是不少。
3、会计软件对现金和银行存款的收付业务缺乏实时有效的控制手段。对于企业内部发生的现金和银行存款收付业务,多数软件是通过人工填制记账凭证,从账务系统入口录入到电脑,部分软件虽通过出纳系统实时地录入,但可能与凭证数据不同步。对于银行存款的收付业务,不仅数据难以实时同步,而且存在双方数据不一致的可能性。
(三)检查风险的特征
检查风险是指某一账户或交易类别或连同其他账户、交易类别产生错报或漏报,而未能被实质性测试发现的可能性。具体表现为:
1、会计软件的更新换代,增加了历史文件难以提取的可能性。对账户或交易的重大实质性测试往往离不开企业的历史数据。由于软件版本的更新、平台的迁移,难以从往年账套里提取这些历史数据,迫使审计师不得不从浩如烟海的文档中收集整理历史数据。这不仅降低了审计效率,而且带来了更多的检查风险。
2、内部控制主要依赖软件本身,增加了难以全面检查测试的可能性。手工系统下,对内部控制的测试看得见、摸得着,而在计算机系统下,内部控制融会于软件之中,肉眼无法觉察。这就要求审计师有必要设计一些正常有效的业务数据和一些例外业务数据(不完整、无效的、不合理的、不合逻辑的),来检查测试软件的控制能力。由于多数审计师不是电脑专家,要在有限的审计时间里设计面面俱到的测试数据是不现实的。为此,笔者认为对软件本身的审计检查可纳入软件开发或评审之中,审计师在审计实务中,重点是测试数据的完整性以及操作权限的分配和应用情况。机数据处理与手工处理有许多不同点,从而产生了新的审计风险,分析研究计算机环境下的审计风险无疑对审计电算化的开展和审计质量的控制都是很有意义的。
一、风险的特征
(一)固有风险的特征
固有风险是指假定不存在相关内部控制时,某一账户或交易类别单独或连同其他账户、交易类别产生错报或漏报的可能性。具体表现为:
1、电子化会计数据存在被滥用、篡改和丢失的可能性。手工系统中,纸质介质上的信息易于辨认、追溯,而在计算机系统中,由于存贮介质的改变,一旦用户非法透过计算机系统的“防火墙”,极易破坏和修改电子数据,且不留蛛丝马迹。计算机病毒、电源故障、操作失误、程序处理错误和网络传输故障也会造成实际数据与电子账面数据不相符,增加了固有审计风险的可能性。
2、电子数据存在易于减少或消失审计线索的可能性。手工系统中,会计处理的每一步都有文字记录和经手人签名,审计线索清晰。但在计算机系统中,从原始数据的录入到报表的自动生成,几乎勿需人工干预,传统的审计线索不复存在,为审计师追查审计线索带来了极大困难。
3、原始数据的录入存在错漏的可能性。计算机系统下,大量的记账凭证仍靠人工录入,表面上机制账、证、表的相互平衡可能掩盖了人工录入的错漏。
(二)控制风险的特征
控制风险是指某一账户、交易类别或连同其他账户、交易类别产生错报或漏报,而未能被内部控制防止、发现或纠正的可能性。具体表现为:
1、有意或无意使设置权限密码实现职责分工的约束机制有失效的可能性。手工系统下,通过建立岗位责任中心达到内部控制的目的。在计算机系统下,一是通过划分操作员的责任范围,设置权限和密码实现人员分工;二是通过软件设计划分若干子系统或功能模块设置不同的责任中心。由于权限设置的重叠或跨责任中心越权设置,使这一控制措施有可能形同虚设。
2、网络传输和数据存贮故障或软件的不完善,会计数据出现异常错误的可能性。手工系统下,这种可能性几乎不存在;而在计算机系统下,这种可能性难以通过有效的内控制度消除,必须靠先进的硬、软件平台以及会计软件本身的自我保护,减少出现异常错误的几率。就多数会计软件看,对数据录入的一致性和正确性控制,会计数据处理的安全性和连续性控制,软件设计还是比较缜密的。但对集成化程度较高的企业级管理软件,数据的共享性和一致性还不尽如人意。另外某些网络平台在实际应用中问题还是不少。
3、会计软件对现金和银行存款的收付业务缺乏实时有效的控制手段。对于企业内部发生的现金和银行存款收付业务,多数软件是通过人工填制记账凭证,从账务系统入口录入到电脑,部分软件虽通过出纳系统实时地录入,但可能与凭证数据不同步。对于银行存款的收付业务,不仅数据难以实时同步,而且存在双方数据不一致的可能性。
(三)检查风险的特征
检查风险是指某一账户或交易类别或连同其他账户、交易类别产生错报或漏报,而未能被实质性测试发现的可能性。具体表现为:
计算机控制技术发展初期,是以集中控制的工作方式进行计算机系统控制的。集中控制系统会建立统一的控制中心,由控制中心负责信息的收集、处理、加工等工作。如果集中控制系统出现了任何问题都能够及时发现,有助于企业及时制定科学合理的解决方案,系统的控制效率也因此得到了大幅度提升。集中控制技术主要是将信息的输入或输出作为控制主体的,主要包括信号采集、信号运算、信息处理及信息反馈、状态显示等工作内容,以上工作内容主要是通过IPC(一种工业控制计算机)控制完成的。IPC会收集温度、PH值、压力等相关数据,并通过接口卡来接受经过处理而得到的信号。集中控制技术具有一定的缺陷,一旦出现控制失误的情况就会使整个系统的运行都会受到某种程度的影响。而且,随着控制系统的日益复杂化,一台计算机已经无法负责控制多种信号的处理工作。为解决以上缺陷问题,以集散控制工作方式为主的计算机控制技术随之发展起来,集散控制又被称为分布式控制系统,根据功能的不同,集散控制又被分成了上位机与下位机,集散控制系统将通信作为系统的核心。整个系统的集中监视工作主要由上位机负责,而下位机则负责控制分布在各现场的用于分布控制的个体,集散控制系统的上、下位机通过通讯互联网进行信息传递,保持信息通畅。集散控制系统具有较高的安全性、有效性及可拓展性。但许多厂家为实现经营垄断常常采用封闭形式的集散控制系统,阻碍了集散控制系统的推广和发展。
2封闭集散控制系统到工业现场中线的发展分析
封闭式的集散控制系统缺乏较好的兼容性和开发性,系统存在无法共享信息的局限。为增强集散控制系统的兼容性和开发性,在构建系统过程中必须采用标准化、网络化的网络协议,工业现场中线技术随之发展起来。由该技术构建的工业现场总线控制系统可以确保工业现场中智能化仪器、控制器、执行机构设备之间保持信息通畅。整个控制系统按照总线方式有条不紊的运行着。工业现场总线控制系统采用的是开放式的现场总线协议,以该协议方式进行现场所有支线工作的协调工作,不仅可以降低投资成本、维护资金,该系统还具有操作简单、经济实用、工作效率高的显著优势,用户的功能需求也可以得到更好地满足。工业现场总线控制系统是一种开放的、互联的分布式系统。该系统将工业现场作为中线,通过收集中线中的信号或信息,并根据所收集的信息对其进行有效控制,将分散控制管理与集中控制管理进行了有效结合,将系统危险分散开来,实现控制分离。
3现场控制到企业自动化控制发展分析
以太网工业协议作为一种开放式的网络协议,实现了全方位的自动化控制。在计算机控制技术中引入互联网,有助于提升产品的安全系数和适用性。但目前,企业化基于以太网的自动化控制中存在着一个问题就是不稳定的网络信号,无法确保系统时刻保持在稳定的工作信号下。信息化工厂的提出是为了解决以太网不稳定问题。基于该技术下,系统将大量的数据进行转移,使信息的采集、传输和处理都能处于良好的环境中,最终实现信息的自动化控制,并提高控制效率。
4总结
1553B通信节点与各个传感器采用主从式通信模式进行通信。通过将1553B通信节点配置为BC(总线控制器),传感器节点配置为RT(远程终端)。所有传感器节点需使用不同的1553B地址,并将其作为通信集群中节点的唯一ID。如表1所示为不同传感器1553B地址分配。飞行控制计算机外部1553B传感器由惯导传感器、大气数据机传感器和无线电高度传感器组成,样例飞行控制计算机各传感器数据流量如表2所示。BU-61580内部具有4k字的共享静态RAM,与主机交互具有很强的操作灵活性。BU-61580的存储数据的基本单元为消息块(MessageBlock),每个消息块大小为38字[6]。其中数据字包含的最大数据量为32字,故一次可传输的最大数据量为32。本系统中,无线电高度传感器与大气数据机传感器的数据帧长度均小于32字节,可通过一次数据传输完成数据通信。而惯导传感器的数据帧长度为54个字节,超过了一次传输数据的最大字节数,为保证数据完整性,不破坏每个字节数据内容,本设计采用数据帧拆分的方式。通过将数据帧拆分,使每个数据块长度均小于32字节,然后通过BC与RT的两次数据通信完成整个惯导传感器数据帧的传输。惯导传感器数据格式如表3所示。2.31553B通信时间调度设计由表1可知,飞行控制计算机各个传感器的更新频率并非完全一致,速率最高为100Hz,最低为50Hz。针对BC与多个RT进行数据通信,BU-61580采用大周期和小周期协同的方案来实现多个传输速率的通信。由于本系统频率最高为100Hz,最低频率为50Hz,故将通信大周期选择为20ms,将小周期选择为10ms。如图3所示为BC与传感器RT1~RT3的大周期通信顺序图,每个大周期内,惯导传感器和无线电高度传感器与BC通信一次,而大气数据机传感器与BC通信两次。图3中,为平衡数据流量及小周期通信数量,本设计将惯导传感器和无线电高度传感器分别位于两个小周期中,使两个小周期的数据流量平衡,实现两个小周期的通道资源充分利用。
2、FlexRay总线时间调度
根据样例飞行控制计算机的内部总线FlexRay通信协议可知,内部总线通信时间为5ms,每个时隙为50μs,FlexRay总线最大帧长为127字[7]。本设计中1553B帧长度最大为54个字节,频率最高为100Hz,故使用上述FlexRay总线通信协议能够符合1553B总线通信要求。本设计中,1553B传感器数据的频率为50Hz和100Hz,而FlexRay总线通信频率为200Hz,内部总线通信速率高于外部传感器速率。故1553B板卡在内部总线通信过程中,当有传感器数据更新时,FlexRay总线传输最新的数据;而当没有数据更新时,FlexRay总线传输当前的传感器数据。为保证数据的完整性及减少占用总线时隙数量,本设计共使用总线三个时隙,每个时隙具体传输内容如表4所示,时隙2、7、15传输内容分别为惯导传感器无线电高度传感器和大气数据机的数据,数据帧大小分别为54字节、32字节、12字节。
3、1553B通信单元软件设计
3.1驱动软件的IP核封装与实现
在嵌入式FPGAEDK设计中,为了简化用户开发难度,Xilinx公司提供了一个封装了的接口,即IPIF(IPinterface,IP接口)作为介于PLB总线与用户逻辑模块之间的接口缓冲[8]。IPIF将PLB总线操作封装起来,而留给用户一个逻辑接口。本文软件设计采用模块化设计思想。其设计步骤如下:首先,将每个硬件模块对应编写一个驱动软件程序;其次,将相应驱动软件封装成通用IP核;最后,将IP核挂载到PowerPC内部总线PLB上。模块之间的通信主要通过PLB总线和OPB总线实现,系统中各模块通过这两种总线连接至PowerPC内核上,而PowerPC通过内部总线读写机制实现对各个模块的读写与控制。如图4所示为1553B通信单元的硬件平台总体架构图,主要由PowerPC内核、1553BIP核、FlexRay总线对应GPIOIP核集合、串口IP核、BRAM模块IP核及相应的中断控制IP核组成。
3.21553B总线接口驱动软件设计
如图5所示为1553B总线接口IP核结构图,整个驱动分为三个模块:总线读写模块,初始化模块和数据缓存模块。系统上电,该IP核激活,进行总线初始化操作,发送初始化完成信号并查询PLB读写信号,等待PowerPC405的读写操作。当读控制信号使能时,PowerPC405读取数据缓冲区中的数据;当写控制信号使能时,总线读写模块将数据缓冲区中的数据发送至总线上。
3.31553B通信算法设计
1553B通信单元的调度主要由外部1553B总线的数据接收,内部FlexRay总线的数据通信组成。本设计采用模块化设计,将系统功能划分为顶层应用和底层数据通信。底层数据通信主要包括外部数据流通信及内部数据流通信,外部数据流通信主要由1553BIP核实现,内部总线也由FlexRay驱动程序实现数据通信;而内核PowerPC主要实现顶层应用,即数据调度及总线故障切换功能的实现。如图6所示为节点通信程序流程图,系统上电后,首先对FlexRay总线及1553B总线节点进行相应的初始化,进而查询1553B对应FIFO满输出引脚,当接收到数据时,节点读取FIFO内容,并写入相应的总线发送缓冲区中。进而查询MFR4310的中断引脚信号,当发送中断有效时,执行发送中断子程序,将接收到1553B总线数据通过1553B总线发送出去;当接收中断有效时,执行接收中断子程序,通信节点接收CPU发送来的控制信号。系统完成数据调度后,进而进行总线故障检测。由于1553B总线的基本周期为10ms,故本设计中总线检测周期为10ms。当定时器的10ms定时时间到,总线进行一次总线检测。当接收到总线切换指令,通信单元进行总线切换,并更新总线状态;进而判断是否接受到传感器的1553B总线应答信号,如果有,将总线故障计数清零,倘若没有,将故障计数加1,当故障计数大于6,进行总线切换,并更新总线状态。
4、总线网络通信测试与结果分析
(1)FlexRay总线测试结果将FlexRay通信周期设置为5ms,静态时隙长度为50μs,将CPU板卡与1553B板卡进行通信实验,从总线上读出输出波形。FlexRay总线通信时,在总线上截取的波形如图7所示,从图中可以看出通信周期为5ms,与预设值一致。如图8所示为一个周期时隙输出波形,时隙2、7、15传输传感器数据。由图8可知,时隙2与时隙7相差250μs,时隙7与时隙15相差350μs,与预设值一致。FlexRay总线通信6小时,进而进行连续总线数据传输测试,经过6个小时的总线测试结果如表5所示,通信过程中,丢帧、错帧计数均为0,表明1553B通信单元FlexRay总线设计正确,可以满足飞行控制计算机通信的基本要求。(2)1553B总线测试结果由前面可知,1553B数据通信周期为10ms,即100Hz。如图9~12分别为1553B通信单元与CPU单元模拟大气数据机传感器数据帧发送数据8字节,进行通信2小时、4小时、6小时、10小时的通信仿真图。其通信帧数分别为719999,1439998,2160023,3599991。期间在2小时~4小时,4小时~6小时,6小时~10小时通信期间,丢帧数分别为1,1,0,合计丢帧率约为5.56×10-7,符合飞行控制计算机通信要求。(3)测试结论以上实验结果表明,1553B通信单元的各个模块通信正常,与飞行控制计算机CPU板卡通信正常,能够符合飞行控制计算机的通信要求。
5、结束语
主要是用作配电网的改造,其广阔的覆盖范围和迅速的传播速度使配电效率得到大幅度提升。计算机技术在发电、配电、变电、输电等环节起到十分重要的作用,形成了主站、子站、光纤终端组成的网络系统,这种合理化的格局,能够有效提升传输速度。(3)变电系统能使高负荷供电站运行更加稳定,自动化技术主要通过现代通信技术、信号处理和计算机技术实现对设备的检测,实现功能的优化和重组,有效控制电力系统的安全运行。
2计算机远动控制技术的应用分析
计算机远动控制技术的应用主要是通过遥测、遥信、遥控以及遥调等功能实现的,计算机远动控制技术是电力系统自动化技术中的核心技术,其在电力系统运行中发挥着重要的作用,尤其是在电力系统中的数据采集、通信传输以及信道编译码等环节中占据着重要的地位。其中,计算机远动控制技术的工作原理如图1所示。2.1远动控制技术中的数据采集技术远动控制技术中的数据采集技术主要有A/D技术和变送器技术等,其处理的信号多数为0~5V的TTL电平信号,而在电力系统自动化技术中,多数采用大功率参数,为了实现采用远动控制技术处理电力系统中的信号,只有通过变送器将大功率参数转变为TTL电平信号,从而达到遥信信息的编码和遥测信息的采集任务。其中在电力系统中,其遥信信息需要经过采集遥信对象的状态,将采集到的描述遥信对象状态的二进制位编进具体的遥信码中这2个途径进行传送,然后再通过数字多路开关将电力系统各路的遥信状态输出到接口电路中,最后通过接口电路将遥信信息送入到CPU系统中进行处理,从而实现遥信信息编码。2.2信道编译码技术分析在计算机远动控制技术中的信道编译码技术主要有编码、译码以及信息传输协议(规约)等。在电力系统自动化控制中,想要实现采用远动控制技术进行信息采集,则必须通过通信信道传输到调控中心才能使用。因此在电力系统自动化控制中,为了进一步保证传送的信息具有非常好的抗干扰能力,必须要对信息进行信道编译码,其中数字传输系统模型如图2所示。在上述电力系统自动化系统中,通过采用远动控制进行数字传输中,其干扰是不可避免的,而通过信道编译码能够有效克服通道中的干扰,其中,信道编译码的方法主要采用线性分组码中的循环码进行编译码。2.3循环式数据传送规约远动控制技术在变电站、电厂以及调度中心的数据通信应用中,首先需要在信道编译码前,预先设定通信方式和数据格式,也就是通信信息传输协议(规约),以保证电力系统中数据通信的可行性。另外,在电力系统远动控制技术中,其数据传输主要是以帧结构的形式进行传输的,其中重要的遥测信息主要安排在A帧,次要遥测信息安排在B帧,一般遥测信息安排在C帧。通过采用帧格式进行包装后,电力系统中的数据就能够有效按照规约进行传送,从而实现信道全部编译工作,实现对电力系统的全方位监控。
3电力系统自动化技术的发展及建议
对于电力系统自动化的发展方向,应从以下几点出发:(1)兼顾提高经济效益和改善自动化服务水平,我们追求的自动化技术应向着更优化、更具实效性、更加智能化、区域覆盖更广的方向前进。(2)加强电力自动化系统的设备稳定性,有效保障其安全运行,尽量减少大面积停电,建立一系列行之有效的处理机制,将停电损失降到最低。(3)开拓电力系统自动化的数字化之路,使数据更加全面,数字更加精准,力求节省更多时间和人力。(4)随着科技的不断进步,各种先进设备相继出现,对电力企业的工作人员提出了更高的要求,加强电力企业人员的技能培训和技术队伍建设,注重对新技术高素质人才的引进和吸收,培养全面发展的技术人才,鼓励员工以先进的理论知识和丰富的实践武装自身,投入更多精力到电力自动化的发展中去,推进电力自动化的发展进程。(5)在全球能源危机的严峻形势下,正是挑战电气自动化进程的关键时期,要以可持续的发展观,改善传统的管理模式,从整体化逐步转变为分布式、集约化的运营模式,实现能源利用的最大化、功耗的最小化、资金节约化。
4结语
自动化控制(automaticcontrol)是相对人工控制概念而言的,指的是在没人参与的情况下,利用控制装置使被控对象或过程自动地按预定规律运行。自动控制技术的研究和运用将人类从复杂、危险、繁琐的劳动环境中解放出来并大大提高了控制效率,它涉及利用反馈原理的对动态系统的自动影响,以使得输出值接近我们想要的值。作为工程科学的一个分支,自动控制领域的发展经历了几个重大演进过程,而第三代过程控制体系,则源于上个世纪70年代开始的数字计算机的应用,由于计算机产生的巨大技术优势,从而产生了第三代过程控制体系。这个被称为第三代过程控制体系是自动控制领域的一次革命,它充分发挥了计算机的特长,并由此产生了被称为“集中控制”的中央控制计算机系统。目前,我国供热行业正面临着大的技术变革,对于供热系统最经济控制而言,自动化控制应满足如下要求:应该是最有利于实现节能的控制系统;应该是可以实现无人值守的控制系统;应该是寿命长、维修工作量少、维护简单的控制系统;应该是初投资小、运行费用低的控制系统。而实现计算机自动控制能够满足以上需求,无疑是供热系统自动化控制的的必然发展趋势。
二、计算机在供热系统自动化控制中的作用
在目前的供热企业中,计算机的主要用途还仅限于打字、报表等比较初级工作,供热企业的信息化水平与实现供热企业生产过程的自动化、管理方式的网络化、决策支持的智能化等的要求还不适应,迫切要求在生产的关键环节提升自动化控制水平。而计算机自动控制由于具备如下功能,其作用是非常明显的。一是在数据采集及传输方面,能够实时采集公司所有换热站(包括水一水站、汽一水站)的全部技术数据,包括压力、温度、流量、热量、水电消耗及水泵状态等各种基础数据,通过无线或有线方式将各个子站的数据传输到中央调度室,可以在调度室了解到各个换热站的各项运行参数。由此,改变了以往手工操作下调度员很对运行工况“情况不明,心中无数”、致使调节处于盲目状态的情况。例如,我们采用间连热网全网平衡软件,通过OPC方式从组态软件中获得相关数据,这些数据包括:室外温度,热源的供水流量、供水温度、回水温度等。此软件动态的通过室外温度的时间序列法进行热网所需负荷预测、热源的供回水温差的需求、热源的供水流量的需求等。二是在冷热控制方面,能够均匀调节流量,消除冷热不均。换热站自动控制各个换热站可以根据室外气温的变化通过调节一级管网电动阀门的开度来及时控制二级管网的供回水温度,通过调度给定的控制曲线,各个换热站可以独立运行,保证运行参数始终在给定的范围内运行。同时调度在中央调度室可以根据需要随时干预子站的运行,调度可以遥控子站的电动阀门,调整运行参数。三是在故障预测方面,能够及时诊断故障确保安全运行。
计算机自动控制系统通过对供热系统运行参数的分析,即可对热源、热力网和热用户中发生泄漏、堵塞等故障进行及时诊断,发现问题及时处理,同时指出故障位置,以便及时检修,保证系统安全运行。四是在能源考核管理方面,能够实现量化管理。由于计算机自控系统可以建立各种信息数据库,能够对运行过程的各种信息数据进行分析,对各个换热站的水、电、热进行各种统计、比较及计算,调度及公司领导可以随时了解整个管网能源消耗情况手掌握热同的经济技术状态,计量能力的提高,为量化管理的实现提供了物质基础。例如,采用间连热网全网平衡软件,可以对二次网的供回平均温度进行排序,使用户更好的了解热网的运行情况。如果热网存在支线的情况,排序可以应用于每条支线。同时,软件可以排出全网的最高的和最低的二十个热力站。这些都为加强能源考核管理提供了科学依据。
三、计算机在供热系统自动化控制中的运用
供热系统计算机自动控制是必然的发展趋势。目前,根据供热情况的区别,使用的有如下几种计算机自动控制系统:(1)直接数字控制系统(简称DDC);(2)监督控制系统(简称SCC);(3)分级控制系统;(4)集散控制系统(简称DCS)。我们认为,综合考虑多种因素,采用集散控制系统(即DCS)更为安全经济。DCS是计算机技术、数字通讯技术和现代控制技术结合的产物,是信息时代的控制技术。通常DCS系统的体系结构分为三层:现场控制级、集中操作监视级、综合信息管理级。DCS是面向整体面向系统的控制技术,目标是整个系统的最优化控制,包括现场实时控制的最优化和综合信息管理的最优化,其优点在于人机界面好,便于操作管理;系统高度安全可靠,能达到最优化管理;利用充分的数据信息,科学节能运行。推广运用集散控制系统,要注意把握以下几个关键问题。一是要完善中心DCS软硬件系统以发挥出最大效力。二是完善DCS控制系统上位数据处理,发挥控制室的中央控制功能。三是完善DCS控制系统对各换热站的分布式控制。四是完善人工智能控制,用人工的知识经验与自控系统相互配合共同搞好锅炉控制。
四、计算机在供热系统自动化控制中的运用实证
实践中,我们可考虑采用上述间连热网全网平衡软件。该软件主要功能包括:全网平衡功能(一次网电动阀或一次网的分布式变频泵)、一次网阀的时间表控制模式、二次网变频循环泵的控制功能、控制效果的评价功能、负荷预测功能、阀位自动跟踪功能等。一是全网平衡功。如上所述,通过OPC方式从组态软件中获得相关数据及处理,能够达到均匀供热的目的。就一次网阀的时间表控制模式而言,此软件对一次网的电动阀(分布式变频泵)提供时间表的控制模式,如果其中的某一个热力站需要采用时间表控制模式,可以将热力站设定为某一时间表模式,在时间表模式中,主要规定设备的不参加全网平衡调节的时间段及此时间段内的二次网供回水平均温度的设定值。二是二次网变频循环泵的控制功能。间连热网全网平衡软件通过OPC方式从组态软件中获得相关数据,这些数据包括热力站内的二次网供水温度、二次网回水温度、二次网变频循环泵频率的反馈值和设定值等参数。同时用户通过配置文件“后台配置文件.MDB”输入热网的其它信息。软件根据获得的参数信息,采用一定的控制算法,控制二次网变频循环泵的动作,从而是二次网的供回水温差基本达到控制目标。三是控制效果的评价功能。间连热网全网平衡软件通过OPC方式从组态软件中获得相关数据,软件根据获得的参数信息,采用一定的算法,可以得出热网每条支路及整个热网的均方差和失调度等评价指标,同时可以得出每条支路的二次网供回水平均温度的排行榜,整个热网二次网供回水平均温度最高和最低的热力站及热力站所属的支线编等。四是负荷预测功能。间连热网全网平衡软件通过OPC方式从组态软件中获得相关数据,这些数据包括:室外温度,热源的供水流量、供水温度、回水温度等。此软件动态的通过室外温度的时间序列法进行热网所需负荷预测、热源的供回水温差的需求、热源的供水流量的需求等。五是阀位自动跟踪功能。在软件运行的过程中,操作员可以通过组态软件对一次网电动阀门(一次网分布式变频泵、二次网变频循环泵)进行手动调节,此软件能够记忆手动调节的阀门(变频器的频率输出)位置,在下次进行全网(设备)的调控时在此基础上进行调节。这样在自控不太理想或有工况变化的情况下,能够进行手动干预,缩短系统的反应时间,提高系统的控制效果。
在信息技术条件下的今天,企业内部控制实现电子化已经越来越普及,许多企业原有的一些制度已经不能适应信息环境下的管理要求,当出现计算机信息失控、人为破坏的情况后,部门之间相互推卸,责任不明,其原因就在于企业各部门在制度方面缺乏牵制性。因此,企业必须重新制定完善信息环境下的企业内部控制制度。众多的事例证明,企业经营的失败、会计信息失真、违法经营等情况的发生,在很大程度上都可以归结为企业内部控制制度的缺失或失效。如郑州亚细亚的衰败、震惊中外的琼民源、银广厦事件的发生,乃至美国安然公司的破产等等,都与企业内部控制制度的不完善有着一定的关系。因此,为了保证企业经营活动的正常运转、保护企业资产的安全、完整与有效运行、提高经济核算(包括会计核算、统计核算和业务核算)的正确性与可靠性、推动与考核企业单位各项方针、政策的贯彻执行、准确评价企业的经济效益、不断提高企业经营管理水平,企业必须制定一系列适应计算机信息化要求、符合自身发展的实际状况的企业内部控制制度。
二、加强企业内部会计控制
内部会计控制是企业内部控制的重要组成部分。所谓内部会计控制,是指企业建立的控制程序,用于保护会计数据的准确性和可靠性,并保护资产。在信息环境下,企业的内部会计控制应重点做好以下几方面工作:
1.建立健全企业内部审计机制
内部审计作为企业内部控制体系的一个重要方面,它在履行审计职能,监督经济活动,加强经济管理,提高经济效益等方面发挥着重要作用。尤其在计算机信息环境下,各种违法犯罪行为比较隐蔽,加大内部审计力度显得尤为重要。通过开展内部审计,可以及时查明各种损失及贪污腐化行为,有效“制止铺张浪费、贪污盗窃、检查财产增减结存、审查账薄、进行盘点,发现问题,堵塞漏洞,从而保障财产安全完整”。因此,内部审计机构同样是信息环境下内部控制制度的一项基本措施。由于计算机违法犯罪具有快速、隐蔽的特点,一味的事后审计往往难以起到内部控制的作用。因此,在信息环境下有效的内部审计应该做到事前、事中、事后审计相结合,这样可以及时发现管理过程中各个环节可能出现的问题,以便及时采取控制措施,改善企业经营管理,提高经济效益。
2.加强会计资料内部审计
会计资料内部审计是内部控制的一个组成部分,又是内部控制的一种特殊形式。对会计资料的监督、审查,不仅是内部控制的有效手段,也是保证会计资料真实、完整的重要措施。根据内部控制的基本原理和我国会计工作实际情况,新《会计法》明确要求对会计资料应定期进行内部审计,以使内部审计机构或内部审计人员对会计资料的审计工作制度化和程序化。
3.强化实时监控
一个有效的内部控制需要采取预防性的、检查性的和纠正性的控制。为了防止各种企业内部的各种舞弊行为,应积极提倡采用实时审计技术。这种审计技术可以实时探测信息系统中发生的大额、异常的交易或者在某个重要环节,对系统处理的业务进行实时跟踪,并把跟踪过程和特殊事件记录在审计日志中,系统将收集的数据实时处理并及时反馈,达到强化事前预防和事中控制的目的,保证企业各项经营活动都在严格的内部控制程序下进行。
三、加强对计算机系统的安全控制
加强对电算化系统的安全控制,可以有效地防止和减少因自然灾害、工作疏忽以及蓄意破坏和计算机犯罪造成的损失和危害。企业要加强操作权限与操作规程控制、信息安全与数据处理流程控制,明确规定系统管理人员、维护人员不得兼任出纳、会计工作,任何人不得利用工具软件直接对数据库进行操作。严格按会计信息系统的设计要求配置人员,加强输入、处理、输出的控制,保证数据的准确性。程序设计人员还应对数据库采用加密技术进行处理。健全数据输入、修改、审核的内部控制制度,保障系统设计的处理流程不走样变型。对存取权限进行控制,应设置多级安全保密措施,系统密匙的源代码和目的代码应置于严格保密之下,通过用户密码口令的检查,来识别操作者的权限,同时还要预防用户利用合法查询查到该用户不应了解的数据。操作权限(密级)的分配,应由财务负责人统一专管,以达到相互控制的目的,明确各自的责任。目前,企业内联网大都在互联网环境下工作,已不再是独立、封闭的系统,因此,为保证企业包括数据在内的资产的安全性,还需要进行企业外部控制,如设置外部访问区域、建立防火墙、远程处理控制、邮件系统控制、网上信息查询控制、电子商务控制等等。
四、重视人力资源管理
内部控制制度设计得再完善,若没有称职的人员来执行,也不能发挥作用。因此,在信息化环境下,企业加强内部控制的一个重要方面就是加强对人力资源的管理。一方面,企业充分利用多种有效方法开展对职工的思想政治教育工作,增强企业员工防止自身犯罪的能力。二是完善职工培训制度。计算机信息化环境下,对有关人员的知识、技能有了新的要求,因此,企业应该通过各种培训班、进修班来保证员工尤其是与信息技术相关的人员的业务素质。三是建立良好的绩效评价机制、激励机制以及约束机制,使拥有知识的人获得合理的报酬,实现知识创造财富,留住了解重要信息资源的人才,防止人才流失以及相应的信息资源损失。
综上所述,信息化改变了企业数据存取、保存、传递的方式和生产经营模式,提高了业务运转与管理的效率、业务流程的自动化,以及信息的价值化。在这样的环境下企业的内部控制重点要发生相应的变化。在当前,企业内部控制的工作重点应包括完善内部控制制度、建立健全企业内部审计机制、加强内部会计控制、加强对计算机系统的安全控制、重视人力资源管理等,尤其是电算化部门是当前企业内部控制的重点。当然,在信息化环境下,企业的内部控制还其有他许多工作要做,需要企业根据自身的实际状况采取全方位的内部控制措施。只有这样,企业内部控制制度才能真正发挥其应有的作用。
参考文献:
[1]王卫星李晓仙:内部控制与审计[J].当代财经,2002(10):77~79
[2]苏运发袁小勇王海洪:计算机审计[M].北京:首都经济贸易大学出版社,2005:55~56
[3]张金城:计算机信息系统控制与审计[M].北京大学出版社,2002:88~91
[4]蒋燕辉:现代内部审计学[M].北京:中国财政经济出版社,2001:24
[5]刘汝焯等:计算机审计技术和方法[M].清华大学出版社,2004:66~75
[6]陈少华:内部会计控制与会计职业道德教育[M].厦门大学出版社,2005
[7]陈元芳:内部会计控制[M].华中理工大学出版社,2005:4
基于以上需求,我们必须解决两个问题,一个是如何记录操作人员的输入,另一个是如何控制操作人员的输入。在DOS、Windows3.1、Windows95/98中都可以编写响应键盘和鼠标输入的中断处理程序,截取来自键盘和鼠标的输入,记录、分析后依情况分别处理。但是在WindowsNT和Windows2000中,这样的解决方法将不再行得通,这是因为WindowsNT/2000操作系统为了提高系统的可靠性,不再允许应用程序直接对系统设备的底层进行操作。这样,用户的应用程序将不能够对计算机的端口地址进行读写操作,所以在WindowsNT/2000操作系统中对计算机端口的读写是无效的。另外一种方法能够非常完美地解决这个问题,就是可以编写操作系统的设备驱动程序来解决,但是要编写系统的设备驱动程序,必须对WindowsNT/2000的系统底层以及整个系统架构有比较深入的了解。而且设备驱动程序的编写、调试都比较困难,同时这方面的资料也比较少。所以本文没有采取这种方法,而是采用微软公布的标准Win32函数和钩子技术来解决这个问题,比较方便而且快捷。
在WindowsNT/2000操作系统中,称各种输入为事件(Event),所有的键盘、鼠标输入事件以及其他事件都是通过消息传递处理机制来得到响应的。控制、监视计算机实际上是控制、监视事件消息流。Windows操作系统为这种应用提供钩子(Hook)技术。这种技术的要点就是在操作系统的消息传递处理机制上外挂一个我们定义的函数,可以使用这个函数来监视、控制系统的事件消息流。本文采用的就是这种方法,这种方法要求将所有的程序代码放入系统可以加载的动态链接库中。下面我们以键盘输入的监视和控制为例详细叙述这种方法。其总体思路如下:
首先,定义自己的钩子函数。
其次,安装自定义的钩子函数,此后钩子函数在后台开始工作。一旦系统发现击键动作或者鼠标动作,系统将马上调用该自定义的钩子函数,并将事件消息传入,供程序分析判断。它可以监视所有的击键和鼠标动作,与DOS时代的中断调用有非常相似的地方。
最后,卸载自定义的钩子函数。
钩子函数的定义
微软的钩子技术的原理就是应用程序可以在系统的消息处理机制上外挂一个子程序,在消息尚未到达目的地之前,用该子程序来截获此消息,以进行监视和控制。我们这里使用的是WH_KEYBOARD_LL类型的钩子函数,这种类型的钩子函数可以截获所有的键盘事件,即敲击键盘上的任何一个键,我们自定义的钩子函数都可以知道。该类型钩子函数要求安装自定义的钩子函数必须是以下原型:
LRESULTCALLBACKLowLevelKeyboard-
Proc(
intnCode,
WPARAMwParam,
LPARAMlParam
);
其中各参数的含义如下:
intnCode:用来决定钩子函数如何处理事件消息的代码,参数的取值为HC_ACTION时,参数wParam、lParam包含了所需的键盘消息事件信息。
WPARAMwParam:键盘消息事件的类型ID。该参数有四种可能的消息类型取值:WM_KEY-
DOWN,WM_KEYUP,WM_SYSKEYDOWN,WM_SYSKEYUP.
LPARAMlParam:指向一个类型为KBDLLHOOKSTRUCT的结构指针。该结构容纳了底层键盘输入事件的详细信息,它的定义如下:
typedefstructtagKBDLLHOOKSTRUCT{
DWORDvkCode;
//一个范围从1到254的虚拟键码
DWORDscanCode;
//键盘的硬件扫描码
DWORDflags;
//一系列的标志位
//0比特位指示该键是不是扩展键(如:功能键,或数字小键盘上的键),1表示是,0表示否
//1~3比特位保留
//4比特位用来区分该事件是否来自Win32函数keybd_event()调用,1表示是,0表示否
//5比特位为状态描述码,如果ALT键按下,该位是1,否则是0。
//6比特位保留。
//7比特位是变换状态位,键被按下为0,键被释放为1。
DWORDtime;
//该消息事件的时间标记。
DWORDdwExtraInfo;
//该消息的其他扩展信息。
}KBDLLHOOKSTRUCT,FAR*LPKBDLLHOOK
STRUCT,*PKBDLLHOOKSTRUCT;
实际的钩子函数的框架如下:
LRESULTCALLBACKMyLowLevelKeyboard
Proc(intnCode,WPARAMwParam,LPARAMlParam)
{
BOOLbSkipThisEvent=FALSE;
HWNDhwndForeground;
HWNDhwndFocus;
DWORDdwCurrentThreadId;
DWORDdwWindowThreadId;
if(nCode==HC_ACTION){
PKBDLLHOOKSTRUCTp=(PKBDLLHOOKSTRUCT)lParam;
//系统传递来的键盘输入事件信息指针
switch(wParam){
caseWM_SYSKEYUP:
caseWM_KEYUP://ifkeyup
/*这段代码用来获得当前拥有输入焦点的窗口的窗口句柄,以便获得该窗口的相关信息*/
/*获得前端窗口(即用户当前正在工作的窗口)的句柄,创建该窗口的线程通常拥有比其他线程稍微高一些的优先级。*/
hwndForegroud=::GetForegroundWindow();dwCurrentThreadId=::GetCurrentThreadId();//当前线程的Id
//获得产生前端窗口hwndForeground的线程Id值,用来惟一表示一个线程
dwWindowThreadId=::GetWindowThread-
ProcessId(hwndForegroud,NULL);
/*下面这一行代码非常重要,它的作用是使当前线程(dwCurrentThreadId)的输入处理机制依附到创建前端窗口的线程(dwWindowThreadId)的输入机制上,否则你将得不到当前拥有键盘输入焦点的窗口句柄。这是因为在WindowsNT/2000操作系统通常创建不同的线程来处理相互独立的输入过程,每一个输入过程都拥有自己的输入状态(焦点、键盘状态、队列状态等),通过AttachThreadInput调用,操作系统将允许调用线程获得或者设置其他线程生成窗口的输入状态信息。只有执行该系统调用,才能够得到当前拥有键盘输入焦点的窗口的窗口句柄,否则GetFocus()系统调用将返回NULL。在这一点上WindowsNT/2000与Windows9X操作系统有很大不同,这也正是WindowsNT/2000比Windows95/98操作系统可靠性、安全性更好的一个原因*/
AttachThreadInput(dwCurrentThreadId,dwWindowThreadId,TRUE);//
//获得拥有键盘输入焦点的窗口的窗口句柄
hwndFocus=::GetFocus();
if(hwndFocus||hwndForeground)
{
charwnm[256];
wnm[0]=0;
//变量定义后,使用之前一定要初始化。
//获得该窗口的窗口标题,就是在窗口标题栏上显示的内容
::GetWindowText(hwndForeground,wnm,255);
charclsnm[266];
clsnm[0]=0;
//获得该窗口的类名字
::GetClassName(hwndFocus,clsnm,255);
//获得该窗口的风格
LONGstyle=::GetWindowLong(hwfocus,GWL_STYLE);
/*如果你只对部分窗口感兴趣的话,可以通过下面的形式进行过滤,从而只处理你所感兴趣的某些窗口的输入事件*/
if((stricmp(clsnm,“edit”)==0)
||(0x0020&style)
||strstr(wnm,“MyTestWnd”))
{//你可以在此记录供以后分析使用的相关信息
LLKEY_OutputToLog(hwfore,hwfocus,wnm,clsnm,p);
}
}
caseWM_KEYDOWN:
caseWM_SYSKEYDOWN:
if(p->vkCode==VK_LWIN)
/*该行代码用来将键盘上的左Win系统键(就是带有微软旗帜图案的那个键,注意是左边的那个)屏蔽掉,如果在代码执行后,用户敲击键盘上的左Win系统键,将不会弹出Windows的开始菜单。你可以根据你的需要屏蔽任何你所要屏蔽的键,从而达到控制计算机使用的目的。*/
bSkipThisEvent=TRUE;
break;
}endofswitch
}//endofif
if(bSkipThisEvent)//如果是需要屏蔽的键,一定要返回1给操作系统,切记。
return1;
else
returnCallNextHookEx(NULL,nCode,wParam,lParam);
/*调用钩子函数链,以便使其他应用程序能够正常工作*/
}
这里需要注意的是,如果nCode小于零,钩子函数必须返回CallNextHookEx函数调用的返回值。如果nCode>=0,建议仍然返回CallNextHookEx函数调用的返回值,否则其他安装了WH_KEYBOARD_LL钩子函数的应用程序将收不到系统发送的钩子通知,从而使其他应用程序功能发生异常。不过我们也可以利用系统的这一个特点,来屏蔽一些功能键,禁止某些系统特性,实现控制计算机使用的想法。
安装钩子函数
接下来的工作就是将我们定义好的钩子函数安装到系统中。用来安装用户自定义钩子函数的Win32函数是SetWindowsHookEx,该函数的原型如下:
HHOOKSetWindowsHookEx(
intidHook,
//将要安装的钩子函数的钩子类型
HOOKPROClpfn,
//我们自定义的钩子函数的函数地址
HINSTANCEhMod,
//应用程序的实例句柄,即容纳了钩子函数的动态链接库的句柄。如果钩子函数所在地址空间在当前进程的地址空间,hMod应该为NULL.
DWORDdwThreadId
//钩子起作用的线程Id,如果该值为零,则对系统中所有线程都起作用
);
其中idHook指定了安装的钩子函数的类型,不同类型的钩子函数可完成不同应用功能,而且不同版本的Windows操作系统支持的钩子函数的种类也不尽相同,在本文我们主要介绍的是WindowsNT/2000操作系统中目前公开支持的最底层的两种钩子类型:WH_KEYBOARD_LL和WH_MOUSE_LL。这两种类型的钩子函数在WindowsNTServicesPack3及其以后的版本,包括Windows2000Professional中得到很好的支持。这两种类型的钩子函数可以分别监视底层的键盘和鼠标输入事件,在系统将事件分发到相应的接收目的地之前将它截获,交给用户自定义的钩子函数来处理。下面以键盘钩子为例详细说明,鼠标钩子与此类似,不再赘谈。
在这里,我们的安装函数和我们定义的钩子函数放在同一个动态链接库中。其中g_hWin32NT_
DllHandle是我们定义的全局变量,类型是Handle,在系统调用动态链接库的入口函数时,将hModule的值赋给g_hWin32NT_DllHandle。
//下面是动态链接库的入口函数
DllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved)
{
g_hWin32NT_DllHandle=hModule;
/*保存该值,以后在安装自定义钩子函数的时候要使用该值*/
returnTRUE;
}
//下面的函数用来安装我们自定义的钩子函数
HHOOKg_hhkLowLevelKybd;
//以后在卸载自定义钩子函数时,要用到该值
voidStartMyHook(void)
{
g_hhkLowLevelKybd=SetWindowsHook
Ex(WH_KEYBOARD_LL,
::MyLowLevelKeyboardProc,(HINSTANCE)g_hWin32NT_DllHandle,0);
}
/*g_hWin32NT_DllHandle是动态链接库的句柄,我们定义的钩子函数放在该动态链接库中。该句柄是在操作系统加载动态链接库时,由操作系统调用DllMain()传入的*/
如果安装成功,系统调用将返回一个钩子函数的句柄;如果失败,将返回NULL。将来在卸载我们自定义的钩子函数时要使用该句柄。所以必须将返回值保存到一个全局变量中。安装成功后,该函数返回。从现在开始,键盘的任何击键动作都将被我们定义的钩子函数捕捉到,包括各种系统功能键。操作系统在后台将自动异步地调用我们自定义的钩子函数进行处理,并且不会影响任何当前正在进行的各种工作,也不会对系统有任何不良影响。
卸载钩子函数
当我们的应用程序退出时,或者不再需要钩子函数的处理时,必须卸载我们自定义的钩子函数。
//下面的Win32函数用来卸载我们自定义的钩子函数
UnhookWindowsHookEx(g_hhkLowLevel