博文

全交换算例(2006-01-03 07:28:00)

摘要:******************************************************************* * This is a program for data exchange among all processors * * Made by Dr. Xue-bin Chi * * Date: April 30, 2005 * * Supercomputing Center * * Computer Network Information Center, CAS * ******************************************************************* program data_exchange *The header file for using MPI parallel environment, which must be *included for all mpi programs. include 'mpif.h' *Variables declaration integer iam, np, comm, ierr integer maxlena, maxnp parameter ( maxlen = 200, maxnp = 10 ) integer i, m, ia(maxlen), iga(maxlen), scounts(maxnp), & rcounts(maxnp), sdispls(maxnp), rdispls(maxnp) *Enroll in MPI environment and get the MPI parameters call mpi_init(ierr) call mpi_com......

阅读全文(2223) | 评论:0

Visual Basic在数控冲程序编写中的应用(2006-01-03 05:58:00)

摘要:    笔者在Visual Basic应用方面做了一些有益的探索,并且在实践中收到了实效,现将几个实例介绍如下,希望能够起到抛砖引玉之作用。 一、自动生成零件旋转后的程序 提高零件排版套裁灵活性   在实际加工过程中,经常遇到同一个零件需要按不同的方位排版,以提高材料的利用率情况。例如,图1所示的排版方式肯定比图2所示的排版节省材料,而在编程序时,如果按图2的方式排版,只需要编一个数控冲程序即可完成图2的排版方式,而如果按图1的方式排版,则要编A、B两个数控冲程序才能完成图1的排版方式。 图1 图2 图3   编A、B两个数控冲程序显然比较费时,在实际加工中要远比此复杂,有没有可能只编一个程序而通过某种方式得到另一个程序呢?笔者通过VB编写了一款数控冲程序旋转件自动生成的小软件,图3是小软件的工作界面。通过输入旋转角度后,可以自动生成将零件旋转任意角度后的数控冲程序,并且生成的程序可以直接拷入设备使用,极大地提高了工作效率。 二、对数控冲程序进行常规检查  将程序编写失误降到最低   数控程序编写完成后,其语法是否有误,或是否存在一些常识性错误呢?如我公司使用的数控冲为意大利EUROTECNICA公司产品,其程序要求数值必须带“.”,即数值为整数时必须以“.”结尾,比如将程序  …  N50  G72  X50.  Y50.  C60.  T8  (其中T8为模具号)  N60  G86  I20.  J60.  G41     (其中I值为模具加工的轮廓长度)    …  误写成  …  N50  G72  X50  Y50.  C60.  T8   (注意:此段中X值中没有“.”)  N60  G86  I20.  J60.  G41  …   则设备在执行过程中将把X值作为0处理,而不是作为50处理。   仍以上述程序为例,如果模具为30mm×30mm的正方形模具,显然不能加工长度为20的轮廓。   类似以上的问题,能否不需要人工就能检查出来呢。笔者同样通过VB......

阅读全文(2808) | 评论:0

IBM推出提升项目开发效率的软件(2006-01-03 05:51:00)

摘要:     IBM近日宣布推出一款新软件,该产品旨在帮助企业更加有效地管理软件与系统开发项目,降低相关成本,实现风险管理和风险控制,从而大幅度地提升开发项目成功率。      IBM Rational Portfolio Manager 6.2是业界第一款将软件开发最佳实践与可行性项目计划相结合的、整合的项目与产品组合管理解决方案。该软件能够为用户提供信息分析,帮助团队在把握项目进程和工作方向的同时,实现决策与审批流程自动化,以提升开发效率。      随着业务不断发展,企业越来越希望能够找到有效方法来更加轻松地管理与划分项目产品组合的优先级。而这对于那些需要开展软件整合、构建与维护等项目的企业来说尤为重要。借助IBM Rational Portfolio Manager 6.2的新功能,高层管理人员、项目经理们就能够有效划分项目优先级、确定工作衔接,乃至管理特定软件开发任务的执行。该软件能够基于项目潜在业务发展能力与可用企业资源,来帮助企业制定决策,选择最有价值的项目。一旦选定,IBM Rational Portfolio Manager还能实施有效的项目管理,减少不必要的成本,并且确保项目的按时完成。        IBM Rational Portfolio Manager 6.2的新功能包括:      * 全新软件开发最佳实践 — IBM Rational Method Composer。这是与Rational Portfolio Manager 6.2共同发布的一款开发流程解决方案,它让用户能够在项目计划中应用业界领先的最佳实践。基于行业经验,使用一致的流程与工具来替代过去耗时且容易出错的手动流程,极大节省了时间与成本。      * 全新图形化工作流功能 — 先进的图形化工作流设计器能让用户快速、轻松地创建、浏览和自动化工作流。这就使IT部门能够为每一个团队成员分配和管理其角色、职责与任务,从而最大限度地满足特定项目与产品组合需求。新的工作流功能还能帮助IT经理及时有效地遵从行业法规与业务规则。      * 全新分析能力 — 通......

阅读全文(2264) | 评论:0

ASP模式 在亚洲CRM领域将有可为(2006-01-03 05:48:00)

摘要:      我将亚洲CRM的发展划分为三线地区。第一线,发展得最快的地区,有日本、澳洲及韩国;第二线,包括香港、新加坡及台湾;其余地区属于第三线。本文集中论述第二线地区CRM的发展。     台湾CRM应用“实际”,本土产品具竞争力     在第二线地区中,台湾于应用CRM较为”实际”,比其它地区少了“幻想”。可能是由于台湾本土软件供货商,在中、低档次客服中心解决方案(call center solution)的市场十分活跃所致;除高档市场仍然被国际性的供货商陇断外,本土供货商极具竞争力,在余下的市场占据可观份额。这是台湾特色,跟香港及新加坡截然不同。     登陆大中华市场必备:双字符 + 繁简中文接口     相比香港只有七百万人口,新加坡的三百多万人口(其中五十万为外国人),人口超过二千万的台湾,自然更能有规模地在推行CRM。经过数年在客服中心操作的实战经验,台湾在这方面已有足够的操作及管理人才,不大需要依赖外来的协助及指引。跟在中国大陆的情况一样,软件供货商必须要提供具备双字符(Double-byte)能力,和中文使用者接口的软件,才可成功登陆台湾。     纵使香港人平均的英语沟通水平比台湾人高,但操作者的教育水平普遍都不是大学毕业,所以他们在使用全英文接口时也会遇到困难。因此供货商要进军大中华市场,他们的软件必须具备双字符(double-byte) ,和繁、简两种的中文字体(包括香港和台湾使用的繁体中文,及中国大陆和新加坡使用的简体中文)。     香港人敢拚肯试,惜缺IT管理层     香港是一个拥有强烈企业家精神和高度灵活性的混合体,她永远跟上潮流步伐。速度是营商致胜之道,作为通往中国内地的门榄,香港往往第一时间尝试最新事物,因此也是测试CRM的一个好市场。但据我所知,在香港并没有太多“活跃”的供货商;在这里设立地区性总部的跨国供货商,均是以中国市场为目标;可惜的是,“中国市场” 暂时都是中看不中用。     因香港人口不多,很多大型的CRM供......

阅读全文(1483) | 评论:0

VB技术在轴承退检测中的运用(2006-01-03 05:38:00)

摘要:      退磁在轴承磨削加工中是一个不可缺少的检测生产工序,虽然它不直接改变零件的几何形状和加工精度,但会影响轴承的加工精度和的产品质量。在自动控制反馈系统中,VB已成为 Wndows系统开发的主要语言。本文介绍了VB6.0在轴承退磁检测系统中利用计算机与适配卡等硬件组成系统对轴承零件进行退磁检测实时控制的原理,说明了系统软硬件的设计与选择。     在我们实际工程中退磁检测的方法有热致退磁、静态退磁和动态退磁三种,而轴承磨削加工生产中广泛采用的是动态退磁检测。目前国内轴承厂对轴承套圈退磁检测大多采用交流交变的退磁方式。本文介绍在轴承退磁中基于VB技术而达到自动检测控制的一种方法。     整个自动退磁检测控制系统分为控制部分和装置部分,图1为该退磁检测传送装置部分的总体结构简图,在这里我们不对装置部分具体研究,而主要研究整个控制系统的控制部分。 图1 总体示意图 1.系统控制原理     如图2所示为整个系统控制部分原理框图,计算机通过适配卡与接口电路控制电机的旋转,传感器将实时检测到的残磁量数据传递返回,通过适配卡传回计算机处理并再次发出指令而控制电机。当传感器检测的结果负向超差时计算机就发出快速脉冲指令,这样输送装置就运动快,轴承零件的退磁时间就少;相反当传感器检测的结果正向超差时计算机就发出慢速脉冲指令,这样输送装置就运动慢,轴承零件的退磁时间就长;这样就有效地利用了系统资源,整个系统实际上是一个闭环的自动控制系统,能有效地保证轴承零件的退磁效果。 图2 系统控制原理框图 2.系统硬件设计     在自动控制和巡回检测系统中,系统利用适配卡PIO-D56和接口电路RS-232/RS 485与HMR2300-D21-232磁传感器等硬件。由于适配卡PIO-D56有三组接口,我们利用其中的输入与输出接口组,分别接受来自传感器的信号和输出控制步进电机的脉冲。     由于是采用RS-485进行通信,配置—个RS-232/RS 485转换器,本系统由—台主控P C 机、一个适配卡PIO-D56、一个驱动电路和多个传感器(为使工作更可靠,相互间不受影响,采用一......

阅读全文(1986) | 评论:0

Visual Basic 6.0网络编程的五大散手(4)(2005-10-28 21:30:00)

摘要:访问Internet并调用Explorer   1.实现方法和控件介绍   首先在VB 6菜单上点击"工程/部件...",弹出"部件"对话框,在对话框的控件卡中选中Microsoft Internet Controls控件,点击"确定"按钮后工具箱上增加一个WebBrowser图标,将它加到Form中。   该控件有以下几个重要的方法和事件:   ·GoHome:装入IE设定的起始页;   ·Navigate:装入页面,如Object.Navigate url,其中url为URL地址,如http://www.microsoft.com;   ·GoBack:返回上一个页面;   ·GoForward:进入下一个页面;   ·Stop:停止载入页面;   ·BeforeNavigate Event:在每次装入页面前调用该事件;   ·StatusTextChange Event:每次浏览器的操作状态改变时调用该事件。   2.具体的访问方法   将WebBrowser图标添加到Form中。并在Form上添加4个命令按钮,Name属性分别为:GoButton、BackButton、ForwardButton和StopButton,通过这4个命令按钮可以实现对浏览器的操作。在Form上添加一个TextBox控件,用来输入和显示当前的页面地址。在Form上添加一个Label控件,用来显示当前浏览器操作状态。 /*载入Form*/ Private Sub Form_Load()  /*程序装入后进入IE设定的起始页*/  WebBrowser1.GoHome End Sub   /*改变Form尺寸*/ Private Sub Form_Resize()  /*改变窗口大小后同时改变控件的大小*/  WebBrowser1.Width = Form1.ScaleWidth  WebBrowser1.Height = Form1.ScaleHeight - 900  Label1.Width = Form1.ScaleWidth  Label1.Top = Form1.ScaleHeight - 300 End Sub Private Sub BackButton_Click()  /*返回上一个页面*/  WebBrowser1.GoBack End Sub Private ......

阅读全文(1901) | 评论:0

Visual Basic 6.0网络编程的五大散手(3)(2005-10-28 21:29:00)

摘要:设计E-mail的接收部分   在VB 6菜单上点击"工程/部件...",弹出"部件"对话框,在对话框的控件卡中选中Microsoft MAPI Controls 6.0控件,点击"确定"按钮后,工具箱上增加了MAPIMessage和MAPISession两个图标。   在Form上加入一个MAPIMessage控件,取名为MAPIMessage1;再加入一个MAPISession控件,取名为MAPISession1;再加入三个TextBox控件,分别取名为Subject、Content和Indexno, 将它们的Caption分别改为邮件标题、邮件内容和邮件索引号;在TextBox前各加入一个Label控件,将Caption分别改为标题、内容和索引号。   将MAPIMessage1的各项属性设置如下:   ·DownLoadMail=TRUE;   ·LogonUI=TRUE;   ·NewSession=FALSE;   ·UserName="接收Email"。   在Form上加入一个按钮(Getmail),将其Caption改为取邮件。   在 Getmail_Click()事件中加入以下程序代码,程序的功能是使我们接收Email。 MAPIMessage1.Fetch Form1.Caption=MAPIMessage1.MsgCount MAPIMessage1.MsgIndex=CINT(Indexno.text) Subject.Text = MAPIMessage1.MsgNoteText Content.Text = MAPIMessage1.MsgSubject    其中Fetch命令用来将信件抓到系统存储器的inbuffer中。我们将信件抓回来后,可以通过MsgCount属性知道信件数量,接着可以用MsgIndex设置要看哪一封信件的内容、标题等。   设计E-mail的发送部分   1.参数设置   进入Exchange系统,选择新增设置文件后屏幕上会显示所需要的信息服务,选择Internet Mail。   把设置文件的名称设为test。屏幕会显示两个选项,您可以选择以Modem方式或以Network 方式连接。笔者所用的是Modem方式;假若您是使Internet专线,就要选择Network 方式。   选择......

阅读全文(2381) | 评论:0

Visual Basic 6.0网络编程的五大散手(2)(2005-10-28 21:29:00)

摘要:Visual Basic 6.0(以下简称VB 6)以其强大的功能为广大软件开发人员所喜爱,被用来开发各种应用程序。随着Internet的迅猛发展,VB6在网络方面的应用开发也越来越多。本文介绍笔者在实际编程开发中总结的5个技巧,希望能为进行网络开发的朋友们提供一点参考。   连通检测   许多应用程序常常需要在程序中直接进行联网操作,以便进行一些必要的处理(如在线注册和在线帮助等),这就要求我们在程序中建立某些连接。很多软件在不知用户是否联网的情况下就启动浏览器查找网址,结果只能查出一错误网页,既浪费用户时间又没有任何效果。如果应用程序在查找网页之前能自动判断用户是否已经联网,就会节约许多时间,提高程序运行效率。   下面是实现网络连通检测的VB 6代码: Private Sub Form_Load()  If IsConnected = TRUE Then   MsgBox ("您已经连通了Internet!")  End If  If IsConnected = FALSE Then   MsgBox ("您还没有连通 Internet!")  End If End Sub Option Explicit /*有关的API声明和定义*/ Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long  Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long   /*常数和变量的设定*/ Public Const RAS95_MaxEntryName = 256 Public Const RAS95_MaxDeviceType = 16 Public Const RAS95_MaxDeviceName = 32 Public Type RASCONN95  dwSize As Long  hRasCo......

阅读全文(1896) | 评论:0

Visual Basic 6.0网络编程的五大散手(1)(2005-10-28 21:28:00)

摘要:Visual Basic 6.0(以下简称VB 6)以其强大的功能为广大软件开发人员所喜爱,被用来开发各种应用程序。随着Internet的迅猛发展,VB6在网络方面的应用开发也越来越多。本文介绍笔者在实际编程开发中总结的5个技巧,希望能为进行网络开发的朋友们提供一点参考。   连通检测   许多应用程序常常需要在程序中直接进行联网操作,以便进行一些必要的处理(如在线注册和在线帮助等),这就要求我们在程序中建立某些连接。很多软件在不知用户是否联网的情况下就启动浏览器查找网址,结果只能查出一错误网页,既浪费用户时间又没有任何效果。如果应用程序在查找网页之前能自动判断用户是否已经联网,就会节约许多时间,提高程序运行效率。   下面是实现网络连通检测的VB 6代码: Private Sub Form_Load()  If IsConnected = TRUE Then   MsgBox ("您已经连通了Internet!")  End If  If IsConnected = FALSE Then   MsgBox ("您还没有连通 Internet!")  End If End Sub Option Explicit /*有关的API声明和定义*/ Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long  Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long   /*常数和变量的设定*/ Public Const RAS95_MaxEntryName = 256 Public Const RAS95_MaxDeviceType = 16 Public Const RAS95_MaxDeviceName = 32 Public Type RASCONN95  dwSize As Long  hRasCo......

阅读全文(1872) | 评论:0

聊天室和对话系统(2005-10-28 20:13:00)

摘要:在一个单位内部或通过广域协议(如X.25)互联的行业内部都有几十或上万台计算机互联,用Intranet虽然可以建立聊天室,但实现点对点实时对话却比较困难。本人用Winsock和VB自制了一套聊天室和对话系统,特拿来供同行们参考。     一·Winsock的主要属性、事件和方法     Winsock是不可见控件,控件文件名是MSWINSCK.OCX,全称为Mcirosoft winsock control,使用时要将此控件调入工具箱。    1·属性:①Protocol=0       //使用TCP协议;              ②RemoteHost     //准备连接远程机的IP地址              ③RemotePort     //连接远程机的IP端口号 (1024—65535之间)              ④LocalPort       //本地机监听IP端口号必须与呼叫机端口号相同2·方法:①connect         //申请连接远程机          ②listen       &n......

阅读全文(2569) | 评论:0