1 An Application Framework for Creating Simulation-Based Learning Environments
- 格式:pdf
- 大小:329.27 KB
- 文档页数:7
设计模式-软件体系结构-实验4-中南大学-软件学院编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(设计模式-软件体系结构-实验4-中南大学-软件学院)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为设计模式-软件体系结构-实验4-中南大学-软件学院的全部内容。
《软件体系结构》实验报告项目名称结构型设计模式实验专业班级学号姓名实验成绩:批阅教师:年月日实验4 结构型设计模式实验实验学时: 2每组人数: 1实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性)实验要求: 1 (1:必修 2:选修 3:其它)实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型设计模式,包括适配器模式、组合模式和外观模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1。
现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。
试使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。
绘制类图并编程实现。
(要求实现快速排序和二分查找,使用对象适配器实现)2. Windows Media Player和RealPlayer是两种常用的媒体播放器,它们的API结构和调用方法存在区别。
一、安装1.先下载playFramework1.3.4版本2.解压playFramework1.3.43.配置playFramework1.3.4的环境。
在windows的高级系统设置--高级--环境变量把解压的路径复制到PATH环境变量里4.安装jdk1.6以及以上的版本,配置环境:JAVA_HOME=C:\Program Files\Java\jdk1.7.0_805.PATH=;%MAVEN_HOME%\bin6.Cmd命令运行play help 看看play是否安装成功。
输入Javac 看看是否按照成功,如果按照成功。
二、建立项目1.成功之后使用(play new 项目名称)命令创建一个项目2然后使用play run运行项目。
你可以用浏览器访问http://localhost:9000 并看到应用的默认页面3.如果你要生成eclipse项目你需要运行命令:play eclipsify 项目名称4.执行上面命令之后,你就可以导入项目到eclipse工作台中。
5.Play 目录结构:App/ 包含应用程序的核心、模型、控制器、视图结构Conf/ 只有包含应用的配置文件,主要的是application.conf、routes两个文件Lib/ 资源库Public/公共资源,包含css/javascript/img等资源Test/ 测试三、添加CRUD1.在conf/application.conf 文件中添加module.crud=${play.path}/modules/crud2.然后在conf/route文件中添加* / module:secure3.在conf/dependencies.yml文件中添加require:- play- play -> crud4.运行play dependencies 命令5.运行play eclipsify命令(ps:因为我使用的是eclipse平台所以运行此命令编译,如果是启用的的平台请使用相对应的编译命令)6.在eclipse平台刷新项目7.其他的导入也和导入CRUD操作一样四、MAVEN的使用1.下载好maven包,进行解压2.配置maven 环境变量MAVEN_HOME=D:\apps\mavenPATH=;%MAVEN_HOME\bin%3.检测maven是否生效,然后运行play install maven命令4.执行完后,修改conf/dependencies.yml,在里面添加-play -> maven head5.然后运行play dependencies命令6.重新运行play eclipsify命令7.使用Play mvn:init创建pom.xml文件五、模块化============================禁用忽略包的方式有三种===========================================1. You can disable transitive dependencies for a particular dependency:# Application dependenciesrequire:- play 1.2- com.google.guava -> guava r07:transitive: false2. You can disable transitive dependencies for the whole project:# Application dependenciestransitiveDependencies: falserequire:- play 1.2- com.google.guava -> guava r073. You can exclude any specific dependency explicitely:# Application dependenciesrequire:- play 1.2- com.google.guava -> guava r07:exclude:- com.google.code.findbugs -> *=========================外包应用的三种模式================================1.第一种# Application dependenciesrequire:- play 1.2- com.google.guava -> guava r07:transitive: false- commons-lang 3.0:force: true- com.zenexity -> sso 1.0# My custom repositoriesrepositories:- zenexity:type: httpartifact: "http://llocalhost:端口号/repo/[module]-[revision].[ext]"contains:- com.zenexity -> *第二种You can also add maven2-compatible repositories using the iBiblio type, like this: # Application dependenciesrequire:- play- play -> scala 0.8- org.jbpm -> jbpm-persistence-jpa 5.0.0:exclude:- javassist -> javassist *- org.hibernate -> hibernate-annotations *- javax.persistence -> persistence-api *repositories:- jboss:type: iBiblioroot: "http://llocalhost:端口号/nexus/content/groups/public-jboss/"contains:- org.jbpm -> *- org.drools -> *第三种:require:- play- customModules -> 模块名称和版本号(ps:firstmodule 0.1模块是firstmodule 然后版本号是0.1。
Environment 类.NET Framework 4.5其他版本1(共 1)对本文的评价是有帮助 - 评价此主题提供有关当前环境和平台的信息以及操作它们的方法。
此类不能被继承。
继承层次结构System.ObjectSystem.Environment命名空间:System程序集: mscorlib(在 mscorlib.dll 中)语法C#C++F#VB 复制[ComVisibleAttribute(true )] public static class Environment Environment 类型公开以下成员。
属性名称说明CommandLine获取该进程的命令行。
CurrentDirectory获取或设置当前工作目录的完全限定路径。
CurrentManagedThreadId 获取当前托管线程的唯一标识符。
ExitCode获取或设置进程的退出代码。
HasShutdownStarted 获取一个值,该值指示当前的应用程序域是否正在卸载或者公共语言运行时 (CLR) 是否正在关闭。
Is64BitOperatingSystem 确定当前操作系统是否为 64 位操作系统。
Is64BitProcess 确定当前进程是否为 64 位进程。
MachineName获取此本地计算机的 NetBIOS 名称。
NewLine获取为此环境定义的换行字符串。
OSVersion获取包含当前平台标识符和版本号的 OperatingSystem 对象。
ProcessorCount获取当前计算机上的处理器数。
StackTrace获取当前的堆栈跟踪信息。
SystemDirectory 获取系统目录的完全限定路径。
SystemPageSize获取操作系统的内存页的字节数。
TickCount获取系统启动后经过的毫秒数。
UserDomainName 获取与当前用户关联的网络域名。
UserInteractive获取一个值,用以指示当前进程是否在用户交互模式中运行。
The application failed to initialize the solution(应用程序初始化失败的解决方案)The application failed to initialize (0xc0000135). Click OK to terminate the application"Memory is not a simple solution to the read/written problem:Please, use for reference:First, the possibility of hardware is relatively small, and if it is hardware, it should be caused by memory incompatible with the host, if you can exclude the reasons for the hardware (memory bar is not compatible, replace memory). Loose memory or the accumulation of dust, clean the dust and replug look down):Two, system or other software caused by the following methods: the system itself has problems, timely installation of the official release of the patch, reinstall the system if necessary. Virus problem: antivirus. Antivirus software conflicts with other software: uninstall software that has problems. Is the graphics card or sound card driver properly installed or is it maliciously covered? Reinstall the video card sound driver.1, the use of the system comes with the SFC command, repair the damaged system files to return to normal.To start running, enter CMD, open a command prompt window, input string command sfc/scannow to enter, patiently waiting for thecommand for each file search system to scan once found is not the correct version of the file system or the system file is damaged, it will automatically pop-up interface, insert Windows system installation CD, the extracted file system from normal to replace the normal file system to achieve the purpose of repair system files and finally restart the computer.2, install Domino this procedure leads to a problem, you can start to run to msconfig and start the project to close the Domino startup items, if the system is shut down, not with Kaka aides settings like the software to turn off, if it forcibly or not to prove your system, then reinstall or poisoning recovery completely solve the system backup.Three, some system services are disabled and may cause similar problems. For example, when the QoS RSVP local communication control installation function is disabled, it may prompt that the RPC server is unavailable. Solution: my computerright-click management service and application QoS service RSVP double-click on the project to change the startup type to manual or automatic. If other services are disabled, problems can also be reset by this method.Four, browser memory can not read and write prompts:1, run regedit to enter the registryHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio n\Explorer\ShellExecuteHooksThis location has a normal key value,{AEB6717E-7E19-11d0-97EE-00C04FD91972}, and a "default" reservation. Other deletions are removed.2, open the CMD window, enter the following command:For,%i, in (%windir%\system32\*.dll), do, regsvr32.exe, /s,%i, returnFor,%i, in (%windir%\system32\*.ocx), do, regsvr32.exe, /s,%i, returnTwo, respectively, after the completion of the operation, restart the machine.Five, if the above method can not be solved, only use the last move:Fully registered DLL: turn on "run", enter "CMD", enter "enter"Then put the following line characters are copied to the black box to enter CMD wait for all DLL files registered off it, in order to prevent the input error can copy this instruction, and then click the right mouse button to paste to enter at the command prompt after patiently waiting, until the screen rolling stop.(here is the code to run.):For,%1, in (%windir%\system32\*.dll), do, regsvr32.exe, /s,%1Restart the machine after completion.Six, if your computer inside the Microsoft NET.Framework component service and you don't use it, then uninstall this service may solve the problem: to start setting the control panel to add remove programs to NET.Framework and delete (if you must use it to restart the computer again after the installation of NET.Framework).Seven. Close this report:1. Right click on "my computer" on the desktop "property", "advanced property", "error report", "wrong report", "check", "disable error reporting" - "but notify me when serious error occurs". This way, for a few small errors, Windows XP won't pop up any errors.2, if not, completely shut down the error reporting service. Start to run in the input to services.msc and open the "services" window to find "Error Reporting Service" to open the "properties" dialog box, Error Reporting Service will be the "startup type" to "disabled" to determine the system restart. (this project closes the registry: start, run, enter, regedit, confirm, find HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows, change the NT\CurrentVersion\AeDebug] in Auto=0 to Auto=1)Important: do not just look at the error code, but to see: above the box shaped part of the blue tip is XXX.EXE that position is what the general positioning procedures, mainly caused by the conflict or error. The simple and effective way to deal with this is to look at the error hint, which software conflicts cause the software to be uninstalled. After you restart themachine, you can shut down the antivirus software first and run the installation again.。
Getting Started with the LabVIEW Datalogging and™Supervisory Control ModuleThis document provides an introduction to the LabVIEW Datalogging andSupervisory Control (DSC) Module and contains exercises to help youunderstand the functionality that the DSC Module provides. To use thisdocument effectively, you should be familiar with LabVIEW and the sharedvariable and with building an application in LabVIEW.The following resources contain information you might find useful:•The Getting Started with LabVIEW manual, available in thelabview\manuals directory, contains introductory informationabout LabVIEW.•The LabVIEW Help, available by selecting Help»LabVIEW Help,contains extensive information about LabVIEW.•The Sharing Live Data Using Shared Variables topic in the LabVIEWHelp contains information about the shared variable in LabVIEW.•The NI Example Finder, available by selecting Help»Find Examples,contains example VIs and LabVIEW projects.ContentsWhat Is the DSC Module? (2)Building a DSC Module Application (3)Opening and Running an Example (3)Creating a New Project Library (4)Creating a Periodic I/O Server (4)Deploying the Periodic I/O Server (6)Creating Shared Variables (7)Enabling Logging for the Project Library (9)Creating the VI (10)Additional Exercises (12)Configuring Front Panel Security (12)Creating a New Security Domain (13)Adding a New User (13)Adding Security to a Control (14)Viewing Real-Time Data (14)Viewing Alarms Using the NI Distributed System Manager (15)Monitoring Alarms (16)Where to Go from Here (16)What Is the DSC Module?The DSC Module extends the LabVIEW graphical developmentenvironment with additional functionality for the rapid development ofdistributed measurement, control, and high-channel-count monitoringapplications.The DSC Module also enhances the LabVIEW shared variable. Use theshared variable to access and pass data among several VIs in a LabVIEWproject or across a network. A shared variable can represent a value or anI/O point. With the DSC Module, you can log data automatically; addalarming, scaling, and security to the shared variable; and configure theshared variable programmatically.The DSC Module includes the following components:•Functions and VIs Palettes—The DSC Module installs the followingpalettes: Alarms& Events, Engine Control, EPICS, Historical,Security, Shared Variables, Statistical Processing Control, Tags,and Write Filters. The DSC Module also includes the HistoricalTrend Express VI and the Real-Time Trend Express VI.•Controls Palettes—The DSC Module installs the following controlspalettes to help you build user interfaces that resemble a plant orsystem and to view real-time data from the plant or system: 2DControls, 3D Controls, Alarm Controls, Navigation Controls,Statistical Processing Control, Trend Controls, and Vessels. TheDSC Module also includes the Historical Trend control and theReal-Time Trend control.•Citadel Database—The DSC Module logs shared variable data to theCitadel database. The Citadel database stores historical data, alarms,and events. You can access and view Citadel data using the HistoricalData Viewer and using the Historical VIs.Getting Started with the LabVIEW DSC •Historical Data Viewer—Use the Historical Data Viewer to viewdata stored in the Citadel database. Select Tools»DSC Module»View Historical Data to launch the Measurement & AutomationExplorer (MAX). Expand the Historical Data category to select adatabase that appears under Citadel 5 Universe. You also can use theCall HDV VI to launch the Historical Data Viewer programmatically.•NI Distributed System Manager—Use the System Manager to viewthe current value of a shared variable and its status and alarm state. SelectTools»Distributed System Manager to launch the System Manager.The DSC Module also provides tools for graphing historical or real-timetrends, enhancing the security of front panels, and writing customI/O servers. You can read or write to OLE for Process Control (OPC)connections, programmable logic controllers (PLC), Experimental Physicsand Industrial Control System (EPICS) Client and Server I/O servers, orcustom I/O servers that you write. The DSC Module provides solutions forsupervisory control of a wide variety of distributed systems using graphicalLabVIEW programming.Building a DSC Module ApplicationIn the following exercises, you will build a VI with DSC Module functionality.Opening and Running an ExampleThe DSC Module includes several examples you can use to learn aboutDSC Module features and applications. In this exercise you will look at anexample you will use later to create a custom I/O server.Complete the following steps to run the DSC Tank Simulator example.1.Select Help»Find Examples to display the NI Example Finder.2.Select Directory Structure in the Browse according to section.Browse to the lvdsc\Getting Started\Tank Simulator folderand open the DSC Tank Simulator VI. This VI simulates a tank fillingwith water.3.Run the VI.4.Move the sliders to increase or decrease the rate at which the water fillsthe tank. As you move the sliders, notice that you control how fast thewater flows into the tank.5.Stop and close the VI.This VI does not use any DSC Module features. In the exercises that follow,you will create a DSC Module application based on this VI.© National Instruments Corporation3Getting Started with the LabVIEW DSC ModuleCreating a New Project LibraryIn this exercise you will learn how to create a new LabVIEW project and aproject library. The project allows you to manage shared variables, projectlibraries, and VIs in one window. LabVIEW project libraries arecollections of VIs, type definitions, shared variables, palette menu files,and other files, including other project libraries.Complete the following steps to create a LabVIEW project library.1.Click the Empty Project link in the Getting Started window. TheProject Explorer window appears.2.Right-click My Computer in the Project Explorer window and selectNew»Library from the shortcut menu.3.Select File»Save All. The Name the Project dialog box appears.4.Enter Tank System in the File name text box.5.Click the OK button. The Name the Library dialog box appears.6.Enter Tank System IO Server in the File name text box.7.Click the OK button.You now have a project containing a project library. In the followingexercise you will use the project library in the project to create a periodicI/O server.Creating a Periodic I/O ServerA server is an application that communicates with and managesinput/output devices such as PLCs, remote input/output devices, remoteShared Variable Engines, and data acquisition (DAQ) plug-in devices.These servers read selected input items and write to them on demand. TheDSC Module can connect to any OPC-compliant server and to manythird-party device servers. You also can create custom I/O servers. Youwill build a periodic I/O server in the following exercise. The periodic I/Oserver will run as a service and publish NI Publish-Subscribe Protocol(NI-PSP) data items to the network.Complete the following steps to add the periodic I/O server to the project.1.Right-click the Tank System IO Server.lvlib project library in theProject Explorer window and select New»I/O Server from theshortcut menu. The Create New I/O Server dialog box appears.2.Select Custom VI – Periodic from the I/O Server Type list and clickthe Continue button. The Configure Custom VI–Periodic I/OServer dialog box appears.3.Click the New button to display the Select VI step of the CustomVI-based Server – Periodic Wizard.Getting Started with the LabVIEW DSC plete the following steps to select the VI from the Opening andRunning an Example exercise to convert into a periodic I/O server onthe Select VI page.a.Click the button with the file folder icon. The Open dialog boxappears.b.Navigate to the labview\examples\lvdsc\GettingStarted\Tank Simulator folder in the Open dialog box.c.Select the DSC Tank Simulator VI and click the OK button.d.Click the Next button in the Custom VI-based Server – PeriodicWizard to advance to the Select Controls and Indicators ToPublish step.plete the following steps on the Select Controls and IndicatorsTo Publish page to select the front panel objects you want to publishas shared variables.a.Remove the checkmark from the stop checkbox in the Controlslist. You will publish the remaining controls and indicators.b.Click the Next button to advance to the Select Method To StopThe Server page.plete the following steps on the Select Method To Stop TheServer page to select the mechanism you want to use to stop the VI.a.Select Stop the following While Loops.b.Place a checkmark in the While Loop checkbox.the block diagram. Use this option if you have multiple While Loops on the block diagramto make sure you select the correct While Loop.c.Click the Next button to advance to the Configure ServerDistribution Component step.7.You can select what you want the wizard to build on the ConfigureServer Distribution Component page. For this exercise, leave thedefault options and click the Next button to advance to the ServerDistribution Component page.8.The DSC Module displays a summary of the files that the CustomVI-based Server – Periodic Wizard will create from the ServerDistribution Component page. Click the Build button. The wizarddisplays the Build status dialog box as it creates a VI template file,a registration VI, and a support DLL and VIs.9.After the wizard creates the periodic I/O server, the ConfigureCustom VI – Periodic I/O Server dialog box appears with the nameof the periodic I/O server and the data items it contains. Click the OKbutton. LabVIEW adds the periodic I/O server to the Tank System IOServer project library.© National Instruments Corporation5Getting Started with the LabVIEW DSC ModuleGetting Started with the LabVIEW DSC Module 10.Expand the Tank System IO Server.lvlib project library in theProject Explorer window.11.Right-click the Custom VI – Periodic1 item and select Rename fromthe shortcut menu. Rename the periodic I/O server Tank1. TheProject Explorer window appears as shown in Figure 1.Figure 1. Tank System Project12.Select File»Save All in the Project Explorer window to save theproject, project library, and periodic I/O server.Deploying the Periodic I/O ServerNow you must deploy the periodic I/O server so that the data items in theI/O server are available for use in other VIs and across the network. In thisexercise you will deploy the periodic I/O server and view the I/O serverdata in the NI Distributed System Manager.Note The periodic I/O server runs continuously in the background until you undeploy the library in the Project Explorer window that contains the I/O server.Complete the following steps to deploy the Tank1 periodic I/O server andview the data.1.Right-click the Tank System IO Server.lvlib project library under theMy Computer item and select Deploy All from the shortcut menu todeploy the project library.2.Click the Close button to close the Deployment Progress dialog boxwhen the deployment is complete.© National Instruments Corporation 7Getting Started with the LabVIEW DSC Module3.Select Tools»Distributed System Manager . The NI DistributedSystem Manager appears. Notice that Tank System IO Serverappears in the left pane under My Systems»localhost .4.Expand Tank System IO Server»Tank1 in the left pane. Notice thatthe controls and indicators of the I/O server appear under Tank1.Because you deployed the project library in step 1, the I/O server isrunning and each control and indicator is an I/O data item.5.Click the Input Flowrate [GPM] data item to view details of the dataitem in the Auto View on the right pane.6.In the New Value text box, enter a value of 10 and click the Set button.Notice that the values of Tank Level [Gallons] and Tank OutputFlowrate [GPM] begin increasing.7.Close the NI Distributed System Manager. The periodic I/O servercontinues to run.Creating Shared VariablesIn this exercise you will add the network-published shared variables thatrepresent the data items in the periodic I/O server to the Tank SystemShared Variables project library.Complete the following steps to add the Tank System Shared Variablesproject library to the Tank System project.1.Right-click My Computer in the Project Explorer window and select New»Library from the shortcut menu.2.Right-click the new project library you created and select CreateBound Variables from the shortcut menu to display the CreateBound Variables dialog box.3.In the Browse Source list, select Network Items .4.Expand localhost»Tank System IO Server»Tank1 in the NetworkItems tree. The shared variables appear under Tank1.5.Select each shared variable with the data type DBL and click the Addbutton to add each variable to the Added variables list.6.Click the OK button. The Create Bound Variables dialog box closesand the shared variables appear in the Multiple Variable Editorwindow. The Multiple Variable Editor window enables you toconfigure a large number of shared variables at one time.Note You can configure a single shared variable by using the Shared VariableProperties dialog box. Right-click an existing shared variable project item in the Project Explorer window and select Properties from the shortcut menu to display the Shared Variable Propertiesdialog box.7.Click the Done button to close the Multiple Variable Editor window.8.Select File»Save All. The Name the Library dialog box appears.9.Enter Tank System Shared Variables in the File name text box.10.Click the OK button. LabVIEW binds the shared variables in the TankSystem Shared Variables project library to the corresponding items onthe network.Configuring Data LoggingWhen you enable logging for a shared variable, the DSC Module logsshared variable data, including the shared variable value, timestamp,whether the value is in an alarm state, and the quality of the value. The DSCModule can log data to the Citadel database or a supported relationaldatabase. In this exercise you will enable logging to the Citadel databasefor the Tank Level [Gallons] shared variable.Complete the following steps to enable logging for a shared variable.1.Right-click the Tank System Shared Variables.lvlib project libraryand select Multiple Variable Editor from the shortcut menu to openthe Multiple Variable Editor window.2.In the Logging:Enable cell for the Tank Level [Gallons] sharedvariable, place a checkmark in the checkbox. Additional loggingoptions appear as columns in the table. Make sure theLogging:Alarms and Events and Logging:Data cells containcheckmarks in the checkboxes.The Logging:Alarms and Events option enables alarm and eventlogging for the shared variable. The Logging:Data option enableshistorical data logging for the shared variable.3.Enter 0.1 in the Logging:Resolution cell for the Tank Level[Gallons] shared variable. This value compresses the value to onedecimal point when the DSC Module logs the values of this sharedvariable to the Citadel database.4.Leave the Logging:Deadband cell for the Tank Level [Gallons]shared variable with the default value of 0.01. This value specifies thatthe DSC Module logs the shared variable value only when the sharedvariable value differs from the previous shared variable value by 1% ofthe shared variable engineering scale range, which is 0–100 by default.Configuring AlarmingAn alarm is an abnormal condition on a shared variable or a user-definedcondition. An alarm occurs if a shared variable value goes out of its definedalarm limits or if a shared variable has bad status. In this exercise you willadd an alarm for the Tank Level [Gallons] shared variable.Getting Started with the LabVIEW DSC © National Instruments Corporation 9Getting Started with the LabVIEW DSC ModuleComplete the following steps to add alarming.1.In the Alarming:Enable cell for the Tank Level [Gallons] sharedvariable, place a checkmark in the checkbox. Additional alarming options appear as columns in the table.2.Place a checkmark in the Alarming:HI:Enable cell for the Tank Level [Gallons] shared variable. Additional options for the HI alarm you enabled appear as columns in the table. Notice that the default value of the HI alarm is 75, as shown in the Alarming:HI:Limit cell.3.Click the Done button to apply the changes to the shared variable and to close the Multiple Variable Editor window.Enabling Logging for the Project LibraryComplete the following steps to enable data logging and alarm and event logging for the Tank System Shared Variables project library.1.Right-click the Tank System Shared Variables.lvlib project libraryin the Project Explorer window and select Properties from the shortcut menu. The Project Library Properties dialog box appears.2.Select DSC Settings: Database from the Category list.3.Verify that the options in the DSC Settings: Database page appear similar to Figure 2.Figure 2.DSC Settings: Database Page of the Project Library Properties Dialog BoxGetting Started with the LabVIEW DSC Module The Enable Data Logging option turns on data logging for the project library. localhost specifies the local computer. Use localhost instead of the name of the computer to reduce the changes you must make if you move this project to another computer. The Enable Alarms and Events Logging option turns on alarms and events logging for the project library. The Use the same database for alarms and events option ensures that the DSC Module logs alarms and events for this project library to the same database that it logs data.Tip You can change the Database name that appears in the Project Library Properties dialog box to a more useful or descriptive name.4.Click the OK button to close the Project Library Properties dialog box.5.Right-click the Tank System Shared Variables.lvlib project libraryin the Project Explorer window and select Deploy All from the shortcut menu to deploy the shared variables.6.Click the Close button to close the Deployment Progress dialog box when the deployment is complete.7.Select File»Save All in the Project Explorer window to save the project, project library, and periodic I/O server.Creating the VIIn this exercise you will create a VI to display data on a front panel. You do not need to add any code to the block diagram.Complete the following steps to create a front panel to display the data items in the periodic I/O server.1.Right-click My Computer in the Project Explorer window and selectNew»VI from the shortcut menu. A new VI front panel and block diagram appear.2.Select the Tank Level [Gallons] shared variable from the Tank System Shared Variables.lvlib project library in the ProjectExplorer window and drag the shared variable onto the front panel. The shared variable appears as a numeric control. Notice the triangle that appears next to the control. The triangle indicates that this control has been configured for data binding.3.Right-click the Tank Level [Gallons] control and select Change to Indicator from the shortcut menu.4.Right-click the Tank Level [Gallons] indicator and select Replace»DSC Module»Vessels»Open Tank from the shortcut menu.5.Use the Positioning tool to resize the Tank Level [Gallons]tank.6.Right-click the Tank Level [Gallons] indicator and select Propertiesfrom the shortcut menu. The Slide Properties:Tank Level [Gallons]dialog box appears.7.Select the Data Binding tab in the Slide Properties:Tank Level[Gallons] dialog box.Binding tab.8.Place a checkmark in the Blink while Alarm On checkbox toconfigure the control to blink when the water level reaches 75,the default alarm you set in the Configuring Alarming section ofthis document.9.Click the OK button.10.Select the Input Flowrate [GPM] shared variable from the TankSystem Shared Variables.lvlib project library in the ProjectExplorer window and drag the shared variable onto the front panel.11.Right-click the Input Flowrate [GPM] control and select Replace»Num Ctrls»Pointer Slide.12.Select the Tank Valve [%] shared variable from the Tank SystemShared Variables.lvlib project library in the Project Explorerwindow and drag the shared variable onto the front panel.13.Right-click the Tank Valve [%] control and select Replace»Num Ctrls»Pointer Slide.14.Select File»Save As. The Name the VI dialog box appears.15.Enter Tank System HMI in the File name text box.16.Click the OK button.17.Click the Run Continuously button to run the VI.18.Click the Close button to close the Deployment Progress dialog boxwhen the deployment is complete.Initially, the tank might fill up slowly. Move the sliders to increase ordecrease the rate at which the water fills the tank. The VI shouldfunction in the same way as the example you ran in the Opening andRunning an Example exercise. Figure3 illustrates the front panel of theTank System HMI VI.© National Instruments Corporation11Getting Started with the LabVIEW DSC ModuleFigure 3. Tank System HMI VI Front Panel19.Click the Abort button to stop the VI.Additional ExercisesThe following exercises introduce some of the additional functionalityavailable with the DSC Module.Configuring Front Panel SecurityUse the DSC Module to add security to front panel controls. The DSCModule provides the Front Panel Security dialog box, which you can useto configure security for more than one control at the same time. You alsocan configure security settings for individual controls. Before you canconfigure security settings, you must create users and groups by using theDomain Account Manager. Refer to the LabVIEW Help for moreinformation about creating users and groups in the Domain AccountManager.Getting Started with the LabVIEW DSC In the following exercises, you will add security to controls on an individualbasis.Creating a New Security DomainComplete the following steps to create a new domain on the local computer.1.Select Tools»Security»Domain Account Manager. The DomainAccount Manager window appears.2.Select File»New»Local Domain. The Domain Properties dialog boxappears.3.Enter MyDomain in the Domain text box on the General page.4.Click the Access Control tab.5.Select Grant List from the Select list to activate pull-down list.6.Click the Add button in the Grant List section.7.Enter localhost in the list.8.Click the OK button. The Change Password dialog box appears.9.Enter a secure password of six or more characters in the Newpassword text box.10.Enter the same secure password of six or more characters in theRe-type new password text box.11.Click the OK button to create the new local domain. MyDomainappears in the Domain Manager window under My Computer.Adding a New UserComplete the following steps to add a user to MyDomain.1.Select MyDomain in the Domain Account Manager window.2.Select File»New»User. The User Properties dialog box appears.3.Enter User1 in the User name text box on the General tab.4.Click the Change Password button. The Change Password dialogbox appears.5.Enter a secure password of six or more characters in the Newpassword text box.6.Enter the same secure password of six or more characters in theRe-type new password text box.7.Click the OK button to close the Change Password dialog box.8.Click the OK button in the User Properties dialog box to add User1to MyDomain. User1 appears in the Domain Account Managerwindow.9.Close the Domain Account Manager window.© National Instruments Corporation13Getting Started with the LabVIEW DSC ModuleGetting Started with the LabVIEW DSC Module Adding Security to a ControlComplete the following steps to add security to the Input Flowrate [GPM] control.1.Open the Tank System HMI VI front panel.2.Right-click the Input Flowrate [GPM] control and select Properties from the shortcut menu.3.Click the Security tab in the Slide Properties dialog box.Tip If the Security tab is not visible, scroll through the tabs until you reach the Security tab.4.Click the Add button to add access to a user you created in the Domain Manager. The Add New User/Group/Host dialog box appears.5.Select User1 from the Users and groups list and click the OK button.6.Select Full Access from the Access pull-down list for User1. 7.Click the Add button.8.Select Guest from the Users and groups list and click the OK button.9.Select Disabled & Grayed Out from the Access pull-down list for Guest.10.Click the OK button. The Add New User/Group/Host dialog box closes and adds security information to the Input Flowrate [GPM] control.11.Run the VI continuously and select Tools»Security»Login to log in as User1. The Input Flowrate [GPM] control should be enabled and you should be able to move the slider.12.Log in as Guest. The Input Flowrate [GPM] control should be disabled and dimmed.13.Stop the VI.Tip You can add security to multiple controls at one time in the Front Panel Security dialog box, available by selecting Tools»Security»Front Panel Security .Viewing Real-Time DataYou can use the DSC Module to view live data. The Real-Time Trend Express VI displays live data from a shared variable on an XY graph. In the following exercise you will add the ability to view live data to the TankSystem HMI VI.Complete the following steps to add a Real-Time Trend Express VI to ablock diagram and view live data.1.Place the Real-Time Trend Express VI, available on the DSC Modulepalette, on the Tank System HMI VI block diagram. The ConfigureReal-Time Trend dialog box appears.2.Expand the Tank System Shared Variables project library in theNetwork Items tree to display the shared variables.3.Select the Tank Level [Gallons] shared variable and click the Addbutton in the Configure Real-Time Trend dialog box.4.Click the OK button to close the Configure Real-Time Trend dialogbox.5.Place a waveform chart on the front panel.6.Wire the Trend Data output of the Real-Time Trend Express VI to thewaveform chart on the block diagram.7.Place a While Loop around the waveform chart and Real-Time TrendExpress VI.8.Right-click the conditional terminal and create a constant or a control.9.Run the VI. The waveform chart shows the water level. Notice that thewaveform chart displays the changes when you adjust the InputFlowrate [GPM] control or the Tank Valve [%] control.Viewing Alarms Using the NI Distributed System ManagerComplete the following steps to view alarms in the NI Distributed SystemManager.1.Select Tools»Distributed System Manager to display the NIDistributed System Manager.2.Expand the Tank System Shared Variables project library in the leftpane to display the shared variables.3.Click each shared variable to view shared variable information in theright pane.4.Expand the Tank Level [Gallons] shared variable to view alarminginformation. Notice that the value of Tank Level [Gallons]»Alarms»HI»level is 75. This value corresponds to the default valueyou enabled in the Configuring Alarming section of this document.The Tank Level [Gallons]»Alarms»HI folder contains the values ofother alarming properties you enabled.© National Instruments Corporation15Getting Started with the LabVIEW DSC Module。
Microsoft可移植可执行文件和通用目标文件格式文件规范修订版8.1 - 2008年2月15日摘要本规范描述了Microsoft® Windows®操作系统家族下的可执行文件(映像)和目标文件的结构。
这些文件分别被称为可移植可执行(PE)文件和通用目标文件格式(COFF)文件。
注意:提供本文档是为了辅助开发用于Microsoft Windows操作系统上的工具和应用程序,但并不保证它在各个方面都是完整的规范。
Microsoft保留更改本文档而不通知的权利。
Microsoft可移植可执行文件和通用目标文件格式文件规范的此次修订版取代了本规范的6.0修订版。
本规范中的信息适用于以下操作系统:Windows Server® 2008Windows Vista®Windows Server 2003Windows XPWindows 2000本规范最后列出了参考信息和相关资源。
本规范的最新版在万维网的以下地址被维护:/whdc/system/platform/firmware/PECOFF.mspxSmartTech译电子信箱:zhzhtst@法律声明Microsoft可移植可执行文件和通用目标文件格式文件规范Microsoft Corporation修订版 8.1注意:提供本规范是为了辅助开发某些用于Microsoft Windows操作系统平台上的开发工具。
但是Microsoft并不保证它在各个方面都是完整的规范,也无法保证这里的所有信息在发布之后一直都是准确的。
Microsoft保留更改本规范而不通知的权利。
在合理的和非歧视性条款和条件下,Microsoft将针对任何Microsoft认为仅在面向Microsoft Windows的被称为编译器、链接器以及汇编程序的软件开发工具中实现和遵守本规范中所需部分这种有限用途下所需要的Microsoft权利要求书(如果存在)授予您免版税许可。
本文由lgnagel7贡献pdf文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
ABC Amber CHM Converter Trial version, /abcchm.html 全部折叠全部展开语言过滤: 全部语言过滤: 多个语言过滤: Visual Basic 语言过滤: C# 语言过滤: JScript Visual Basic C# JScripteXpressApp FrameworkeXpressApp Framework 主页此帮助系统提供了使用 eXpressApp Framework 的全面信息. 它包括了让你能使用eXpressApp Framework 快速构建业务应用程序的主题, 然后轻松地为这些应用程序开发多种定制特性. 大量概念性的主题, 示例, 屏幕截图和源代码实例将让你能精通 eXpressApp Framework.要开始学习 eXpressApp Framework, 我们推荐你参阅下列资源(它们需要连接到因特网):? ? ? ? ?eXpressApp Framework XAF 的主页. 在这里, 你可以找到关于 XAF 框架的大量信息. 60分钟展望一个简短的, 有步骤的 XAF 框架的演示. eXpressApp Framework - 快速入门让你深入 XAF 框架的视频课程. 关于 XAF 的 10 项要知道的内容一系列回顾 XAF 关键原理的文章. 指南让你能使用 XAF 按步骤地编写首个应用程序的课程. 将介绍 XAF 的主要功能. 常见问题解答回答到现在为止我们在支持中心收到的常见问题.当使用 XAF 时, 请关注 eXpressApp Framework 博客. 此帮助系统由下列章节组成: ? ? ? ?eXpressApp Framework 概述此主题给出关于 eXpressApp Framework 的介绍性信息 - 基本特性与那些保证成功开发业务应用程序的优点. 基础此章节中的主题提供 eXpressApp Framework 的基本信息; 它的架构和形成一个应用程序的组件. 指南此章节中的主题可以帮助你构建首个 XAF 应用程序. 逐步执行那里给出的指令, 你将能学习到使用 eXpressApp Framework 工作的基本原理. 这将允许你构建任意现实世界的应用程序. 基本原理此章节中的主题提供通过 eXpressApp Framework 构建业务应用程序的全面知识 - 设计一个业务模型, 生成一个用户界面和添加定制特性. 另外, 此处还有如何使用那些诸如安全系统, 验证等关键应用程序程序块的核心信息. 设计时刻特性此章节中的主题描述在构建一个 XAF 应用程序时设计时刻的主要功能.Page 1ABC Amber CHM Converter Trial version, /abcchm.html ? ? ?部署此主题描述部署 XAF 应用程序的方法. 基于任务的帮助此章节中的主题包含许多在使用和扩展 XAF 时, 帮助实现类似任务的示例. 参考此章节中的主题描述了实体类, 委托, 枚举和它们的成员(属性, 域, 方法, 事件等). 注意在参考中只包含公共类和公共成员.如果更适合的话, 你可以使用在线文档. 在线文档的主题可能在需要时进行更新. 使用我们的知识基础文章中心, 你可以找到常见任务的解决方案. 发送此主题的反馈. ?2000-2009 Developer Express Inc. All rights reserved.翻译: ynyuxiangPage 2ABC Amber CHM Converter Trial version, /abcchm.html 全部折叠全部展开语言过滤: 全部语言过滤: 多个语言过滤: Visual Basic 语言过滤: C# 语言过滤: JScript Visual Basic C# JScripteXpressApp FrameworkeXpressApp Framework 概述eXpressApp Framework 主页 > eXpressApp Framework 概述许多公司都必须存储和管理大量关于职员, 客户, 销售等方面的信息. 他们也必须保留工作轨迹, 并使工作流自动化. 因此每家公司都需要软件进行日常工作, 软件的质量对业务成功是至关紧要的. 设想允许你在线订桌的某家餐馆, 或允许你获取所需任何样式组织的信用卡交易总结报告的某家银行. 这些服务增进了客户满意度, 并能促进销售. 一家公司可以从两种传统的来源获得所需的软件, 或者取得 eXpressApp Framework 的帮助. 让我们看一下生产软件的各种方法的利弊.场景 #1 - 从零开始开发软件一家公司可以向独立的软件公司, 或本公司内部的 IT 部门(如果存在), 去定制软件. 如果程序员们不使用能促进业务应用程序开发的某个框架, 他们将要面对下列问题:? ?大量的时间将被耗费在生产甚至是最简单的存储和查看信息的应用程序上. 开发人员必须关注应用程序的每个方面 - 从 DBMS 中的人工数据管理, 到为需要被编辑的每个字段提供编辑器. 需要大量的时间和资源进行测试. 所有软件都有 bugs, 因此不可避免地, 一个从零开始编写的应用程序将会有大量的 bugs. 在应用程序开发的首个阶段, 避免 bugs 的唯一途径是重用已经测试通过的代码段. 当然, 每个开发人员将尽量尝试重用自己的代码, 但是与整个应用程序比较而言, 可重用的代码量毕竟是少数. 难于维护和扩展这些应用程序. 抽象级别非常低 - 开发人员要对每个窗体上的每个控件负责. 因此, 即使是小型的任务, 例如为某个特定的数据类型调整编辑器, 他们必须打开无数的窗体并人工定制它们. 这可能会产生误操作. 对越复杂的应用程序, 维护的困难也就越大.当然, 这种场景也有它的好处.? ?应用程序程序的每个方面都将在开发人员的总体控制下. 唯一例外的事实是开发人员不能改变开发工具. 他们创建的, 熟知的代码等由他们维护和修复也许更容易. 对特定需求, 一个通用软件产品或库不可能被使用, 开发人员却可以按需优化软件. 应用程序不需要遵循某些外部系统的规则.如果你不是每次都构建类似的应用程序, 而是要创建独特的个别的应用程序, 那么从零开始创建它是最佳的选择.场景 #2 - 使用通用软件产品某个业务可以购买一个软件产品, 例如 Microsoft Axapta, 并聘请咨询专家来按需求配置它. 这种方式有下列不足之处:? ? ? ?需要学习特定的编程语言, 并且它们是非常昂贵的. 不允许定制和扩展应用程序. 越通用的产品, 性能越低.好处是: 如果你采用一个知名的系统, 可以充分保证它已经经过良好的测试, 不会发生质量问题. 在这种情况下, 业务不需要专门规划.如果需要通用和简单, 如果不计划革新, 不需要软件有独特的业务类, 那么这种场景是最佳选择.场景 #3 - 使用 eXpressApp FrameworkPage 3ABC Amber CHM Converter Trial version, /abcchm.htmleXpressApp Framework 介于上述描述的两种场景之间. 开发人员仍需要编写代码, 但已经为他们完成了大量的代码. XAF 为他们提供一个开发平台, 让开发业务应用程序变得更简单. 这些应用程序是在概述开始部分所描述过的 - 那些设计为输入, 存储, 浏览, 分析, 打印数据, 或组织一个工作流的应用程序. 如果你尝试构建另一种应用程序 - 游戏, 图像编辑器, 字处理器等 eXpressApp Framework 将不能对你有所帮助. 在每次开发一个业务应用程序时, 都有大量的事物需要你创建 - 这些元素非常类似, 但不容易重用代码. 你必须配置数据库, 表格, 输入窗体等. 但是, 替代这些例行工作, eXpressApp Framework 为你提供了更高级的接口来隐藏这些实现细节, 让你专注于业务逻辑. 例如, 使用 XAF 比使用 更易于声明和访问数据, 你只需要做少量的工作来为数据管理创建用户界面. 当然, eXpressApp Framework 最初的设计是用于解决那些从零开始开发会发生问的题. 这样, eXpressApp Framework 技术的主要目的是:? ? ? ? ? ?易于重用应用程序中为不同平台(Windows 窗体和 )设计的相同的业务逻辑. 提供 data-to-UI 构建算法. 这意味着你不需要人工创建大量用于浏览和编辑数据的类似窗体. 这也能让维护应用程序变得容易, 因为如果你改变了数据, 你不需要修改大量窗体和/或网页 - 这是自动完成的. 隐藏数据管理细节. 你不需要处理任何 DBMS 或使用 来访问数据. eXpressApp Framework 为你提供了一个更高级的工具来进行数据管理. 这个工具让你在流行的 DBMS 中存储数据变得容易, 而不需要详细了解它们 . 这也能让改变目标数据库管理系统变得容易. 非常易于创建用于存储和查看数据的业务应用程序. 允许应用程序使用任何 .NET 语言创建.有更多的特性让 eXpressApp Framework 成为最佳选择: 易于扩展. 主要部分的质量是有保证的. eXpress Persistent Objects 使用" 对象-关系映射工具?Object-Relational Mapping tool)和源自 DXperience Subscription 的界面友好的可视化组件. 因此, 它们经过良好的测试, 具有高度的可靠性.了解更多关于 eXpressApp Framework 的内容查阅下列章节获取更多关于 eXpressApp Framework 的信息. ? eXpressApp Framework 架构描述了使用 eXpressApp Framework 所需要知道的主要原理. ? 指南按指南中的步骤创建首个使用了 eXpressApp Framework 的应用程序. 发送关于此主题的反馈 . ?2000-2009 Developer Express Inc. All rights reserved.Page 4ABC Amber CHM Converter Trial version, /abcchm.html 全部折叠全部展开语言过滤: 全部语言过滤: 多个语言过滤: Visual Basic 语言过滤: C# 语言过滤: JScript Visual Basic C# JScripteXpressApp FrameworkeXpressApp Framework 架构参阅eXpressApp Framework 主页 > eXpressApp Framework 架构使用 eXpressApp Framework 构建的应用程序由几个功能块组成. 下图展示了基本的块, 指明何时及这些块如何被创建, 最后, 展示了你可以扩展应用程序的区域. 每个应用程序构建块的概述在本文的后面给出.XPO - 数据管理级当构建一个业务应用程序时, 基本上都需要处理数据. 如果使用eXpressApp Framework, 事实上你不需要在 DBMS 中创建一个数据库, 定制表, 字段等. 你不需要使用低级的 结构访问数据. 而是使用内建的" 对象-关系映射系统?eXpressPersistentObjects 库 (XPO 在上图的底部). 这个库也可以单独购买. 它最初发布于2004年, 意味着你可以确信它是经过良好测试, 可靠的和全面的产品. XPO 允许你使用熟悉的代码结构 - 类, 属性和 attributes 来为应用程序描述数据. 要创建一个数据表, 你需要声明一个类. 它的公共属性将在表中声明为数据字段. 当然, 你可以创建所需的许多表, 并使用专门设计的 attributes 来指定表间关系. 注意在构建这些类时, 你不需要做大量额外的工作. 你只需要从适当的类派生它们, 以及提供一组 attributes - 这就够了. 为了帮助你入门, 我们提供了在下面小节中描述的业务类库(Business C lass Library). 该库包含几个备用的类, 你可以集成到应用程序中. 你也可以重温这些类的源代码, 把它们作为适当数据声明的示例. 因为一个数据表是通过类描述的, 实际数据是通过类的实例集合来描述的. 因此, 要修改特定记录的某个字段, 你需要从集合中获取所需的对象, 并修改它的属性. 这是一种非常简单和更自然的管理数据的方法. 它隐藏了所有实现细节, 让你专注于应用程序程序的业务逻辑.Page 5ABC Amber CHM Converter Trial version, /abcchm.html 通常, 你不需要考虑实际的数据库, 除非需要使用你的应用程序来修改DBMS. Microsoft SQL Server 是默认的选择. 当前 XPO 也支持 Microsoft Access, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2 和 Sybase. 修改目标 DBMS 时, 所有你需要做的是提供一个适当的连接字符串. 这在连接一个 XAF 应用程序到数据提供程序主题中进行详述.使用下列链接获取更多关于 XPO 的信息.? ? ?业务模型设计(Business Model Design) 在此 eXpressApp Framework 指南课程中, 你将学习如何为自己的应用程序描述数据. eXpress Persistent Objects 在线文档. 阅读 XPO 帮助文件来获取关于该库的全面信息. 业务类与数据库表(Business C lasses vs Database Tables). 在这一主题中, 你将学习如何以及为何 XPO 被用于 eXpressApp Framework. 为已有的数据表生成持久化对象 (需要 Internet 连接). 这篇文章提供了如何为已有的数据库生成业务类的步骤.业务类库(Business Class Library)业务类库 (Business Class Library) 为你提供了下列内容:?使用例如 Person, Note, Organization 等实体定义某些公共的类. 你可以原样使用这些类, 或者在需要扩展或修改它们时派生出自己的类. 你也可以重温这些类的源代码来学习如何适当地实现自己的数据结构. 你可能需要实现数据类的接口. 某些 eXpressApp Framework 的子系统要求数据遵守特定的规则. 举一个实例来说, 安全子系统需要 User 类实现 IUser 接口. 因此, 如果你已决定开发自己的类来描述应用程序程序用户, 你也需要实现此接口.下图展示了某些可在业务类库 (Business Class Library) 中找到的类.要学习如何使用业务库类(Business C lass Library), 请参阅下列主题:?从业务类库的类继承并从业务库中添加一个类在这些 eXpressApp Framework 指南的课程中, 你将学习到如何从业务类库中使用某个类. 业务类库(Business C lass Library) 在此主题中, 你将学习何时以及如何使用业务类库.视图(Views)eXpressApp Framework 的一个关键功能是基于应用程序数据, 自动生成用户界面. 假定你已经声明了一个描述某个人的 XPO 类. 要得到一个存储通讯录信息的应用程序, 基本上这就是所有你需要做的事.你可以简单地启动应用程序, 它将使用某个表格控件来显示一个个人列表. 你可以添加新的条目或修改已有的条目.Page 6ABC Amber CHM Converter Trial version, /abcchm.html 这些操作是通过自动生成一套独立的编辑器来执行的, 每个编辑器都绑定一个特定的字段. 自动生成的用于显示和管理数据的用户界面元素被称为视图(Views). 显然, 有两种类型的视图:列表视图 (List Views) 列表视图(List Views)是应用程序的根模块. 最一般地, 这些是显示工作集合(数据表)的表格. 当你启动项目时, 你可以看到其中之一, 你可以使用导航控件(Windows 窗体应用程序中的浏览器栏, 应用程序中的导航标签页) 在它们之间切换.细节视图 (Detail Views) 这种视图类型处理单个对象(数据记录), 并通过独立的编辑器呈现属性值. 当添加一条新记录或修改已有记录时, 你可看到这种视图.视图主要使用 Developer Express 生产的控件来构建, 并在 DXperience 商标下分发. 例如, Windows 窗体视图使用诸如 XtraGrid 和 XtraEditors 等套件生成. 视图使用 ASPxGridView and Editors 套件中的编辑器与 ASPxperience 库生成. 当然, 你可以使用所需的任何控件来描述一个列表视图(List View)或作为在细节视图内的编辑器. 要把你自己的控件在应用程序中使用, 首先需要派生于特定的设计类. 然后, 修改应用程序模型(在下面描述), 把你的编辑器指定为特定数据类型的默认编辑器, 或作为一个编辑器指派到某个特定的字段. 关于视图和其他用户界面元素的信息, 请重温用户界面构建帮助章节中的文档.控制器库(Controller Library)控制器是管理你的应用程序流的对象. 它们也负责最终用户交互. 即使是使用eXpressApp Framework 构建的最简单的应用程序, 也使用了大量内建的源自控制器库(Controller library) 的控制器. 这些默认的控制器主要负责数据管理. 在它们的帮助下, 你可以添加新记录, 删除已有记录, 执行全文搜索等.Page 7ABC Amber CHM Converter Trial version, /abcchm.html 在极大程度上, 控制器是作为行为 (Actions) 的容器. 就像 XPO 类是数据表的抽象, 行为(Actions)是最终用户交互元素 - 按钮 , 菜单等的抽象. 行为(Action)是用户界面元素和所关联代码的可视化描述. 因此, 你不需要处理特定编辑器, 工具栏系统, 上下文菜单等的低层实现细节. 同时, 更高级的抽象允许相同的行为(Action)被同时用于 Windows 窗体和 Web 应用程序. 关于实现你自己的控制器和行为(C ontrollers and Actions)的信息, 请重温下列文档:?指南 | 扩展功能该指南章节展示如何通过控制器的帮助, 扩展你自己的应用程序的用户界面. 你将创建有不同的行为(Action)类型的控制器, 以及无单个行为(Action)的控制器. 基本原理| 扩展功能此指南章节详述了使用新特性扩展应用程序的eXpressApp Framework 控制器-行为技术(C ontrollers-Actions technique).报告(Reports)业务应用程序不只是用于管理数据. 它也常用于分析趋势, 问题区域和资源瓶颈. 并且你可能需要拥有自己的屏幕和纸质形式的数据报告.你可以通过内建的全功能报告引擎 - XtraReports 套件来实现. 在它的帮助下, 你可以自由构建任何所需的报告, 在 Windows窗体和 Web 应用程序中查看它们, 当然也可以把它们打印出来. 所有使用eXpressAppFramework 构建的应用程序都包含报告模块. 在 Windows 窗体应用程序中, 你可以切换到该模块, 在运行时刻使用集成的最终用户设计器(End-User Designer)来添加新的报告和定制它的内容. 这也是你为应用程序的最终用户创建预定义报告的途径. 使用相同的方法, 最终用户也可以创建他们自己的报告. 但要注意在 Web 应用程序中, 报告只能被查看 - 因为目前 XtraReports 套件不支持基于网页的最终用户设计器. 通过打印某个控件或执行一个报告产生的输出, 可以被导出成为许多种格式, 包括 RTF, HTML 和PDF. 要学习更多关于集成报告系统的内容, 请参阅下列文档:? ?创建一个报告在这个 eXpressApp Framework 指南的步骤中, 你将学习到如何创建一个简单的报告, 并把它嵌入到自己的 XAF 应用程序中. XtraReports 套件在线文档在线浏览 XtraReports 套件文档. 报告模块(Reports Module) 此帮助章节中的主题详述了所有由报告模块所提供的特性和技术.除了报告功能外, eXpressApp Framework 提供了额外的可被 XAF 应用程序使用的功能. 具体内容请参阅下列主题:?指南.其他模块(Tutorial.Extra Modules) 基本原理.其他模块(C oncepts.Extra Modules)Windows 窗体和 Web 应用程序eXpressApp Framework 的一个主要目标是从应用程序的可视化描述中分离出业务逻辑. 这使得基于相同的业务逻辑来同时创建 Windows 窗体应用程序和 Web 站点成为可能. 当你使用 eXpressApp Framework 来帮助创建一个新的应用程序解决方案时, 有五个项目被生成:? ? ? ?应用程序模块 (Application Module) 这是一个类库项目, 它包含基本的业务对象, 以及任何其他不在 Windows 或网页用户界面上明确的代码. 在理想状态下, 这是唯一的需要你编写代码的地方. 用户界面区将被自动构建. Windows 窗体应用程序项目(Windows Forms Application Project) 包含了指定你的应用程序的 Windows 窗体版本的代码. Web 应用程序项目 (Web Application Project) 包含了指定基于浏览器界面的代码. Windows 窗体应用程序模块 (Windows Forms Application Module) 用于实现Windows 窗体应用程序版本的应用程序元素. 应用程序模块 ( Application Module) 用于实现 Web 应用程序版本的应用程序元素.要学习更多关于这些应用程序解决方案组件的内容, 请参阅应用程序解决方案组件(Application Solution C omponents) 主题.应用程序模型(Application Model)所有eXpressApp Framework 用于构建用户界面的信息, 都出自应用程序模型(Application Model). 例如, 这些信息包括用于特定数据类型的编辑器类, 或与特定字段关联的标签(labels). 应用程序模型(Application Model) 自动填充应用程序组件(例如业务对象或控制器)所需的元数据.Page 8ABC Amber CHM Converter Trial version, /abcchm.html 应用程序模型(Application Model)定义文件被存储为 XML 格式, 因此可以轻易地被人为修改. 但是, eXpressApp Framework 甚至提供了更轻松的方式 - 模型编辑器 (Model Editor), 它被集成在 Microsoft Visual Studio 中. 你可以在设计时刻和运行时刻使用它.要在设计时刻运行它, 则在解决方案资源管理器中, 双击任意模块中的或应用程序项目中的一个 .xafml 文件. 要获得更多关于应用程序模型(Application Model)的信息, 请参阅下列主题:?定制用户界面(UI C ustomization) eXpressApp Framework 指南中的此节课程, 演示了如何使用应用程序模型(Application Model) 修改应用程序的用户界面的某些外观. 应用程序模型(Application Model) 这篇帮助章节详述了应用程序模型(Application Model)的加载, 以及如何使用它定制应用程序的用户界面.参阅关于 XAF 的 10 项需要知道的内容 (需要 Internet 连接) 创建和更新应用程序的数据库发送关于此主题的反馈. ?2000-2009 Developer Express Inc. All rights reserved. Page 9ABC Amber CHM Converter Trial version, /abcchm.html 全部折叠全部展开语言过滤: 全部语言过滤: 多个语言过滤: Visual Basic 语言过滤: C# 语言过滤: JScript Visual Basic C# JScripteXpressApp Framework应用程序解决方案组件(Application Solution Components)参阅eXpressApp Framework 主页 > eXpressApp Framework 架构 > 应用程序解决方案组(件Application Solution C omponents)要使用 eXpressApp Framework 开发一个应用程序, 首先要创建一个应用程序解决方案, 就像在创建和运行一个新的解决方案主题中描述的那样. 这是一个特殊设计的解决方案类型, 包含几个项目和服务文件夹. 此主题演示这些项目和文件夹的用途. 同时, 我们将以图解形式说明扩展你的应用程序的基础操作, 并删除不需要的部件.应用程序解决方案结构(Application Solution Structure)最初的一个应用程序解决方案包含下列内容:? ?Windows 窗体应用程序项目包含特定的 Windows 窗体应用程序版本的代码. (译者注: 使用 XAF 创建的 Windows 窗体应用程序项目的默认名称为: 解决方案名称.Win, 例如 MySolution.Win) Web 应用程序项目包含了基于游览器界面的特定代码. (译者注: 使用XAF 创建的 Web 应用程序项目的默认名称为: 解决方案名称.Web, 例如MySolution.Web) 模块项目使用这个程序集实现 UI-independent 应用程序元素. 例如, 在它内部你可以定义一个业务模型. 随后, Windows 窗体和 Web 应用程序都拥有一个类似的业务模型. (译者注: 使用 XAF 创建的模块项目的默认名称为: 解决方案名称 .Module, 例如 MySolution.Module) Windows 窗体模块项目使用此程序集为Windows 窗体应用程序版本实现应用程序元素. 此程序集只在 Windows 窗体应用程序项目中引用. ( 译者注: 使用 XAF 创建的Windows 窗体模块项目的默认名称为: 解决方案名称.Module.Win, 例如 MySolution.Module.Win) Web 模块项目使用此程序集为 Web 应用程序实现应用程序元素. 此程序集只在 Web 应用程序项目内引用. (译者注: 使用 XAF 创建的 Web 模块项目的默认名称为: 解决方案名称.Module.Web, 例如 MySolution.Module.Web)模块模块非常类似于标准的类库项目.不同之处是每个模块都包含一个 ModuleBase 类的子类. 这是 eXpressApp Framework 如何从其他程序集中辨别模块的关键. 这是必需的, 因为在模块内部声明的类被自动化用户界面生成器使用. 例如, 如果你在模块内部定义了一个控制器(C ontroller) 的子类, 那么应用程序将在每个窗体中创建它. 这将允许你在控制器被激活时实现定制代码(参阅控制器). 如果你在一个普通的类库中进行相同的定义, 则什么都不会发生. 在每个解决方案中不限于只有三个模块. 通常, 每个模块都可以分别有一个特性(feature), 以便于在其他 XAF 应用程序中使用独立的定制模块. 要添加一个新的模块, 遵循下列步骤:使用鼠标右键单击应用程序解决方案根节点, 并在呼出的上下文菜单中选择添加 | 新建项目 ......Page 10ABC Amber CHM Converter Trial version, /abcchm.html 选择添加新项目对话框中的 New Module(新建模块 ), 为新建的模块指定一个意义明确的名称, 然后单击确定按钮.把对新建模块的引用, 添加到应用程序项目中, 然后添加一个条目到应用程序项目配置文件(app.config 和 web.config ) 的模块列表. 具体细节请阅读下面的"使用其他模块"小节.通过声明一个 ModuleBase 类的子类, 你也可以把一个普通的程序集转换为一个模块. 要这样做, 把一个应用程序模块的 XXXModule.cs (XXXModule.vb) 文件作为一个原型(prototype). 简单地重命名该类, 并设置正确的命名空间.注意Page 11ABC Amber CHM Converter Trial version, /abcchm.html 不推荐从模块继承. 那也是 ModuleBase 类必须被密封的原因.重要事实所描述的应用程序解决方案结构允许你做下列操作:? ?如果 Windows 窗体和 应用程序使用相同的模块, 那么它们可以基于相同的业务逻辑被构建. 网页和 Windows 窗体应用程序项目不是模块. 所有参与自动用户界面生成的类, 应该被定义在引用模块内. 如果你不需要 Windows 窗体应用程序或 Web 网站版本, 你可以从解决方案中删除相应的项目. 在这种情况下, 最简单的应用程序至少包含两个项目: 应用程序项目和一个模块.使用其他模块eXpressApp Framework 允许在 XAF 应用程序中使用其他模块: ? 你可以使用 XAF 模块. 它们与 XAF 安装一起提供. 例如, Scheduler 模块提供了在业务应用程序中创建一个计划任务需求的所有功能. ? 如果某个特性不完全能满足你的需求, 你可以扩展或修改 XAF 模块. ? 你可以使用第三方模块. ? 你可以在不同的 XAF 应用程序中使用自己的模块. 要在你自己的应用程序中使用一个其他模块, 则把它添加到应用程序项目或模块中. 如果这个模块要呈现为一个内建的 XAF 模块, 则使用应用程序设计器(Application Designer) 或模块设计器(Module Designer). 如果这个模块呈现为一个定制模块, 你可以使用下列选项:? ? ? ? ? ? ?在工具箱 (Toolbox) 中注册这个模块, 以便于在必要时你可以把它拖放到应用程序设计器或模块设计器中. 具体内容请参阅 MSDN 中的如何 : 添加一个项到工具箱中主题. 直接把这个模块添加到应用程序项目中(不使用应用程序设计器). 要达此目的, 在应用程序项目中引用此模块, 并添加一个条目到应用程序项目配置文件(App.config 和Web.config)的模块列表中:。
ControlMaestro - Logline1GENERAL (3)1.1Purpose (3)1.2Events (3)1.3ControlMaestro (3)1.4Communication (4)1.5Used version: (4)2HIQUAD (5)2.1Events (5)2.2Modbus Interface (5)3INSTALL CONTROLMAESTRO (7)3.1Create a template project (9)4CREATING A NEW CONTROLMAESTRO PROJECT (9)4.1Basic settings (11)4.1.1User Management (11)4.1.2Paths (11)4.1.3Station name (12)4.1.4Further Settings (13)5COMMUNICATION (13)5.1MODBUS via RS 485 (13)5.2HIMA OPC Alarm&Event (15)5.2.1Settings A&E server (15)5.2.2Tap: Connection (16)5.2.3Tap: Alarm (16)5.2.4ControlMaestro A&E Client (17)5.2.5Setting ControlMaestro (19)6DEFINE TAGS (20)6.1Modbus (20)6.1.1Time Synchronization (22)6.2HIMA OPC A&E (23)6.2.1Time Synchronization (23)7DEFINE ALARMS (23)8EVENTS SUMMARY (26)8.1Creating Events Summary (26)8.2Properties all Events summaries (26)8.3Properties for individual Events Summaries (26)8.4Displaying Historical Alarms (28)8.4.1Alarm history folder (28)8.4.2Options (29)8.5Layout - Arrangement of windows (30)9USER MANAGEMENT (31)9.1User (31)9.1.1Create new User (32)9.2Groups (32)9.2.1Create new group (33)9.3Assign member to group (34)9.4Define default login for start up (34)10TIPS AND TRICKS (36)10.1Delete old History files (36)10.2Import and Export (38)10.3Defining events in ELOP II (40)10.4Saving the project (40)10.5Trouble shouting (40)10.5.1No communication using Modbus: (40)10.5.2Password required: (40)11CHANGES (41)1 General1.1 PurposeThis document will describe the necessary steps to read events from a HIQuad-System and send them to a ControlMaestro PC. On the PC, the events are displayed within Control-Maestro using LOGLINE.Fig. 1.1The document covers• preparations of events on the HIQuad-System • communication from HIQuad to ControlMaestro • display of events• parameters for ControlMaestro LOGLINEThe chapter 4 to 8 can be read like a step guide.In addition, there are chapters that will show some additional features to configure ControlMaestro• layout management • user management1.2 EventsThe HIQuad-System provides a special memory area reserved for events. Event means that a BOOL signal changes from FALSE TRUE or TRUE FALSE. The events are indentified by numbers. Each change is documented with time stamp and direction of change. This set of information is available to other systems (such as ControlMaestro).1.3 ControlMaestroControlMaestro is a tool for visualization the status in a PES (programmable electronic system).This document does not cover all functionality of ControlMaestro. It will only describe the functionality of LOGLINE in connection with events on the HIQuad-System. LOGLINE means displaying the incoming events in Events Summaries .ControlMaestro is running on the PC and has a communication to one or more PES.iControlMaestro offers a huge amount of adjustments. This document does only cover a small part.1.4 CommunicationThe communication is done via•Modbus over the RS485 interface •OPC A&E over ethernet1.5 Used version:Fig. 1.2+Service Pack 2.Fig. 1.32 HIQuad2.1 EventsThe events are defined during programming the HIQuad-System with ELOP II. Each BOOL-Variable can get an Event No.Fig. 2.1The number of events in ELOP II and in ControlMaestro must be the same. Otherwise communication is not working.i The count starts with ‘0’.Even when the Event No. 0 is not used, it will be part of the count.TIPP For a reloadable code, the number of events must stay the same.2.2 Modbus InterfaceThe HIQuad system can only act as MODBUS slave.The Modbus is defined manually or as an alternative via a bus setting. How the parameters are set is not essential, important are the settings of Baud rate, Stop bits and Parity.Fig. 2.2Each member on a Modbus link must have a unique BN (bus number). The BN is adjusted on the CU (Central Unit) of the HIQuad system. The bus number is selected via dipswitches on the main board. Refer for more information the datasheet of the CU.Fig. 2.3The selected BN can be checked on the display installed on the CU(s). Operate the right front switch once down and the left three times right.X3 x1Fig. 2.43 Install ControlMaestroIf your system allows auto start, the installation menu will come up. Otherwise, open the file manager and select start.exe.Fig. 3.1If necessary, install also Java 2.Fig. 3.2It is not necessary, to install the Internet Information Server.Fig. 3.3Choose your installation path and the language.i The choice of the Application Language can be only done once. There is no optionto change the language later.Fig. 3.4Do not install all options. Choose the type Custom.Fig. 3.5Do not select System Security.Fig. 3.6Do not forget to Log OFF and Log On before using ControlMaestro.Fig. 3.7Make sure to add all available Patches and Service Packs. Some may be available on the CD (refer Fig. 3.1 Patch… other) some updates must be downloaded from the homepage. 3.1 Create a template projectStart ControlMaestro by a click on the ControlMaestro icon.Fig. 3.8Before creating a project for a special application, it is possible to create a template project. There is no restriction for the template project; any earlier project can be used. Nevertheless it is useful do define a very general project for this purpose.4 Creating a new ControlMaestro projectWhen you open ControlMaestro, a wizard comes up.Fig. 4.1Choose a name and a path for the project.Fig. 4.2ControlMaestro are creating files into the folder. Be aware that the last folder-level (here Test_Project) is already part of the project.Fig. 4.3ControlMaestro starts the application studio.Fig. 4.44.1 Basic settings4.1.1 User ManagementControlMaestro creates automatically a default user. With the next opening of the project, the user is active.Login: userPassword: passwordTIPP Especially while creating, the project needs multiple restarts. Set the User as default login during start up, to avoid to the login. Refer chapter 9.44.1.2 PathsControlMaestro will need several paths for various information, such as Alarm History, Alarm Help,…The standard setting puts the paths relative to the project folder. The information is stored in the cmcfg.dat file. Refer also to Fig. 4.3../ indicate a path in the same level as the project../ indicate a path one level higher then the projectFig. 4.5It is also possible to show the paths within ControlMaestro project. In the window Set DefaultFig. 4.6i If the menu Set Default Paths (refer Fehler! Verweisquelle konnte nicht gefundenwerden.) is closed with Save, the content of the cmcfb.dat file is changed to the absolute paths. If the project is moved, the paths will not adjust automatically.Tip It is useful to make any changes of paths in the cmcfb.dat file and then set the write protection.The menu Set Default Paths is only used for checking. The write protectionmakes sure that the file cannot change unintended.4.1.3 Station nameFig. 4.7A restart of ControlMaestro is necessary to activate the settings.4.1.4 Further SettingsFig. 4.85 Communication5.1 MODBUS via RS 485ControlMaestro provides for various systems a number of drivers. Choose the driver for the HIMA-HIQuad-System.Open the Control Panel.Fig. 5.1Select the HIMA driver.Fig. 5.2In the next step, the system needs to know the parameter for the connection.Fig. 5.3Insert required communication parameters. Refer for Fig. 2.2.Fig. 5.4For a basic setting, there is no need to define blocks.Fig. 5.5Fig. 5.6A restart of ControlMaestro is necessary to activate the settings.5.2 HIMA OPC Alarm&EventIf the HIMA OPC Alarm&Event server (A&E server) is used for communication between the HIQuad system and the ControlMaestro, several intermediate steps necessary.Fig. 5.7The communication from HIQuad to the A&E server must be already established. For a detailed description, refer to HIMA OPC Alarm&Event Manual.This chapter descrips only the basic steps to establish the communication from the A&E server via the ControlMaestro A&E Client and to ControlMaestro. It covers only the situation with A&E server, A&E Client and ControlMaestro installed on the same computer.For further information refer to the manual Configuration of Wizcon for OPC Alarm&Event.5.2.1 Settings A&E serverUsed versionFig. 5.8The settings regarding• Alarm Text • S everity • Alarm State• Auto Acknowledgeare only done within the A&E server.Fig. 5.9ControlMaestro (Logline)5.2.2 Tap: ConnectionFig. 5.10Nameshould equal the variable name in ELOP IIDescriptionfirst part of the alarm textThe remaining settings must not be changed5.2.3 Tap: AlarmFig. 5.11Alarmmust be markedReturn to normalmust be markedStateselect the state that cause the alarmMarked: Alarm with a status of “1”Unmarked: Alarm with a status of “0”Prioritymust be the same for both entriesequals severity in ControlMaestroMessage Textsecond part of the alarm textmust be the same for both entriesAck (for Alarm; upper)must be markedAck (for Return to normal; lower)marked: the alarm needs to be acknowledged in ControlMaestrounmarked: Auto acknowledgementSave the configuration in the *.him file.Close the OPC A&E Server5.2.4 ControlMaestro A&E ClientUsed versionFig. 5.12The ControlMaestro A&E Client (A&E Client) is already part of the ControlMaestro installation. It can be found in the Bin/Drivers-Folder of the installation directory.cmAE_client.exeIn normal operation the client will work invisible in the background. During configuration the client must be visible.Open the APPTUNE.DAT-file, which is located in your ControlMaestro project directory, with Editor or WordPad. Ad the following line to the APPTUNE.DAT-file:OPCAE_HMICLI_VISIBLE = TRUEA restart of ControlMaestro is necessary to activate the settings.Open the A&E Client and select the A&E server.Fig. 5.13Fig. 5.14For each connection, A&E-Client can take several subscriptions. It is through the sub-scriptions that A&E-Client transmits the alarms and events to ControlMaestro.Fig. 5.15Parameters:•NameName you wish to give to this subscription•ActiveSubscription status; must be on•AnnunciatorThe alarms will be displayed in the ControlMaestro Event Summary •HistoryThe alarms will be kept in ControlMaestro archivesFig. 5.16Save the settings in a wae-file. The file must be stored in the ControlMaestro project folder.Fig. 5.17Close the A&E Client.5.2.5 Setting ControlMaestroThe A&E-Client must start together with the ControlMaestro application setup.Change to ControlMaestro and adjust the handling of the A&E-Client within ControlMaestro. Add the A&E-Client as an application. If the wae-file is in the ControlMaestro project path there is no additional path necessary. Other parameter can be left to default.Fig. 5.18Close the A&E-Client.Switch the visibility of the A&E-Client to off.APPTUNE.DAT-file: OPCAE_HMICLI_VISIBLE = FALSEA restart of ControlMaestro is necessary to activate the settings.6 Define Tags6.1ModbusFig. 6.1There must be a Tag for each event. This Tag is only necessary to ‘reserve’ space in the ControlMaestro memory. Therefore, the Sample is set to Never . The Address is assembled with• E for event • 2nd + 3rd digit bus number (Modbus Slave) refer chapter 2.2, Fig. 2.4 • 4th – 7th digit event numberTIPP Using the name from the HIQuad system as Tag Name , improve thetraceability.Fig. 6.2In addition, there is the actual Tag that controls the Modbus request with the function codes 66 and 67. Here Sample is set to Always.The Address is assembled with•1st + 2nd digit bus number (Modbus Slave) refer chapter 2.2, Fig. 2.4 •3rd digit $•And the rest must be EVENTFig. 6.3Fig. 6.46.1.1 Time SynchronizationThere is a special Tag for time synchronization between the ControlMaestro –station and the PLC.TIPP If your system makes the change to Summer time (Day light saving time) it is recommended to synchronize every hour.Fig. 6.5$TIME is a system variable, which contain the current time of the system (here: PC with ControlMaestro)To trigger the synchronization every hour there must be a function programmed in the ControlMaestro Language.Fig. 6.6Fig. 6.7First press Append then Save to close the window.i Within the expression of THEN there is blank after the ‘1’The system variable $NEWHOUR send a TRUE-impulse every full hour. The expression @Tag_Name (here @TIME_SYNC) is the current value of the tag.Meaning of the function: With the change of the system variable $NEWHOUR the Valueof the tag is toggled. With each toggle, the time synchronizationis triggered and send the current time ($TIME) to the system.6.2 HIMA OPC A&ENo tags must be defined.6.2.1 Time SynchronizationNot necessary7 Define AlarmsIt is not necessary to define Alarms if a HIMA OPC A&E-Server is used.Alarms will be displayed in an extra window the Events Summary (refer chapter 8). The origin of an Alarm is the Tag. Each Tag will get an Alarm. The definition, which value equals an alarm status, is done within the Alarm.Fig. 7.1Use the right mouse key to open the menu. Select the Tag for the Alarm Condition.Fig. 7.2The upper selection is the station name (refer chapter 0). The lower selection corresponds with the defined Tags (refer chapter 0).Fig. 7.3Add an operator to the Alarm Condition –again with right mouse key and then finish the term with “1”. Also, choose Severity and mark the Targets as Events Summery. As Attribute will be System Wide and Record to file.Fig. 7.4Fig. 7.5Set the time format for the properties of the Alarms on Date +Time + MilliSeconds.Fig. 7.6The settings will be activated after a new start of ControlMaestro.8 Events SummaryThe Events Summary is the window where an alarm is displayed.8.1 Creating Events SummaryFig. 8.18.2 Properties all Events summariesFig. 8.28.3 Properties for individual Events SummariesThe individual Events Summary must be open. Open the settings for the display and select Online.With Online active all alarm are display that are•active•not acknowledged•active and not acknowledgedFig. 8.3Here you can adjust the color code in relation to Severity (refer also Fig. 7.4). The Severity is not an absolute value. The given values are defining the upper limits.E.g. the alarm has a Severity of 39 and is displayed with color assigned to 40.i As an alternative to Severity, you can also use Zone.Zone is not available for the communication with the HIMA OPC A&E serverFig. 8.4In addition, the order and number of columns can be adjustedFig. 8.5It is possible to adjust the position and the size of the Events Summary.In case also the Close button should be hidden, please disable the System Menu.Fig. 8.68.4 Displaying Historical AlarmsAll Alarm are stored in a dbf-file and can be found in the folder of Alarm History (refer Fig.4.5 -AlertHistory). For each day, a separate file is created (e.g. AL020810.dbf).i In the file, the time stamps are given in seconds since 1970.TIPP The files can be analyzed with MS EXCEL.It is also possible to display the stored alarm with in a separate event summary. For this The attribute Online must be off.Fig. 8.7Events that are not shown but stored in the history can be displayed in a separate window. The Setting of the Display are the same as in chapter 8.3 described.When Online is not selected, within Report the Options and Alarm history folder are enabled.Fig. 8.88.4.1 Alarm history folder…The Alarm history folder can create individually. The default path is given in cmcfg.dat. Refer Fig. 4.5.The menu point offers the choice between the default path and an individual path.Fig. 8.98.4.2 Options…With the menu, Options… there are filter options for•Start time•End time•Ackt. time (Acknowledge time)The data can be given absolute or relative to the actual time. For the setting always start with the Indicator.Example AFilter:•Every entry (Start time) since 2.8.2010 up to now•Severity > 11Fig. 8.10Example BFilter•Every entry (for Start time) since 2.8.2010 up to now•Not the last 20 minutesFig. 8.118.5 Layout - Arrangement of windowsAn arrangement of windows is called a Layout. All windows, which should belong to one layout, have to be open in this moment. The Layout will saved (captured) what is currently visible on screen.Fig. 8.12It is possible to save more then one layout.9 User ManagementThe User Management is structured in User and Groups. Every User can belong to one or more Groups.Fig. 9.19.1 UserThe default setting is one User with a default password.Fig. 9.2The standard password: passwordThe default user is active with the first opening of the project.9.1.1 Create new UserFig. 9.3A Layout (refer chapter 8.5) can be assigned to each User.9.2 GroupsThe default setting is one group ‘Administrators’Fig. 9.4The default member of the group ‘Administrator’ is the (default) user.Fig. 9.5Groups can be used to restrict the project access. The Menu Authorization limits the access of menus to certain groups.Fig. 9.6Before the groups can be assigned, the tick for ‘All groups and users have access permission’ must be removed.9.2.1 Create new groupFig. 9.79.3 Assign member to groupA User can be a member of more then one group. The assignment can be done within the User Properties or the Group Properties.Fig. 9.89.4 Define default login for start upFor project start it is possible to define a default login called Default user(do not confuse with the user with the full name Default user). The Default user will be automatically logged into the project.Fig. 9.9As an option, you can set the default also within the Users.i There is no password check for the default user.Fig. 9.10With the default user, the associated Layout is also the start layout. Refer chapter 9.1.110 Tips and Tricks10.1 Delete old History filesWith the ControlMaestro Language it is possible to limit the number of Alarm History-files.Fig. 10.11. Creating the TagFig. 10.22. Open the ControlMaestro Language3. Fill in the first command into the dialog boxDescription arbitraryPrevious state Executed On ChangeIf$NEWDAYThen BEGIN; @DEL_MONTH=$MONTH-3The time limit is set to 3 month.Overview: AllFig. 10.34. Select AppendThe command gets automatically a number and will be displayed in the overview.5. Add second commandIf@DEL_MONTH<1Then@DEL_MONTH=12+@DEL_MONTH6. Select Append7. Add third CommandIf@DEL_MONTH<10Then shell “F:\20_TestProjekte\ControlMaestro\Test_Project\AL??0"@DEL_MONTH"??.*"8. Select Append9. Add forth CommandIf@DEL_MONTH>9Then shell “F:\20_TestProjekte\ControlMaestro\Test_Project\AL??"@DEL_MONTH"??.*"10. Select Append11. Add fifth CommandIfThen END12. Select Save13. Answer the question with yes.i In the example, the first command is for time synchronization, thereforenumbering for the example does not start with ‘1’Tipp Make sure that the related commands are identifiably as part of the same procedure10.2 Import and ExportThis chapter does only descript the Import of Tags. The procedure is the same for Alarms. First, create an example Tag and make an export.Fig. 10.4TIPP Choose as a target CSV. CSV is easy to manipulate in EXCEL.Fig. 10.5The file is generated into the directory of the ControlMaestro project. Open the file in EXCEL and add the Tags. The majority of the columns content stays the same.For TagsThe important columns are marked in Fig. 10.6.Rec No must get any number(ControlMaestro will generate a unique number during import)Gate Name must be uniqueDescription optionalAddress must be uniqueFig. 10.6For AlarmsThe important columns are marked in Fig. 10.7.No must get any number(ControlMaestro will generate a unique number during import)Exp must be correct in the syntaxText this text will appear in the event summerySev SeverityZone optionalFig. 10.7Save the file as CSV and then import into the ControlMaestro project.Fig. 10.8Read the Information carefully and choose accordingly.Fig. 10.9For more details choose check emation.de10.3 Defining events in ELOP IINumber of eventsThe number of events in ELOP II and in ControlMaestro must be the same. Otherwise communication is not working.Reloadable codeReloadable code is only possible if the number of events does not change.i A deleted event, will still occupy the memory area. Means the event in ELOP IIare still existing for ControlMaestroTIPP Reserve enough spares for later upgrades.A deleted, now unused, event can be used in another context again.10.4 Saving the projectBefore making a zip-file of the project delete files you do not need:•Application directory:o Errorso errors.DATo*.bak10.5 Trouble shouting10.5.1 No communication using Modbus:•check baud rate (cmvpi.dat)•check ControlMaestro addresses with ELOP II addresses.•number of events in ControlMaestro must be the same in ELOP II•If ELOP II is working on the same PC then ControlMaestro and using the same interface (e.g. COM1), ELOP II must be closed to give the interface free.10.5.2 Password required:ControlMaestro will require password after creating a new project and restart of Controll-Maestro.Standard setting:Name: userPassword passwordHIMA Training Step guidance ControlMaestro 10.2(-LOGLINE)ControlMaestro_Eng_V10_2_Rev06.docELOP II / ControlMaestro Page 41/41 © by HIMA Paul Hildebrandt GmbH + Co KG. Any copy, even in extracts, are prohibited unless by permission from HIMA. 11 ChangesRev.: Date/Name Changing text:01 28.06.2004/ML Little updates0209.07.04/ML Chapter 10, hints according event names and assignment. 0308.08.2005/ML 0415.01.2007/ML , Historical Alarms 05 28.07.2010/ga Convert to ControlMaestroAdded Communication with HIMA OPC A&E server Deleted communication with HIMA OPC DA server0603.01.2011/ML Little updates。
unable find any feature in license file全文共四篇示例,供读者参考第一篇示例:在开发软件或者购买软件授权时,通常会出现无法在许可文件中找到任何功能的问题。
这种问题可能会导致无法正常使用软件,对于用户的工作或者生活造成一定程度的困扰。
解决这种问题是非常重要的。
我们需要了解为什么会出现无法在许可文件中找到任何功能的问题。
通常情况下,软件许可文件是由软件开发商或者供应商提供的一种授权文件,用于确认用户对软件的合法使用。
许可文件中包含了软件的功能和使用权限等信息,一般来说用户在安装或者激活软件时需要将许可文件导入到软件中,以便软件能够正常运行。
有时候用户可能会遇到无法在许可文件中找到任何功能的情况。
这可能是因为许可文件本身的内容不完整或者损坏,导致软件无法识别其中的功能信息。
用户在导入许可文件时可能出现操作错误,也会造成无法找到功能的问题。
针对这种情况,我们需要采取一定的解决措施来解决无法在许可文件中找到任何功能的问题。
用户需要确认许可文件的完整性和正确性,可以联系软件开发商或者供应商重新获取一份完整的许可文件,并确保正确导入到软件中。
用户需要仔细检查导入许可文件的操作步骤,避免操作错误导致功能无法找到的问题。
用户还可以尝试重新安装或者重新激活软件,有时候重新安装软件可以解决许可文件无法找到功能的问题。
用户还可以尝试更新软件版本或者升级软件,有时候新版软件可能会修复一些许可文件的问题,从而解决功能无法找到的情况。
无法在许可文件中找到功能是一个比较常见的问题,但是并不是无法解决的。
用户可以通过认真核实许可文件的内容和导入操作,或者尝试其他解决方法来解决这种问题。
解决了许可文件无法找到功能的问题,用户就可以正常使用软件,提高工作效率和生活质量。
第二篇示例:每个软件产品在使用过程中都需要合法的许可证文件来保证其正常运行。
许可证文件通常包含了关于软件所拥有的特性和功能的详细信息,以及用户的许可使用权利。
AN-905APPLICATION NOTEOne Technology Way • P .O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • VisualAnalog™ Converter Evaluation Tool Version 1.0 User ManualRev. 0 | Page 1 of 40INTRODUCTIONVisualAnalog is a new way to test and characterize dataconverters, ADCs, and DACs alike. Whereas tools have been available in the past, they could perform a limited set of tests. Whereas these tools did provide many features, their flexibility was limited to just a few simple options. VisualAnalog provides the ability to customize the tests in a nearly limitless manner using a simple graphical user interface.VisualAnalog interfaces seamlessly with the DAC pattern generator (DPG) for DAC evaluation and the following ADC data capture boards for ADC evaluation: • HSC-ADC-EVALA • HSC-ADC-EVALB •HSC-ADC-EVALCPRODUCT HIGHLIGHTS1. Quick set up of both ADC and DAC characterization2. Easy testing of ADCs with reference DACs and DACs withreference ADCs3. Easy configuration of custom signal flow tests for ADCsand DACs4. Easy testing of converter models and comparison to realconverter devices06683-001Figure 1. Typical VisualAnalog CanvasAN-905TABLE OF CONTENTSIntroduction (1)Product Highlights (1)Installation of VisualAnalog (3)Instruction Notes (3)Quick Start for ADC Evaluation (4)VisualAnalog Software (6)Starting VisualAnalog (6)Using the Start-Up Form (6)Opening a Blank Canvas (7)Using the Main Form (7)Setting Canvas Properties (9)Placing Components (9)Connecting Components (10)Adjusting Component Parameters (12)Updating Results (13)Making Layout Changes (14)Using the Menu Bar (14)Using the Tool Bar (15)Using the Options Form (16)Data Types Overview (17)Real Waveform Data (17)Complex Waveform Data (17)Real FFT Data (17)Complex FFT Data (17)Analysis Data (17)Value Collection (17)Numeric Value (17)Tone List (17)Components Overview (18)Board Interfaces (18)ADC Data Capture (19)DAC Pattern Generator Interface (20)DAC Pattern Generator Control Form (20)Pattern Limitations (21)FIFO4.x Interface (21)Components Models (23)ADC Model (23)Components Processes (24)Array Math (24)Average (24)Bit Processor (24)Bit Shifter (24)Comment (24)Complex Waveform Merger (25)Complex Waveform Splitter (25)Data Router (25)FFT (25)FFT Analysis (25)Hilbert Transform (27)Input Formatter (27)Inverse FFT (27)Inverse Sinc (27)I vs. Q (27)Logic Analysis (27)Mixer (28)Output Formatter (28)Peak Hold (28)Power/Phase (28)Resampler (29)Resolution Formatter (29)Scalar Math (29)Stop (29)Subset (29)Waveform Analysis (29)Window Routine (29)Components Results (30)Data Grid (30)Graph (30)Pattern Saver (32)Components Sources (33)Filter Mask (33)Gaussian Noise (33)Pattern Loader (33)Tone Generator (34)VisualAnalog Example Canvases (35)ADC with ADC Data Capture Board (35)ADIsimADC Model File (35)Loading the DPG with a Simple Vector (38)Loading the DPG with a Complex Vector (39)Rev. 0 | Page 2 of 40AN-905 INSTALLATION OF VisualAnalogTo install VisualAnalog, you must have the following:• Administrator privileges• Microsoft® .NET Framework Version 1.1• The latest .NET Framework 1.1 service packsThe VisualAnalog installation package installs all of the items needed to use the VisualAnalog software along with the necessary drivers for the ADC and DAC hardware. INSTRUCTION NOTES• Disconnect all Analog Devices, Inc. ADC data capture boards and/or the DPG from the computer before installing the software. Be sure to finish the installation of thesoftware before attempting to connect any related hardware to ensure the proper installation and registration of thedevice drivers.• Note that you need administrator privileges when installing this software package and when connecting the ADCand DAC hardware to the computer for the first time. Ifusing the Hardware Wizard, follow through the instructions to install the software automatically. This allowsWindows® to complete the driver installation process. VisualAnalog is a Microsoft .NET application. Y ou musthave .NET Framework Version 1.1 on your machine torun VisualAnalog. The preferred way to obtain the .NET Framework is through Windows Update. Be sure to get the latest service packs available as well. To determine if the .NET Framework 1.1 is already installed on your computer, click Start, select Control Panel, and click Add or Remove Programs. When the window appears, scroll through the list of applications. If you see Microsoft .NET Framework 1.1 listed, you have the correct version and you do not need to install it.1. To ensure proper installation of all the components youmust have administrator privileges.2. Disconnect all ADC data capture boards and/or the DPGfrom the computer.3. Install the .NET Framework 1.1 and the latest .NETService Pack.4. Run the VisualAnalog installation executable. Follow theon-screen instructions to install all of the necessary files. If interfacing with the DPG, be sure to launch the Hardware Wizard at the end of the installation process to set up theappropriate DPG device drivers.5. Power up and connect the DPG and/or any ADC datacapture board to the computer to finish the driver installation process. If using the DPG, be sure to connect theDPG before the ADC data capture board. If not using the DPG, you can plug in the ADC data capture board at anytime after you install the software.Rev. 0 | Page 3 of 40AN-905QUICK START FOR ADC EVALUATIONWith VisualAnalog, it is easy to bypass the canvas interface and begin ADC evaluation immediately. To begin interfacing to a particular ADC right away, use the following steps:1. Connect and power the evaluation board, ADC data captureboard, and any other required board used for data transfer. Y ou can also supply the required clock and input signals to the ADC evaluation board. 2. Connect the ADC data capture board to the computerwith a high speed USB cable. If a driver installation dialog appears, as happens when using the ADC data capture board for the first time, proceed through the dialog steps.If the Hardware Wizard appears (see Figure 2), follow the instructions to install the software automatically. This allows Windows to complete the driver installation process.Figure 3. New Canvas Form5. Select the FFT icon and click Open .6.If you have an HSC-ADC-EVALC data capture board, a dialog box that asks for permission to configure the onboard FPGA may appear. If you prefer to use the current FPGA configuration, click Noto bypass configuration. 06683-003Figure 2. Hardware WizardOtherwise, click Yes to configure the FPGA. See the Using the Start-Up Form section for more information.06683-0023. Start VisualAnalog. For more information, see the VISUALANALOG Software section.4.The start-up form now appears. If an ADC was connected using the preceding steps, VisualAnalog attempts to detect it and selects the canvas template that supports the ADC on the start-up form. Note that the ADC must support SPI® functionality for the program to autodetect. If theADC does not support SPI, or if the program does not Figure 4. FPGA Configuration Dialog7. The main form appears in collapsed mode with your canvasopen and selected. Click Update to run the canvas.06683-00606683-007detect the ADC for any reason, manually select the tem-Figure 5. Update Buttonplate. See the Using the Start-Up Form section for more A Graph form should appear with the FFT results. If the graph information.does not appear, it is possible there was an error duringprocessing. Check the board connection and try again. If this does not fix the problem, expand the main form and check the canvas settings. For more information, see the Using the Main Form and the Components Overview sections.Rev. 0 | Page 4 of 40AN-905To view the time domain representation of the captured data, click Toggle Additional Plot on the graph form. See the Components Overview section for more information.06683-008Figure 7. Toggle Additional Plot Button06683-004Figure 6. Main Form and Graph FormRev. 0 | Page 5 of 40AN-905VisualAnalog SOFTWAREFigure 8. VisualAnalog Start-Up FormSTARTING VISUALANALOGAfter installing the VisualAnalog software, a Start menu item and a desktop icon should appear. To use the Start menu item, click Start , select Programs , select Analog Devices , click VisualAnalog , and select VisualAnalog .To use the desktop icon, click the VisualAnalog icon from the desktop.When the program starts, a splash screen appears while loading is in process, and the Start-Up Form appears after the splash screen disappears.USING THE START-UP FORMSelect the New tab at any time to load a blank canvas or a predefined canvas template. VisualAnalog maintains a list of templates that set up the canvas for running a common task or interface with a particular device.To select a canvas template, expand the Categories tree until the appropriate device is visible. Then, select an icon in the T emplates list and click Open. VisualAnalog opens the canvas.06683-00906683-115Figure 10. Visual Analog—New Canvas Windowautodetect to work correctly, both boards must be connected to the computer via a USB cable and powered up before the software is started. Windows must also recognize the ADC data capture board to ensure correct operation. If Windows does not recognize the board, then there is a USB problem. Refer to the data sheet of the particular board for more information. If VisualAnalog detects an ADC board, the software displays information in the status bar of the start-up form. In addition, itfinds an item in the category tree that supports the ADC device.06683-116Figure 9. Selecting a Canvas TemplateIf the software does not detect the ADC board at this point, manually select the correct category and template.VisualAnalog can detect a connected ADC board if that ADC supports a programmable SPI interface. In addition, an ADC data capture board that supports SPI must be used. For thisRev. 0 | Page 6 of 40AN-905When choosing a template that represents the detected ADC board, with an interface with to HSC-ADC-EVALC data capture board, a dialog box may appear that asks for permission to configure the on-board FPGA. If the HSC-ADC-EV ALC FPGA did not configure on power-up for the particular ADC you are evaluating, click Yes . Click No to bypass the FPGA configuration.If you check Do not show this message again , the software automatically performs the last selected action in the future, when choosing an applicable canvas template. If you want to change this option, access these settings from theOptions Figure 12. Opening a Blank CanvasUSING THE MAIN FORMThe VisualAnalog main form maintains all currently open canvases in an MDI environment. The left side of the screen 06683-119menu in VisualAnalog.shows available Components(see Figure 14). This form docks to the left by default, but can be moved and docked to any of the corners of the VisualAnalog program. In addition, the Components form can be floated and moved anywhere on screen, even outside the VisualAnalog window.Canvas ButtonsAs you open or create canvases, buttons are created across the tool bar, each button represent a canvas. These are canvas buttons. Y ou can use these canvas buttons to select or clear a canvas for updating. When the button appears highlighted, the canvas runs on the next update. Y ou must select the canvas in 06683-117Figure 11. FPGA Configuration DialogVisualAnalog maintains a list of FPGA files that correspond with a device ID that exists in the SPI register map of the ADC. When the software detects a particular device ID that exists in the table, it can choose a default FPGA configuration file. Note that this process only occurs when using the HSC-ADC-EV ALC. Select the Existing tab to browse for an existing canvas file. VisualAnalog maintains a list of the last five recently accessed canvas files. To access this list and open one of these recent files, select the Recent tab.Click Open , VisualAnalog opens the selected canvas file or canvas template.Click Cancel and the main form appears with no open canvases.order to run it.The text that appears on the canvas button is the Display Name for the canvas. Change this property by selecting Canvas > Properties .It is possible to collapse the main form (see Figure 13). This is useful when you want to conserve screen area and you do not need to adjust canvas settings. To collapse the main form, click the arrow on the right side of the main forms tool bar. Toexpand the form, simply click this button again.06683-012OPENING A BLANK CANVASTo open a blank canvas, navigate to Other in the category tree, and select the Blank Canvas template icon. Click Open .Figure 13. Collapsing and Expanding the DisplayRev. 0 | Page 7 of 40AN-90506683-011Figure 14. VisualAnalog Main FormRev. 0 | Page 8 of 40AN-905SETTING CANVAS PROPERTIESVisualAnalog allows you to set properties that describe the canvas and the way it behaves. To access the canvas properties, click Canvas > (Display Name) Properties… if a blank canvas is opened, (Display Name) appears as Untitled.Figure 15. Canvas Properties MenuUse the Canvas Properties form to adjust the properties of aparticular canvas.Collapse Window when Opened allows you to collapse the main window when this canvas is opened in the future. It permits opening the canvas in a more formal mode without showing the canvas itself.Lock Canvas allows you to lock the canvas from further layout changes. Y ou can still change component settings when this is set, but you cannot alter the physical layout and connectivity of your canvas.PLACING COMPONENTSTo place a component on the canvas, either double click the item in the Components tree or drag the item and drop it on the canvas. Dragging the item gives more control over component placement.06683-014 06683-01306683-017Figure 16. Canvas Properties FormThe Display Name refers to the name that appears on the Figure 19. Placing a Componentcanvas button. This is the title for the canvas.Sample placements of components are shown in Figure 19 06683-01606683-015in the following order: Tone Generator , ADC Model , Input Formatter , Data Router , Window Routine , FFT , FFT Figure 17. Display NameAnalysis , and Graph .Y ou can also enter a description of the canvas.For a brief summary of the functionality of each component,see the Components Overview section. The canvas should look similar to Figure 20, disregarding any component placement differences.Figure 18. DescriptionRev. 0 | Page 9 of 40AN-905123485 6 706683-018Figure 20. Sample Component PlacementCONNECTING COMPONENTSIf the wire is not connected, it appears red. As soon as you apply the connection, the color changes.To connect two components together, place a wire from the output node of one component to the input node of another, Figure 21 illustrates the process of connecting the first output node or vice versa. To place a new wire, use one of the following of the Tone Generator to the first input node of the ADC Model . techniques: For this example, place eight more wires. Figure 22 shows the • Click the node, drag the new wire to another component, canvas after making the remainder of these connections. Y our and click again to connect.canvas should look similar to this Figure 22.•Drag the new wire to another component.Rev. 0 | Page 10 of 40AN-90506683-019Figure 21. Connecting ComponentsAN-90506683-020Figure 22. Sample ConnectionsWhen you connect and move components, wires route on the canvas automatically. If the diagram begins to look convoluted, try reorganizing some components to force the wires to reroute. To connect the end of an existing wire to a new node, do one of the following: • Click a node, drag the opposite end of the wire to another node, and click again to connect.•Drag the selected end to another node.Like physical wires, wires in VisualAnalog carry information between components. Although it is transparent to the user in most cases, a wire can transfer one of several different data types. See the Data Types Overview section for more information.ADJUSTING COMPONENT PARAMETERSSome components have adjustable parameters. The steps that follow show how to generate a simple waveform as input for an ADC model and display FFT and time domain results. 1. In Tone Generator , set the Sample Frequency (MHz) to105. Also, change the Samples text to 16384, by using the drop-down arrow or entering the text manually. Update the Use Composite Amplitude (dB)to −1 (because you are evaluating ADC performance).06683-021Figure 23. Tone Generator Settings2. In ADC Model , click the Settings… button and click Opento browse for and select the AD6645_105.adc model file. This file is located in the Models\ADC subdirectory in the VisualAnalog path. When the model opens, the file name appears in the Model File text box, along with information about that model in the Properties grid (see Figure 24). Click OK .AN-90506683-024Figure 26. Resizing the GraphNext, resize the Analysis Results panel on the left side of the Graph component by positioning the mouse cursor over the vertical divider bar and drag to a new location (see Figure 27).06683-02506683-022Figure 24. ADC Model and Settings Form3. In Input Formatter (see Figure 25 through Figure 27),click the Settings….button Then change the Number Format to two’s complement. Next, change both the Figure 27. Resizing Analysis ResultsResolution and Alignment to 14. Click OK .Notice that there are two wires connected to the graph. This is because we have routed ADC samples to the graph as well as theFFT results. If you want to see the time domain representation of the data, you can click the Toggle Additional Plot button to view the second plot.06683-026Figure 28. Toggle Additional PlotUPDATING RESULTSAfter making all required adjustments, you are ready to update the results of the canvas. There are three ways to update the canvas• Press the Shortcut Key F5 or Ctrl + F5.• Select the menu command Canvas , click Update or Canvas , and select Continuous Update .06683-023Figure 25. Input Formatter and Settings Form•Click Update or Continuous Update on the tool bar.4. Resize the Graph component by positioning the cursorover the corner resize handle, drag the component out to After updating, the canvas should look similar to Figure 29.a larger size (see Figure 26).AN-90506683-027Figure 29. Updated CanvasMAKING LAYOUT CHANGESMost layout changes require that you select an object first. To select a component or wire, click the mouse somewhere on the object. If you are trying to select a component, be sure to click somewhere on the body (the header at the top always works). Hold down the Ctrl key to select or deselect more than one object.Alternatively, you can draw a box on the canvas to select objects. Just press the mouse somewhere on the blank canvas, drag, and release around the objects you wish to select.While objects are in a selected state, they can be deleted from the canvas. Click Edit , and select Delete , or just press the Delete key to remove the selected items.While components are in a selected state, they can be moved to a new location. Press the left mouse button to click, hold, and drag one of the selected components to an empty location. Any connected wires automatically adjust accordingly.Some components, such as the graph, are resizable. Just click, hold, and drag on the resize handle at the bottom of the component.Y ou can cut, copy, or paste components and wires to new locations or other Canvas windows. To cut or copy, select the desired components. If any selected components are connected, the software copies the connecting wire as well. The appropriate Edit commands in the menu or use the standard Windows shortcut keys. To execute the cut, copy, or paste commands, use Ctrl + X, Ctrl + C, or Ctrl + V .Y ou can undo (or redo) parameter changes and layout changes. VisualAnalog maintains an undo stack and a redo stack of up to five layers of user actions.USING THE MENU BARThe menu bar provides access to a variety of file and execution options using a standard menu format as shown in Figure 30.AN-90506683-028ToolsExternal Tools —Displays a form with which the user can select external programs that VisualAnalog can open. Adding an executable item with this form places a new menu item underneath the Tools menu.Figure 30. Menu BarFileNew —Opens a blank canvas used for building a new component diagram.Open —Loads an existing canvas using a standard file browser. Close —Shuts down the current canvas. If you have changed the canvas since the last save, the program asks if you wish to save before closing.Save —Saves the current canvas under the existing canvas file name. If the canvas does not already have a name, the software prompts for one before the save.Save As —Saves the current template under a new name. Recent Files —Displays a list of the last five canvas files opened or saved.Exit —Exits VisualAnalog.EditUndo —Reverses up to the last five actions, including deletion, parameter changes, component placement, and connectivity. Options —Opens the VisualAnalog options form.WindowTile Horizontally —Tiles the canvases in a horizontal direction. Tile Vertically —Tiles the canvases in a vertical direction. Cascade —Cascades the canvases.Canvas Selection —Provides a list of open canvases. From this list, the user can select a canvas for editing.HelpUser Manual —Opens this user manual with the associated PDF viewer.About VisualAnalog —Displays the VisualAnalog version number and other information.USING THE TOOL BARThe tool bar provides quick access to common features that are available on the menu bar.New Canvas —Opens a blank canvas used for building a new component diagram.Redo —Performs the last undone action again.Cut—Copies the selected objects to the clipboard and then 06683-029Figure 31. New Canvas Buttondeletes them from the canvas.Copy —Copies the selected objects to the clipboard. File Open —Loads an existing canvas using a standard file browser.Paste —Places the items from the clipboard on the canvas. Select All—Selects all items on the canvas.06683-030Delete —Removes all currently selected items from the canvas.Figure 32. File Open ButtonViewFile Save —Saves the current canvas under the existing canvas file name. If the canvas does not already have a name, the soft-Components —Displays the Components Tool form if it is not ware prompts for one before the save.visible.CanvasUpdate—Runs the currently selected canvases by executing the 06683-031Figure 33. File Save Buttoncomponent flow on each canvas.Update —Runs the currently selected canvases, by executing the Continuous Update —Causes the selected canvases to run component flow on each canvas.continuously. When started, the Continuous Update menu item changes to Stop Update . Selecting this stops all processing. Y ou can also automatically stop continuous update by using the Stop Component . See information on the Stop Component for more details.Properties —Displays editable properties for the currentlyactivated canvas (the canvas focused for editing).06683-032Figure 34. Update ButtonAN-905Continuous Update –Runs the selected canvases continuously. When started, the Continuous Update menu item changes to Stop Update . Selecting this stops all processing. Y ou can also automatically stop continuous update by using the Stop Component . See information on the Stop Component formore details.06683-033Figure 35. Continuous Update and Stop Update IconsUSING THE OPTIONS FORMThe options form contains settings that affect the behavior of VisualAnalog. You can access the VisualAnalog options form by clicking the menu Tools and selecting Options.Figure 36. Options FormADC DevicesADC Devices contains options that affect the behavior ofVisualAnalog when interfacing with ADC data capture boards. HSC-ADC-EV ALC FPGA Configuration allows you to adjust automatic FPGA configuration settings for the HSCADC-EVALC by selecting one of three options. These options only have an effect when choosing a template from the startup form that corresponds to a detected ADC device . For more information, see the Using the Start-Up Form section.06683-034AN-905 DATA TYPES OVERVIEWVisualAnalog components transfer information through wires. The wires themselves can carry any type of data, but most component inputs have limitations on what types of data they can accept. Most components that have an output pass a certain type of data to the next component.Y ou can pass any data type to the Data Grid component which displays an important portion of the data type. For example, when the Data Grid displays Real Waveform Data, it displays the list of samples.REAL WAVEFORM DATAReal waveform data consists of an array of real samples along with the sample frequency.COMPLEX WAVEFORM DATAComplex waveform data consists of an array of complex samples (I and Q) along with the sample frequency.REAL FFT DATAReal FFT data consists of an array of data that is the FFT result of real waveform data, along with the sample frequency. COMPLEX FFT DATAComplex FFT data consists of an array of data that is the FFT result of complex waveform data, along with the sample frequency.ANALYSIS DATAAnalysis data consists of analysis results along with graph data and formatting information. This type of data can behave differently depending on the component that outputs it. Normally, this data type is passed straight to a Graph component because that component displays all the pertinent information. If you send this data to a Data Grid component, it displays the analysis results portion of the data only.VALUE COLLECTIONValue collection consists of parameter and value pairs. Components use this data type to display information. NUMERIC VALUENumeric value contains only a floating-point number. However, some components treat this number as an integer. The Average and Peak Hold components both output a numeric value to indicate when their current sequence is finished. The Stop and Graph components both can use this value for a control input. See the Components Overview section for more information about the use of numeric value.TONE LISTThe Tone Generator outputs the tone data type. The tone list contains frequency, phase, and amplitude information about the tones generated.Note that two numeric formats can occur within VisualAnalog when using the waveform types. These are normalized data (which the majority of processing components use) and integer data.The ADC Model, ADC Data Capture, and the FIFO4.x Interface components are all output integer data. Follow these components with an Input Formatter component to normalize the data.The Pattern Saver and Pattern Loader components can support either data format as needed by the application. When loading a vector file, if the format is uncertain, manually examine it to determine how to process the file. Integer format should be obvious as either text-readable integers or hexadecimal values, and normalized data format appears as text-readable floating-point numbers. Note that VisualAnalog only assumes hexadecimal format for files with a .hex extension. To input hexadecimal values, rename the extension to .hex.Finally, the DPG Interface always expects integer type format. If the waveform is not already in this format, precede this component with an Output Formatter component.See the Components Overview section for more specific information on the requirements of each component.。
一、介绍使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布。
这种方式使得程序在编译的时候会将Qt 核心库全部编译到一个可执行文件中。
其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆。
(2)制作安装包发布。
这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布。
制作安装包的工具挺多,今天要说的是Qt官方的安装包制作框架Qt i nstaller framework.这个框架由Qt官方出品,广泛应用于Qt library, Qt Creator等安装包产品。
网上搜了一下,相关教程貌似不多。
二、配置使用下载并安装好Qt installer framework之后,需要创建目标文件夹。
所有需要打包的文件都放到这个文件夹下。
我的文件夹内容如下:然后我们需要安装如下的目录组织结构分别创建文件夹,注意的是,一定要安装这样的顺序组织文件夹哦。
最简单的方法是从Qt installer framework安装目录下的examples里面复制一个出来,在此基础上进行修改:我创建的根文件夹名称为sc.在sc下面又创建了两个子文件夹:config和packages。
在config文件夹下创建一其中License节中指定了协议条款,file属性指定了协议条款所在的文件。
UserInterfaces和Translations节分别指定了界面资源文件和翻译文件。
Script节指定了脚本文件,在脚本文件中可以对安装过程进行更为详细的定制。
样例中其他元素名称及值都比较容易懂,对着修改并不困难。
全部选项可以上官网查看。
data文件夹中则用于存放我们实际需要打包的程序文件(*.dll, *.exe等),Qt installer framework在制作过程中用archivegen会将这些文件压缩成7zip格式。
安装过程中自动从压缩包中提取出数据文件。
Contents at a GlanceIntroduction (13)1On the Development of Web-Based Applications (23)2WD4A Fra mework (37)3Developin g WD4A A pplications (95)4Multi-Component Applications (185)5Dynamic Component Applications (225)6Reusi ng WD4A Com ponents (261)7Integratin g WD4A Ap plications (293)A Classes and Interfaces (317)B Bibliography (353)C The Author (354)Index (355)Contents Introduction (13)1231.1Mainframe and Client Server Systems (24)1.2Business Server Pages (27)1.3Web Dynpro Framework (29)1.4Web Dynpro for ABAP for Future Use (35)2372.1Web Dynpro Explorer (37)2.1.1View Elements (39)2.1.2View Designer (41)2.1.3“Hello World“ (43)2.2Relationships Between Application and Component (51)2.3Visual Parts (53)2.3.1Interface Views and Plugs (53)2.3.2View Layout (56)2.3.3Windows (60)2.4View Controller and View Context (61)2.4.1Context Property Cardinality (63)2.4.2Singleton and Lead Selection Context Properties (66)2.4.3Supply Function Method (70)2.4.4Sample Applications (71)2.5Controllers and Controller Methods (78)2.5.1Hook Methods (80)2.5.2Instance Methods (82)2.5.3Event Handler Methods (82)2.5.4Fire Methods (83)2.5.5Additional Information About Context (84)2.6Navigation, Inbound Plugs, and Outbound Plugs (87)2.7Phase Model (91)3953.1Transferring Parameters from a URI (95)3.1.1Reading and Displaying Parameters (96)3.1.2Controlling the Navigation Via Parameters (98)7Contents83.2Influencing the Request/Response Cycle (103)3.2.1Automatic Triggering of Requests (104)3.2.2Automatic Triggering of Requests withUser Interaction (106)3.2.3Automatic Forwarding (109)3.3Implementation of Selection Options (111)3.3.1Using Dropdown Lists (112)3.3.2Using Radio Buttons (121)3.4Presentation of Tree Structures (125)3.4.1Sequential Building of Tree Structures (126)3.4.2Recursive Tree Structures (131)3.5User Guidance per RoadMap and Messages (137)3.5.1Structure of the RoadMap Application (138)3.5.2Message Handling (148)3.6Presenting Tables (152)3.6.1Table Output and Row Selection (152)3.6.2Selection of Single or Multiple Rows (157)3.6.3Changing Single Cells Using Variants (159)3.7Calling Popup Windows (163)3.7.1Message Popups (164)3.7.2Query Popups (166)3.7.3Popups with Navigation (168)3.8Using Input Helps (171)3.9Internationalization (172)3.9.1Online Text Repository (173)3.9.2Assistance Class (175)3.10Customization, Configuration, Personalization (176)3.10.1Implicit and Explicit Configurations (177)3.10.2Configuring Components and Applications (177)41854.1 A Model of Layer Separation (185)4.1.1Strict Separation (187)4.1.2Light Separation (188)4.1.3Strict versus Light Separation (189)4.1.4MVC Concepts in the WD4A Framework (190)4.2Defining WD4A Component Usages (192)4.2.1Embedding Windows of Used Components (194)4.2.2Calling Methods of Used Components (195)4.2.3Triggering Cross-Component Events (196)4.2.4External Context Access Using Direct Mapping (197)4.2.5External Context Access Using Reverse Mapping (198)Contents4.3Componentizing an Application (200)4.3.1Structure of the Sample Application (201)4.3.2Implementing the Components (202)4.3.3Result of Componentization (218)4.3.4Redesigning the Sample Application (218)4.3.5Overview of Used Components andSample Applications (224)52255.1Types of Dynamic Changes (225)5.1.1Dynamic Modification of the Properties (226)5.1.2Dynamic Modification of the UI Hierarchy (229)5.1.3Dynamic Binding of Properties (234)5.1.4Dynamic Modification of the Context (235)5.1.5Dynamic Modification of Action Assignments (236)5.2Dynamic Programming—A Sample Application (237)5.2.1Dynamic Display of Address Data (237)5.2.2Creating Business Partners (241)5.2.3Metadata for the Address Formats (242)5.2.4Implementation and Layout of the Component (246)62616.1Comparing Classes and Components (261)6.2ALV Component SALV_WD_TABLE (263)6.2.1Using the ALV Component (264)6.2.2Accessing the ALV Configuration Model (267)6.3OVS Component WDR_OVS (270)6.4SO Component WDR_SELECT_OPTIONS (275)6.5Developing Input-Help Components (282)6.5.1Implementation of the Input-Help Component (283)6.5.2Using the Input-Help Component (286)6.6Enhancements of Components (288)72937.1Integration into the SAP NetWeaver Portal (293)7.1.1Triggering Portal Events (294)7.1.2Registration to Portal Events (295)7.2Graphical Display of Data (297)7.2.1Using the BusinessGraphics View Element (299)7.2.2Connecting the Data Source (303)9Contents107.3Interactive Forms Via Adobe Integration (308)7.3.1System Requirements for Interactive Forms (309)7.3.2Scenario for Using Interactive Forms (309)7.3.3Using the InteractiveForm View Element (311)317A.1Component (317)A.1.1IF_WD_COMPONENT (317)A.1.2IF_WD_COMPONENT_USAGE (320)A.1.3IF_WD_COMPONENT_USAGE_GROUP (324)A.1.4IF_WD_PERSONALIZATION (325)A.2Context (326)A.2.1IF_WD_CONTEXT (326)A.2.2IF_WD_CONTEXT_NODE (328)A.2.3IF_WD_CONTEXT_NODE_INFO (329)A.2.4IF_WD_CONTEXT_ELEMENT (332)A.2.5CL_WD_CONTEXT_SERVICES (332)A.3View (335)A.3.1IF_WD_ACTION (335)A.3.2IF_WD_VIEW (336)A.3.3IF_WD_VIEW_CONTROLLER (337)A.3.4IF_WD_VIEW_ELEMENT (338)A.3.5IF_WD_VALIDATION (338)A.4Window (339)A.4.1IF_WD_WINDOW (339)A.4.2IF_WD_WINDOW_CONTROLLER (341)A.5Integration (341)A.5.1CL_WDR_PORTAL_OBNWEB_SERVICE (341)A.5.2IF_WD_PORTAL_INTEGRATION (342)A.5.3CL_WD_ADOBE_SERVICES (342)A.6Application (342)A.6.1IF_WD_APPLICATION (342)A.7Other (343)A.7.1IF_WD_CONTROLLER (343)A.7.2IF_WD_MESSAGE_MANAGER (344)A.7.3IF_WD_NAVIGATION_SERVICES (346)A.7.4CL_WD_CUSTOM_EVENT (348)A.7.5CL_WD_RUNTIME_SERVICES (348)A.7.6CL_WD_UTILITIES (349)Contents353354 Index (355)11IntroductionAfter you have read this book and implemented the examples and scenarios, you will have ample knowledge to implement the new SAP user interface strategy based on the WD4A (Web Dynpro for ABAP) framework. The goal of this book is to create a foundation that can be used with the SAP Help Por-tal () and the SAP Developer Network () to meet the requirements and challenges of new projects regarding Web Dynpro for ABAP and to find a solution whenever questions arrise.The WD4A framework enables you to use different methods for solving a problem. For example, program fragments can be created either manually or by using a code wizard. The layout can be designed by adding view elements to the UI tree, or by using Drag&Drop in the layout preview. For this reason, the procedures presented in this book use rather basic and easy-to-compre-hend methods; however, there may be a specific design procedure for which a different control sequence is used and is not mentioned here. It's up to you to use your intuition and curiousity to find other solutions, and in so doing, enhance the knowledge that you will gain in this book.AudienceThis book is intended for ABAP application developers who are familiar with the ABAP Development Workbench and the user interface development methods available, and who now want to implement business processes and their user interaction based on the WD4A framework.This book will help you to better support users, and it will help you with problems that can arise during the migration to the WD4A framework, for example, the separation of business and presentation logic while observing the Model View Controller (MVC) concept, or addressing component-based reuse-focused software development. This book will discuss general con-cepts for designing and developing web-based systems and specifically detail their specifications when they are implemented within the WD4A frame-work.Before and while this book was being written, there existed great communi-cation between the first application developers using the WD4A framework and the groups responsible for the design and implementation of the frame-work. Therefore, new ideas and suggestions for enhancing and extending the13IntroductionWD4A framework reached the responsible departments very quickly. It is assumed that the WD4A framework will be continuously developed and extended by new functionalities. Therefore, this book should encourage you to discover these new features, to test them, and, ultimately, to integrate the growing library of view elements in your applications.If you already gained some experience in developing web applications based on Java Server Pages (JSP), Business Server Pages (BSP), or other technolo-gies, you might be surprised at the restrictive handling of the WD4A frame-work when it comes to the manual integration of JavaScript. This restriction was introduced in order to enable the WD4A applications to support emerg-ing client technologies that don't use JavaScript for client-side flow control.PrerequisitesBecause the WD4A framework was developed completely in ABAP Objects, you will encounter object-oriented concepts throughout the implementa-tion. Therefore, a sound knowledge of object-oriented ABAP programming is integral for understanding the topics discussed in this book; we cannot go into detail regarding the concepts of object-oriented programming and its implementation in ABAP Objects.1You should be familiar with handling classes and interfaces in ABAP Objects and with the most common ABAP language items. WD4A applications inte-grate a number of technologies like HTTP, HTML, CSS, XML, and client-side scripting. These are not specific to the WD4A framework, but are the foun-dation for every other web application. The objective of the WD4A frame-work development is to encapsulate the complex and specific details and connections of these technologies so that they will eventually become trans-parent to you and you can then completely focus on implementing the pro-gram logic.To reproduce the examples given in this book, you can download a test ver-sion of SAP NetWeaver Application Server ABAP from the SAP Developer Network () that can be installed locally on your PC. In the Downloads•SAP Evaluation Software•Web AS area, navigate to the Sneak Preview SAP NetWeaver 04s—Full ABAP Edition with Web Dynpro for1Whenever it makes sense, publications and sources that provide additional useful informa-tion for specific areas will be referenced. SAP PRESS, in particular, offers a wide range of literature in this respect (). Additional references are listed in the bibliography (see Appendix B).14IntroductionABAP package. For detailed information about the installation process and system requirements, go to the Installation Guide file.To better understand the WD4A framework, you should be at least some-what familiar with the following topics:̈Communication processes in HTTP or HTTP request/response cycles̈Particularities of programming within distributed development environ-ments̈Differences between client-side and server-side scripting̈Purpose and use of design patterns in programmingThe parameters to be used for designing layouts are based on Cascading Style Sheets (CSS) standards. It is therefore helpful to have a certain overview of CSS language items and units.StructureFor most developers, the actual implementation is the quickest way to become familiar with a new technology. The structure of this book is there-fore based on using simple examples and scenarios in the introductory sec-tions to illustrate the concepts. By our first presenting the architecture of the WD4A framework, you'll be introduced to the most important steps of com-ponent and application development. ABAP Objects constructs belong to the essential part of a WD4A application so that another focus should also be on the presentation and discussion of program fragments that can be used to solve problems.̈Chapter 1deals with some particularities regarding the design and the development of web-based applications. Based on the functionalities of the BSP technology and its predecessors, you will get to know the charac-teristics and advantages of the WD4A framework. The present status and the concepts behind it will be closely examined. When developing WD4A applications, the component is the most important part; WD4A applica-tions can be composed of one or more components. The component-based software development therefore facilitates reuse and reduces devel-opment costs.̈Chapter 2 introduces you to the WD4A development environment, the Web Dynpro Explorer that is integrated in the Object Navigator. First, you learn about the immediately visible parts, such as the component control-ler, view, window and application. Then, when you have the knowledge15Introduction16necessary to create your first simple components, you learn how to design a simple, structured view, and embed it in a window.Using three differently structured “Hello World“ applications, you get your first insight into using the context, the data binding, the view ele-ment properties, and the implementation of supply function methods, fol-lowed by the other parts of the framework. These include the functions of the inbound and outbound plugs, the functions of the actions and their event handler methods, the parts of the context and of the framework controller methods. The framework controller methods are called at dif-ferent times in the phase model of the WD4A framework and form a kind of user exit of the framework that enables you to influence the program-matic process.̈Chapter 3 builds on your newly acquired abilities and knowledge in order to help you develop more complex components based on the available view elements. By implementing scenarios that might be familiar to you from web applications based on other technologies (e.g., periodic polling of the web browser, automatic forwarding, etc.), additional relationships are shown that exist within the WD4A framework among component, window, and view elements.Whereas the components created and described so far used only simple view elements like the TextView view element, this chapter introduces important view elements contained in the view element library of the WD4A framework and describes their function. Dropdown lists and radio buttons are different with regard to their usage, but they are based on the same concepts with regard to their implementation and handling in the WD4A framework. They are discussed using example applications. Addi-tionally, you learn how to output messages about the user via the message manager. The most complex and most commonly used view element when visualizing business data is the Table element. For this element, we'll show you display formats and properties and discuss the handling of cell variants. This chapter also provides procedures for implementing pop-ups and using the RoadMap and Tree elements. It concludes with a list of the input help concepts implemented in the WD4A framework.̈Chapter 4 deals with the concepts required for developing multi-compo-nent applications. Examples whose structure is based on the Model View Controller concept are developed. The layout is defined separately from the business logic, and the data provision for the view can be imple-mented in methods of the view controller. The view controller therefore also controls the view. Based on this concept, even more complex applica-Introductiontions can be separated into different components: UI components that organize the arrangement of view elements. The main component or con-troller component is responsible for instantiating the use and its lifetime;the model component is responsible for data storage and program logic.The various components communicate by using context and events that are accessible via their interfaces.When implementing the componentization, the context, as a data con-tainer, and its mapping types are the central parts. Context data can be defined in the component, in the view, and in the window controller. By defining the context nodes as interfaces, mapping components can access and change the data of other components. The concept of direct and reverse context mappings is described in this context.̈During the design phase of complex WD4A applications, requirements that change program processes and layout structures at runtime can emerge. To be able to consider these requirements when developing com-ponents, the WD4A framework enables the dynamic programming of components. The concepts that pertain to the ability to program dynami-cally will be described in Chapter 5. You'll learn how you can add view elements to the UI hierarchy of the layout definition at runtime and thereby dynamically influence their properties. We will also show you how context node attributes can be added and the properties of dynami-cally created view elements can be bound against them. For action-trigger-ing view elements like the Button element, actions can also be defined at runtime in dynamic programming, which then trigger event handler methods generated by the WD4A framework.These concepts of dynamic programming will be illustrated in an example application: business partner addresses will be presented in the client under consideration of the format used in the respective country. Because parts of the address and their arrangement can be different from country to country, the arrangement of the view elements will be created dynam-ically at runtime. Additionally, parameters are determined from the address data at runtime. These parameters can be dynamically generated to enable the localization of the respective business partner via Google Map, by using a Uniform Resource Identifier (URI).̈In Chapter 6, the concepts already presented are extended for reuse in the WD4A framework. By reusing existing components, current resources can be used more efficiently. The idea of reusability of software modules has been examined, propagated, and applied for many years. Accelerated17Introduction18development cycles and cost reduction are two main reasons for further promoting these concepts.The WD4A framework now enables you to build component-based busi-ness applications from the user interface and to structure them in a reus-able way. Based on the componentization described in Chapter 4, this chapter will show you how to implement the use of the ABAP List Viewer (ALV) component, the object value selector component, the select options component, and the user-specific development of input-help components. For the tabular presentation of data, the ALV component provides exten-sive personalization and configuration options that are described in detail. Input helps support the user when editing forms. Simple input helps based on the ABAP Dictionary can be implemented very quickly by select-ing the context attribute type. For more complex selection scenarios, they can be implemented in a component to be available to other WD4A appli-cations.̈Chapter 7 finally deals with the integration possibilities of WD4A applica-tions. These include the integration in the SAP NetWeaver Portal and the resulting possibilities for implementing client-side eventing. Using the SAP NetWeaver Portal, scenarios are enabled by integrating applications that are based on other web technologies. This enlarges the integration potential in heterogeneous system landscapes.The integration of business graphics in WD4A components enables the presentation of charts and geographic map material. In this context, you can anticipate default implementation steps. From different chart types and chart rendering methods—comparable to those given in Microsoft Excel—you can select the display format that best meets your needs. We will present the numerous possibilities with an example that uses the Goo-gle Web APIs service as a data source. You will also get to know a scenario that shows the integration of the Adobe Document Service in the WD4A framework, which enables the creation of interactive PDF forms that can be edited both online and offline.ConventionsThe WD4A framework uses the term context for describing structured data storage within the controller. The main parts of the context are context nodes and context attributes. From the names of context nodes and context attributes, along with some extensions, the WD4A framework generates the names of the type definitions and interfaces. The length of these names,Introductionhowever, is limited to 30 characters. You should keep this in mind when selecting the names of context nodes and context attributes. For example, creating a context node named EXAMPLE_NODE in the V_DEFAULT view results in the type definition if_v_default=>element_example_node being stored in an interface. The total length to be observed results from the element_ and example_node parts. Therefore, the part of the type definition following the => character combination cannot exceed a maximum of 30 characters.To unify the IDs and to better distinguish the individual view elements, as far as they are mentioned in this book, we will identify them using the prefixes shown in Table 1.BusinessGraphics BGR_*BGR_SALESButton BTN_*BTN_SAVEButtonRow BTR_*BTR_DETAILSCaption CPT_*CPT_COLUMN DropDownByIndex DDI_*DDI_COUNTRY DropDownByKey DDK_*DDK_REGIONFileUpload FUD_*FUD_CONTRACTGroup GRP_*GRP_FORMHorizontalGutter HOG_*HOG_ROADMAPInputField INP_*INP_NAMEInteractiveForm IFO_*IFO_CUSTOMSLabel LBL_*LBL_INPUTLinkToAction LTA_*LTA_SEARCHLinkToURL LTU_*LTU_VENDORRadioButton RBT_*RBT_MALE RadioButtonGroupByIndex RBI_*RBI_GENDER RadioButtonGroupByKey RBK_*RBK_TYPRoadMap RMP_*RMP_DIMENSIONS RoadMapStep STP_*STP_DIMENSIONTable TBL_*TBL_ADDRESSTextEdit TXE_*TXE_INFOTable 1 Prefixes of Used View Element IDs19IntroductionTextView TXV_*TXV_INTROTimedTrigger TTR_*TTR_NOTIFY TransparentContainer TCO_*TCO_TABLETray TRY_*TRY_FORMTree TRE_*TRE_SIMPLETreeNodeType TNT_*TNT_FOLDERTreeItemType TIT_*TIT_FILE ViewContainerUIElement VCU_*VCU_ROADMAPTable 1 Prefixes of Used View Element IDs (cont.)For component elements, the prefixes listed in Table 2 are selected.Window W_*W_DEFAULTView V_*V_DEFAULTInbound-Plug IP_*IP_STARTOutbound-Plug OP_*OP_EXITTable 2 Prefixes of Component ElementsFor distinguishing different parts within the components, the font style con-ventions shown in Table 3 are used:View element TextViewView element ID TXV_INTROProperty textProperty value header1Context node CONTENTContext attribute MANDTTable 3 Identification of Component Parts20IntroductionController attribute mv_*, ms_*, mt_*, mr_*Controller actions DO_SET_COUNTERTable 3 Identification of Component Parts (cont.)Additionally, the WD4A framework contains the reserved keywords from Table 4.CONTROLLER CONTROLLER_NAME COMMAND COMPONENT EVENT EVENT_NAMEF_APPL_CLASS F_ROOT_INFO F_ROOT_NODEFIRST_INIT PLUG PARAMETERSRESULT VIEW VIEW_NAMETable 4 Reserved Keywords in the WD4A FrameworkThe names of components and applications used in this book have the prefix ZEXP_*. All components and applications described in the following chapters and sections and using this prefix are available for download in two formats on the web pages of the book under or www.sap-press.de/1214 respectively. You can either load the examples as a transport into your installation of the SAP NetWeaver Application Server ABAP, or implement them manually using screenshots and ABAP statements in TXT format.In some of the screenshots, German user interface elements appear. Where these words are referred to in the text, we have provided the English trans-lation in parentheses.AcknowledgementWhen compiling the contents of this book—already during the development phase of the WD4A framework—I had the great advantage to gain insights into the design, to cooperate on additional functionalities, and to build up the necessary expertise in this environment thanks to independent web projects (based on previous SAP technologies).21IntroductionWhenever I had to become familiar with areas that were still unknown to me, I could rely on the knowledge of the respective SAP experts. Without their valuable support, this book would not have been possible.I would like to thank Rüdiger Kretschmer, Brian McKellar, and Dirk Feeken for their suggestions and tips regarding Web Dynpro. When I was working on the technical details and specific scenarios, I could always rely on the direct feedback of Regina Breuer, Thomas Szuecs, Ariane Buster, Uwe Klinger, Aiga Uhrig, Klaus Ziegler, Stefanie Mayer, and Heidi von Geisau—thank you all, and may you continue having great ideas and fun developing! For their time spent reviewing the material, their tips regarding the contents and the structure, I would particularly like to thank Regina Breuer, Uwe Klinger, Thomas Szuecs, Thomas Weiss, and especially my editor Stefan Proksch. When I was reviewing and designing specific scenarios and exam-ples, I got great support from Nestor Sosa, Thorsten Kampp, and Dirk Jen-nerjahn. My biggest thank you, however, goes to Claudia for her love, sup-port, and understanding for the enormous amount of time that is taken up by such a project.Additionally, I could always rely on the WD4A forum in the SAP Developer Network (SDN) when I was compiling the topics and contents. The forum, which was only accessible to SAP-internal users until the official market launch of the WD4A framework, gave me a detailed insight into the devel-opers' questions and problems that arose during their adjustment to the new UI technology. Predicated on this basis, I could design parts of this book, compose individual subject areas, and develop examples from the scenarios described therein.In this way, even before the first version of the WD4A framework to be released to the market was finalized (Release SAP NetWeaver 2004s), I could draw on the extensive experience and procedures of application developers during the making of this book, and hopefully pass on their wisdom in a sen-sible way.22In this chapter, we'll take a closer look at the development of WD4A(Web Dynpro for ABAP) applications. Our goal here is to clarify thecoherences that exist within a component among component control-ler, view controller, and window controller. To do this, we'll intro-duce several typical web scenarios, as well as a number of more com-plex view elements, for presenting tree structures and tables, forexample.3Developing W D4A Applications3.1Transferring Parameters from a URIParameters and their values that are part of the Uniform Resource Identifier's (URI) query component can be attached to the URI of an application or website to be called. The query component can be used in many ways. Two potential scenarios are the transfer of data between two applications that call each other or the control of actions on the server.The WD4A framework implements the transfer of parameter value pairs in the URI's query component as follows:[parameter_name]=[parameter_value]The first parameter pair is attached to the URI using the ? character; all other parameter pairs are separated by the & character. Otherwise, the restrictions for query components listed in RFC 23961 apply; reserved characters are ;, /, , :, @, &, =, +, ,, and $. A URI with two parameter value pairs could therefore have the following format:/search?hl=com&q=webdynpro1RFCs (requests for comments) deal with standards as well as advanced ideas, concepts, and descriptions about the Internet.95。
About the T utorialSAP Web Dynpro is a standard SAP UI technology to develop web applications using graphical tools and development environment integrated with ABAP workbench. The use of graphical tools reduces the implementation effort and helps maintain components in ABAP workbench.This tutorial explains the key concepts of Web Dynpro with relevant screenshots for better understanding.AudienceThis tutorial is designed for all those who want to learn the basics of SAP Web Dynpro and advance in the field of software development.PrerequisitesBasic knowledge of ABAP is a must to understand this tutorial. Understanding the Model-View-Controller (MVC) model and having experience in web applications is a plus. Disclaimer & CopyrightCopyright 2018 by Tutorials Point (I) Pvt. Ltd.All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher.We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or inthistutorial,******************************************.iT able of ContentsAbout the Tutorial (i)Audience (i)Prerequisites (i)Disclaimer & Copyright (i)Table of Contents .................................................................................................................................. i i 1.WEB DYNPRO ─ OVERVIE W (1)Key Benefits of Using Web Dynpro (2)2.WEB DYNPRO ─ CONFIGU RATION & INTEGRATION (3)Internet Communication Manager (3)Internet Communication Framework (4)Layout Editor in View Designer (5)3.WEB DYNPRO ─ ARCHITE CTURE (6)Metadata (6)Graphical Tools (6)4.WEB DYNPRO ─ NAVIGAT ION (8)How to Create a New View? (10)5.WEB DYNPRO ─ COMPONE NT (11)View (11)Navigation Links and Plug In (12)View Set (12)Web Dynpro Window (13)iiBinding User Interface Elements (16)7.WEB DYNPRO ─ EVENT & ACTIONS (18)8.WEB DYNPRO ─ APPLICA TION (20)9.WEB DYNPRO ─ URL OF AN APPLICATION (21)10.WEB DYNPRO ─ CREATIN G AN APPLICATION (23)How to Create a View and Assign It to a Window? (26)How to Create a View Context for MAINVIEW? (31)How to Create a Web Dynpro Application? (38)Calling a Web Dynpro Application (40)11.WEB DYNPRO ─ COMPONE NT INTERFACES (41)Creating a Web Dynpro Component Interface Definition (41)12.WEB DYNPRO ─ FACELES S COMPONENTS (44)How to Create a Faceless Component? (44)13.WEB DYNPRO ─ ASSISTA NCE CLASS (46)14.WEB DYNPRO ─ SERVICE CALL IN AN APPLICATION (47)15.WEB DYNPRO ─ USING A SERVICE CALL (54)16.WEB DYNPRO ─ DEBUGGI NG AN APPLICATION (55)How to Start the Debugging Process? (55)17.WEB DYNPRO ─ VERSION MANAGEMENT (57)How to Perform Version Comparison? (58)18.WEB DYNPRO ─ MESSAGE S (60)iii20.WEB DYNPRO ─ PERSONA LIZATION & CONFIGURATION (63)Configuration of Application (63)How to Start Component Configurator? (63)Delta Handling in Personalization (64)21.WEB DYNPRO ─ PORTAL INTEGRATION (65)22.WEB DYNPRO ─ INTEGRA TE WDA IN PORTAL (66)23.WEB DYNPRO ─ INTERAC TIVE FORMS (70)How to Create Web Dynpro Application Using Forms? (70)Inserting Forms Using Scenarios (71)How to Insert an Interactive Form? (71)24.WEB DYNPRO ─ SAP LIS T VIEWER (ALV) (72)How to Create an ALV? (72)Using Filters in ALV Output (80)25.WEB DYNPRO ─ ADMINIS TRATION (81)Trace Tool (81)ICM Tracing (83)HTTP Browser Tracing (84)26.WEB DYNPRO ─ MONITOR ING AN APPLICATION (85)ivSAP Web Dynpro Web Dynpro is a standard SAP UI technology that allows you to develop web applicationsusing graphical tools and development environment integrated with ABAP workbench. Using graphical tools reduces the implementation effort and you can better reuse andmaintain components in ABAP workbench.To access Web Dynpro runtime environment and graphical tools in ABAP workbench, you can use Transaction code: SE801.SAP Web DynproKey Benefits of Using Web DynproFollowing are the key benefits of using Web Dynpro for developers in ABAP environment: ∙You can easily maintain and reuse the components for development.∙Less implementation time with the use of graphical tools.∙You can easily change the layout and navigation using graphical tools.∙Easy structure changes.∙With the use of data binding, you can use automatic data transport.∙Ease of integration in ABAP environment.Web Dynpro ABAP is the same as Web Dynpro Java and supports the same set of functions for the application development.2.SAP Web DynproOnce you install ABAP application server, it is necessary to configure it properly for application development.To find the details about ABAP configuration, you can go to SAP Reference IMG -> SAP NetWeaver -> Application ServerIf you are using SAP Solman, you can check this configuration by going to T-Code: SOLAR_LIBRARY.To use Web Dynpro with ABAP application development, you have to make additional configuration for web Dynpro programming.Internet Communication ManagerYou need to set HTTP/HTTPS in ICM service. A service contains following different components:∙Service/Port∙Protocol used in service HTTP/HTTPS∙Processing timeout∙Keep alive timeout∙Service status: Active/inactiveYou can choose Go To -> Service to create, delete, activate or deactivate services. To display the ICM server cache statistics, choose Goto ->StatisticsInternet Communication FrameworkYou should activate the Internet Communication Framework (ICF) service. You can activate this service by going to SPRO -> SAP Reference IMG -> SAP NetWeaver -> Application Server -> Internet Communication Framework -> Activate HTTP service When you install Application server ABAP, all ICF services are in inactive state. You can maintain ICF services using T-code: SICF under ICF tree.You can activate ICF service in the following ways:∙Using the menu option, Service/Host -> Activate∙Using the context menu and choosing Activate Service.Layout Editor in View DesignerYou should activate all the services in SICF for Web Dynpro ABAP to use the layout editor in the view designer.Single Sign OnYou should set SSO on the relevant host.FQDNYou should use fully qualified domain names FQDN and short forms should be avoided.3.SAP Web DynproWeb Dynpro is an ABAP environment for web development and is based on the Model View Controller (MVC) concept of UI programming. It is available for both Java and ABAP as per the platform, and supports similar functions.Web Dynpro has the following features:∙Separation of display and business logic∙Easy change in the layout with the use of graphical tools∙No platform dependency of interfacesFollowing are the key concepts as part of Web Dynpro architecture:MetadataWeb Dynpro provides you with an environment for the development of web-based applications and you can use graphical tools to define web Dynpro application in the form of metadata in application development. You can also define your own events; however, event handling should be defined in a separate code and that has to be executed when an event is triggered.The user interface in Web Dynpro application consists of small elements defined by using Web Dynpro tools. You can also change or enhance the user interface by changing these elements at run time or integrate the elements again.Graphical T oolsThere are a wide range of graphical Web Dynpro tools that you can use to generate web-based applications. You don’t need to create source code for this. Following are the key features of graphical tools in Web Dynpro application:∙Define properties of user interface elements∙Data flow∙User interface layoutFor all these properties, you can use graphical tools without creating a source code.SAP Web DynproBusiness and Application LogicWeb Dynpro allows you to run your application on the front-end and the back-end system can be accessed using service locally or via a remote connection. Your user interface is maintained in Dynpro application and persistent logic runs in the back-end system.You can connect Web Dynpro application to the back-end system using an adaptive RFC service or by calling a web service.MVC Programming ModelWeb Dynpro applications are based on MVC model:Model: This allows the access to back end data in a Web Dynpro application.View: This is used to ensure the representation of data in a web browser.Controller: This is used to control communication between Model and View where it takes input from the users and gets the processes data from the model and displays the data in the browser.4.SAP Web DynproIn Web Dynpro application, you can navigate from one view to the other view using plugs. Run T-code: SE 80 and create a simple Web Dynpro component:We have created a Web Dynpro component with two nodes and two views.VIEW_DISPLAY displays the output in a tabular format and VIEW_MAIN performs search parameters. In VIEW_MAIN you have configured the search layout and VIEW_DISPLAY contains the display layout.In VIEW_MAIN you have configured inbound plugs IN_MAIN and OUT_FROM_MAIN as outbound plugs. Similarly, create an inbound and outbound plugs for VIEW_DISPLAY.How to Create a New View?Step 1: Click the component in object tree and go to the context menu as shown in the following screenshot:Step 2: Enter view name and click on tick mark.End of ebook previewIf you liked what you saw…Buy it from our store @ https://。
应用程序初始化失败问题(Application initialization failed)The application failed to initialize _~ ~!Application initialization failed (oxc0000005) reasons and Solutions1, Microsoft IE buffer overflow vulnerability caused2, memory or virtual memory address conflict program needs to be allocated to address certain procedures to use, when new procedures for the use of space to release at the end of the program, win is a multi tasking system before the program does not end sometimesThere is a new task to how much memory or virtual memory to ensure that we run at the same time the task? Perhaps win on this issue is not ready, so the errors often occur, the general operation of the large-scale software or multimedia3, poor memory will appear this problem in general, memory problems are not likely, the main aspect is: bad memory, memory quality problems, there are 2 different brands of different memory mixed interpolation, are more prone to incompatible situation, but also pay attention to the heat problem, especially after overclocking. You can use the MemTest software to check memory, which can thoroughly detect the stability of memory. If you are dual memory, and the memory of different brands, mixed in, or bought a secondary memory, this problem occurs, then you have to check whether the memory problems, or incompatible with other hardware.4, Microsoft WINDOWS system vulnerabilities, windows memory address 0X00000000 to 0X0000ffff designated as assigned null pointer address range, if the program attempts to access this address, is considered to be wrong. Programs written by c/c++ usually do not undergo rigorous error checking and return null pointers when malloc is used to allocate memory and the assigned address space is insufficient. However, the code does not check this error, considers that the address assignment has been successful, so it accesses the address of the 0X00000000, so memory violation access occurs, and the process is terminated. The following ASCII character fill consisting of PIF file: an illegal PIF file (filled with a ASCII character \''x\'') at least 369 bytes, the system was considered to be a valid PIF file, 0] will display to the PIF icon, [pifmgr.dll, will have a program, font, memory, screen etc. the contents in the attributes. And when a non PIF file is 369 bytes in size, the program's error is not detected even if it is 370 bytes. When a PIF file is larger than 369 bytes for illegal property "program" page, Explorer will go wrong, that \''***\''Command Reference \''***\'' memory. This memory cannot be \''read\''The problem is in the 16 hexadecimal address of the PIF file: 0x00000181[0x87]0x00000182[0x01] and0x00000231[0xC3]0x00000232[0x02] even if it's a legitimate PIF file, it can cause program errors whenever you change any of these places. As long as the value of 0x00000181 and 0x00000182 is changed to [0xFF][0xFF], any change of other addresses will not cause errors.5, there may not be a Apache service is installed correctly,and started its service in the cause; OracleOraHomeXXHTTPServer to stop6, the application does not check the memory allocation failure procedure requires a memory to save the data, you need to call the operating system to provide a "function" to apply, if successful memory allocation, memory area function will be the new return to the application, the application can use this memory via this address. This is the "dynamic memory allocation", the memory address, that is, "pointer" in programming". Memory is not always available, endless, and sometimes memory allocation will fail.When the allocation fails, the system function returns a 0 value, when the return value "0" does not represent the newly enabled pointer, but rather a notification issued by the system to the application informing the error. As an application, in the memory after each application should check whether the return value is 0, if it is, it means that there is a fault, some measures should be taken to save, which enhances the robustness of the program "". If the application does not check the error, it will continue to use this memory in subsequent operations, in accordance with the thinking inertia that the value is the pointer that is allocated to it. The real 0 address memory area holds the most important "interrupt descriptor table" in the computer system and absolutely does not allow the application to use. In the operating system without protection mechanism under (such as DOS), write data to this address will lead to crash immediately, and in the robust operating system, such as Windows, this operation will be immediately captured the protection mechanism of the system, the result is forciblyclosed by the operating system application error, in order to prevent the error expansion. At this point, the above "write memory" error occurs and indicates that the referenced memory address is "0x00000000"". Memory allocation failure, many reasons, memory is insufficient, the version of the system function mismatch, and so may have an impact. Therefore, the distribution of failure in the operating system to use for a long time, the installation of a variety of applications (including accidentally "Install" virus program), after the change of system parameters and system of a large number of documents.7, the application due to its unusual BUG quoted the memory pointer in the application using dynamic allocation, sometimes there will be such a situation: the program attempts to write a "should be available" in memory, but I do not know why, it is expected that can be a pointer has been a failure. There may be "forget" to the operating system requirements distribution, or it may be the program itself at some point has canceled the memory, and "no attention" and so on. Off the system memory to be recycled, the access does not belong to the application, read and write operations can also trigger a mechanism to protect the system, trying to "end" illegal procedures only termination of the operation is to be run, all resource recovery. The laws of the computer world are still much more effective and harsher than human beings! A situation like this belongs to the BUG of the program itself, and you can often reproduce errors in a particular order of operations. The invalid pointer is not always 0, so the memory address in the error is not necessarily "0x00000000", but rather the other random numbers.If the system often mentions errors, the following suggestions might help:1. check whether there is a Trojan horse or virus in the system. In order to control the system, such programs often change the system without responsibility, resulting in abnormal operating systems. Generally, we should strengthen the awareness of information security and not be curious about the executable programs of unknown sources.2. update the operating system so that the operating system's installer re copies the correct version of the system file and changes the system parameters. Sometimes, the operating system itself will have BUG, pay attention to install the official release of the upgrade program.3. try out a new version of the application.4, delete, and then recreate the WINDOWS\Wbem\RepositoryFile in the folder: right click on my computer on the desktop, and then click manage. Under services and applications, click service, then close and stop Windows ManagementInstrumentation service. DeleteWINDOWS\System32\Wbem\RepositoryAll files in the folder. (create a backup copy of these files before deleting.) Open the service and application, click service, and then open and start Windows ManagementInstrumentation service. When the service restarts, these files are recreated based on the information provided in the following registry key:hkey_local_machine \软件\微软\ \ \”MOFs CIMOM WBEM下面我从几个例子给大家分析:例一:打开IE浏览器或者没过几分钟就会出现”0x70dcf39f”指令引用的”0x00000000”内存。
Nielsen Answers® desktop v7.5.15One Click Installer (OCI) Installation GuideTable of Contents1.INTRODUCTION (3)2.GETTING READY (3)2.1Supported Systems (4)3.What is the OCI? (5)4.Folder Structure (5)5.Features (5)6.Customising the OCI Installation (6)6.1Silent Installation of Answers desktop (6)6.2Background Installation (7)6.3Multi Country Content (8)6.4Pre & Post Installation Scripts (9)6.5Content Folder Deployment (10)ing the OCI (Standard) (10)ing the OCI (Customised) (11)9.Installing Answers Manually (13)9.1Overview (13)9.2Installing Nielsen Answers.msi for a Single User (Win XP) (13)9.3Installing Nielsen Answers.msi for Multiple Users (Win XP) (18)9.4Installing Nielsen Answers.msi for a Single User (Vista/Windows 7) (24)9.5Installing Nielsen Answers.msi for Multiple Users(Vista/Windows 7) (28)10.UNINSTALLING ANSWERS DESKTOP (35)11.TROUBLESHOOTING (36)11.1Getting Application Error while launching OCI (36)1. INTRODUCTIONWelcome to this installation guide for Nielsen Answers desktop 7.5.15 using the One Click Installer.2. GETTING READYThe following lists the recommended and minimum hardware specifications for Answers desktop version 7.5.15. Operating systems have their own minimum specifications and, depending upon the operating system you use, the minimum hardware specifications below may be below those required for your operating system.2.1 Supported SystemsAnswers desktop 7.5.15 is supported for use with the following Microsoft Windows Operating Systems:∙Windows XP (2002) SP3∙Windows Vista Enterprise Edition SP1∙Windows Vista Business Edition SP1∙Windows 7 Professional Edition 32-bit∙Windows 7 Enterprise Edition 32-bit∙Windows 7 Enterprise Edition 64-bitNielsen Answers desktop version 7.5.15 is supported for use with the following Microsoft Office® systems and browsers:∙Office 2003 SP3 (32 Bit) Professional Edition∙Office 2007 SP2 (32 Bit) Professional Edition∙Office 2010 (32 bit) Professional Plus Edition SP1∙Internet Explorer® 6.x∙Internet Explorer® 7.x∙Internet Explorer® 8.0Nielsen Answers desktop version 7.5.15 is supported for use with the following database technologies:∙Nielsen PC Inf*Act∙Nielsen Answers On-Demand∙Microsoft SQL Server® (2000, 2005, 2008) Standard Edition as a Microsoft Windows ODBC data source∙Microsoft Access® (2003, 2007) as a Microsoft Windows ODBC data source∙Oracle® 10.01 as a Microsoft Windows ODBC data source∙Sybase® 12.6 as a Microsoft Windows ODBC data source3. What is the OCI?In the past the installation of Answers desktop has been complex and not very user friendly, the OCI allows an end user to install Answers desktop and configure the Content Area at the click of a button.The OCI can also be used to manage upgrades for Answers desktop, simply replace the “Nielsen Answers.msi” with the latest ver sion.You can run the OCI in the following 2 ways;1. Standard – This method will install the pre-requisites of Answers desktop silently butthe GUI will appear when installing Answers.2. Customized - This method will allow the user to configure an XML file which will installthe Pre-requisite and Answers desktop silently.4. Folder StructureBelow is the folder structure and files which the OCI needs to function correctly;01 – Contains the Installation files for .net framework02 – Contains Installation files for C++ Redistribute package03 – Contains Installation files for OWC1104 - Contains Installation files for MDAC 2.705 - Contains Installation files for MSXMLAnswers - Contains Installation files for Answers desktopClient Setup – Contains client specific setup details5. FeaturesThe following list details the main features of the Nielsen Answers One Click Installer.Prerequisites– The OCI does a check of prerequisites installed on the system, once done only the missing prerequisites will be installed. The prerequisites will be installed silently with an on screen status displayed.System Check– The OCI will check to make sure the Operating System and Office version are compatible with the version of Answers desktop being installed.My ACNielsen Answers– The OCI manages the upgrade from pre v7.2 where the Content Folder was called “My ACNielsen Answers” to post 7.3 where the Content Folder was renamed to “My Nielsen Answers”. This is updated in the registry and also the folder structure.Advisor License File– The OCI will check if an Advisor license file is present on the machine its being run on, if it finds one then this is copied into the DCL and the license file is time/date stamped so it works with Content Maintenance.Version Handling– The OCI will change its installation process based on the version of the Answers desktop MSI, for example if the 7.5 MSI is present then the installer will install OWC 11.Removal of Advisor– Before Answers desktop is installed, a check is done to see whether Advisor is present on the workstation, if present the OCI will uninstall Advisor before installing Answers desktop.The following are configurable features of the Nielsen Answers One Click InstallerContent Area–If a “My Nielsen Answers” folder is present in the “Client Setup” then the OCI will move this into the DCL once Answers desktop has been installed.Answers desktop Silent Installation– It is possible to configure the Answers Installation so no user interaction is required to install the software. The installation options can be configured in the “Answers_Install_Settings.xml” located in the “Client Setup” folder.Pre and Post Scripting– To further allow for custom installations whilst keeping the OCI as a generic tool which can be used everywhere, the OCI support pre and post scripting. This allows the client to run scripting which works from a CMD prompt. This can be used for installing additional Nielsen Software or further customising the installation and setup.6. Customizing the OCI InstallationThe Nielsen Answers OCI can be customized in several ways; this section will explain which files need to be modified.6.1 Silent Installation of Answers desktopAnswers desktop can either be installed using the Installation Wizard (Standard Installation) or silen tly based on the values in the “Answers_Install_Settings.xml” in the “Client Setup” folder. The following part of the XML controls the installations of Answers desktop;<AnswersInstall><Company_Name>The Nielsen Company</Company_Name><Install_Folder>C:\Program Files\Nielsen\Answers</Install_Folder><Content_Location>C:\My Nielsen Answers\</Content_Location><Install_Type>Multiple</Install_Type></AnswersInstall><Company_Name>The name of the client/organisation Answers desktop is to be installed at.<Install_Folder>The destination folder is defined as the location where the Answers desktop program files (i.e. the binary files) will be installed.<Content_Location>The Default Content Location (DCL) is where Answers desktop looks for a number of configuration files (e.g. license file, Business Applications, dictionaries, etc). It needs to be a location where the user has read and write access (e.g. the user's My Documents folder).The Default Content Location (DCL) is recommended to be s etup as “My Nielsen Answers”. However, the pre v7.3 naming convention, “My ACNielsen Answers” can be used if necessary. The Default Content Location contains a few sub-folders and files with default settings created on the first installation or upgrade. Notes: Answers desktop does not expect the Content Location to be in use by more than one user at a time. It is very IMPORTANT that user has full read/write rights to this location.NOTE: It is important to include the final '\' in the path.<Install_Type>Answers desktop supports both “Single Content Location” and “Multiple Content locations”. Single Content Location defines a single Content Location to be used by all the users of the PC. The folder to be used for this is also defined during the installation.The default physical folder for Single Content Location is set to “C:\My Nielsen Answers\”.In order to set the Default Content Location to single using the OCI use the following;<Install_Type>Single</Install_Type>Multiple Content Location allows each user who logs into the system to define their preferred folder to use as the Content Location when he/she first launch Answers desktop. The Content Location set by an individual user will be specific to that user.In order to set the Default Content Location to multiple using the OCI use the following;<Install_Type>Multiple</Install_Type>6.2 Background InstallationThe OCI can be configured to run as a background installation, this means that once the “Nielsen Answers desktop.exe” has been execute d the installation and configuration of Answers desktop will happen without any user intervention.This feature is designed to be used when the software is deployed via an automated packaging solution or centrally from the Clients IT department.<Customisation><AutoInstall>Yes</AutoInstall><Prescript></Prescript><PostScript></PostScript></Customisation>Set the <AutoInstall> flag in the “Answers_Install_Settings.xml to “Yes” as shown above.The OCI executable can then be called via a script, batch file or CMD window and the automated install will happen in the background. The following window will be displayed when a background installation is running;Once the background installation has finished the OCI summary screen will be displayed as below;6.3 Multi Country ContentThe OCI can be configured to deploy specific content to specific countries based on a command line parameter.This means one version of the OCI can be used centrally for multi country deployments of Answers desktop.To use this feature, use the “Country={content folder name}” as shown in the screenshot belowThe country parameter value will be passed to the OCI and it will check the “\Client Se tup” folder for a content area with the same name. (The screenshot below displays an OCI setup configured for GB, France and Ireland)The content will be copied into the ”My Nielsen Answers” folder located in the Default Content Location.6.4 Pre & Post Installation ScriptsTo further allow for custom installations whilst keeping the OCI as a generic tool which can be used everywhere, the OCI support pre and post scripting. This allows the client to run scriptingwhich works from a CMD prompt. This can be used for installing additional Nielsen Software or further customising the installation and setup.The “Answers_Install_Settings.xml” located in the “Client Setup” folder is used to link the OCI to the script files.<Customisation><AutoInstall>No</AutoInstall><Prescript></Prescript><PostScript></PostScript></Customisation>NOTE: if you save the pre and post installation scripts in the Client Setup folder then this folder needs including in the path as aboveIf you do not require and pre or post installations scripts to be run then simply leave the section blank, do not delete the tags.6.5 Content Folder DeploymentTo deploy a Content Folder using the OCI simply copy the “My Nielsen Answers” folder into the “Client Setup” Folder. Once the Answe rs desktop Installation is complete, the Content folder will be copied into the Default Content Location, the previous Content Folder will be backed up in the same location called “My Nielsen Answers OCI Backup”7. Using the OCI (Standard)Below you will find the steps to install Answers desktop via the OCI using the standard method.1. Launch the OCI by double click ing the “Nielsen Answers desktop.exe” file.2. The following splash screen will appear while the OCI is checking the system setup.3. Once the system check is complete, the OCI will load and the following will bedisplayed.4. Click “Install Answers” this will install all the missing pre-requisites silently, the statuswill change from “Not Installed” to “Installing” and when completed will change to“Installed”5. Once all the pre-requisites are installed, the Answers desktop installation window willappear. For detailed information about installing Answers desktop please refer tosection 9.6. If a “My Nielsen Answers” content folder is present in the “Client Setup” folder, this willbe copied into the Default Content Location specified during the Answers desktopInstallation, if a content folder already exists on the machine then this will be backedup in the same location as the DCL and renamed to “My Nielse n Answers OCIBackup”8. Using the OCI (Customized)Below you will find the steps to install Answers desktop via the OCI using the standard method1. Launch the OCI by double clicking the “Nielsen Answers desktop.exe” file.2. The following splash screen will appear while the OCI is checking the system setup.3. Once the system check is complete, the OCI will load and the following will bedisplayed.4. Click “Install Answers” this will install all the missing pre-requisites silently, the statuswill change from “Not Installed” to “Installing” and when completed will change to “Installed”5. Once the pre-requisites are installed, the OCI will move on to installing Answersdesktop, the installation will be done silently based on the information in the“Answers_Install_Settings.xml” in the “Client Setup Folder”.6. If a “My Nielsen Answers” content folder is present in the “Client Setup” folder, this willbe copied into the Default Content Location specified during the Answers desktopInstallation, if a content folder already exists on the machine then this will be backedup in the same location as the DCL and renamed to “My Nielsen Answers OCIBackup””9. Installing Answers Manually9.1 OverviewThe computer, in which Nielsen Answers desktop is to be installed, can be in any of the 4 scenarios and the table below describes Answers desktop installation behavior in each of the scenarios:9.2 Installing Nielsen Answers.msi for a Single User (WinXP)You can get the Nielsen Answers.msi from the root folder of your installation media.9.2.1 Close all Excel and Power Point instances (if they are active or running in thebackground).9.2.2 Double click on Nielsen Answers.msi. This will start the installation.9.2.3 The Windows Installer dialog will be displayed.9.2.4 If you have Advisor, Workstation Plus or previous version of Answers desktop onthe system, you will get the following prompt to confirm the next action.Click Yes button to continue the installation.9.2.5 When the Setup Welcome Screen is displayed, click Next button.9.2.6 When the Customer Information dialog is displayed, enter User Name andOrganization information. Click Next button.9.2.7 When Destination folder dialog is displayed, click Next button.9.2.8 This dialog prompts you to determine the Default Content Location (DCL) to storeBusiness Applications and other related files. By default, the “My Nielsen Answers”folder will be appended to the specified path; C:\ automatically.If you change the location to “C:\data”, you will see the Default Content Locationcreated at “C:\data\My Nielsen Answers” directory.Notes:a) If you are upgrading Answers desktop from previous version, the dialog above will notbe displayed. Therefore, the existing content location is preserved.b) If you wish to change the Default Content Location (DCL) i.e. not C:\, clickChange button and select the desired path. It is important that you haveread/write/modify/delete permission on this location and it is strongly recommendedthat you select a location that is backed up on a regular basis.9.2.9 After you have defined the Default Content Location (DCL), click Next button.9.2.10 The default module will be selected. (Note: Module that is not available forinstallation will be dimmed). Click Next button.9.2.11 When the Program Folder dialog is displayed, click Next button.9.2.12 Click Install button.9.2.13 Click Finish button.9.3 Installing Nielsen Answers.msi for Multiple Users (WinXP)You can get the Nielsen Answers.msi from the root folder of your installation media.9.3.1 Close all Excel and Power Point instances (if they are active or running in thebackground).9.3.2 Double click on Nielsen Answers.msi. This will start the installation.9.3.3 The Windows Installer dialog will be displayed.9.3.4 If you have Advisor, Workstation Plus or previous version of Answers desktop onthe system, you will get the following prompt to confirm the next action.Click Yes button to continue the installation.9.3.5 When the Setup Welcome Screen is displayed, click Next button.9.3.6 When the Customer Information dialog is displayed, enter User Name andOrganization information. Click Next button.9.3.7 When Destination folder dialog is displayed, click Next button.9.3.8 This dialog prompts you to determine the Default Content Location (DCL) to storeBusiness Applications and other related files. When installing Answers desktop formultiple users (with different logins), select …Multiple User with individual ContentLocation‟ option.Each user can specify the content location when Answers desktop is run for the firsttime.It is important that the end user has read/write/modify/delete permission on thislocation and it is strongly recommended that the user selects a location that isbacked up on a regular basis.Notes:a) If you are upgrading Answers desktop from previous version, the dialog above will notbe displayed. Therefore, the existing content location is preserved.b) If you wish to change the Default Content Location name to reflect pre 7.3 conventionof 'My ACNielsen Answers', please refer to Appendix section 11.2.9.3.9 After you have defined the Default Content Location (DCL), click Next button.9.3.10 The default module will be selected. (Note: Module that is not available forinstallation will be dimmed). Click Next button.9.3.11 When the Program Folder dialog is displayed, click Next button.9.3.12 Click Install button.9.3.13 Click Finish button.9.3.14 When you launch Answers desktop, a pop up screen is prompted to setup theDefault Content Location (DCL). Click Browse button to define your preferredDefault Content Location (DCL).9.3.15 Under <User Id>folder, click on “Make New Folder” button and give a name toyour Default Content Location (DCL). It is recommended to set the Default ContentLocation (DCL) at “C:\ <User Id>\<Default Content Location>”, e.g. “C:\ John\MyNielsen Answers”. Click OK button.It is important that the end user has read/write/modify/delete permission onthis location and it is strongly recommended that the user selects a locationthat is backed up on a regular basis.9.3.16 Click OK button.9.4 Installing Nielsen Answers.msi for a Single User(Vista/Windows 7)You can get the Nielsen Answers.msi from the root folder of your installation media.9.4.1 Close all Excel and Power Point instances (if they are active or running in thebackground).9.4.2 Log in as Administrator on a Vista/ Windows 7 machine. Locate “NielsenAnswers.msi” file. Double click on the file to start the installation.9.4.3 The Windows Installer dialog box will be displayed.9.4.4 If you have Advisor, Workstation Plus or previous version of Answers desktop onthe system, you will get the following prompt to confirm the next action.Click Yes button to continue the installation.9.4.5 When the Setup Welcome Screen is displayed, click Next button.9.4.6 When the Customer Information dialog is displayed, enter User Name andOrganization information. Click Next button.9.4.7 When Destination folder dialog is displayed, click Next button9.4.8 This dialog prompts you to determine the Default Content Location (DCL) to storeBusiness Applications and other related files. By default, the “My Nielsen Answers”folder will be appended to the specified path; C:\ automatically.If you change the location to “C:\Users\John”, you will see the Default ContentLocation created at “C:\Users\John\My Nielsen Answers” directory.To change the DCL, c lick Change button to browse to “C:\Users\<User Id>\<DefaultContent Location>”, e.g. C:\Users\John\My Nielsen Answers.Notes:a) If you are upgrading Answers desktop from previous version, the dialog above will notbe displayed. Therefore, the existing content location is preserved.b) If you wish to change the Default Content Location (DCL) i.e. not C:\, click Changebutton and select the desired path. It is important that the end user hasread/write/modify/delete permission on this location and it is stronglyrecommended that the user selects a location that is backed up on a regularbasis.9.4.9 After you have defined the Default Content Location (DCL), click Next button.9.4.10 The default module will be selected. (Note: Module that is not available forinstallation will be dimmed). Click Next button.9.4.11 When the Program Folder dialog is displayed, click Next button.9.4.12 Click Install button to start installation.9.4.13 When a pop up screen appears, click Allow button to complete the installation.Note that this is Vista behavior.9.4.14 Click Finish button.9.5 Installing Nielsen Answers.msi for Multiple Users(Vista/Windows 7)You can get the Nielsen Answers.msi from the root folder of your installation media.9.5.1 Close all Excel and Power Point instances (if they are active or running in thebackground).9.5.2 Log in as Administrator on a Vista/Windows 7 machine. Locate “NielsenAnswers.msi” file. Double click on the file to start the installation.9.5.3 The Windows Installer dialog box will be displayed.9.5.4 If you have Advisor, Workstation Plus or previous version of Answers desktop onthe system, you will get the following prompt to confirm the next action.Click Yes button to continue the installation.9.5.5 When the Setup Welcome Screen is displayed, click Next button.9.5.6 When the Customer Information dialog is displayed, enter User Name andOrganization information. Click Next button.9.5.7 When Destination folder dialog is displayed, click Next button.9.5.8 This dialog prompts you to determine the Default Content Location (DCL) to storeBusiness Applications and other related files. When installing Answers desktop formultiple users (with different logins), select …Multiple User with individual ContentLocation‟ option.Each user can specify the content location when Answers desktop is run for the firsttime.It is important that the end user has read/write/modify/delete permission onthis location and it is strongly recommended that the user selects a locationthat is backed up on a regular basis.Notes:a) If you are upgrading Answers desktop from previous version, the dialog above will notbe displayed. Therefore, the existing content location is preserved.b) If you wish to change the Default Content Location name to reflect pre 7.3 conventionof 'My ACNielsen Answers', please refer to Appendix section 11.2.9.5.9 The default module will be selected. (Note: Module that is not available forinstallation will be dimmed). Click Next button.9.5.10 When the Program Folder dialog is displayed, click Next button.9.5.11 Click Install button to start installation.9.5.12 When a pop up screen appears, click Allow button to complete the installation.Note that this is Vista behavior.9.5.13 Click Finish button.9.5.14 When you launch Answers desktop, a pop up screen is prompted to setup theDefault Content Location (DCL). Click Browse button to define your preferredDefault Content Location (DCL).9.5.15 Under <User Id> folder, c lick on “Make New Folder” button and give a name toyour Default Content Location (DCL). It is recommended to set the Default ContentLocation (DCL) at “C:\Users\<User Id>\<Default Content Location>”, e.g.“C:\Users\John\My Nielsen Answers”. Click OK button.It is important that the end user has read/write/modify/delete permission onthis location and it is strongly recommended that the user selects a locationthat is backed up on a regular basis.9.5.16 Click OK button.Note:a) For Windows 7, i f you have UAC “ON” (User Access Control) on the system, you willget the following prompt to confirm the next action, while doing installation. Click Yes.10. UNINSTALLING ANSWERS DESKTOPHere are the steps to un-install Answers desktop.10.1.1 Close all Excel and Power Point instances (if they are active or running in thebackground).10.1.2 Go to Start > Control Panel > Add/Uninstall Program.10.1.3 Look for Nielsen Answers.10.1.4 Select Uninstall option.10.1.5 When the Delete Confirmation screen is displayed, click Yes button.Notes:a) Uninstalling Answers desktop will not remove the Default Content Location (DCL),Business Applications and the related files, i.e. “My Nielsen Answers” folder will bekept as is. If user wants to remove the content, he/she must delete this foldermanually.b) In Answers desktop 7.5 release, a file ACNInstallerGACUtil.exe remains in C:\ProgramFiles\Nielsen\Answers folder. This file can be manually deleted after de-installation. Ifthis file is not deleted, it does not have any impact on subsequent Answers desktopinstallation.11. TROUBLESHOOTINGHere are some guides to resolve application issues.11.1 Getting Application Error while launching OCI。
An Application Framework forCreating Simulation-Based Learning Environments Anne Rose*, David Eckard**, and Gary W. Rubloff+Human-Computer Interaction Laboratory*Institute for Systems Research+University of Maryland, College Park, MD 20742North Carolina State University**Email: rose@, david_eckard@, rubloff@ABSTRACTWhile there are numerous types of electronic learning environments including collaboratories, construction toolkits, systems with “scaffolding” and simulations, it is difficult to find authoring tools to build these systems. We have developed an application framework for constructing simulation-based learning environments called SimPLE (Simulated Processes in a Learning Environment). Environments developed with SimPLE use dynamic simulations and visualizations to represent realistic time-dependent behavior and are coupled with guidance material and other software aids that facilitate learning. The software architecture enables independent contributions from developers representing educational content (e.g., simulation models, guidance materials) and software development (e.g., user interface). We provide a user interface template and accompanying software aids to reduce the software development effort. KEYWORDS:Simulation, education, learning environments, authoring tool, software engineering INTRODUCTIONTraditionally, the focus of educational curricula has been on content and its delivery (i.e., subjects are broken down into smaller, more manageable subtopics and taught in the classroom). Today there is a strong movement toward “learner-centered education” which focuses on the needs of the learner [10]. While the success of “learner-centered education” does not rely on technology, electronic learning environments serve as a powerful catalyst for change. These environments include:•collaboratories that facilitate group communication[3][12],•construction toolkits that teach design and modeling skills [4][7],•systems with “scaffolding” that allow learners to start simple and build complexity [11][13][14], and •simulations that support “learning by doing” [2][6][8]. Simulation environments are powerful learning tools that encourage exploration by allowing learners to manipulate parameters and visualize results. In academic settings, they are used to enhance lectures, supplement labs, and engage students. In the workplace, they are cost-effective training mechanisms. There are two basic groups of simulators: inanimate (off-line) and live (on-line, real-time) [9]. Inanimate simulators are used to evaluate complex equations and models. They do not simulate real-time operations of physical systems so user interaction is limited. However, live simulators are highly interactive. They closely resemble the physical system while allowing learners to explore situations not possible with the actual system. We have developed an application framework for constructing live simulation-based learning environments called SimPLE (Simulated Processes in a Learning Environment).Most commercial simulation packages (e.g., Excel, Matlab, and VisSim TM) are built to handle a variety of situations so they provide generic user interfaces that require modest training. While these packages are very useful for creating simulations for a variety of domains, the emphasis of an effective learning environment must be on the concept being taught, not on learning how to use another tool. SimPLE pairs the power and flexibility of a generic simulation package with the advantage of a custom front end.Learning environments developed with SimPLE use dynamic simulations and visualizations to represent realistic time-dependent behavior and are coupled with guidance material and other software aids that facilitate learning. The software architecture allows independent contributions by developers representing educationalFigure 1. ClusterSim for teaching advanced cluster tool processing for semiconductor manufacturingcontent and software development. This allows the educational content (e.g., simulation models and guidance materials) to be developed by the educators who have the domain knowledge. Using the user interface template provided and several software aids, SimPLE allows custom front ends to be created quickly and with minimal coding.In our initial efforts, three learning environments have been created: ClusterSim and VacTechSim for learning about semiconductor manufacturing, and NileSim for learning about the hydrology of the Nile (all are available for download from /SimPLE/).Semiconductor Fabrication ExamplesThe semiconductor manufacturing and associated equipment industries face a critical shortage of skilled workers and a staggering challenge in the education and training of new personnel. Using SimPLE, we have developed two modules with associated guidance material:ClusterSim, for teaching advanced cluster tool processing (Figure 1) and VacTechSim, for learning about vacuum and gas flow technology (Figure 2). Potential users include graduate students, operators, and practicing engineers.Learners can open valves, start pumps, and change temperatures and observe the effects on parameters, like silicon deposition and chamber pressure. They can also read guidance material, perform selected exercises,highlight simulator objects, and send mail to educators.Advanced learners can view the detailed simulation logic running in the background. Both systems are currentlybeing evaluated in academic and industrial settings.Figure 2. VacTechSim for learning the basic principles of vacuum pump technology as needed for semiconductor manufacturingNile ExampleBased on 200 years of river records, NileSim was developed to help explain complex river behavior and management (Figure 3). NileSim is used in a large, multidisciplinary freshman course on the 5000 years of hydraulic civilization in the Nile Valley of Egypt. This course comprises both technical and non-technical majors, and faculty from engineering, biology, and government and politics. Teams of students use NileSim to study how different schemes for managing the scarce water resources of the basin affect the natural environment of the Nile and the economics of riparian countries. The reaction to NileSim has been so positive that it has been proposed asthe central focus for the class in the future.Figure 3. NileSim for learning about the hydrology ofthe Nile riverAPPLICATION FRAMEWORKApplication frameworks must provide appropriate modularization of function and separation of concerns, just as database management systems and user interface tools promote dialog independence [1][5]. In creating SimPLE, we felt it was very important to allow independent contributions by user interface designers and educators. The architecture of SimPLE uses the common strategy of separating the graphical user interface from the application, in our case a simulation engine, by using a separate dialog component to handle communication between the two (Figure 4). The guidance material, another part of the educational content, is also separated from the user interface. In the current implementation, the user interface is in Delphi, the dialog component is a dynamic linked library (DLL), the simulation engine is VisSim TM, and theguidance material is in HTML.Figure 4. SimPLE software architectureUsing SimPLE, educators can quickly create simulation-based learning environments for a variety of educational domains. The two main steps involve creating the educational content and designing the user interface. Educators start by creating the simulation engine and the guidance material using existing tools. Good guidance material includes a system overview, exercises to perform, a glossary of terms, and additional references. The user interface for the educational content is developed using a template and several “plug-in” software aids that reduce the development effort by providing a rich array of learning tools.Simulation EngineEducators start by creating a simulation model and specifying the inputs and outputs that will be available to the learner. We chose VisSim TM to create the simulations because it is a commercial product commonly used in engineering education. However, substituting a different simulator or a different type of software package would only require modifications to the dialog component since the user interface is separated from the application. The only requirement is that the application used must be able to accept inputs and return outputs.Figure 5 shows the VisSim TM model for VacTechSim. The dark gray boxes are compound blocks that contain multiple layers of detailed logic. For simplicity, only the top layer is shown here. The only requirement imposed by SimPLE is that the model must specify the input and output variables available to the learner. In our example, these variables are specified in the VSin and VSout sections.Because the simulation engine is not tightly coupled with the user interface, educators have found it useful to create their models so they can be controlled both via the user interface (“remote”) and by direct manipulation of the simulator (“local”). This allows the content author to operate and modify the simulator in a completely standalone mode. This is especially useful during theFigure 5. VisSim model overview for VacTechSimdevelopment and debugging stage, since a change in the simulation logic should not change the user interface (unless inputs or outputs are added/removed).DialogThe key to linking the user interface and the educational content is the dialog component. Currently implemented as a C++ DLL that uses continuous polling, the dialog component handles all communication regarding user inputs and simulator outputs between the user interface and the simulation engine. For example, when a user clicks on a valve in VacTechSim, the dialog component notifies the simulator, which opens the valve in its internal model. It then passes the simulator outputs (which might show a change in pressure) back to the user interface for display to the user. In this way, the learner “runs” the physical system depicted as a dynamic model on the user interface, with response and feedback to their actions determined by the underlying, physically realistic dynamic simulator. Adding error messages and warnings increases the educational benefit to the learner but also makes the communication more complex. Rather than simply performing a user action, the user interface must “request”(via the dialog component) that an action be performed. The user interface then waits for the simulator response. If the action is approved, the action is performed. Otherwise,the user interface conveys a useful message to the learner indicating why the action could not be performed.User InterfaceWithout adequate authoring tools, developing custom front ends can be very time consuming and difficult. When surveyed, most educators site lack of time as the reason for not using new technology in their classrooms. Because of limited time and software expertise, authoring tools that minimize creation time but still allow customization are critical to the wide spread success of learning environments.Using a template and several “plug-in” software aids, custom user interfaces can be developed very quickly in SimPLE. The user interface template is a Delphi project that consists of three main areas: an empty simulation panel, a control bar, and a tabbed notebook (Figure 6). Customizing the simulator panel involves three steps: making a background image (which can be drawn with any image editor), positioning the user interface controls, and mapping the user interface controls to the simulation variables. General functionality, like starting and stopping the simulation and printing the guidance material, is provided in the control bar. The guidance material will be displayed automatically in the notebook area along with any simulation design parameters. The notebook area alsoFigure 6. User interface template provided by SimPLEfor creating custom front ends for simulation-basedlearning environmentscontains a developer kit that allows educators to further customize the system.To help developers create rich learning environments, the user interface template is coupled with several software aids, implemented as Delphi components. These components include:•TDLLConnect, for mapping the user interface controls to the simulation variables,•TDesignParameters, for creating simulation design parameter controls on-the-fly,•TActionLinks, for enhancing the guidance material to support actions, like highlighting simulator panel objects, and•TCommunication, for allowing students and instructors to communicate via email and attach simulation files.A library of flicker-free user interface controls (including valves, switches, and pressure) has also been created to support the semiconductor manufacturing domain.TDLLConnect. TDLLConnect makes it simple to map user interface controls to simulation variables. Specifically, TDLLConnect generates two events that are raised when input data is requested and when output data is received. Developers simply create callback procedures that map the user interface controls to the simulation variables. Figure 7 shows an example procedure that maps user interface controls to simulator inputs. To make this simpler, SimPLE might allow developers to click on a control and select the value to send or update.Figure 7. Example callback procedure that maps userinterface controls to simulator inputs TDesignParameters. Manipulating simulation design parameters is one way to help learners further explore how a system works. Creating a custom dialog box that allows learners to specify design parameters such as chamber volume and turbo pump speed would be very tedious and time consuming, especially when there are several design parameters. With SimPLE, educators can use TDesignParameters, accessible from the developer kit notebook page, to create design parameters controls on-the-fly simply by specifying the parameter name, default value, and VisSim TM variable number (Figure 8). The parameter controls will appear automatically on the simulation parameters page, along with a comment area, and a log that records any changes made by learners (Figure 9). A logical extension would be to allow multiple parameter settings to be saved and loaded.Figure 8. TDesignParameters dialog box for creatingsimulation design parameter controlsTActionLinks. Many simulation-based learning environments do not provide any guidance material and when it is provided there is normally no coupling between the simulation and the guidance material. The result feels like two independent systems. We wanted our learners to have the benefits of a tight coupling between the simulation and guidance material while still maintaining the separation that benefited developers. TActionLinks links the guidance material to the simulation panel while still maintaining thedesired separation. Specifically, TActionLinks extends the HTML syntax used to create the guidance material to support simulation actions. The actions are processed as the result of an error being raised when an unknown URL is encountered. For example, the HTML link “Highlight [object1 object2 …]” is used to highlight multiple objects and “PlaySound [filename]” is used to play audio files. This simple notation can be extended to include a variety of other actions, such as playing video or controlling a stopwatch.Since the objects are different for each simulation, TActionLinks automatically generates the list of object names, along with instructions and samples of each. This information is automatically displayed on the developer kit page for educators to consult when creating the guidance material (Figure 10).TCommunication. Communication and collaboration is another important aspect that learning environments must support. Learners need to be able to communicate with other learners, with their instructors when they have problems, and even with other domain experts. TCommunication builds on a commercial Delphi email component to provide a basic facility for communicating about the system. It allows learners to easily attach files,like the simulation model and parameter log, to their messages with the click of a button. It also provides a setup dialog box that educators can use to create a default list of email addresses for the learners (e.g., class list). Educators are also interested in how TCommunication might help them manage the email they receive. For example, one suggestion is to automatically annotate the messages with a few words specified by the instructor that would make it easier to sort messages by class or project. FUTURE WORK AND CONCLUSIONSWe are in the process of selecting different application domains and identifying educators interested in building SimPLE learning environments that will further test our framework. Until now the environments have been developed by graduate students at the university. For example, a civil engineering graduate student with no Delphi or VisSim experience (but with computer experience) created the NileSim environment in only two months (without many of the tools described since they were still under development). While SimPLE makes it possible for educators with limited software development experience to build simulation-based learning environments, we believe the primary role of the educators will be as content authors, with user interface developmentdelegated to those with more computer experience.Figure 9. Simulation parameter controls created as the result of TDesignParametersFigure 10: Developer Kit page showing automatically generated guidance link instructionsInitial feedback from both learners and educators has been very positive. We are in the process of conducting a pilot study comparing the use of SimPLE (VisSim + front end) to VisSim only to teach students about a vacuum pump system. Our initial pilot results show a strong preference for the SimPLE version.We are expanding SimPLE to make developing simulation-based learning environments easier to build. Specifically, we plan to create more software aids, to enhance the existing ones, and to investigate the use of other simulation engines, like Excel. One software aid we have started to explore creates learning histories. At the simplest level, learning histories would capture the sequence of user actions and allow them to be played back. These histories could then be used by learners when posing questions (e.g. why did this happen?), or created by educators and replayed in the guidance material, or they might even be turned in as homework (e.g., demonstrate the quickest way to create the lowest pressure in the chamber).While there are numerous examples showing the benefits of learning environments, we believe that authoring tools, like SimPLE, that support their creation will be critical to their wide spread success. While our framework is still rudimentary, it is a key step in making simulation-based authoring tools accessible to educators. ACKNOWLEDGMENTSWe thank Catherine Plaisant and Ben Shneiderman for thoughtful reviews and Yatin Sankholkar for implementation help. We also thank Ben Levy and Gregory Baecher for creating NileSim. This work is supported by the National Science Foundation under grant EEC 96-96212.REFERENCES[1] Ackerman, M. (1995) Social Activity Indicators: Interface Components for CSCW Systems, Proceedings of UIST ’95, ACM, New York, 159-168.[2] Cole, R. and Tooker, S. (1996). Physics to Go: Web-based tutorials for CoLoS physics simulations, Proceedings of Frontiers in Education ’96, IEEE, 681-683.[3] Edelson, D., Pea, R., and Gomez, L. (1996). Constructivism in the Collaboratory. In B. G. Wilson (Ed.), Constructivist learning environments: Case studies in instructional design, Educational Technology Publications, Englewood Cliffs, NJ, 151-164.[4] Eden, H., Eisenberg, M., Fischer, G., and Repenning, A. (1996). Making Learning a Part of Life. Communications of the ACM 39, 4, 40-42.[5] Hudson, S. and Smith, I. (1997). Supporting Dynamic Downloadable Appearances in an Extensible User Interface Toolkit, Proceedings of UIST ’97, ACM, New York, 159-168..[6] Jones, P. M. and Schneider, K. J. (1996). Learning environment for magnetic resonance spectroscopy (LEMRS): Supporting apprenticeships learning in operational environments. Journal of Educational Multimedia and Hypermedia 5, 2, 151-177.[7] Kafai, Y., and Resnick, M., eds. (1996). Constructionism in Practice: Designing, Thinking, and Learning in a Digital World. Mahwah, NJ: Lawrence Erlbaum.[8] Lu, G. B., Oveissi, M., Eckard, D., and Rubloff, G. (1996). Education in semiconductor manufacturing processes through physically-based dynamic simulation. Proceedings of Frontiers in Education ’96, IEEE, 250-253.[9] Nahvi, M. (1996). Dynamics of student-computer interaction in a simulation environment: Reflections on curricular issues. Proceedings of Frontiers in Education ’96, IEEE, 1383-1386.[10] Norman, D. and Spohrer, J. (1996). Learner-Centered Education, Communications of the ACM 39, 4, 24-27.[11] Rosson, M. and Carroll, J. (1996). Scaffolded examples for learning object-oriented design. Communications of the ACM 39, 4, 46-47.[12] Sebrechts, M., Silverman, B., Boehm-Davis, D., and Norman, K. (1995). Establishing an electronic collaborative learning environment in a university consortium: The CIRCLE project. Computers in Education 25, 215-225.[13] Soloway, E., Jackson, S., Klein, J., Quintana, C., Reed, J., Spitulnik, J., Stratford, S., Studer, S., Jul, S., Eng, J., and Scala, N. (1996). Learning theory in practice: Case studies of learner-centered design. Proceedings of CHI ’96, ACM, New York, 189-196.[14] Woolf, B. and Hall, W. (1995). Multimedia pedagogues: Interactive systems for teaching and learning. IEEE Computer, May 1995, 74-80.。