IMAN的二次开发关键技术
- 格式:doc
- 大小:35.00 KB
- 文档页数:7
Mixly介绍米思齐软件由来以及界面介绍Mixly,中文名为米思齐,全称为Mixly_Arduino,是一款由北京师范大学教育学部创客教育实验室傅骞教授团队开发的图形化编程软件。
目前全国广大的Arduino学生用户使用的编程软件基本为ArduinoIDE和Ardublock可视化编程插件。
为了简化ArduinoIDE 和Ardublock可视化编程插件的双窗口界面,为Arduino学生用户提供一个优质的编程软件,傅骞教授团队基于Blockly和Java8开发了Mixly图形化编程软件,经测试Mixly 可以在WinXP、Win7操作系统上稳定运行。
ArduBlock是以图形化积木搭建的方式编程的,这样的方式会使编程的可视化和交互性加强,编程门槛降低,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。
左图是图像编程,右图是生成的C语言,如果你不懂C语言,图形和中文你应该懂吧!上图是一个led灯闪烁程序下面分析一下程序{数字输出1管教为高电平->延时1000毫秒->数字输出1管教为高电平->延时1000毫秒} 图形对应的C语言void setup(){pinMode(1,OUTPUT); //设置1管脚为输出模式}void loop(){digitalWrite(1,HIGH); //设置1管脚输出高电平,即点亮LED灯delay(1000); //延时1000毫秒digitalWrite(1,LOW); //设置1管脚输出低电平,即熄灭LED灯delay(1000); //延时1000毫秒}如何使用米思齐软件那么米思齐软件究竟如何使用呢?米思齐模块被分为不同的类别。
输入/输出这一个模块的功能是设置管脚是(数字/模拟)输入还是(数字/模拟)输出模式,同时对输出的管脚赋值,还能够检测管脚状态为高或者为低所持续的时间。
控制这个模块包含了初始化,延时函数,定时器函数,if..else…语句,switch语句,while语句等基本且重要的控制语句。
MVision视觉开发包库函数使用说明深圳市创科自动化控制技术有限公司注意:本手册的内容将会变动,且不另行通知。
更改的内容将会自动添加到新的出版物当中去。
对本手册内容以外的操作本公司不做任何明示或默许担保。
本公司依据中华人民共和国著作权法,享有及保留本手册的一切著作权,未经本公司的书面许可,不得随意增删、改编、复制及模仿本公司著作。
一旦使用本说明书所列之产品,表示你已经阅读并接受了最终用户许可协议(见附录)中的所有条款。
深圳市创科自动化控制技术有限公司网站: http://www. 信箱:****************电话: 0755-******** 33938283传真**************地址:深圳市宝安区福永街道左侧莱福大厦4楼前 言 (3)第一部分 程序员指南 (4)一. 概述 (4)1、SDK编程 (4)2、TWAIN接口 (4)3、VFW接口 (4)二 典型的程序流程 (4)三 自定义常量和图像采集函数声名 (4)四 安装PCIV504图像采集卡 (7)首先感谢您选用创科视觉图像产品!图像采集卡通用标准接口是我公司提供的应用程序接口函数,它基本上概括了图像卡应用程序编程中涉及的各个方面。
通过应用接口库,用户可以很好地了解图像卡的运行机制,并在此基础上进行应用程序的开发。
图像采集卡通用标准接口按照功能可以分为初始化和结束,图像卡的操作、内存操作、存储图像、错误提示等函数。
本手册按功能对接口库中的函数进行了划分,对于每一个功能部分的函数都具体给出了它们的函数原型、参数定义、说明、示例等信息。
本手册为用户进行图像卡的二次开发提供了详细的说明,如果用户在使用过程中发现错误和纰漏,请与我公司的技术支持部门联系,以便我们及时改进。
第一部分 程序员指南一. 概述通用标准接口是我公司在原有mVision函数结构基础上,参考国内外同行sdk结构中较为优秀合理的部分,同时考虑到客户在实际应用中的不同需求,经过多年的时间开发出来的新的sdk体系结构。
微机平台的UG二次开发技巧本文叙述如何在以Windows NT 4.0为操作系统的微机工作站上进行基于VC++6.0的UG (V14.0)二次开发,并对UG的开发模块和UG/Open API的编程方法作了介绍。
UG/Open通过一个开放的平台包含一系列的基于UG的应用软件的柔性集成。
其目的是为了计算机集成应用,实现数据共享。
它具有开放的体系结构。
UG/Open提供了一种能够完成下列工作的应用软件和工具:1)通过UG/Open API或UG/Open GRIP提供了与UG对象模型(UG Object Model)的接口;2)生成和管理用户自定义对象(User Defined Objects或Custom Objects),包括管理它们与UG对象的相关性;3)提供反映第三方应用软件的UG图形界面本地化方法;4)利用相关产品如IMAN ITK和Parasolid;5)利用和集成新的UG/Open技术并使之成为应用可能。
UG/Open API是一个允许程序访问并影响UG对象模型的程序集,并同时提供一个UG所共容的编译和联接程序的方式。
它支持C/C++语言,头文件(header files)支持ANSI C。
在UG软件系统中相关的还有:UG/Open GRIP(/NC), UG/Open MenuScript, UG/Open IMAN ITK和Parasolid。
UG/Open API执行许可证:开发运行一个UG/Open API程序需有UG/Open开发许可证和执行许可证,用户通过UF_initialize()来访问并通过UF_terminate()来返还这些许可证。
例程和UG/Open API头文件在用户应用平台UG安装目录下的ugopen目录里,Windows NT 系统是%UGII_BASE_DIR%\ugopen,用户可以访问并利用这些程序和文件。
一、UG/Open API在Windows NT操作系统里的安装1.UG(V14.0)要求C编译器版本为Microsoft Visual C++V5.0以上,本文所述为VC++6.0版本。
企业应用集成工具(EAI)二次开发1.概述U850企业应用集成工具(EAI)是U850与外部系统的数据接口,EAI提供了一些组件,可以在这些组件的基础上进行二次开发(以下简称“EAI二次开发”),实现与外部系统的集成。
不同系统集成的关键是遵循共同的数据标准,U850根据自己系统提出了一套数据标准,包括各种单据和基础档案,外部系统如果要和U850集成则必须遵循这一标准。
这套标准用XML 描述,因此数据流都为XML格式。
EAI二次开发可分为两种模式:注意:文中所有编程都以VB为例一、直接利用EAI管理工具。
在开始菜单中选择企业应用集成工具,登录企业应用集成主界面。
在这里可以将U850数据以标准XML文件的形式导出U850数据库或将标准XML数据文件导入U850系统。
二次开发程序员只需编写一个工具将标准XML数据文件进行适当转换写入外部系统或取出外部系统数据写成标准XML数据文件。
(参看EAI安装目录\xml\Samples\下的例子)数据流程如下:这种开发模式比较简单,优点是:充分利用EAI工具提供的功能,编程简单;缺点是:只能提供批量导入导出功能。
二、利用EAI提供的组件,进行灵活的二次开发。
包括两种方式:本地COM方式、Internet方式。
1)本地COM方式:这种方式可根据开发者的需要批量处理或者实时处理。
接口调用非常简单,简化了编程。
开发者只需将标准数据传入接口,如下:Set Obj=CreateObject(U8Distribute.iDistribute)Str = obj. Process(sXml)sXml为标准数据串,具体格式后面会说明。
2)Internet方式:http.Open "Post",http_name & “import.asp", True //指定服务器ASPhttp.send dom.xml //把xml数据发送到服务器端strRet= http.responseText //strRet :返回的xml格式的回执信息2.数据格式标准EAI可以导入导出的数据范围包括:Ø总帐§凭证§银行对账单Ø工资管理§人员档案§工资项目数据Ø固定资产§固定资产卡片Ø成本管理§材料消耗数据Ø资金管理§资金内部结算单Ø应收管理§应收单§收款单Ø应付管理§应付单§付款单Ø采购管理§采购订单§采购到货单§采购发票Ø销售管理§销售订单§发货单§销售发票§销售发票_导入到内部结算单Ø库存管理§入库单§出库单§库存量Ø基础档案§部门档案§职员档案§地区分类§客户分类§客户档案§供应商分类§供应商档案§存货分类§存货档案§结算方式§付款条件§开户银行§仓库档案§收发类别§销售类型§计量单位§计量单位组§产品结构§采购类型§成套件§费用项目§发运方式§货位档案§自定义项档案§项目§会计科目§外币§凭证类别§常用摘要提示:EAI安装目录\xml\Operation\dir.xml保存了相关定义下面一个例子是从U8导出的部门档案的片断:<?xml version="1.0" encoding="gb2312" ?><ufinterface sender="001" receiver="u8" roottag="department" docid=".533424" proc="Query" codeexchanged="N" exportneedexch="N" display="部门档案" family="基础档案" billtype=""> <department><code>1</code><endflag>0</endflag><name>综合处</name><rank>1</rank><manager/><prop>管理兼技术</prop><phone/><address/><remark/><creditline/><creditgrade/><creditdate/><offergrade/><offerrate/></department><department><code>109</code><endflag>1</endflag><name>厂办公室</name><rank>2</rank><manager/><prop>管理</prop><phone/><address/><remark/><creditline/><creditgrade/><creditdate/><offergrade/><offerrate/></department>…………</ufinterface>EAI中所有的标准数据文件都有类似于上例的结构,首先,有一个名为ufinterface的元素,ufinterface再有若干个子元素组成,不同应用的子元素有不同的格式。
第二章系统配套飞控详细介绍2.1硬件介绍2.1.1嵌入式软件介绍常见的嵌入式软件有Nuttx ,它是一种实时的嵌入式操作系统(RTOS),可以使用在微控制器的环境中。
在Nuttx嵌入式系统中,较为常用的是卡尔曼滤波。
卡尔曼滤波典型的应用,简单的讲,就是从一组有限的包含噪声的信号序列中预测出被测物体的位置坐标及其速度。
跟踪目标时,测量所得目标的位置、速度、加速度的信号往往包含有噪声,卡尔曼滤波则可以去除噪声的影响,得到一个较好的目标位置的估计值。
捷联惯导是利用惯性传感器(陀螺仪、角加速度传感器及线加速度传感器)及其基准位置和初始位置信息来计算获得飞行器的位置、速度及加速度的信息的导航方法。
捷联惯导算法的基本过程为:●初始化系统:给定飞行器的初始位置和初速度;校准数学平台;仪表校准。
●误差补偿●姿态矩阵计算。
●导航计算●输出导航信息图4.1 捷联惯导算法基本过程惯性元件有固定的漂移率,这会给导航造成误差,因此捷联惯导系统还须采用指令、GPS或其组合等方式定时进行修正,以获取持续准确的位置参数。
2.1.2安装与调试安装:飞控应该在多旋翼平面的几何中心,并固定在减震器上;连线:见下图。
图4.2 飞控接口图4.3 飞控接线标注●在安装完飞控之后(安装前也可以),我们就需要开始使用地面站软件,也就是Mission Planner(下面使用缩写:MP)来对飞控上的很多传感器进行调试和校准。
下面我们将详细介绍MP软件的使用。
●将飞控和电脑用数据线连接。
在烧录固件完成之前不要点击右上角的连接按钮。
图4.4 MP软件界面●固件升级:最开始的工作就是往飞控内烧录多旋翼飞行器固件,也就是固件升级。
在MP的主界面的左上角有一排按钮,我们仅仅使用前四个按钮。
●点击初始设置,将看到很多图标。
图4.5 烧写固件●选择第三个图标(多旋翼飞行器)图4.6 确认刷新固件●点击Yes开始上传固件。
图4.7 烧写固件中●固件烧录完成!我们第一次使用配套飞控时,也可以通过向导来烧录固件。
IMAN的二次开发关键技术IMAN的二次开发关键技术IMAN的二次开发关键技术* 注意:本文已在《计算机工程与应用》(2001,37(24):25-26,166)杂志发表,使用者请注明文章出处摘要:介绍了商品化PDM系统IMAN的基本情况,研究了IMAN二次开发中的主要问题,提出了一种窗体定制新方法,论述了客户端二次开发的方法、指导思想以及基于IMAN的应用封装方法。
(mechatronic engineering Department, south china university of technology, Guangzhou 510640)Abstract: The basics of IMAN, a kind of commercial PDM system, are introduced, and the key problems during secondary development of IMAN are studied in this paper. It also put forward a new methodology of customizing form and discussed the methodology and rudder of secondary development in client terminal and the methodology of application encapsulation based on IMAN.IMAN(information manager)是一种较为成熟且广泛应用的产品数据管理(PDM)系统,它的开发商是美国的UGS公司。
IMAN系统主要用于汽车、航空、机械制造和家电等行业。
它是面向对象的信息管理和控制系统,由一个窗口界面、一组实用程序、一个集成工具箱和一个关系数据库管理系统(ORACLE)组成。
在版6.0后,IMAN包含C/S及B/S两种结构,B/S结构是发展方向,但目前功能较弱。
IMAN目前广泛应用的版本为V6.0-V7.0。
我国目前采用IMAN的企业有:海尔集团、玉柴机器、科龙集团等上百家企业。
PDM系统属于管理系统,管理系统出售后常需要有一个定制过程,使之适应企业的特殊需要。
由于PDM技术能带来很大的效益,很多企业相继实施PDM系统,但部分企业没有取得预期的回报,这是由于PDM系统实施难度大、影响因素多造成的。
二次开发是PDM实施的主要工作之一,因此必须掌握其关键技术。
IMAN的二次开发工作主要有:利用IMAN的二次开发模块开发新的程序;窗体定制;外部应用软件的封装与集成等。
IMAN二次开发工作需要丰富的经验和复杂的技巧,而它的帮助文档不能及时更新,况且关于PDM系统实施的学术论文、书籍等各种资料大多数只关注理论研究,没有介绍具体实用的二次开发技术,因此系统的实施者开始时常感到无助而难以入手。
为此,本文总结了几点IMAN二次开发经验并提出一些新技术。
窗体(FORM)又称表单,它的定制是实施PDM的一项基本工作,这是因为产品类型及信息类型多种多样,如零部件的数量、材料、ID号、设计者以及设计过程信息等等,这些数据都需要记录并与相应属性名一起保存。
通常每一种零部件需要一种窗体来描述它的各种属性。
窗体的功能首先是录入、保存、浏览及查询信息,其次是保存过程信息以支持其它功能。
窗体存储三种数据:输入(Captured)数据;资讯(Informative)数据;推导(Derived)数据。
它们的区别是:输入数据是用户输入的字段,是窗体显示的主要数据;资讯数据是只读的;推导数据是其它栏的总结或综合,是只读的。
IMAN的编程指南介绍了两种窗体定制方法:一是通过制作UIL( User Interface Language,用户界面语言 )文件来定义窗体的“非编程”方法;二是利用JAVA 语言编程[1]。
由于UIL较难理解而利用JAVA编程也涉及较复杂知识,为此笔者探索出一种组合利用IMAN提供的DOS应用程序及POMClass来定义窗体的简捷方法,步骤如下:1)Pom_application_object是父类,是系统定义的。
将生成的新类Train_Part_Class是它的子类;2)Project_id 和serial_number是显示于窗体上的属性名,它们可描述某产品的ID与序列号。
属性名可以有任意多个,也可以是作意名称,在此仅是举例;3)POM_string是指输入的数据应是字符串,其它数据类型还有POM_int等等,可参考IMAN的编程指南;2.编辑创建窗体的批处理文件 CreatForm.bat如下所示,以读入该文本文件并创建窗体类。
d:\iman0701\bin\install -mod_class infodba infodba dba Train_Part_Class2)管理员的用户名、密码、组名(infodba、dba)及IMAN安装路径只是举例,要根据现实系统而定;3)definition.txt文件前要有“ “符号。
如系统指出找不到该文件,可在该文件名前加上绝对路径5.若完成上面的步骤且没有出错提示,重新起动PROTAL,进入IMAN的方案编辑器(schema edit),展开Pom_application_object,可以看到刚定义的窗体类Train_Part_Class。
6.建立新的窗体模板:在IMAN admin里面打开类型(type),选择form选项,然后为新窗体命名(如为MYFORM1),再在POM_Class类里面选择刚定义的窗体类Train_Part_Class。
按create完成新窗体类MYFORM1的定义,它继承了类Train_Part_Class。
7.在导航器里面就可以依次执行:文件-新建-窗体,选择MYFORM1,建立新窗体,窗体可以描述零部件的属性Project_id 和serial_number,这是系统提供的窗体所不能描述的。
该方法在V6.0版本中顺利通过,而在V7.0版本会引起“方案文件过期”的问题而引起系统暂时不能进入,所以要在系统管理员同意的情况下才能操作。
出现这种情况后的解决办法是进入iman Menu环境,在原路径运行以下语句:“install –regen_schema_file infodba infodba dba”,然后重新起动服务器。
命令行的后三项分别是管理员的用户名、密码与组名,要根据系统的实际作相应改动。
IMAN的二次开发分客户端及服务器端。
客户端软件是用JAVA语言开发的,同样地它的二次开发也使用JAVA语言。
服务器端的二次开发要利用二次开发模块ITK 及C语言。
由于IMAN版本升级可能导致所开发程序需要改写并重新编译,所以二次开发的原则是尽可能利用IMAN已有的功能,减少二次开发量[2]。
基于以上考虑,二次开发重心放在客户端,而尽量利用服务器端的已有功能。
客户端二次开发分为开发程序与注册程序两个阶段。
客户端开发需要的工具为:JDK1.2.2或更高;JAVA集成开发环境(IDE)如JBuilder,Visual café 等等。
若没有使用IDE,要设置CALSSPATH环境变量。
可在DOS提示符处运行:“C:\ set %CLASSPATH%=%PORTAL_ROOT%\portal.jar”。
PORTAL_ROOT 是指iMAN Portal 的安装路径。
Set JAVA_COMMAND_LINE=%JAVA_COMMAND% -classpath “%IPR%\.;… %IPR%\MyPro.jar; … %IPR%\portal.jar; … %CLASSPATH%”起动IMAN Portal之后客户程序就可执行。
但如果它是未经注册的新程序,还需要进行以下步骤。
注册程序就是要在IMAN的界面上的某个组内增加按钮,用于调用所开发的程序。
假设客户程序叫MyPro,它属于com.mycom.mypro包。
程序注册的步骤如下:在PORTAL安装路径下找到Portal_user.properties文件(或使用Portal.properties文件,前者具有更高优先权),在GROUPS=IMAN,IMANAdministrator,Utilities的行末增加新组名,假设为newtools,如下所示:“GROUPS=IMAN,IMANAdministrator,Utilities,newtools”。
重新起动Portal后可看到新增的组newtools,在组内可加入按钮以调用客户程序。
如果不需要增加新的组,可直接进行第二步。
A. 运行Utilities组内的快速向导(Application Wizard),然后输入应用程序名称,假设为mypro,并按下一步(Next)。
B. 在左边拉开某个组,比如刚创建的组newtools,使客户程序的按钮加入到该组,按下一步。
C. 输入客户程序的包名,例如“com.mycom.mypro”,缺省值是“com.mypro”。
然后单击某适当目录,系统将在该目录下自动建立与包名对应的子目录,并使所有与该客户程序相关的源文件在该子目录下生成。
系统在目录mypro中自动生成六个文件:mypro.properties、mypro_user.properties、MyproApplication.java、MyproApplicationMenuBar.java、MyproApplicationPanel.java、MyproApplicationToolBar.java。
前两个文件是程序注册文件,用户可使用mypro_user.properties也可使用mypro.properties来注册程序,前者可覆盖后者。
系统自动使用后者。
后四个文件分别创建了四个应用类。
要集成到portal的程序要有一个基类,它应是类AbstractAIFUIApplication的子类。
客户程序的类的层次如图1所示。
D. 按下一步后接受缺省的类名,按下一步,再按“Yes”按钮以创建新类。
然后用单击方式选择Portal的安装目录,在这个路径中含有portal.jar等IMAN的JAVA类库。
按下一步后系统显示“成功创建程序”。
这时portal_user.properties系统注册文件自动修改,完成客户程序的注册。
随着企业信息化进程的发展,企业所使用的应用软件越来越多,如用于工程设计的CAX软件;用于办公自动化的字处理软件和制表软件等。
为了能实现对各种应用软件所产生的数据和文档进行有效地管理,也为了能在PDM环境中做到应用软件间的信息共享、用户间的协同工作等目的,需要改变过去基于数据库实现应用系统集成的传统办法,而改变为基于PDM的应用集成。